@remotion/promo-pages 4.0.372 → 4.0.373

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/templates.js CHANGED
@@ -25,22 +25,28 @@ import { createContext as createContext2, useContext } from "react";
25
25
  import { jsx as jsx10 } from "react/jsx-runtime";
26
26
  import {
27
27
  forwardRef as forwardRef2,
28
- useContext as useContext11,
28
+ useContext as useContext12,
29
29
  useEffect as useEffect3,
30
- useMemo as useMemo9,
31
- useState as useState5
30
+ useMemo as useMemo10,
31
+ useState as useState6
32
32
  } from "react";
33
33
  import { forwardRef, useMemo as useMemo2 } from "react";
34
34
  import { jsx as jsx22 } from "react/jsx-runtime";
35
35
  import { createContext as createContext3 } from "react";
36
36
  import React3, { useCallback, useMemo as useMemo22, useState } from "react";
37
37
  import { jsx as jsx32 } from "react/jsx-runtime";
38
- import { createContext as createContext4, useContext as useContext2, useEffect, useRef, useState as useState2 } from "react";
39
- import { createContext as createContext8, useContext as useContext6, useMemo as useMemo6 } from "react";
40
- import { useContext as useContext3, useState as useState3 } from "react";
38
+ import {
39
+ createContext as createContext9,
40
+ useLayoutEffect,
41
+ useMemo as useMemo7,
42
+ useRef as useRef2,
43
+ useState as useState5
44
+ } from "react";
45
+ import { useContext as useContext6, useMemo as useMemo6 } from "react";
46
+ import { useContext as useContext2, useState as useState2 } from "react";
41
47
  import React4 from "react";
42
48
  import { useContext as useContext5, useMemo as useMemo5 } from "react";
43
- import { createContext as createContext5 } from "react";
49
+ import { createContext as createContext4 } from "react";
44
50
  import {
45
51
  createContext as createContext7,
46
52
  createRef,
@@ -52,199 +58,213 @@ import {
52
58
  useState as useState4
53
59
  } from "react";
54
60
  import React5, {
55
- createContext as createContext6,
61
+ createContext as createContext5,
56
62
  useCallback as useCallback2,
57
63
  useImperativeHandle,
58
64
  useMemo as useMemo3
59
65
  } from "react";
60
66
  import { jsx as jsx42 } from "react/jsx-runtime";
67
+ import { createContext as createContext6, useContext as useContext3, useEffect, useRef, useState as useState3 } from "react";
61
68
  import { jsx as jsx52 } from "react/jsx-runtime";
62
- import { useContext as useContext8 } from "react";
63
- import { createContext as createContext9 } from "react";
69
+ import { createContext as createContext8, useCallback as useCallback4, useContext as useContext7 } from "react";
64
70
  import { jsx as jsx62 } from "react/jsx-runtime";
65
- import { useContext as useContext7, useMemo as useMemo7 } from "react";
66
- import { useContext as useContext10, useMemo as useMemo8 } from "react";
67
71
  import { useContext as useContext9 } from "react";
72
+ import { createContext as createContext10 } from "react";
68
73
  import { jsx as jsx72 } from "react/jsx-runtime";
74
+ import { useContext as useContext8, useMemo as useMemo8 } from "react";
75
+ import { useContext as useContext11, useMemo as useMemo9 } from "react";
76
+ import { useContext as useContext10 } from "react";
69
77
  import { jsx as jsx82 } from "react/jsx-runtime";
78
+ import { jsx as jsx92 } from "react/jsx-runtime";
70
79
  import {
71
80
  forwardRef as forwardRef3,
72
81
  useEffect as useEffect4,
73
82
  useImperativeHandle as useImperativeHandle4,
74
- useLayoutEffect,
75
- useRef as useRef3,
76
- useState as useState6
83
+ useLayoutEffect as useLayoutEffect2,
84
+ useRef as useRef4,
85
+ useState as useState7
77
86
  } from "react";
78
- import { useCallback as useCallback4 } from "react";
79
- import React9, { useCallback as useCallback5, useImperativeHandle as useImperativeHandle3, useRef as useRef2 } from "react";
80
- import { jsx as jsx92 } from "react/jsx-runtime";
87
+ import React10, { useCallback as useCallback5, useImperativeHandle as useImperativeHandle3, useRef as useRef3 } from "react";
81
88
  import { jsx as jsx102 } from "react/jsx-runtime";
82
- import { useContext as useContext12, useEffect as useEffect5, useState as useState8 } from "react";
89
+ import { jsx as jsx11 } from "react/jsx-runtime";
90
+ import { useContext as useContext13, useEffect as useEffect5, useState as useState9 } from "react";
83
91
  import {
84
- createContext as createContext10,
92
+ createContext as createContext11,
85
93
  useCallback as useCallback6,
86
- useLayoutEffect as useLayoutEffect2,
87
- useMemo as useMemo10,
88
- useState as useState7
94
+ useLayoutEffect as useLayoutEffect3,
95
+ useMemo as useMemo11,
96
+ useState as useState8
89
97
  } from "react";
90
- import { jsx as jsx11 } from "react/jsx-runtime";
91
- import { forwardRef as forwardRef6, useCallback as useCallback11, useContext as useContext26 } from "react";
92
- import React10, { createContext as createContext11, useMemo as useMemo11 } from "react";
93
98
  import { jsx as jsx12 } from "react/jsx-runtime";
94
- import { useContext as useContext13 } from "react";
95
- import { createContext as createContext12, useEffect as useEffect6, useState as useState9 } from "react";
99
+ import { forwardRef as forwardRef6, useCallback as useCallback11, useContext as useContext27 } from "react";
100
+ import React11, { createContext as createContext12, useMemo as useMemo12 } from "react";
96
101
  import { jsx as jsx13 } from "react/jsx-runtime";
97
- import { createContext as createContext13, useMemo as useMemo12, useReducer } from "react";
102
+ import { useContext as useContext14 } from "react";
103
+ import { createContext as createContext13, useEffect as useEffect6, useState as useState10 } from "react";
98
104
  import { jsx as jsx14 } from "react/jsx-runtime";
105
+ import { createContext as createContext14, useMemo as useMemo13, useReducer } from "react";
106
+ import { jsx as jsx15 } from "react/jsx-runtime";
99
107
  import {
100
108
  forwardRef as forwardRef4,
101
- useContext as useContext24,
109
+ useContext as useContext25,
102
110
  useEffect as useEffect14,
103
111
  useImperativeHandle as useImperativeHandle5,
104
- useMemo as useMemo20,
105
- useRef as useRef11,
106
- useState as useState14
112
+ useMemo as useMemo21,
113
+ useRef as useRef12,
114
+ useState as useState15
107
115
  } from "react";
108
- import { createContext as createContext14 } from "react";
109
- import * as React13 from "react";
110
- import { useContext as useContext16, useLayoutEffect as useLayoutEffect3, useRef as useRef6 } from "react";
111
- import React14, {
112
- createContext as createContext15,
116
+ import { createContext as createContext15 } from "react";
117
+ import * as React14 from "react";
118
+ import { useContext as useContext17, useLayoutEffect as useLayoutEffect4, useRef as useRef7 } from "react";
119
+ import React15, {
120
+ createContext as createContext16,
113
121
  createRef as createRef2,
114
122
  useCallback as useCallback7,
115
- useContext as useContext15,
123
+ useContext as useContext16,
116
124
  useEffect as useEffect7,
117
- useMemo as useMemo14,
118
- useRef as useRef4,
119
- useState as useState10
125
+ useMemo as useMemo15,
126
+ useRef as useRef5,
127
+ useState as useState11
120
128
  } from "react";
121
- import { useMemo as useMemo13 } from "react";
122
- import { jsx as jsx15, jsxs as jsxs2 } from "react/jsx-runtime";
123
- import { useRef as useRef5 } from "react";
124
- import { useContext as useContext18, useEffect as useEffect8, useMemo as useMemo15, useState as useState11 } from "react";
125
- import { useContext as useContext17 } from "react";
129
+ import { useMemo as useMemo14 } from "react";
130
+ import { jsx as jsx16, jsxs as jsxs2 } from "react/jsx-runtime";
131
+ import { useRef as useRef6 } from "react";
132
+ import { useContext as useContext19, useEffect as useEffect8, useMemo as useMemo16, useState as useState12 } from "react";
133
+ import { useContext as useContext18 } from "react";
126
134
  import {
127
135
  useCallback as useCallback10,
128
- useContext as useContext21,
136
+ useContext as useContext22,
129
137
  useEffect as useEffect12,
130
- useLayoutEffect as useLayoutEffect5,
131
- useRef as useRef10
138
+ useLayoutEffect as useLayoutEffect6,
139
+ useRef as useRef11
132
140
  } from "react";
133
- import { useCallback as useCallback9, useMemo as useMemo18, useRef as useRef8 } from "react";
134
- import { useContext as useContext20, useMemo as useMemo17 } from "react";
135
- import React15, {
141
+ import { useCallback as useCallback9, useMemo as useMemo19, useRef as useRef9 } from "react";
142
+ import { useContext as useContext21, useMemo as useMemo18 } from "react";
143
+ import React16, {
136
144
  useCallback as useCallback8,
137
- useContext as useContext19,
145
+ useContext as useContext20,
138
146
  useEffect as useEffect9,
139
- useLayoutEffect as useLayoutEffect4,
140
- useMemo as useMemo16,
141
- useRef as useRef7,
142
- useState as useState12
147
+ useLayoutEffect as useLayoutEffect5,
148
+ useMemo as useMemo17,
149
+ useRef as useRef8,
150
+ useState as useState13
143
151
  } from "react";
144
- import { jsx as jsx16 } from "react/jsx-runtime";
145
- import React16 from "react";
146
- import { useEffect as useEffect10, useState as useState13 } from "react";
147
- import { useEffect as useEffect11, useRef as useRef9 } from "react";
148
- import { useContext as useContext22, useEffect as useEffect13 } from "react";
149
- import { createContext as createContext16, useContext as useContext23, useMemo as useMemo19 } from "react";
150
152
  import { jsx as jsx17 } from "react/jsx-runtime";
153
+ import React17 from "react";
154
+ import { useEffect as useEffect10, useState as useState14 } from "react";
155
+ import { useEffect as useEffect11, useRef as useRef10 } from "react";
156
+ import { useContext as useContext23, useEffect as useEffect13 } from "react";
157
+ import { createContext as createContext17, useContext as useContext24, useMemo as useMemo20 } from "react";
158
+ import { jsx as jsx18 } from "react/jsx-runtime";
151
159
  import {
152
160
  forwardRef as forwardRef5,
153
- useContext as useContext25,
161
+ useContext as useContext26,
154
162
  useEffect as useEffect15,
155
163
  useImperativeHandle as useImperativeHandle6,
156
- useLayoutEffect as useLayoutEffect6,
157
- useMemo as useMemo21,
158
- useRef as useRef12
164
+ useLayoutEffect as useLayoutEffect7,
165
+ useMemo as useMemo222,
166
+ useRef as useRef13
159
167
  } from "react";
160
- import { jsx as jsx18 } from "react/jsx-runtime";
161
168
  import { jsx as jsx19 } from "react/jsx-runtime";
162
- import { Suspense, useContext as useContext28, useEffect as useEffect17 } from "react";
163
- import { createPortal } from "react-dom";
164
- import { createContext as createContext17, useContext as useContext27, useEffect as useEffect16, useMemo as useMemo222 } from "react";
165
169
  import { jsx as jsx20 } from "react/jsx-runtime";
166
- import { jsx as jsx21, jsxs as jsxs22 } from "react/jsx-runtime";
167
- import React20, { useMemo as useMemo23 } from "react";
168
- import { jsx as jsx222 } from "react/jsx-runtime";
169
- import { forwardRef as forwardRef7, useCallback as useCallback12, useState as useState15 } from "react";
170
+ import { Suspense, useContext as useContext29, useEffect as useEffect17 } from "react";
171
+ import { createPortal } from "react-dom";
172
+ import { createContext as createContext18, useContext as useContext28, useEffect as useEffect16, useMemo as useMemo23 } from "react";
173
+ import { jsx as jsx21 } from "react/jsx-runtime";
174
+ import { jsx as jsx222, jsxs as jsxs22 } from "react/jsx-runtime";
175
+ import React21, { useMemo as useMemo24 } from "react";
170
176
  import { jsx as jsx23 } from "react/jsx-runtime";
177
+ import { forwardRef as forwardRef7, useCallback as useCallback12, useState as useState16 } from "react";
178
+ import { jsx as jsx24 } from "react/jsx-runtime";
171
179
  import {
172
180
  forwardRef as forwardRef8,
173
181
  useCallback as useCallback13,
174
- useContext as useContext29,
182
+ useContext as useContext30,
175
183
  useImperativeHandle as useImperativeHandle7,
176
- useLayoutEffect as useLayoutEffect7,
177
- useRef as useRef13
184
+ useLayoutEffect as useLayoutEffect8,
185
+ useRef as useRef14
178
186
  } from "react";
179
- import { jsx as jsx24 } from "react/jsx-runtime";
187
+ import { jsx as jsx25 } from "react/jsx-runtime";
180
188
  import { createRef as createRef3 } from "react";
181
- import React24, {
189
+ import React25 from "react";
190
+ import {
182
191
  useCallback as useCallback14,
183
192
  useImperativeHandle as useImperativeHandle8,
184
- useMemo as useMemo24,
185
- useRef as useRef14,
186
- useState as useState16
187
- } from "react";
188
- import { jsx as jsx25 } from "react/jsx-runtime";
189
- import {
190
- useEffect as useEffect18,
191
- useLayoutEffect as useLayoutEffect8,
192
- useMemo as useMemo26,
193
+ useMemo as useMemo25,
193
194
  useRef as useRef15,
194
195
  useState as useState17
195
196
  } from "react";
196
- import { createContext as createContext18, useContext as useContext30, useMemo as useMemo25 } from "react";
197
197
  import { jsx as jsx26 } from "react/jsx-runtime";
198
+ import { useEffect as useEffect18, useMemo as useMemo27, useState as useState18 } from "react";
199
+ import { createContext as createContext19, useContext as useContext31, useMemo as useMemo26 } from "react";
198
200
  import { jsx as jsx27 } from "react/jsx-runtime";
199
- import React26, { createContext as createContext19 } from "react";
201
+ import { jsx as jsx28 } from "react/jsx-runtime";
202
+ import React27, { createContext as createContext20 } from "react";
200
203
  import { useCallback as useCallback16 } from "react";
201
204
  import {
202
205
  useCallback as useCallback15,
203
- useContext as useContext31,
206
+ useContext as useContext32,
204
207
  useEffect as useEffect19,
205
208
  useLayoutEffect as useLayoutEffect9,
206
- useMemo as useMemo27,
207
- useState as useState18
209
+ useMemo as useMemo28,
210
+ useState as useState19
208
211
  } from "react";
209
- import { jsx as jsx28 } from "react/jsx-runtime";
212
+ import { jsx as jsx29 } from "react/jsx-runtime";
210
213
  import {
211
214
  forwardRef as forwardRef9,
212
- useContext as useContext32,
215
+ useContext as useContext33,
213
216
  useEffect as useEffect21,
214
217
  useImperativeHandle as useImperativeHandle9,
215
- useMemo as useMemo28,
218
+ useMemo as useMemo29,
216
219
  useRef as useRef16,
217
- useState as useState19
220
+ useState as useState20
218
221
  } from "react";
219
222
  import { useEffect as useEffect20 } from "react";
220
- import { jsx as jsx29 } from "react/jsx-runtime";
221
223
  import { jsx as jsx30 } from "react/jsx-runtime";
222
- import React30, { useMemo as useMemo29 } from "react";
223
224
  import { jsx as jsx31 } from "react/jsx-runtime";
224
- import { Children, forwardRef as forwardRef10, useMemo as useMemo30 } from "react";
225
- import React31 from "react";
226
- import React32, { createContext as createContext20 } from "react";
225
+ import React31, { useMemo as useMemo30 } from "react";
227
226
  import { jsx as jsx322 } from "react/jsx-runtime";
227
+ import { Children, forwardRef as forwardRef10, useMemo as useMemo31 } from "react";
228
+ import React32 from "react";
229
+ import React33, { createContext as createContext21 } from "react";
228
230
  import { jsx as jsx33 } from "react/jsx-runtime";
229
- import React34 from "react";
230
- import { forwardRef as forwardRef12, useCallback as useCallback17, useContext as useContext34 } from "react";
231
+ import { jsx as jsx34 } from "react/jsx-runtime";
232
+ import React35 from "react";
233
+ import { forwardRef as forwardRef12, useCallback as useCallback17, useContext as useContext35 } from "react";
231
234
  import {
232
235
  forwardRef as forwardRef11,
233
- useContext as useContext33,
236
+ useContext as useContext34,
234
237
  useEffect as useEffect22,
235
238
  useImperativeHandle as useImperativeHandle10,
236
239
  useLayoutEffect as useLayoutEffect10,
237
- useMemo as useMemo31,
240
+ useMemo as useMemo32,
238
241
  useRef as useRef17
239
242
  } from "react";
240
- import { jsx as jsx34 } from "react/jsx-runtime";
241
243
  import { jsx as jsx35 } from "react/jsx-runtime";
244
+ import { jsx as jsx36 } from "react/jsx-runtime";
242
245
  function getNodeEnvString() {
243
246
  return ["NOD", "E_EN", "V"].join("");
244
247
  }
245
248
  function truthy2(value) {
246
249
  return Boolean(value);
247
250
  }
251
+ function mulberry32(a) {
252
+ let t = a + 1831565813;
253
+ t = Math.imul(t ^ t >>> 15, t | 1);
254
+ t ^= t + Math.imul(t ^ t >>> 7, t | 61);
255
+ return ((t ^ t >>> 14) >>> 0) / 4294967296;
256
+ }
257
+ function hashCode(str) {
258
+ let i = 0;
259
+ let chr = 0;
260
+ let hash = 0;
261
+ for (i = 0;i < str.length; i++) {
262
+ chr = str.charCodeAt(i);
263
+ hash = (hash << 5) - hash + chr;
264
+ hash |= 0;
265
+ }
266
+ return hash;
267
+ }
248
268
  function validateCodec(defaultCodec, location, name) {
249
269
  if (typeof defaultCodec === "undefined") {
250
270
  return;
@@ -323,23 +343,6 @@ function cancelRender(err) {
323
343
  window.remotion_cancelledError = error.stack;
324
344
  throw error;
325
345
  }
326
- function mulberry32(a) {
327
- let t = a + 1831565813;
328
- t = Math.imul(t ^ t >>> 15, t | 1);
329
- t ^= t + Math.imul(t ^ t >>> 7, t | 61);
330
- return ((t ^ t >>> 14) >>> 0) / 4294967296;
331
- }
332
- function hashCode(str) {
333
- let i = 0;
334
- let chr = 0;
335
- let hash = 0;
336
- for (i = 0;i < str.length; i++) {
337
- chr = str.charCodeAt(i);
338
- hash = (hash << 5) - hash + chr;
339
- hash |= 0;
340
- }
341
- return hash;
342
- }
343
346
  function interpolateFunction(input, inputRange, outputRange, options) {
344
347
  const { extrapolateLeft, extrapolateRight, easing } = options;
345
348
  let result = input;
@@ -443,19 +446,19 @@ function exponentialBackoff(errorCount) {
443
446
  return 1000 * 2 ** (errorCount - 1);
444
447
  }
445
448
  function useRemotionContexts() {
446
- const compositionManagerCtx = React30.useContext(CompositionManager);
447
- const timelineContext = React30.useContext(TimelineContext);
448
- const setTimelineContext = React30.useContext(SetTimelineContext);
449
- const sequenceContext = React30.useContext(SequenceContext);
450
- const nonceContext = React30.useContext(NonceContext);
451
- const canUseRemotionHooksContext = React30.useContext(CanUseRemotionHooks);
452
- const preloadContext = React30.useContext(PreloadContext);
453
- const resolveCompositionContext = React30.useContext(ResolveCompositionContext);
454
- const renderAssetManagerContext = React30.useContext(RenderAssetManager);
455
- const sequenceManagerContext = React30.useContext(SequenceManager);
456
- const bufferManagerContext = React30.useContext(BufferingContextReact);
457
- const logLevelContext = React30.useContext(LogLevelContext);
458
- return useMemo29(() => ({
449
+ const compositionManagerCtx = React31.useContext(CompositionManager);
450
+ const timelineContext = React31.useContext(TimelineContext);
451
+ const setTimelineContext = React31.useContext(SetTimelineContext);
452
+ const sequenceContext = React31.useContext(SequenceContext);
453
+ const nonceContext = React31.useContext(NonceContext);
454
+ const canUseRemotionHooksContext = React31.useContext(CanUseRemotionHooks);
455
+ const preloadContext = React31.useContext(PreloadContext);
456
+ const resolveCompositionContext = React31.useContext(ResolveCompositionContext);
457
+ const renderAssetManagerContext = React31.useContext(RenderAssetManager);
458
+ const sequenceManagerContext = React31.useContext(SequenceManager);
459
+ const bufferManagerContext = React31.useContext(BufferingContextReact);
460
+ const logLevelContext = React31.useContext(LogLevelContext);
461
+ return useMemo30(() => ({
459
462
  compositionManagerCtx,
460
463
  timelineContext,
461
464
  setTimelineContext,
@@ -745,7 +748,7 @@ var __defProp2, __export2 = (target, all) => {
745
748
  });
746
749
  }, useIsPlayer = () => {
747
750
  return useContext(IsPlayerContext);
748
- }, VERSION = "4.0.372", checkMultipleRemotionVersions = () => {
751
+ }, VERSION = "4.0.373", checkMultipleRemotionVersions = () => {
749
752
  if (typeof globalThis === "undefined") {
750
753
  return;
751
754
  }
@@ -891,21 +894,23 @@ Check that all your Remotion packages are on the same version. If your dependenc
891
894
  children
892
895
  })
893
896
  });
894
- }, NonceContext, SetNonceContext, useNonce = () => {
895
- const context = useContext2(NonceContext);
896
- const [nonce, setNonce] = useState2(() => context.getNonce());
897
- const lastContext = useRef(context);
898
- useEffect(() => {
899
- if (lastContext.current === context) {
900
- return;
901
- }
902
- lastContext.current = context;
903
- setNonce(context.getNonce);
904
- }, [context]);
905
- return nonce;
897
+ }, random = (seed, dummy) => {
898
+ if (dummy !== undefined) {
899
+ throw new TypeError("random() takes only one argument");
900
+ }
901
+ if (seed === null) {
902
+ return Math.random();
903
+ }
904
+ if (typeof seed === "string") {
905
+ return mulberry32(hashCode(seed));
906
+ }
907
+ if (typeof seed === "number") {
908
+ return mulberry32(seed * 10000000000);
909
+ }
910
+ throw new Error("random() argument must be a number or a string");
906
911
  }, exports_timeline_position_state, RemotionEnvironmentContext, useRemotionEnvironment = () => {
907
- const context = useContext3(RemotionEnvironmentContext);
908
- const [env] = useState3(() => getRemotionEnvironment());
912
+ const context = useContext2(RemotionEnvironmentContext);
913
+ const [env] = useState2(() => getRemotionEnvironment());
909
914
  return context ?? env;
910
915
  }, CompositionManager, CompositionSetters, EditorPropsContext, editorPropsProviderRef, timeValueRef, EditorPropsProvider = ({ children }) => {
911
916
  const [props, setProps] = React5.useState({});
@@ -1042,6 +1047,18 @@ Check that all your Remotion packages are on the same version. If your dependenc
1042
1047
  }
1043
1048
  const parsed = deserializeJSONWithSpecialTypes(param);
1044
1049
  return parsed;
1050
+ }, NonceContext, SetNonceContext, useNonce = () => {
1051
+ const context = useContext3(NonceContext);
1052
+ const [nonce, setNonce] = useState3(() => context.getNonce());
1053
+ const lastContext = useRef(context);
1054
+ useEffect(() => {
1055
+ if (lastContext.current === context) {
1056
+ return;
1057
+ }
1058
+ lastContext.current = context;
1059
+ setNonce(context.getNonce);
1060
+ }, [context]);
1061
+ return nonce;
1045
1062
  }, validCodecs, validateCalculated = ({
1046
1063
  calculated,
1047
1064
  compositionId,
@@ -1525,7 +1542,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1525
1542
  component: selected.component
1526
1543
  };
1527
1544
  }, [currentCompositionMetadata, resolved, selected]);
1528
- }, TimelineContext, SetTimelineContext, makeKey = () => {
1545
+ }, makeKey = () => {
1529
1546
  return `remotion.time-all`;
1530
1547
  }, persistCurrentFrame = (time) => {
1531
1548
  localStorage.setItem(makeKey(), JSON.stringify(time));
@@ -1559,18 +1576,208 @@ Check that all your Remotion packages are on the same version. If your dependenc
1559
1576
  const { playing, imperativePlaying } = useContext6(TimelineContext);
1560
1577
  const { setPlaying } = useContext6(SetTimelineContext);
1561
1578
  return useMemo6(() => [playing, setPlaying, imperativePlaying], [imperativePlaying, playing, setPlaying]);
1579
+ }, isErrorLike = (err) => {
1580
+ if (err instanceof Error) {
1581
+ return true;
1582
+ }
1583
+ if (err === null) {
1584
+ return false;
1585
+ }
1586
+ if (typeof err !== "object") {
1587
+ return false;
1588
+ }
1589
+ if (!("stack" in err)) {
1590
+ return false;
1591
+ }
1592
+ if (typeof err.stack !== "string") {
1593
+ return false;
1594
+ }
1595
+ if (!("message" in err)) {
1596
+ return false;
1597
+ }
1598
+ if (typeof err.message !== "string") {
1599
+ return false;
1600
+ }
1601
+ return true;
1602
+ }, logLevels, getNumberForLogLevel = (level) => {
1603
+ return logLevels.indexOf(level);
1604
+ }, isEqualOrBelowLogLevel = (currentLevel, level) => {
1605
+ return getNumberForLogLevel(currentLevel) <= getNumberForLogLevel(level);
1606
+ }, transformArgs = ({
1607
+ args,
1608
+ logLevel,
1609
+ tag
1610
+ }) => {
1611
+ const arr = [...args];
1612
+ if (getRemotionEnvironment().isRendering && !getRemotionEnvironment().isClientSideRendering) {
1613
+ arr.unshift(Symbol.for(`__remotion_level_${logLevel}`));
1614
+ }
1615
+ if (tag && getRemotionEnvironment().isRendering && !getRemotionEnvironment().isClientSideRendering) {
1616
+ arr.unshift(Symbol.for(`__remotion_tag_${tag}`));
1617
+ }
1618
+ return arr;
1619
+ }, verbose = (options, ...args) => {
1620
+ if (isEqualOrBelowLogLevel(options.logLevel, "verbose")) {
1621
+ return console.debug(...transformArgs({ args, logLevel: "verbose", tag: options.tag }));
1622
+ }
1623
+ }, trace = (options, ...args) => {
1624
+ if (isEqualOrBelowLogLevel(options.logLevel, "trace")) {
1625
+ return console.debug(...transformArgs({ args, logLevel: "trace", tag: options.tag }));
1626
+ }
1627
+ }, info = (options, ...args) => {
1628
+ if (isEqualOrBelowLogLevel(options.logLevel, "info")) {
1629
+ return console.log(...transformArgs({ args, logLevel: "info", tag: options.tag }));
1630
+ }
1631
+ }, warn = (options, ...args) => {
1632
+ if (isEqualOrBelowLogLevel(options.logLevel, "warn")) {
1633
+ return console.warn(...transformArgs({ args, logLevel: "warn", tag: options.tag }));
1634
+ }
1635
+ }, error = (options, ...args) => {
1636
+ return console.error(...transformArgs({ args, logLevel: "error", tag: options.tag }));
1637
+ }, Log, handles, DELAY_RENDER_CALLSTACK_TOKEN = "The delayRender was called:", DELAY_RENDER_RETRIES_LEFT = "Retries left: ", DELAY_RENDER_RETRY_TOKEN = "- Rendering the frame will be retried.", DELAY_RENDER_CLEAR_TOKEN = "handle was cleared after", defaultTimeout = 30000, delayRenderInternal = (scope, environment, label, options) => {
1638
+ if (typeof label !== "string" && typeof label !== "undefined") {
1639
+ throw new Error("The label parameter of delayRender() must be a string or undefined, got: " + JSON.stringify(label));
1640
+ }
1641
+ const handle = Math.random();
1642
+ handles.push(handle);
1643
+ const called = Error().stack?.replace(/^Error/g, "") ?? "";
1644
+ if (environment.isRendering) {
1645
+ const timeoutToUse = (options?.timeoutInMilliseconds ?? (typeof scope === "undefined" ? defaultTimeout : scope.remotion_puppeteerTimeout ?? defaultTimeout)) - 2000;
1646
+ if (typeof scope !== "undefined") {
1647
+ const retriesLeft = (options?.retries ?? 0) - (scope.remotion_attempt - 1);
1648
+ scope.remotion_delayRenderTimeouts[handle] = {
1649
+ label: label ?? null,
1650
+ startTime: Date.now(),
1651
+ timeout: setTimeout(() => {
1652
+ const message = [
1653
+ `A delayRender()`,
1654
+ label ? `"${label}"` : null,
1655
+ `was called but not cleared after ${timeoutToUse}ms. See https://remotion.dev/docs/timeout for help.`,
1656
+ retriesLeft > 0 ? DELAY_RENDER_RETRIES_LEFT + retriesLeft : null,
1657
+ retriesLeft > 0 ? DELAY_RENDER_RETRY_TOKEN : null,
1658
+ DELAY_RENDER_CALLSTACK_TOKEN,
1659
+ called
1660
+ ].filter(truthy2).join(" ");
1661
+ cancelRender(Error(message));
1662
+ }, timeoutToUse)
1663
+ };
1664
+ }
1665
+ }
1666
+ if (typeof scope !== "undefined") {
1667
+ scope.remotion_renderReady = false;
1668
+ }
1669
+ return handle;
1670
+ }, continueRenderInternal = (scope, handle, environment) => {
1671
+ if (typeof handle === "undefined") {
1672
+ throw new TypeError("The continueRender() method must be called with a parameter that is the return value of delayRender(). No value was passed.");
1673
+ }
1674
+ if (typeof handle !== "number") {
1675
+ throw new TypeError("The parameter passed into continueRender() must be the return value of delayRender() which is a number. Got: " + JSON.stringify(handle));
1676
+ }
1677
+ handles = handles.filter((h) => {
1678
+ if (h === handle) {
1679
+ if (environment.isRendering && scope !== undefined) {
1680
+ if (!scope.remotion_delayRenderTimeouts[handle]) {
1681
+ return false;
1682
+ }
1683
+ const { label, startTime, timeout } = scope.remotion_delayRenderTimeouts[handle];
1684
+ clearTimeout(timeout);
1685
+ const message = [
1686
+ label ? `"${label}"` : "A handle",
1687
+ DELAY_RENDER_CLEAR_TOKEN,
1688
+ `${Date.now() - startTime}ms`
1689
+ ].filter(truthy2).join(" ");
1690
+ Log.verbose({ logLevel: window.remotion_logLevel, tag: "delayRender()" }, message);
1691
+ delete scope.remotion_delayRenderTimeouts[handle];
1692
+ }
1693
+ return false;
1694
+ }
1695
+ return true;
1696
+ });
1697
+ if (handles.length === 0 && typeof scope !== "undefined") {
1698
+ scope.remotion_renderReady = true;
1699
+ }
1700
+ }, DelayRenderContextType, useDelayRender = () => {
1701
+ const environment = useRemotionEnvironment();
1702
+ const scope = useContext7(DelayRenderContextType);
1703
+ const delayRender2 = useCallback4((label, options) => {
1704
+ return delayRenderInternal(scope ?? (typeof window !== "undefined" ? window : undefined), environment, label, options);
1705
+ }, [environment, scope]);
1706
+ const continueRender2 = useCallback4((handle) => {
1707
+ continueRenderInternal(scope ?? (typeof window !== "undefined" ? window : undefined), handle, environment);
1708
+ }, [environment, scope]);
1709
+ return { delayRender: delayRender2, continueRender: continueRender2 };
1710
+ }, SetTimelineContext, TimelineContext, TimelineContextProvider = ({ children, frameState }) => {
1711
+ const [playing, setPlaying] = useState5(false);
1712
+ const imperativePlaying = useRef2(false);
1713
+ const [playbackRate, setPlaybackRate] = useState5(1);
1714
+ const audioAndVideoTags = useRef2([]);
1715
+ const [remotionRootId] = useState5(() => String(random(null)));
1716
+ const [_frame, setFrame] = useState5(() => getInitialFrameState());
1717
+ const frame = frameState ?? _frame;
1718
+ const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
1719
+ if (typeof window !== "undefined") {
1720
+ useLayoutEffect(() => {
1721
+ window.remotion_setFrame = (f, composition, attempt) => {
1722
+ window.remotion_attempt = attempt;
1723
+ const id = delayRender2(`Setting the current frame to ${f}`);
1724
+ let asyncUpdate = true;
1725
+ setFrame((s) => {
1726
+ const currentFrame = s[composition] ?? window.remotion_initialFrame;
1727
+ if (currentFrame === f) {
1728
+ asyncUpdate = false;
1729
+ return s;
1730
+ }
1731
+ return {
1732
+ ...s,
1733
+ [composition]: f
1734
+ };
1735
+ });
1736
+ if (asyncUpdate) {
1737
+ requestAnimationFrame(() => continueRender2(id));
1738
+ } else {
1739
+ continueRender2(id);
1740
+ }
1741
+ };
1742
+ window.remotion_isPlayer = false;
1743
+ }, [continueRender2, delayRender2]);
1744
+ }
1745
+ const timelineContextValue = useMemo7(() => {
1746
+ return {
1747
+ frame,
1748
+ playing,
1749
+ imperativePlaying,
1750
+ rootId: remotionRootId,
1751
+ playbackRate,
1752
+ setPlaybackRate,
1753
+ audioAndVideoTags
1754
+ };
1755
+ }, [frame, playbackRate, playing, remotionRootId]);
1756
+ const setTimelineContextValue = useMemo7(() => {
1757
+ return {
1758
+ setFrame,
1759
+ setPlaying
1760
+ };
1761
+ }, []);
1762
+ return /* @__PURE__ */ jsx62(TimelineContext.Provider, {
1763
+ value: timelineContextValue,
1764
+ children: /* @__PURE__ */ jsx62(SetTimelineContext.Provider, {
1765
+ value: setTimelineContextValue,
1766
+ children
1767
+ })
1768
+ });
1562
1769
  }, CanUseRemotionHooks, CanUseRemotionHooksProvider = ({ children }) => {
1563
- return /* @__PURE__ */ jsx62(CanUseRemotionHooks.Provider, {
1770
+ return /* @__PURE__ */ jsx72(CanUseRemotionHooks.Provider, {
1564
1771
  value: true,
1565
1772
  children
1566
1773
  });
1567
1774
  }, useUnsafeVideoConfig = () => {
1568
- const context = useContext7(SequenceContext);
1775
+ const context = useContext8(SequenceContext);
1569
1776
  const ctxWidth = context?.width ?? null;
1570
1777
  const ctxHeight = context?.height ?? null;
1571
1778
  const ctxDuration = context?.durationInFrames ?? null;
1572
1779
  const video = useVideo();
1573
- return useMemo7(() => {
1780
+ return useMemo8(() => {
1574
1781
  if (!video) {
1575
1782
  return null;
1576
1783
  }
@@ -1605,7 +1812,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1605
1812
  }, [ctxDuration, ctxHeight, ctxWidth, video]);
1606
1813
  }, useVideoConfig = () => {
1607
1814
  const videoConfig = useUnsafeVideoConfig();
1608
- const context = useContext8(CanUseRemotionHooks);
1815
+ const context = useContext9(CanUseRemotionHooks);
1609
1816
  const isPlayer = useIsPlayer();
1610
1817
  if (!videoConfig) {
1611
1818
  if (typeof window !== "undefined" && window.remotion_isPlayer || isPlayer) {
@@ -1622,7 +1829,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1622
1829
  }
1623
1830
  return videoConfig;
1624
1831
  }, useCurrentFrame = () => {
1625
- const canUseRemotionHooks = useContext9(CanUseRemotionHooks);
1832
+ const canUseRemotionHooks = useContext10(CanUseRemotionHooks);
1626
1833
  const env = useRemotionEnvironment();
1627
1834
  if (!canUseRemotionHooks) {
1628
1835
  if (env.isPlayer) {
@@ -1631,7 +1838,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1631
1838
  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`);
1632
1839
  }
1633
1840
  const frame = useTimelinePosition();
1634
- const context = useContext9(SequenceContext);
1841
+ const context = useContext10(SequenceContext);
1635
1842
  const contextOffset = context ? context.cumulatedFrom + context.relativeFrom : 0;
1636
1843
  return frame - contextOffset;
1637
1844
  }, Freeze = ({
@@ -1653,7 +1860,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1653
1860
  if (!Number.isFinite(frameToFreeze)) {
1654
1861
  throw new Error(`The 'frame' prop of <Freeze /> must be a finite number, but it is ${frameToFreeze}.`);
1655
1862
  }
1656
- const isActive = useMemo8(() => {
1863
+ const isActive = useMemo9(() => {
1657
1864
  if (typeof active === "boolean") {
1658
1865
  return active;
1659
1866
  }
@@ -1661,10 +1868,10 @@ Check that all your Remotion packages are on the same version. If your dependenc
1661
1868
  return active(frame);
1662
1869
  }
1663
1870
  }, [active, frame]);
1664
- const timelineContext = useContext10(TimelineContext);
1665
- const sequenceContext = useContext10(SequenceContext);
1871
+ const timelineContext = useContext11(TimelineContext);
1872
+ const sequenceContext = useContext11(SequenceContext);
1666
1873
  const relativeFrom = sequenceContext?.relativeFrom ?? 0;
1667
- const timelineValue = useMemo8(() => {
1874
+ const timelineValue = useMemo9(() => {
1668
1875
  if (!isActive) {
1669
1876
  return timelineContext;
1670
1877
  }
@@ -1679,7 +1886,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1679
1886
  }
1680
1887
  };
1681
1888
  }, [isActive, timelineContext, videoConfig.id, frameToFreeze, relativeFrom]);
1682
- const newSequenceContext = useMemo8(() => {
1889
+ const newSequenceContext = useMemo9(() => {
1683
1890
  if (!sequenceContext) {
1684
1891
  return null;
1685
1892
  }
@@ -1692,9 +1899,9 @@ Check that all your Remotion packages are on the same version. If your dependenc
1692
1899
  cumulatedFrom: 0
1693
1900
  };
1694
1901
  }, [sequenceContext, isActive]);
1695
- return /* @__PURE__ */ jsx72(TimelineContext.Provider, {
1902
+ return /* @__PURE__ */ jsx82(TimelineContext.Provider, {
1696
1903
  value: timelineValue,
1697
- children: /* @__PURE__ */ jsx72(SequenceContext.Provider, {
1904
+ children: /* @__PURE__ */ jsx82(SequenceContext.Provider, {
1698
1905
  value: newSequenceContext,
1699
1906
  children
1700
1907
  })
@@ -1714,9 +1921,9 @@ Check that all your Remotion packages are on the same version. If your dependenc
1714
1921
  ...other
1715
1922
  }, ref) => {
1716
1923
  const { layout = "absolute-fill" } = other;
1717
- const [id] = useState5(() => String(Math.random()));
1718
- const parentSequence = useContext11(SequenceContext);
1719
- const { rootId } = useContext11(TimelineContext);
1924
+ const [id] = useState6(() => String(Math.random()));
1925
+ const parentSequence = useContext12(SequenceContext);
1926
+ const { rootId } = useContext12(TimelineContext);
1720
1927
  const cumulatedFrom = parentSequence ? parentSequence.cumulatedFrom + parentSequence.relativeFrom : 0;
1721
1928
  const nonce = useNonce();
1722
1929
  if (layout !== "absolute-fill" && layout !== "none") {
@@ -1741,15 +1948,15 @@ Check that all your Remotion packages are on the same version. If your dependenc
1741
1948
  const videoConfig = useVideoConfig();
1742
1949
  const parentSequenceDuration = parentSequence ? Math.min(parentSequence.durationInFrames - from, durationInFrames) : durationInFrames;
1743
1950
  const actualDurationInFrames = Math.max(0, Math.min(videoConfig.durationInFrames - from, parentSequenceDuration));
1744
- const { registerSequence, unregisterSequence } = useContext11(SequenceManager);
1745
- const { hidden } = useContext11(SequenceVisibilityToggleContext);
1746
- const premounting = useMemo9(() => {
1951
+ const { registerSequence, unregisterSequence } = useContext12(SequenceManager);
1952
+ const { hidden } = useContext12(SequenceVisibilityToggleContext);
1953
+ const premounting = useMemo10(() => {
1747
1954
  return parentSequence?.premounting || Boolean(other._remotionInternalIsPremounting);
1748
1955
  }, [other._remotionInternalIsPremounting, parentSequence?.premounting]);
1749
- const postmounting = useMemo9(() => {
1956
+ const postmounting = useMemo10(() => {
1750
1957
  return parentSequence?.postmounting || Boolean(other._remotionInternalIsPostmounting);
1751
1958
  }, [other._remotionInternalIsPostmounting, parentSequence?.postmounting]);
1752
- const contextValue = useMemo9(() => {
1959
+ const contextValue = useMemo10(() => {
1753
1960
  return {
1754
1961
  cumulatedFrom,
1755
1962
  relativeFrom: from,
@@ -1776,7 +1983,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1776
1983
  premountDisplay,
1777
1984
  postmountDisplay
1778
1985
  ]);
1779
- const timelineClipName = useMemo9(() => {
1986
+ const timelineClipName = useMemo10(() => {
1780
1987
  return name ?? "";
1781
1988
  }, [name]);
1782
1989
  const env = useRemotionEnvironment();
@@ -1824,7 +2031,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1824
2031
  const endThreshold = Math.ceil(cumulatedFrom + from + durationInFrames - 1);
1825
2032
  const content = absoluteFrame < cumulatedFrom + from ? null : absoluteFrame > endThreshold ? null : children;
1826
2033
  const styleIfThere = other.layout === "none" ? undefined : other.style;
1827
- const defaultStyle = useMemo9(() => {
2034
+ const defaultStyle = useMemo10(() => {
1828
2035
  return {
1829
2036
  flexDirection: undefined,
1830
2037
  ...width ? { width } : {},
@@ -1839,9 +2046,9 @@ Check that all your Remotion packages are on the same version. If your dependenc
1839
2046
  if (isSequenceHidden) {
1840
2047
  return null;
1841
2048
  }
1842
- return /* @__PURE__ */ jsx82(SequenceContext.Provider, {
2049
+ return /* @__PURE__ */ jsx92(SequenceContext.Provider, {
1843
2050
  value: contextValue,
1844
- children: content === null ? null : other.layout === "none" ? content : /* @__PURE__ */ jsx82(AbsoluteFill, {
2051
+ children: content === null ? null : other.layout === "none" ? content : /* @__PURE__ */ jsx92(AbsoluteFill, {
1845
2052
  ref,
1846
2053
  style: defaultStyle,
1847
2054
  className: other.className,
@@ -1868,7 +2075,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1868
2075
  const postmountingActive = frame > endThreshold && frame <= endThreshold + postmountFor;
1869
2076
  const freezeFrame = premountingActive ? from : postmountingActive ? from + durationInFrames - 1 : 0;
1870
2077
  const isFreezingActive = premountingActive || postmountingActive;
1871
- const style = useMemo9(() => {
2078
+ const style = useMemo10(() => {
1872
2079
  return {
1873
2080
  ...passedStyle,
1874
2081
  opacity: premountingActive || postmountingActive ? 0 : 1,
@@ -1883,10 +2090,10 @@ Check that all your Remotion packages are on the same version. If your dependenc
1883
2090
  styleWhilePremounted,
1884
2091
  styleWhilePostmounted
1885
2092
  ]);
1886
- return /* @__PURE__ */ jsx82(Freeze, {
2093
+ return /* @__PURE__ */ jsx92(Freeze, {
1887
2094
  frame: freezeFrame,
1888
2095
  active: isFreezingActive,
1889
- children: /* @__PURE__ */ jsx82(Sequence, {
2096
+ children: /* @__PURE__ */ jsx92(Sequence, {
1890
2097
  ref,
1891
2098
  from,
1892
2099
  durationInFrames,
@@ -1895,154 +2102,24 @@ Check that all your Remotion packages are on the same version. If your dependenc
1895
2102
  _remotionInternalPostmountDisplay: postmountFor,
1896
2103
  _remotionInternalIsPremounting: premountingActive,
1897
2104
  _remotionInternalIsPostmounting: postmountingActive,
1898
- ...otherProps
1899
- })
1900
- });
1901
- }, PremountedPostmountedSequence, SequenceRefForwardingFunction = (props, ref) => {
1902
- const env = useRemotionEnvironment();
1903
- if (props.layout !== "none" && !env.isRendering) {
1904
- if (props.premountFor || props.postmountFor) {
1905
- return /* @__PURE__ */ jsx82(PremountedPostmountedSequence, {
1906
- ...props,
1907
- ref
1908
- });
1909
- }
1910
- }
1911
- return /* @__PURE__ */ jsx82(RegularSequence, {
1912
- ...props,
1913
- ref
1914
- });
1915
- }, Sequence, isErrorLike = (err) => {
1916
- if (err instanceof Error) {
1917
- return true;
1918
- }
1919
- if (err === null) {
1920
- return false;
1921
- }
1922
- if (typeof err !== "object") {
1923
- return false;
1924
- }
1925
- if (!("stack" in err)) {
1926
- return false;
1927
- }
1928
- if (typeof err.stack !== "string") {
1929
- return false;
1930
- }
1931
- if (!("message" in err)) {
1932
- return false;
1933
- }
1934
- if (typeof err.message !== "string") {
1935
- return false;
1936
- }
1937
- return true;
1938
- }, logLevels, getNumberForLogLevel = (level) => {
1939
- return logLevels.indexOf(level);
1940
- }, isEqualOrBelowLogLevel = (currentLevel, level) => {
1941
- return getNumberForLogLevel(currentLevel) <= getNumberForLogLevel(level);
1942
- }, transformArgs = ({
1943
- args,
1944
- logLevel,
1945
- tag
1946
- }) => {
1947
- const arr = [...args];
1948
- if (getRemotionEnvironment().isRendering && !getRemotionEnvironment().isClientSideRendering) {
1949
- arr.unshift(Symbol.for(`__remotion_level_${logLevel}`));
1950
- }
1951
- if (tag && getRemotionEnvironment().isRendering && !getRemotionEnvironment().isClientSideRendering) {
1952
- arr.unshift(Symbol.for(`__remotion_tag_${tag}`));
1953
- }
1954
- return arr;
1955
- }, verbose = (options, ...args) => {
1956
- if (isEqualOrBelowLogLevel(options.logLevel, "verbose")) {
1957
- return console.debug(...transformArgs({ args, logLevel: "verbose", tag: options.tag }));
1958
- }
1959
- }, trace = (options, ...args) => {
1960
- if (isEqualOrBelowLogLevel(options.logLevel, "trace")) {
1961
- return console.debug(...transformArgs({ args, logLevel: "trace", tag: options.tag }));
1962
- }
1963
- }, info = (options, ...args) => {
1964
- if (isEqualOrBelowLogLevel(options.logLevel, "info")) {
1965
- return console.log(...transformArgs({ args, logLevel: "info", tag: options.tag }));
1966
- }
1967
- }, warn = (options, ...args) => {
1968
- if (isEqualOrBelowLogLevel(options.logLevel, "warn")) {
1969
- return console.warn(...transformArgs({ args, logLevel: "warn", tag: options.tag }));
1970
- }
1971
- }, error = (options, ...args) => {
1972
- return console.error(...transformArgs({ args, logLevel: "error", tag: options.tag }));
1973
- }, Log, handles, DELAY_RENDER_CALLSTACK_TOKEN = "The delayRender was called:", DELAY_RENDER_RETRIES_LEFT = "Retries left: ", DELAY_RENDER_RETRY_TOKEN = "- Rendering the frame will be retried.", DELAY_RENDER_CLEAR_TOKEN = "handle was cleared after", defaultTimeout = 30000, delayRenderInternal = (environment, label, options) => {
1974
- if (typeof label !== "string" && typeof label !== "undefined") {
1975
- throw new Error("The label parameter of delayRender() must be a string or undefined, got: " + JSON.stringify(label));
1976
- }
1977
- const handle = Math.random();
1978
- handles.push(handle);
1979
- const called = Error().stack?.replace(/^Error/g, "") ?? "";
1980
- if (environment.isRendering) {
1981
- const timeoutToUse = (options?.timeoutInMilliseconds ?? (typeof window === "undefined" ? defaultTimeout : window.remotion_puppeteerTimeout ?? defaultTimeout)) - 2000;
1982
- if (typeof window !== "undefined") {
1983
- const retriesLeft = (options?.retries ?? 0) - (window.remotion_attempt - 1);
1984
- window.remotion_delayRenderTimeouts[handle] = {
1985
- label: label ?? null,
1986
- startTime: Date.now(),
1987
- timeout: setTimeout(() => {
1988
- const message = [
1989
- `A delayRender()`,
1990
- label ? `"${label}"` : null,
1991
- `was called but not cleared after ${timeoutToUse}ms. See https://remotion.dev/docs/timeout for help.`,
1992
- retriesLeft > 0 ? DELAY_RENDER_RETRIES_LEFT + retriesLeft : null,
1993
- retriesLeft > 0 ? DELAY_RENDER_RETRY_TOKEN : null,
1994
- DELAY_RENDER_CALLSTACK_TOKEN,
1995
- called
1996
- ].filter(truthy2).join(" ");
1997
- cancelRender(Error(message));
1998
- }, timeoutToUse)
1999
- };
2105
+ ...otherProps
2106
+ })
2107
+ });
2108
+ }, PremountedPostmountedSequence, SequenceRefForwardingFunction = (props, ref) => {
2109
+ const env = useRemotionEnvironment();
2110
+ if (props.layout !== "none" && !env.isRendering) {
2111
+ if (props.premountFor || props.postmountFor) {
2112
+ return /* @__PURE__ */ jsx92(PremountedPostmountedSequence, {
2113
+ ...props,
2114
+ ref
2115
+ });
2000
2116
  }
2001
2117
  }
2002
- if (typeof window !== "undefined") {
2003
- window.remotion_renderReady = false;
2004
- }
2005
- return handle;
2006
- }, continueRenderInternal = (handle, environment) => {
2007
- if (typeof handle === "undefined") {
2008
- throw new TypeError("The continueRender() method must be called with a parameter that is the return value of delayRender(). No value was passed.");
2009
- }
2010
- if (typeof handle !== "number") {
2011
- throw new TypeError("The parameter passed into continueRender() must be the return value of delayRender() which is a number. Got: " + JSON.stringify(handle));
2012
- }
2013
- handles = handles.filter((h) => {
2014
- if (h === handle) {
2015
- if (environment.isRendering) {
2016
- if (!window.remotion_delayRenderTimeouts[handle]) {
2017
- return false;
2018
- }
2019
- const { label, startTime, timeout } = window.remotion_delayRenderTimeouts[handle];
2020
- clearTimeout(timeout);
2021
- const message = [
2022
- label ? `"${label}"` : "A handle",
2023
- DELAY_RENDER_CLEAR_TOKEN,
2024
- `${Date.now() - startTime}ms`
2025
- ].filter(truthy2).join(" ");
2026
- Log.verbose({ logLevel: window.remotion_logLevel, tag: "delayRender()" }, message);
2027
- delete window.remotion_delayRenderTimeouts[handle];
2028
- }
2029
- return false;
2030
- }
2031
- return true;
2118
+ return /* @__PURE__ */ jsx92(RegularSequence, {
2119
+ ...props,
2120
+ ref
2032
2121
  });
2033
- if (handles.length === 0 && typeof window !== "undefined") {
2034
- window.remotion_renderReady = true;
2035
- }
2036
- }, useDelayRender = () => {
2037
- const environment = useRemotionEnvironment();
2038
- const delayRender2 = useCallback4((label, options) => {
2039
- return delayRenderInternal(environment, label, options);
2040
- }, [environment]);
2041
- const continueRender2 = useCallback4((handle) => {
2042
- continueRenderInternal(handle, environment);
2043
- }, [environment]);
2044
- return { delayRender: delayRender2, continueRender: continueRender2 };
2045
- }, calcArgs = (fit, frameSize, canvasSize) => {
2122
+ }, Sequence, calcArgs = (fit, frameSize, canvasSize) => {
2046
2123
  switch (fit) {
2047
2124
  case "fill": {
2048
2125
  return [
@@ -2090,7 +2167,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
2090
2167
  throw new Error("Unknown fit: " + fit);
2091
2168
  }
2092
2169
  }, CanvasRefForwardingFunction = ({ width, height, fit, className, style }, ref) => {
2093
- const canvasRef = useRef2(null);
2170
+ const canvasRef = useRef3(null);
2094
2171
  const draw = useCallback5((imageData) => {
2095
2172
  const canvas = canvasRef.current;
2096
2173
  const canvasWidth = width ?? imageData.displayWidth;
@@ -2130,7 +2207,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
2130
2207
  }
2131
2208
  };
2132
2209
  }, [draw]);
2133
- return /* @__PURE__ */ jsx92("canvas", {
2210
+ return /* @__PURE__ */ jsx102("canvas", {
2134
2211
  ref: canvasRef,
2135
2212
  className,
2136
2213
  style
@@ -2304,7 +2381,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
2304
2381
  }
2305
2382
  validateContent(artifact.content);
2306
2383
  }, RenderAssetManager, RenderAssetManagerProvider = ({ children }) => {
2307
- const [renderAssets, setRenderAssets] = useState7([]);
2384
+ const [renderAssets, setRenderAssets] = useState8([]);
2308
2385
  const registerRenderAsset = useCallback6((renderAsset) => {
2309
2386
  validateRenderAsset(renderAsset);
2310
2387
  setRenderAssets((assets) => {
@@ -2316,7 +2393,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
2316
2393
  return assts.filter((a) => a.id !== id);
2317
2394
  });
2318
2395
  }, []);
2319
- useLayoutEffect2(() => {
2396
+ useLayoutEffect3(() => {
2320
2397
  if (typeof window !== "undefined") {
2321
2398
  window.remotion_collectAssets = () => {
2322
2399
  setRenderAssets([]);
@@ -2324,22 +2401,22 @@ Check that all your Remotion packages are on the same version. If your dependenc
2324
2401
  };
2325
2402
  }
2326
2403
  }, [renderAssets]);
2327
- const contextValue = useMemo10(() => {
2404
+ const contextValue = useMemo11(() => {
2328
2405
  return {
2329
2406
  registerRenderAsset,
2330
2407
  unregisterRenderAsset,
2331
2408
  renderAssets
2332
2409
  };
2333
2410
  }, [renderAssets, registerRenderAsset, unregisterRenderAsset]);
2334
- return /* @__PURE__ */ jsx11(RenderAssetManager.Provider, {
2411
+ return /* @__PURE__ */ jsx12(RenderAssetManager.Provider, {
2335
2412
  value: contextValue,
2336
2413
  children
2337
2414
  });
2338
2415
  }, ArtifactThumbnail, Artifact = ({ filename, content, downloadBehavior }) => {
2339
- const { registerRenderAsset, unregisterRenderAsset } = useContext12(RenderAssetManager);
2416
+ const { registerRenderAsset, unregisterRenderAsset } = useContext13(RenderAssetManager);
2340
2417
  const env = useRemotionEnvironment();
2341
2418
  const frame = useCurrentFrame();
2342
- const [id] = useState8(() => {
2419
+ const [id] = useState9(() => {
2343
2420
  return String(Math.random());
2344
2421
  });
2345
2422
  useEffect5(() => {
@@ -2414,7 +2491,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
2414
2491
  const actualDuration = duration / playbackRate;
2415
2492
  return Math.floor(actualDuration);
2416
2493
  }, LoopContext, useLoop = () => {
2417
- return React10.useContext(LoopContext);
2494
+ return React11.useContext(LoopContext);
2418
2495
  }, Loop = ({ durationInFrames, times = Infinity, children, name, ...props }) => {
2419
2496
  const currentFrame = useCurrentFrame();
2420
2497
  const { durationInFrames: compDuration } = useVideoConfig();
@@ -2438,22 +2515,22 @@ Check that all your Remotion packages are on the same version. If your dependenc
2438
2515
  const iteration = Math.floor(currentFrame / durationInFrames);
2439
2516
  const start = iteration * durationInFrames;
2440
2517
  const from = Math.min(start, maxFrame);
2441
- const loopDisplay = useMemo11(() => {
2518
+ const loopDisplay = useMemo12(() => {
2442
2519
  return {
2443
2520
  numberOfTimes: actualTimes,
2444
2521
  startOffset: -from,
2445
2522
  durationInFrames
2446
2523
  };
2447
2524
  }, [actualTimes, durationInFrames, from]);
2448
- const loopContext = useMemo11(() => {
2525
+ const loopContext = useMemo12(() => {
2449
2526
  return {
2450
2527
  iteration: Math.floor(currentFrame / durationInFrames),
2451
2528
  durationInFrames
2452
2529
  };
2453
2530
  }, [currentFrame, durationInFrames]);
2454
- return /* @__PURE__ */ jsx12(LoopContext.Provider, {
2531
+ return /* @__PURE__ */ jsx13(LoopContext.Provider, {
2455
2532
  value: loopContext,
2456
- children: /* @__PURE__ */ jsx12(Sequence, {
2533
+ children: /* @__PURE__ */ jsx13(Sequence, {
2457
2534
  durationInFrames,
2458
2535
  from,
2459
2536
  name: name ?? "<Loop>",
@@ -2475,7 +2552,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
2475
2552
  preloads = updater(preloads);
2476
2553
  updaters.forEach((u) => u());
2477
2554
  }, PrefetchProvider = ({ children }) => {
2478
- const [_preloads, _setPreloads] = useState9(() => preloads);
2555
+ const [_preloads, _setPreloads] = useState10(() => preloads);
2479
2556
  useEffect6(() => {
2480
2557
  const updaterFunction = () => {
2481
2558
  _setPreloads(preloads);
@@ -2485,7 +2562,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
2485
2562
  updaters = updaters.filter((u) => u !== updaterFunction);
2486
2563
  };
2487
2564
  }, []);
2488
- return /* @__PURE__ */ jsx13(PreloadContext.Provider, {
2565
+ return /* @__PURE__ */ jsx14(PreloadContext.Provider, {
2489
2566
  value: _preloads,
2490
2567
  children
2491
2568
  });
@@ -2502,7 +2579,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
2502
2579
  }
2503
2580
  return src.slice(0, hashIndex);
2504
2581
  }, usePreload = (src) => {
2505
- const preloads2 = useContext13(PreloadContext);
2582
+ const preloads2 = useContext14(PreloadContext);
2506
2583
  const hashFragmentIndex = removeAndGetHashFragment(src);
2507
2584
  const withoutHashFragment = getSrcWithoutHash(src);
2508
2585
  if (!preloads2[withoutHashFragment]) {
@@ -2777,13 +2854,13 @@ Check that all your Remotion packages are on the same version. If your dependenc
2777
2854
  }
2778
2855
  }, DurationsContext, DurationsContextProvider = ({ children }) => {
2779
2856
  const [durations, setDurations] = useReducer(durationReducer, {});
2780
- const value = useMemo12(() => {
2857
+ const value = useMemo13(() => {
2781
2858
  return {
2782
2859
  durations,
2783
2860
  setDurations
2784
2861
  };
2785
2862
  }, [durations]);
2786
- return /* @__PURE__ */ jsx14(DurationsContext.Provider, {
2863
+ return /* @__PURE__ */ jsx15(DurationsContext.Provider, {
2787
2864
  value,
2788
2865
  children
2789
2866
  });
@@ -2799,31 +2876,17 @@ Check that all your Remotion packages are on the same version. If your dependenc
2799
2876
  }
2800
2877
  return;
2801
2878
  }, LogLevelContext, useLogLevel = () => {
2802
- const { logLevel } = React13.useContext(LogLevelContext);
2879
+ const { logLevel } = React14.useContext(LogLevelContext);
2803
2880
  if (logLevel === null) {
2804
2881
  throw new Error("useLogLevel must be used within a LogLevelProvider");
2805
2882
  }
2806
2883
  return logLevel;
2807
2884
  }, useMountTime = () => {
2808
- const { mountTime } = React13.useContext(LogLevelContext);
2885
+ const { mountTime } = React14.useContext(LogLevelContext);
2809
2886
  if (mountTime === null) {
2810
2887
  throw new Error("useMountTime must be used within a LogLevelProvider");
2811
2888
  }
2812
2889
  return mountTime;
2813
- }, random = (seed, dummy) => {
2814
- if (dummy !== undefined) {
2815
- throw new TypeError("random() takes only one argument");
2816
- }
2817
- if (seed === null) {
2818
- return Math.random();
2819
- }
2820
- if (typeof seed === "string") {
2821
- return mulberry32(hashCode(seed));
2822
- }
2823
- if (typeof seed === "number") {
2824
- return mulberry32(seed * 10000000000);
2825
- }
2826
- throw new Error("random() argument must be a number or a string");
2827
2890
  }, playAndHandleNotAllowedError = ({
2828
2891
  mediaRef,
2829
2892
  mediaType,
@@ -2911,7 +2974,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
2911
2974
  Log.warn({ logLevel, tag: null }, "AudioContext is not supported in this browser");
2912
2975
  }
2913
2976
  }, useSingletonAudioContext = (logLevel, latencyHint) => {
2914
- const audioContext = useMemo13(() => {
2977
+ const audioContext = useMemo14(() => {
2915
2978
  if (typeof AudioContext === "undefined") {
2916
2979
  warnOnce(logLevel);
2917
2980
  return null;
@@ -2944,15 +3007,17 @@ Check that all your Remotion packages are on the same version. If your dependenc
2944
3007
  return false;
2945
3008
  }
2946
3009
  return true;
2947
- }, SharedAudioContext, SharedAudioContextProvider = ({ children, numberOfAudioTags, component, audioLatencyHint }) => {
2948
- const audios = useRef4([]);
2949
- const [initialNumberOfAudioTags] = useState10(numberOfAudioTags);
3010
+ }, SharedAudioContext, SharedAudioContextProvider = ({ children, numberOfAudioTags, audioLatencyHint }) => {
3011
+ const audios = useRef5([]);
3012
+ const [initialNumberOfAudioTags] = useState11(numberOfAudioTags);
2950
3013
  if (numberOfAudioTags !== initialNumberOfAudioTags) {
2951
3014
  throw new Error("The number of shared audio tags has changed dynamically. Once you have set this property, you cannot change it afterwards.");
2952
3015
  }
3016
+ const compositionManager = useContext16(CompositionManager);
3017
+ const component = compositionManager.compositions.find((c) => compositionManager.canvasContent?.type === "composition" ? c.id === compositionManager.canvasContent.compositionId : null);
2953
3018
  const logLevel = useLogLevel();
2954
3019
  const audioContext = useSingletonAudioContext(logLevel, audioLatencyHint);
2955
- const refs = useMemo14(() => {
3020
+ const refs = useMemo15(() => {
2956
3021
  return new Array(numberOfAudioTags).fill(true).map(() => {
2957
3022
  const ref = createRef2();
2958
3023
  return {
@@ -2965,7 +3030,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
2965
3030
  };
2966
3031
  });
2967
3032
  }, [audioContext, numberOfAudioTags]);
2968
- const takenAudios = useRef4(new Array(numberOfAudioTags).fill(false));
3033
+ const takenAudios = useRef5(new Array(numberOfAudioTags).fill(false));
2969
3034
  const rerenderAudios = useCallback7(() => {
2970
3035
  refs.forEach(({ ref, id }) => {
2971
3036
  const data = audios.current?.find((a) => a.id === id);
@@ -3071,7 +3136,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3071
3136
  });
3072
3137
  audioContext?.resume();
3073
3138
  }, [audioContext, logLevel, mountTime, refs, env.isPlayer]);
3074
- const value = useMemo14(() => {
3139
+ const value = useMemo15(() => {
3075
3140
  return {
3076
3141
  registerAudio,
3077
3142
  unregisterAudio,
@@ -3102,7 +3167,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3102
3167
  value,
3103
3168
  children: [
3104
3169
  refs.map(({ id, ref }) => {
3105
- return /* @__PURE__ */ jsx15("audio", {
3170
+ return /* @__PURE__ */ jsx16("audio", {
3106
3171
  ref,
3107
3172
  preload: "metadata",
3108
3173
  src: EMPTY_AUDIO
@@ -3116,12 +3181,12 @@ Check that all your Remotion packages are on the same version. If your dependenc
3116
3181
  audioId,
3117
3182
  premounting
3118
3183
  }) => {
3119
- const ctx = useContext15(SharedAudioContext);
3120
- const [elem] = useState10(() => {
3184
+ const ctx = useContext16(SharedAudioContext);
3185
+ const [elem] = useState11(() => {
3121
3186
  if (ctx && ctx.numberOfAudioTags > 0) {
3122
3187
  return ctx.registerAudio({ aud, audioId, premounting });
3123
3188
  }
3124
- const el = React14.createRef();
3189
+ const el = React15.createRef();
3125
3190
  const mediaElementSourceNode = ctx?.audioContext ? makeSharedElementSourceNode({
3126
3191
  audioContext: ctx.audioContext,
3127
3192
  ref: el
@@ -3135,7 +3200,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3135
3200
  premounting
3136
3201
  };
3137
3202
  });
3138
- const effectToUse = React14.useInsertionEffect ?? React14.useLayoutEffect;
3203
+ const effectToUse = React15.useInsertionEffect ?? React15.useLayoutEffect;
3139
3204
  if (typeof document !== "undefined") {
3140
3205
  effectToUse(() => {
3141
3206
  if (ctx && ctx.numberOfAudioTags > 0) {
@@ -3231,9 +3296,9 @@ Check that all your Remotion packages are on the same version. If your dependenc
3231
3296
  duration: initialDuration,
3232
3297
  fps
3233
3298
  }) => {
3234
- const actualFromRef = useRef5(initialActualFrom);
3235
- const actualDuration = useRef5(initialDuration);
3236
- const actualSrc = useRef5(initialActualSrc);
3299
+ const actualFromRef = useRef6(initialActualFrom);
3300
+ const actualDuration = useRef6(initialDuration);
3301
+ const actualSrc = useRef6(initialActualSrc);
3237
3302
  if (!isSubsetOfDuration({
3238
3303
  prevStartFrom: actualFromRef.current,
3239
3304
  newStartFrom: initialActualFrom,
@@ -3267,16 +3332,16 @@ Check that all your Remotion packages are on the same version. If your dependenc
3267
3332
  source,
3268
3333
  shouldUseWebAudioApi
3269
3334
  }) => {
3270
- const audioStuffRef = useRef6(null);
3271
- const currentVolumeRef = useRef6(volume);
3335
+ const audioStuffRef = useRef7(null);
3336
+ const currentVolumeRef = useRef7(volume);
3272
3337
  currentVolumeRef.current = volume;
3273
- const sharedAudioContext = useContext16(SharedAudioContext);
3338
+ const sharedAudioContext = useContext17(SharedAudioContext);
3274
3339
  if (!sharedAudioContext) {
3275
3340
  throw new Error("useAmplification must be used within a SharedAudioContext");
3276
3341
  }
3277
3342
  const { audioContext } = sharedAudioContext;
3278
3343
  if (typeof window !== "undefined") {
3279
- useLayoutEffect3(() => {
3344
+ useLayoutEffect4(() => {
3280
3345
  if (!audioContext) {
3281
3346
  return;
3282
3347
  }
@@ -3324,7 +3389,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3324
3389
  }
3325
3390
  return audioStuffRef;
3326
3391
  }, useMediaStartsAt = () => {
3327
- const parentSequence = useContext17(SequenceContext);
3392
+ const parentSequence = useContext18(SequenceContext);
3328
3393
  const startsAt = Math.min(0, parentSequence?.relativeFrom ?? 0);
3329
3394
  return startsAt;
3330
3395
  }, useFrameForVolumeProp = (behavior) => {
@@ -3383,9 +3448,9 @@ Check that all your Remotion packages are on the same version. If your dependenc
3383
3448
  throw new Error("No src passed");
3384
3449
  }
3385
3450
  const startsAt = useMediaStartsAt();
3386
- const parentSequence = useContext18(SequenceContext);
3451
+ const parentSequence = useContext19(SequenceContext);
3387
3452
  const videoConfig = useVideoConfig();
3388
- const [initialVolume] = useState11(() => volume);
3453
+ const [initialVolume] = useState12(() => volume);
3389
3454
  const mediaDuration = calculateMediaDuration({
3390
3455
  mediaDurationInFrames: videoConfig.durationInFrames,
3391
3456
  playbackRate,
@@ -3393,7 +3458,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3393
3458
  trimAfter
3394
3459
  });
3395
3460
  const duration = parentSequence ? Math.min(parentSequence.durationInFrames, mediaDuration) : mediaDuration;
3396
- const volumes = useMemo15(() => {
3461
+ const volumes = useMemo16(() => {
3397
3462
  if (typeof volume === "number") {
3398
3463
  return volume;
3399
3464
  }
@@ -3412,7 +3477,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3412
3477
  }, [initialVolume, mediaType, src, volume]);
3413
3478
  const doesVolumeChange = typeof volume === "function";
3414
3479
  const nonce = useNonce();
3415
- const { rootId } = useContext18(TimelineContext);
3480
+ const { rootId } = useContext19(TimelineContext);
3416
3481
  const env = useRemotionEnvironment();
3417
3482
  return {
3418
3483
  volumes,
@@ -3437,9 +3502,9 @@ Check that all your Remotion packages are on the same version. If your dependenc
3437
3502
  postmountDisplay,
3438
3503
  loopDisplay
3439
3504
  }) => {
3440
- const parentSequence = useContext18(SequenceContext);
3505
+ const parentSequence = useContext19(SequenceContext);
3441
3506
  const startsAt = useMediaStartsAt();
3442
- const { registerSequence, unregisterSequence } = useContext18(SequenceManager);
3507
+ const { registerSequence, unregisterSequence } = useContext19(SequenceManager);
3443
3508
  const {
3444
3509
  volumes,
3445
3510
  duration,
@@ -3514,10 +3579,10 @@ Check that all your Remotion packages are on the same version. If your dependenc
3514
3579
  finalDisplayName
3515
3580
  ]);
3516
3581
  }, useBufferManager = (logLevel, mountTime) => {
3517
- const [blocks, setBlocks] = useState12([]);
3518
- const [onBufferingCallbacks, setOnBufferingCallbacks] = useState12([]);
3519
- const [onResumeCallbacks, setOnResumeCallbacks] = useState12([]);
3520
- const buffering = useRef7(false);
3582
+ const [blocks, setBlocks] = useState13([]);
3583
+ const [onBufferingCallbacks, setOnBufferingCallbacks] = useState13([]);
3584
+ const [onResumeCallbacks, setOnResumeCallbacks] = useState13([]);
3585
+ const buffering = useRef8(false);
3521
3586
  const addBlock = useCallback8((block) => {
3522
3587
  setBlocks((b) => [...b, block]);
3523
3588
  return {
@@ -3560,7 +3625,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3560
3625
  }
3561
3626
  }, [blocks]);
3562
3627
  if (typeof window !== "undefined") {
3563
- useLayoutEffect4(() => {
3628
+ useLayoutEffect5(() => {
3564
3629
  if (blocks.length === 0) {
3565
3630
  onResumeCallbacks.forEach((c) => c());
3566
3631
  playbackLogging({
@@ -3572,18 +3637,18 @@ Check that all your Remotion packages are on the same version. If your dependenc
3572
3637
  }
3573
3638
  }, [blocks]);
3574
3639
  }
3575
- return useMemo16(() => {
3640
+ return useMemo17(() => {
3576
3641
  return { addBlock, listenForBuffering, listenForResume, buffering };
3577
3642
  }, [addBlock, buffering, listenForBuffering, listenForResume]);
3578
3643
  }, BufferingContextReact, BufferingProvider = ({ children }) => {
3579
- const { logLevel, mountTime } = useContext19(LogLevelContext);
3644
+ const { logLevel, mountTime } = useContext20(LogLevelContext);
3580
3645
  const bufferManager = useBufferManager(logLevel ?? "info", mountTime);
3581
- return /* @__PURE__ */ jsx16(BufferingContextReact.Provider, {
3646
+ return /* @__PURE__ */ jsx17(BufferingContextReact.Provider, {
3582
3647
  value: bufferManager,
3583
3648
  children
3584
3649
  });
3585
3650
  }, useIsPlayerBuffering = (bufferManager) => {
3586
- const [isBuffering, setIsBuffering] = useState12(bufferManager.buffering.current);
3651
+ const [isBuffering, setIsBuffering] = useState13(bufferManager.buffering.current);
3587
3652
  useEffect9(() => {
3588
3653
  const onBuffer = () => {
3589
3654
  setIsBuffering(true);
@@ -3604,9 +3669,9 @@ Check that all your Remotion packages are on the same version. If your dependenc
3604
3669
  }, [bufferManager]);
3605
3670
  return isBuffering;
3606
3671
  }, useBufferState = () => {
3607
- const buffer = useContext20(BufferingContextReact);
3672
+ const buffer = useContext21(BufferingContextReact);
3608
3673
  const addBlock = buffer ? buffer.addBlock : null;
3609
- return useMemo17(() => ({
3674
+ return useMemo18(() => ({
3610
3675
  delayPlayback: () => {
3611
3676
  if (!addBlock) {
3612
3677
  throw new Error("Tried to enable the buffering state, but a Remotion context was not found. This API can only be called in a component that was passed to the Remotion Player or a <Composition>. Or you might have experienced a version mismatch - run `npx remotion versions` and ensure all packages have the same version. This error is thrown by the buffer state https://remotion.dev/docs/player/buffer-state");
@@ -3628,7 +3693,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3628
3693
  logLevel,
3629
3694
  mountTime
3630
3695
  }) => {
3631
- const bufferingRef = useRef8(false);
3696
+ const bufferingRef = useRef9(false);
3632
3697
  const { delayPlayback } = useBufferState();
3633
3698
  const bufferUntilFirstFrame = useCallback9((requestedTime) => {
3634
3699
  if (mediaType !== "video") {
@@ -3701,14 +3766,14 @@ Check that all your Remotion packages are on the same version. If your dependenc
3701
3766
  onVariableFpsVideoDetected,
3702
3767
  pauseWhenBuffering
3703
3768
  ]);
3704
- return useMemo18(() => {
3769
+ return useMemo19(() => {
3705
3770
  return {
3706
3771
  isBuffering: () => bufferingRef.current,
3707
3772
  bufferUntilFirstFrame
3708
3773
  };
3709
3774
  }, [bufferUntilFirstFrame]);
3710
3775
  }, useCurrentTimeOfMediaTagWithUpdateTimeStamp = (mediaRef) => {
3711
- const lastUpdate = React16.useRef({
3776
+ const lastUpdate = React17.useRef({
3712
3777
  time: mediaRef.current?.currentTime ?? 0,
3713
3778
  lastUpdate: performance.now()
3714
3779
  });
@@ -3746,7 +3811,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3746
3811
  src
3747
3812
  }) => {
3748
3813
  const buffer = useBufferState();
3749
- const [isBuffering, setIsBuffering] = useState13(false);
3814
+ const [isBuffering, setIsBuffering] = useState14(false);
3750
3815
  useEffect10(() => {
3751
3816
  let cleanupFns = [];
3752
3817
  const { current } = element;
@@ -3878,7 +3943,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3878
3943
  lastSeek,
3879
3944
  onVariableFpsVideoDetected
3880
3945
  }) => {
3881
- const currentTime = useRef9(null);
3946
+ const currentTime = useRef10(null);
3882
3947
  useEffect11(() => {
3883
3948
  const { current } = mediaRef;
3884
3949
  if (current) {
@@ -3995,21 +4060,21 @@ Check that all your Remotion packages are on the same version. If your dependenc
3995
4060
  isPostmounting,
3996
4061
  onAutoPlayError
3997
4062
  }) => {
3998
- const { playbackRate: globalPlaybackRate } = useContext21(TimelineContext);
4063
+ const { playbackRate: globalPlaybackRate } = useContext22(TimelineContext);
3999
4064
  const frame = useCurrentFrame();
4000
4065
  const absoluteFrame = useTimelinePosition();
4001
4066
  const [playing] = usePlayingState();
4002
- const buffering = useContext21(BufferingContextReact);
4067
+ const buffering = useContext22(BufferingContextReact);
4003
4068
  const { fps } = useVideoConfig();
4004
4069
  const mediaStartsAt = useMediaStartsAt();
4005
- const lastSeekDueToShift = useRef10(null);
4006
- const lastSeek = useRef10(null);
4070
+ const lastSeekDueToShift = useRef11(null);
4071
+ const lastSeek = useRef11(null);
4007
4072
  const logLevel = useLogLevel();
4008
4073
  const mountTime = useMountTime();
4009
4074
  if (!buffering) {
4010
4075
  throw new Error("useMediaPlayback must be used inside a <BufferingContext>");
4011
4076
  }
4012
- const isVariableFpsVideoMap = useRef10({});
4077
+ const isVariableFpsVideoMap = useRef11({});
4013
4078
  const onVariableFpsVideoDetected = useCallback10(() => {
4014
4079
  if (!src) {
4015
4080
  return;
@@ -4100,7 +4165,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4100
4165
  isPostmounting
4101
4166
  ]);
4102
4167
  const env = useRemotionEnvironment();
4103
- useLayoutEffect5(() => {
4168
+ useLayoutEffect6(() => {
4104
4169
  const playbackRateToSet = Math.max(0, playbackRate);
4105
4170
  if (mediaRef.current && mediaRef.current.playbackRate !== playbackRateToSet) {
4106
4171
  mediaRef.current.playbackRate = playbackRateToSet;
@@ -4230,7 +4295,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4230
4295
  isPremounting,
4231
4296
  isPostmounting
4232
4297
  }) => {
4233
- const { audioAndVideoTags, imperativePlaying } = useContext22(TimelineContext);
4298
+ const { audioAndVideoTags, imperativePlaying } = useContext23(TimelineContext);
4234
4299
  const logLevel = useLogLevel();
4235
4300
  const mountTime = useMountTime();
4236
4301
  const env = useRemotionEnvironment();
@@ -4273,15 +4338,15 @@ Check that all your Remotion packages are on the same version. If your dependenc
4273
4338
  env.isPlayer
4274
4339
  ]);
4275
4340
  }, MediaVolumeContext, SetMediaVolumeContext, useMediaVolumeState = () => {
4276
- const { mediaVolume } = useContext23(MediaVolumeContext);
4277
- const { setMediaVolume } = useContext23(SetMediaVolumeContext);
4278
- return useMemo19(() => {
4341
+ const { mediaVolume } = useContext24(MediaVolumeContext);
4342
+ const { setMediaVolume } = useContext24(SetMediaVolumeContext);
4343
+ return useMemo20(() => {
4279
4344
  return [mediaVolume, setMediaVolume];
4280
4345
  }, [mediaVolume, setMediaVolume]);
4281
4346
  }, useMediaMutedState = () => {
4282
- const { mediaMuted } = useContext23(MediaVolumeContext);
4283
- const { setMediaMuted } = useContext23(SetMediaVolumeContext);
4284
- return useMemo19(() => {
4347
+ const { mediaMuted } = useContext24(MediaVolumeContext);
4348
+ const { setMediaMuted } = useContext24(SetMediaVolumeContext);
4349
+ return useMemo20(() => {
4285
4350
  return [mediaMuted, setMediaMuted];
4286
4351
  }, [mediaMuted, setMediaMuted]);
4287
4352
  }, warnAboutTooHighVolume = (volume) => {
@@ -4289,7 +4354,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4289
4354
  throw new Error(`Volume was set to ${volume}, but regular volume is 1, not 100. Did you forget to divide by 100? Set a volume of less than 100 to dismiss this error.`);
4290
4355
  }
4291
4356
  }, AudioForDevelopmentForwardRefFunction = (props, ref) => {
4292
- const [initialShouldPreMountAudioElements] = useState14(props.shouldPreMountAudioTags);
4357
+ const [initialShouldPreMountAudioElements] = useState15(props.shouldPreMountAudioTags);
4293
4358
  if (props.shouldPreMountAudioTags !== initialShouldPreMountAudioElements) {
4294
4359
  throw new Error("Cannot change the behavior for pre-mounting audio tags dynamically.");
4295
4360
  }
@@ -4328,13 +4393,13 @@ Check that all your Remotion packages are on the same version. If your dependenc
4328
4393
  const [mediaVolume] = useMediaVolumeState();
4329
4394
  const [mediaMuted] = useMediaMutedState();
4330
4395
  const volumePropFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
4331
- const { hidden } = useContext24(SequenceVisibilityToggleContext);
4396
+ const { hidden } = useContext25(SequenceVisibilityToggleContext);
4332
4397
  if (!src) {
4333
4398
  throw new TypeError("No 'src' was passed to <Html5Audio>.");
4334
4399
  }
4335
4400
  const preloadedSrc = usePreload(src);
4336
- const sequenceContext = useContext24(SequenceContext);
4337
- const [timelineId] = useState14(() => String(Math.random()));
4401
+ const sequenceContext = useContext25(SequenceContext);
4402
+ const [timelineId] = useState15(() => String(Math.random()));
4338
4403
  const isSequenceHidden = hidden[timelineId] ?? false;
4339
4404
  const userPreferredVolume = evaluateVolume({
4340
4405
  frame: volumePropFrame,
@@ -4346,7 +4411,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4346
4411
  crossOrigin,
4347
4412
  requestsVideoFrame: false
4348
4413
  });
4349
- const propsToPass = useMemo20(() => {
4414
+ const propsToPass = useMemo21(() => {
4350
4415
  return {
4351
4416
  muted: muted || mediaMuted || isSequenceHidden || userPreferredVolume <= 0,
4352
4417
  src: preloadedSrc,
@@ -4364,7 +4429,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4364
4429
  userPreferredVolume,
4365
4430
  crossOriginValue
4366
4431
  ]);
4367
- const id = useMemo20(() => `audio-${random(src ?? "")}-${sequenceContext?.relativeFrom}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.durationInFrames}-muted:${props.muted}-loop:${props.loop}`, [
4432
+ const id = useMemo21(() => `audio-${random(src ?? "")}-${sequenceContext?.relativeFrom}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.durationInFrames}-muted:${props.muted}-loop:${props.loop}`, [
4368
4433
  src,
4369
4434
  sequenceContext?.relativeFrom,
4370
4435
  sequenceContext?.cumulatedFrom,
@@ -4372,7 +4437,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4372
4437
  props.muted,
4373
4438
  props.loop
4374
4439
  ]);
4375
- const context = useContext24(SharedAudioContext);
4440
+ const context = useContext25(SharedAudioContext);
4376
4441
  if (!context) {
4377
4442
  throw new Error("SharedAudioContext not found");
4378
4443
  }
@@ -4425,7 +4490,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4425
4490
  useImperativeHandle5(ref, () => {
4426
4491
  return audioRef.current;
4427
4492
  }, [audioRef]);
4428
- const currentOnDurationCallback = useRef11(onDuration);
4493
+ const currentOnDurationCallback = useRef12(onDuration);
4429
4494
  currentOnDurationCallback.current = onDuration;
4430
4495
  useEffect14(() => {
4431
4496
  const { current } = audioRef;
@@ -4447,14 +4512,14 @@ Check that all your Remotion packages are on the same version. If your dependenc
4447
4512
  if (initialShouldPreMountAudioElements) {
4448
4513
  return null;
4449
4514
  }
4450
- return /* @__PURE__ */ jsx17("audio", {
4515
+ return /* @__PURE__ */ jsx18("audio", {
4451
4516
  ref: audioRef,
4452
4517
  preload: "metadata",
4453
4518
  crossOrigin: crossOriginValue,
4454
4519
  ...propsToPass
4455
4520
  });
4456
4521
  }, AudioForPreview, AudioForRenderingRefForwardingFunction = (props, ref) => {
4457
- const audioRef = useRef12(null);
4522
+ const audioRef = useRef13(null);
4458
4523
  const {
4459
4524
  volume: volumeProp,
4460
4525
  playbackRate,
@@ -4476,10 +4541,10 @@ Check that all your Remotion packages are on the same version. If your dependenc
4476
4541
  const absoluteFrame = useTimelinePosition();
4477
4542
  const volumePropFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
4478
4543
  const frame = useCurrentFrame();
4479
- const sequenceContext = useContext25(SequenceContext);
4480
- const { registerRenderAsset, unregisterRenderAsset } = useContext25(RenderAssetManager);
4544
+ const sequenceContext = useContext26(SequenceContext);
4545
+ const { registerRenderAsset, unregisterRenderAsset } = useContext26(RenderAssetManager);
4481
4546
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
4482
- const id = useMemo21(() => `audio-${random(props.src ?? "")}-${sequenceContext?.relativeFrom}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.durationInFrames}`, [
4547
+ const id = useMemo222(() => `audio-${random(props.src ?? "")}-${sequenceContext?.relativeFrom}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.durationInFrames}`, [
4483
4548
  props.src,
4484
4549
  sequenceContext?.relativeFrom,
4485
4550
  sequenceContext?.cumulatedFrom,
@@ -4538,7 +4603,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4538
4603
  ]);
4539
4604
  const { src } = props;
4540
4605
  const needsToRenderAudioTag = ref || _remotionInternalNeedsDurationCalculation;
4541
- useLayoutEffect6(() => {
4606
+ useLayoutEffect7(() => {
4542
4607
  if (window.process?.env?.NODE_ENV === "test") {
4543
4608
  return;
4544
4609
  }
@@ -4578,13 +4643,13 @@ Check that all your Remotion packages are on the same version. If your dependenc
4578
4643
  if (!needsToRenderAudioTag) {
4579
4644
  return null;
4580
4645
  }
4581
- return /* @__PURE__ */ jsx18("audio", {
4646
+ return /* @__PURE__ */ jsx19("audio", {
4582
4647
  ref: audioRef,
4583
4648
  ...nativeProps,
4584
4649
  onError: onNativeError
4585
4650
  });
4586
4651
  }, AudioForRendering, AudioRefForwardingFunction = (props, ref) => {
4587
- const audioContext = useContext26(SharedAudioContext);
4652
+ const audioContext = useContext27(SharedAudioContext);
4588
4653
  const {
4589
4654
  startFrom,
4590
4655
  endAt,
@@ -4600,7 +4665,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4600
4665
  const { loop, ...propsOtherThanLoop } = props;
4601
4666
  const { fps } = useVideoConfig();
4602
4667
  const environment = useRemotionEnvironment();
4603
- const { durations, setDurations } = useContext26(DurationsContext);
4668
+ const { durations, setDurations } = useContext27(DurationsContext);
4604
4669
  if (typeof props.src !== "string") {
4605
4670
  throw new TypeError(`The \`<Html5Audio>\` tag requires a string for \`src\`, but got ${JSON.stringify(props.src)} instead.`);
4606
4671
  }
@@ -4632,14 +4697,14 @@ Check that all your Remotion packages are on the same version. If your dependenc
4632
4697
  });
4633
4698
  if (loop && durationFetched !== undefined) {
4634
4699
  if (!Number.isFinite(durationFetched)) {
4635
- return /* @__PURE__ */ jsx19(Html5Audio, {
4700
+ return /* @__PURE__ */ jsx20(Html5Audio, {
4636
4701
  ...propsOtherThanLoop,
4637
4702
  ref,
4638
4703
  _remotionInternalNativeLoopPassed: true
4639
4704
  });
4640
4705
  }
4641
4706
  const duration = durationFetched * fps;
4642
- return /* @__PURE__ */ jsx19(Loop, {
4707
+ return /* @__PURE__ */ jsx20(Loop, {
4643
4708
  layout: "none",
4644
4709
  durationInFrames: calculateMediaDuration({
4645
4710
  trimAfter: trimAfterValue,
@@ -4647,7 +4712,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4647
4712
  playbackRate: props.playbackRate ?? 1,
4648
4713
  trimBefore: trimBeforeValue
4649
4714
  }),
4650
- children: /* @__PURE__ */ jsx19(Html5Audio, {
4715
+ children: /* @__PURE__ */ jsx20(Html5Audio, {
4651
4716
  ...propsOtherThanLoop,
4652
4717
  ref,
4653
4718
  _remotionInternalNativeLoopPassed: true
@@ -4655,13 +4720,13 @@ Check that all your Remotion packages are on the same version. If your dependenc
4655
4720
  });
4656
4721
  }
4657
4722
  if (typeof trimBeforeValue !== "undefined" || typeof trimAfterValue !== "undefined") {
4658
- return /* @__PURE__ */ jsx19(Sequence, {
4723
+ return /* @__PURE__ */ jsx20(Sequence, {
4659
4724
  layout: "none",
4660
4725
  from: 0 - (trimBeforeValue ?? 0),
4661
4726
  showInTimeline: false,
4662
4727
  durationInFrames: trimAfterValue,
4663
4728
  name,
4664
- children: /* @__PURE__ */ jsx19(Html5Audio, {
4729
+ children: /* @__PURE__ */ jsx20(Html5Audio, {
4665
4730
  _remotionInternalNeedsDurationCalculation: Boolean(loop),
4666
4731
  pauseWhenBuffering: pauseWhenBuffering ?? false,
4667
4732
  ...otherProps,
@@ -4671,7 +4736,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4671
4736
  }
4672
4737
  validateMediaProps({ playbackRate: props.playbackRate, volume: props.volume }, "Html5Audio");
4673
4738
  if (environment.isRendering) {
4674
- return /* @__PURE__ */ jsx19(AudioForRendering, {
4739
+ return /* @__PURE__ */ jsx20(AudioForRendering, {
4675
4740
  onDuration,
4676
4741
  ...props,
4677
4742
  ref,
@@ -4679,7 +4744,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4679
4744
  _remotionInternalNeedsDurationCalculation: Boolean(loop)
4680
4745
  });
4681
4746
  }
4682
- return /* @__PURE__ */ jsx19(AudioForPreview, {
4747
+ return /* @__PURE__ */ jsx20(AudioForPreview, {
4683
4748
  _remotionInternalNativeLoopPassed: props._remotionInternalNativeLoopPassed ?? false,
4684
4749
  _remotionInternalStack: stack ?? null,
4685
4750
  shouldPreMountAudioTags: audioContext !== null && audioContext.numberOfAudioTags > 0,
@@ -4696,7 +4761,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4696
4761
  style: container,
4697
4762
  id: "remotion-comp-loading",
4698
4763
  children: [
4699
- /* @__PURE__ */ jsx21("style", {
4764
+ /* @__PURE__ */ jsx222("style", {
4700
4765
  type: "text/css",
4701
4766
  children: `
4702
4767
  @keyframes anim {
@@ -4713,12 +4778,12 @@ Check that all your Remotion packages are on the same version. If your dependenc
4713
4778
  }
4714
4779
  `
4715
4780
  }),
4716
- /* @__PURE__ */ jsx21("svg", {
4781
+ /* @__PURE__ */ jsx222("svg", {
4717
4782
  width: ICON_SIZE,
4718
4783
  height: ICON_SIZE,
4719
4784
  viewBox: "-100 -100 400 400",
4720
4785
  style: rotate,
4721
- children: /* @__PURE__ */ jsx21("path", {
4786
+ children: /* @__PURE__ */ jsx222("path", {
4722
4787
  fill: "#555",
4723
4788
  stroke: "#555",
4724
4789
  strokeWidth: "100",
@@ -4763,7 +4828,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4763
4828
  componentName,
4764
4829
  noSuspense
4765
4830
  }) => {
4766
- const lazy = useMemo23(() => {
4831
+ const lazy = useMemo24(() => {
4767
4832
  if ("component" in compProps) {
4768
4833
  if (typeof document === "undefined" || noSuspense) {
4769
4834
  return compProps.component;
@@ -4777,7 +4842,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4777
4842
  if (typeof compProps.lazyComponent === "undefined") {
4778
4843
  throw new Error(`A value of \`undefined\` was passed to the \`lazyComponent\` prop. Check the value you are passing to the <${componentName}/> component.`);
4779
4844
  }
4780
- return React20.lazy(compProps.lazyComponent);
4845
+ return React21.lazy(compProps.lazyComponent);
4781
4846
  }
4782
4847
  throw new Error("You must pass either 'component' or 'lazyComponent'");
4783
4848
  }, [compProps.component, compProps.lazyComponent]);
@@ -4813,7 +4878,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4813
4878
  schema,
4814
4879
  ...compProps
4815
4880
  }) => {
4816
- const compManager = useContext28(CompositionSetters);
4881
+ const compManager = useContext29(CompositionSetters);
4817
4882
  const { registerComposition, unregisterComposition } = compManager;
4818
4883
  const video = useVideo();
4819
4884
  const lazy = useLazyComponent({
@@ -4824,7 +4889,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4824
4889
  const nonce = useNonce();
4825
4890
  const isPlayer = useIsPlayer();
4826
4891
  const environment = useRemotionEnvironment();
4827
- const canUseComposition = useContext28(CanUseRemotionHooks);
4892
+ const canUseComposition = useContext29(CanUseRemotionHooks);
4828
4893
  if (typeof window !== "undefined") {
4829
4894
  window.remotion_seenCompositionIds = Array.from(new Set([...window.remotion_seenCompositionIds ?? [], id]));
4830
4895
  }
@@ -4834,7 +4899,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4834
4899
  }
4835
4900
  throw new Error("<Composition> mounted inside another composition. See https://remotion.dev/docs/wrong-composition-mount for help.");
4836
4901
  }
4837
- const { folderName, parentName } = useContext28(FolderContext);
4902
+ const { folderName, parentName } = useContext29(FolderContext);
4838
4903
  useEffect17(() => {
4839
4904
  if (!id) {
4840
4905
  throw new Error("No id for composition passed.");
@@ -4887,10 +4952,10 @@ Check that all your Remotion packages are on the same version. If your dependenc
4887
4952
  if (resolved === null || resolved.type !== "success" && resolved.type !== "success-and-refreshing") {
4888
4953
  return null;
4889
4954
  }
4890
- return createPortal(/* @__PURE__ */ jsx222(CanUseRemotionHooksProvider, {
4891
- children: /* @__PURE__ */ jsx222(Suspense, {
4892
- fallback: /* @__PURE__ */ jsx222(Loading, {}),
4893
- children: /* @__PURE__ */ jsx222(Comp, {
4955
+ return createPortal(/* @__PURE__ */ jsx23(CanUseRemotionHooksProvider, {
4956
+ children: /* @__PURE__ */ jsx23(Suspense, {
4957
+ fallback: /* @__PURE__ */ jsx23(Loading, {}),
4958
+ children: /* @__PURE__ */ jsx23(Comp, {
4894
4959
  ...resolved.result.props ?? {}
4895
4960
  })
4896
4961
  })
@@ -4901,10 +4966,10 @@ Check that all your Remotion packages are on the same version. If your dependenc
4901
4966
  if (resolved === null || resolved.type !== "success" && resolved.type !== "success-and-refreshing") {
4902
4967
  return null;
4903
4968
  }
4904
- return createPortal(/* @__PURE__ */ jsx222(CanUseRemotionHooksProvider, {
4905
- children: /* @__PURE__ */ jsx222(Suspense, {
4906
- fallback: /* @__PURE__ */ jsx222(Fallback, {}),
4907
- children: /* @__PURE__ */ jsx222(Comp, {
4969
+ return createPortal(/* @__PURE__ */ jsx23(CanUseRemotionHooksProvider, {
4970
+ children: /* @__PURE__ */ jsx23(Suspense, {
4971
+ fallback: /* @__PURE__ */ jsx23(Fallback, {}),
4972
+ children: /* @__PURE__ */ jsx23(Comp, {
4908
4973
  ...resolved.result.props ?? {}
4909
4974
  })
4910
4975
  })
@@ -4912,11 +4977,11 @@ Check that all your Remotion packages are on the same version. If your dependenc
4912
4977
  }
4913
4978
  return null;
4914
4979
  }, Composition = (props2) => {
4915
- const { onlyRenderComposition } = useContext28(CompositionSetters);
4980
+ const { onlyRenderComposition } = useContext29(CompositionSetters);
4916
4981
  if (onlyRenderComposition && onlyRenderComposition !== props2.id) {
4917
4982
  return null;
4918
4983
  }
4919
- return /* @__PURE__ */ jsx222(InnerComposition, {
4984
+ return /* @__PURE__ */ jsx23(InnerComposition, {
4920
4985
  ...props2
4921
4986
  });
4922
4987
  }, kSplineTableSize = 11, kSampleStepSize, ENABLE_V5_BREAKING_CHANGES = false, IFrameRefForwarding = ({
@@ -4927,7 +4992,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4927
4992
  ...props2
4928
4993
  }, ref) => {
4929
4994
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
4930
- const [handle] = useState15(() => delayRender2(`Loading <IFrame> with source ${props2.src}`, {
4995
+ const [handle] = useState16(() => delayRender2(`Loading <IFrame> with source ${props2.src}`, {
4931
4996
  retries: delayRenderRetries ?? undefined,
4932
4997
  timeoutInMilliseconds: delayRenderTimeoutInMilliseconds ?? undefined
4933
4998
  }));
@@ -4943,7 +5008,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4943
5008
  console.error("Error loading iframe:", e, "Handle the event using the onError() prop to make this message disappear.");
4944
5009
  }
4945
5010
  }, [handle, onError, continueRender2]);
4946
- return /* @__PURE__ */ jsx23("iframe", {
5011
+ return /* @__PURE__ */ jsx24("iframe", {
4947
5012
  referrerPolicy: "strict-origin-when-cross-origin",
4948
5013
  ...props2,
4949
5014
  ref,
@@ -4961,10 +5026,10 @@ Check that all your Remotion packages are on the same version. If your dependenc
4961
5026
  crossOrigin,
4962
5027
  ...props2
4963
5028
  }, ref) => {
4964
- const imageRef = useRef13(null);
4965
- const errors = useRef13({});
5029
+ const imageRef = useRef14(null);
5030
+ const errors = useRef14({});
4966
5031
  const { delayPlayback } = useBufferState();
4967
- const sequenceContext = useContext29(SequenceContext);
5032
+ const sequenceContext = useContext30(SequenceContext);
4968
5033
  if (!src) {
4969
5034
  throw new Error('No "src" prop was passed to <Img>.');
4970
5035
  }
@@ -5014,7 +5079,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5014
5079
  if (typeof window !== "undefined") {
5015
5080
  const isPremounting = Boolean(sequenceContext?.premounting);
5016
5081
  const isPostmounting = Boolean(sequenceContext?.postmounting);
5017
- useLayoutEffect7(() => {
5082
+ useLayoutEffect8(() => {
5018
5083
  if (window.process?.env?.NODE_ENV === "test") {
5019
5084
  if (imageRef.current) {
5020
5085
  imageRef.current.src = actualSrc;
@@ -5084,7 +5149,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5084
5149
  crossOrigin,
5085
5150
  requestsVideoFrame: false
5086
5151
  });
5087
- return /* @__PURE__ */ jsx24("img", {
5152
+ return /* @__PURE__ */ jsx25("img", {
5088
5153
  ...props2,
5089
5154
  ref: imageRef,
5090
5155
  crossOrigin: crossOriginValue,
@@ -5093,15 +5158,15 @@ Check that all your Remotion packages are on the same version. If your dependenc
5093
5158
  });
5094
5159
  }, Img, compositionsRef, CompositionManagerProvider = ({
5095
5160
  children,
5096
- numberOfAudioTags,
5097
5161
  onlyRenderComposition,
5098
5162
  currentCompositionMetadata,
5099
- audioLatencyHint
5163
+ initialCompositions,
5164
+ initialCanvasContent
5100
5165
  }) => {
5101
- const [compositions, setCompositions] = useState16([]);
5102
- const currentcompositionsRef = useRef14(compositions);
5103
- const [folders, setFolders] = useState16([]);
5104
- const [canvasContent, setCanvasContent] = useState16(null);
5166
+ const [folders, setFolders] = useState17([]);
5167
+ const [canvasContent, setCanvasContent] = useState17(initialCanvasContent);
5168
+ const [compositions, setCompositions] = useState17(initialCompositions);
5169
+ const currentcompositionsRef = useRef15(compositions);
5105
5170
  const updateCompositions = useCallback14((updateComps) => {
5106
5171
  setCompositions((comps) => {
5107
5172
  const updated = updateComps(comps);
@@ -5144,7 +5209,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
5144
5209
  getCompositions: () => currentcompositionsRef.current
5145
5210
  };
5146
5211
  }, []);
5147
- const composition = compositions.find((c2) => canvasContent?.type === "composition" ? c2.id === canvasContent.compositionId : null);
5148
5212
  const updateCompositionDefaultProps = useCallback14((id, newDefaultProps) => {
5149
5213
  setCompositions((comps) => {
5150
5214
  const updated = comps.map((c2) => {
@@ -5159,15 +5223,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5159
5223
  return updated;
5160
5224
  });
5161
5225
  }, []);
5162
- const contextValue = useMemo24(() => {
5163
- return {
5164
- compositions,
5165
- folders,
5166
- currentCompositionMetadata,
5167
- canvasContent
5168
- };
5169
- }, [compositions, folders, currentCompositionMetadata, canvasContent]);
5170
- const setters = useMemo24(() => {
5226
+ const compositionManagerSetters = useMemo25(() => {
5171
5227
  return {
5172
5228
  registerComposition,
5173
5229
  unregisterComposition,
@@ -5185,22 +5241,19 @@ Check that all your Remotion packages are on the same version. If your dependenc
5185
5241
  updateCompositionDefaultProps,
5186
5242
  onlyRenderComposition
5187
5243
  ]);
5188
- return /* @__PURE__ */ jsx25(CompositionManager.Provider, {
5189
- value: contextValue,
5190
- children: /* @__PURE__ */ jsx25(CompositionSetters.Provider, {
5191
- value: setters,
5192
- children: /* @__PURE__ */ jsx25(SequenceManagerProvider, {
5193
- children: /* @__PURE__ */ jsx25(RenderAssetManagerProvider, {
5194
- children: /* @__PURE__ */ jsx25(ResolveCompositionConfig, {
5195
- children: /* @__PURE__ */ jsx25(SharedAudioContextProvider, {
5196
- numberOfAudioTags,
5197
- component: composition?.component ?? null,
5198
- audioLatencyHint,
5199
- children
5200
- })
5201
- })
5202
- })
5203
- })
5244
+ const compositionManagerContextValue = useMemo25(() => {
5245
+ return {
5246
+ compositions,
5247
+ folders,
5248
+ currentCompositionMetadata,
5249
+ canvasContent
5250
+ };
5251
+ }, [compositions, folders, currentCompositionMetadata, canvasContent]);
5252
+ return /* @__PURE__ */ jsx26(CompositionManager.Provider, {
5253
+ value: compositionManagerContextValue,
5254
+ children: /* @__PURE__ */ jsx26(CompositionSetters.Provider, {
5255
+ value: compositionManagerSetters,
5256
+ children
5204
5257
  })
5205
5258
  });
5206
5259
  }, exports_default_css, injected, injectCSS = (css) => {
@@ -5258,7 +5311,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5258
5311
  listeners = listeners.filter((l) => l !== fn);
5259
5312
  };
5260
5313
  }, MediaEnabledContext, useVideoEnabled = () => {
5261
- const context = useContext30(MediaEnabledContext);
5314
+ const context = useContext31(MediaEnabledContext);
5262
5315
  if (!context) {
5263
5316
  return window.remotion_videoEnabled;
5264
5317
  }
@@ -5267,7 +5320,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5267
5320
  }
5268
5321
  return context.videoEnabled;
5269
5322
  }, useAudioEnabled = () => {
5270
- const context = useContext30(MediaEnabledContext);
5323
+ const context = useContext31(MediaEnabledContext);
5271
5324
  if (!context) {
5272
5325
  return window.remotion_audioEnabled;
5273
5326
  }
@@ -5280,8 +5333,8 @@ Check that all your Remotion packages are on the same version. If your dependenc
5280
5333
  videoEnabled,
5281
5334
  audioEnabled
5282
5335
  }) => {
5283
- const value = useMemo25(() => ({ videoEnabled, audioEnabled }), [videoEnabled, audioEnabled]);
5284
- return /* @__PURE__ */ jsx26(MediaEnabledContext.Provider, {
5336
+ const value = useMemo26(() => ({ videoEnabled, audioEnabled }), [videoEnabled, audioEnabled]);
5337
+ return /* @__PURE__ */ jsx27(MediaEnabledContext.Provider, {
5285
5338
  value,
5286
5339
  children
5287
5340
  });
@@ -5289,65 +5342,14 @@ Check that all your Remotion packages are on the same version. If your dependenc
5289
5342
  children,
5290
5343
  numberOfAudioTags,
5291
5344
  logLevel,
5292
- onlyRenderComposition,
5293
- currentCompositionMetadata,
5294
5345
  audioLatencyHint,
5295
5346
  videoEnabled,
5296
- audioEnabled
5347
+ audioEnabled,
5348
+ frameState
5297
5349
  }) => {
5298
- const [remotionRootId] = useState17(() => String(random(null)));
5299
- const [frame, setFrame] = useState17(() => getInitialFrameState());
5300
- const [playing, setPlaying] = useState17(false);
5301
- const imperativePlaying = useRef15(false);
5302
- const [fastRefreshes, setFastRefreshes] = useState17(0);
5303
- const [manualRefreshes, setManualRefreshes] = useState17(0);
5304
- const [playbackRate, setPlaybackRate] = useState17(1);
5305
- const audioAndVideoTags = useRef15([]);
5306
- const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
5307
- if (typeof window !== "undefined") {
5308
- useLayoutEffect8(() => {
5309
- window.remotion_setFrame = (f, composition, attempt) => {
5310
- window.remotion_attempt = attempt;
5311
- const id = delayRender2(`Setting the current frame to ${f}`);
5312
- let asyncUpdate = true;
5313
- setFrame((s) => {
5314
- const currentFrame = s[composition] ?? window.remotion_initialFrame;
5315
- if (currentFrame === f) {
5316
- asyncUpdate = false;
5317
- return s;
5318
- }
5319
- return {
5320
- ...s,
5321
- [composition]: f
5322
- };
5323
- });
5324
- if (asyncUpdate) {
5325
- requestAnimationFrame(() => continueRender2(id));
5326
- } else {
5327
- continueRender2(id);
5328
- }
5329
- };
5330
- window.remotion_isPlayer = false;
5331
- }, [continueRender2, delayRender2]);
5332
- }
5333
- const timelineContextValue = useMemo26(() => {
5334
- return {
5335
- frame,
5336
- playing,
5337
- imperativePlaying,
5338
- rootId: remotionRootId,
5339
- playbackRate,
5340
- setPlaybackRate,
5341
- audioAndVideoTags
5342
- };
5343
- }, [frame, playbackRate, playing, remotionRootId]);
5344
- const setTimelineContextValue = useMemo26(() => {
5345
- return {
5346
- setFrame,
5347
- setPlaying
5348
- };
5349
- }, []);
5350
- const nonceContext = useMemo26(() => {
5350
+ const [fastRefreshes, setFastRefreshes] = useState18(0);
5351
+ const [manualRefreshes, setManualRefreshes] = useState18(0);
5352
+ const nonceContext = useMemo27(() => {
5351
5353
  let counter = 0;
5352
5354
  return {
5353
5355
  getNonce: () => counter++,
@@ -5355,7 +5357,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5355
5357
  manualRefreshes
5356
5358
  };
5357
5359
  }, [fastRefreshes, manualRefreshes]);
5358
- const setNonceContext = useMemo26(() => {
5360
+ const setNonceContext = useMemo27(() => {
5359
5361
  return {
5360
5362
  increaseManualRefreshes: () => {
5361
5363
  setManualRefreshes((i) => i + 1);
@@ -5373,32 +5375,33 @@ Check that all your Remotion packages are on the same version. If your dependenc
5373
5375
  }
5374
5376
  }
5375
5377
  }, []);
5376
- const logging = useMemo26(() => {
5378
+ const logging = useMemo27(() => {
5377
5379
  return { logLevel, mountTime: Date.now() };
5378
5380
  }, [logLevel]);
5379
- return /* @__PURE__ */ jsx27(LogLevelContext.Provider, {
5381
+ return /* @__PURE__ */ jsx28(LogLevelContext.Provider, {
5380
5382
  value: logging,
5381
- children: /* @__PURE__ */ jsx27(NonceContext.Provider, {
5383
+ children: /* @__PURE__ */ jsx28(NonceContext.Provider, {
5382
5384
  value: nonceContext,
5383
- children: /* @__PURE__ */ jsx27(SetNonceContext.Provider, {
5385
+ children: /* @__PURE__ */ jsx28(SetNonceContext.Provider, {
5384
5386
  value: setNonceContext,
5385
- children: /* @__PURE__ */ jsx27(TimelineContext.Provider, {
5386
- value: timelineContextValue,
5387
- children: /* @__PURE__ */ jsx27(SetTimelineContext.Provider, {
5388
- value: setTimelineContextValue,
5389
- children: /* @__PURE__ */ jsx27(MediaEnabledProvider, {
5390
- videoEnabled,
5391
- audioEnabled,
5392
- children: /* @__PURE__ */ jsx27(EditorPropsProvider, {
5393
- children: /* @__PURE__ */ jsx27(PrefetchProvider, {
5394
- children: /* @__PURE__ */ jsx27(CompositionManagerProvider, {
5395
- numberOfAudioTags,
5396
- onlyRenderComposition,
5397
- currentCompositionMetadata,
5398
- audioLatencyHint,
5399
- children: /* @__PURE__ */ jsx27(DurationsContextProvider, {
5400
- children: /* @__PURE__ */ jsx27(BufferingProvider, {
5401
- children
5387
+ children: /* @__PURE__ */ jsx28(TimelineContextProvider, {
5388
+ frameState,
5389
+ children: /* @__PURE__ */ jsx28(MediaEnabledProvider, {
5390
+ videoEnabled,
5391
+ audioEnabled,
5392
+ children: /* @__PURE__ */ jsx28(EditorPropsProvider, {
5393
+ children: /* @__PURE__ */ jsx28(PrefetchProvider, {
5394
+ children: /* @__PURE__ */ jsx28(SequenceManagerProvider, {
5395
+ children: /* @__PURE__ */ jsx28(RenderAssetManagerProvider, {
5396
+ children: /* @__PURE__ */ jsx28(ResolveCompositionConfig, {
5397
+ children: /* @__PURE__ */ jsx28(SharedAudioContextProvider, {
5398
+ numberOfAudioTags,
5399
+ audioLatencyHint,
5400
+ children: /* @__PURE__ */ jsx28(DurationsContextProvider, {
5401
+ children: /* @__PURE__ */ jsx28(BufferingProvider, {
5402
+ children
5403
+ })
5404
+ })
5402
5405
  })
5403
5406
  })
5404
5407
  })
@@ -5479,13 +5482,13 @@ Check that all your Remotion packages are on the same version. If your dependenc
5479
5482
  const frame = useCurrentFrame();
5480
5483
  const volumePropsFrame = useFrameForVolumeProp(loopVolumeCurveBehavior);
5481
5484
  const videoConfig = useUnsafeVideoConfig();
5482
- const sequenceContext = useContext31(SequenceContext);
5485
+ const sequenceContext = useContext32(SequenceContext);
5483
5486
  const mediaStartsAt = useMediaStartsAt();
5484
- const { registerRenderAsset, unregisterRenderAsset } = useContext31(RenderAssetManager);
5487
+ const { registerRenderAsset, unregisterRenderAsset } = useContext32(RenderAssetManager);
5485
5488
  if (!src) {
5486
5489
  throw new TypeError("No `src` was passed to <OffthreadVideo>.");
5487
5490
  }
5488
- const id = useMemo27(() => `offthreadvideo-${random(src)}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
5491
+ const id = useMemo28(() => `offthreadvideo-${random(src)}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
5489
5492
  src,
5490
5493
  sequenceContext?.cumulatedFrom,
5491
5494
  sequenceContext?.relativeFrom,
@@ -5540,14 +5543,14 @@ Check that all your Remotion packages are on the same version. If your dependenc
5540
5543
  sequenceContext?.relativeFrom,
5541
5544
  audioStreamIndex
5542
5545
  ]);
5543
- const currentTime = useMemo27(() => {
5546
+ const currentTime = useMemo28(() => {
5544
5547
  return getExpectedMediaFrameUncorrected({
5545
5548
  frame,
5546
5549
  playbackRate: playbackRate || 1,
5547
5550
  startFrom: -mediaStartsAt
5548
5551
  }) / videoConfig.fps;
5549
5552
  }, [frame, mediaStartsAt, playbackRate, videoConfig.fps]);
5550
- const actualSrc = useMemo27(() => {
5553
+ const actualSrc = useMemo28(() => {
5551
5554
  return getOffthreadVideoSource({
5552
5555
  src,
5553
5556
  currentTime,
@@ -5555,7 +5558,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5555
5558
  toneMapped
5556
5559
  });
5557
5560
  }, [toneMapped, currentTime, src, transparent]);
5558
- const [imageSrc, setImageSrc] = useState18(null);
5561
+ const [imageSrc, setImageSrc] = useState19(null);
5559
5562
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
5560
5563
  useLayoutEffect9(() => {
5561
5564
  if (!window.remotion_videoEnabled) {
@@ -5635,7 +5638,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5635
5638
  cancelRender("Failed to load image with src " + imageSrc);
5636
5639
  }
5637
5640
  }, [imageSrc, onError]);
5638
- const className = useMemo27(() => {
5641
+ const className = useMemo28(() => {
5639
5642
  return [OBJECTFIT_CONTAIN_CLASS_NAME, props2.className].filter(truthy2).join(" ");
5640
5643
  }, [props2.className]);
5641
5644
  const onImageFrame = useCallback15((img) => {
@@ -5647,7 +5650,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5647
5650
  return null;
5648
5651
  }
5649
5652
  continueRender2(imageSrc.handle);
5650
- return /* @__PURE__ */ jsx28(Img, {
5653
+ return /* @__PURE__ */ jsx29(Img, {
5651
5654
  src: imageSrc.src,
5652
5655
  delayRenderRetries,
5653
5656
  delayRenderTimeoutInMilliseconds,
@@ -5682,12 +5685,12 @@ Check that all your Remotion packages are on the same version. If your dependenc
5682
5685
  };
5683
5686
  }, [onVideoFrame, ref]);
5684
5687
  }, VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
5685
- const context = useContext32(SharedAudioContext);
5688
+ const context = useContext33(SharedAudioContext);
5686
5689
  if (!context) {
5687
5690
  throw new Error("SharedAudioContext not found");
5688
5691
  }
5689
5692
  const videoRef = useRef16(null);
5690
- const sharedSource = useMemo28(() => {
5693
+ const sharedSource = useMemo29(() => {
5691
5694
  if (!context.audioContext) {
5692
5695
  return null;
5693
5696
  }
@@ -5730,11 +5733,11 @@ Check that all your Remotion packages are on the same version. If your dependenc
5730
5733
  }
5731
5734
  const volumePropFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
5732
5735
  const { fps, durationInFrames } = useVideoConfig();
5733
- const parentSequence = useContext32(SequenceContext);
5734
- const { hidden } = useContext32(SequenceVisibilityToggleContext);
5736
+ const parentSequence = useContext33(SequenceContext);
5737
+ const { hidden } = useContext33(SequenceVisibilityToggleContext);
5735
5738
  const logLevel = useLogLevel();
5736
5739
  const mountTime = useMountTime();
5737
- const [timelineId] = useState19(() => String(Math.random()));
5740
+ const [timelineId] = useState20(() => String(Math.random()));
5738
5741
  const isSequenceHidden = hidden[timelineId] ?? false;
5739
5742
  if (typeof acceptableTimeShift !== "undefined") {
5740
5743
  throw new Error("acceptableTimeShift has been removed. Use acceptableTimeShiftInSeconds instead.");
@@ -5800,7 +5803,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5800
5803
  useImperativeHandle9(ref, () => {
5801
5804
  return videoRef.current;
5802
5805
  }, []);
5803
- useState19(() => playbackLogging({
5806
+ useState20(() => playbackLogging({
5804
5807
  logLevel,
5805
5808
  message: `Mounting video with source = ${actualSrc}, v=${VERSION}, user agent=${typeof navigator === "undefined" ? "server" : navigator.userAgent}`,
5806
5809
  tag: "video",
@@ -5865,7 +5868,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5865
5868
  current.preload = "auto";
5866
5869
  }
5867
5870
  }, []);
5868
- const actualStyle = useMemo28(() => {
5871
+ const actualStyle = useMemo29(() => {
5869
5872
  return {
5870
5873
  ...style,
5871
5874
  opacity: isSequenceHidden ? 0 : style?.opacity ?? 1
@@ -5875,7 +5878,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5875
5878
  crossOrigin,
5876
5879
  requestsVideoFrame: Boolean(onVideoFrame)
5877
5880
  });
5878
- return /* @__PURE__ */ jsx29("video", {
5881
+ return /* @__PURE__ */ jsx30("video", {
5879
5882
  ref: videoRef,
5880
5883
  muted: muted || mediaMuted || isSequenceHidden || userPreferredVolume <= 0,
5881
5884
  playsInline: true,
@@ -5913,13 +5916,13 @@ Check that all your Remotion packages are on the same version. If your dependenc
5913
5916
  trimAfter
5914
5917
  });
5915
5918
  if (typeof trimBeforeValue !== "undefined" || typeof trimAfterValue !== "undefined") {
5916
- return /* @__PURE__ */ jsx30(Sequence, {
5919
+ return /* @__PURE__ */ jsx31(Sequence, {
5917
5920
  layout: "none",
5918
5921
  from: 0 - (trimBeforeValue ?? 0),
5919
5922
  showInTimeline: false,
5920
5923
  durationInFrames: trimAfterValue,
5921
5924
  name,
5922
- children: /* @__PURE__ */ jsx30(InnerOffthreadVideo, {
5925
+ children: /* @__PURE__ */ jsx31(InnerOffthreadVideo, {
5923
5926
  pauseWhenBuffering: pauseWhenBuffering ?? false,
5924
5927
  ...otherProps,
5925
5928
  trimAfter: undefined,
@@ -5934,7 +5937,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5934
5937
  }
5935
5938
  validateMediaProps(props2, "Video");
5936
5939
  if (environment.isRendering) {
5937
- return /* @__PURE__ */ jsx30(OffthreadVideoForRendering, {
5940
+ return /* @__PURE__ */ jsx31(OffthreadVideoForRendering, {
5938
5941
  pauseWhenBuffering: pauseWhenBuffering ?? false,
5939
5942
  ...otherProps,
5940
5943
  trimAfter: undefined,
@@ -5956,7 +5959,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5956
5959
  delayRenderTimeoutInMilliseconds,
5957
5960
  ...propsForPreview
5958
5961
  } = otherProps;
5959
- return /* @__PURE__ */ jsx30(VideoForPreview, {
5962
+ return /* @__PURE__ */ jsx31(VideoForPreview, {
5960
5963
  _remotionInternalStack: stack ?? null,
5961
5964
  onDuration,
5962
5965
  onlyWarnForMediaSeekingError: true,
@@ -6004,7 +6007,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
6004
6007
  if (imageFormat) {
6005
6008
  throw new TypeError(`The \`<OffthreadVideo>\` tag does no longer accept \`imageFormat\`. Use the \`transparent\` prop if you want to render a transparent video.`);
6006
6009
  }
6007
- return /* @__PURE__ */ jsx30(InnerOffthreadVideo, {
6010
+ return /* @__PURE__ */ jsx31(InnerOffthreadVideo, {
6008
6011
  acceptableTimeShiftInSeconds,
6009
6012
  allowAmplificationDuringRender: allowAmplificationDuringRender ?? true,
6010
6013
  audioStreamIndex: audioStreamIndex ?? 0,
@@ -6038,29 +6041,29 @@ Check that all your Remotion packages are on the same version. If your dependenc
6038
6041
  });
6039
6042
  }, WATCH_REMOTION_STATIC_FILES = "remotion_staticFilesChanged", RemotionContextProvider = (props2) => {
6040
6043
  const { children, contexts } = props2;
6041
- return /* @__PURE__ */ jsx31(LogLevelContext.Provider, {
6044
+ return /* @__PURE__ */ jsx322(LogLevelContext.Provider, {
6042
6045
  value: contexts.logLevelContext,
6043
- children: /* @__PURE__ */ jsx31(CanUseRemotionHooks.Provider, {
6046
+ children: /* @__PURE__ */ jsx322(CanUseRemotionHooks.Provider, {
6044
6047
  value: contexts.canUseRemotionHooksContext,
6045
- children: /* @__PURE__ */ jsx31(NonceContext.Provider, {
6048
+ children: /* @__PURE__ */ jsx322(NonceContext.Provider, {
6046
6049
  value: contexts.nonceContext,
6047
- children: /* @__PURE__ */ jsx31(PreloadContext.Provider, {
6050
+ children: /* @__PURE__ */ jsx322(PreloadContext.Provider, {
6048
6051
  value: contexts.preloadContext,
6049
- children: /* @__PURE__ */ jsx31(CompositionManager.Provider, {
6052
+ children: /* @__PURE__ */ jsx322(CompositionManager.Provider, {
6050
6053
  value: contexts.compositionManagerCtx,
6051
- children: /* @__PURE__ */ jsx31(SequenceManager.Provider, {
6054
+ children: /* @__PURE__ */ jsx322(SequenceManager.Provider, {
6052
6055
  value: contexts.sequenceManagerContext,
6053
- children: /* @__PURE__ */ jsx31(RenderAssetManager.Provider, {
6056
+ children: /* @__PURE__ */ jsx322(RenderAssetManager.Provider, {
6054
6057
  value: contexts.renderAssetManagerContext,
6055
- children: /* @__PURE__ */ jsx31(ResolveCompositionContext.Provider, {
6058
+ children: /* @__PURE__ */ jsx322(ResolveCompositionContext.Provider, {
6056
6059
  value: contexts.resolveCompositionContext,
6057
- children: /* @__PURE__ */ jsx31(TimelineContext.Provider, {
6060
+ children: /* @__PURE__ */ jsx322(TimelineContext.Provider, {
6058
6061
  value: contexts.timelineContext,
6059
- children: /* @__PURE__ */ jsx31(SetTimelineContext.Provider, {
6062
+ children: /* @__PURE__ */ jsx322(SetTimelineContext.Provider, {
6060
6063
  value: contexts.setTimelineContext,
6061
- children: /* @__PURE__ */ jsx31(SequenceContext.Provider, {
6064
+ children: /* @__PURE__ */ jsx322(SequenceContext.Provider, {
6062
6065
  value: contexts.sequenceContext,
6063
- children: /* @__PURE__ */ jsx31(BufferingContextReact.Provider, {
6066
+ children: /* @__PURE__ */ jsx322(BufferingContextReact.Provider, {
6064
6067
  value: contexts.bufferManagerContext,
6065
6068
  children
6066
6069
  })
@@ -6099,36 +6102,36 @@ Check that all your Remotion packages are on the same version. If your dependenc
6099
6102
  throw new RangeError(`Cannot use frame ${frame}: Duration of composition is ${durationInFrames}, therefore the highest frame that can be rendered is ${durationInFrames - 1}`);
6100
6103
  }
6101
6104
  }, flattenChildren = (children) => {
6102
- const childrenArray = React31.Children.toArray(children);
6105
+ const childrenArray = React32.Children.toArray(children);
6103
6106
  return childrenArray.reduce((flatChildren, child) => {
6104
- if (child.type === React31.Fragment) {
6107
+ if (child.type === React32.Fragment) {
6105
6108
  return flatChildren.concat(flattenChildren(child.props.children));
6106
6109
  }
6107
6110
  flatChildren.push(child);
6108
6111
  return flatChildren;
6109
6112
  }, []);
6110
6113
  }, IsInsideSeriesContext, IsInsideSeriesContainer = ({ children }) => {
6111
- return /* @__PURE__ */ jsx322(IsInsideSeriesContext.Provider, {
6114
+ return /* @__PURE__ */ jsx33(IsInsideSeriesContext.Provider, {
6112
6115
  value: true,
6113
6116
  children
6114
6117
  });
6115
6118
  }, IsNotInsideSeriesProvider = ({ children }) => {
6116
- return /* @__PURE__ */ jsx322(IsInsideSeriesContext.Provider, {
6119
+ return /* @__PURE__ */ jsx33(IsInsideSeriesContext.Provider, {
6117
6120
  value: false,
6118
6121
  children
6119
6122
  });
6120
6123
  }, useRequireToBeInsideSeries = () => {
6121
- const isInsideSeries = React32.useContext(IsInsideSeriesContext);
6124
+ const isInsideSeries = React33.useContext(IsInsideSeriesContext);
6122
6125
  if (!isInsideSeries) {
6123
6126
  throw new Error("This component must be inside a <Series /> component.");
6124
6127
  }
6125
6128
  }, SeriesSequenceRefForwardingFunction = ({ children }, _ref) => {
6126
6129
  useRequireToBeInsideSeries();
6127
- return /* @__PURE__ */ jsx33(IsNotInsideSeriesProvider, {
6130
+ return /* @__PURE__ */ jsx34(IsNotInsideSeriesProvider, {
6128
6131
  children
6129
6132
  });
6130
6133
  }, SeriesSequence, Series = (props2) => {
6131
- const childrenValue = useMemo30(() => {
6134
+ const childrenValue = useMemo31(() => {
6132
6135
  let startFrame = 0;
6133
6136
  const flattenedChildren = flattenChildren(props2.children);
6134
6137
  return Children.map(flattenedChildren, (child, i) => {
@@ -6172,7 +6175,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
6172
6175
  }
6173
6176
  const currentStartFrame = startFrame + offset;
6174
6177
  startFrame += durationInFramesProp + offset;
6175
- return /* @__PURE__ */ jsx33(Sequence, {
6178
+ return /* @__PURE__ */ jsx34(Sequence, {
6176
6179
  name: name || "<Series.Sequence>",
6177
6180
  from: currentStartFrame,
6178
6181
  durationInFrames: durationInFramesProp,
@@ -6183,14 +6186,14 @@ Check that all your Remotion packages are on the same version. If your dependenc
6183
6186
  });
6184
6187
  }, [props2.children]);
6185
6188
  if (ENABLE_V5_BREAKING_CHANGES) {
6186
- return /* @__PURE__ */ jsx33(IsInsideSeriesContainer, {
6187
- children: /* @__PURE__ */ jsx33(Sequence, {
6189
+ return /* @__PURE__ */ jsx34(IsInsideSeriesContainer, {
6190
+ children: /* @__PURE__ */ jsx34(Sequence, {
6188
6191
  ...props2,
6189
6192
  children: childrenValue
6190
6193
  })
6191
6194
  });
6192
6195
  }
6193
- return /* @__PURE__ */ jsx33(IsInsideSeriesContainer, {
6196
+ return /* @__PURE__ */ jsx34(IsInsideSeriesContainer, {
6194
6197
  children: childrenValue
6195
6198
  });
6196
6199
  }, validateSpringDuration = (dur) => {
@@ -6410,14 +6413,14 @@ Check that all your Remotion packages are on the same version. If your dependenc
6410
6413
  const volumePropsFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
6411
6414
  const videoConfig = useUnsafeVideoConfig();
6412
6415
  const videoRef = useRef17(null);
6413
- const sequenceContext = useContext33(SequenceContext);
6416
+ const sequenceContext = useContext34(SequenceContext);
6414
6417
  const mediaStartsAt = useMediaStartsAt();
6415
6418
  const environment = useRemotionEnvironment();
6416
6419
  const logLevel = useLogLevel();
6417
6420
  const mountTime = useMountTime();
6418
6421
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
6419
- const { registerRenderAsset, unregisterRenderAsset } = useContext33(RenderAssetManager);
6420
- const id = useMemo31(() => `video-${random(props2.src ?? "")}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
6422
+ const { registerRenderAsset, unregisterRenderAsset } = useContext34(RenderAssetManager);
6423
+ const id = useMemo32(() => `video-${random(props2.src ?? "")}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
6421
6424
  props2.src,
6422
6425
  sequenceContext?.cumulatedFrom,
6423
6426
  sequenceContext?.relativeFrom,
@@ -6593,7 +6596,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
6593
6596
  delayRender2
6594
6597
  ]);
6595
6598
  }
6596
- return /* @__PURE__ */ jsx34("video", {
6599
+ return /* @__PURE__ */ jsx35("video", {
6597
6600
  ref: videoRef,
6598
6601
  disableRemotePlayback: true,
6599
6602
  ...props2
@@ -6615,7 +6618,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
6615
6618
  const { loop, ...propsOtherThanLoop } = props2;
6616
6619
  const { fps } = useVideoConfig();
6617
6620
  const environment = useRemotionEnvironment();
6618
- const { durations, setDurations } = useContext34(DurationsContext);
6621
+ const { durations, setDurations } = useContext35(DurationsContext);
6619
6622
  if (typeof ref === "string") {
6620
6623
  throw new Error("string refs are not supported");
6621
6624
  }
@@ -6637,14 +6640,14 @@ Check that all your Remotion packages are on the same version. If your dependenc
6637
6640
  });
6638
6641
  if (loop && durationFetched !== undefined) {
6639
6642
  if (!Number.isFinite(durationFetched)) {
6640
- return /* @__PURE__ */ jsx35(Html5Video, {
6643
+ return /* @__PURE__ */ jsx36(Html5Video, {
6641
6644
  ...propsOtherThanLoop,
6642
6645
  ref,
6643
6646
  _remotionInternalNativeLoopPassed: true
6644
6647
  });
6645
6648
  }
6646
6649
  const mediaDuration = durationFetched * fps;
6647
- return /* @__PURE__ */ jsx35(Loop, {
6650
+ return /* @__PURE__ */ jsx36(Loop, {
6648
6651
  durationInFrames: calculateMediaDuration({
6649
6652
  trimAfter: trimAfterValue,
6650
6653
  mediaDurationInFrames: mediaDuration,
@@ -6653,7 +6656,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
6653
6656
  }),
6654
6657
  layout: "none",
6655
6658
  name,
6656
- children: /* @__PURE__ */ jsx35(Html5Video, {
6659
+ children: /* @__PURE__ */ jsx36(Html5Video, {
6657
6660
  ...propsOtherThanLoop,
6658
6661
  ref,
6659
6662
  _remotionInternalNativeLoopPassed: true
@@ -6661,13 +6664,13 @@ Check that all your Remotion packages are on the same version. If your dependenc
6661
6664
  });
6662
6665
  }
6663
6666
  if (typeof trimBeforeValue !== "undefined" || typeof trimAfterValue !== "undefined") {
6664
- return /* @__PURE__ */ jsx35(Sequence, {
6667
+ return /* @__PURE__ */ jsx36(Sequence, {
6665
6668
  layout: "none",
6666
6669
  from: 0 - (trimBeforeValue ?? 0),
6667
6670
  showInTimeline: false,
6668
6671
  durationInFrames: trimAfterValue,
6669
6672
  name,
6670
- children: /* @__PURE__ */ jsx35(Html5Video, {
6673
+ children: /* @__PURE__ */ jsx36(Html5Video, {
6671
6674
  pauseWhenBuffering: pauseWhenBuffering ?? false,
6672
6675
  ...otherProps,
6673
6676
  ref
@@ -6676,14 +6679,14 @@ Check that all your Remotion packages are on the same version. If your dependenc
6676
6679
  }
6677
6680
  validateMediaProps({ playbackRate: props2.playbackRate, volume: props2.volume }, "Html5Video");
6678
6681
  if (environment.isRendering) {
6679
- return /* @__PURE__ */ jsx35(VideoForRendering, {
6682
+ return /* @__PURE__ */ jsx36(VideoForRendering, {
6680
6683
  onDuration,
6681
6684
  onVideoFrame: onVideoFrame ?? null,
6682
6685
  ...otherProps,
6683
6686
  ref
6684
6687
  });
6685
6688
  }
6686
- return /* @__PURE__ */ jsx35(VideoForPreview, {
6689
+ return /* @__PURE__ */ jsx36(VideoForPreview, {
6687
6690
  onlyWarnForMediaSeekingError: false,
6688
6691
  ...otherProps,
6689
6692
  ref,
@@ -6734,14 +6737,6 @@ var init_esm = __esm(() => {
6734
6737
  throw new Error("SequenceVisibilityToggle not initialized");
6735
6738
  }
6736
6739
  });
6737
- NonceContext = createContext4({
6738
- getNonce: () => 0,
6739
- fastRefreshes: 0,
6740
- manualRefreshes: 0
6741
- });
6742
- SetNonceContext = createContext4({
6743
- increaseManualRefreshes: () => {}
6744
- });
6745
6740
  exports_timeline_position_state = {};
6746
6741
  __export2(exports_timeline_position_state, {
6747
6742
  useTimelineSetFrame: () => useTimelineSetFrame,
@@ -6749,18 +6744,16 @@ var init_esm = __esm(() => {
6749
6744
  usePlayingState: () => usePlayingState,
6750
6745
  persistCurrentFrame: () => persistCurrentFrame,
6751
6746
  getInitialFrameState: () => getInitialFrameState,
6752
- getFrameForComposition: () => getFrameForComposition,
6753
- TimelineContext: () => TimelineContext,
6754
- SetTimelineContext: () => SetTimelineContext
6747
+ getFrameForComposition: () => getFrameForComposition
6755
6748
  });
6756
6749
  RemotionEnvironmentContext = React4.createContext(null);
6757
- CompositionManager = createContext5({
6750
+ CompositionManager = createContext4({
6758
6751
  compositions: [],
6759
6752
  folders: [],
6760
6753
  currentCompositionMetadata: null,
6761
6754
  canvasContent: null
6762
6755
  });
6763
- CompositionSetters = createContext5({
6756
+ CompositionSetters = createContext4({
6764
6757
  registerComposition: () => {
6765
6758
  return;
6766
6759
  },
@@ -6781,7 +6774,7 @@ var init_esm = __esm(() => {
6781
6774
  },
6782
6775
  onlyRenderComposition: null
6783
6776
  });
6784
- EditorPropsContext = createContext6({
6777
+ EditorPropsContext = createContext5({
6785
6778
  props: {},
6786
6779
  updateProps: () => {
6787
6780
  throw new Error("Not implemented");
@@ -6792,6 +6785,14 @@ var init_esm = __esm(() => {
6792
6785
  });
6793
6786
  editorPropsProviderRef = React5.createRef();
6794
6787
  timeValueRef = React5.createRef();
6788
+ NonceContext = createContext6({
6789
+ getNonce: () => 0,
6790
+ fastRefreshes: 0,
6791
+ manualRefreshes: 0
6792
+ });
6793
+ SetNonceContext = createContext6({
6794
+ increaseManualRefreshes: () => {}
6795
+ });
6795
6796
  validCodecs = [
6796
6797
  "h264",
6797
6798
  "h265",
@@ -6807,31 +6808,6 @@ var init_esm = __esm(() => {
6807
6808
  ];
6808
6809
  ResolveCompositionContext = createContext7(null);
6809
6810
  resolveCompositionsRef = createRef();
6810
- TimelineContext = createContext8({
6811
- frame: {},
6812
- playing: false,
6813
- playbackRate: 1,
6814
- rootId: "",
6815
- imperativePlaying: {
6816
- current: false
6817
- },
6818
- setPlaybackRate: () => {
6819
- throw new Error("default");
6820
- },
6821
- audioAndVideoTags: { current: [] }
6822
- });
6823
- SetTimelineContext = createContext8({
6824
- setFrame: () => {
6825
- throw new Error("default");
6826
- },
6827
- setPlaying: () => {
6828
- throw new Error("default");
6829
- }
6830
- });
6831
- CanUseRemotionHooks = createContext9(false);
6832
- RegularSequence = forwardRef2(RegularSequenceRefForwardingFunction);
6833
- PremountedPostmountedSequence = forwardRef2(PremountedPostmountedSequenceRefForwardingFunction);
6834
- Sequence = forwardRef2(SequenceRefForwardingFunction);
6835
6811
  logLevels = ["trace", "verbose", "info", "warn", "error"];
6836
6812
  Log = {
6837
6813
  trace,
@@ -6847,7 +6823,33 @@ var init_esm = __esm(() => {
6847
6823
  window.remotion_delayRenderTimeouts = {};
6848
6824
  }
6849
6825
  }
6850
- Canvas = React9.forwardRef(CanvasRefForwardingFunction);
6826
+ DelayRenderContextType = createContext8(null);
6827
+ SetTimelineContext = createContext9({
6828
+ setFrame: () => {
6829
+ throw new Error("default");
6830
+ },
6831
+ setPlaying: () => {
6832
+ throw new Error("default");
6833
+ }
6834
+ });
6835
+ TimelineContext = createContext9({
6836
+ frame: {},
6837
+ playing: false,
6838
+ playbackRate: 1,
6839
+ rootId: "",
6840
+ imperativePlaying: {
6841
+ current: false
6842
+ },
6843
+ setPlaybackRate: () => {
6844
+ throw new Error("default");
6845
+ },
6846
+ audioAndVideoTags: { current: [] }
6847
+ });
6848
+ CanUseRemotionHooks = createContext10(false);
6849
+ RegularSequence = forwardRef2(RegularSequenceRefForwardingFunction);
6850
+ PremountedPostmountedSequence = forwardRef2(PremountedPostmountedSequenceRefForwardingFunction);
6851
+ Sequence = forwardRef2(SequenceRefForwardingFunction);
6852
+ Canvas = React10.forwardRef(CanvasRefForwardingFunction);
6851
6853
  AnimatedImage = forwardRef3(({
6852
6854
  src,
6853
6855
  width,
@@ -6858,7 +6860,7 @@ var init_esm = __esm(() => {
6858
6860
  fit = "fill",
6859
6861
  ...props
6860
6862
  }, canvasRef) => {
6861
- const mountState = useRef3({ isMounted: true });
6863
+ const mountState = useRef4({ isMounted: true });
6862
6864
  useEffect4(() => {
6863
6865
  const { current } = mountState;
6864
6866
  current.isMounted = true;
@@ -6867,15 +6869,15 @@ var init_esm = __esm(() => {
6867
6869
  };
6868
6870
  }, []);
6869
6871
  const resolvedSrc = resolveAnimatedImageSource(src);
6870
- const [imageDecoder, setImageDecoder] = useState6(null);
6872
+ const [imageDecoder, setImageDecoder] = useState7(null);
6871
6873
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
6872
- const [decodeHandle] = useState6(() => delayRender2(`Rendering <AnimatedImage/> with src="${resolvedSrc}"`));
6874
+ const [decodeHandle] = useState7(() => delayRender2(`Rendering <AnimatedImage/> with src="${resolvedSrc}"`));
6873
6875
  const frame = useCurrentFrame();
6874
6876
  const { fps } = useVideoConfig();
6875
6877
  const currentTime = frame / playbackRate / fps;
6876
- const currentTimeRef = useRef3(currentTime);
6878
+ const currentTimeRef = useRef4(currentTime);
6877
6879
  currentTimeRef.current = currentTime;
6878
- const ref = useRef3(null);
6880
+ const ref = useRef4(null);
6879
6881
  useImperativeHandle4(canvasRef, () => {
6880
6882
  const c = ref.current?.getCanvas();
6881
6883
  if (!c) {
@@ -6883,7 +6885,7 @@ var init_esm = __esm(() => {
6883
6885
  }
6884
6886
  return c;
6885
6887
  }, []);
6886
- const [initialLoopBehavior] = useState6(() => loopBehavior);
6888
+ const [initialLoopBehavior] = useState7(() => loopBehavior);
6887
6889
  useEffect4(() => {
6888
6890
  const controller = new AbortController;
6889
6891
  decodeImage({
@@ -6916,7 +6918,7 @@ var init_esm = __esm(() => {
6916
6918
  initialLoopBehavior,
6917
6919
  continueRender2
6918
6920
  ]);
6919
- useLayoutEffect(() => {
6921
+ useLayoutEffect2(() => {
6920
6922
  if (!imageDecoder) {
6921
6923
  return;
6922
6924
  }
@@ -6947,7 +6949,7 @@ var init_esm = __esm(() => {
6947
6949
  continueRender2,
6948
6950
  delayRender2
6949
6951
  ]);
6950
- return /* @__PURE__ */ jsx102(Canvas, {
6952
+ return /* @__PURE__ */ jsx11(Canvas, {
6951
6953
  ref,
6952
6954
  width,
6953
6955
  height,
@@ -6955,7 +6957,7 @@ var init_esm = __esm(() => {
6955
6957
  ...props
6956
6958
  });
6957
6959
  });
6958
- RenderAssetManager = createContext10({
6960
+ RenderAssetManager = createContext11({
6959
6961
  registerRenderAsset: () => {
6960
6962
  return;
6961
6963
  },
@@ -6966,30 +6968,30 @@ var init_esm = __esm(() => {
6966
6968
  });
6967
6969
  ArtifactThumbnail = Symbol("Thumbnail");
6968
6970
  Artifact.Thumbnail = ArtifactThumbnail;
6969
- LoopContext = createContext11(null);
6971
+ LoopContext = createContext12(null);
6970
6972
  Loop.useLoop = useLoop;
6971
- PreloadContext = createContext12({});
6973
+ PreloadContext = createContext13({});
6972
6974
  preloads = {};
6973
6975
  updaters = [];
6974
- DurationsContext = createContext13({
6976
+ DurationsContext = createContext14({
6975
6977
  durations: {},
6976
6978
  setDurations: () => {
6977
6979
  throw new Error("context missing");
6978
6980
  }
6979
6981
  });
6980
- LogLevelContext = createContext14({
6982
+ LogLevelContext = createContext15({
6981
6983
  logLevel: "info",
6982
6984
  mountTime: 0
6983
6985
  });
6984
- SharedAudioContext = createContext15(null);
6986
+ SharedAudioContext = createContext16(null);
6985
6987
  didWarn = {};
6986
- BufferingContextReact = React15.createContext(null);
6988
+ BufferingContextReact = React16.createContext(null);
6987
6989
  alreadyWarned = {};
6988
- MediaVolumeContext = createContext16({
6990
+ MediaVolumeContext = createContext17({
6989
6991
  mediaMuted: false,
6990
6992
  mediaVolume: 1
6991
6993
  });
6992
- SetMediaVolumeContext = createContext16({
6994
+ SetMediaVolumeContext = createContext17({
6993
6995
  setMediaMuted: () => {
6994
6996
  throw new Error("default");
6995
6997
  },
@@ -7002,7 +7004,7 @@ var init_esm = __esm(() => {
7002
7004
  Html5Audio = forwardRef6(AudioRefForwardingFunction);
7003
7005
  addSequenceStackTraces(Html5Audio);
7004
7006
  invalidFolderNameErrorMessage = `Folder name must match ${String(getRegex())}`;
7005
- FolderContext = createContext17({
7007
+ FolderContext = createContext18({
7006
7008
  folderName: null,
7007
7009
  parentName: null
7008
7010
  });
@@ -7022,7 +7024,7 @@ var init_esm = __esm(() => {
7022
7024
  kSampleStepSize = 1 / (kSplineTableSize - 1);
7023
7025
  IFrame = forwardRef7(IFrameRefForwarding);
7024
7026
  Img = forwardRef8(ImgRefForwarding);
7025
- compositionsRef = React24.createRef();
7027
+ compositionsRef = React25.createRef();
7026
7028
  exports_default_css = {};
7027
7029
  __export2(exports_default_css, {
7028
7030
  makeDefaultPreviewCSS: () => makeDefaultPreviewCSS,
@@ -7031,9 +7033,9 @@ var init_esm = __esm(() => {
7031
7033
  });
7032
7034
  injected = {};
7033
7035
  listeners = [];
7034
- MediaEnabledContext = createContext18(null);
7035
- CurrentScaleContext = React26.createContext(null);
7036
- PreviewSizeContext = createContext19({
7036
+ MediaEnabledContext = createContext19(null);
7037
+ CurrentScaleContext = React27.createContext(null);
7038
+ PreviewSizeContext = createContext20({
7037
7039
  setSize: () => {
7038
7040
  return;
7039
7041
  },
@@ -7058,6 +7060,7 @@ var init_esm = __esm(() => {
7058
7060
  SequenceManager,
7059
7061
  SequenceVisibilityToggleContext,
7060
7062
  RemotionRoot,
7063
+ CompositionManagerProvider,
7061
7064
  useVideo,
7062
7065
  getRoot,
7063
7066
  useMediaVolumeState,
@@ -7082,6 +7085,7 @@ var init_esm = __esm(() => {
7082
7085
  compositionsRef,
7083
7086
  portalNode,
7084
7087
  waitForRoot,
7088
+ SetTimelineContext,
7085
7089
  CanUseRemotionHooksProvider,
7086
7090
  CanUseRemotionHooks,
7087
7091
  PrefetchProvider,
@@ -7130,10 +7134,13 @@ var init_esm = __esm(() => {
7130
7134
  setInputPropsOverride,
7131
7135
  useVideoEnabled,
7132
7136
  useAudioEnabled,
7133
- useIsPlayerBuffering
7137
+ useIsPlayerBuffering,
7138
+ TimelinePosition: exports_timeline_position_state,
7139
+ DelayRenderContextType,
7140
+ TimelineContext
7134
7141
  };
7135
7142
  PERCENTAGE = NUMBER + "%";
7136
- IsInsideSeriesContext = createContext20(false);
7143
+ IsInsideSeriesContext = createContext21(false);
7137
7144
  SeriesSequence = forwardRef10(SeriesSequenceRefForwardingFunction);
7138
7145
  Series.Sequence = SeriesSequence;
7139
7146
  addSequenceStackTraces(SeriesSequence);
@@ -8535,7 +8542,7 @@ var getDefaultConfig = () => {
8535
8542
  var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
8536
8543
 
8537
8544
  // ../design/dist/esm/index.mjs
8538
- import React6, { useEffect as useEffect23, useMemo as useMemo32, useState as useState20 } from "react";
8545
+ import React6, { useEffect as useEffect23, useMemo as useMemo33, useState as useState21 } from "react";
8539
8546
 
8540
8547
  // ../paths/dist/esm/index.mjs
8541
8548
  var cutLInstruction = ({
@@ -12674,10 +12681,10 @@ var extrudeAndTransformElement = (options) => {
12674
12681
 
12675
12682
  // ../design/dist/esm/index.mjs
12676
12683
  init_esm();
12677
- import { jsx as jsx36, Fragment } from "react/jsx-runtime";
12684
+ import { jsx as jsx37, Fragment } from "react/jsx-runtime";
12678
12685
  import { jsx as jsx210, jsxs as jsxs3 } from "react/jsx-runtime";
12679
- import { jsx as jsx37 } from "react/jsx-runtime";
12680
- import React33 from "react";
12686
+ import { jsx as jsx38 } from "react/jsx-runtime";
12687
+ import React34 from "react";
12681
12688
  import { jsx as jsx43 } from "react/jsx-runtime";
12682
12689
  import { jsx as jsx53 } from "react/jsx-runtime";
12683
12690
  import { jsx as jsx63, jsxs as jsxs23 } from "react/jsx-runtime";
@@ -12694,38 +12701,38 @@ import { jsx as jsx103 } from "react/jsx-runtime";
12694
12701
  import * as React8 from "react";
12695
12702
  import { jsx as jsx112 } from "react/jsx-runtime";
12696
12703
  import * as React12 from "react";
12697
- import * as React92 from "react";
12704
+ import * as React9 from "react";
12698
12705
  import * as ReactDOM from "react-dom";
12699
12706
  import { jsx as jsx122 } from "react/jsx-runtime";
12700
12707
  import * as React102 from "react";
12701
- import * as React11 from "react";
12708
+ import * as React112 from "react";
12702
12709
  import { jsx as jsx132 } from "react/jsx-runtime";
12703
- import * as React132 from "react";
12710
+ import * as React13 from "react";
12704
12711
  import * as React142 from "react";
12705
12712
  import { jsx as jsx142 } from "react/jsx-runtime";
12706
12713
  import * as React162 from "react";
12707
12714
  import * as React152 from "react";
12708
- import * as React202 from "react";
12709
- import * as React17 from "react";
12715
+ import * as React20 from "react";
12716
+ import * as React172 from "react";
12710
12717
  import { useLayoutEffect as useLayoutEffect32, useEffect as useEffect72 } from "react";
12711
12718
  import * as ReactDOM2 from "react-dom";
12712
12719
  import * as React18 from "react";
12713
12720
  import { jsx as jsx152 } from "react/jsx-runtime";
12714
12721
  import * as React19 from "react";
12715
12722
  import { jsx as jsx162 } from "react/jsx-runtime";
12716
- import * as React21 from "react";
12723
+ import * as React212 from "react";
12717
12724
  import ReactDOM3 from "react-dom";
12718
12725
  import { jsx as jsx172 } from "react/jsx-runtime";
12719
12726
  import * as React22 from "react";
12720
12727
  import * as React23 from "react";
12721
- import * as React242 from "react";
12728
+ import * as React24 from "react";
12722
12729
  import { jsx as jsx182 } from "react/jsx-runtime";
12723
12730
  import * as React312 from "react";
12724
- import * as React27 from "react";
12731
+ import * as React272 from "react";
12725
12732
  import { useState as useState112 } from "react";
12726
- import * as React25 from "react";
12727
- import * as React262 from "react";
12728
- import * as React302 from "react";
12733
+ import * as React252 from "react";
12734
+ import * as React26 from "react";
12735
+ import * as React30 from "react";
12729
12736
  import * as React29 from "react";
12730
12737
  import * as React28 from "react";
12731
12738
  import { Fragment as Fragment52, jsx as jsx192, jsxs as jsxs32 } from "react/jsx-runtime";
@@ -12757,7 +12764,7 @@ var useHoverTransforms = (ref, disabled) => {
12757
12764
  progress: 0,
12758
12765
  isActive: false
12759
12766
  });
12760
- const eventTarget = useMemo32(() => new EventTarget, []);
12767
+ const eventTarget = useMemo33(() => new EventTarget, []);
12761
12768
  useEffect23(() => {
12762
12769
  if (disabled) {
12763
12770
  eventTarget.dispatchEvent(new Event("disabled"));
@@ -12904,7 +12911,7 @@ var getAngle = (ref, coordinates) => {
12904
12911
  };
12905
12912
  var lastCoordinates = null;
12906
12913
  var useMousePosition = (ref) => {
12907
- const [angle, setAngle] = useState20(getAngle(ref.current, lastCoordinates));
12914
+ const [angle, setAngle] = useState21(getAngle(ref.current, lastCoordinates));
12908
12915
  useEffect23(() => {
12909
12916
  const element = ref.current;
12910
12917
  if (!element) {
@@ -12926,9 +12933,9 @@ var useMousePosition = (ref) => {
12926
12933
  return angle;
12927
12934
  };
12928
12935
  var Faces = ({ elements, ...svgProps }) => {
12929
- return /* @__PURE__ */ jsx36(Fragment, {
12936
+ return /* @__PURE__ */ jsx37(Fragment, {
12930
12937
  children: elements.map(({ points, color, crispEdges }, idx) => {
12931
- return /* @__PURE__ */ jsx36("path", {
12938
+ return /* @__PURE__ */ jsx37("path", {
12932
12939
  d: threeDIntoSvgPath(points),
12933
12940
  fill: color,
12934
12941
  shapeRendering: crispEdges ? "crispEdges" : undefined,
@@ -13052,18 +13059,18 @@ var Button = ({ children, className, disabled, depth, ...buttonProps }) => {
13052
13059
  };
13053
13060
  });
13054
13061
  }, []);
13055
- const content = /* @__PURE__ */ jsx37("button", {
13062
+ const content = /* @__PURE__ */ jsx38("button", {
13056
13063
  type: "button",
13057
13064
  disabled,
13058
13065
  className: cn("text-text", "flex", "justify-center", "bg-button-bg", "items-center", "font-brand", "border-solid", "text-[1em]", "rounded-lg", "border-black", "border-2", "border-b-4", "cursor-pointer", "px-4", "h-12", "flex", "flex-row", "items-center", "disabled:cursor-default", "disabled:border-gray-500", "disabled:text-gray-500", className),
13059
13066
  ...buttonProps,
13060
13067
  children
13061
13068
  });
13062
- return /* @__PURE__ */ jsx37("div", {
13069
+ return /* @__PURE__ */ jsx38("div", {
13063
13070
  ref,
13064
13071
  className: "contents",
13065
13072
  onPointerEnter,
13066
- children: dimensions && (isActive || progress > 0) ? /* @__PURE__ */ jsx37(Outer, {
13073
+ children: dimensions && (isActive || progress > 0) ? /* @__PURE__ */ jsx38(Outer, {
13067
13074
  parentRef: ref,
13068
13075
  width: dimensions.width,
13069
13076
  height: dimensions.height,
@@ -13074,7 +13081,7 @@ var Button = ({ children, className, disabled, depth, ...buttonProps }) => {
13074
13081
  }) : content
13075
13082
  });
13076
13083
  };
13077
- var Card = React33.forwardRef(({ children, className, ...rest }, ref) => {
13084
+ var Card = React34.forwardRef(({ children, className, ...rest }, ref) => {
13078
13085
  return /* @__PURE__ */ jsx43("div", {
13079
13086
  ref,
13080
13087
  className: cn("rounded-lg border-2 border-black bg-card-bg text-text border-b-4", className),
@@ -13435,7 +13442,7 @@ var NODES = [
13435
13442
  "ul"
13436
13443
  ];
13437
13444
  var Primitive = NODES.reduce((primitive, node) => {
13438
- const Node2 = React92.forwardRef((props, forwardedRef) => {
13445
+ const Node2 = React9.forwardRef((props, forwardedRef) => {
13439
13446
  const { asChild, ...primitiveProps } = props;
13440
13447
  const Comp = asChild ? Slot : node;
13441
13448
  if (typeof window !== "undefined") {
@@ -13459,7 +13466,7 @@ function useCallbackRef(callback) {
13459
13466
  }
13460
13467
  function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {
13461
13468
  const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);
13462
- React11.useEffect(() => {
13469
+ React112.useEffect(() => {
13463
13470
  const handleKeyDown = (event) => {
13464
13471
  if (event.key === "Escape") {
13465
13472
  onEscapeKeyDown(event);
@@ -13666,7 +13673,7 @@ function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
13666
13673
  }
13667
13674
  var count = 0;
13668
13675
  function useFocusGuards() {
13669
- React132.useEffect(() => {
13676
+ React13.useEffect(() => {
13670
13677
  const edgeGuards = document.querySelectorAll("[data-radix-focus-guard]");
13671
13678
  document.body.insertAdjacentElement("afterbegin", edgeGuards[0] ?? createFocusGuard());
13672
13679
  document.body.insertAdjacentElement("beforeend", edgeGuards[1] ?? createFocusGuard());
@@ -15486,7 +15493,7 @@ function roundByDPR(element, value) {
15486
15493
  return Math.round(value * dpr) / dpr;
15487
15494
  }
15488
15495
  function useLatestRef(value) {
15489
- const ref = React17.useRef(value);
15496
+ const ref = React172.useRef(value);
15490
15497
  index(() => {
15491
15498
  ref.current = value;
15492
15499
  });
@@ -15509,7 +15516,7 @@ function useFloating(options) {
15509
15516
  whileElementsMounted,
15510
15517
  open
15511
15518
  } = options;
15512
- const [data, setData] = React17.useState({
15519
+ const [data, setData] = React172.useState({
15513
15520
  x: 0,
15514
15521
  y: 0,
15515
15522
  strategy,
@@ -15517,19 +15524,19 @@ function useFloating(options) {
15517
15524
  middlewareData: {},
15518
15525
  isPositioned: false
15519
15526
  });
15520
- const [latestMiddleware, setLatestMiddleware] = React17.useState(middleware);
15527
+ const [latestMiddleware, setLatestMiddleware] = React172.useState(middleware);
15521
15528
  if (!deepEqual(latestMiddleware, middleware)) {
15522
15529
  setLatestMiddleware(middleware);
15523
15530
  }
15524
- const [_reference, _setReference] = React17.useState(null);
15525
- const [_floating, _setFloating] = React17.useState(null);
15526
- const setReference = React17.useCallback((node) => {
15531
+ const [_reference, _setReference] = React172.useState(null);
15532
+ const [_floating, _setFloating] = React172.useState(null);
15533
+ const setReference = React172.useCallback((node) => {
15527
15534
  if (node !== referenceRef.current) {
15528
15535
  referenceRef.current = node;
15529
15536
  _setReference(node);
15530
15537
  }
15531
15538
  }, []);
15532
- const setFloating = React17.useCallback((node) => {
15539
+ const setFloating = React172.useCallback((node) => {
15533
15540
  if (node !== floatingRef.current) {
15534
15541
  floatingRef.current = node;
15535
15542
  _setFloating(node);
@@ -15537,13 +15544,13 @@ function useFloating(options) {
15537
15544
  }, []);
15538
15545
  const referenceEl = externalReference || _reference;
15539
15546
  const floatingEl = externalFloating || _floating;
15540
- const referenceRef = React17.useRef(null);
15541
- const floatingRef = React17.useRef(null);
15542
- const dataRef = React17.useRef(data);
15547
+ const referenceRef = React172.useRef(null);
15548
+ const floatingRef = React172.useRef(null);
15549
+ const dataRef = React172.useRef(data);
15543
15550
  const hasWhileElementsMounted = whileElementsMounted != null;
15544
15551
  const whileElementsMountedRef = useLatestRef(whileElementsMounted);
15545
15552
  const platformRef = useLatestRef(platform2);
15546
- const update = React17.useCallback(() => {
15553
+ const update = React172.useCallback(() => {
15547
15554
  if (!referenceRef.current || !floatingRef.current) {
15548
15555
  return;
15549
15556
  }
@@ -15577,7 +15584,7 @@ function useFloating(options) {
15577
15584
  }));
15578
15585
  }
15579
15586
  }, [open]);
15580
- const isMountedRef = React17.useRef(false);
15587
+ const isMountedRef = React172.useRef(false);
15581
15588
  index(() => {
15582
15589
  isMountedRef.current = true;
15583
15590
  return () => {
@@ -15596,17 +15603,17 @@ function useFloating(options) {
15596
15603
  update();
15597
15604
  }
15598
15605
  }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);
15599
- const refs = React17.useMemo(() => ({
15606
+ const refs = React172.useMemo(() => ({
15600
15607
  reference: referenceRef,
15601
15608
  floating: floatingRef,
15602
15609
  setReference,
15603
15610
  setFloating
15604
15611
  }), [setReference, setFloating]);
15605
- const elements = React17.useMemo(() => ({
15612
+ const elements = React172.useMemo(() => ({
15606
15613
  reference: referenceEl,
15607
15614
  floating: floatingEl
15608
15615
  }), [referenceEl, floatingEl]);
15609
- const floatingStyles = React17.useMemo(() => {
15616
+ const floatingStyles = React172.useMemo(() => {
15610
15617
  const initialStyles = {
15611
15618
  position: strategy,
15612
15619
  left: 0,
@@ -15632,7 +15639,7 @@ function useFloating(options) {
15632
15639
  top: y
15633
15640
  };
15634
15641
  }, [strategy, transform, elements.floating, data.x, data.y]);
15635
- return React17.useMemo(() => ({
15642
+ return React172.useMemo(() => ({
15636
15643
  ...data,
15637
15644
  update,
15638
15645
  refs,
@@ -15753,17 +15760,17 @@ var [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);
15753
15760
  var [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);
15754
15761
  var Popper = (props) => {
15755
15762
  const { __scopePopper, children } = props;
15756
- const [anchor, setAnchor] = React202.useState(null);
15763
+ const [anchor, setAnchor] = React20.useState(null);
15757
15764
  return /* @__PURE__ */ jsx162(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
15758
15765
  };
15759
15766
  Popper.displayName = POPPER_NAME;
15760
15767
  var ANCHOR_NAME = "PopperAnchor";
15761
- var PopperAnchor = React202.forwardRef((props, forwardedRef) => {
15768
+ var PopperAnchor = React20.forwardRef((props, forwardedRef) => {
15762
15769
  const { __scopePopper, virtualRef, ...anchorProps } = props;
15763
15770
  const context = usePopperContext(ANCHOR_NAME, __scopePopper);
15764
- const ref = React202.useRef(null);
15771
+ const ref = React20.useRef(null);
15765
15772
  const composedRefs = useComposedRefs(forwardedRef, ref);
15766
- React202.useEffect(() => {
15773
+ React20.useEffect(() => {
15767
15774
  context.onAnchorChange(virtualRef?.current || ref.current);
15768
15775
  });
15769
15776
  return virtualRef ? null : /* @__PURE__ */ jsx162(Primitive.div, { ...anchorProps, ref: composedRefs });
@@ -15771,7 +15778,7 @@ var PopperAnchor = React202.forwardRef((props, forwardedRef) => {
15771
15778
  PopperAnchor.displayName = ANCHOR_NAME;
15772
15779
  var CONTENT_NAME = "PopperContent";
15773
15780
  var [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME);
15774
- var PopperContent = React202.forwardRef((props, forwardedRef) => {
15781
+ var PopperContent = React20.forwardRef((props, forwardedRef) => {
15775
15782
  const {
15776
15783
  __scopePopper,
15777
15784
  side = "bottom",
@@ -15789,9 +15796,9 @@ var PopperContent = React202.forwardRef((props, forwardedRef) => {
15789
15796
  ...contentProps
15790
15797
  } = props;
15791
15798
  const context = usePopperContext(CONTENT_NAME, __scopePopper);
15792
- const [content, setContent] = React202.useState(null);
15799
+ const [content, setContent] = React20.useState(null);
15793
15800
  const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));
15794
- const [arrow4, setArrow] = React202.useState(null);
15801
+ const [arrow4, setArrow] = React20.useState(null);
15795
15802
  const arrowSize = useSize(arrow4);
15796
15803
  const arrowWidth = arrowSize?.width ?? 0;
15797
15804
  const arrowHeight = arrowSize?.height ?? 0;
@@ -15851,7 +15858,7 @@ var PopperContent = React202.forwardRef((props, forwardedRef) => {
15851
15858
  const arrowX = middlewareData.arrow?.x;
15852
15859
  const arrowY = middlewareData.arrow?.y;
15853
15860
  const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;
15854
- const [contentZIndex, setContentZIndex] = React202.useState();
15861
+ const [contentZIndex, setContentZIndex] = React20.useState();
15855
15862
  useLayoutEffect22(() => {
15856
15863
  if (content)
15857
15864
  setContentZIndex(window.getComputedStyle(content).zIndex);
@@ -15902,7 +15909,7 @@ var OPPOSITE_SIDE = {
15902
15909
  bottom: "top",
15903
15910
  left: "right"
15904
15911
  };
15905
- var PopperArrow = React202.forwardRef(function PopperArrow2(props, forwardedRef) {
15912
+ var PopperArrow = React20.forwardRef(function PopperArrow2(props, forwardedRef) {
15906
15913
  const { __scopePopper, ...arrowProps } = props;
15907
15914
  const contentContext = useContentContext(ARROW_NAME, __scopePopper);
15908
15915
  const baseSide = OPPOSITE_SIDE[contentContext.placedSide];
@@ -15981,9 +15988,9 @@ var Anchor = PopperAnchor;
15981
15988
  var Content = PopperContent;
15982
15989
  var Arrow2 = PopperArrow;
15983
15990
  var PORTAL_NAME = "Portal";
15984
- var Portal = React21.forwardRef((props, forwardedRef) => {
15991
+ var Portal = React212.forwardRef((props, forwardedRef) => {
15985
15992
  const { container: containerProp, ...portalProps } = props;
15986
- const [mounted, setMounted] = React21.useState(false);
15993
+ const [mounted, setMounted] = React212.useState(false);
15987
15994
  useLayoutEffect22(() => setMounted(true), []);
15988
15995
  const container22 = containerProp || mounted && globalThis?.document?.body;
15989
15996
  return container22 ? ReactDOM3.createPortal(/* @__PURE__ */ jsx172(Primitive.div, { ...portalProps, ref: forwardedRef }), container22) : null;
@@ -16037,7 +16044,7 @@ function usePrevious(value) {
16037
16044
  }, [value]);
16038
16045
  }
16039
16046
  var NAME2 = "VisuallyHidden";
16040
- var VisuallyHidden = React242.forwardRef((props, forwardedRef) => {
16047
+ var VisuallyHidden = React24.forwardRef((props, forwardedRef) => {
16041
16048
  return /* @__PURE__ */ jsx182(Primitive.span, {
16042
16049
  ...props,
16043
16050
  ref: forwardedRef,
@@ -16245,7 +16252,7 @@ function useCallbackRef2(initialValue, callback) {
16245
16252
  ref.callback = callback;
16246
16253
  return ref.facade;
16247
16254
  }
16248
- var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React25.useLayoutEffect : React25.useEffect;
16255
+ var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React252.useLayoutEffect : React252.useEffect;
16249
16256
  var currentValues = new WeakMap;
16250
16257
  function useMergeRefs(refs, defaultValue) {
16251
16258
  var callbackRef = useCallbackRef2(defaultValue || null, function(newValue) {
@@ -16367,7 +16374,7 @@ var SideCar = function(_a) {
16367
16374
  if (!Target) {
16368
16375
  throw new Error("Sidecar medium not found");
16369
16376
  }
16370
- return React262.createElement(Target, __assign({}, rest));
16377
+ return React26.createElement(Target, __assign({}, rest));
16371
16378
  };
16372
16379
  SideCar.isSideCarExport = true;
16373
16380
  function exportSidecar(medium, exported) {
@@ -16378,9 +16385,9 @@ var effectCar = createSidecarMedium();
16378
16385
  var nothing = function() {
16379
16386
  return;
16380
16387
  };
16381
- var RemoveScroll = React27.forwardRef(function(props, parentRef) {
16382
- var ref = React27.useRef(null);
16383
- var _a = React27.useState({
16388
+ var RemoveScroll = React272.forwardRef(function(props, parentRef) {
16389
+ var ref = React272.useRef(null);
16390
+ var _a = React272.useState({
16384
16391
  onScrollCapture: nothing,
16385
16392
  onWheelCapture: nothing,
16386
16393
  onTouchMoveCapture: nothing
@@ -16389,7 +16396,7 @@ var RemoveScroll = React27.forwardRef(function(props, parentRef) {
16389
16396
  var SideCar2 = sideCar;
16390
16397
  var containerRef = useMergeRefs([ref, parentRef]);
16391
16398
  var containerProps = __assign(__assign({}, rest), callbacks);
16392
- return React27.createElement(React27.Fragment, null, enabled && React27.createElement(SideCar2, { sideCar: effectCar, removeScrollBar, shards, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode }), forwardProps ? React27.cloneElement(React27.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : React27.createElement(Container, __assign({}, containerProps, { className, ref: containerRef }), children));
16399
+ return React272.createElement(React272.Fragment, null, enabled && React272.createElement(SideCar2, { sideCar: effectCar, removeScrollBar, shards, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode }), forwardProps ? React272.cloneElement(React272.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : React272.createElement(Container, __assign({}, containerProps, { className, ref: containerRef }), children));
16393
16400
  });
16394
16401
  RemoveScroll.defaultProps = {
16395
16402
  enabled: true,
@@ -16707,16 +16714,16 @@ var generateStyle = function(id) {
16707
16714
  var idCounter = 0;
16708
16715
  var lockStack = [];
16709
16716
  function RemoveScrollSideCar(props) {
16710
- var shouldPreventQueue = React302.useRef([]);
16711
- var touchStartRef = React302.useRef([0, 0]);
16712
- var activeAxis = React302.useRef();
16713
- var id = React302.useState(idCounter++)[0];
16714
- var Style2 = React302.useState(styleSingleton)[0];
16715
- var lastProps = React302.useRef(props);
16716
- React302.useEffect(function() {
16717
+ var shouldPreventQueue = React30.useRef([]);
16718
+ var touchStartRef = React30.useRef([0, 0]);
16719
+ var activeAxis = React30.useRef();
16720
+ var id = React30.useState(idCounter++)[0];
16721
+ var Style2 = React30.useState(styleSingleton)[0];
16722
+ var lastProps = React30.useRef(props);
16723
+ React30.useEffect(function() {
16717
16724
  lastProps.current = props;
16718
16725
  }, [props]);
16719
- React302.useEffect(function() {
16726
+ React30.useEffect(function() {
16720
16727
  if (props.inert) {
16721
16728
  document.body.classList.add("block-interactivity-".concat(id));
16722
16729
  var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);
@@ -16732,7 +16739,7 @@ function RemoveScrollSideCar(props) {
16732
16739
  }
16733
16740
  return;
16734
16741
  }, [props.inert, props.lockRef.current, props.shards]);
16735
- var shouldCancelEvent = React302.useCallback(function(event, parent) {
16742
+ var shouldCancelEvent = React30.useCallback(function(event, parent) {
16736
16743
  if ("touches" in event && event.touches.length === 2) {
16737
16744
  return !lastProps.current.allowPinchZoom;
16738
16745
  }
@@ -16768,7 +16775,7 @@ function RemoveScrollSideCar(props) {
16768
16775
  var cancelingAxis = activeAxis.current || currentAxis;
16769
16776
  return handleScroll(cancelingAxis, parent, event, cancelingAxis === "h" ? deltaX : deltaY, true);
16770
16777
  }, []);
16771
- var shouldPrevent = React302.useCallback(function(_event) {
16778
+ var shouldPrevent = React30.useCallback(function(_event) {
16772
16779
  var event = _event;
16773
16780
  if (!lockStack.length || lockStack[lockStack.length - 1] !== Style2) {
16774
16781
  return;
@@ -16795,7 +16802,7 @@ function RemoveScrollSideCar(props) {
16795
16802
  }
16796
16803
  }
16797
16804
  }, []);
16798
- var shouldCancel = React302.useCallback(function(name, delta, target, should) {
16805
+ var shouldCancel = React30.useCallback(function(name, delta, target, should) {
16799
16806
  var event = { name, delta, target, should, shadowParent: getOutermostShadowParent(target) };
16800
16807
  shouldPreventQueue.current.push(event);
16801
16808
  setTimeout(function() {
@@ -16804,17 +16811,17 @@ function RemoveScrollSideCar(props) {
16804
16811
  });
16805
16812
  }, 1);
16806
16813
  }, []);
16807
- var scrollTouchStart = React302.useCallback(function(event) {
16814
+ var scrollTouchStart = React30.useCallback(function(event) {
16808
16815
  touchStartRef.current = getTouchXY(event);
16809
16816
  activeAxis.current = undefined;
16810
16817
  }, []);
16811
- var scrollWheel = React302.useCallback(function(event) {
16818
+ var scrollWheel = React30.useCallback(function(event) {
16812
16819
  shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));
16813
16820
  }, []);
16814
- var scrollTouchMove = React302.useCallback(function(event) {
16821
+ var scrollTouchMove = React30.useCallback(function(event) {
16815
16822
  shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));
16816
16823
  }, []);
16817
- React302.useEffect(function() {
16824
+ React30.useEffect(function() {
16818
16825
  lockStack.push(Style2);
16819
16826
  props.setCallbacks({
16820
16827
  onScrollCapture: scrollWheel,
@@ -16834,7 +16841,7 @@ function RemoveScrollSideCar(props) {
16834
16841
  };
16835
16842
  }, []);
16836
16843
  var { removeScrollBar, inert } = props;
16837
- return React302.createElement(React302.Fragment, null, inert ? React302.createElement(Style2, { styles: generateStyle(id) }) : null, removeScrollBar ? React302.createElement(RemoveScrollBar, { gapMode: props.gapMode }) : null);
16844
+ return React30.createElement(React30.Fragment, null, inert ? React30.createElement(Style2, { styles: generateStyle(id) }) : null, removeScrollBar ? React30.createElement(RemoveScrollBar, { gapMode: props.gapMode }) : null);
16838
16845
  }
16839
16846
  function getOutermostShadowParent(node) {
16840
16847
  var shadowParent = null;
@@ -18518,13 +18525,13 @@ var CreateVideoInternals = {
18518
18525
  };
18519
18526
 
18520
18527
  // src/components/icons/blank.tsx
18521
- import { jsx as jsx38 } from "react/jsx-runtime";
18528
+ import { jsx as jsx39 } from "react/jsx-runtime";
18522
18529
  var Blank = (props) => {
18523
- return /* @__PURE__ */ jsx38("svg", {
18530
+ return /* @__PURE__ */ jsx39("svg", {
18524
18531
  xmlns: "http://www.w3.org/2000/svg",
18525
18532
  viewBox: "0 0 384 512",
18526
18533
  ...props,
18527
- children: /* @__PURE__ */ jsx38("path", {
18534
+ children: /* @__PURE__ */ jsx39("path", {
18528
18535
  fill: "currentColor",
18529
18536
  d: "M0 64C0 28.65 28.65 0 64 0H220.1C232.8 0 245.1 5.057 254.1 14.06L369.9 129.9C378.9 138.9 384 151.2 384 163.9V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V64zM352 192H240C213.5 192 192 170.5 192 144V32H64C46.33 32 32 46.33 32 64V448C32 465.7 46.33 480 64 480H320C337.7 480 352 465.7 352 448V192zM347.3 152.6L231.4 36.69C229.4 34.62 226.8 33.18 224 32.48V144C224 152.8 231.2 160 240 160H351.5C350.8 157.2 349.4 154.6 347.3 152.6z"
18530
18537
  })
@@ -18532,29 +18539,29 @@ var Blank = (props) => {
18532
18539
  };
18533
18540
 
18534
18541
  // src/components/icons/code-hike.tsx
18535
- import { jsx as jsx39, jsxs as jsxs5 } from "react/jsx-runtime";
18542
+ import { jsx as jsx40, jsxs as jsxs5 } from "react/jsx-runtime";
18536
18543
  var CodeHike = (props) => {
18537
18544
  return /* @__PURE__ */ jsxs5("svg", {
18538
18545
  ...props,
18539
18546
  viewBox: "-100 -100 200 200",
18540
18547
  fill: "currentColor",
18541
18548
  children: [
18542
- /* @__PURE__ */ jsx39("path", {
18549
+ /* @__PURE__ */ jsx40("path", {
18543
18550
  d: "M 70 60 L 42 -27 L 72 -27 L 100 60 Z"
18544
18551
  }),
18545
- /* @__PURE__ */ jsx39("path", {
18552
+ /* @__PURE__ */ jsx40("path", {
18546
18553
  d: "M 20.419540229885058 40.05357142857142 L 42 -27 L 72 -27 L 50.41954022988506 40.05357142857142 Z"
18547
18554
  }),
18548
- /* @__PURE__ */ jsx39("path", {
18555
+ /* @__PURE__ */ jsx40("path", {
18549
18556
  d: "M 20.419540229885058 40.05357142857142 L -15 -70 L 15 -70 L 50.41954022988506 40.05357142857142 Z"
18550
18557
  }),
18551
- /* @__PURE__ */ jsx39("path", {
18558
+ /* @__PURE__ */ jsx40("path", {
18552
18559
  d: "M -50.41954022988506 40.05357142857142 L -15 -70 L 15 -70 L -20.419540229885058 40.05357142857142 Z"
18553
18560
  }),
18554
- /* @__PURE__ */ jsx39("path", {
18561
+ /* @__PURE__ */ jsx40("path", {
18555
18562
  d: "M -50.41954022988506 40.05357142857142 L -72 -27 L -42 -27 L -20.419540229885058 40.05357142857142 Z"
18556
18563
  }),
18557
- /* @__PURE__ */ jsx39("path", {
18564
+ /* @__PURE__ */ jsx40("path", {
18558
18565
  d: "M -100 60 L -72 -27 L -42 -27 L -70 60 Z"
18559
18566
  })
18560
18567
  ]
@@ -18562,13 +18569,13 @@ var CodeHike = (props) => {
18562
18569
  };
18563
18570
 
18564
18571
  // src/components/icons/cubes.tsx
18565
- import { jsx as jsx40 } from "react/jsx-runtime";
18572
+ import { jsx as jsx41 } from "react/jsx-runtime";
18566
18573
  var Cubes = (props) => {
18567
- return /* @__PURE__ */ jsx40("svg", {
18574
+ return /* @__PURE__ */ jsx41("svg", {
18568
18575
  xmlns: "http://www.w3.org/2000/svg",
18569
18576
  viewBox: "0 0 512 512",
18570
18577
  ...props,
18571
- children: /* @__PURE__ */ jsx40("path", {
18578
+ children: /* @__PURE__ */ jsx41("path", {
18572
18579
  fill: "currentColor",
18573
18580
  d: "M239.5 5.018C250.1 1.106 261.9 1.106 272.5 5.018L480.5 81.28C499.4 88.22 512 106.2 512 126.4V385.7C512 405.8 499.4 423.8 480.5 430.7L272.5 506.1C261.9 510.9 250.1 510.9 239.5 506.1L31.48 430.7C12.57 423.8 0 405.8 0 385.7V126.4C0 106.2 12.57 88.22 31.48 81.28L239.5 5.018zM261.5 35.06C257.1 33.76 254 33.76 250.5 35.06L44.14 110.7L256 193.1L467.9 110.7L261.5 35.06zM42.49 400.7L240 473.1V222L32 140.3V385.7C32 392.4 36.19 398.4 42.49 400.7V400.7zM272 473.1L469.5 400.7C475.8 398.4 480 392.4 480 385.7V140.3L272 222V473.1z"
18574
18581
  })
@@ -18576,13 +18583,13 @@ var Cubes = (props) => {
18576
18583
  };
18577
18584
 
18578
18585
  // src/components/icons/js.tsx
18579
- import { jsx as jsx41 } from "react/jsx-runtime";
18586
+ import { jsx as jsx44 } from "react/jsx-runtime";
18580
18587
  var JSIcon = (props) => {
18581
- return /* @__PURE__ */ jsx41("svg", {
18588
+ return /* @__PURE__ */ jsx44("svg", {
18582
18589
  className: "svg-inline--fa fa-js-square fa-w-14",
18583
18590
  viewBox: "0 0 448 512",
18584
18591
  ...props,
18585
- children: /* @__PURE__ */ jsx41("path", {
18592
+ children: /* @__PURE__ */ jsx44("path", {
18586
18593
  fill: "currentColor",
18587
18594
  d: "M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM243.8 381.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z"
18588
18595
  })
@@ -18590,13 +18597,13 @@ var JSIcon = (props) => {
18590
18597
  };
18591
18598
 
18592
18599
  // src/components/icons/music.tsx
18593
- import { jsx as jsx44 } from "react/jsx-runtime";
18600
+ import { jsx as jsx46 } from "react/jsx-runtime";
18594
18601
  var MusicIcon = (props) => {
18595
- return /* @__PURE__ */ jsx44("svg", {
18602
+ return /* @__PURE__ */ jsx46("svg", {
18596
18603
  ...props,
18597
18604
  xmlns: "http://www.w3.org/2000/svg",
18598
18605
  viewBox: "0 0 512 512",
18599
- children: /* @__PURE__ */ jsx44("path", {
18606
+ children: /* @__PURE__ */ jsx46("path", {
18600
18607
  fill: "currentColor",
18601
18608
  d: "M499.1 6.3c8.1 6 12.9 15.6 12.9 25.7l0 72 0 264c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6L448 147 192 223.8 192 432c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6L128 200l0-72c0-14.1 9.3-26.6 22.8-30.7l320-96c9.7-2.9 20.2-1.1 28.3 5z"
18602
18609
  })
@@ -18604,7 +18611,7 @@ var MusicIcon = (props) => {
18604
18611
  };
18605
18612
 
18606
18613
  // src/components/icons/next.tsx
18607
- import { jsx as jsx46, jsxs as jsxs7 } from "react/jsx-runtime";
18614
+ import { jsx as jsx47, jsxs as jsxs7 } from "react/jsx-runtime";
18608
18615
  var NextIcon = ({ style }) => {
18609
18616
  return /* @__PURE__ */ jsxs7("svg", {
18610
18617
  fill: "none",
@@ -18612,7 +18619,7 @@ var NextIcon = ({ style }) => {
18612
18619
  style,
18613
18620
  xmlns: "http://www.w3.org/2000/svg",
18614
18621
  children: [
18615
- /* @__PURE__ */ jsx46("mask", {
18622
+ /* @__PURE__ */ jsx47("mask", {
18616
18623
  height: "180",
18617
18624
  id: "mask0_292_250",
18618
18625
  maskUnits: "userSpaceOnUse",
@@ -18620,7 +18627,7 @@ var NextIcon = ({ style }) => {
18620
18627
  width: "180",
18621
18628
  x: "0",
18622
18629
  y: "0",
18623
- children: /* @__PURE__ */ jsx46("circle", {
18630
+ children: /* @__PURE__ */ jsx47("circle", {
18624
18631
  cx: "90",
18625
18632
  cy: "90",
18626
18633
  fill: "currentcolor",
@@ -18630,17 +18637,17 @@ var NextIcon = ({ style }) => {
18630
18637
  /* @__PURE__ */ jsxs7("g", {
18631
18638
  mask: "url(#mask0_292_250)",
18632
18639
  children: [
18633
- /* @__PURE__ */ jsx46("circle", {
18640
+ /* @__PURE__ */ jsx47("circle", {
18634
18641
  cx: "90",
18635
18642
  cy: "90",
18636
18643
  fill: "currentcolor",
18637
18644
  r: "90"
18638
18645
  }),
18639
- /* @__PURE__ */ jsx46("path", {
18646
+ /* @__PURE__ */ jsx47("path", {
18640
18647
  d: "M149.508 157.52L69.142 54H54V125.97H66.1136V69.3836L139.999 164.845C143.333 162.614 146.509 160.165 149.508 157.52Z",
18641
18648
  fill: "url(#paint0_linear_292_250)"
18642
18649
  }),
18643
- /* @__PURE__ */ jsx46("rect", {
18650
+ /* @__PURE__ */ jsx47("rect", {
18644
18651
  fill: "url(#paint1_linear_292_250)",
18645
18652
  height: "72",
18646
18653
  width: "12",
@@ -18659,10 +18666,10 @@ var NextIcon = ({ style }) => {
18659
18666
  y1: "116.5",
18660
18667
  y2: "160.5",
18661
18668
  children: [
18662
- /* @__PURE__ */ jsx46("stop", {
18669
+ /* @__PURE__ */ jsx47("stop", {
18663
18670
  stopColor: "var(--background)"
18664
18671
  }),
18665
- /* @__PURE__ */ jsx46("stop", {
18672
+ /* @__PURE__ */ jsx47("stop", {
18666
18673
  offset: "1",
18667
18674
  stopColor: "var(--background)",
18668
18675
  stopOpacity: "0"
@@ -18677,10 +18684,10 @@ var NextIcon = ({ style }) => {
18677
18684
  y1: "54",
18678
18685
  y2: "106.875",
18679
18686
  children: [
18680
- /* @__PURE__ */ jsx46("stop", {
18687
+ /* @__PURE__ */ jsx47("stop", {
18681
18688
  stopColor: "var(--background)"
18682
18689
  }),
18683
- /* @__PURE__ */ jsx46("stop", {
18690
+ /* @__PURE__ */ jsx47("stop", {
18684
18691
  offset: "1",
18685
18692
  stopColor: "var(--background)",
18686
18693
  stopOpacity: "0"
@@ -18694,7 +18701,7 @@ var NextIcon = ({ style }) => {
18694
18701
  };
18695
18702
 
18696
18703
  // src/components/icons/overlay.tsx
18697
- import { jsx as jsx47, jsxs as jsxs8 } from "react/jsx-runtime";
18704
+ import { jsx as jsx48, jsxs as jsxs8 } from "react/jsx-runtime";
18698
18705
  var OverlayIcon = (props) => {
18699
18706
  return /* @__PURE__ */ jsxs8("svg", {
18700
18707
  viewBox: "0 0 576 512",
@@ -18702,11 +18709,11 @@ var OverlayIcon = (props) => {
18702
18709
  xmlns: "http://www.w3.org/2000/svg",
18703
18710
  ...props,
18704
18711
  children: [
18705
- /* @__PURE__ */ jsx47("path", {
18712
+ /* @__PURE__ */ jsx48("path", {
18706
18713
  d: "M251.1 407.9C274.5 418.7 301.5 418.7 324.9 407.9V407.8L476.9 337.6L530.1 362.2C538.6 366.1 544 374.6 544 384C544 393.4 538.6 401.9 530.1 405.8L311.5 506.8C296.6 513.7 279.4 513.7 264.5 506.8L45.9 405.8C37.4 401.9 32 393.4 32 384C32 374.6 37.4 366.1 45.9 362.2L99.1 337.7L251.1 407.9Z",
18707
18714
  fill: "currentcolor"
18708
18715
  }),
18709
- /* @__PURE__ */ jsx47("path", {
18716
+ /* @__PURE__ */ jsx48("path", {
18710
18717
  d: "M277.8 132.7L495.2 230.1C505.4 234.7 512 244.8 512 256C512 267.2 505.4 277.3 495.2 281.9L277.8 379.3C270.1 382.4 263.5 384 256 384C248.5 384 241 382.4 234.2 379.3L16.76 281.9C6.561 277.3 0.0003 267.2 0.0003 256C0.0003 244.8 6.561 234.7 16.76 230.1L234.2 132.7C241 129.6 248.5 128 256 128C263.5 128 270.1 129.6 277.8 132.7Z",
18711
18718
  stroke: "currentcolor",
18712
18719
  transform: "translate(32, -25)",
@@ -18717,13 +18724,13 @@ var OverlayIcon = (props) => {
18717
18724
  };
18718
18725
 
18719
18726
  // src/components/icons/prompt-to-video.tsx
18720
- import { jsx as jsx48 } from "react/jsx-runtime";
18727
+ import { jsx as jsx49 } from "react/jsx-runtime";
18721
18728
  var PromptToVideoIcon = (props) => {
18722
- return /* @__PURE__ */ jsx48("svg", {
18729
+ return /* @__PURE__ */ jsx49("svg", {
18723
18730
  xmlns: "http://www.w3.org/2000/svg",
18724
18731
  viewBox: "0 0 512 512",
18725
18732
  ...props,
18726
- children: /* @__PURE__ */ jsx48("path", {
18733
+ children: /* @__PURE__ */ jsx49("path", {
18727
18734
  d: "M278.5 15.6C275 6.2 266 0 256 0s-19 6.2-22.5 15.6L174.2 174.2 15.6 233.5C6.2 237 0 246 0 256s6.2 19 15.6 22.5l158.6 59.4 59.4 158.6C237 505.8 246 512 256 512s19-6.2 22.5-15.6l59.4-158.6 158.6-59.4C505.8 275 512 266 512 256s-6.2-19-15.6-22.5L337.8 174.2 278.5 15.6z",
18728
18735
  fill: "currentColor"
18729
18736
  })
@@ -18731,23 +18738,23 @@ var PromptToVideoIcon = (props) => {
18731
18738
  };
18732
18739
 
18733
18740
  // src/components/icons/recorder.tsx
18734
- import { jsx as jsx49, jsxs as jsxs9 } from "react/jsx-runtime";
18741
+ import { jsx as jsx50, jsxs as jsxs9 } from "react/jsx-runtime";
18735
18742
  var Recorder = (props) => {
18736
18743
  return /* @__PURE__ */ jsxs9("svg", {
18737
18744
  viewBox: "0 0 700 700",
18738
18745
  ...props,
18739
18746
  children: [
18740
- /* @__PURE__ */ jsx49("path", {
18747
+ /* @__PURE__ */ jsx50("path", {
18741
18748
  d: "M0 350C0 115.5 115.5 0 350 0C584.5 0 700 115.5 700 350C700 584.5 584.5 700 350 700C115.5 700 0 584.5 0 350Z",
18742
18749
  fill: "#F43B00",
18743
18750
  fillOpacity: "0.15"
18744
18751
  }),
18745
- /* @__PURE__ */ jsx49("path", {
18752
+ /* @__PURE__ */ jsx50("path", {
18746
18753
  d: "M79.4595 344.324C79.4595 161.794 169.362 71.8915 351.892 71.8915C534.422 71.8915 624.324 161.794 624.324 344.324C624.324 526.854 534.422 616.756 351.892 616.756C169.362 616.756 79.4595 526.854 79.4595 344.324Z",
18747
18754
  fill: "#F43B00",
18748
18755
  fillOpacity: "0.3"
18749
18756
  }),
18750
- /* @__PURE__ */ jsx49("path", {
18757
+ /* @__PURE__ */ jsx50("path", {
18751
18758
  d: "M155.135 343.378C155.135 212.185 219.752 147.567 350.946 147.567C482.139 147.567 546.756 212.185 546.756 343.378C546.756 474.571 482.139 539.189 350.946 539.189C219.752 539.189 155.135 474.571 155.135 343.378Z",
18752
18759
  fill: "#F43B00"
18753
18760
  })
@@ -18756,9 +18763,9 @@ var Recorder = (props) => {
18756
18763
  };
18757
18764
 
18758
18765
  // src/components/icons/remix.tsx
18759
- import { jsx as jsx50, jsxs as jsxs10 } from "react/jsx-runtime";
18766
+ import { jsx as jsx51, jsxs as jsxs10 } from "react/jsx-runtime";
18760
18767
  var ReactRouterIcon = (props) => {
18761
- return /* @__PURE__ */ jsx50("svg", {
18768
+ return /* @__PURE__ */ jsx51("svg", {
18762
18769
  xmlns: "http://www.w3.org/2000/svg",
18763
18770
  width: "800px",
18764
18771
  height: "800px",
@@ -18768,11 +18775,11 @@ var ReactRouterIcon = (props) => {
18768
18775
  ...props,
18769
18776
  children: /* @__PURE__ */ jsxs10("g", {
18770
18777
  children: [
18771
- /* @__PURE__ */ jsx50("path", {
18778
+ /* @__PURE__ */ jsx51("path", {
18772
18779
  d: "M78.0659341,92.5875806 C90.8837956,92.5875806 101.274726,82.1966508 101.274726,69.3787894 C101.274726,56.5609279 90.8837956,46.1699982 78.0659341,46.1699982 C65.2480726,46.1699982 54.8571429,56.5609279 54.8571429,69.3787894 C54.8571429,82.1966508 65.2480726,92.5875806 78.0659341,92.5875806 Z M23.2087913,139.005163 C36.0266526,139.005163 46.4175825,128.614233 46.4175825,115.796372 C46.4175825,102.97851 36.0266526,92.5875806 23.2087913,92.5875806 C10.3909298,92.5875806 0,102.97851 0,115.796372 C0,128.614233 10.3909298,139.005163 23.2087913,139.005163 Z M232.791209,139.005163 C245.60907,139.005163 256,128.614233 256,115.796372 C256,102.97851 245.60907,92.5875806 232.791209,92.5875806 C219.973347,92.5875806 209.582418,102.97851 209.582418,115.796372 C209.582418,128.614233 219.973347,139.005163 232.791209,139.005163 Z",
18773
18780
  fill: "currentcolor"
18774
18781
  }),
18775
- /* @__PURE__ */ jsx50("path", {
18782
+ /* @__PURE__ */ jsx51("path", {
18776
18783
  d: "M156.565464,70.3568084 C155.823426,62.6028163 155.445577,56.1490255 149.505494,51.6131676 C141.982638,45.8687002 133.461166,49.5960243 122.964463,45.8072968 C112.650326,43.3121427 105,34.1545727 105,23.2394367 C105,10.4046502 115.577888,0 128.626373,0 C138.29063,0 146.599638,5.70747659 150.259573,13.8825477 C155.861013,24.5221258 152.220489,35.3500418 159.258242,40.8041273 C167.591489,47.2621895 178.826167,42.5329154 191.362109,48.6517412 C195.390112,50.5026944 198.799584,53.4384578 201.202056,57.0769224 C203.604528,60.7153869 205,65.0565524 205,69.7183101 C205,80.633446 197.349674,89.7910161 187.035538,92.2861702 C176.538834,96.0748977 168.017363,92.3475736 160.494506,98.092041 C152.03503,104.551712 156.563892,115.358642 149.669352,126.774447 C145.756163,134.291567 137.802119,139.43662 128.626373,139.43662 C115.577888,139.43662 105,129.03197 105,116.197184 C105,106.873668 110.581887,98.832521 118.637891,95.1306146 C131.173833,89.0117889 142.408511,93.7410629 150.741758,87.2830007 C155.549106,83.5574243 156.565464,77.8102648 156.565464,70.3568084 Z",
18777
18784
  fill: "currentcolor"
18778
18785
  })
@@ -18782,7 +18789,7 @@ var ReactRouterIcon = (props) => {
18782
18789
  };
18783
18790
 
18784
18791
  // src/components/icons/render-server.tsx
18785
- import { jsx as jsx51, jsxs as jsxs11 } from "react/jsx-runtime";
18792
+ import { jsx as jsx54, jsxs as jsxs11 } from "react/jsx-runtime";
18786
18793
  var RenderServerIcon = (props) => {
18787
18794
  return /* @__PURE__ */ jsxs11("svg", {
18788
18795
  ...props,
@@ -18794,14 +18801,14 @@ var RenderServerIcon = (props) => {
18794
18801
  strokeLinecap: "round",
18795
18802
  strokeLinejoin: "round",
18796
18803
  children: [
18797
- /* @__PURE__ */ jsx51("rect", {
18804
+ /* @__PURE__ */ jsx54("rect", {
18798
18805
  width: "18",
18799
18806
  height: "18",
18800
18807
  x: "3",
18801
18808
  y: "3",
18802
18809
  rx: "2"
18803
18810
  }),
18804
- /* @__PURE__ */ jsx51("path", {
18811
+ /* @__PURE__ */ jsx54("path", {
18805
18812
  d: "m10 8 4 4-4 4"
18806
18813
  })
18807
18814
  ]
@@ -18809,13 +18816,13 @@ var RenderServerIcon = (props) => {
18809
18816
  };
18810
18817
 
18811
18818
  // src/components/icons/skia.tsx
18812
- import { jsx as jsx54 } from "react/jsx-runtime";
18819
+ import { jsx as jsx56 } from "react/jsx-runtime";
18813
18820
  var SkiaIcon = (props) => {
18814
- return /* @__PURE__ */ jsx54("svg", {
18821
+ return /* @__PURE__ */ jsx56("svg", {
18815
18822
  ...props,
18816
18823
  xmlns: "http://www.w3.org/2000/svg",
18817
18824
  viewBox: "0 0 576 512",
18818
- children: /* @__PURE__ */ jsx54("path", {
18825
+ children: /* @__PURE__ */ jsx56("path", {
18819
18826
  fill: "currentColor",
18820
18827
  d: "M288 400C288 461.9 237.9 512 176 512H32C14.33 512 0 497.7 0 480C0 462.3 14.33 448 32 448H36.81C54.44 448 66.4 429.1 64.59 411.6C64.2 407.8 64 403.9 64 400C64 338.1 114.1 288 176 288C178.8 288 181.5 288.1 184.3 288.3C184.1 285.7 183.1 282.1 183.1 280.3C183.1 244.6 201.1 210.1 229.1 189.1L474.3 12.25C499.7-6.279 534.9-3.526 557.2 18.74C579.4 41 582.2 76.16 563.7 101.6L386.1 345.1C365 374.9 331.4 392 295.7 392C293 392 290.3 391.9 287.7 391.7C287.9 394.5 287.1 397.2 287.1 400H288zM295.7 360C321.2 360 345.2 347.8 360.2 327.2L537.8 82.82C547.1 70.08 545.7 52.5 534.5 41.37C523.4 30.24 505.8 28.86 493.1 38.12L248.8 215.8C228.2 230.8 215.1 254.8 215.1 280.3C215.1 285.7 216.5 290.9 217.5 295.1L217.6 295.1C217.9 297.3 218.2 298.6 218.5 299.9L276.1 357.5C277.4 357.8 278.7 358.1 280 358.4L280 358.5C285.1 359.5 290.3 360 295.7 360L295.7 360zM253.5 380.1L195.9 322.5C194.5 322.2 193.2 321.8 191.9 321.6C186.7 320.5 181.4 320 176 320C131.8 320 96 355.8 96 400C96 402.8 96.14 405.6 96.43 408.3C98.15 425 93.42 441.9 83.96 455.1C74.31 468.5 58 480 36.81 480H176C220.2 480 256 444.2 256 400C256 394.6 255.5 389.3 254.4 384.1C254.2 382.8 253.9 381.5 253.5 380.1V380.1z"
18821
18828
  })
@@ -18823,13 +18830,13 @@ var SkiaIcon = (props) => {
18823
18830
  };
18824
18831
 
18825
18832
  // src/components/icons/stargazer.tsx
18826
- import { jsx as jsx56 } from "react/jsx-runtime";
18833
+ import { jsx as jsx57 } from "react/jsx-runtime";
18827
18834
  var Stargazer = (props) => {
18828
- return /* @__PURE__ */ jsx56("svg", {
18835
+ return /* @__PURE__ */ jsx57("svg", {
18829
18836
  height: "1em",
18830
18837
  viewBox: "0 0 512 512",
18831
18838
  ...props,
18832
- children: /* @__PURE__ */ jsx56("path", {
18839
+ children: /* @__PURE__ */ jsx57("path", {
18833
18840
  fill: "currentcolor",
18834
18841
  d: "M325.8 152.3c1.3 4.6 5.5 7.7 10.2 7.7s8.9-3.1 10.2-7.7L360 104l48.3-13.8c4.6-1.3 7.7-5.5 7.7-10.2s-3.1-8.9-7.7-10.2L360 56 346.2 7.7C344.9 3.1 340.7 0 336 0s-8.9 3.1-10.2 7.7L312 56 263.7 69.8c-4.6 1.3-7.7 5.5-7.7 10.2s3.1 8.9 7.7 10.2L312 104l13.8 48.3zM115.7 346.2L75.5 307l55.5-8.1c15.6-2.3 29.2-12.1 36.1-26.3l24.8-50.3 24.8 50.3c7 14.2 20.5 24 36.1 26.3l55.5 8.1-40.2 39.2c-11.3 11-16.4 26.9-13.8 42.4l9.5 55.4-49.5-26.1c-14-7.4-30.7-7.4-44.7 0L120 444l9.5-55.4c2.7-15.6-2.5-31.4-13.8-42.4zm54.7-188.8l-46.3 94L20.5 266.5C.9 269.3-7 293.5 7.2 307.4l74.9 73.2L64.5 483.9c-3.4 19.6 17.2 34.6 34.8 25.3l92.6-48.8 92.6 48.8c17.6 9.3 38.2-5.7 34.8-25.3L301.6 380.6l74.9-73.2c14.2-13.9 6.4-38.1-13.3-40.9L259.7 251.4l-46.3-94c-8.8-17.9-34.3-17.9-43.1 0zm258.4 85.8l11 38.6c1 3.6 4.4 6.2 8.2 6.2s7.1-2.5 8.2-6.2l11-38.6 38.6-11c3.6-1 6.2-4.4 6.2-8.2s-2.5-7.1-6.2-8.2l-38.6-11-11-38.6c-1-3.6-4.4-6.2-8.2-6.2s-7.1 2.5-8.2 6.2l-11 38.6-38.6 11c-3.6 1-6.2 4.4-6.2 8.2s2.5 7.1 6.2 8.2l38.6 11z"
18835
18842
  })
@@ -18837,13 +18844,13 @@ var Stargazer = (props) => {
18837
18844
  };
18838
18845
 
18839
18846
  // src/components/icons/still.tsx
18840
- import { jsx as jsx57 } from "react/jsx-runtime";
18847
+ import { jsx as jsx58 } from "react/jsx-runtime";
18841
18848
  var StillIcon = (props) => {
18842
- return /* @__PURE__ */ jsx57("svg", {
18849
+ return /* @__PURE__ */ jsx58("svg", {
18843
18850
  xmlns: "http://www.w3.org/2000/svg",
18844
18851
  viewBox: "0 0 512 512",
18845
18852
  ...props,
18846
- children: /* @__PURE__ */ jsx57("path", {
18853
+ children: /* @__PURE__ */ jsx58("path", {
18847
18854
  fill: "currentColor",
18848
18855
  d: "M324.9 157.8c-11.38-17.38-39.89-17.31-51.23-.0625L200.5 268.5L184.1 245.9C172.7 229.1 145.9 229.9 134.4 245.9l-64.52 89.16c-6.797 9.406-7.75 21.72-2.547 32C72.53 377.5 83.05 384 94.75 384h322.5c11.41 0 21.8-6.281 27.14-16.38c5.312-10 4.734-22.09-1.516-31.56L324.9 157.8zM95.8 352l62.39-87.38l29.91 41.34C191.2 310.2 196.4 313.2 201.4 312.6c5.25-.125 10.12-2.781 13.02-7.188l83.83-129.9L415 352H95.8zM447.1 32h-384C28.65 32-.0091 60.65-.0091 96v320c0 35.35 28.65 64 63.1 64h384c35.35 0 64-28.65 64-64V96C511.1 60.65 483.3 32 447.1 32zM480 416c0 17.64-14.36 32-32 32H64c-17.64 0-32-14.36-32-32V96c0-17.64 14.36-32 32-32h384c17.64 0 32 14.36 32 32V416zM144 192C170.5 192 192 170.5 192 144S170.5 96 144 96S96 117.5 96 144S117.5 192 144 192zM144 128c8.822 0 15.1 7.178 15.1 16S152.8 160 144 160S128 152.8 128 144S135.2 128 144 128z"
18849
18856
  })
@@ -18851,12 +18858,12 @@ var StillIcon = (props) => {
18851
18858
  };
18852
18859
 
18853
18860
  // src/components/icons/tiktok.tsx
18854
- import { jsx as jsx58 } from "react/jsx-runtime";
18861
+ import { jsx as jsx59 } from "react/jsx-runtime";
18855
18862
  var TikTok = (props) => {
18856
- return /* @__PURE__ */ jsx58("svg", {
18863
+ return /* @__PURE__ */ jsx59("svg", {
18857
18864
  ...props,
18858
18865
  viewBox: "0 0 448 512",
18859
- children: /* @__PURE__ */ jsx58("path", {
18866
+ children: /* @__PURE__ */ jsx59("path", {
18860
18867
  fill: "currentcolor",
18861
18868
  d: "M448 209.9a210.1 210.1 0 0 1 -122.8-39.3V349.4A162.6 162.6 0 1 1 185 188.3V278.2a74.6 74.6 0 1 0 52.2 71.2V0l88 0a121.2 121.2 0 0 0 1.9 22.2h0A122.2 122.2 0 0 0 381 102.4a121.4 121.4 0 0 0 67 20.1z"
18862
18869
  })
@@ -18864,14 +18871,14 @@ var TikTok = (props) => {
18864
18871
  };
18865
18872
 
18866
18873
  // src/components/icons/ts.tsx
18867
- import { jsx as jsx59 } from "react/jsx-runtime";
18874
+ import { jsx as jsx60 } from "react/jsx-runtime";
18868
18875
  var TypeScriptIcon = (props) => {
18869
- return /* @__PURE__ */ jsx59("svg", {
18876
+ return /* @__PURE__ */ jsx60("svg", {
18870
18877
  fill: "#000000",
18871
18878
  xmlns: "http://www.w3.org/2000/svg",
18872
18879
  viewBox: "0 0 24 24",
18873
18880
  ...props,
18874
- children: /* @__PURE__ */ jsx59("path", {
18881
+ children: /* @__PURE__ */ jsx60("path", {
18875
18882
  fill: "currentColor",
18876
18883
  d: "M3,5v14c0,1.105,0.895,2,2,2h14c1.105,0,2-0.895,2-2V5c0-1.105-0.895-2-2-2H5C3.895,3,3,3.895,3,5z M13.666,12.451h-2.118\tV19H9.841v-6.549H7.767V11h5.899V12.451z M13.998,18.626v-1.751c0,0,0.956,0.721,2.104,0.721c1.148,0,1.103-0.75,1.103-0.853\tc0-1.089-3.251-1.089-3.251-3.501c0-3.281,4.737-1.986,4.737-1.986l-0.059,1.559c0,0-0.794-0.53-1.692-0.53\tc-0.897,0-1.221,0.427-1.221,0.883c0,1.177,3.281,1.059,3.281,3.428C19,20.244,13.998,18.626,13.998,18.626z"
18877
18884
  })
@@ -18879,13 +18886,13 @@ var TypeScriptIcon = (props) => {
18879
18886
  };
18880
18887
 
18881
18888
  // src/components/icons/tts.tsx
18882
- import { jsx as jsx60 } from "react/jsx-runtime";
18889
+ import { jsx as jsx61 } from "react/jsx-runtime";
18883
18890
  var TTSIcon = (props) => {
18884
- return /* @__PURE__ */ jsx60("svg", {
18891
+ return /* @__PURE__ */ jsx61("svg", {
18885
18892
  xmlns: "http://www.w3.org/2000/svg",
18886
18893
  viewBox: "0 0 512 512",
18887
18894
  ...props,
18888
- children: /* @__PURE__ */ jsx60("path", {
18895
+ children: /* @__PURE__ */ jsx61("path", {
18889
18896
  fill: "currentColor",
18890
18897
  d: "M256 31.1c-141.4 0-255.1 93.13-255.1 208c0 47.62 19.91 91.25 52.91 126.3c-14.87 39.5-45.87 72.88-46.37 73.25c-6.623 7-8.373 17.25-4.623 26C5.816 474.3 14.38 480 24 480c61.49 0 109.1-25.75 139.1-46.25c28.1 9 60.16 14.25 92.9 14.25c141.4 0 255.1-93.13 255.1-207.1S397.4 31.1 256 31.1zM256 416c-28.25 0-56.24-4.25-83.24-12.75c-9.516-3.068-19.92-1.461-28.07 4.338c-22.1 16.25-58.54 35.29-102.7 39.66c11.1-15.12 29.75-40.5 40.74-69.63l.1289-.3398c4.283-11.27 1.791-23.1-6.43-32.82C47.51 313.1 32.06 277.6 32.06 240c0-97 100.5-176 223.1-176c123.5 0 223.1 79 223.1 176S379.5 416 256 416zM272 272h-128c-8.801 0-16 7.199-16 15.1C127.1 296.8 135.2 304 144 304h128c8.801 0 15.1-7.204 15.1-16C287.1 279.2 280.8 272 272 272zM368 176h-224c-8.801 0-16 7.199-16 15.1C127.1 200.8 135.2 208 144 208h224c8.801 0 15.1-7.204 15.1-16C383.1 183.2 376.8 176 368 176z"
18891
18898
  })
@@ -18893,13 +18900,13 @@ var TTSIcon = (props) => {
18893
18900
  };
18894
18901
 
18895
18902
  // src/components/icons/waveform.tsx
18896
- import { jsx as jsx61 } from "react/jsx-runtime";
18903
+ import { jsx as jsx64 } from "react/jsx-runtime";
18897
18904
  var Waveform = (props) => {
18898
- return /* @__PURE__ */ jsx61("svg", {
18905
+ return /* @__PURE__ */ jsx64("svg", {
18899
18906
  xmlns: "http://www.w3.org/2000/svg",
18900
18907
  viewBox: "0 0 640 512",
18901
18908
  ...props,
18902
- children: /* @__PURE__ */ jsx61("path", {
18909
+ children: /* @__PURE__ */ jsx64("path", {
18903
18910
  fill: "currentColor",
18904
18911
  d: "M224 96C215.2 96 208 103.2 208 111.1v288C208 408.8 215.2 416 223.1 416C232.8 416 240 408.8 240 400V111.1C240 103.2 232.8 96 224 96zM128 192C119.2 192 112 199.2 112 207.1V304C112 312.8 119.2 320 127.1 320S144 312.8 144 304V207.1C144 199.2 136.8 192 128 192zM32 224C23.2 224 16 231.2 16 239.1V272C16 280.8 23.2 288 31.1 288S48 280.8 48 272V239.1C48 231.2 40.8 224 32 224zM416 128C407.2 128 400 135.2 400 143.1v224C400 376.8 407.2 384 415.1 384S432 376.8 432 368V143.1C432 135.2 424.8 128 416 128zM608 224c-8.8 0-16 7.2-16 15.1V272C592 280.8 599.2 288 608 288s16-7.2 16-15.1V239.1C624 231.2 616.8 224 608 224zM512 64c-8.8 0-16 7.2-16 15.1V432C496 440.8 503.2 448 511.1 448C520.8 448 528 440.8 528 432V79.1C528 71.2 520.8 64 512 64zM320 0C311.2 0 304 7.2 304 15.1V496C304 504.8 311.2 512 319.1 512S336 504.8 336 496V15.1C336 7.2 328.8 0 320 0z"
18905
18912
  })
@@ -18907,17 +18914,17 @@ var Waveform = (props) => {
18907
18914
  };
18908
18915
 
18909
18916
  // src/components/homepage/IconForTemplate.tsx
18910
- import { jsx as jsx64 } from "react/jsx-runtime";
18917
+ import { jsx as jsx66 } from "react/jsx-runtime";
18911
18918
  var IconForTemplate = ({ template, scale = 1 }) => {
18912
18919
  if (template.cliId === "hello-world") {
18913
- return /* @__PURE__ */ jsx64(TypeScriptIcon, {
18920
+ return /* @__PURE__ */ jsx66(TypeScriptIcon, {
18914
18921
  style: {
18915
18922
  height: scale * 48
18916
18923
  }
18917
18924
  });
18918
18925
  }
18919
18926
  if (template.cliId === "blank") {
18920
- return /* @__PURE__ */ jsx64(Blank, {
18927
+ return /* @__PURE__ */ jsx66(Blank, {
18921
18928
  style: {
18922
18929
  height: scale * 36,
18923
18930
  overflow: "visible"
@@ -18925,105 +18932,105 @@ var IconForTemplate = ({ template, scale = 1 }) => {
18925
18932
  });
18926
18933
  }
18927
18934
  if (template.cliId === "javascript") {
18928
- return /* @__PURE__ */ jsx64(JSIcon, {
18935
+ return /* @__PURE__ */ jsx66(JSIcon, {
18929
18936
  style: {
18930
18937
  height: scale * 40
18931
18938
  }
18932
18939
  });
18933
18940
  }
18934
18941
  if (template.cliId === "three") {
18935
- return /* @__PURE__ */ jsx64(Cubes, {
18942
+ return /* @__PURE__ */ jsx66(Cubes, {
18936
18943
  style: {
18937
18944
  height: scale * 36
18938
18945
  }
18939
18946
  });
18940
18947
  }
18941
18948
  if (template.cliId === "still") {
18942
- return /* @__PURE__ */ jsx64(StillIcon, {
18949
+ return /* @__PURE__ */ jsx66(StillIcon, {
18943
18950
  style: {
18944
18951
  height: scale * 36
18945
18952
  }
18946
18953
  });
18947
18954
  }
18948
18955
  if (template.cliId === "audiogram") {
18949
- return /* @__PURE__ */ jsx64(Waveform, {
18956
+ return /* @__PURE__ */ jsx66(Waveform, {
18950
18957
  style: {
18951
18958
  height: scale * 36
18952
18959
  }
18953
18960
  });
18954
18961
  }
18955
18962
  if (template.cliId === "tts") {
18956
- return /* @__PURE__ */ jsx64(TTSIcon, {
18963
+ return /* @__PURE__ */ jsx66(TTSIcon, {
18957
18964
  style: {
18958
18965
  height: scale * 36
18959
18966
  }
18960
18967
  });
18961
18968
  }
18962
18969
  if (template.cliId === "google-tts") {
18963
- return /* @__PURE__ */ jsx64(TTSIcon, {
18970
+ return /* @__PURE__ */ jsx66(TTSIcon, {
18964
18971
  style: {
18965
18972
  height: scale * 36
18966
18973
  }
18967
18974
  });
18968
18975
  }
18969
18976
  if (template.cliId === "skia") {
18970
- return /* @__PURE__ */ jsx64(SkiaIcon, {
18977
+ return /* @__PURE__ */ jsx66(SkiaIcon, {
18971
18978
  style: {
18972
18979
  height: scale * 32
18973
18980
  }
18974
18981
  });
18975
18982
  }
18976
18983
  if (template.cliId === "music-visualization") {
18977
- return /* @__PURE__ */ jsx64(MusicIcon, {
18984
+ return /* @__PURE__ */ jsx66(MusicIcon, {
18978
18985
  style: {
18979
18986
  height: scale * 32
18980
18987
  }
18981
18988
  });
18982
18989
  }
18983
18990
  if (template.cliId === "react-router") {
18984
- return /* @__PURE__ */ jsx64(ReactRouterIcon, {
18991
+ return /* @__PURE__ */ jsx66(ReactRouterIcon, {
18985
18992
  style: {
18986
18993
  height: scale * 32
18987
18994
  }
18988
18995
  });
18989
18996
  }
18990
18997
  if (template.cliId === "overlay") {
18991
- return /* @__PURE__ */ jsx64(OverlayIcon, {
18998
+ return /* @__PURE__ */ jsx66(OverlayIcon, {
18992
18999
  style: { height: scale * 42 }
18993
19000
  });
18994
19001
  }
18995
19002
  if (template.cliId === "render-server") {
18996
- return /* @__PURE__ */ jsx64(RenderServerIcon, {
19003
+ return /* @__PURE__ */ jsx66(RenderServerIcon, {
18997
19004
  style: { height: scale * 36 }
18998
19005
  });
18999
19006
  }
19000
19007
  if (template.cliId === "recorder") {
19001
- return /* @__PURE__ */ jsx64(Recorder, {
19008
+ return /* @__PURE__ */ jsx66(Recorder, {
19002
19009
  style: { height: scale * 36 }
19003
19010
  });
19004
19011
  }
19005
19012
  if (template.cliId === "next" || template.cliId === "next-tailwind" || template.cliId === "next-pages-dir") {
19006
- return /* @__PURE__ */ jsx64(NextIcon, {
19013
+ return /* @__PURE__ */ jsx66(NextIcon, {
19007
19014
  style: { height: scale * 36 }
19008
19015
  });
19009
19016
  }
19010
19017
  if (template.cliId === "stargazer") {
19011
- return /* @__PURE__ */ jsx64(Stargazer, {
19018
+ return /* @__PURE__ */ jsx66(Stargazer, {
19012
19019
  style: { height: scale * 36 }
19013
19020
  });
19014
19021
  }
19015
19022
  if (template.cliId === "tiktok") {
19016
- return /* @__PURE__ */ jsx64(TikTok, {
19023
+ return /* @__PURE__ */ jsx66(TikTok, {
19017
19024
  style: { height: scale * 36 }
19018
19025
  });
19019
19026
  }
19020
19027
  if (template.cliId === "code-hike") {
19021
- return /* @__PURE__ */ jsx64(CodeHike, {
19028
+ return /* @__PURE__ */ jsx66(CodeHike, {
19022
19029
  style: { height: scale * 36 }
19023
19030
  });
19024
19031
  }
19025
19032
  if (template.cliId === "prompt-to-video") {
19026
- return /* @__PURE__ */ jsx64(PromptToVideoIcon, {
19033
+ return /* @__PURE__ */ jsx66(PromptToVideoIcon, {
19027
19034
  style: { height: scale * 36 }
19028
19035
  });
19029
19036
  }
@@ -19031,7 +19038,7 @@ var IconForTemplate = ({ template, scale = 1 }) => {
19031
19038
  };
19032
19039
 
19033
19040
  // src/components/icons/editor.tsx
19034
- import { jsx as jsx66, jsxs as jsxs12 } from "react/jsx-runtime";
19041
+ import { jsx as jsx67, jsxs as jsxs12 } from "react/jsx-runtime";
19035
19042
  var EditorIcon = (props) => {
19036
19043
  return /* @__PURE__ */ jsxs12("svg", {
19037
19044
  viewBox: "0 0 251 251",
@@ -19039,7 +19046,7 @@ var EditorIcon = (props) => {
19039
19046
  xmlns: "http://www.w3.org/2000/svg",
19040
19047
  ...props,
19041
19048
  children: [
19042
- /* @__PURE__ */ jsx66("rect", {
19049
+ /* @__PURE__ */ jsx67("rect", {
19043
19050
  x: "4",
19044
19051
  y: "4",
19045
19052
  width: "52",
@@ -19048,7 +19055,7 @@ var EditorIcon = (props) => {
19048
19055
  stroke: "currentColor",
19049
19056
  strokeWidth: "16"
19050
19057
  }),
19051
- /* @__PURE__ */ jsx66("rect", {
19058
+ /* @__PURE__ */ jsx67("rect", {
19052
19059
  x: "195",
19053
19060
  y: "4",
19054
19061
  width: "52",
@@ -19057,7 +19064,7 @@ var EditorIcon = (props) => {
19057
19064
  stroke: "currentColor",
19058
19065
  strokeWidth: "16"
19059
19066
  }),
19060
- /* @__PURE__ */ jsx66("rect", {
19067
+ /* @__PURE__ */ jsx67("rect", {
19061
19068
  x: "4",
19062
19069
  y: "195",
19063
19070
  width: "52",
@@ -19066,7 +19073,7 @@ var EditorIcon = (props) => {
19066
19073
  stroke: "currentColor",
19067
19074
  strokeWidth: "16"
19068
19075
  }),
19069
- /* @__PURE__ */ jsx66("rect", {
19076
+ /* @__PURE__ */ jsx67("rect", {
19070
19077
  x: "195",
19071
19078
  y: "195",
19072
19079
  width: "52",
@@ -19075,22 +19082,22 @@ var EditorIcon = (props) => {
19075
19082
  stroke: "currentColor",
19076
19083
  strokeWidth: "16"
19077
19084
  }),
19078
- /* @__PURE__ */ jsx66("path", {
19085
+ /* @__PURE__ */ jsx67("path", {
19079
19086
  d: "M55 222H196",
19080
19087
  stroke: "currentColor",
19081
19088
  strokeWidth: "16"
19082
19089
  }),
19083
- /* @__PURE__ */ jsx66("path", {
19090
+ /* @__PURE__ */ jsx67("path", {
19084
19091
  d: "M30 60L30 191",
19085
19092
  stroke: "currentColor",
19086
19093
  strokeWidth: "16"
19087
19094
  }),
19088
- /* @__PURE__ */ jsx66("path", {
19095
+ /* @__PURE__ */ jsx67("path", {
19089
19096
  d: "M221 60V191",
19090
19097
  stroke: "currentColor",
19091
19098
  strokeWidth: "16"
19092
19099
  }),
19093
- /* @__PURE__ */ jsx66("path", {
19100
+ /* @__PURE__ */ jsx67("path", {
19094
19101
  d: "M55 30H196",
19095
19102
  stroke: "currentColor",
19096
19103
  strokeWidth: "16"
@@ -19100,7 +19107,7 @@ var EditorIcon = (props) => {
19100
19107
  };
19101
19108
 
19102
19109
  // src/components/icons/timeline.tsx
19103
- import { jsx as jsx67, jsxs as jsxs13 } from "react/jsx-runtime";
19110
+ import { jsx as jsx68, jsxs as jsxs13 } from "react/jsx-runtime";
19104
19111
  var TimelineIcon = (props) => {
19105
19112
  return /* @__PURE__ */ jsxs13("svg", {
19106
19113
  ...props,
@@ -19108,14 +19115,14 @@ var TimelineIcon = (props) => {
19108
19115
  fill: "none",
19109
19116
  xmlns: "http://www.w3.org/2000/svg",
19110
19117
  children: [
19111
- /* @__PURE__ */ jsx67("path", {
19118
+ /* @__PURE__ */ jsx68("path", {
19112
19119
  d: "M51.4313 38.0917L31.4998 52.4424C30.2419 53.3481 28.5581 53.3925 27.2543 52.5543L4.73299 38.0763C3.65291 37.382 3 36.1861 3 34.9021V6.77359C3 4.68949 4.68949 3 6.77358 3H49.2264C51.3105 3 53 4.68949 53 6.77358V35.0293C53 36.243 52.4163 37.3826 51.4313 38.0917Z",
19113
19120
  stroke: "currentcolor",
19114
19121
  strokeWidth: "5",
19115
19122
  strokeLinecap: "round",
19116
19123
  strokeLinejoin: "round"
19117
19124
  }),
19118
- /* @__PURE__ */ jsx67("path", {
19125
+ /* @__PURE__ */ jsx68("path", {
19119
19126
  d: "M29 55L29 66",
19120
19127
  stroke: "currentcolor",
19121
19128
  strokeWidth: "5",
@@ -19126,7 +19133,7 @@ var TimelineIcon = (props) => {
19126
19133
  };
19127
19134
 
19128
19135
  // src/components/templates.tsx
19129
- import { jsx as jsx68, jsxs as jsxs14, Fragment as Fragment6 } from "react/jsx-runtime";
19136
+ import { jsx as jsx69, jsxs as jsxs14, Fragment as Fragment6 } from "react/jsx-runtime";
19130
19137
  var Item2 = ({ children, label: label2, description }) => {
19131
19138
  return /* @__PURE__ */ jsxs14("div", {
19132
19139
  className: "h-full w-full flex-1",
@@ -19134,18 +19141,18 @@ var Item2 = ({ children, label: label2, description }) => {
19134
19141
  /* @__PURE__ */ jsxs14("div", {
19135
19142
  className: "flex flex-row items-center",
19136
19143
  children: [
19137
- /* @__PURE__ */ jsx68("div", {
19144
+ /* @__PURE__ */ jsx69("div", {
19138
19145
  className: "flex mr-2.5 h-[30px] w-[30px] justify-center items-center",
19139
19146
  children
19140
19147
  }),
19141
- /* @__PURE__ */ jsx68("div", {
19148
+ /* @__PURE__ */ jsx69("div", {
19142
19149
  className: "font-bold",
19143
19150
  children: label2
19144
19151
  })
19145
19152
  ]
19146
19153
  }),
19147
- /* @__PURE__ */ jsx68("div", {
19148
- children: /* @__PURE__ */ jsx68("p", {
19154
+ /* @__PURE__ */ jsx69("div", {
19155
+ children: /* @__PURE__ */ jsx69("p", {
19149
19156
  dangerouslySetInnerHTML: {
19150
19157
  __html: description
19151
19158
  },
@@ -19165,30 +19172,30 @@ var Templates = () => {
19165
19172
  className: "text-4xl md:text-7xl lg:text-8xl font-black leading-none mt-[75px] text-center mb-10",
19166
19173
  children: [
19167
19174
  "Find the right",
19168
- /* @__PURE__ */ jsx68("br", {}),
19175
+ /* @__PURE__ */ jsx69("br", {}),
19169
19176
  "template"
19170
19177
  ]
19171
19178
  }),
19172
- /* @__PURE__ */ jsx68("p", {
19179
+ /* @__PURE__ */ jsx69("p", {
19173
19180
  className: "text-center mb-[50px] font-brand",
19174
19181
  children: "Jumpstart your project with a template that fits your usecase."
19175
19182
  }),
19176
- /* @__PURE__ */ jsx68("h3", {
19183
+ /* @__PURE__ */ jsx69("h3", {
19177
19184
  children: "Free templates"
19178
19185
  }),
19179
- /* @__PURE__ */ jsx68("div", {
19186
+ /* @__PURE__ */ jsx69("div", {
19180
19187
  className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-[15px]",
19181
19188
  children: CreateVideoInternals.FEATURED_TEMPLATES.map((template) => {
19182
- return /* @__PURE__ */ jsx68("a", {
19189
+ return /* @__PURE__ */ jsx69("a", {
19183
19190
  href: `/templates/${template.cliId}`,
19184
19191
  className: "no-underline",
19185
- children: /* @__PURE__ */ jsx68(Button, {
19192
+ children: /* @__PURE__ */ jsx69(Button, {
19186
19193
  depth: 0.5,
19187
19194
  className: "items-start justify-start text-left p-3.5 flex flex-col relative cursor-pointer text-[var(--text-color)] no-underline h-full w-full",
19188
- children: /* @__PURE__ */ jsx68(Item2, {
19195
+ children: /* @__PURE__ */ jsx69(Item2, {
19189
19196
  label: template.homePageLabel,
19190
19197
  description: template.description,
19191
- children: /* @__PURE__ */ jsx68(IconForTemplate, {
19198
+ children: /* @__PURE__ */ jsx69(IconForTemplate, {
19192
19199
  scale: 0.7,
19193
19200
  template
19194
19201
  })
@@ -19197,24 +19204,24 @@ var Templates = () => {
19197
19204
  }, template.cliId);
19198
19205
  })
19199
19206
  }),
19200
- /* @__PURE__ */ jsx68("br", {}),
19201
- /* @__PURE__ */ jsx68("br", {}),
19202
- /* @__PURE__ */ jsx68("h3", {
19207
+ /* @__PURE__ */ jsx69("br", {}),
19208
+ /* @__PURE__ */ jsx69("br", {}),
19209
+ /* @__PURE__ */ jsx69("h3", {
19203
19210
  children: "Paid templates"
19204
19211
  }),
19205
19212
  /* @__PURE__ */ jsxs14("div", {
19206
19213
  className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-[15px]",
19207
19214
  children: [
19208
- /* @__PURE__ */ jsx68("a", {
19215
+ /* @__PURE__ */ jsx69("a", {
19209
19216
  className: "no-underline",
19210
19217
  href: `https://www.remotion.pro/editor-starter`,
19211
- children: /* @__PURE__ */ jsx68(Button, {
19218
+ children: /* @__PURE__ */ jsx69(Button, {
19212
19219
  depth: 0.5,
19213
19220
  className: "text-left p-3.5 flex flex-col relative cursor-pointer text-[var(--text-color)] no-underline h-full w-full",
19214
- children: /* @__PURE__ */ jsx68(Item2, {
19221
+ children: /* @__PURE__ */ jsx69(Item2, {
19215
19222
  label: "Editor Starter",
19216
19223
  description: "A boilerplate for starting your own video editor",
19217
- children: /* @__PURE__ */ jsx68(EditorIcon, {
19224
+ children: /* @__PURE__ */ jsx69(EditorIcon, {
19218
19225
  style: {
19219
19226
  height: 0.7 * 32,
19220
19227
  overflow: "visible"
@@ -19223,19 +19230,19 @@ var Templates = () => {
19223
19230
  })
19224
19231
  })
19225
19232
  }, "editor-starter"),
19226
- /* @__PURE__ */ jsx68("a", {
19233
+ /* @__PURE__ */ jsx69("a", {
19227
19234
  className: "no-underline",
19228
19235
  href: `https://www.remotion.pro/mapbox-globe`,
19229
- children: /* @__PURE__ */ jsx68(Button, {
19236
+ children: /* @__PURE__ */ jsx69(Button, {
19230
19237
  depth: 0.5,
19231
19238
  className: "text-left p-3.5 flex flex-col relative cursor-pointer text-[var(--text-color)] no-underline h-full w-full",
19232
- children: /* @__PURE__ */ jsx68(Item2, {
19239
+ children: /* @__PURE__ */ jsx69(Item2, {
19233
19240
  label: "Mapbox Globe",
19234
19241
  description: "A rotateable and zoomeable 3D Globe",
19235
- children: /* @__PURE__ */ jsx68("svg", {
19242
+ children: /* @__PURE__ */ jsx69("svg", {
19236
19243
  style: { height: 0.7 * 36, overflow: "visible" },
19237
19244
  viewBox: "0 0 512 512",
19238
- children: /* @__PURE__ */ jsx68("path", {
19245
+ children: /* @__PURE__ */ jsx69("path", {
19239
19246
  fill: "currentcolor",
19240
19247
  d: "M256 464c7.4 0 27-7.2 47.6-48.4c8.8-17.7 16.4-39.2 22-63.6H186.4c5.6 24.4 13.2 45.9 22 63.6C229 456.8 248.6 464 256 464zM178.5 304h155c1.6-15.3 2.5-31.4 2.5-48s-.9-32.7-2.5-48h-155c-1.6 15.3-2.5 31.4-2.5 48s.9 32.7 2.5 48zm7.9-144H325.6c-5.6-24.4-13.2-45.9-22-63.6C283 55.2 263.4 48 256 48s-27 7.2-47.6 48.4c-8.8 17.7-16.4 39.2-22 63.6zm195.3 48c1.5 15.5 2.2 31.6 2.2 48s-.8 32.5-2.2 48h76.7c3.6-15.4 5.6-31.5 5.6-48s-1.9-32.6-5.6-48H381.8zm58.8-48c-21.4-41.1-56.1-74.1-98.4-93.4c14.1 25.6 25.3 57.5 32.6 93.4h65.9zm-303.3 0c7.3-35.9 18.5-67.7 32.6-93.4c-42.3 19.3-77 52.3-98.4 93.4h65.9zM53.6 208c-3.6 15.4-5.6 31.5-5.6 48s1.9 32.6 5.6 48h76.7c-1.5-15.5-2.2-31.6-2.2-48s.8-32.5 2.2-48H53.6zM342.1 445.4c42.3-19.3 77-52.3 98.4-93.4H374.7c-7.3 35.9-18.5 67.7-32.6 93.4zm-172.2 0c-14.1-25.6-25.3-57.5-32.6-93.4H71.4c21.4 41.1 56.1 74.1 98.4 93.4zM256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512z"
19241
19248
  })
@@ -19243,16 +19250,16 @@ var Templates = () => {
19243
19250
  })
19244
19251
  })
19245
19252
  }, "mapbox-globe"),
19246
- /* @__PURE__ */ jsx68("a", {
19253
+ /* @__PURE__ */ jsx69("a", {
19247
19254
  className: "no-underline",
19248
19255
  href: `https://www.remotion.pro/watercolor-map`,
19249
- children: /* @__PURE__ */ jsx68(Button, {
19256
+ children: /* @__PURE__ */ jsx69(Button, {
19250
19257
  depth: 0.5,
19251
19258
  className: "text-left p-3.5 flex flex-col relative cursor-pointer text-[var(--text-color)] no-underline h-full w-full",
19252
- children: /* @__PURE__ */ jsx68(Item2, {
19259
+ children: /* @__PURE__ */ jsx69(Item2, {
19253
19260
  label: "Watercolor Map",
19254
19261
  description: "A beautiful 2D map for travel videos",
19255
- children: /* @__PURE__ */ jsx68(SkiaIcon, {
19262
+ children: /* @__PURE__ */ jsx69(SkiaIcon, {
19256
19263
  style: {
19257
19264
  height: 0.7 * 32,
19258
19265
  overflow: "visible"
@@ -19261,16 +19268,16 @@ var Templates = () => {
19261
19268
  })
19262
19269
  })
19263
19270
  }, "watercolor-map"),
19264
- /* @__PURE__ */ jsx68("a", {
19271
+ /* @__PURE__ */ jsx69("a", {
19265
19272
  className: "no-underline",
19266
19273
  href: `https://www.remotion.pro/timeline`,
19267
- children: /* @__PURE__ */ jsx68(Button, {
19274
+ children: /* @__PURE__ */ jsx69(Button, {
19268
19275
  depth: 0.5,
19269
19276
  className: "text-left p-3.5 flex flex-col relative cursor-pointer text-[var(--text-color)] no-underline h-full w-full",
19270
- children: /* @__PURE__ */ jsx68(Item2, {
19277
+ children: /* @__PURE__ */ jsx69(Item2, {
19271
19278
  label: "<Timeline />",
19272
19279
  description: "A copy pasteable component for timeline-based editing",
19273
- children: /* @__PURE__ */ jsx68(TimelineIcon, {
19280
+ children: /* @__PURE__ */ jsx69(TimelineIcon, {
19274
19281
  style: {
19275
19282
  height: 0.7 * 32
19276
19283
  }
@@ -19280,14 +19287,14 @@ var Templates = () => {
19280
19287
  }, "timeline")
19281
19288
  ]
19282
19289
  }),
19283
- /* @__PURE__ */ jsx68("br", {}),
19290
+ /* @__PURE__ */ jsx69("br", {}),
19284
19291
  /* @__PURE__ */ jsxs14("p", {
19285
19292
  className: "text-center text-gray-500 font-brand text-sm",
19286
19293
  children: [
19287
19294
  "Couldn't",
19288
19295
  " find what you need? Find more in the list of",
19289
19296
  " ",
19290
- /* @__PURE__ */ jsx68("a", {
19297
+ /* @__PURE__ */ jsx69("a", {
19291
19298
  href: "/docs/resources",
19292
19299
  children: "Resources"
19293
19300
  }),
@@ -19296,7 +19303,7 @@ var Templates = () => {
19296
19303
  })
19297
19304
  ]
19298
19305
  }),
19299
- /* @__PURE__ */ jsx68("br", {})
19306
+ /* @__PURE__ */ jsx69("br", {})
19300
19307
  ]
19301
19308
  });
19302
19309
  };