@remotion/studio 4.0.171 → 4.0.172

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.
@@ -856,7 +856,7 @@ var useZIndex = () => {
856
856
  };
857
857
 
858
858
  // src/components/EditorContent.tsx
859
- import {useContext as useContext62} from "react";
859
+ import {useContext as useContext63} from "react";
860
860
  import {Internals as Internals51} from "remotion";
861
861
 
862
862
  // src/helpers/is-current-selected-still.ts
@@ -3068,7 +3068,10 @@ var CompositionSelector = () => {
3068
3068
  });
3069
3069
  const splitted = key.split("/");
3070
3070
  for (let i = 0;i < splitted.length - 1; i++) {
3071
- const allExceptLast = i === 0 ? openFolderKey({ folderName: splitted[0], parentName: null }) : splitted.slice(0, i + 1).join("/");
3071
+ const allExceptLast = i === 0 ? openFolderKey({
3072
+ folderName: splitted.filter((s) => s !== "no-parent")[0],
3073
+ parentName: null
3074
+ }) : splitted.slice(0, i + 1).join("/");
3072
3075
  foldersExpandedState[allExceptLast] = true;
3073
3076
  }
3074
3077
  persistExpandedFolders("compositions", foldersExpandedState);
@@ -7210,10 +7213,10 @@ var MenuBuildIndicator = () => {
7210
7213
  };
7211
7214
 
7212
7215
  // src/components/SidebarCollapserControls.tsx
7213
- import {useCallback as useCallback83, useContext as useContext51, useEffect as useEffect54} from "react";
7216
+ import {useCallback as useCallback83, useContext as useContext52, useEffect as useEffect54} from "react";
7214
7217
 
7215
7218
  // src/components/TopPanel.tsx
7216
- import {useCallback as useCallback82, useContext as useContext50, useEffect as useEffect53, useMemo as useMemo87} from "react";
7219
+ import {useCallback as useCallback82, useContext as useContext51, useEffect as useEffect53, useMemo as useMemo87} from "react";
7217
7220
 
7218
7221
  // src/helpers/use-breakpoint.ts
7219
7222
  import {useEffect as useEffect24, useState as useState29} from "react";
@@ -10142,7 +10145,7 @@ function MobilePanel({
10142
10145
  import {
10143
10146
  createRef as createRef8,
10144
10147
  useCallback as useCallback73,
10145
- useContext as useContext40,
10148
+ useContext as useContext41,
10146
10149
  useEffect as useEffect45,
10147
10150
  useImperativeHandle as useImperativeHandle11,
10148
10151
  useMemo as useMemo81,
@@ -10151,7 +10154,7 @@ useState as useState47
10151
10154
  import {Internals as Internals34} from "remotion";
10152
10155
 
10153
10156
  // src/components/GlobalPropsEditorUpdateButton.tsx
10154
- import React59, {useCallback as useCallback41} from "react";
10157
+ import React59, {useCallback as useCallback41, useContext as useContext29} from "react";
10155
10158
  import {Internals as Internals27} from "remotion";
10156
10159
 
10157
10160
  // src/components/RenderModal/SchemaEditor/extract-enum-json-paths.ts
@@ -10384,9 +10387,11 @@ var container22 = {
10384
10387
  flexDirection: "row"
10385
10388
  };
10386
10389
  var GlobalPropsEditorUpdateButton = ({ compositionId, currentDefaultProps }) => {
10390
+ const { fastRefreshes } = useContext29(Internals27.NonceContext);
10387
10391
  const [disabled, setDisabled] = React59.useState(false);
10388
10392
  const onClicked = useCallback41(() => {
10389
10393
  setDisabled(true);
10394
+ window.remotion_ignoreFastRefreshUpdate = fastRefreshes + 1;
10390
10395
  saveDefaultProps({
10391
10396
  compositionId,
10392
10397
  defaultProps: () => currentDefaultProps
@@ -10395,7 +10400,7 @@ var GlobalPropsEditorUpdateButton = ({ compositionId, currentDefaultProps }) =>
10395
10400
  }).finally(() => {
10396
10401
  setDisabled(true);
10397
10402
  });
10398
- }, [compositionId, currentDefaultProps]);
10403
+ }, [compositionId, currentDefaultProps, fastRefreshes]);
10399
10404
  const onReset = useCallback41(() => {
10400
10405
  window.remotion_ignoreFastRefreshUpdate = null;
10401
10406
  window.dispatchEvent(new CustomEvent(Internals27.PROPS_UPDATED_EXTERNALLY));
@@ -10417,7 +10422,7 @@ var GlobalPropsEditorUpdateButton = ({ compositionId, currentDefaultProps }) =>
10417
10422
  // src/components/RenderModal/DataEditor.tsx
10418
10423
  import React88, {
10419
10424
  useCallback as useCallback63,
10420
- useContext as useContext32,
10425
+ useContext as useContext33,
10421
10426
  useEffect as useEffect42,
10422
10427
  useMemo as useMemo72,
10423
10428
  useState as useState45
@@ -10562,7 +10567,7 @@ var Item = ({ selected, onClick, children }) => {
10562
10567
  // src/components/get-zod-if-possible.tsx
10563
10568
  import {
10564
10569
  createContext as createContext14,
10565
- useContext as useContext29,
10570
+ useContext as useContext30,
10566
10571
  useEffect as useEffect36,
10567
10572
  useMemo as useMemo51,
10568
10573
  useState as useState36
@@ -10587,11 +10592,11 @@ var getZTypesIfPossible = async () => {
10587
10592
  }
10588
10593
  };
10589
10594
  var useZodIfPossible = () => {
10590
- const context3 = useContext29(ZodContext);
10595
+ const context3 = useContext30(ZodContext);
10591
10596
  return context3?.zod ?? null;
10592
10597
  };
10593
10598
  var useZodTypesIfPossible = () => {
10594
- const context3 = useContext29(ZodContext);
10599
+ const context3 = useContext30(ZodContext);
10595
10600
  return context3?.zodTypes ?? null;
10596
10601
  };
10597
10602
  var ZodContext = createContext14(null);
@@ -11210,14 +11215,14 @@ var fieldsetLabel = {
11210
11215
  };
11211
11216
 
11212
11217
  // src/components/RenderModal/SchemaEditor/Fieldset.tsx
11213
- import {createContext as createContext15, useContext as useContext30, useMemo as useMemo54} from "react";
11218
+ import {createContext as createContext15, useContext as useContext31, useMemo as useMemo54} from "react";
11214
11219
  import {
11215
11220
  jsx as jsx98
11216
11221
  } from "react/jsx-runtime";
11217
11222
  var SCHEMA_EDITOR_FIELDSET_PADDING = 10;
11218
11223
  var AlreadyPaddedRightContext = createContext15(false);
11219
11224
  var Fieldset = ({ children, shouldPad }) => {
11220
- const alreadyPadded = useContext30(AlreadyPaddedRightContext);
11225
+ const alreadyPadded = useContext31(AlreadyPaddedRightContext);
11221
11226
  const style8 = useMemo54(() => {
11222
11227
  if (shouldPad) {
11223
11228
  return {
@@ -12034,7 +12039,7 @@ var ZodFieldValidation = ({ localValue, path }) => {
12034
12039
  import {
12035
12040
  createContext as createContext16,
12036
12041
  useCallback as useCallback49,
12037
- useContext as useContext31,
12042
+ useContext as useContext32,
12038
12043
  useEffect as useEffect39,
12039
12044
  useMemo as useMemo61,
12040
12045
  useRef as useRef24,
@@ -12053,7 +12058,7 @@ var useLocalState = ({
12053
12058
  setValue,
12054
12059
  savedValue
12055
12060
  }) => {
12056
- const parentRevision = useContext31(RevisionContext).childResetRevision;
12061
+ const parentRevision = useContext32(RevisionContext).childResetRevision;
12057
12062
  const [resetRevision, setResetRevision] = useState40(0);
12058
12063
  const [localValueOrNull, setLocalValue] = useState40(() => {
12059
12064
  return {
@@ -14467,7 +14472,7 @@ var DataEditor = ({
14467
14472
  }) => {
14468
14473
  const [mode, setMode] = useState45("schema");
14469
14474
  const [showWarning, setShowWarningWithoutPersistance] = useState45(() => getPersistedShowWarningState());
14470
- const { updateCompositionDefaultProps } = useContext32(Internals30.CompositionManager);
14475
+ const { updateCompositionDefaultProps } = useContext33(Internals30.CompositionManager);
14471
14476
  const inJSONEditor = mode === "json";
14472
14477
  const serializedJSON = useMemo72(() => {
14473
14478
  if (!inJSONEditor) {
@@ -14520,7 +14525,7 @@ var DataEditor = ({
14520
14525
  return canSaveDefaultPropsObjectState[unresolvedComposition.id] ? canSaveDefaultPropsObjectState[unresolvedComposition.id] : defaultTypeCanSaveState;
14521
14526
  }, [canSaveDefaultPropsObjectState, unresolvedComposition.id]);
14522
14527
  const showSaveButton = mayShowSaveButton && canSaveDefaultProps.canUpdate;
14523
- const { fastRefreshes } = useContext32(Internals30.NonceContext);
14528
+ const { fastRefreshes } = useContext33(Internals30.NonceContext);
14524
14529
  const checkIfCanSaveDefaultProps = useCallback63(async () => {
14525
14530
  try {
14526
14531
  const can = await canUpdateDefaultProps(unresolvedComposition.id, readOnlyStudio);
@@ -14555,7 +14560,7 @@ var DataEditor = ({
14555
14560
  useEffect42(() => {
14556
14561
  checkIfCanSaveDefaultProps();
14557
14562
  }, [checkIfCanSaveDefaultProps]);
14558
- const { previewServerState, subscribeToEvent } = useContext32(StudioServerConnectionCtx);
14563
+ const { previewServerState, subscribeToEvent } = useContext33(StudioServerConnectionCtx);
14559
14564
  useEffect42(() => {
14560
14565
  const unsub = subscribeToEvent("root-file-changed", checkIfCanSaveDefaultProps);
14561
14566
  return () => {
@@ -14740,13 +14745,13 @@ var DataEditor = ({
14740
14745
  };
14741
14746
 
14742
14747
  // src/components/RenderQueue/index.tsx
14743
- import React98, {useContext as useContext38, useEffect as useEffect44, useMemo as useMemo79} from "react";
14748
+ import React98, {useContext as useContext39, useEffect as useEffect44, useMemo as useMemo79} from "react";
14744
14749
  import {Internals as Internals32} from "remotion";
14745
14750
 
14746
14751
  // src/components/RenderQueue/RenderQueueItem.tsx
14747
14752
  import {
14748
14753
  useCallback as useCallback72,
14749
- useContext as useContext37,
14754
+ useContext as useContext38,
14750
14755
  useEffect as useEffect43,
14751
14756
  useMemo as useMemo78,
14752
14757
  useState as useState46
@@ -14803,7 +14808,7 @@ var RenderQueueCopyToClipboard = ({ job }) => {
14803
14808
  };
14804
14809
 
14805
14810
  // src/components/RenderQueue/RenderQueueError.tsx
14806
- import {useCallback as useCallback65, useContext as useContext33} from "react";
14811
+ import {useCallback as useCallback65, useContext as useContext34} from "react";
14807
14812
 
14808
14813
  // src/components/RenderQueue/item-style.ts
14809
14814
  var renderQueueItemSubtitleStyle = {
@@ -14830,7 +14835,7 @@ var outputLocation = {
14830
14835
  ...renderQueueItemSubtitleStyle
14831
14836
  };
14832
14837
  var RenderQueueError = ({ job }) => {
14833
- const { setSelectedModal } = useContext33(ModalsContext);
14838
+ const { setSelectedModal } = useContext34(ModalsContext);
14834
14839
  const { tabIndex } = useZIndex();
14835
14840
  const onClick = useCallback65(() => {
14836
14841
  setSelectedModal({
@@ -14887,7 +14892,7 @@ var RenderQueueCancelButton = ({ job }) => {
14887
14892
  };
14888
14893
 
14889
14894
  // src/components/RenderQueue/RenderQueueItemStatus.tsx
14890
- import React91, {useCallback as useCallback67, useContext as useContext34} from "react";
14895
+ import React91, {useCallback as useCallback67, useContext as useContext35} from "react";
14891
14896
 
14892
14897
  // src/components/RenderQueue/CircularProgress.tsx
14893
14898
  import {
@@ -14936,7 +14941,7 @@ var invisibleStyle = {
14936
14941
  display: "flex"
14937
14942
  };
14938
14943
  var RenderQueueItemStatus = ({ job }) => {
14939
- const { setSelectedModal } = useContext34(ModalsContext);
14944
+ const { setSelectedModal } = useContext35(ModalsContext);
14940
14945
  const [hovered, setHovered] = React91.useState(false);
14941
14946
  const onPointerEnter = useCallback67(() => {
14942
14947
  setHovered(true);
@@ -15055,7 +15060,7 @@ var RenderQueueOutputName = ({ job }) => {
15055
15060
  };
15056
15061
 
15057
15062
  // src/components/RenderQueue/RenderQueueProgressMessage.tsx
15058
- import {useCallback as useCallback69, useContext as useContext35} from "react";
15063
+ import {useCallback as useCallback69, useContext as useContext36} from "react";
15059
15064
  import {
15060
15065
  jsx as jsx140
15061
15066
  } from "react/jsx-runtime";
@@ -15066,7 +15071,7 @@ var RenderQueueProgressMessage = ({ job }) => {
15066
15071
  if (job.status !== "running") {
15067
15072
  throw new Error("should not have rendered this component");
15068
15073
  }
15069
- const { setSelectedModal } = useContext35(ModalsContext);
15074
+ const { setSelectedModal } = useContext36(ModalsContext);
15070
15075
  const { tabIndex } = useZIndex();
15071
15076
  const onClick = useCallback69(() => {
15072
15077
  setSelectedModal({
@@ -15122,7 +15127,7 @@ var RenderQueueRemoveItem = ({ job }) => {
15122
15127
  };
15123
15128
 
15124
15129
  // src/components/RenderQueue/RenderQueueRepeat.tsx
15125
- import {useCallback as useCallback71, useContext as useContext36, useMemo as useMemo77} from "react";
15130
+ import {useCallback as useCallback71, useContext as useContext37, useMemo as useMemo77} from "react";
15126
15131
 
15127
15132
  // src/helpers/retry-payload.ts
15128
15133
  import {NoReactInternals as NoReactInternals11} from "remotion/no-react";
@@ -15274,9 +15279,9 @@ import {
15274
15279
  jsx as jsx142
15275
15280
  } from "react/jsx-runtime";
15276
15281
  var RenderQueueRepeatItem = ({ job }) => {
15277
- const { setSelectedModal } = useContext36(ModalsContext);
15282
+ const { setSelectedModal } = useContext37(ModalsContext);
15278
15283
  const isMobileLayout = useMobileLayout();
15279
- const { setSidebarCollapsedState } = useContext36(SidebarContext);
15284
+ const { setSidebarCollapsedState } = useContext37(SidebarContext);
15280
15285
  const onClick = useCallback71((e) => {
15281
15286
  e.stopPropagation();
15282
15287
  const retryPayload = makeRetryPayload(job);
@@ -15338,7 +15343,7 @@ var subtitle2 = {
15338
15343
  var SELECTED_CLASSNAME = "__remotion_selected_classname";
15339
15344
  var RenderQueueItem = ({ job, selected }) => {
15340
15345
  const [hovered, setHovered] = useState46(false);
15341
- const { setCanvasContent } = useContext37(Internals31.CompositionManager);
15346
+ const { setCanvasContent } = useContext38(Internals31.CompositionManager);
15342
15347
  const onPointerEnter = useCallback72(() => {
15343
15348
  setHovered(true);
15344
15349
  }, []);
@@ -15468,9 +15473,9 @@ var renderQueue = {
15468
15473
  overflowY: "auto"
15469
15474
  };
15470
15475
  var RenderQueue = () => {
15471
- const connectionStatus = useContext38(StudioServerConnectionCtx).previewServerState.type;
15472
- const { jobs } = useContext38(RenderQueueContext);
15473
- const { canvasContent } = useContext38(Internals32.CompositionManager);
15476
+ const connectionStatus = useContext39(StudioServerConnectionCtx).previewServerState.type;
15477
+ const { jobs } = useContext39(RenderQueueContext);
15478
+ const { canvasContent } = useContext39(Internals32.CompositionManager);
15474
15479
  const previousJobCount = React98.useRef(jobs.length);
15475
15480
  const jobCount = jobs.length;
15476
15481
  const divRef = React98.useRef(null);
@@ -15549,7 +15554,7 @@ var RenderQueue = () => {
15549
15554
  };
15550
15555
 
15551
15556
  // src/components/RendersTab.tsx
15552
- import {useContext as useContext39, useMemo as useMemo80} from "react";
15557
+ import {useContext as useContext40, useMemo as useMemo80} from "react";
15553
15558
  import {Internals as Internals33} from "remotion";
15554
15559
  import {
15555
15560
  jsx as jsx145,
@@ -15574,8 +15579,8 @@ var badge = {
15574
15579
  alignItems: "center"
15575
15580
  };
15576
15581
  var RendersTab = ({ selected, onClick }) => {
15577
- const { jobs } = useContext39(RenderQueueContext);
15578
- const { canvasContent } = useContext39(Internals33.CompositionManager);
15582
+ const { jobs } = useContext40(RenderQueueContext);
15583
+ const { canvasContent } = useContext40(Internals33.CompositionManager);
15579
15584
  const failedJobs = jobs.filter((j) => j.status === "failed").length;
15580
15585
  const jobCount = jobs.length;
15581
15586
  const isActuallySelected = useMemo80(() => {
@@ -15639,7 +15644,7 @@ var persistSelectedOptionsSidebarPanel2 = (panel) => {
15639
15644
  };
15640
15645
  var optionsSidebarTabs = createRef8();
15641
15646
  var OptionsPanel = ({ readOnlyStudio }) => {
15642
- const { props, updateProps, resetUnsaved } = useContext40(Internals34.EditorPropsContext);
15647
+ const { props, updateProps, resetUnsaved } = useContext41(Internals34.EditorPropsContext);
15643
15648
  const [saving, setSaving] = useState47(false);
15644
15649
  const isMobileLayout = useMobileLayout();
15645
15650
  const container30 = useMemo81(() => ({
@@ -15667,7 +15672,7 @@ var OptionsPanel = ({ readOnlyStudio }) => {
15667
15672
  }
15668
15673
  };
15669
15674
  }, []);
15670
- const { compositions, canvasContent } = useContext40(Internals34.CompositionManager);
15675
+ const { compositions, canvasContent } = useContext41(Internals34.CompositionManager);
15671
15676
  const composition = useMemo81(() => {
15672
15677
  if (canvasContent === null || canvasContent.type !== "composition") {
15673
15678
  return null;
@@ -15753,7 +15758,7 @@ var OptionsPanel = ({ readOnlyStudio }) => {
15753
15758
  };
15754
15759
 
15755
15760
  // src/components/PreviewToolbar.tsx
15756
- import {useContext as useContext47, useState as useState50} from "react";
15761
+ import {useContext as useContext48, useState as useState50} from "react";
15757
15762
  import {Internals as Internals42} from "remotion";
15758
15763
 
15759
15764
  // src/state/loop.ts
@@ -15767,7 +15772,7 @@ var loadLoopOption = () => {
15767
15772
  };
15768
15773
 
15769
15774
  // src/components/CheckboardToggle.tsx
15770
- import {useCallback as useCallback74, useContext as useContext41} from "react";
15775
+ import {useCallback as useCallback74, useContext as useContext42} from "react";
15771
15776
  import {NoReactInternals as NoReactInternals12} from "remotion/no-react";
15772
15777
  import {
15773
15778
  jsx as jsx147
@@ -15777,7 +15782,7 @@ var accessibilityLabel2 = [
15777
15782
  areKeyboardShortcutsDisabled() ? null : "(T)"
15778
15783
  ].filter(NoReactInternals12.truthy).join(" ");
15779
15784
  var CheckboardToggle = () => {
15780
- const { checkerboard: checkerboard4, setCheckerboard } = useContext41(CheckerboardContext);
15785
+ const { checkerboard: checkerboard4, setCheckerboard } = useContext42(CheckerboardContext);
15781
15786
  const onClick = useCallback74(() => {
15782
15787
  setCheckerboard((c) => {
15783
15788
  return !c;
@@ -15890,7 +15895,7 @@ var FpsCounter = ({ playbackSpeed }) => {
15890
15895
  };
15891
15896
 
15892
15897
  // src/components/FullscreenToggle.tsx
15893
- import {useCallback as useCallback75, useContext as useContext42, useEffect as useEffect47} from "react";
15898
+ import {useCallback as useCallback75, useContext as useContext43, useEffect as useEffect47} from "react";
15894
15899
  import {Internals as Internals36} from "remotion";
15895
15900
  import {NoReactInternals as NoReactInternals13} from "remotion/no-react";
15896
15901
  import {
@@ -15902,7 +15907,7 @@ var accessibilityLabel3 = [
15902
15907
  ].filter(NoReactInternals13.truthy).join(" ");
15903
15908
  var FullScreenToggle = () => {
15904
15909
  const keybindings2 = useKeybinding();
15905
- const { setSize } = useContext42(Internals36.PreviewSizeContext);
15910
+ const { setSize } = useContext43(Internals36.PreviewSizeContext);
15906
15911
  const onClick = useCallback75(() => {
15907
15912
  drawRef.current?.requestFullscreen();
15908
15913
  if (document.fullscreenElement)
@@ -16480,7 +16485,7 @@ var PlaybackKeyboardShortcutsManager = ({ setPlaybackRate }) => {
16480
16485
  };
16481
16486
 
16482
16487
  // src/components/PlaybackRatePersistor.tsx
16483
- import {useContext as useContext43, useEffect as useEffect50} from "react";
16488
+ import {useContext as useContext44, useEffect as useEffect50} from "react";
16484
16489
  import {Internals as Internals38} from "remotion";
16485
16490
 
16486
16491
  // src/state/playbackrate.ts
@@ -16501,7 +16506,7 @@ var loadPlaybackRate = () => {
16501
16506
 
16502
16507
  // src/components/PlaybackRatePersistor.tsx
16503
16508
  var PlaybackRatePersistor = () => {
16504
- const { setPlaybackRate, playbackRate } = useContext43(Internals38.Timeline.TimelineContext);
16509
+ const { setPlaybackRate, playbackRate } = useContext44(Internals38.Timeline.TimelineContext);
16505
16510
  useEffect50(() => {
16506
16511
  setPlaybackRate(loadPlaybackRate());
16507
16512
  }, [setPlaybackRate]);
@@ -16512,7 +16517,7 @@ var PlaybackRatePersistor = () => {
16512
16517
  };
16513
16518
 
16514
16519
  // src/components/PlaybackRateSelector.tsx
16515
- import {useContext as useContext44, useMemo as useMemo83} from "react";
16520
+ import {useContext as useContext45, useMemo as useMemo83} from "react";
16516
16521
  import {Internals as Internals39} from "remotion";
16517
16522
  import {
16518
16523
  jsx as jsx158
@@ -16536,7 +16541,7 @@ var getPlaybackRateLabel = (playbackRate) => {
16536
16541
  var accessibilityLabel5 = "Change the playback rate";
16537
16542
  var comboStyle2 = { width: 80 };
16538
16543
  var PlaybackRateSelector = ({ playbackRate, setPlaybackRate }) => {
16539
- const { canvasContent } = useContext44(Internals39.CompositionManager);
16544
+ const { canvasContent } = useContext45(Internals39.CompositionManager);
16540
16545
  const isStill = useIsStill();
16541
16546
  const style9 = useMemo83(() => {
16542
16547
  return {
@@ -16585,7 +16590,7 @@ var PlaybackRateSelector = ({ playbackRate, setPlaybackRate }) => {
16585
16590
  };
16586
16591
 
16587
16592
  // src/components/RenderButton.tsx
16588
- import {useCallback as useCallback80, useContext as useContext45, useMemo as useMemo84} from "react";
16593
+ import {useCallback as useCallback80, useContext as useContext46, useMemo as useMemo84} from "react";
16589
16594
  import {Internals as Internals40, useCurrentFrame as useCurrentFrame2} from "remotion";
16590
16595
  import {
16591
16596
  jsx as jsx159,
@@ -16602,8 +16607,8 @@ var label7 = {
16602
16607
  };
16603
16608
  var RenderButton = () => {
16604
16609
  const { inFrame, outFrame } = useTimelineInOutFramePosition();
16605
- const { setSelectedModal } = useContext45(ModalsContext);
16606
- const connectionStatus = useContext45(StudioServerConnectionCtx).previewServerState.type;
16610
+ const { setSelectedModal } = useContext46(ModalsContext);
16611
+ const connectionStatus = useContext46(StudioServerConnectionCtx).previewServerState.type;
16607
16612
  const shortcut = areKeyboardShortcutsDisabled() ? "" : "(R)";
16608
16613
  const tooltip = connectionStatus === "connected" ? "Export the current composition " + shortcut : "Connect to the Studio server to render";
16609
16614
  const iconStyle4 = useMemo84(() => {
@@ -16616,7 +16621,7 @@ var RenderButton = () => {
16616
16621
  }, []);
16617
16622
  const video2 = Internals40.useVideo();
16618
16623
  const frame2 = useCurrentFrame2();
16619
- const { props } = useContext45(Internals40.EditorPropsContext);
16624
+ const { props } = useContext46(Internals40.EditorPropsContext);
16620
16625
  const onClick = useCallback80(() => {
16621
16626
  if (!video2) {
16622
16627
  return null;
@@ -16697,7 +16702,7 @@ var RenderButton = () => {
16697
16702
  };
16698
16703
 
16699
16704
  // src/components/Timeline/TimelineZoomControls.tsx
16700
- import {useCallback as useCallback81, useContext as useContext46} from "react";
16705
+ import {useCallback as useCallback81, useContext as useContext47} from "react";
16701
16706
  import {Internals as Internals41} from "remotion";
16702
16707
 
16703
16708
  // src/icons/minus.tsx
@@ -16735,8 +16740,8 @@ var iconStyle4 = {
16735
16740
  width: 14
16736
16741
  };
16737
16742
  var TimelineZoomControls = () => {
16738
- const { canvasContent } = useContext46(Internals41.CompositionManager);
16739
- const { setZoom, zoom: zoomMap } = useContext46(TimelineZoomCtx);
16743
+ const { canvasContent } = useContext47(Internals41.CompositionManager);
16744
+ const { setZoom, zoom: zoomMap } = useContext47(TimelineZoomCtx);
16740
16745
  const { tabIndex } = useZIndex();
16741
16746
  const onMinusClicked = useCallback81(() => {
16742
16747
  if (canvasContent === null || canvasContent.type !== "composition") {
@@ -16836,9 +16841,9 @@ var padding = {
16836
16841
  width: TIMELINE_PADDING
16837
16842
  };
16838
16843
  var PreviewToolbar = ({ readOnlyStudio, bufferStateDelayInMilliseconds }) => {
16839
- const { playbackRate, setPlaybackRate } = useContext47(Internals42.Timeline.TimelineContext);
16840
- const { mediaMuted } = useContext47(Internals42.MediaVolumeContext);
16841
- const { setMediaMuted } = useContext47(Internals42.SetMediaVolumeContext);
16844
+ const { playbackRate, setPlaybackRate } = useContext48(Internals42.Timeline.TimelineContext);
16845
+ const { mediaMuted } = useContext48(Internals42.MediaVolumeContext);
16846
+ const { setMediaMuted } = useContext48(Internals42.SetMediaVolumeContext);
16842
16847
  const isVideoComposition = useIsVideoComposition();
16843
16848
  const isStill = useIsStill();
16844
16849
  const [loop3, setLoop] = useState50(loadLoopOption());
@@ -17033,7 +17038,7 @@ var SplitterContainer = ({ orientation, children, defaultFlex, maxFlex, minFlex,
17033
17038
  };
17034
17039
 
17035
17040
  // src/components/Splitter/SplitterElement.tsx
17036
- import {useContext as useContext48, useMemo as useMemo86} from "react";
17041
+ import {useContext as useContext49, useMemo as useMemo86} from "react";
17037
17042
  import {interpolateColors, random} from "remotion";
17038
17043
  import {
17039
17044
  jsx as jsx164,
@@ -17041,7 +17046,7 @@ jsxs as jsxs77,
17041
17046
  Fragment as Fragment23
17042
17047
  } from "react/jsx-runtime";
17043
17048
  var SplitterElement = ({ children, type, sticky }) => {
17044
- const context5 = useContext48(SplitterContext);
17049
+ const context5 = useContext49(SplitterContext);
17045
17050
  const style9 = useMemo86(() => {
17046
17051
  return {
17047
17052
  flex: (type === "flexer" ? context5.flexValue : 1 - context5.flexValue) * 1000,
@@ -17075,7 +17080,7 @@ var SplitterElement = ({ children, type, sticky }) => {
17075
17080
 
17076
17081
  // src/components/Splitter/SplitterHandle.tsx
17077
17082
  import {PlayerInternals as PlayerInternals14} from "@remotion/player";
17078
- import {useContext as useContext49, useEffect as useEffect52, useRef as useRef28, useState as useState52} from "react";
17083
+ import {useContext as useContext50, useEffect as useEffect52, useRef as useRef28, useState as useState52} from "react";
17079
17084
  import {
17080
17085
  jsx as jsx165
17081
17086
  } from "react/jsx-runtime";
@@ -17089,7 +17094,7 @@ var containerColumn2 = {
17089
17094
  cursor: "col-resize"
17090
17095
  };
17091
17096
  var SplitterHandle = ({ allowToCollapse, onCollapse }) => {
17092
- const context5 = useContext49(SplitterContext);
17097
+ const context5 = useContext50(SplitterContext);
17093
17098
  if (!context5) {
17094
17099
  throw new Error("Cannot find splitter context");
17095
17100
  }
@@ -17217,7 +17222,7 @@ var row4 = {
17217
17222
  minHeight: 0
17218
17223
  };
17219
17224
  var useResponsiveSidebarStatus = () => {
17220
- const { sidebarCollapsedStateLeft } = useContext50(SidebarContext);
17225
+ const { sidebarCollapsedStateLeft } = useContext51(SidebarContext);
17221
17226
  const responsiveLeftStatus = useBreakpoint(1200) ? "collapsed" : "expanded";
17222
17227
  const actualStateLeft = useMemo87(() => {
17223
17228
  if (sidebarCollapsedStateLeft === "collapsed") {
@@ -17237,7 +17242,7 @@ var TopPanel = ({
17237
17242
  drawRef: drawRef2,
17238
17243
  bufferStateDelayInMilliseconds
17239
17244
  }) => {
17240
- const { setSidebarCollapsedState, sidebarCollapsedStateRight } = useContext50(SidebarContext);
17245
+ const { setSidebarCollapsedState, sidebarCollapsedStateRight } = useContext51(SidebarContext);
17241
17246
  const rulersAreVisible = useIsRulerVisible();
17242
17247
  const actualStateLeft = useResponsiveSidebarStatus();
17243
17248
  const actualStateRight = useMemo87(() => {
@@ -17362,7 +17367,7 @@ var style9 = {
17362
17367
  position: "relative"
17363
17368
  };
17364
17369
  var SidebarCollapserControls = () => {
17365
- const { setSidebarCollapsedState, sidebarCollapsedStateRight } = useContext51(SidebarContext);
17370
+ const { setSidebarCollapsedState, sidebarCollapsedStateRight } = useContext52(SidebarContext);
17366
17371
  const keybindings2 = useKeybinding();
17367
17372
  const leftSidebarStatus = useResponsiveSidebarStatus();
17368
17373
  const leftIcon = useCallback83((color) => {
@@ -17500,7 +17505,7 @@ var SidebarCollapserControls = () => {
17500
17505
  // src/components/UpdateCheck.tsx
17501
17506
  import {
17502
17507
  useCallback as useCallback84,
17503
- useContext as useContext52,
17508
+ useContext as useContext53,
17504
17509
  useEffect as useEffect55,
17505
17510
  useMemo as useMemo88,
17506
17511
  useState as useState53
@@ -17522,7 +17527,7 @@ var buttonStyle4 = {
17522
17527
  };
17523
17528
  var UpdateCheck = () => {
17524
17529
  const [info, setInfo] = useState53(null);
17525
- const { setSelectedModal } = useContext52(ModalsContext);
17530
+ const { setSelectedModal } = useContext53(ModalsContext);
17526
17531
  const { tabIndex } = useZIndex();
17527
17532
  const [knownBugs, setKnownBugs] = useState53(null);
17528
17533
  const hasKnownBugs = useMemo88(() => {
@@ -17726,7 +17731,7 @@ var MenuToolbar = ({ readOnlyStudio }) => {
17726
17731
  };
17727
17732
 
17728
17733
  // src/components/Timeline/Timeline.tsx
17729
- import {useContext as useContext61, useMemo as useMemo100} from "react";
17734
+ import {useContext as useContext62, useMemo as useMemo100} from "react";
17730
17735
  import {Internals as Internals50} from "remotion";
17731
17736
 
17732
17737
  // src/helpers/get-sequence-visible-range.ts
@@ -17923,7 +17928,7 @@ var MaxTimelineTracksReached = () => {
17923
17928
  import {PlayerInternals as PlayerInternals15} from "@remotion/player";
17924
17929
  import {
17925
17930
  useCallback as useCallback86,
17926
- useContext as useContext55,
17931
+ useContext as useContext56,
17927
17932
  useEffect as useEffect56,
17928
17933
  useMemo as useMemo91,
17929
17934
  useRef as useRef29,
@@ -17932,7 +17937,7 @@ useState as useState55
17932
17937
  import {Internals as Internals44, useVideoConfig as useVideoConfig4} from "remotion";
17933
17938
 
17934
17939
  // src/components/Timeline/TimelineInOutPointer.tsx
17935
- import {createRef as createRef9, useContext as useContext53} from "react";
17940
+ import {createRef as createRef9, useContext as useContext54} from "react";
17936
17941
  import {Internals as Internals43} from "remotion";
17937
17942
  import {
17938
17943
  jsx as jsx170,
@@ -17951,7 +17956,7 @@ var outMarkerAreaRef = createRef9();
17951
17956
  var TimelineInOutPointer = () => {
17952
17957
  const { inFrame, outFrame } = useTimelineInOutFramePosition();
17953
17958
  const videoConfig = Internals43.useUnsafeVideoConfig();
17954
- const timelineWidth = useContext53(TimelineWidthContext);
17959
+ const timelineWidth = useContext54(TimelineWidthContext);
17955
17960
  if (!videoConfig || timelineWidth === null) {
17956
17961
  return null;
17957
17962
  }
@@ -17978,7 +17983,7 @@ var TimelineInOutPointer = () => {
17978
17983
  };
17979
17984
 
17980
17985
  // src/components/Timeline/TimelineInOutPointerHandle.tsx
17981
- import {createRef as createRef10, useContext as useContext54, useMemo as useMemo90} from "react";
17986
+ import {createRef as createRef10, useContext as useContext55, useMemo as useMemo90} from "react";
17982
17987
  import {useVideoConfig as useVideoConfig3} from "remotion";
17983
17988
  import {
17984
17989
  jsx as jsx171
@@ -18013,7 +18018,7 @@ var TimelineInOutPointerHandle = ({
18013
18018
  type,
18014
18019
  atFrame
18015
18020
  }) => {
18016
- const timelineWidth = useContext54(TimelineWidthContext);
18021
+ const timelineWidth = useContext55(TimelineWidthContext);
18017
18022
  if (timelineWidth === null) {
18018
18023
  return null;
18019
18024
  }
@@ -18049,8 +18054,8 @@ var getClientXWithScroll = (x) => {
18049
18054
  };
18050
18055
  var TimelineDragHandler = () => {
18051
18056
  const video2 = Internals44.useUnsafeVideoConfig();
18052
- const { zoom: zoomMap } = useContext55(TimelineZoomCtx);
18053
- const { canvasContent } = useContext55(Internals44.CompositionManager);
18057
+ const { zoom: zoomMap } = useContext56(TimelineZoomCtx);
18058
+ const { canvasContent } = useContext56(Internals44.CompositionManager);
18054
18059
  const containerStyle2 = useMemo91(() => {
18055
18060
  if (!canvasContent || canvasContent.type !== "composition") {
18056
18061
  return {};
@@ -18081,7 +18086,7 @@ var Inner2 = () => {
18081
18086
  const [inOutDragging, setInOutDragging] = useState55({
18082
18087
  dragging: false
18083
18088
  });
18084
- const timelineWidth = useContext55(TimelineWidthContext);
18089
+ const timelineWidth = useContext56(TimelineWidthContext);
18085
18090
  const get = useCallback86((frame2) => {
18086
18091
  if (timelineWidth === null) {
18087
18092
  throw new Error("timeline width is not yet determined");
@@ -18466,7 +18471,7 @@ import {PlayerInternals as PlayerInternals16} from "@remotion/player";
18466
18471
  import {useRef as useRef31} from "react";
18467
18472
 
18468
18473
  // src/components/Timeline/TimelineListItem.tsx
18469
- import {useCallback as useCallback89, useContext as useContext57, useMemo as useMemo93} from "react";
18474
+ import {useCallback as useCallback89, useContext as useContext58, useMemo as useMemo93} from "react";
18470
18475
  import {Internals as Internals45} from "remotion";
18471
18476
 
18472
18477
  // src/components/Timeline/TimelineLayerEye.tsx
@@ -18548,7 +18553,7 @@ var TimelineLayerEye = ({ onInvoked, hidden, type }) => {
18548
18553
  import {SOURCE_MAP_ENDPOINT} from "@remotion/studio-shared";
18549
18554
  import {
18550
18555
  useCallback as useCallback88,
18551
- useContext as useContext56,
18556
+ useContext as useContext57,
18552
18557
  useEffect as useEffect57,
18553
18558
  useMemo as useMemo92,
18554
18559
  useState as useState56
@@ -18651,7 +18656,7 @@ var TimelineStack = ({ isCompact, sequence }) => {
18651
18656
  const [titleHovered, setTitleHovered] = useState56(false);
18652
18657
  const [opening, setOpening] = useState56(false);
18653
18658
  const selectAsset = useSelectAsset();
18654
- const connectionStatus = useContext56(StudioServerConnectionCtx).previewServerState.type;
18659
+ const connectionStatus = useContext57(StudioServerConnectionCtx).previewServerState.type;
18655
18660
  const assetPath = useMemo92(() => {
18656
18661
  if (sequence.type !== "video" && sequence.type !== "audio") {
18657
18662
  return null;
@@ -18836,7 +18841,7 @@ var space = {
18836
18841
  flexShrink: 0
18837
18842
  };
18838
18843
  var TimelineListItem = ({ nestedDepth, sequence, isCompact }) => {
18839
- const { hidden, setHidden } = useContext57(Internals45.SequenceVisibilityToggleContext);
18844
+ const { hidden, setHidden } = useContext58(Internals45.SequenceVisibilityToggleContext);
18840
18845
  const padder = useMemo93(() => {
18841
18846
  return {
18842
18847
  width: Number(SPACING * 1.5) * nestedDepth,
@@ -18877,7 +18882,7 @@ var TimelineListItem = ({ nestedDepth, sequence, isCompact }) => {
18877
18882
  };
18878
18883
 
18879
18884
  // src/components/Timeline/TimelineTimeIndicators.tsx
18880
- import {useContext as useContext58, useEffect as useEffect58, useMemo as useMemo94, useRef as useRef30} from "react";
18885
+ import {useContext as useContext59, useEffect as useEffect58, useMemo as useMemo94, useRef as useRef30} from "react";
18881
18886
  import {Internals as Internals46} from "remotion";
18882
18887
  import {
18883
18888
  jsx as jsx176
@@ -18931,7 +18936,7 @@ var TimelineTimePadding = () => {
18931
18936
  });
18932
18937
  };
18933
18938
  var TimelineTimeIndicators = () => {
18934
- const sliderTrack = useContext58(TimelineWidthContext);
18939
+ const sliderTrack = useContext59(TimelineWidthContext);
18935
18940
  const video2 = Internals46.useVideo();
18936
18941
  if (sliderTrack === null) {
18937
18942
  return null;
@@ -19057,15 +19062,15 @@ var TimelineList = ({ timeline: timeline2 }) => {
19057
19062
  };
19058
19063
 
19059
19064
  // src/components/Timeline/TimelinePlayCursorSyncer.tsx
19060
- import {useContext as useContext59, useEffect as useEffect59} from "react";
19065
+ import {useContext as useContext60, useEffect as useEffect59} from "react";
19061
19066
  import {Internals as Internals47} from "remotion";
19062
19067
  var lastTimelinePositionWhileScrolling = null;
19063
19068
  var TimelinePlayCursorSyncer = () => {
19064
19069
  const video2 = Internals47.useVideo();
19065
- const timelineContext = useContext59(Internals47.Timeline.TimelineContext);
19070
+ const timelineContext = useContext60(Internals47.Timeline.TimelineContext);
19066
19071
  const timelinePosition = Internals47.Timeline.useTimelinePosition();
19067
- const { canvasContent } = useContext59(Internals47.CompositionManager);
19068
- const { zoom: zoomMap } = useContext59(TimelineZoomCtx);
19072
+ const { canvasContent } = useContext60(Internals47.CompositionManager);
19073
+ const { zoom: zoomMap } = useContext60(TimelineZoomCtx);
19069
19074
  const compositionId = canvasContent && canvasContent.type === "composition" ? canvasContent.compositionId : null;
19070
19075
  const zoom = compositionId ? zoomMap[compositionId] ?? TIMELINE_MIN_ZOOM : null;
19071
19076
  if (zoom && video2) {
@@ -19156,7 +19161,7 @@ var TimelineScrollable = ({ children }) => {
19156
19161
  import {useMemo as useMemo99} from "react";
19157
19162
 
19158
19163
  // src/components/Timeline/TimelineSequence.tsx
19159
- import {useContext as useContext60, useMemo as useMemo98, useState as useState59} from "react";
19164
+ import {useContext as useContext61, useMemo as useMemo98, useState as useState59} from "react";
19160
19165
  import {Internals as Internals49, useCurrentFrame as useCurrentFrame3} from "remotion";
19161
19166
 
19162
19167
  // src/helpers/get-timeline-sequence-layout.ts
@@ -19567,7 +19572,7 @@ jsxs as jsxs90
19567
19572
  var AUDIO_GRADIENT = "linear-gradient(rgb(16 171 58), rgb(43 165 63) 60%)";
19568
19573
  var VIDEO_GRADIENT = "linear-gradient(to top, #8e44ad, #9b59b6)";
19569
19574
  var TimelineSequence = ({ s }) => {
19570
- const windowWidth = useContext60(TimelineWidthContext);
19575
+ const windowWidth = useContext61(TimelineWidthContext);
19571
19576
  if (windowWidth === null) {
19572
19577
  return null;
19573
19578
  }
@@ -19739,7 +19744,7 @@ var noop7 = () => {
19739
19744
  return;
19740
19745
  };
19741
19746
  var Timeline = () => {
19742
- const { sequences } = useContext61(Internals50.SequenceManager);
19747
+ const { sequences } = useContext62(Internals50.SequenceManager);
19743
19748
  const videoConfig = Internals50.useUnsafeVideoConfig();
19744
19749
  const timeline2 = useMemo100(() => {
19745
19750
  if (!videoConfig) {
@@ -19840,7 +19845,7 @@ var EditorContent = ({
19840
19845
  bufferStateDelayInMilliseconds
19841
19846
  }) => {
19842
19847
  const isStill = useIsStill();
19843
- const { canvasContent } = useContext62(Internals51.CompositionManager);
19848
+ const { canvasContent } = useContext63(Internals51.CompositionManager);
19844
19849
  const onlyTopPanel = canvasContent === null || isStill || canvasContent.type !== "composition";
19845
19850
  return jsxs93("div", {
19846
19851
  style: container41,
@@ -19892,11 +19897,11 @@ var EditorContent = ({
19892
19897
  };
19893
19898
 
19894
19899
  // src/components/GlobalKeybindings.tsx
19895
- import {useContext as useContext63, useEffect as useEffect62} from "react";
19900
+ import {useContext as useContext64, useEffect as useEffect62} from "react";
19896
19901
  var GlobalKeybindings = () => {
19897
19902
  const keybindings2 = useKeybinding();
19898
- const { setSelectedModal } = useContext63(ModalsContext);
19899
- const { setCheckerboard } = useContext63(CheckerboardContext);
19903
+ const { setSelectedModal } = useContext64(ModalsContext);
19904
+ const { setCheckerboard } = useContext64(CheckerboardContext);
19900
19905
  useEffect62(() => {
19901
19906
  const nKey = keybindings2.registerKeybinding({
19902
19907
  event: "keypress",
@@ -19961,13 +19966,13 @@ var GlobalKeybindings = () => {
19961
19966
  };
19962
19967
 
19963
19968
  // src/components/Modals.tsx
19964
- import {useContext as useContext75} from "react";
19969
+ import {useContext as useContext76} from "react";
19965
19970
 
19966
19971
  // src/components/NewComposition/DeleteComposition.tsx
19967
- import {useCallback as useCallback93, useContext as useContext68, useMemo as useMemo102} from "react";
19972
+ import {useCallback as useCallback93, useContext as useContext69, useMemo as useMemo102} from "react";
19968
19973
 
19969
19974
  // src/components/ModalHeader.tsx
19970
- import {useCallback as useCallback90, useContext as useContext64} from "react";
19975
+ import {useCallback as useCallback90, useContext as useContext65} from "react";
19971
19976
  import {
19972
19977
  jsx as jsx189,
19973
19978
  jsxs as jsxs94
@@ -19989,7 +19994,7 @@ var icon5 = {
19989
19994
  width: 20
19990
19995
  };
19991
19996
  var NewCompHeader = ({ title: title4 }) => {
19992
- const { setSelectedModal } = useContext64(ModalsContext);
19997
+ const { setSelectedModal } = useContext65(ModalsContext);
19993
19998
  const onPress = useCallback90(() => {
19994
19999
  setSelectedModal(null);
19995
20000
  }, [setSelectedModal]);
@@ -20010,7 +20015,7 @@ var NewCompHeader = ({ title: title4 }) => {
20010
20015
  };
20011
20016
 
20012
20017
  // src/components/RenderModal/ResolveCompositionBeforeModal.tsx
20013
- import React134, {useContext as useContext65, useEffect as useEffect63, useMemo as useMemo101} from "react";
20018
+ import React134, {useContext as useContext66, useEffect as useEffect63, useMemo as useMemo101} from "react";
20014
20019
  import {Internals as Internals52} from "remotion";
20015
20020
  import {
20016
20021
  jsx as jsx190,
@@ -20035,7 +20040,7 @@ var loaderLabel2 = {
20035
20040
  var ResolvedCompositionContext = React134.createContext(null);
20036
20041
  var ResolveCompositionBeforeModal = ({ compositionId, children }) => {
20037
20042
  const resolved = Internals52.useResolvedVideoConfig(compositionId);
20038
- const unresolvedContext = useContext65(Internals52.CompositionManager);
20043
+ const unresolvedContext = useContext66(Internals52.CompositionManager);
20039
20044
  const unresolved = unresolvedContext.compositions.find((c) => compositionId === c.id);
20040
20045
  useEffect63(() => {
20041
20046
  const { current } = Internals52.resolveCompositionsRef;
@@ -20095,7 +20100,7 @@ var ResolveCompositionBeforeModal = ({ compositionId, children }) => {
20095
20100
  };
20096
20101
 
20097
20102
  // src/components/NewComposition/CodemodFooter.tsx
20098
- import {useCallback as useCallback91, useContext as useContext66, useEffect as useEffect64, useState as useState60} from "react";
20103
+ import {useCallback as useCallback91, useContext as useContext67, useEffect as useEffect64, useState as useState60} from "react";
20099
20104
 
20100
20105
  // src/components/NewComposition/DiffPreview.tsx
20101
20106
  import {
@@ -20165,7 +20170,7 @@ var CodemodFooter = ({
20165
20170
  submitLabel
20166
20171
  }) => {
20167
20172
  const [submitting, setSubmitting] = useState60(false);
20168
- const { setSelectedModal } = useContext66(ModalsContext);
20173
+ const { setSelectedModal } = useContext67(ModalsContext);
20169
20174
  const [codemodStatus, setCanApplyCodemod] = useState60({
20170
20175
  type: "loading"
20171
20176
  });
@@ -20284,7 +20289,7 @@ var CodemodFooter = ({
20284
20289
  };
20285
20290
 
20286
20291
  // src/components/NewComposition/DismissableModal.tsx
20287
- import {useCallback as useCallback92, useContext as useContext67} from "react";
20292
+ import {useCallback as useCallback92, useContext as useContext68} from "react";
20288
20293
 
20289
20294
  // src/components/ModalContainer.tsx
20290
20295
  import {
@@ -20334,7 +20339,7 @@ import {
20334
20339
  jsx as jsx194
20335
20340
  } from "react/jsx-runtime";
20336
20341
  var DismissableModal = ({ children }) => {
20337
- const { setSelectedModal } = useContext67(ModalsContext);
20342
+ const { setSelectedModal } = useContext68(ModalsContext);
20338
20343
  const onQuit = useCallback92(() => {
20339
20344
  setSelectedModal(null);
20340
20345
  }, [setSelectedModal]);
@@ -20358,7 +20363,7 @@ var content2 = {
20358
20363
  minWidth: 500
20359
20364
  };
20360
20365
  var DeleteCompositionLoaded = ({ compositionId }) => {
20361
- const context5 = useContext68(ResolvedCompositionContext);
20366
+ const context5 = useContext69(ResolvedCompositionContext);
20362
20367
  if (!context5) {
20363
20368
  throw new Error("Resolved composition context");
20364
20369
  }
@@ -20433,7 +20438,7 @@ var DeleteComposition = ({ compositionId }) => {
20433
20438
  };
20434
20439
 
20435
20440
  // src/components/NewComposition/DuplicateComposition.tsx
20436
- import {useCallback as useCallback95, useContext as useContext69, useMemo as useMemo103, useState as useState61} from "react";
20441
+ import {useCallback as useCallback95, useContext as useContext70, useMemo as useMemo103, useState as useState61} from "react";
20437
20442
  import {Internals as Internals54} from "remotion";
20438
20443
 
20439
20444
  // src/helpers/validate-new-comp-data.ts
@@ -20547,7 +20552,7 @@ var comboBoxStyle = {
20547
20552
  width: 190
20548
20553
  };
20549
20554
  var DuplicateCompositionLoaded = ({ initialType }) => {
20550
- const context5 = useContext69(ResolvedCompositionContext);
20555
+ const context5 = useContext70(ResolvedCompositionContext);
20551
20556
  if (!context5) {
20552
20557
  throw new Error("Resolved composition context");
20553
20558
  }
@@ -20557,7 +20562,7 @@ var DuplicateCompositionLoaded = ({ initialType }) => {
20557
20562
  const hadFpsDefined = unresolved.fps !== undefined;
20558
20563
  const hadDurationDefined = unresolved.durationInFrames !== undefined;
20559
20564
  const [selectedFrameRate, setFrameRate] = useState61(resolved.result.fps);
20560
- const { compositions } = useContext69(Internals54.CompositionManager);
20565
+ const { compositions } = useContext70(Internals54.CompositionManager);
20561
20566
  const [type, setType] = useState61(initialCompType);
20562
20567
  const [newId, setName] = useState61(() => {
20563
20568
  const numberAtEnd = resolved.result.id.match(/([0-9]+)$/)?.[0];
@@ -20901,7 +20906,7 @@ var DuplicateComposition = ({ compositionId, compositionType }) => {
20901
20906
  };
20902
20907
 
20903
20908
  // src/components/NewComposition/RenameComposition.tsx
20904
- import {useCallback as useCallback96, useContext as useContext70, useMemo as useMemo104, useState as useState62} from "react";
20909
+ import {useCallback as useCallback96, useContext as useContext71, useMemo as useMemo104, useState as useState62} from "react";
20905
20910
  import {Internals as Internals55} from "remotion";
20906
20911
  import {
20907
20912
  jsx as jsx198,
@@ -20916,12 +20921,12 @@ var content4 = {
20916
20921
  minWidth: 500
20917
20922
  };
20918
20923
  var RenameCompositionLoaded = () => {
20919
- const context5 = useContext70(ResolvedCompositionContext);
20924
+ const context5 = useContext71(ResolvedCompositionContext);
20920
20925
  if (!context5) {
20921
20926
  throw new Error("Resolved composition context");
20922
20927
  }
20923
20928
  const { resolved } = context5;
20924
- const { compositions } = useContext70(Internals55.CompositionManager);
20929
+ const { compositions } = useContext71(Internals55.CompositionManager);
20925
20930
  const [newId, setName] = useState62(() => {
20926
20931
  return resolved.result.id;
20927
20932
  });
@@ -21018,7 +21023,7 @@ var RenameComposition = ({ compositionId }) => {
21018
21023
  // src/components/QuickSwitcher/QuickSwitcherContent.tsx
21019
21024
  import {
21020
21025
  useCallback as useCallback97,
21021
- useContext as useContext71,
21026
+ useContext as useContext72,
21022
21027
  useEffect as useEffect66,
21023
21028
  useMemo as useMemo106,
21024
21029
  useRef as useRef35,
@@ -22058,7 +22063,7 @@ var mapModeToQuery = (mode) => {
22058
22063
  throw new Error("no mode" + mode);
22059
22064
  };
22060
22065
  var QuickSwitcherContent = ({ initialMode, invocationTimestamp, readOnlyStudio }) => {
22061
- const { compositions } = useContext71(Internals56.CompositionManager);
22066
+ const { compositions } = useContext72(Internals56.CompositionManager);
22062
22067
  const [state, setState] = useState64(() => {
22063
22068
  return {
22064
22069
  query: mapModeToQuery(initialMode),
@@ -22078,7 +22083,7 @@ var QuickSwitcherContent = ({ initialMode, invocationTimestamp, readOnlyStudio }
22078
22083
  }, []);
22079
22084
  const actions10 = useMenuStructure(closeMenu, readOnlyStudio);
22080
22085
  const [docResults, setDocResults] = useState64({ type: "initial" });
22081
- const { setSelectedModal } = useContext71(ModalsContext);
22086
+ const { setSelectedModal } = useContext72(ModalsContext);
22082
22087
  const keybindings2 = useKeybinding();
22083
22088
  const mode = mapQueryToMode(state.query);
22084
22089
  const actualQuery = useMemo106(() => {
@@ -22331,7 +22336,7 @@ import {BrowserSafeApis as BrowserSafeApis10} from "@remotion/renderer/client.js
22331
22336
  import {getDefaultOutLocation} from "@remotion/studio-shared";
22332
22337
  import {
22333
22338
  useCallback as useCallback115,
22334
- useContext as useContext73,
22339
+ useContext as useContext74,
22335
22340
  useEffect as useEffect69,
22336
22341
  useMemo as useMemo115,
22337
22342
  useReducer as useReducer2,
@@ -23714,10 +23719,10 @@ import {BrowserSafeApis as BrowserSafeApis4} from "@remotion/renderer/client.js"
23714
23719
  import {useCallback as useCallback107, useMemo as useMemo111} from "react";
23715
23720
 
23716
23721
  // src/helpers/use-file-existence.ts
23717
- import {useContext as useContext72, useEffect as useEffect68, useRef as useRef36, useState as useState69} from "react";
23722
+ import {useContext as useContext73, useEffect as useEffect68, useRef as useRef36, useState as useState69} from "react";
23718
23723
  var useFileExistence = (outName) => {
23719
23724
  const [exists, setExists] = useState69(false);
23720
- const { previewServerState: state, subscribeToEvent } = useContext72(StudioServerConnectionCtx);
23725
+ const { previewServerState: state, subscribeToEvent } = useContext73(StudioServerConnectionCtx);
23721
23726
  const clientId = state.type === "connected" ? state.clientId : undefined;
23722
23727
  const currentOutName = useRef36("");
23723
23728
  currentOutName.current = outName;
@@ -25211,8 +25216,8 @@ var RenderModal = ({
25211
25216
  initialForSeamlessAacConcatenation,
25212
25217
  renderTypeOfLastRender
25213
25218
  }) => {
25214
- const { setSelectedModal } = useContext73(ModalsContext);
25215
- const context5 = useContext73(ResolvedCompositionContext);
25219
+ const { setSelectedModal } = useContext74(ModalsContext);
25220
+ const context5 = useContext74(ResolvedCompositionContext);
25216
25221
  if (!context5) {
25217
25222
  throw new Error("Should not be able to render without resolving comp first");
25218
25223
  }
@@ -25470,7 +25475,7 @@ var RenderModal = ({
25470
25475
  setStillImageFormat(format);
25471
25476
  setDefaultOutName({ type: "still", imageFormat: format });
25472
25477
  }, [setDefaultOutName]);
25473
- const { setSidebarCollapsedState } = useContext73(SidebarContext);
25478
+ const { setSidebarCollapsedState } = useContext74(SidebarContext);
25474
25479
  const onClickStill = useCallback115(() => {
25475
25480
  setSidebarCollapsedState({ left: null, right: "expanded" });
25476
25481
  persistSelectedOptionsSidebarPanel2("renders");
@@ -26139,7 +26144,7 @@ var RenderModalWithLoader = (props) => {
26139
26144
  };
26140
26145
 
26141
26146
  // src/components/RenderModal/RenderStatusModal.tsx
26142
- import {useCallback as useCallback117, useContext as useContext74} from "react";
26147
+ import {useCallback as useCallback117, useContext as useContext75} from "react";
26143
26148
 
26144
26149
  // src/components/RenderModal/GuiRenderStatus.tsx
26145
26150
  import {useCallback as useCallback116, useMemo as useMemo116} from "react";
@@ -26382,8 +26387,8 @@ var buttonRow = {
26382
26387
  justifyContent: "flex-end"
26383
26388
  };
26384
26389
  var RenderStatusModal = ({ jobId }) => {
26385
- const { setSelectedModal } = useContext74(ModalsContext);
26386
- const { jobs } = useContext74(RenderQueueContext);
26390
+ const { setSelectedModal } = useContext75(ModalsContext);
26391
+ const { jobs } = useContext75(RenderQueueContext);
26387
26392
  const job = jobs.find((j) => j.id === jobId);
26388
26393
  if (!job) {
26389
26394
  throw new Error("job not found");
@@ -26766,8 +26771,8 @@ jsxs as jsxs128,
26766
26771
  Fragment as Fragment41
26767
26772
  } from "react/jsx-runtime";
26768
26773
  var Modals = ({ readOnlyStudio }) => {
26769
- const { selectedModal: modalContextType } = useContext75(ModalsContext);
26770
- const canRender = useContext75(StudioServerConnectionCtx).previewServerState.type === "connected";
26774
+ const { selectedModal: modalContextType } = useContext76(ModalsContext);
26775
+ const canRender = useContext76(StudioServerConnectionCtx).previewServerState.type === "connected";
26771
26776
  return jsxs128(Fragment41, {
26772
26777
  children: [
26773
26778
  modalContextType && modalContextType.type === "duplicate-comp" && jsx242(DuplicateComposition, {
@@ -26927,7 +26932,7 @@ var Editor = ({ Root, readOnlyStudio }) => {
26927
26932
  import {PlayerInternals as PlayerInternals18} from "@remotion/player";
26928
26933
 
26929
26934
  // src/state/preview-size.tsx
26930
- import {useCallback as useCallback122, useContext as useContext76, useMemo as useMemo120, useState as useState73} from "react";
26935
+ import {useCallback as useCallback122, useContext as useContext77, useMemo as useMemo120, useState as useState73} from "react";
26931
26936
  import {Internals as Internals58} from "remotion";
26932
26937
  import {
26933
26938
  jsx as jsx244
@@ -26957,7 +26962,7 @@ var PreviewSizeProvider = ({ children }) => {
26957
26962
  y: 0
26958
26963
  };
26959
26964
  });
26960
- const { editorZoomGestures } = useContext76(EditorZoomGesturesContext);
26965
+ const { editorZoomGestures } = useContext77(EditorZoomGesturesContext);
26961
26966
  const setSize = useCallback122((newValue) => {
26962
26967
  setSizeState((prevState) => {
26963
26968
  const newVal = newValue(prevState);
@@ -27239,7 +27244,7 @@ var EditorContexts = ({ children, readOnlyStudio }) => {
27239
27244
  };
27240
27245
 
27241
27246
  // src/components/Notifications/ServerDisconnected.tsx
27242
- import {useContext as useContext77} from "react";
27247
+ import {useContext as useContext78} from "react";
27243
27248
  import {
27244
27249
  jsx as jsx253,
27245
27250
  jsxs as jsxs130
@@ -27277,7 +27282,7 @@ window.addEventListener("beforeunload", () => {
27277
27282
  pageIsGoingToReload = true;
27278
27283
  });
27279
27284
  var ServerDisconnected = () => {
27280
- const { previewServerState: ctx } = useContext77(StudioServerConnectionCtx);
27285
+ const { previewServerState: ctx } = useContext78(StudioServerConnectionCtx);
27281
27286
  const fav = document.getElementById("__remotion_favicon");
27282
27287
  if (ctx.type !== "disconnected") {
27283
27288
  fav.setAttribute("href", "/favicon.ico");