@remotion/promo-pages 4.0.375 → 4.0.377

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/Homepage.js CHANGED
@@ -89,39 +89,41 @@ import {
89
89
  import React11, { useCallback as useCallback5, useImperativeHandle as useImperativeHandle3, useRef as useRef3 } from "react";
90
90
  import { jsx as jsx102 } from "react/jsx-runtime";
91
91
  import { jsx as jsx11 } from "react/jsx-runtime";
92
- import { useContext as useContext14, useEffect as useEffect5, useState as useState9 } from "react";
92
+ import { useContext as useContext14, useLayoutEffect as useLayoutEffect4, useState as useState9 } from "react";
93
93
  import {
94
94
  createContext as createContext12,
95
95
  useCallback as useCallback6,
96
+ useImperativeHandle as useImperativeHandle5,
96
97
  useLayoutEffect as useLayoutEffect3,
97
98
  useMemo as useMemo11,
98
99
  useState as useState8
99
100
  } from "react";
101
+ import { flushSync } from "react-dom";
100
102
  import { jsx as jsx12 } from "react/jsx-runtime";
101
103
  import { forwardRef as forwardRef6, useCallback as useCallback11, useContext as useContext27 } from "react";
102
104
  import React12, { createContext as createContext13, useMemo as useMemo12 } from "react";
103
105
  import { jsx as jsx13 } from "react/jsx-runtime";
104
106
  import { useContext as useContext15 } from "react";
105
- import { createContext as createContext14, useEffect as useEffect6, useState as useState10 } from "react";
107
+ import { createContext as createContext14, useEffect as useEffect5, useState as useState10 } from "react";
106
108
  import { jsx as jsx14 } from "react/jsx-runtime";
107
109
  import { createContext as createContext15, useMemo as useMemo13, useReducer } from "react";
108
110
  import { jsx as jsx15 } from "react/jsx-runtime";
109
111
  import {
110
112
  forwardRef as forwardRef4,
111
113
  useContext as useContext25,
112
- useEffect as useEffect14,
113
- useImperativeHandle as useImperativeHandle5,
114
+ useEffect as useEffect13,
115
+ useImperativeHandle as useImperativeHandle6,
114
116
  useMemo as useMemo21,
115
117
  useRef as useRef12,
116
118
  useState as useState15
117
119
  } from "react";
118
- import { useContext as useContext17, useLayoutEffect as useLayoutEffect4, useRef as useRef7 } from "react";
120
+ import { useContext as useContext17, useLayoutEffect as useLayoutEffect5, useRef as useRef7 } from "react";
119
121
  import React15, {
120
122
  createContext as createContext16,
121
123
  createRef as createRef2,
122
124
  useCallback as useCallback7,
123
125
  useContext as useContext16,
124
- useEffect as useEffect7,
126
+ useEffect as useEffect6,
125
127
  useMemo as useMemo15,
126
128
  useRef as useRef5,
127
129
  useState as useState11
@@ -129,13 +131,13 @@ import React15, {
129
131
  import { useMemo as useMemo14 } from "react";
130
132
  import { jsx as jsx16, jsxs as jsxs2 } from "react/jsx-runtime";
131
133
  import { useRef as useRef6 } from "react";
132
- import { useContext as useContext19, useEffect as useEffect8, useMemo as useMemo16, useState as useState12 } from "react";
134
+ import { useContext as useContext19, useEffect as useEffect7, useMemo as useMemo16, useState as useState12 } from "react";
133
135
  import { useContext as useContext18 } from "react";
134
136
  import {
135
137
  useCallback as useCallback10,
136
138
  useContext as useContext22,
137
- useEffect as useEffect12,
138
- useLayoutEffect as useLayoutEffect6,
139
+ useEffect as useEffect11,
140
+ useLayoutEffect as useLayoutEffect7,
139
141
  useRef as useRef11
140
142
  } from "react";
141
143
  import { useCallback as useCallback9, useMemo as useMemo19, useRef as useRef9 } from "react";
@@ -143,33 +145,33 @@ import { useContext as useContext21, useMemo as useMemo18 } from "react";
143
145
  import React16, {
144
146
  useCallback as useCallback8,
145
147
  useContext as useContext20,
146
- useEffect as useEffect9,
147
- useLayoutEffect as useLayoutEffect5,
148
+ useEffect as useEffect8,
149
+ useLayoutEffect as useLayoutEffect6,
148
150
  useMemo as useMemo17,
149
151
  useRef as useRef8,
150
152
  useState as useState13
151
153
  } from "react";
152
154
  import { jsx as jsx17 } from "react/jsx-runtime";
153
155
  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";
156
+ import { useEffect as useEffect9, useState as useState14 } from "react";
157
+ import { useEffect as useEffect10, useRef as useRef10 } from "react";
158
+ import { useContext as useContext23, useEffect as useEffect12 } from "react";
157
159
  import { createContext as createContext17, useContext as useContext24, useMemo as useMemo20 } from "react";
158
160
  import { jsx as jsx18 } from "react/jsx-runtime";
159
161
  import {
160
162
  forwardRef as forwardRef5,
161
163
  useContext as useContext26,
162
- useEffect as useEffect15,
163
- useImperativeHandle as useImperativeHandle6,
164
- useLayoutEffect as useLayoutEffect7,
164
+ useEffect as useEffect14,
165
+ useImperativeHandle as useImperativeHandle7,
166
+ useLayoutEffect as useLayoutEffect8,
165
167
  useMemo as useMemo222,
166
168
  useRef as useRef13
167
169
  } from "react";
168
170
  import { jsx as jsx19 } from "react/jsx-runtime";
169
171
  import { jsx as jsx20 } from "react/jsx-runtime";
170
- import { Suspense, useContext as useContext29, useEffect as useEffect17 } from "react";
172
+ import { Suspense, useContext as useContext29, useEffect as useEffect16 } from "react";
171
173
  import { createPortal } from "react-dom";
172
- import { createContext as createContext18, useContext as useContext28, useEffect as useEffect16, useMemo as useMemo23 } from "react";
174
+ import { createContext as createContext18, useContext as useContext28, useEffect as useEffect15, useMemo as useMemo23 } from "react";
173
175
  import { jsx as jsx21 } from "react/jsx-runtime";
174
176
  import { jsx as jsx222, jsxs as jsxs22 } from "react/jsx-runtime";
175
177
  import React21, { useMemo as useMemo24 } from "react";
@@ -180,8 +182,8 @@ import {
180
182
  forwardRef as forwardRef8,
181
183
  useCallback as useCallback13,
182
184
  useContext as useContext30,
183
- useImperativeHandle as useImperativeHandle7,
184
- useLayoutEffect as useLayoutEffect8,
185
+ useImperativeHandle as useImperativeHandle8,
186
+ useLayoutEffect as useLayoutEffect9,
185
187
  useRef as useRef14
186
188
  } from "react";
187
189
  import { jsx as jsx25 } from "react/jsx-runtime";
@@ -189,23 +191,24 @@ import { createRef as createRef3 } from "react";
189
191
  import React25 from "react";
190
192
  import {
191
193
  useCallback as useCallback14,
192
- useImperativeHandle as useImperativeHandle8,
194
+ useImperativeHandle as useImperativeHandle9,
193
195
  useMemo as useMemo25,
194
196
  useRef as useRef15,
195
197
  useState as useState17
196
198
  } from "react";
197
199
  import { jsx as jsx26 } from "react/jsx-runtime";
198
- import { useEffect as useEffect18, useMemo as useMemo27, useState as useState18 } from "react";
200
+ import React26 from "react";
201
+ import { useEffect as useEffect17, useMemo as useMemo27, useState as useState18 } from "react";
199
202
  import { createContext as createContext19, useContext as useContext31, useMemo as useMemo26 } from "react";
200
203
  import { jsx as jsx27 } from "react/jsx-runtime";
201
204
  import { jsx as jsx28 } from "react/jsx-runtime";
202
- import React27, { createContext as createContext20 } from "react";
205
+ import React28, { createContext as createContext20 } from "react";
203
206
  import { useCallback as useCallback16 } from "react";
204
207
  import {
205
208
  useCallback as useCallback15,
206
209
  useContext as useContext32,
207
- useEffect as useEffect19,
208
- useLayoutEffect as useLayoutEffect9,
210
+ useEffect as useEffect18,
211
+ useLayoutEffect as useLayoutEffect10,
209
212
  useMemo as useMemo28,
210
213
  useState as useState19
211
214
  } from "react";
@@ -213,30 +216,30 @@ import { jsx as jsx29 } from "react/jsx-runtime";
213
216
  import {
214
217
  forwardRef as forwardRef9,
215
218
  useContext as useContext33,
216
- useEffect as useEffect21,
217
- useImperativeHandle as useImperativeHandle9,
219
+ useEffect as useEffect20,
220
+ useImperativeHandle as useImperativeHandle10,
218
221
  useMemo as useMemo29,
219
222
  useRef as useRef16,
220
223
  useState as useState20
221
224
  } from "react";
222
- import { useEffect as useEffect20 } from "react";
225
+ import { useEffect as useEffect19 } from "react";
223
226
  import { jsx as jsx30 } from "react/jsx-runtime";
224
227
  import { jsx as jsx31 } from "react/jsx-runtime";
225
- import React31, { useMemo as useMemo30 } from "react";
228
+ import React32, { useMemo as useMemo30 } from "react";
226
229
  import { jsx as jsx322 } from "react/jsx-runtime";
227
230
  import { Children, forwardRef as forwardRef10, useMemo as useMemo31 } from "react";
228
- import React32 from "react";
229
- import React33, { createContext as createContext21 } from "react";
231
+ import React33 from "react";
232
+ import React34, { createContext as createContext21 } from "react";
230
233
  import { jsx as jsx33 } from "react/jsx-runtime";
231
234
  import { jsx as jsx34 } from "react/jsx-runtime";
232
- import React35 from "react";
235
+ import React36 from "react";
233
236
  import { forwardRef as forwardRef12, useCallback as useCallback17, useContext as useContext35 } from "react";
234
237
  import {
235
238
  forwardRef as forwardRef11,
236
239
  useContext as useContext34,
237
- useEffect as useEffect22,
238
- useImperativeHandle as useImperativeHandle10,
239
- useLayoutEffect as useLayoutEffect10,
240
+ useEffect as useEffect21,
241
+ useImperativeHandle as useImperativeHandle11,
242
+ useLayoutEffect as useLayoutEffect11,
240
243
  useMemo as useMemo32,
241
244
  useRef as useRef17
242
245
  } from "react";
@@ -451,18 +454,18 @@ function exponentialBackoff(errorCount) {
451
454
  return 1000 * 2 ** (errorCount - 1);
452
455
  }
453
456
  function useRemotionContexts() {
454
- const compositionManagerCtx = React31.useContext(CompositionManager);
455
- const timelineContext = React31.useContext(TimelineContext);
456
- const setTimelineContext = React31.useContext(SetTimelineContext);
457
- const sequenceContext = React31.useContext(SequenceContext);
458
- const nonceContext = React31.useContext(NonceContext);
459
- const canUseRemotionHooksContext = React31.useContext(CanUseRemotionHooks);
460
- const preloadContext = React31.useContext(PreloadContext);
461
- const resolveCompositionContext = React31.useContext(ResolveCompositionContext);
462
- const renderAssetManagerContext = React31.useContext(RenderAssetManager);
463
- const sequenceManagerContext = React31.useContext(SequenceManager);
464
- const bufferManagerContext = React31.useContext(BufferingContextReact);
465
- const logLevelContext = React31.useContext(LogLevelContext);
457
+ const compositionManagerCtx = React32.useContext(CompositionManager);
458
+ const timelineContext = React32.useContext(TimelineContext);
459
+ const setTimelineContext = React32.useContext(SetTimelineContext);
460
+ const sequenceContext = React32.useContext(SequenceContext);
461
+ const nonceContext = React32.useContext(NonceContext);
462
+ const canUseRemotionHooksContext = React32.useContext(CanUseRemotionHooks);
463
+ const preloadContext = React32.useContext(PreloadContext);
464
+ const resolveCompositionContext = React32.useContext(ResolveCompositionContext);
465
+ const renderAssetManagerContext = React32.useContext(RenderAssetManager);
466
+ const sequenceManagerContext = React32.useContext(SequenceManager);
467
+ const bufferManagerContext = React32.useContext(BufferingContextReact);
468
+ const logLevelContext = React32.useContext(LogLevelContext);
466
469
  return useMemo30(() => ({
467
470
  compositionManagerCtx,
468
471
  timelineContext,
@@ -753,7 +756,7 @@ var __defProp2, __export2 = (target, all) => {
753
756
  });
754
757
  }, useIsPlayer = () => {
755
758
  return useContext(IsPlayerContext);
756
- }, VERSION = "4.0.375", checkMultipleRemotionVersions = () => {
759
+ }, VERSION = "4.0.377", checkMultipleRemotionVersions = () => {
757
760
  if (typeof globalThis === "undefined") {
758
761
  return;
759
762
  }
@@ -1109,7 +1112,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1109
1112
  calculateMetadata,
1110
1113
  signal,
1111
1114
  defaultProps,
1112
- originalProps,
1115
+ inputProps: originalProps,
1113
1116
  compositionId,
1114
1117
  compositionDurationInFrames,
1115
1118
  compositionFps,
@@ -1246,7 +1249,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1246
1249
  const result = resolveVideoConfigOrCatch({
1247
1250
  compositionId,
1248
1251
  calculateMetadata,
1249
- originalProps: combinedProps,
1252
+ inputProps: combinedProps,
1250
1253
  signal,
1251
1254
  defaultProps,
1252
1255
  compositionDurationInFrames,
@@ -2427,7 +2430,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
2427
2430
  return;
2428
2431
  }
2429
2432
  validateContent(artifact.content);
2430
- }, RenderAssetManager, RenderAssetManagerProvider = ({ children }) => {
2433
+ }, RenderAssetManager, RenderAssetManagerProvider = ({ children, collectAssets }) => {
2431
2434
  const [renderAssets, setRenderAssets] = useState8([]);
2432
2435
  const registerRenderAsset = useCallback6((renderAsset) => {
2433
2436
  validateRenderAsset(renderAsset);
@@ -2435,6 +2438,18 @@ Check that all your Remotion packages are on the same version. If your dependenc
2435
2438
  return [...assets, renderAsset];
2436
2439
  });
2437
2440
  }, []);
2441
+ if (collectAssets) {
2442
+ useImperativeHandle5(collectAssets, () => {
2443
+ return {
2444
+ collectAssets: () => {
2445
+ flushSync(() => {
2446
+ setRenderAssets([]);
2447
+ });
2448
+ return renderAssets;
2449
+ }
2450
+ };
2451
+ }, [renderAssets]);
2452
+ }
2438
2453
  const unregisterRenderAsset = useCallback6((id) => {
2439
2454
  setRenderAssets((assts) => {
2440
2455
  return assts.filter((a) => a.id !== id);
@@ -2466,7 +2481,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
2466
2481
  const [id] = useState9(() => {
2467
2482
  return String(Math.random());
2468
2483
  });
2469
- useEffect5(() => {
2484
+ useLayoutEffect4(() => {
2470
2485
  if (!env.isRendering) {
2471
2486
  return;
2472
2487
  }
@@ -2600,7 +2615,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
2600
2615
  updaters.forEach((u) => u());
2601
2616
  }, PrefetchProvider = ({ children }) => {
2602
2617
  const [_preloads, _setPreloads] = useState10(() => preloads);
2603
- useEffect6(() => {
2618
+ useEffect5(() => {
2604
2619
  const updaterFunction = () => {
2605
2620
  _setPreloads(preloads);
2606
2621
  };
@@ -3193,7 +3208,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3193
3208
  audios.current = [];
3194
3209
  rerenderAudios();
3195
3210
  }, [numberOfAudioTags, rerenderAudios]);
3196
- useEffect7(() => {
3211
+ useEffect6(() => {
3197
3212
  return () => {
3198
3213
  resetAudio();
3199
3214
  };
@@ -3376,7 +3391,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3376
3391
  }
3377
3392
  const { audioContext } = sharedAudioContext;
3378
3393
  if (typeof window !== "undefined") {
3379
- useLayoutEffect4(() => {
3394
+ useLayoutEffect5(() => {
3380
3395
  if (!audioContext) {
3381
3396
  return;
3382
3397
  }
@@ -3505,7 +3520,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3505
3520
  });
3506
3521
  }).join(",");
3507
3522
  }, [duration, startsAt, volume, mediaVolume]);
3508
- useEffect8(() => {
3523
+ useEffect7(() => {
3509
3524
  if (typeof volume === "number" && volume !== initialVolume) {
3510
3525
  warnOnce2(`Remotion: The ${mediaType} with src ${src} has changed it's volume. Prefer the callback syntax for setting volume to get better timeline display: https://www.remotion.dev/docs/audio/volume`);
3511
3526
  }
@@ -3558,7 +3573,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3558
3573
  trimBefore: undefined,
3559
3574
  playbackRate
3560
3575
  });
3561
- useEffect8(() => {
3576
+ useEffect7(() => {
3562
3577
  if (!src) {
3563
3578
  throw new Error("No src passed");
3564
3579
  }
@@ -3648,7 +3663,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3648
3663
  }
3649
3664
  };
3650
3665
  }, []);
3651
- useEffect9(() => {
3666
+ useEffect8(() => {
3652
3667
  if (blocks.length > 0) {
3653
3668
  onBufferingCallbacks.forEach((c) => c());
3654
3669
  playbackLogging({
@@ -3660,7 +3675,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3660
3675
  }
3661
3676
  }, [blocks]);
3662
3677
  if (typeof window !== "undefined") {
3663
- useLayoutEffect5(() => {
3678
+ useLayoutEffect6(() => {
3664
3679
  if (blocks.length === 0) {
3665
3680
  onResumeCallbacks.forEach((c) => c());
3666
3681
  playbackLogging({
@@ -3684,7 +3699,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3684
3699
  });
3685
3700
  }, useIsPlayerBuffering = (bufferManager) => {
3686
3701
  const [isBuffering, setIsBuffering] = useState13(bufferManager.buffering.current);
3687
- useEffect9(() => {
3702
+ useEffect8(() => {
3688
3703
  const onBuffer = () => {
3689
3704
  setIsBuffering(true);
3690
3705
  };
@@ -3847,7 +3862,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3847
3862
  }) => {
3848
3863
  const buffer = useBufferState();
3849
3864
  const [isBuffering, setIsBuffering] = useState14(false);
3850
- useEffect10(() => {
3865
+ useEffect9(() => {
3851
3866
  let cleanupFns = [];
3852
3867
  const { current } = element;
3853
3868
  if (!current) {
@@ -3979,7 +3994,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3979
3994
  onVariableFpsVideoDetected
3980
3995
  }) => {
3981
3996
  const currentTime = useRef10(null);
3982
- useEffect11(() => {
3997
+ useEffect10(() => {
3983
3998
  const { current } = mediaRef;
3984
3999
  if (current) {
3985
4000
  currentTime.current = {
@@ -4161,7 +4176,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4161
4176
  return acceptableTimeshift ?? defaultAcceptableTimeshift;
4162
4177
  })();
4163
4178
  const isPlayerBuffering = useIsPlayerBuffering(buffering);
4164
- useEffect12(() => {
4179
+ useEffect11(() => {
4165
4180
  if (mediaRef.current?.paused) {
4166
4181
  return;
4167
4182
  }
@@ -4200,13 +4215,13 @@ Check that all your Remotion packages are on the same version. If your dependenc
4200
4215
  isPostmounting
4201
4216
  ]);
4202
4217
  const env = useRemotionEnvironment();
4203
- useLayoutEffect6(() => {
4218
+ useLayoutEffect7(() => {
4204
4219
  const playbackRateToSet = Math.max(0, playbackRate);
4205
4220
  if (mediaRef.current && mediaRef.current.playbackRate !== playbackRateToSet) {
4206
4221
  mediaRef.current.playbackRate = playbackRateToSet;
4207
4222
  }
4208
4223
  }, [mediaRef, playbackRate]);
4209
- useEffect12(() => {
4224
+ useEffect11(() => {
4210
4225
  const tagName = mediaType === "audio" ? "<Html5Audio>" : "<Html5Video>";
4211
4226
  if (!mediaRef.current) {
4212
4227
  throw new Error(`No ${mediaType} ref found`);
@@ -4334,7 +4349,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4334
4349
  const logLevel = useLogLevel();
4335
4350
  const mountTime = useMountTime();
4336
4351
  const env = useRemotionEnvironment();
4337
- useEffect13(() => {
4352
+ useEffect12(() => {
4338
4353
  const tag = {
4339
4354
  id,
4340
4355
  play: (reason) => {
@@ -4522,12 +4537,12 @@ Check that all your Remotion packages are on the same version. If your dependenc
4522
4537
  volume: userPreferredVolume,
4523
4538
  shouldUseWebAudioApi: useWebAudioApi ?? false
4524
4539
  });
4525
- useImperativeHandle5(ref, () => {
4540
+ useImperativeHandle6(ref, () => {
4526
4541
  return audioRef.current;
4527
4542
  }, [audioRef]);
4528
4543
  const currentOnDurationCallback = useRef12(onDuration);
4529
4544
  currentOnDurationCallback.current = onDuration;
4530
- useEffect14(() => {
4545
+ useEffect13(() => {
4531
4546
  const { current } = audioRef;
4532
4547
  if (!current) {
4533
4548
  return;
@@ -4591,10 +4606,10 @@ Check that all your Remotion packages are on the same version. If your dependenc
4591
4606
  mediaVolume: 1
4592
4607
  });
4593
4608
  warnAboutTooHighVolume(volume);
4594
- useImperativeHandle6(ref, () => {
4609
+ useImperativeHandle7(ref, () => {
4595
4610
  return audioRef.current;
4596
4611
  }, []);
4597
- useEffect15(() => {
4612
+ useEffect14(() => {
4598
4613
  if (!props.src) {
4599
4614
  throw new Error("No src passed");
4600
4615
  }
@@ -4638,7 +4653,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4638
4653
  ]);
4639
4654
  const { src } = props;
4640
4655
  const needsToRenderAudioTag = ref || _remotionInternalNeedsDurationCalculation;
4641
- useLayoutEffect7(() => {
4656
+ useLayoutEffect8(() => {
4642
4657
  if (window.process?.env?.NODE_ENV === "test") {
4643
4658
  return;
4644
4659
  }
@@ -4898,7 +4913,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4898
4913
  }
4899
4914
  }, Fallback = () => {
4900
4915
  const { continueRender: continueRender2, delayRender: delayRender2 } = useDelayRender();
4901
- useEffect17(() => {
4916
+ useEffect16(() => {
4902
4917
  const fallback = delayRender2("Waiting for Root component to unsuspend");
4903
4918
  return () => continueRender2(fallback);
4904
4919
  }, [continueRender2, delayRender2]);
@@ -4935,7 +4950,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4935
4950
  throw new Error("<Composition> mounted inside another composition. See https://remotion.dev/docs/wrong-composition-mount for help.");
4936
4951
  }
4937
4952
  const { folderName, parentName } = useContext29(FolderContext);
4938
- useEffect17(() => {
4953
+ useEffect16(() => {
4939
4954
  if (!id) {
4940
4955
  throw new Error("No id for composition passed.");
4941
4956
  }
@@ -4974,7 +4989,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4974
4989
  registerComposition,
4975
4990
  unregisterComposition
4976
4991
  ]);
4977
- useEffect17(() => {
4992
+ useEffect16(() => {
4978
4993
  window.dispatchEvent(new CustomEvent(PROPS_UPDATED_EXTERNALLY, {
4979
4994
  detail: {
4980
4995
  resetUnsaved: id
@@ -5072,7 +5087,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5072
5087
  if (!_propsValid) {
5073
5088
  throw new Error("typecheck error");
5074
5089
  }
5075
- useImperativeHandle7(ref, () => {
5090
+ useImperativeHandle8(ref, () => {
5076
5091
  return imageRef.current;
5077
5092
  }, []);
5078
5093
  const actualSrc = usePreload(src);
@@ -5114,7 +5129,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5114
5129
  if (typeof window !== "undefined") {
5115
5130
  const isPremounting = Boolean(sequenceContext?.premounting);
5116
5131
  const isPostmounting = Boolean(sequenceContext?.postmounting);
5117
- useLayoutEffect8(() => {
5132
+ useLayoutEffect9(() => {
5118
5133
  if (window.process?.env?.NODE_ENV === "test") {
5119
5134
  if (imageRef.current) {
5120
5135
  imageRef.current.src = actualSrc;
@@ -5239,7 +5254,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5239
5254
  return prevFolders.filter((p) => !(p.name === name && p.parent === parent));
5240
5255
  });
5241
5256
  }, []);
5242
- useImperativeHandle8(compositionsRef, () => {
5257
+ useImperativeHandle9(compositionsRef, () => {
5243
5258
  return {
5244
5259
  getCompositions: () => currentcompositionsRef.current
5245
5260
  };
@@ -5332,7 +5347,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5332
5347
  `;
5333
5348
  }, REMOTION_STUDIO_CONTAINER_ELEMENT = "__remotion-studio-container", getPreviewDomElement = () => {
5334
5349
  return document.getElementById(REMOTION_STUDIO_CONTAINER_ELEMENT);
5335
- }, Root = null, listeners, getRoot = () => {
5350
+ }, MaxMediaCacheSizeContext, Root = null, listeners, getRoot = () => {
5336
5351
  return Root;
5337
5352
  }, waitForRoot = (fn) => {
5338
5353
  if (Root) {
@@ -5373,7 +5388,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5373
5388
  value,
5374
5389
  children
5375
5390
  });
5376
- }, RemotionRoot = ({
5391
+ }, RemotionRootContexts = ({
5377
5392
  children,
5378
5393
  numberOfAudioTags,
5379
5394
  logLevel,
@@ -5399,7 +5414,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5399
5414
  }
5400
5415
  };
5401
5416
  }, []);
5402
- useEffect18(() => {
5417
+ useEffect17(() => {
5403
5418
  if (typeof __webpack_module__ !== "undefined") {
5404
5419
  if (__webpack_module__.hot) {
5405
5420
  __webpack_module__.hot.addStatusHandler((status) => {
@@ -5427,14 +5442,12 @@ Check that all your Remotion packages are on the same version. If your dependenc
5427
5442
  children: /* @__PURE__ */ jsx28(EditorPropsProvider, {
5428
5443
  children: /* @__PURE__ */ jsx28(PrefetchProvider, {
5429
5444
  children: /* @__PURE__ */ jsx28(SequenceManagerProvider, {
5430
- children: /* @__PURE__ */ jsx28(RenderAssetManagerProvider, {
5431
- children: /* @__PURE__ */ jsx28(SharedAudioContextProvider, {
5432
- numberOfAudioTags,
5433
- audioLatencyHint,
5434
- children: /* @__PURE__ */ jsx28(DurationsContextProvider, {
5435
- children: /* @__PURE__ */ jsx28(BufferingProvider, {
5436
- children
5437
- })
5445
+ children: /* @__PURE__ */ jsx28(SharedAudioContextProvider, {
5446
+ numberOfAudioTags,
5447
+ audioLatencyHint,
5448
+ children: /* @__PURE__ */ jsx28(DurationsContextProvider, {
5449
+ children: /* @__PURE__ */ jsx28(BufferingProvider, {
5450
+ children
5438
5451
  })
5439
5452
  })
5440
5453
  })
@@ -5536,7 +5549,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5536
5549
  mediaVolume: 1
5537
5550
  });
5538
5551
  warnAboutTooHighVolume(volume);
5539
- useEffect19(() => {
5552
+ useEffect18(() => {
5540
5553
  if (!src) {
5541
5554
  throw new Error("No src passed");
5542
5555
  }
@@ -5593,7 +5606,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5593
5606
  }, [toneMapped, currentTime, src, transparent]);
5594
5607
  const [imageSrc, setImageSrc] = useState19(null);
5595
5608
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
5596
- useLayoutEffect9(() => {
5609
+ useLayoutEffect10(() => {
5597
5610
  if (!window.remotion_videoEnabled) {
5598
5611
  return;
5599
5612
  }
@@ -5696,7 +5709,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5696
5709
  ref,
5697
5710
  onVideoFrame
5698
5711
  }) => {
5699
- useEffect20(() => {
5712
+ useEffect19(() => {
5700
5713
  const { current } = ref;
5701
5714
  if (!current) {
5702
5715
  return;
@@ -5833,7 +5846,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5833
5846
  duration,
5834
5847
  fps
5835
5848
  });
5836
- useImperativeHandle9(ref, () => {
5849
+ useImperativeHandle10(ref, () => {
5837
5850
  return videoRef.current;
5838
5851
  }, []);
5839
5852
  useState20(() => playbackLogging({
@@ -5842,7 +5855,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5842
5855
  tag: "video",
5843
5856
  mountTime
5844
5857
  }));
5845
- useEffect21(() => {
5858
+ useEffect20(() => {
5846
5859
  const { current } = videoRef;
5847
5860
  if (!current) {
5848
5861
  return;
@@ -5873,7 +5886,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5873
5886
  const currentOnDurationCallback = useRef16(onDuration);
5874
5887
  currentOnDurationCallback.current = onDuration;
5875
5888
  useEmitVideoFrame({ ref: videoRef, onVideoFrame });
5876
- useEffect21(() => {
5889
+ useEffect20(() => {
5877
5890
  const { current } = videoRef;
5878
5891
  if (!current) {
5879
5892
  return;
@@ -5890,7 +5903,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5890
5903
  current.removeEventListener("loadedmetadata", onLoadedMetadata);
5891
5904
  };
5892
5905
  }, [src]);
5893
- useEffect21(() => {
5906
+ useEffect20(() => {
5894
5907
  const { current } = videoRef;
5895
5908
  if (!current) {
5896
5909
  return;
@@ -6135,9 +6148,9 @@ Check that all your Remotion packages are on the same version. If your dependenc
6135
6148
  throw new RangeError(`Cannot use frame ${frame}: Duration of composition is ${durationInFrames}, therefore the highest frame that can be rendered is ${durationInFrames - 1}`);
6136
6149
  }
6137
6150
  }, flattenChildren = (children) => {
6138
- const childrenArray = React32.Children.toArray(children);
6151
+ const childrenArray = React33.Children.toArray(children);
6139
6152
  return childrenArray.reduce((flatChildren, child) => {
6140
- if (child.type === React32.Fragment) {
6153
+ if (child.type === React33.Fragment) {
6141
6154
  return flatChildren.concat(flattenChildren(child.props.children));
6142
6155
  }
6143
6156
  flatChildren.push(child);
@@ -6154,7 +6167,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
6154
6167
  children
6155
6168
  });
6156
6169
  }, useRequireToBeInsideSeries = () => {
6157
- const isInsideSeries = React33.useContext(IsInsideSeriesContext);
6170
+ const isInsideSeries = React34.useContext(IsInsideSeriesContext);
6158
6171
  if (!isInsideSeries) {
6159
6172
  throw new Error("This component must be inside a <Series /> component.");
6160
6173
  }
@@ -6468,7 +6481,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
6468
6481
  mediaVolume: 1
6469
6482
  });
6470
6483
  warnAboutTooHighVolume(volume);
6471
- useEffect22(() => {
6484
+ useEffect21(() => {
6472
6485
  if (!props2.src) {
6473
6486
  throw new Error("No src passed");
6474
6487
  }
@@ -6508,10 +6521,10 @@ Check that all your Remotion packages are on the same version. If your dependenc
6508
6521
  sequenceContext?.relativeFrom,
6509
6522
  audioStreamIndex
6510
6523
  ]);
6511
- useImperativeHandle10(ref, () => {
6524
+ useImperativeHandle11(ref, () => {
6512
6525
  return videoRef.current;
6513
6526
  }, []);
6514
- useEffect22(() => {
6527
+ useEffect21(() => {
6515
6528
  if (!window.remotion_videoEnabled) {
6516
6529
  return;
6517
6530
  }
@@ -6595,7 +6608,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
6595
6608
  ]);
6596
6609
  const { src } = props2;
6597
6610
  if (environment.isRendering) {
6598
- useLayoutEffect10(() => {
6611
+ useLayoutEffect11(() => {
6599
6612
  if (window.process?.env?.NODE_ENV === "test") {
6600
6613
  return;
6601
6614
  }
@@ -7065,9 +7078,10 @@ var init_esm = __esm(() => {
7065
7078
  OBJECTFIT_CONTAIN_CLASS_NAME: () => OBJECTFIT_CONTAIN_CLASS_NAME
7066
7079
  });
7067
7080
  injected = {};
7081
+ MaxMediaCacheSizeContext = React26.createContext(null);
7068
7082
  listeners = [];
7069
7083
  MediaEnabledContext = createContext19(null);
7070
- CurrentScaleContext = React27.createContext(null);
7084
+ CurrentScaleContext = React28.createContext(null);
7071
7085
  PreviewSizeContext = createContext20({
7072
7086
  setSize: () => {
7073
7087
  return;
@@ -7078,6 +7092,7 @@ var init_esm = __esm(() => {
7078
7092
  addSequenceStackTraces(OffthreadVideo);
7079
7093
  compositionSelectorRef = createRef3();
7080
7094
  Internals = {
7095
+ MaxMediaCacheSizeContext,
7081
7096
  useUnsafeVideoConfig,
7082
7097
  useFrameForVolumeProp,
7083
7098
  useTimelinePosition,
@@ -7092,7 +7107,7 @@ var init_esm = __esm(() => {
7092
7107
  CompositionSetters,
7093
7108
  SequenceManager,
7094
7109
  SequenceVisibilityToggleContext,
7095
- RemotionRoot,
7110
+ RemotionRootContexts,
7096
7111
  CompositionManagerProvider,
7097
7112
  useVideo,
7098
7113
  getRoot,
@@ -7170,7 +7185,8 @@ var init_esm = __esm(() => {
7170
7185
  useIsPlayerBuffering,
7171
7186
  TimelinePosition: exports_timeline_position_state,
7172
7187
  DelayRenderContextType,
7173
- TimelineContext
7188
+ TimelineContext,
7189
+ RenderAssetManagerProvider
7174
7190
  };
7175
7191
  PERCENTAGE = NUMBER + "%";
7176
7192
  IsInsideSeriesContext = createContext21(false);
@@ -7240,7 +7256,7 @@ __export(exports_esm, {
7240
7256
  Lottie: () => Lottie
7241
7257
  });
7242
7258
  import lottie from "lottie-web";
7243
- import { useEffect as useEffect40, useRef as useRef36, useState as useState37 } from "react";
7259
+ import { useEffect as useEffect39, useRef as useRef36, useState as useState37 } from "react";
7244
7260
  import { jsx as jsx59 } from "react/jsx-runtime";
7245
7261
  var getLottieMetadata = (animationData) => {
7246
7262
  const width2 = animationData.w;
@@ -7312,14 +7328,14 @@ var getLottieMetadata = (animationData) => {
7312
7328
  onAnimationLoadedRef.current = onAnimationLoaded;
7313
7329
  const { delayRender, continueRender } = useDelayRender();
7314
7330
  const [handle] = useState37(() => delayRender("Waiting for Lottie animation to load"));
7315
- useEffect40(() => {
7331
+ useEffect39(() => {
7316
7332
  return () => {
7317
7333
  continueRender(handle);
7318
7334
  };
7319
7335
  }, [handle, continueRender]);
7320
7336
  const frame = useCurrentFrame();
7321
7337
  currentFrameRef.current = frame;
7322
- useEffect40(() => {
7338
+ useEffect39(() => {
7323
7339
  if (!containerRef.current) {
7324
7340
  return;
7325
7341
  }
@@ -7364,17 +7380,17 @@ var getLottieMetadata = (animationData) => {
7364
7380
  renderer,
7365
7381
  continueRender
7366
7382
  ]);
7367
- useEffect40(() => {
7383
+ useEffect39(() => {
7368
7384
  if (animationRef.current && direction) {
7369
7385
  animationRef.current.setDirection(direction === "backward" ? -1 : 1);
7370
7386
  }
7371
7387
  }, [direction]);
7372
- useEffect40(() => {
7388
+ useEffect39(() => {
7373
7389
  if (animationRef.current && playbackRate) {
7374
7390
  animationRef.current.setSpeed(playbackRate);
7375
7391
  }
7376
7392
  }, [playbackRate]);
7377
- useEffect40(() => {
7393
+ useEffect39(() => {
7378
7394
  if (!animationRef.current) {
7379
7395
  return;
7380
7396
  }
@@ -8751,7 +8767,7 @@ var getDefaultConfig = () => {
8751
8767
  var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
8752
8768
 
8753
8769
  // ../design/dist/esm/index.mjs
8754
- import React7, { useEffect as useEffect23, useMemo as useMemo33, useState as useState21 } from "react";
8770
+ import React7, { useEffect as useEffect22, useMemo as useMemo33, useState as useState21 } from "react";
8755
8771
 
8756
8772
  // ../paths/dist/esm/index.mjs
8757
8773
  var cutLInstruction = ({
@@ -12892,7 +12908,7 @@ var extrudeAndTransformElement = (options) => {
12892
12908
  init_esm();
12893
12909
  import { jsx as jsx37, Fragment } from "react/jsx-runtime";
12894
12910
  import { jsx as jsx210, jsxs as jsxs3 } from "react/jsx-runtime";
12895
- import { useEffect as useEffect24, useMemo as useMemo210, useRef as useRef18 } from "react";
12911
+ import { useEffect as useEffect23, useMemo as useMemo210, useRef as useRef18 } from "react";
12896
12912
  import { jsx as jsx38 } from "react/jsx-runtime";
12897
12913
  import { jsx as jsx43, jsxs as jsxs23 } from "react/jsx-runtime";
12898
12914
  import React42 from "react";
@@ -12902,7 +12918,7 @@ import { jsx as jsx73, jsxs as jsxs32 } from "react/jsx-runtime";
12902
12918
  import React52 from "react";
12903
12919
  import { jsx as jsx83 } from "react/jsx-runtime";
12904
12920
  import { jsx as jsx93 } from "react/jsx-runtime";
12905
- import * as React34 from "react";
12921
+ import * as React342 from "react";
12906
12922
  import * as ReactDOM4 from "react-dom";
12907
12923
  import React9 from "react";
12908
12924
  import * as React62 from "react";
@@ -12938,20 +12954,20 @@ import ReactDOM3 from "react-dom";
12938
12954
  import { jsx as jsx192 } from "react/jsx-runtime";
12939
12955
  import * as React24 from "react";
12940
12956
  import * as React252 from "react";
12941
- import * as React26 from "react";
12957
+ import * as React262 from "react";
12942
12958
  import { jsx as jsx202 } from "react/jsx-runtime";
12943
12959
  import * as React332 from "react";
12944
12960
  import * as React29 from "react";
12945
12961
  import { useState as useState112 } from "react";
12946
- import * as React272 from "react";
12947
- import * as React28 from "react";
12962
+ import * as React27 from "react";
12963
+ import * as React282 from "react";
12948
12964
  import * as React322 from "react";
12949
- import * as React312 from "react";
12965
+ import * as React31 from "react";
12950
12966
  import * as React30 from "react";
12951
12967
  import { Fragment as Fragment52, jsx as jsx212, jsxs as jsxs4 } from "react/jsx-runtime";
12952
12968
  import { forwardRef as forwardRef132, createElement as createElement7 } from "react";
12953
12969
  import { forwardRef as forwardRef122, createElement as createElement6 } from "react";
12954
- import * as React352 from "react";
12970
+ import * as React35 from "react";
12955
12971
  import { jsx as jsx223, jsxs as jsxs5 } from "react/jsx-runtime";
12956
12972
  import { jsx as jsx232 } from "react/jsx-runtime";
12957
12973
  import { jsx as jsx242 } from "react/jsx-runtime";
@@ -12978,7 +12994,7 @@ var useHoverTransforms = (ref, disabled) => {
12978
12994
  isActive: false
12979
12995
  });
12980
12996
  const eventTarget = useMemo33(() => new EventTarget, []);
12981
- useEffect23(() => {
12997
+ useEffect22(() => {
12982
12998
  if (disabled) {
12983
12999
  eventTarget.dispatchEvent(new Event("disabled"));
12984
13000
  } else {
@@ -13125,7 +13141,7 @@ var getAngle = (ref, coordinates) => {
13125
13141
  var lastCoordinates = null;
13126
13142
  var useMousePosition = (ref) => {
13127
13143
  const [angle, setAngle] = useState21(getAngle(ref.current, lastCoordinates));
13128
- useEffect23(() => {
13144
+ useEffect22(() => {
13129
13145
  const element = ref.current;
13130
13146
  if (!element) {
13131
13147
  return;
@@ -13246,7 +13262,7 @@ var Spinner = ({ size, duration }) => {
13246
13262
  };
13247
13263
  }, [size]);
13248
13264
  const pathsRef = useRef18([]);
13249
- useEffect24(() => {
13265
+ useEffect23(() => {
13250
13266
  const animate = () => {
13251
13267
  const now = performance.now();
13252
13268
  for (let index = 0;index < lines; index++) {
@@ -16324,7 +16340,7 @@ function usePrevious(value) {
16324
16340
  }, [value]);
16325
16341
  }
16326
16342
  var NAME2 = "VisuallyHidden";
16327
- var VisuallyHidden = React26.forwardRef((props, forwardedRef) => {
16343
+ var VisuallyHidden = React262.forwardRef((props, forwardedRef) => {
16328
16344
  return /* @__PURE__ */ jsx202(Primitive.span, {
16329
16345
  ...props,
16330
16346
  ref: forwardedRef,
@@ -16532,7 +16548,7 @@ function useCallbackRef2(initialValue, callback) {
16532
16548
  ref.callback = callback;
16533
16549
  return ref.facade;
16534
16550
  }
16535
- var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React272.useLayoutEffect : React272.useEffect;
16551
+ var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React27.useLayoutEffect : React27.useEffect;
16536
16552
  var currentValues = new WeakMap;
16537
16553
  function useMergeRefs(refs, defaultValue) {
16538
16554
  var callbackRef = useCallbackRef2(defaultValue || null, function(newValue) {
@@ -16654,7 +16670,7 @@ var SideCar = function(_a) {
16654
16670
  if (!Target) {
16655
16671
  throw new Error("Sidecar medium not found");
16656
16672
  }
16657
- return React28.createElement(Target, __assign({}, rest));
16673
+ return React282.createElement(Target, __assign({}, rest));
16658
16674
  };
16659
16675
  SideCar.isSideCarExport = true;
16660
16676
  function exportSidecar(medium, exported) {
@@ -16849,7 +16865,7 @@ var getCurrentUseCounter = function() {
16849
16865
  return isFinite(counter) ? counter : 0;
16850
16866
  };
16851
16867
  var useLockAttribute = function() {
16852
- React312.useEffect(function() {
16868
+ React31.useEffect(function() {
16853
16869
  document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());
16854
16870
  return function() {
16855
16871
  var newCounter = getCurrentUseCounter() - 1;
@@ -16864,10 +16880,10 @@ var useLockAttribute = function() {
16864
16880
  var RemoveScrollBar = function(_a) {
16865
16881
  var { noRelative, noImportant, gapMode: _b } = _a, gapMode = _b === undefined ? "margin" : _b;
16866
16882
  useLockAttribute();
16867
- var gap = React312.useMemo(function() {
16883
+ var gap = React31.useMemo(function() {
16868
16884
  return getGapWidth(gapMode);
16869
16885
  }, [gapMode]);
16870
- return React312.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? "!important" : "") });
16886
+ return React31.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? "!important" : "") });
16871
16887
  };
16872
16888
  var passiveSupported = false;
16873
16889
  if (typeof window !== "undefined") {
@@ -17168,9 +17184,9 @@ var Select = (props) => {
17168
17184
  required
17169
17185
  } = props;
17170
17186
  const popperScope = usePopperScope(__scopeSelect);
17171
- const [trigger, setTrigger] = React34.useState(null);
17172
- const [valueNode, setValueNode] = React34.useState(null);
17173
- const [valueNodeHasChildren, setValueNodeHasChildren] = React34.useState(false);
17187
+ const [trigger, setTrigger] = React342.useState(null);
17188
+ const [valueNode, setValueNode] = React342.useState(null);
17189
+ const [valueNodeHasChildren, setValueNodeHasChildren] = React342.useState(false);
17174
17190
  const direction = useDirection(dir);
17175
17191
  const [open = false, setOpen] = useControllableState({
17176
17192
  prop: openProp,
@@ -17182,9 +17198,9 @@ var Select = (props) => {
17182
17198
  defaultProp: defaultValue,
17183
17199
  onChange: onValueChange
17184
17200
  });
17185
- const triggerPointerDownPosRef = React34.useRef(null);
17201
+ const triggerPointerDownPosRef = React342.useRef(null);
17186
17202
  const isFormControl = trigger ? Boolean(trigger.closest("form")) : true;
17187
- const [nativeOptionsSet, setNativeOptionsSet] = React34.useState(/* @__PURE__ */ new Set);
17203
+ const [nativeOptionsSet, setNativeOptionsSet] = React342.useState(/* @__PURE__ */ new Set);
17188
17204
  const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(";");
17189
17205
  return /* @__PURE__ */ jsx212(Root22, { ...popperScope, children: /* @__PURE__ */ jsxs4(SelectProvider, {
17190
17206
  required,
@@ -17206,10 +17222,10 @@ var Select = (props) => {
17206
17222
  children: [
17207
17223
  /* @__PURE__ */ jsx212(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx212(SelectNativeOptionsProvider, {
17208
17224
  scope: props.__scopeSelect,
17209
- onNativeOptionAdd: React34.useCallback((option) => {
17225
+ onNativeOptionAdd: React342.useCallback((option) => {
17210
17226
  setNativeOptionsSet((prev) => new Set(prev).add(option));
17211
17227
  }, []),
17212
- onNativeOptionRemove: React34.useCallback((option) => {
17228
+ onNativeOptionRemove: React342.useCallback((option) => {
17213
17229
  setNativeOptionsSet((prev) => {
17214
17230
  const optionsSet = new Set(prev);
17215
17231
  optionsSet.delete(option);
@@ -17237,7 +17253,7 @@ var Select = (props) => {
17237
17253
  };
17238
17254
  Select.displayName = SELECT_NAME;
17239
17255
  var TRIGGER_NAME = "SelectTrigger";
17240
- var SelectTrigger = React34.forwardRef((props, forwardedRef) => {
17256
+ var SelectTrigger = React342.forwardRef((props, forwardedRef) => {
17241
17257
  const { __scopeSelect, disabled = false, ...triggerProps } = props;
17242
17258
  const popperScope = usePopperScope(__scopeSelect);
17243
17259
  const context = useSelectContext(TRIGGER_NAME, __scopeSelect);
@@ -17305,7 +17321,7 @@ var SelectTrigger = React34.forwardRef((props, forwardedRef) => {
17305
17321
  });
17306
17322
  SelectTrigger.displayName = TRIGGER_NAME;
17307
17323
  var VALUE_NAME = "SelectValue";
17308
- var SelectValue = React34.forwardRef((props, forwardedRef) => {
17324
+ var SelectValue = React342.forwardRef((props, forwardedRef) => {
17309
17325
  const { __scopeSelect, className, style, children, placeholder = "", ...valueProps } = props;
17310
17326
  const context = useSelectContext(VALUE_NAME, __scopeSelect);
17311
17327
  const { onValueNodeHasChildrenChange } = context;
@@ -17323,7 +17339,7 @@ var SelectValue = React34.forwardRef((props, forwardedRef) => {
17323
17339
  });
17324
17340
  SelectValue.displayName = VALUE_NAME;
17325
17341
  var ICON_NAME = "SelectIcon";
17326
- var SelectIcon = React34.forwardRef((props, forwardedRef) => {
17342
+ var SelectIcon = React342.forwardRef((props, forwardedRef) => {
17327
17343
  const { __scopeSelect, children, ...iconProps } = props;
17328
17344
  return /* @__PURE__ */ jsx212(Primitive.span, { "aria-hidden": true, ...iconProps, ref: forwardedRef, children: children || "▼" });
17329
17345
  });
@@ -17334,9 +17350,9 @@ var SelectPortal = (props) => {
17334
17350
  };
17335
17351
  SelectPortal.displayName = PORTAL_NAME2;
17336
17352
  var CONTENT_NAME2 = "SelectContent";
17337
- var SelectContent = React34.forwardRef((props, forwardedRef) => {
17353
+ var SelectContent = React342.forwardRef((props, forwardedRef) => {
17338
17354
  const context = useSelectContext(CONTENT_NAME2, props.__scopeSelect);
17339
- const [fragment, setFragment] = React34.useState();
17355
+ const [fragment, setFragment] = React342.useState();
17340
17356
  useLayoutEffect22(() => {
17341
17357
  setFragment(new DocumentFragment);
17342
17358
  }, []);
@@ -17350,7 +17366,7 @@ SelectContent.displayName = CONTENT_NAME2;
17350
17366
  var CONTENT_MARGIN = 10;
17351
17367
  var [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME2);
17352
17368
  var CONTENT_IMPL_NAME = "SelectContentImpl";
17353
- var SelectContentImpl = React34.forwardRef((props, forwardedRef) => {
17369
+ var SelectContentImpl = React342.forwardRef((props, forwardedRef) => {
17354
17370
  const {
17355
17371
  __scopeSelect,
17356
17372
  position = "item-aligned",
@@ -17370,20 +17386,20 @@ var SelectContentImpl = React34.forwardRef((props, forwardedRef) => {
17370
17386
  ...contentProps
17371
17387
  } = props;
17372
17388
  const context = useSelectContext(CONTENT_NAME2, __scopeSelect);
17373
- const [content, setContent] = React34.useState(null);
17374
- const [viewport, setViewport] = React34.useState(null);
17389
+ const [content, setContent] = React342.useState(null);
17390
+ const [viewport, setViewport] = React342.useState(null);
17375
17391
  const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));
17376
- const [selectedItem, setSelectedItem] = React34.useState(null);
17377
- const [selectedItemText, setSelectedItemText] = React34.useState(null);
17392
+ const [selectedItem, setSelectedItem] = React342.useState(null);
17393
+ const [selectedItemText, setSelectedItemText] = React342.useState(null);
17378
17394
  const getItems = useCollection(__scopeSelect);
17379
- const [isPositioned, setIsPositioned] = React34.useState(false);
17380
- const firstValidItemFoundRef = React34.useRef(false);
17381
- React34.useEffect(() => {
17395
+ const [isPositioned, setIsPositioned] = React342.useState(false);
17396
+ const firstValidItemFoundRef = React342.useRef(false);
17397
+ React342.useEffect(() => {
17382
17398
  if (content)
17383
17399
  return hideOthers(content);
17384
17400
  }, [content]);
17385
17401
  useFocusGuards();
17386
- const focusFirst2 = React34.useCallback((candidates) => {
17402
+ const focusFirst2 = React342.useCallback((candidates) => {
17387
17403
  const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);
17388
17404
  const [lastItem] = restItems.slice(-1);
17389
17405
  const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
@@ -17400,14 +17416,14 @@ var SelectContentImpl = React34.forwardRef((props, forwardedRef) => {
17400
17416
  return;
17401
17417
  }
17402
17418
  }, [getItems, viewport]);
17403
- const focusSelectedItem = React34.useCallback(() => focusFirst2([selectedItem, content]), [focusFirst2, selectedItem, content]);
17404
- React34.useEffect(() => {
17419
+ const focusSelectedItem = React342.useCallback(() => focusFirst2([selectedItem, content]), [focusFirst2, selectedItem, content]);
17420
+ React342.useEffect(() => {
17405
17421
  if (isPositioned) {
17406
17422
  focusSelectedItem();
17407
17423
  }
17408
17424
  }, [isPositioned, focusSelectedItem]);
17409
17425
  const { onOpenChange, triggerPointerDownPosRef } = context;
17410
- React34.useEffect(() => {
17426
+ React342.useEffect(() => {
17411
17427
  if (content) {
17412
17428
  let pointerMoveDelta = { x: 0, y: 0 };
17413
17429
  const handlePointerMove = (event) => {
@@ -17437,7 +17453,7 @@ var SelectContentImpl = React34.forwardRef((props, forwardedRef) => {
17437
17453
  };
17438
17454
  }
17439
17455
  }, [content, onOpenChange, triggerPointerDownPosRef]);
17440
- React34.useEffect(() => {
17456
+ React342.useEffect(() => {
17441
17457
  const close = () => onOpenChange(false);
17442
17458
  window.addEventListener("blur", close);
17443
17459
  window.addEventListener("resize", close);
@@ -17454,7 +17470,7 @@ var SelectContentImpl = React34.forwardRef((props, forwardedRef) => {
17454
17470
  setTimeout(() => nextItem.ref.current.focus());
17455
17471
  }
17456
17472
  });
17457
- const itemRefCallback = React34.useCallback((node, value, disabled) => {
17473
+ const itemRefCallback = React342.useCallback((node, value, disabled) => {
17458
17474
  const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;
17459
17475
  const isSelectedItem = context.value !== undefined && context.value === value;
17460
17476
  if (isSelectedItem || isFirstValidItem) {
@@ -17463,8 +17479,8 @@ var SelectContentImpl = React34.forwardRef((props, forwardedRef) => {
17463
17479
  firstValidItemFoundRef.current = true;
17464
17480
  }
17465
17481
  }, [context.value]);
17466
- const handleItemLeave = React34.useCallback(() => content?.focus(), [content]);
17467
- const itemTextRefCallback = React34.useCallback((node, value, disabled) => {
17482
+ const handleItemLeave = React342.useCallback(() => content?.focus(), [content]);
17483
+ const itemTextRefCallback = React342.useCallback((node, value, disabled) => {
17468
17484
  const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;
17469
17485
  const isSelectedItem = context.value !== undefined && context.value === value;
17470
17486
  if (isSelectedItem || isFirstValidItem) {
@@ -17559,18 +17575,18 @@ var SelectContentImpl = React34.forwardRef((props, forwardedRef) => {
17559
17575
  });
17560
17576
  SelectContentImpl.displayName = CONTENT_IMPL_NAME;
17561
17577
  var ITEM_ALIGNED_POSITION_NAME = "SelectItemAlignedPosition";
17562
- var SelectItemAlignedPosition = React34.forwardRef((props, forwardedRef) => {
17578
+ var SelectItemAlignedPosition = React342.forwardRef((props, forwardedRef) => {
17563
17579
  const { __scopeSelect, onPlaced, ...popperProps } = props;
17564
17580
  const context = useSelectContext(CONTENT_NAME2, __scopeSelect);
17565
17581
  const contentContext = useSelectContentContext(CONTENT_NAME2, __scopeSelect);
17566
- const [contentWrapper, setContentWrapper] = React34.useState(null);
17567
- const [content, setContent] = React34.useState(null);
17582
+ const [contentWrapper, setContentWrapper] = React342.useState(null);
17583
+ const [content, setContent] = React342.useState(null);
17568
17584
  const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));
17569
17585
  const getItems = useCollection(__scopeSelect);
17570
- const shouldExpandOnScrollRef = React34.useRef(false);
17571
- const shouldRepositionRef = React34.useRef(true);
17586
+ const shouldExpandOnScrollRef = React342.useRef(false);
17587
+ const shouldRepositionRef = React342.useRef(true);
17572
17588
  const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;
17573
- const position = React34.useCallback(() => {
17589
+ const position = React342.useCallback(() => {
17574
17590
  if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {
17575
17591
  const triggerRect = context.trigger.getBoundingClientRect();
17576
17592
  const contentRect = content.getBoundingClientRect();
@@ -17651,12 +17667,12 @@ var SelectItemAlignedPosition = React34.forwardRef((props, forwardedRef) => {
17651
17667
  onPlaced
17652
17668
  ]);
17653
17669
  useLayoutEffect22(() => position(), [position]);
17654
- const [contentZIndex, setContentZIndex] = React34.useState();
17670
+ const [contentZIndex, setContentZIndex] = React342.useState();
17655
17671
  useLayoutEffect22(() => {
17656
17672
  if (content)
17657
17673
  setContentZIndex(window.getComputedStyle(content).zIndex);
17658
17674
  }, [content]);
17659
- const handleScrollButtonChange = React34.useCallback((node) => {
17675
+ const handleScrollButtonChange = React342.useCallback((node) => {
17660
17676
  if (node && shouldRepositionRef.current === true) {
17661
17677
  position();
17662
17678
  focusSelectedItem?.();
@@ -17690,7 +17706,7 @@ var SelectItemAlignedPosition = React34.forwardRef((props, forwardedRef) => {
17690
17706
  });
17691
17707
  SelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;
17692
17708
  var POPPER_POSITION_NAME = "SelectPopperPosition";
17693
- var SelectPopperPosition = React34.forwardRef((props, forwardedRef) => {
17709
+ var SelectPopperPosition = React342.forwardRef((props, forwardedRef) => {
17694
17710
  const {
17695
17711
  __scopeSelect,
17696
17712
  align = "start",
@@ -17720,12 +17736,12 @@ var SelectPopperPosition = React34.forwardRef((props, forwardedRef) => {
17720
17736
  SelectPopperPosition.displayName = POPPER_POSITION_NAME;
17721
17737
  var [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME2, {});
17722
17738
  var VIEWPORT_NAME = "SelectViewport";
17723
- var SelectViewport = React34.forwardRef((props, forwardedRef) => {
17739
+ var SelectViewport = React342.forwardRef((props, forwardedRef) => {
17724
17740
  const { __scopeSelect, nonce, ...viewportProps } = props;
17725
17741
  const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);
17726
17742
  const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);
17727
17743
  const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);
17728
- const prevScrollTopRef = React34.useRef(0);
17744
+ const prevScrollTopRef = React342.useRef(0);
17729
17745
  return /* @__PURE__ */ jsxs4(Fragment52, { children: [
17730
17746
  /* @__PURE__ */ jsx212("style", {
17731
17747
  dangerouslySetInnerHTML: {
@@ -17774,14 +17790,14 @@ var SelectViewport = React34.forwardRef((props, forwardedRef) => {
17774
17790
  SelectViewport.displayName = VIEWPORT_NAME;
17775
17791
  var GROUP_NAME = "SelectGroup";
17776
17792
  var [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);
17777
- var SelectGroup = React34.forwardRef((props, forwardedRef) => {
17793
+ var SelectGroup = React342.forwardRef((props, forwardedRef) => {
17778
17794
  const { __scopeSelect, ...groupProps } = props;
17779
17795
  const groupId = useId();
17780
17796
  return /* @__PURE__ */ jsx212(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx212(Primitive.div, { role: "group", "aria-labelledby": groupId, ...groupProps, ref: forwardedRef }) });
17781
17797
  });
17782
17798
  SelectGroup.displayName = GROUP_NAME;
17783
17799
  var LABEL_NAME = "SelectLabel";
17784
- var SelectLabel = React34.forwardRef((props, forwardedRef) => {
17800
+ var SelectLabel = React342.forwardRef((props, forwardedRef) => {
17785
17801
  const { __scopeSelect, ...labelProps } = props;
17786
17802
  const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);
17787
17803
  return /* @__PURE__ */ jsx212(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });
@@ -17789,7 +17805,7 @@ var SelectLabel = React34.forwardRef((props, forwardedRef) => {
17789
17805
  SelectLabel.displayName = LABEL_NAME;
17790
17806
  var ITEM_NAME = "SelectItem";
17791
17807
  var [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);
17792
- var SelectItem = React34.forwardRef((props, forwardedRef) => {
17808
+ var SelectItem = React342.forwardRef((props, forwardedRef) => {
17793
17809
  const {
17794
17810
  __scopeSelect,
17795
17811
  value,
@@ -17800,8 +17816,8 @@ var SelectItem = React34.forwardRef((props, forwardedRef) => {
17800
17816
  const context = useSelectContext(ITEM_NAME, __scopeSelect);
17801
17817
  const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);
17802
17818
  const isSelected = context.value === value;
17803
- const [textValue, setTextValue] = React34.useState(textValueProp ?? "");
17804
- const [isFocused, setIsFocused] = React34.useState(false);
17819
+ const [textValue, setTextValue] = React342.useState(textValueProp ?? "");
17820
+ const [isFocused, setIsFocused] = React342.useState(false);
17805
17821
  const composedRefs = useComposedRefs(forwardedRef, (node) => contentContext.itemRefCallback?.(node, value, disabled));
17806
17822
  const textId = useId();
17807
17823
  const handleSelect = () => {
@@ -17819,7 +17835,7 @@ var SelectItem = React34.forwardRef((props, forwardedRef) => {
17819
17835
  disabled,
17820
17836
  textId,
17821
17837
  isSelected,
17822
- onItemTextChange: React34.useCallback((node) => {
17838
+ onItemTextChange: React342.useCallback((node) => {
17823
17839
  setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? "").trim());
17824
17840
  }, []),
17825
17841
  children: /* @__PURE__ */ jsx212(Collection.ItemSlot, {
@@ -17868,16 +17884,16 @@ var SelectItem = React34.forwardRef((props, forwardedRef) => {
17868
17884
  });
17869
17885
  SelectItem.displayName = ITEM_NAME;
17870
17886
  var ITEM_TEXT_NAME = "SelectItemText";
17871
- var SelectItemText = React34.forwardRef((props, forwardedRef) => {
17887
+ var SelectItemText = React342.forwardRef((props, forwardedRef) => {
17872
17888
  const { __scopeSelect, className, style, ...itemTextProps } = props;
17873
17889
  const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);
17874
17890
  const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);
17875
17891
  const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);
17876
17892
  const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);
17877
- const [itemTextNode, setItemTextNode] = React34.useState(null);
17893
+ const [itemTextNode, setItemTextNode] = React342.useState(null);
17878
17894
  const composedRefs = useComposedRefs(forwardedRef, (node) => setItemTextNode(node), itemContext.onItemTextChange, (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled));
17879
17895
  const textContent = itemTextNode?.textContent;
17880
- const nativeOption = React34.useMemo(() => /* @__PURE__ */ jsx212("option", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value), [itemContext.disabled, itemContext.value, textContent]);
17896
+ const nativeOption = React342.useMemo(() => /* @__PURE__ */ jsx212("option", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value), [itemContext.disabled, itemContext.value, textContent]);
17881
17897
  const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;
17882
17898
  useLayoutEffect22(() => {
17883
17899
  onNativeOptionAdd(nativeOption);
@@ -17890,17 +17906,17 @@ var SelectItemText = React34.forwardRef((props, forwardedRef) => {
17890
17906
  });
17891
17907
  SelectItemText.displayName = ITEM_TEXT_NAME;
17892
17908
  var ITEM_INDICATOR_NAME = "SelectItemIndicator";
17893
- var SelectItemIndicator = React34.forwardRef((props, forwardedRef) => {
17909
+ var SelectItemIndicator = React342.forwardRef((props, forwardedRef) => {
17894
17910
  const { __scopeSelect, ...itemIndicatorProps } = props;
17895
17911
  const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);
17896
17912
  return itemContext.isSelected ? /* @__PURE__ */ jsx212(Primitive.span, { "aria-hidden": true, ...itemIndicatorProps, ref: forwardedRef }) : null;
17897
17913
  });
17898
17914
  SelectItemIndicator.displayName = ITEM_INDICATOR_NAME;
17899
17915
  var SCROLL_UP_BUTTON_NAME = "SelectScrollUpButton";
17900
- var SelectScrollUpButton = React34.forwardRef((props, forwardedRef) => {
17916
+ var SelectScrollUpButton = React342.forwardRef((props, forwardedRef) => {
17901
17917
  const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);
17902
17918
  const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);
17903
- const [canScrollUp, setCanScrollUp] = React34.useState(false);
17919
+ const [canScrollUp, setCanScrollUp] = React342.useState(false);
17904
17920
  const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);
17905
17921
  useLayoutEffect22(() => {
17906
17922
  if (contentContext.viewport && contentContext.isPositioned) {
@@ -17928,10 +17944,10 @@ var SelectScrollUpButton = React34.forwardRef((props, forwardedRef) => {
17928
17944
  });
17929
17945
  SelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;
17930
17946
  var SCROLL_DOWN_BUTTON_NAME = "SelectScrollDownButton";
17931
- var SelectScrollDownButton = React34.forwardRef((props, forwardedRef) => {
17947
+ var SelectScrollDownButton = React342.forwardRef((props, forwardedRef) => {
17932
17948
  const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);
17933
17949
  const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);
17934
- const [canScrollDown, setCanScrollDown] = React34.useState(false);
17950
+ const [canScrollDown, setCanScrollDown] = React342.useState(false);
17935
17951
  const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);
17936
17952
  useLayoutEffect22(() => {
17937
17953
  if (contentContext.viewport && contentContext.isPositioned) {
@@ -17959,18 +17975,18 @@ var SelectScrollDownButton = React34.forwardRef((props, forwardedRef) => {
17959
17975
  }) : null;
17960
17976
  });
17961
17977
  SelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;
17962
- var SelectScrollButtonImpl = React34.forwardRef((props, forwardedRef) => {
17978
+ var SelectScrollButtonImpl = React342.forwardRef((props, forwardedRef) => {
17963
17979
  const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;
17964
17980
  const contentContext = useSelectContentContext("SelectScrollButton", __scopeSelect);
17965
- const autoScrollTimerRef = React34.useRef(null);
17981
+ const autoScrollTimerRef = React342.useRef(null);
17966
17982
  const getItems = useCollection(__scopeSelect);
17967
- const clearAutoScrollTimer = React34.useCallback(() => {
17983
+ const clearAutoScrollTimer = React342.useCallback(() => {
17968
17984
  if (autoScrollTimerRef.current !== null) {
17969
17985
  window.clearInterval(autoScrollTimerRef.current);
17970
17986
  autoScrollTimerRef.current = null;
17971
17987
  }
17972
17988
  }, []);
17973
- React34.useEffect(() => {
17989
+ React342.useEffect(() => {
17974
17990
  return () => clearAutoScrollTimer();
17975
17991
  }, [clearAutoScrollTimer]);
17976
17992
  useLayoutEffect22(() => {
@@ -17999,13 +18015,13 @@ var SelectScrollButtonImpl = React34.forwardRef((props, forwardedRef) => {
17999
18015
  });
18000
18016
  });
18001
18017
  var SEPARATOR_NAME = "SelectSeparator";
18002
- var SelectSeparator = React34.forwardRef((props, forwardedRef) => {
18018
+ var SelectSeparator = React342.forwardRef((props, forwardedRef) => {
18003
18019
  const { __scopeSelect, ...separatorProps } = props;
18004
18020
  return /* @__PURE__ */ jsx212(Primitive.div, { "aria-hidden": true, ...separatorProps, ref: forwardedRef });
18005
18021
  });
18006
18022
  SelectSeparator.displayName = SEPARATOR_NAME;
18007
18023
  var ARROW_NAME2 = "SelectArrow";
18008
- var SelectArrow = React34.forwardRef((props, forwardedRef) => {
18024
+ var SelectArrow = React342.forwardRef((props, forwardedRef) => {
18009
18025
  const { __scopeSelect, ...arrowProps } = props;
18010
18026
  const popperScope = usePopperScope(__scopeSelect);
18011
18027
  const context = useSelectContext(ARROW_NAME2, __scopeSelect);
@@ -18016,12 +18032,12 @@ SelectArrow.displayName = ARROW_NAME2;
18016
18032
  function shouldShowPlaceholder(value) {
18017
18033
  return value === "" || value === undefined;
18018
18034
  }
18019
- var BubbleSelect = React34.forwardRef((props, forwardedRef) => {
18035
+ var BubbleSelect = React342.forwardRef((props, forwardedRef) => {
18020
18036
  const { value, ...selectProps } = props;
18021
- const ref = React34.useRef(null);
18037
+ const ref = React342.useRef(null);
18022
18038
  const composedRefs = useComposedRefs(forwardedRef, ref);
18023
18039
  const prevValue = usePrevious(value);
18024
- React34.useEffect(() => {
18040
+ React342.useEffect(() => {
18025
18041
  const select = ref.current;
18026
18042
  const selectProto = window.HTMLSelectElement.prototype;
18027
18043
  const descriptor = Object.getOwnPropertyDescriptor(selectProto, "value");
@@ -18037,9 +18053,9 @@ var BubbleSelect = React34.forwardRef((props, forwardedRef) => {
18037
18053
  BubbleSelect.displayName = "BubbleSelect";
18038
18054
  function useTypeaheadSearch(onSearchChange) {
18039
18055
  const handleSearchChange = useCallbackRef(onSearchChange);
18040
- const searchRef = React34.useRef("");
18041
- const timerRef = React34.useRef(0);
18042
- const handleTypeaheadSearch = React34.useCallback((key) => {
18056
+ const searchRef = React342.useRef("");
18057
+ const timerRef = React342.useRef(0);
18058
+ const handleTypeaheadSearch = React342.useCallback((key) => {
18043
18059
  const search = searchRef.current + key;
18044
18060
  handleSearchChange(search);
18045
18061
  (function updateSearch(value) {
@@ -18049,11 +18065,11 @@ function useTypeaheadSearch(onSearchChange) {
18049
18065
  timerRef.current = window.setTimeout(() => updateSearch(""), 1000);
18050
18066
  })(search);
18051
18067
  }, [handleSearchChange]);
18052
- const resetTypeahead = React34.useCallback(() => {
18068
+ const resetTypeahead = React342.useCallback(() => {
18053
18069
  searchRef.current = "";
18054
18070
  window.clearTimeout(timerRef.current);
18055
18071
  }, []);
18056
- React34.useEffect(() => {
18072
+ React342.useEffect(() => {
18057
18073
  return () => window.clearTimeout(timerRef.current);
18058
18074
  }, []);
18059
18075
  return [searchRef, handleTypeaheadSearch, resetTypeahead];
@@ -18142,7 +18158,7 @@ var ChevronDown = createLucideIcon("ChevronDown", [
18142
18158
  var ChevronUp = createLucideIcon("ChevronUp", [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]]);
18143
18159
  var Select2 = Root222;
18144
18160
  var SelectValue2 = Value;
18145
- var SelectTrigger2 = React352.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs5(Trigger, {
18161
+ var SelectTrigger2 = React35.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs5(Trigger, {
18146
18162
  ref,
18147
18163
  className: cn("flex h-10 w-full items-center justify-between rounded-md border-black border-2 border-b-4 bg-card-bg px-3 py-5 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 font-brand", className),
18148
18164
  ...props,
@@ -18157,7 +18173,7 @@ var SelectTrigger2 = React352.forwardRef(({ className, children, ...props }, ref
18157
18173
  ]
18158
18174
  }));
18159
18175
  SelectTrigger2.displayName = Trigger.displayName;
18160
- var SelectScrollUpButton2 = React352.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx223(ScrollUpButton, {
18176
+ var SelectScrollUpButton2 = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx223(ScrollUpButton, {
18161
18177
  ref,
18162
18178
  className: cn("flex cursor-default items-center justify-center py-1", className),
18163
18179
  ...props,
@@ -18166,7 +18182,7 @@ var SelectScrollUpButton2 = React352.forwardRef(({ className, ...props }, ref) =
18166
18182
  })
18167
18183
  }));
18168
18184
  SelectScrollUpButton2.displayName = ScrollUpButton.displayName;
18169
- var SelectScrollDownButton2 = React352.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx223(ScrollDownButton, {
18185
+ var SelectScrollDownButton2 = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx223(ScrollDownButton, {
18170
18186
  ref,
18171
18187
  className: cn("flex cursor-default items-center justify-center py-1", className),
18172
18188
  ...props,
@@ -18175,7 +18191,7 @@ var SelectScrollDownButton2 = React352.forwardRef(({ className, ...props }, ref)
18175
18191
  })
18176
18192
  }));
18177
18193
  SelectScrollDownButton2.displayName = ScrollDownButton.displayName;
18178
- var SelectContent2 = React352.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx223(Portal2, {
18194
+ var SelectContent2 = React35.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx223(Portal2, {
18179
18195
  children: /* @__PURE__ */ jsxs5(Content2, {
18180
18196
  ref,
18181
18197
  className: cn(" border-2 border-black relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md font-brand bg-card-bg text-text shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className),
@@ -18192,13 +18208,13 @@ var SelectContent2 = React352.forwardRef(({ className, children, position = "pop
18192
18208
  })
18193
18209
  }));
18194
18210
  SelectContent2.displayName = Content2.displayName;
18195
- var SelectLabel2 = React352.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx223(Label, {
18211
+ var SelectLabel2 = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx223(Label, {
18196
18212
  ref,
18197
18213
  className: cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className),
18198
18214
  ...props
18199
18215
  }));
18200
18216
  SelectLabel2.displayName = Label.displayName;
18201
- var SelectItem2 = React352.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs5(Item, {
18217
+ var SelectItem2 = React35.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs5(Item, {
18202
18218
  ref,
18203
18219
  className: cn("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-slate-200 dark:focus:bg-white/10 data-disabled:pointer-events-none data-disabled:opacity-50 font-brand", className),
18204
18220
  ...props,
@@ -18217,7 +18233,7 @@ var SelectItem2 = React352.forwardRef(({ className, children, ...props }, ref) =
18217
18233
  ]
18218
18234
  }));
18219
18235
  SelectItem2.displayName = Item.displayName;
18220
- var SelectSeparator2 = React352.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx223(Separator, {
18236
+ var SelectSeparator2 = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx223(Separator, {
18221
18237
  ref,
18222
18238
  className: cn("-mx-1 my-1 h-px bg-muted", className),
18223
18239
  ...props
@@ -18247,7 +18263,7 @@ var Triangle2 = (props) => {
18247
18263
  };
18248
18264
 
18249
18265
  // src/components/homepage/FreePricing.tsx
18250
- import React38, { useCallback as useCallback26, useMemo as useMemo41 } from "react";
18266
+ import React39, { useCallback as useCallback26, useMemo as useMemo41 } from "react";
18251
18267
 
18252
18268
  // ../../node_modules/.bun/tailwind-merge@2.5.2/node_modules/tailwind-merge/dist/bundle-mjs.mjs
18253
18269
  var CLASS_PART_SEPARATOR2 = "-";
@@ -19806,8 +19822,8 @@ var icon = {
19806
19822
  marginLeft: 4
19807
19823
  };
19808
19824
  var CompanyPricing = () => {
19809
- const [devSeatCount, setDevSeatCount] = React38.useState(1);
19810
- const [cloudRenders, setCloudRenders] = React38.useState(1000);
19825
+ const [devSeatCount, setDevSeatCount] = React39.useState(1);
19826
+ const [cloudRenders, setCloudRenders] = React39.useState(1000);
19811
19827
  const formatPrice = useCallback26((price) => {
19812
19828
  const formatter = new Intl.NumberFormat("en-US", {
19813
19829
  style: "currency",
@@ -20043,7 +20059,7 @@ var Pricing = () => {
20043
20059
  };
20044
20060
 
20045
20061
  // src/components/homepage/BackgroundAnimation.tsx
20046
- import { useEffect as useEffect37 } from "react";
20062
+ import { useEffect as useEffect36 } from "react";
20047
20063
  import { jsx as jsx46, jsxs as jsxs11 } from "react/jsx-runtime";
20048
20064
  "use client";
20049
20065
  var rx = 0.2;
@@ -20069,7 +20085,7 @@ var BackgroundAnimation = () => {
20069
20085
  }
20070
20086
  }
20071
20087
  `;
20072
- useEffect37(() => {
20088
+ useEffect36(() => {
20073
20089
  const _style = document.createElement("style");
20074
20090
  _style.innerHTML = css;
20075
20091
  document.head.appendChild(_style);
@@ -20490,12 +20506,12 @@ init_esm();
20490
20506
  init_esm();
20491
20507
  import { jsx as jsx50, jsxs as jsxs14 } from "react/jsx-runtime";
20492
20508
  import { jsx as jsx213, jsxs as jsxs24, Fragment as Fragment6 } from "react/jsx-runtime";
20493
- import React40 from "react";
20509
+ import React41 from "react";
20494
20510
  import { useContext as useContext210, useEffect as useEffect210, useState as useState35 } from "react";
20495
- import { useContext as useContext40, useEffect as useEffect38 } from "react";
20511
+ import { useContext as useContext40, useEffect as useEffect37 } from "react";
20496
20512
  import { jsx as jsx310 } from "react/jsx-runtime";
20497
20513
  import { useCallback as useCallback27, useRef as useRef32 } from "react";
20498
- import { useEffect as useEffect39, useState as useState210 } from "react";
20514
+ import { useEffect as useEffect38, useState as useState210 } from "react";
20499
20515
  import { useContext as useContext42, useEffect as useEffect62, useRef as useRef42 } from "react";
20500
20516
  import { useEffect as useEffect42 } from "react";
20501
20517
  import { useCallback as useCallback28, useContext as useContext37, useMemo as useMemo42, useRef as useRef24, useState as useState36 } from "react";
@@ -20505,7 +20521,7 @@ import {
20505
20521
  forwardRef as forwardRef26,
20506
20522
  useEffect as useEffect142,
20507
20523
  useImperativeHandle as useImperativeHandle22,
20508
- useLayoutEffect as useLayoutEffect14,
20524
+ useLayoutEffect as useLayoutEffect15,
20509
20525
  useMemo as useMemo142,
20510
20526
  useRef as useRef112,
20511
20527
  useState as useState132
@@ -20516,7 +20532,7 @@ import React102, {
20516
20532
  useCallback as useCallback112,
20517
20533
  useContext as useContext62,
20518
20534
  useEffect as useEffect132,
20519
- useImperativeHandle as useImperativeHandle11,
20535
+ useImperativeHandle as useImperativeHandle12,
20520
20536
  useMemo as useMemo122,
20521
20537
  useRef as useRef102,
20522
20538
  useState as useState113
@@ -20524,7 +20540,7 @@ import React102, {
20524
20540
  import { useCallback as useCallback82, useEffect as useEffect112, useMemo as useMemo92, useRef as useRef82, useState as useState102 } from "react";
20525
20541
  import { jsx as jsx45 } from "react/jsx-runtime";
20526
20542
  import { useCallback as useCallback52, useMemo as useMemo43, useRef as useRef52, useState as useState62 } from "react";
20527
- import React37, { useCallback as useCallback42, useMemo as useMemo34, useState as useState52 } from "react";
20543
+ import React38, { useCallback as useCallback42, useMemo as useMemo34, useState as useState52 } from "react";
20528
20544
  import { jsx as jsx54, jsxs as jsxs33 } from "react/jsx-runtime";
20529
20545
  import { jsx as jsx64, jsxs as jsxs42 } from "react/jsx-runtime";
20530
20546
  import {
@@ -21519,8 +21535,8 @@ var calculateOuter = ({
21519
21535
  overflow: overflowVisible ? "visible" : "hidden"
21520
21536
  };
21521
21537
  };
21522
- var PlayerEventEmitterContext = React40.createContext(undefined);
21523
- var ThumbnailEmitterContext = React40.createContext(undefined);
21538
+ var PlayerEventEmitterContext = React41.createContext(undefined);
21539
+ var ThumbnailEmitterContext = React41.createContext(undefined);
21524
21540
 
21525
21541
  class PlayerEmitter {
21526
21542
  listeners = {
@@ -21638,7 +21654,7 @@ var useBufferStateEmitter = (emitter) => {
21638
21654
  if (!bufferManager) {
21639
21655
  throw new Error("BufferingContextReact not found");
21640
21656
  }
21641
- useEffect38(() => {
21657
+ useEffect37(() => {
21642
21658
  const clear1 = bufferManager.listenForBuffering(() => {
21643
21659
  bufferManager.buffering.current = true;
21644
21660
  emitter.dispatchWaiting({});
@@ -21672,7 +21688,7 @@ var PlayerEmitterProvider = ({ children, currentPlaybackRate }) => {
21672
21688
  };
21673
21689
  var useHoverState = (ref, hideControlsWhenPointerDoesntMove) => {
21674
21690
  const [hovered, setHovered] = useState210(false);
21675
- useEffect39(() => {
21691
+ useEffect38(() => {
21676
21692
  const { current } = ref;
21677
21693
  if (!current) {
21678
21694
  return;
@@ -22320,7 +22336,7 @@ var DefaultVolumeSlider = ({
22320
22336
  ...common
22321
22337
  };
22322
22338
  }, [isVertical]);
22323
- const randomId = typeof React37.useId === "undefined" ? "volume-slider" : React37.useId();
22339
+ const randomId = typeof React38.useId === "undefined" ? "volume-slider" : React38.useId();
22324
22340
  const [randomClass] = useState52(() => `__remotion-volume-slider-${random(randomId)}`.replace(".", ""));
22325
22341
  const onVolumeChange = useCallback42((e) => {
22326
22342
  setVolume(parseFloat(e.target.value));
@@ -23604,7 +23620,7 @@ var PlayerUI = ({
23604
23620
  stopped = true;
23605
23621
  };
23606
23622
  }, [bufferStateDelayInMilliseconds, player.emitter]);
23607
- useImperativeHandle11(ref, () => {
23623
+ useImperativeHandle12(ref, () => {
23608
23624
  const methods = {
23609
23625
  play: player.play,
23610
23626
  pause: () => {
@@ -24277,7 +24293,7 @@ var PlayerFn = ({
24277
24293
  };
24278
24294
  }, [setFrame]);
24279
24295
  if (typeof window !== "undefined") {
24280
- useLayoutEffect14(() => {
24296
+ useLayoutEffect15(() => {
24281
24297
  Internals.CSSUtils.injectCSS(Internals.CSSUtils.makeDefaultPreviewCSS(`.${playerCssClassname(overrideInternalClassName)}`, "#fff"));
24282
24298
  }, [overrideInternalClassName]);
24283
24299
  }
@@ -24572,7 +24588,7 @@ var Thumbnail = forward2(ThumbnailFn);
24572
24588
  // src/components/homepage/Demo/index.tsx
24573
24589
  import {
24574
24590
  useCallback as useCallback43,
24575
- useEffect as useEffect55,
24591
+ useEffect as useEffect53,
24576
24592
  useMemo as useMemo53,
24577
24593
  useRef as useRef41,
24578
24594
  useState as useState47
@@ -25324,9 +25340,9 @@ var UNDERLAY_RED = curriedTransparentize$1(0.9, RED);
25324
25340
  var BLUE_TEXT = curriedDarken$1(0.3, "#42e9f5");
25325
25341
 
25326
25342
  // src/components/homepage/layout/use-color-mode.tsx
25327
- import React41, { useContext as useContext41, useMemo as useMemo44 } from "react";
25343
+ import React43, { useContext as useContext41, useMemo as useMemo44 } from "react";
25328
25344
  import { jsx as jsx51 } from "react/jsx-runtime";
25329
- var Context = React41.createContext(undefined);
25345
+ var Context = React43.createContext(undefined);
25330
25346
  var ColorModeProvider = ({
25331
25347
  children,
25332
25348
  colorMode,
@@ -25350,14 +25366,14 @@ function useColorMode() {
25350
25366
 
25351
25367
  // src/components/homepage/Demo/Comp.tsx
25352
25368
  init_esm();
25353
- import { useCallback as useCallback36, useEffect as useEffect47, useMemo as useMemo48, useState as useState41 } from "react";
25369
+ import { useCallback as useCallback36, useEffect as useEffect46, useMemo as useMemo48, useState as useState41 } from "react";
25354
25370
 
25355
25371
  // src/components/homepage/Demo/Cards.tsx
25356
25372
  init_esm();
25357
25373
  import {
25358
25374
  createRef as createRef4,
25359
25375
  useCallback as useCallback35,
25360
- useEffect as useEffect46,
25376
+ useEffect as useEffect45,
25361
25377
  useRef as useRef38,
25362
25378
  useState as useState40
25363
25379
  } from "react";
@@ -25728,14 +25744,14 @@ init_esm();
25728
25744
  import {
25729
25745
  forwardRef as forwardRef29,
25730
25746
  useCallback as useCallback33,
25731
- useEffect as useEffect45,
25732
- useImperativeHandle as useImperativeHandle13,
25747
+ useEffect as useEffect43,
25748
+ useImperativeHandle as useImperativeHandle14,
25733
25749
  useRef as useRef37
25734
25750
  } from "react";
25735
25751
 
25736
25752
  // src/components/homepage/Demo/DisplayedEmoji.tsx
25737
25753
  init_esm();
25738
- import { useEffect as useEffect43, useMemo as useMemo46, useState as useState39 } from "react";
25754
+ import { useEffect as useEffect41, useMemo as useMemo46, useState as useState39 } from "react";
25739
25755
  import { jsx as jsx60 } from "react/jsx-runtime";
25740
25756
  var DisplayedEmoji = ({ emoji }) => {
25741
25757
  const [data, setData] = useState39(null);
@@ -25755,7 +25771,7 @@ var DisplayedEmoji = ({ emoji }) => {
25755
25771
  throw new Error("Unknown emoji");
25756
25772
  }, [emoji]);
25757
25773
  const [handle] = useState39(() => delayRender());
25758
- useEffect43(() => {
25774
+ useEffect41(() => {
25759
25775
  Promise.all([
25760
25776
  fetch(src).then((res) => res.json()),
25761
25777
  Promise.resolve().then(() => (init_esm2(), exports_esm)).then(({ Lottie: Lottie2, getLottieMetadata: getLottieMetadata2 }) => ({
@@ -25773,7 +25789,7 @@ var DisplayedEmoji = ({ emoji }) => {
25773
25789
  cancelRender(err);
25774
25790
  });
25775
25791
  }, [handle, src, continueRender]);
25776
- useEffect43(() => {
25792
+ useEffect41(() => {
25777
25793
  if (typeof document !== "undefined") {
25778
25794
  setBrowser(true);
25779
25795
  }
@@ -25869,7 +25885,7 @@ var EmojiCardRefFn = ({ emojiIndex }, ref) => {
25869
25885
  transforms: transforms.current
25870
25886
  });
25871
25887
  }, []);
25872
- useEffect45(() => {
25888
+ useEffect43(() => {
25873
25889
  if (!ref1.current || !ref2.current || !ref3.current) {
25874
25890
  return;
25875
25891
  }
@@ -25880,13 +25896,13 @@ var EmojiCardRefFn = ({ emojiIndex }, ref) => {
25880
25896
  transforms: transforms.current
25881
25897
  });
25882
25898
  }, []);
25883
- useImperativeHandle13(ref, () => {
25899
+ useImperativeHandle14(ref, () => {
25884
25900
  return {
25885
25901
  onLeft,
25886
25902
  onRight
25887
25903
  };
25888
25904
  }, [onLeft, onRight]);
25889
- useEffect45(() => {
25905
+ useEffect43(() => {
25890
25906
  if (!ref1.current || !ref2.current || !ref3.current) {
25891
25907
  return;
25892
25908
  }
@@ -26308,7 +26324,7 @@ var Cards = ({
26308
26324
  const positions = useRef38(getInitialPositions());
26309
26325
  const shouldBePositions = useRef38(getInitialPositions());
26310
26326
  const { isRendering } = useRemotionEnvironment();
26311
- useEffect46(() => {
26327
+ useEffect45(() => {
26312
26328
  const { current } = container4;
26313
26329
  if (!current) {
26314
26330
  return;
@@ -26421,7 +26437,7 @@ var HomepageVideoComp = ({
26421
26437
  }
26422
26438
  return sadAudio;
26423
26439
  }, [emoji]);
26424
- useEffect47(() => {
26440
+ useEffect46(() => {
26425
26441
  const a = prefetch(fireAudio);
26426
26442
  const b = prefetch(partyHornAudio);
26427
26443
  const c = prefetch(sadAudio);
@@ -26469,7 +26485,7 @@ var DemoError = () => {
26469
26485
  };
26470
26486
 
26471
26487
  // src/components/homepage/Demo/DemoRender.tsx
26472
- import React53, { useCallback as useCallback37 } from "react";
26488
+ import React55, { useCallback as useCallback37 } from "react";
26473
26489
  import { z } from "zod";
26474
26490
 
26475
26491
  // src/components/homepage/Demo/DemoErrorIcon.tsx
@@ -26667,7 +26683,7 @@ var style2 = {
26667
26683
  justifyContent: "center"
26668
26684
  };
26669
26685
  var RenderButton = ({ renderData, onError }) => {
26670
- const [state, setState] = React53.useState({
26686
+ const [state, setState] = React55.useState({
26671
26687
  type: "idle"
26672
26688
  });
26673
26689
  const triggerRender = useCallback37(async () => {
@@ -26847,10 +26863,10 @@ var DragAndDropNudge = () => {
26847
26863
 
26848
26864
  // src/components/homepage/Demo/PlayerSeekBar.tsx
26849
26865
  init_esm();
26850
- import { useCallback as useCallback39, useEffect as useEffect49, useMemo as useMemo51, useRef as useRef39, useState as useState45 } from "react";
26866
+ import { useCallback as useCallback39, useEffect as useEffect48, useMemo as useMemo51, useRef as useRef39, useState as useState45 } from "react";
26851
26867
 
26852
26868
  // src/components/homepage/layout/use-el-size.ts
26853
- import { useCallback as useCallback38, useEffect as useEffect48, useMemo as useMemo50, useState as useState43 } from "react";
26869
+ import { useCallback as useCallback38, useEffect as useEffect47, useMemo as useMemo50, useState as useState43 } from "react";
26854
26870
  var useElementSize2 = (ref) => {
26855
26871
  const [size4, setSize] = useState43(null);
26856
26872
  const observer = useMemo50(() => {
@@ -26874,7 +26890,7 @@ var useElementSize2 = (ref) => {
26874
26890
  height: rect[0].height
26875
26891
  });
26876
26892
  }, [ref]);
26877
- useEffect48(() => {
26893
+ useEffect47(() => {
26878
26894
  updateSize();
26879
26895
  if (!observer) {
26880
26896
  return;
@@ -26930,7 +26946,7 @@ var findBodyInWhichDivIsLocated2 = (div) => {
26930
26946
  };
26931
26947
  var useHoverState2 = (ref, hideControlsWhenPointerDoesntMove) => {
26932
26948
  const [hovered, setHovered] = useState45(false);
26933
- useEffect49(() => {
26949
+ useEffect48(() => {
26934
26950
  const { current } = ref;
26935
26951
  if (!current) {
26936
26952
  return;
@@ -26981,7 +26997,7 @@ var PlayerSeekBar2 = ({
26981
26997
  const size4 = useElementSize2(containerRef.current);
26982
26998
  const [playing, setPlaying] = useState45(false);
26983
26999
  const [frame, setFrame] = useState45(0);
26984
- useEffect49(() => {
27000
+ useEffect48(() => {
26985
27001
  const { current } = playerRef;
26986
27002
  if (!current) {
26987
27003
  return;
@@ -26994,7 +27010,7 @@ var PlayerSeekBar2 = ({
26994
27010
  current.removeEventListener("frameupdate", onFrameUpdate);
26995
27011
  };
26996
27012
  }, [playerRef]);
26997
- useEffect49(() => {
27013
+ useEffect48(() => {
26998
27014
  const { current } = playerRef;
26999
27015
  if (!current) {
27000
27016
  return;
@@ -27055,7 +27071,7 @@ var PlayerSeekBar2 = ({
27055
27071
  }
27056
27072
  onSeekEnd();
27057
27073
  }, [dragging, onSeekEnd, playerRef]);
27058
- useEffect49(() => {
27074
+ useEffect48(() => {
27059
27075
  if (!dragging.dragging) {
27060
27076
  return;
27061
27077
  }
@@ -27125,7 +27141,7 @@ var PlayerSeekBar2 = ({
27125
27141
  };
27126
27142
 
27127
27143
  // src/components/homepage/Demo/PlayerVolume.tsx
27128
- import { useCallback as useCallback40, useEffect as useEffect50, useRef as useRef40, useState as useState46 } from "react";
27144
+ import { useCallback as useCallback40, useEffect as useEffect49, useRef as useRef40, useState as useState46 } from "react";
27129
27145
 
27130
27146
  // src/components/homepage/Demo/icons.tsx
27131
27147
  import { jsx as jsx90 } from "react/jsx-runtime";
@@ -27186,7 +27202,7 @@ var PlayerVolume = ({ playerRef }) => {
27186
27202
  const [muted, setIsMuted] = useState46(() => playerRef.current?.isMuted() ?? true);
27187
27203
  const [isHovered, setIsHovered] = useState46(false);
27188
27204
  const timerRef = useRef40(null);
27189
- useEffect50(() => {
27205
+ useEffect49(() => {
27190
27206
  const { current } = playerRef;
27191
27207
  if (!current) {
27192
27208
  return;
@@ -27199,7 +27215,7 @@ var PlayerVolume = ({ playerRef }) => {
27199
27215
  current.removeEventListener("mutechange", onMutedChange);
27200
27216
  };
27201
27217
  }, [playerRef]);
27202
- useEffect50(() => {
27218
+ useEffect49(() => {
27203
27219
  if (isHovered) {
27204
27220
  document.body.style.userSelect = "none";
27205
27221
  } else {
@@ -27244,7 +27260,7 @@ var PlayerVolume = ({ playerRef }) => {
27244
27260
  };
27245
27261
 
27246
27262
  // src/components/homepage/Demo/PlayPauseButton.tsx
27247
- import React57, { useCallback as useCallback41, useEffect as useEffect51 } from "react";
27263
+ import React58, { useCallback as useCallback41, useEffect as useEffect50 } from "react";
27248
27264
  import { jsx as jsx95 } from "react/jsx-runtime";
27249
27265
  var playerButtonStyle2 = {
27250
27266
  appearance: "none",
@@ -27261,8 +27277,8 @@ var playerButtonStyle2 = {
27261
27277
  color: PALETTE.TEXT_COLOR
27262
27278
  };
27263
27279
  var PlayPauseButton = ({ playerRef }) => {
27264
- const [playing, setPlaying] = React57.useState(true);
27265
- useEffect51(() => {
27280
+ const [playing, setPlaying] = React58.useState(true);
27281
+ useEffect50(() => {
27266
27282
  const { current } = playerRef;
27267
27283
  if (!current) {
27268
27284
  return;
@@ -27299,7 +27315,7 @@ var PlayPauseButton = ({ playerRef }) => {
27299
27315
  };
27300
27316
 
27301
27317
  // src/components/homepage/Demo/TimeDisplay.tsx
27302
- import React58, { useEffect as useEffect53 } from "react";
27318
+ import React59, { useEffect as useEffect51 } from "react";
27303
27319
  import { jsx as jsx97 } from "react/jsx-runtime";
27304
27320
  var formatTime2 = (timeInSeconds) => {
27305
27321
  const minutes = Math.floor(timeInSeconds / 60);
@@ -27307,8 +27323,8 @@ var formatTime2 = (timeInSeconds) => {
27307
27323
  return `${String(minutes)}:${String(seconds).padStart(2, "0")}`;
27308
27324
  };
27309
27325
  var TimeDisplay = ({ fps, playerRef }) => {
27310
- const [time, setTime] = React58.useState(0);
27311
- useEffect53(() => {
27326
+ const [time, setTime] = React59.useState(0);
27327
+ useEffect51(() => {
27312
27328
  const { current } = playerRef;
27313
27329
  if (!current) {
27314
27330
  return;
@@ -27386,7 +27402,7 @@ var PlayerControls = ({ playerRef, durationInFrames, fps, children }) => {
27386
27402
  };
27387
27403
 
27388
27404
  // src/components/homepage/Demo/ThemeNudge.tsx
27389
- import React59 from "react";
27405
+ import React60 from "react";
27390
27406
  import { jsx as jsx99, jsxs as jsxs38 } from "react/jsx-runtime";
27391
27407
  var origWidth3 = 21;
27392
27408
  var scale3 = 0.4;
@@ -27408,7 +27424,7 @@ var Icon6 = () => {
27408
27424
  };
27409
27425
  var ThemeNudge = () => {
27410
27426
  const { colorMode, setColorMode } = useColorMode();
27411
- const toggleTheme = React59.useCallback((e) => {
27427
+ const toggleTheme = React60.useCallback((e) => {
27412
27428
  e.preventDefault();
27413
27429
  setColorMode(colorMode === "dark" ? "light" : "dark");
27414
27430
  }, [colorMode, setColorMode]);
@@ -27479,7 +27495,7 @@ var Demo = () => {
27479
27495
  const [cardOrder, setCardOrder] = useState47([0, 1, 2, 3]);
27480
27496
  const [emojiIndex, setEmojiIndex] = useState47(0);
27481
27497
  const [error2, setError] = useState47(false);
27482
- useEffect55(() => {
27498
+ useEffect53(() => {
27483
27499
  getDataAndProps().then((d2) => {
27484
27500
  setData(d2);
27485
27501
  }).catch((err) => {
@@ -27487,7 +27503,7 @@ var Demo = () => {
27487
27503
  setError(true);
27488
27504
  });
27489
27505
  }, []);
27490
- useEffect55(() => {
27506
+ useEffect53(() => {
27491
27507
  const { current: playerRef } = ref;
27492
27508
  if (!playerRef || !data2) {
27493
27509
  return;
@@ -27621,16 +27637,16 @@ var ClearButton = (props) => {
27621
27637
 
27622
27638
  // src/components/homepage/MuxVideo.tsx
27623
27639
  import Hls2 from "hls.js";
27624
- import { forwardRef as forwardRef31, useEffect as useEffect57, useImperativeHandle as useImperativeHandle14, useRef as useRef45 } from "react";
27640
+ import { forwardRef as forwardRef31, useEffect as useEffect56, useImperativeHandle as useImperativeHandle15, useRef as useRef45 } from "react";
27625
27641
 
27626
27642
  // src/components/homepage/VideoPlayerWithControls.tsx
27627
27643
  import Hls from "hls.js";
27628
27644
  import"plyr/dist/plyr.css";
27629
- import { forwardRef as forwardRef30, useCallback as useCallback45, useEffect as useEffect56, useRef as useRef43, useState as useState48 } from "react";
27645
+ import { forwardRef as forwardRef30, useCallback as useCallback45, useEffect as useEffect55, useRef as useRef43, useState as useState48 } from "react";
27630
27646
  import { jsx as jsx105 } from "react/jsx-runtime";
27631
27647
  var useCombinedRefs = function(...refs) {
27632
27648
  const targetRef = useRef43(null);
27633
- useEffect56(() => {
27649
+ useEffect55(() => {
27634
27650
  refs.forEach((ref) => {
27635
27651
  if (!ref)
27636
27652
  return;
@@ -27659,12 +27675,12 @@ var VideoPlayerWithControls = forwardRef30(({ playbackId, poster, currentTime, o
27659
27675
  console.error("Error getting img dimensions", event);
27660
27676
  }
27661
27677
  }, [onLoaded, onSize]);
27662
- useEffect56(() => {
27678
+ useEffect55(() => {
27663
27679
  const img = new Image;
27664
27680
  img.onload = (evt) => onImageLoad(evt);
27665
27681
  img.src = poster;
27666
27682
  }, [onImageLoad, poster]);
27667
- useEffect56(() => {
27683
+ useEffect55(() => {
27668
27684
  const video = videoRef.current;
27669
27685
  const src = `https://stream.mux.com/${playbackId}.m3u8`;
27670
27686
  let hls;
@@ -27707,7 +27723,7 @@ var VideoPlayerWithControls = forwardRef30(({ playbackId, poster, currentTime, o
27707
27723
  }
27708
27724
  };
27709
27725
  }, [playbackId, playerInitTime, videoError, videoRef]);
27710
- useEffect56(() => {
27726
+ useEffect55(() => {
27711
27727
  const video = videoRef.current;
27712
27728
  if (currentTime && video) {
27713
27729
  video.currentTime = currentTime;
@@ -27733,8 +27749,8 @@ var getVideoToPlayUrl = (muxId) => {
27733
27749
  var MuxVideoForward = ({ muxId, ...props }, ref) => {
27734
27750
  const videoRef = useRef45(null);
27735
27751
  const vidUrl = getVideoToPlayUrl(muxId);
27736
- useImperativeHandle14(ref, () => videoRef.current, []);
27737
- useEffect57(() => {
27752
+ useImperativeHandle15(ref, () => videoRef.current, []);
27753
+ useEffect56(() => {
27738
27754
  let hls;
27739
27755
  if (videoRef.current) {
27740
27756
  const { current } = videoRef;
@@ -27847,11 +27863,11 @@ var EditorStarterSection = () => {
27847
27863
  var EditorStarterSection_default = EditorStarterSection;
27848
27864
 
27849
27865
  // src/components/homepage/EvaluateRemotion.tsx
27850
- import { useEffect as useEffect58, useState as useState49 } from "react";
27866
+ import { useEffect as useEffect57, useState as useState49 } from "react";
27851
27867
  import { jsx as jsx109, jsxs as jsxs41 } from "react/jsx-runtime";
27852
27868
  var EvaluateRemotionSection = () => {
27853
27869
  const [dailyAvatars, setDailyAvatars] = useState49([]);
27854
- useEffect58(() => {
27870
+ useEffect57(() => {
27855
27871
  const avatars = [
27856
27872
  "/img/freelancers/alex.jpeg",
27857
27873
  "/img/freelancers/antoine.jpeg",
@@ -27950,7 +27966,7 @@ var EvaluateRemotionSection = () => {
27950
27966
  var EvaluateRemotion_default = EvaluateRemotionSection;
27951
27967
 
27952
27968
  // src/components/homepage/IfYouKnowReact.tsx
27953
- import { useEffect as useEffect59, useState as useState50 } from "react";
27969
+ import { useEffect as useEffect58, useState as useState50 } from "react";
27954
27970
  import { jsx as jsx110, jsxs as jsxs43 } from "react/jsx-runtime";
27955
27971
  var isWebkit = () => {
27956
27972
  if (typeof window === "undefined") {
@@ -27966,7 +27982,7 @@ var icon2 = {
27966
27982
  };
27967
27983
  var IfYouKnowReact = () => {
27968
27984
  const [vid, setVid] = useState50("/img/compose.webm");
27969
- useEffect59(() => {
27985
+ useEffect58(() => {
27970
27986
  if (isWebkit()) {
27971
27987
  setVid("/img/compose.mp4");
27972
27988
  }
@@ -28113,7 +28129,7 @@ var NewsletterButton = () => {
28113
28129
  };
28114
28130
 
28115
28131
  // src/components/homepage/ParameterizeAndEdit.tsx
28116
- import { useEffect as useEffect60, useRef as useRef46, useState as useState53 } from "react";
28132
+ import { useEffect as useEffect59, useRef as useRef46, useState as useState53 } from "react";
28117
28133
  import { jsx as jsx114, jsxs as jsxs46 } from "react/jsx-runtime";
28118
28134
  var icon3 = {
28119
28135
  height: 16,
@@ -28122,7 +28138,7 @@ var icon3 = {
28122
28138
  var ParameterizeAndEdit = () => {
28123
28139
  const ref = useRef46(null);
28124
28140
  const [vid, setVid] = useState53("/img/editing-vp9-chrome.webm");
28125
- useEffect60(() => {
28141
+ useEffect59(() => {
28126
28142
  if (isWebkit()) {
28127
28143
  setVid("/img/editing-safari.mp4");
28128
28144
  }
@@ -28236,7 +28252,7 @@ var ParameterizeAndEdit = () => {
28236
28252
  };
28237
28253
 
28238
28254
  // src/components/homepage/RealMp4Videos.tsx
28239
- import { useEffect as useEffect61, useRef as useRef47, useState as useState55 } from "react";
28255
+ import { useEffect as useEffect60, useRef as useRef47, useState as useState55 } from "react";
28240
28256
  import { jsx as jsx116, jsxs as jsxs47 } from "react/jsx-runtime";
28241
28257
  var icon4 = {
28242
28258
  height: 16,
@@ -28246,12 +28262,12 @@ var RealMP4Videos = () => {
28246
28262
  const ref = useRef47(null);
28247
28263
  const videoRef = useRef47(null);
28248
28264
  const [vid, setVid] = useState55("/img/render-progress.webm");
28249
- useEffect61(() => {
28265
+ useEffect60(() => {
28250
28266
  if (isWebkit()) {
28251
28267
  setVid("/img/render-progress.mp4");
28252
28268
  }
28253
28269
  }, []);
28254
- useEffect61(() => {
28270
+ useEffect60(() => {
28255
28271
  const { current } = ref;
28256
28272
  if (!current) {
28257
28273
  return;
@@ -28497,7 +28513,7 @@ var TrustedByBanner = () => {
28497
28513
  var TrustedByBanner_default = TrustedByBanner;
28498
28514
 
28499
28515
  // src/components/homepage/VideoAppsShowcase.tsx
28500
- import { useEffect as useEffect63, useRef as useRef48, useState as useState56 } from "react";
28516
+ import { useEffect as useEffect61, useRef as useRef48, useState as useState56 } from "react";
28501
28517
  import { jsx as jsx118, jsxs as jsxs49 } from "react/jsx-runtime";
28502
28518
  var tabs = [
28503
28519
  "Music visualization",
@@ -28555,7 +28571,7 @@ var VideoAppsShowcase = () => {
28555
28571
  const [isPlaying, setIsPlaying] = useState56(false);
28556
28572
  const videoRef = useRef48(null);
28557
28573
  const containerRef = useRef48(null);
28558
- useEffect63(() => {
28574
+ useEffect61(() => {
28559
28575
  const video = videoRef.current;
28560
28576
  if (video) {
28561
28577
  video.pause();
@@ -28607,6 +28623,7 @@ var VideoAppsShowcase = () => {
28607
28623
  }),
28608
28624
  /* @__PURE__ */ jsx118("div", {
28609
28625
  className: "card flex p-0 overflow-hidden",
28626
+ "data-nosnippet": true,
28610
28627
  children: /* @__PURE__ */ jsxs49("div", {
28611
28628
  className: "flex-1 flex flex-col lg:flex-row justify-center",
28612
28629
  children: [