@remotion/promo-pages 4.0.494 → 4.0.495

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/experts.js CHANGED
@@ -911,7 +911,7 @@ var experts = [
911
911
  }
912
912
  ];
913
913
  // src/components/experts/ExpertsPage.tsx
914
- import { useMemo as useMemo40 } from "react";
914
+ import { useMemo as useMemo41 } from "react";
915
915
 
916
916
  // ../core/dist/esm/index.mjs
917
917
  import { createContext } from "react";
@@ -945,9 +945,9 @@ import React9 from "react";
945
945
  import {
946
946
  forwardRef as forwardRef3,
947
947
  useCallback as useCallback6,
948
- useContext as useContext17,
948
+ useContext as useContext18,
949
949
  useEffect as useEffect3,
950
- useMemo as useMemo14,
950
+ useMemo as useMemo15,
951
951
  useRef as useRef6,
952
952
  useState as useState5
953
953
  } from "react";
@@ -966,13 +966,14 @@ import { useContext as useContext11 } from "react";
966
966
  import { useContext as useContext13 } from "react";
967
967
  import { useContext as useContext12, useMemo as useMemo10 } from "react";
968
968
  import { jsx as jsx9 } from "react/jsx-runtime";
969
- import { createContext as createContext14 } from "react";
970
969
  import React12, { useCallback as useCallback5, useMemo as useMemo12, useRef as useRef4, useState as useState3 } from "react";
971
970
  import { jsx as jsx10 } from "react/jsx-runtime";
972
- import React13, { createContext as createContext15 } from "react";
971
+ import React13, { createContext as createContext14 } from "react";
973
972
  import { jsx as jsx11 } from "react/jsx-runtime";
974
- import React14, { forwardRef as forwardRef2, useContext as useContext16, useMemo as useMemo13, useState as useState4 } from "react";
975
- import { useContext as useContext15, useRef as useRef5 } from "react";
973
+ import { useContext as useContext15, useMemo as useMemo13 } from "react";
974
+ import { createContext as createContext15 } from "react";
975
+ import React14, { forwardRef as forwardRef2, useContext as useContext17, useMemo as useMemo14, useState as useState4 } from "react";
976
+ import { useContext as useContext16, useRef as useRef5 } from "react";
976
977
  import { createContext as createContext16 } from "react";
977
978
  import { jsx as jsx12 } from "react/jsx-runtime";
978
979
  import {
@@ -983,70 +984,70 @@ import {
983
984
  useRef as useRef9,
984
985
  useState as useState6
985
986
  } from "react";
986
- import React16, { useCallback as useCallback7, useImperativeHandle, useMemo as useMemo16, useRef as useRef8 } from "react";
987
- import { useEffect as useEffect4, useMemo as useMemo15, useRef as useRef7 } from "react";
987
+ import React16, { useCallback as useCallback7, useImperativeHandle, useMemo as useMemo17, useRef as useRef8 } from "react";
988
+ import { useEffect as useEffect4, useMemo as useMemo16, useRef as useRef7 } from "react";
988
989
  import { jsx as jsx13 } from "react/jsx-runtime";
989
990
  import { jsx as jsx14 } from "react/jsx-runtime";
990
- import { useContext as useContext18, useLayoutEffect as useLayoutEffect4, useState as useState8 } from "react";
991
+ import { useContext as useContext19, useLayoutEffect as useLayoutEffect4, useState as useState8 } from "react";
991
992
  import {
992
993
  createContext as createContext17,
993
994
  useCallback as useCallback8,
994
995
  useImperativeHandle as useImperativeHandle3,
995
996
  useLayoutEffect as useLayoutEffect3,
996
- useMemo as useMemo17,
997
+ useMemo as useMemo18,
997
998
  useRef as useRef10,
998
999
  useState as useState7
999
1000
  } from "react";
1000
1001
  import { jsx as jsx15 } from "react/jsx-runtime";
1001
- import { forwardRef as forwardRef7, useCallback as useCallback14, useContext as useContext30 } from "react";
1002
- import React17, { createContext as createContext18, useMemo as useMemo18 } from "react";
1002
+ import { forwardRef as forwardRef7, useCallback as useCallback14, useContext as useContext31 } from "react";
1003
+ import React17, { createContext as createContext18, useMemo as useMemo19 } from "react";
1003
1004
  import { jsx as jsx16 } from "react/jsx-runtime";
1004
- import { useContext as useContext19 } from "react";
1005
+ import { useContext as useContext20 } from "react";
1005
1006
  import { createContext as createContext19, useEffect as useEffect6, useState as useState9 } from "react";
1006
1007
  import { jsx as jsx17 } from "react/jsx-runtime";
1007
- import { createContext as createContext20, useMemo as useMemo19, useReducer } from "react";
1008
+ import { createContext as createContext20, useMemo as useMemo20, useReducer } from "react";
1008
1009
  import { jsx as jsx18 } from "react/jsx-runtime";
1009
1010
  import { useCallback as useCallback13 } from "react";
1010
1011
  import React23, {
1011
1012
  forwardRef as forwardRef5,
1012
- useContext as useContext28,
1013
+ useContext as useContext29,
1013
1014
  useEffect as useEffect14,
1014
1015
  useImperativeHandle as useImperativeHandle4,
1015
- useMemo as useMemo27,
1016
+ useMemo as useMemo28,
1016
1017
  useRef as useRef19,
1017
1018
  useState as useState14
1018
1019
  } from "react";
1019
- import { useContext as useContext21, useLayoutEffect as useLayoutEffect5, useRef as useRef14 } from "react";
1020
+ import { useContext as useContext22, useLayoutEffect as useLayoutEffect5, useRef as useRef14 } from "react";
1020
1021
  import React20, {
1021
1022
  createContext as createContext21,
1022
1023
  createRef as createRef2,
1023
1024
  useCallback as useCallback9,
1024
- useContext as useContext20,
1025
+ useContext as useContext21,
1025
1026
  useEffect as useEffect7,
1026
- useMemo as useMemo21,
1027
+ useMemo as useMemo22,
1027
1028
  useRef as useRef12,
1028
1029
  useState as useState10
1029
1030
  } from "react";
1030
- import { useMemo as useMemo20, useRef as useRef11 } from "react";
1031
+ import { useMemo as useMemo21, useRef as useRef11 } from "react";
1031
1032
  import { jsx as jsx19, jsxs as jsxs22 } from "react/jsx-runtime";
1032
1033
  import { useRef as useRef13 } from "react";
1033
- import { useContext as useContext23, useEffect as useEffect8, useMemo as useMemo22, useState as useState11 } from "react";
1034
- import { useContext as useContext22 } from "react";
1034
+ import { useContext as useContext24, useEffect as useEffect8, useMemo as useMemo23, useState as useState11 } from "react";
1035
+ import { useContext as useContext23 } from "react";
1035
1036
  import {
1036
1037
  useCallback as useCallback12,
1037
- useContext as useContext26,
1038
+ useContext as useContext27,
1038
1039
  useEffect as useEffect12,
1039
1040
  useLayoutEffect as useLayoutEffect7,
1040
1041
  useRef as useRef18
1041
1042
  } from "react";
1042
- import { useCallback as useCallback11, useMemo as useMemo25, useRef as useRef16 } from "react";
1043
- import { useContext as useContext25, useMemo as useMemo24 } from "react";
1043
+ import { useCallback as useCallback11, useMemo as useMemo26, useRef as useRef16 } from "react";
1044
+ import { useContext as useContext26, useMemo as useMemo25 } from "react";
1044
1045
  import React21, {
1045
1046
  useCallback as useCallback10,
1046
- useContext as useContext24,
1047
+ useContext as useContext25,
1047
1048
  useEffect as useEffect9,
1048
1049
  useLayoutEffect as useLayoutEffect6,
1049
- useMemo as useMemo23,
1050
+ useMemo as useMemo24,
1050
1051
  useRef as useRef15,
1051
1052
  useState as useState12
1052
1053
  } from "react";
@@ -1055,15 +1056,15 @@ import React22 from "react";
1055
1056
  import { useEffect as useEffect10, useState as useState13 } from "react";
1056
1057
  import { useEffect as useEffect11, useRef as useRef17 } from "react";
1057
1058
  import { useEffect as useEffect13 } from "react";
1058
- import { createContext as createContext22, useContext as useContext27, useMemo as useMemo26 } from "react";
1059
+ import { createContext as createContext22, useContext as useContext28, useMemo as useMemo27 } from "react";
1059
1060
  import { jsx as jsx21 } from "react/jsx-runtime";
1060
1061
  import {
1061
1062
  forwardRef as forwardRef6,
1062
- useContext as useContext29,
1063
+ useContext as useContext30,
1063
1064
  useEffect as useEffect15,
1064
1065
  useImperativeHandle as useImperativeHandle5,
1065
1066
  useLayoutEffect as useLayoutEffect8,
1066
- useMemo as useMemo28,
1067
+ useMemo as useMemo29,
1067
1068
  useRef as useRef20
1068
1069
  } from "react";
1069
1070
  import { jsx as jsx222 } from "react/jsx-runtime";
@@ -1073,7 +1074,7 @@ import {
1073
1074
  useCallback as useCallback15,
1074
1075
  useEffect as useEffect16,
1075
1076
  useImperativeHandle as useImperativeHandle6,
1076
- useMemo as useMemo29,
1077
+ useMemo as useMemo30,
1077
1078
  useRef as useRef21,
1078
1079
  useState as useState15
1079
1080
  } from "react";
@@ -1082,19 +1083,19 @@ import {
1082
1083
  createContext as createContext23,
1083
1084
  forwardRef as forwardRef9,
1084
1085
  useCallback as useCallback16,
1085
- useContext as useContext31,
1086
+ useContext as useContext32,
1086
1087
  useLayoutEffect as useLayoutEffect9,
1087
- useMemo as useMemo30,
1088
+ useMemo as useMemo31,
1088
1089
  useRef as useRef22
1089
1090
  } from "react";
1090
1091
  import { jsx as jsx25 } from "react/jsx-runtime";
1091
1092
  import {
1092
1093
  forwardRef as forwardRef10,
1093
1094
  useCallback as useCallback17,
1094
- useContext as useContext32,
1095
+ useContext as useContext33,
1095
1096
  useImperativeHandle as useImperativeHandle7,
1096
1097
  useLayoutEffect as useLayoutEffect10,
1097
- useMemo as useMemo31,
1098
+ useMemo as useMemo32,
1098
1099
  useRef as useRef23,
1099
1100
  useState as useState16
1100
1101
  } from "react";
@@ -1103,7 +1104,7 @@ import { forwardRef as forwardRef11, useCallback as useCallback18, useState as u
1103
1104
  import { jsx as jsx27 } from "react/jsx-runtime";
1104
1105
  import {
1105
1106
  useCallback as useCallback19,
1106
- useContext as useContext33,
1107
+ useContext as useContext34,
1107
1108
  useLayoutEffect as useLayoutEffect11,
1108
1109
  useRef as useRef24,
1109
1110
  useState as useState18
@@ -1116,59 +1117,59 @@ import React31 from "react";
1116
1117
  import {
1117
1118
  useCallback as useCallback21,
1118
1119
  useImperativeHandle as useImperativeHandle8,
1119
- useMemo as useMemo32,
1120
+ useMemo as useMemo33,
1120
1121
  useRef as useRef26,
1121
1122
  useState as useState19
1122
1123
  } from "react";
1123
1124
  import { jsx as jsx30 } from "react/jsx-runtime";
1124
1125
  import React32 from "react";
1125
- import { useMemo as useMemo34 } from "react";
1126
- import { createContext as createContext24, useContext as useContext34, useMemo as useMemo33 } from "react";
1126
+ import { useMemo as useMemo35 } from "react";
1127
+ import { createContext as createContext24, useContext as useContext35, useMemo as useMemo34 } from "react";
1127
1128
  import { jsx as jsx31 } from "react/jsx-runtime";
1128
1129
  import { jsx as jsx32 } from "react/jsx-runtime";
1129
1130
  import React34 from "react";
1130
1131
  import React35, { createContext as createContext25 } from "react";
1131
- import React36, { useContext as useContext35 } from "react";
1132
+ import React36, { useContext as useContext36 } from "react";
1132
1133
  import { useCallback as useCallback24 } from "react";
1133
1134
  import {
1134
1135
  useCallback as useCallback22,
1135
- useContext as useContext36,
1136
+ useContext as useContext37,
1136
1137
  useEffect as useEffect17,
1137
1138
  useLayoutEffect as useLayoutEffect12,
1138
- useMemo as useMemo35,
1139
+ useMemo as useMemo36,
1139
1140
  useState as useState20
1140
1141
  } from "react";
1141
1142
  import { jsx as jsx33 } from "react/jsx-runtime";
1142
1143
  import React38, {
1143
1144
  forwardRef as forwardRef13,
1144
1145
  useCallback as useCallback23,
1145
- useContext as useContext37,
1146
+ useContext as useContext38,
1146
1147
  useEffect as useEffect19,
1147
1148
  useImperativeHandle as useImperativeHandle9,
1148
- useMemo as useMemo36,
1149
+ useMemo as useMemo37,
1149
1150
  useRef as useRef27,
1150
1151
  useState as useState21
1151
1152
  } from "react";
1152
1153
  import { useEffect as useEffect18 } from "react";
1153
1154
  import { jsx as jsx34 } from "react/jsx-runtime";
1154
1155
  import { jsx as jsx35 } from "react/jsx-runtime";
1155
- import React40, { useMemo as useMemo37 } from "react";
1156
+ import React40, { useMemo as useMemo38 } from "react";
1156
1157
  import { jsx as jsx36 } from "react/jsx-runtime";
1157
1158
  import React42, {
1158
1159
  forwardRef as forwardRef14,
1159
- useMemo as useMemo38
1160
+ useMemo as useMemo39
1160
1161
  } from "react";
1161
1162
  import React41 from "react";
1162
1163
  import { jsx as jsx37, jsxs as jsxs3, Fragment } from "react/jsx-runtime";
1163
1164
  import React43 from "react";
1164
- import { forwardRef as forwardRef16, useCallback as useCallback25, useContext as useContext39 } from "react";
1165
+ import { forwardRef as forwardRef16, useCallback as useCallback25, useContext as useContext40 } from "react";
1165
1166
  import {
1166
1167
  forwardRef as forwardRef15,
1167
- useContext as useContext38,
1168
+ useContext as useContext39,
1168
1169
  useEffect as useEffect20,
1169
1170
  useImperativeHandle as useImperativeHandle10,
1170
1171
  useLayoutEffect as useLayoutEffect13,
1171
- useMemo as useMemo39,
1172
+ useMemo as useMemo40,
1172
1173
  useRef as useRef28
1173
1174
  } from "react";
1174
1175
  import { jsx as jsx38 } from "react/jsx-runtime";
@@ -2359,7 +2360,7 @@ var getSingleChildComponent = (children) => {
2359
2360
  }
2360
2361
  return child.type;
2361
2362
  };
2362
- var VERSION = "4.0.494";
2363
+ var VERSION = "4.0.495";
2363
2364
  var checkMultipleRemotionVersions = () => {
2364
2365
  if (typeof globalThis === "undefined") {
2365
2366
  return;
@@ -2852,15 +2853,19 @@ var premountSchema = {
2852
2853
  description: "Premount For",
2853
2854
  min: 0,
2854
2855
  step: 1,
2855
- hiddenFromList: false
2856
+ hiddenFromList: false,
2857
+ keyframable: false
2856
2858
  },
2857
2859
  postmountFor: {
2858
2860
  type: "number",
2859
2861
  default: 0,
2860
2862
  min: 0,
2861
2863
  step: 1,
2862
- hiddenFromList: true
2863
- },
2864
+ hiddenFromList: true,
2865
+ keyframable: false
2866
+ }
2867
+ };
2868
+ var premountStyleSchema = {
2864
2869
  styleWhilePremounted: {
2865
2870
  type: "hidden"
2866
2871
  },
@@ -2868,10 +2873,13 @@ var premountSchema = {
2868
2873
  type: "hidden"
2869
2874
  }
2870
2875
  };
2871
- var sequencePremountSchema = premountSchema;
2876
+ var sequencePremountSchema = {
2877
+ ...premountSchema,
2878
+ ...premountStyleSchema
2879
+ };
2872
2880
  var sequenceStyleSchema = {
2873
2881
  ...transformSchema,
2874
- ...premountSchema
2882
+ ...sequencePremountSchema
2875
2883
  };
2876
2884
  var hiddenField = {
2877
2885
  type: "boolean",
@@ -2956,9 +2964,6 @@ var sequenceSchemaDefaultLayoutNone = {
2956
2964
  default: "none"
2957
2965
  }
2958
2966
  };
2959
- var PremountContext = createContext14({
2960
- premountFramesRemaining: 0
2961
- });
2962
2967
  var SequenceManager = React12.createContext({
2963
2968
  registerSequence: () => {
2964
2969
  throw new Error("SequenceManagerContext not initialized");
@@ -3138,7 +3143,7 @@ var SequenceManagerProvider = ({ children }) => {
3138
3143
  })
3139
3144
  });
3140
3145
  };
3141
- var IsInsideSeriesContext = createContext15(false);
3146
+ var IsInsideSeriesContext = createContext14(false);
3142
3147
  var IsInsideSeriesContainer = ({ children }) => {
3143
3148
  return /* @__PURE__ */ jsx11(IsInsideSeriesContext.Provider, {
3144
3149
  value: true,
@@ -3157,7 +3162,61 @@ var useRequireToBeInsideSeries = () => {
3157
3162
  throw new Error("This component must be inside a <Series /> component.");
3158
3163
  }
3159
3164
  };
3165
+ var PremountContext = createContext15({
3166
+ premountFramesRemaining: 0
3167
+ });
3160
3168
  var ENABLE_V5_BREAKING_CHANGES = false;
3169
+ var usePremounting = ({
3170
+ from,
3171
+ durationInFrames,
3172
+ premountFor,
3173
+ postmountFor,
3174
+ style,
3175
+ styleWhilePremounted,
3176
+ styleWhilePostmounted,
3177
+ hideWhilePremounted
3178
+ }) => {
3179
+ const parentPremountContext = useContext15(PremountContext);
3180
+ const frame = useCurrentFrame() - parentPremountContext.premountFramesRemaining;
3181
+ const environment = useRemotionEnvironment();
3182
+ const { fps } = useVideoConfig();
3183
+ const effectivePremountFor = ENABLE_V5_BREAKING_CHANGES ? premountFor ?? fps : premountFor ?? 0;
3184
+ const effectivePostmountFor = postmountFor ?? 0;
3185
+ const endThreshold = Math.ceil(from + durationInFrames - 1);
3186
+ const premountingActive = !environment.isRendering && frame < from && frame >= from - effectivePremountFor;
3187
+ const postmountingActive = !environment.isRendering && frame > endThreshold && frame <= endThreshold + effectivePostmountFor;
3188
+ const isPremountingOrPostmounting = premountingActive || postmountingActive;
3189
+ const freezeFrame = premountingActive ? from : postmountingActive ? from + durationInFrames - 1 : 0;
3190
+ const premountingStyle = useMemo13(() => {
3191
+ if (!isPremountingOrPostmounting) {
3192
+ return style;
3193
+ }
3194
+ return {
3195
+ ...style,
3196
+ ...hideWhilePremounted === "opacity" ? { opacity: 0 } : { display: "none" },
3197
+ pointerEvents: "none",
3198
+ ...premountingActive ? styleWhilePremounted : {},
3199
+ ...postmountingActive ? styleWhilePostmounted : {}
3200
+ };
3201
+ }, [
3202
+ isPremountingOrPostmounting,
3203
+ hideWhilePremounted,
3204
+ postmountingActive,
3205
+ premountingActive,
3206
+ style,
3207
+ styleWhilePostmounted,
3208
+ styleWhilePremounted
3209
+ ]);
3210
+ return {
3211
+ effectivePremountFor,
3212
+ effectivePostmountFor,
3213
+ premountingActive,
3214
+ postmountingActive,
3215
+ isPremountingOrPostmounting,
3216
+ freezeFrame,
3217
+ premountingStyle
3218
+ };
3219
+ };
3161
3220
  var deleteNestedKey = (obj, keysToRemove) => {
3162
3221
  for (const key of keysToRemove) {
3163
3222
  const parts = key.split(".");
@@ -4981,10 +5040,10 @@ var useMemoizedEffects = ({
4981
5040
  overrideId
4982
5041
  }) => {
4983
5042
  const previousRef = useRef5(null);
4984
- const { propStatuses } = useContext15(VisualModePropStatusesContext);
4985
- const { getEffectDragOverrides } = useContext15(VisualModeDragOverridesContext);
5043
+ const { propStatuses } = useContext16(VisualModePropStatusesContext);
5044
+ const { getEffectDragOverrides } = useContext16(VisualModeDragOverridesContext);
4986
5045
  const frame = useCurrentFrame();
4987
- const { overrideIdToNodePathMappings } = useContext15(OverrideIdsToNodePathsGettersContext);
5046
+ const { overrideIdToNodePathMappings } = useContext16(OverrideIdsToNodePathsGettersContext);
4988
5047
  const previous = previousRef.current;
4989
5048
  const nodePath = overrideId ? overrideIdToNodePathMappings[overrideId] ?? null : null;
4990
5049
  const resolved = effects.map((descriptor, index) => {
@@ -5328,9 +5387,9 @@ var withInteractivitySchema = ({
5328
5387
  ref
5329
5388
  });
5330
5389
  }
5331
- const { propStatuses } = useContext16(VisualModePropStatusesContext);
5332
- const { getDragOverrides } = useContext16(VisualModeDragOverridesContext);
5333
- const nodePathMapping = useContext16(OverrideIdsToNodePathsGettersContext);
5390
+ const { propStatuses } = useContext17(VisualModePropStatusesContext);
5391
+ const { getDragOverrides } = useContext17(VisualModeDragOverridesContext);
5392
+ const nodePathMapping = useContext17(OverrideIdsToNodePathsGettersContext);
5334
5393
  const frame = useCurrentFrame();
5335
5394
  if (props.controls) {
5336
5395
  return React14.createElement(Component, {
@@ -5357,8 +5416,8 @@ var withInteractivitySchema = ({
5357
5416
  key,
5358
5417
  props
5359
5418
  }));
5360
- const currentRuntimeValueDotNotation = useMemo13(() => readValuesFromProps(props, flatKeys, flatSchema), runtimeValues);
5361
- const controls = useMemo13(() => {
5419
+ const currentRuntimeValueDotNotation = useMemo14(() => readValuesFromProps(props, flatKeys, flatSchema), runtimeValues);
5420
+ const controls = useMemo14(() => {
5362
5421
  return {
5363
5422
  schema: schemaWithSequenceName,
5364
5423
  currentRuntimeValueDotNotation,
@@ -5368,7 +5427,7 @@ var withInteractivitySchema = ({
5368
5427
  componentName
5369
5428
  };
5370
5429
  }, [currentRuntimeValueDotNotation, overrideId]);
5371
- const { merged: valuesDotNotation, propsToDelete } = useMemo13(() => {
5430
+ const { merged: valuesDotNotation, propsToDelete } = useMemo14(() => {
5372
5431
  return computeEffectiveSchemaValuesDotNotation({
5373
5432
  schema: schemaWithSequenceName,
5374
5433
  currentValue: currentRuntimeValueDotNotation,
@@ -5426,7 +5485,7 @@ var RegularSequenceRefForwardingFunction = ({
5426
5485
  }, ref) => {
5427
5486
  const { layout = "absolute-fill" } = other;
5428
5487
  const [id] = useState5(() => String(Math.random()));
5429
- const parentSequence = useContext17(SequenceContext);
5488
+ const parentSequence = useContext18(SequenceContext);
5430
5489
  const { rootId } = useTimelineContext();
5431
5490
  const cumulatedFrom = parentSequence ? parentSequence.cumulatedFrom + parentSequence.relativeFrom : 0;
5432
5491
  const nonce = useNonce();
@@ -5477,13 +5536,13 @@ var RegularSequenceRefForwardingFunction = ({
5477
5536
  const absoluteFrom = (parentSequence?.absoluteFrom ?? 0) + effectiveRelativeFrom;
5478
5537
  const parentSequenceDuration = parentSequence ? Math.min(parentSequence.durationInFrames - effectiveRelativeFrom, durationInFrames) : durationInFrames;
5479
5538
  const actualDurationInFrames = Math.max(0, Math.min(videoConfig.durationInFrames - from, parentSequenceDuration));
5480
- const { registerSequence, unregisterSequence } = useContext17(SequenceManager);
5539
+ const { registerSequence, unregisterSequence } = useContext18(SequenceManager);
5481
5540
  const wrapperRefForOutline = useRef6(null);
5482
5541
  const refForOutline = other.layout === "none" ? passedRefForOutline ?? null : passedRefForOutline ?? wrapperRefForOutline;
5483
- const premounting = useMemo14(() => {
5542
+ const premounting = useMemo15(() => {
5484
5543
  return parentSequence?.premounting || Boolean(other._remotionInternalIsPremounting);
5485
5544
  }, [other._remotionInternalIsPremounting, parentSequence?.premounting]);
5486
- const postmounting = useMemo14(() => {
5545
+ const postmounting = useMemo15(() => {
5487
5546
  return parentSequence?.postmounting || Boolean(other._remotionInternalIsPostmounting);
5488
5547
  }, [other._remotionInternalIsPostmounting, parentSequence?.postmounting]);
5489
5548
  const currentSequenceStart = cumulatedFrom + effectiveRelativeFrom;
@@ -5491,7 +5550,7 @@ var RegularSequenceRefForwardingFunction = ({
5491
5550
  const parentFirstFrame = parentSequence ? parentSequenceStart - parentSequence.cumulatedNegativeFrom : 0;
5492
5551
  const firstFrame = Math.max(0, parentFirstFrame, currentSequenceStart);
5493
5552
  const cumulatedNegativeFrom = currentSequenceStart - firstFrame;
5494
- const contextValue = useMemo14(() => {
5553
+ const contextValue = useMemo15(() => {
5495
5554
  return {
5496
5555
  absoluteFrom,
5497
5556
  cumulatedFrom,
@@ -5522,12 +5581,12 @@ var RegularSequenceRefForwardingFunction = ({
5522
5581
  postmountDisplay,
5523
5582
  cumulatedNegativeFrom
5524
5583
  ]);
5525
- const timelineClipName = useMemo14(() => {
5584
+ const timelineClipName = useMemo15(() => {
5526
5585
  return name ?? "";
5527
5586
  }, [name]);
5528
5587
  const resolvedDocumentationLink = documentationLink ?? "https://www.remotion.dev/docs/sequence";
5529
5588
  const env = useRemotionEnvironment();
5530
- const isInsideSeries = useContext17(IsInsideSeriesContext);
5589
+ const isInsideSeries = useContext18(IsInsideSeriesContext);
5531
5590
  const inheritedStack = other?.stack ?? null;
5532
5591
  const stackRef = useRef6(null);
5533
5592
  stackRef.current = stack ?? inheritedStack;
@@ -5675,7 +5734,7 @@ var RegularSequenceRefForwardingFunction = ({
5675
5734
  ref.current = node;
5676
5735
  }
5677
5736
  }, [ref]);
5678
- const defaultStyle = useMemo14(() => {
5737
+ const defaultStyle = useMemo15(() => {
5679
5738
  return {
5680
5739
  flexDirection: undefined,
5681
5740
  ...width ? { width } : {},
@@ -5701,8 +5760,6 @@ var RegularSequenceRefForwardingFunction = ({
5701
5760
  };
5702
5761
  var RegularSequence = forwardRef3(RegularSequenceRefForwardingFunction);
5703
5762
  var PremountedPostmountedSequenceRefForwardingFunction = (props, ref) => {
5704
- const parentPremountContext = useContext17(PremountContext);
5705
- const frame = useCurrentFrame() - parentPremountContext.premountFramesRemaining;
5706
5763
  if (props.layout === "none") {
5707
5764
  throw new Error('`<Sequence>` with `premountFor` and `postmountFor` props does not support layout="none"');
5708
5765
  }
@@ -5716,34 +5773,30 @@ var PremountedPostmountedSequenceRefForwardingFunction = (props, ref) => {
5716
5773
  styleWhilePostmounted,
5717
5774
  ...otherProps
5718
5775
  } = props;
5719
- const endThreshold = Math.ceil(from + durationInFrames - 1);
5720
- const premountingActive = frame < from && frame >= from - premountFor;
5721
- const postmountingActive = frame > endThreshold && frame <= endThreshold + postmountFor;
5722
- const freezeFrame = premountingActive ? from : postmountingActive ? from + durationInFrames - 1 : 0;
5723
- const isFreezingActive = premountingActive || postmountingActive;
5724
- const style = useMemo14(() => {
5725
- return {
5726
- ...passedStyle,
5727
- opacity: premountingActive || postmountingActive ? 0 : passedStyle?.opacity,
5728
- pointerEvents: premountingActive || postmountingActive ? "none" : passedStyle?.pointerEvents ?? undefined,
5729
- ...premountingActive ? styleWhilePremounted : {},
5730
- ...postmountingActive ? styleWhilePostmounted : {}
5731
- };
5732
- }, [
5733
- passedStyle,
5734
- premountingActive,
5776
+ const {
5777
+ freezeFrame,
5778
+ isPremountingOrPostmounting,
5735
5779
  postmountingActive,
5736
- styleWhilePremounted,
5737
- styleWhilePostmounted
5738
- ]);
5780
+ premountingActive,
5781
+ premountingStyle
5782
+ } = usePremounting({
5783
+ from,
5784
+ durationInFrames,
5785
+ premountFor,
5786
+ postmountFor,
5787
+ style: passedStyle ?? null,
5788
+ styleWhilePremounted: styleWhilePremounted ?? null,
5789
+ styleWhilePostmounted: styleWhilePostmounted ?? null,
5790
+ hideWhilePremounted: "opacity"
5791
+ });
5739
5792
  return /* @__PURE__ */ jsx12(Freeze, {
5740
5793
  frame: freezeFrame,
5741
- active: isFreezingActive,
5794
+ active: isPremountingOrPostmounting,
5742
5795
  children: /* @__PURE__ */ jsx12(SequenceInner, {
5743
5796
  ref,
5744
5797
  from,
5745
5798
  durationInFrames,
5746
- style,
5799
+ style: premountingStyle ?? undefined,
5747
5800
  _remotionInternalPremountDisplay: premountFor,
5748
5801
  _remotionInternalPostmountDisplay: postmountFor,
5749
5802
  _remotionInternalIsPremounting: premountingActive,
@@ -6079,7 +6132,7 @@ var useEffectChainState = () => {
6079
6132
  }
6080
6133
  };
6081
6134
  }, []);
6082
- return useMemo15(() => ({
6135
+ return useMemo16(() => ({
6083
6136
  get: (width, height) => {
6084
6137
  if (!sizeRef.current || sizeRef.current.width !== width || sizeRef.current.height !== height) {
6085
6138
  if (chainStateRef.current) {
@@ -6095,7 +6148,7 @@ var useEffectChainState = () => {
6095
6148
  var CanvasRefForwardingFunction = ({ width, height, fit, className, style, effects, ...props }, ref) => {
6096
6149
  const canvasRef = useRef8(null);
6097
6150
  const chainState = useEffectChainState();
6098
- const sourceCanvas = useMemo16(() => {
6151
+ const sourceCanvas = useMemo17(() => {
6099
6152
  if (typeof document === "undefined") {
6100
6153
  return null;
6101
6154
  }
@@ -6652,7 +6705,7 @@ var RenderAssetManagerProvider = ({ children, collectAssets }) => {
6652
6705
  };
6653
6706
  }
6654
6707
  }, []);
6655
- const contextValue = useMemo17(() => {
6708
+ const contextValue = useMemo18(() => {
6656
6709
  return {
6657
6710
  registerRenderAsset,
6658
6711
  unregisterRenderAsset,
@@ -6666,7 +6719,7 @@ var RenderAssetManagerProvider = ({ children, collectAssets }) => {
6666
6719
  };
6667
6720
  var ArtifactThumbnail = Symbol("Thumbnail");
6668
6721
  var Artifact = ({ filename, content, downloadBehavior }) => {
6669
- const { registerRenderAsset, unregisterRenderAsset } = useContext18(RenderAssetManager);
6722
+ const { registerRenderAsset, unregisterRenderAsset } = useContext19(RenderAssetManager);
6670
6723
  const env = useRemotionEnvironment();
6671
6724
  const frame = useCurrentFrame();
6672
6725
  const [id] = useState8(() => {
@@ -6781,14 +6834,14 @@ var Loop = ({
6781
6834
  const iteration = Math.floor(currentFrame / durationInFrames);
6782
6835
  const start = iteration * durationInFrames;
6783
6836
  const from = Math.min(start, maxFrame);
6784
- const loopDisplay = useMemo18(() => {
6837
+ const loopDisplay = useMemo19(() => {
6785
6838
  return {
6786
6839
  numberOfTimes: Math.min(compDuration / durationInFrames, times),
6787
6840
  startOffset: -from,
6788
6841
  durationInFrames
6789
6842
  };
6790
6843
  }, [compDuration, durationInFrames, from, times]);
6791
- const loopContext = useMemo18(() => {
6844
+ const loopContext = useMemo19(() => {
6792
6845
  return {
6793
6846
  iteration: Math.floor(currentFrame / durationInFrames),
6794
6847
  durationInFrames
@@ -6857,7 +6910,7 @@ var getSrcWithoutHash = (src) => {
6857
6910
  return src.slice(0, hashIndex);
6858
6911
  };
6859
6912
  var usePreload = (src) => {
6860
- const preloads2 = useContext19(PreloadContext);
6913
+ const preloads2 = useContext20(PreloadContext);
6861
6914
  const hashFragmentIndex = removeAndGetHashFragment(src);
6862
6915
  const withoutHashFragment = getSrcWithoutHash(src);
6863
6916
  if (!preloads2[withoutHashFragment]) {
@@ -7160,7 +7213,7 @@ var DurationsContext = createContext20({
7160
7213
  });
7161
7214
  var DurationsContextProvider = ({ children }) => {
7162
7215
  const [durations, setDurations] = useReducer(durationReducer, {});
7163
- const value = useMemo19(() => {
7216
+ const value = useMemo20(() => {
7164
7217
  return {
7165
7218
  durations,
7166
7219
  setDurations
@@ -7299,7 +7352,7 @@ var useSingletonAudioContext = ({
7299
7352
  if (sampleRate !== initialSampleRate.current) {
7300
7353
  throw new Error(`Changing the AudioContext sample rate dynamically is not supported. The sample rate was initialized with ${initialSampleRate.current} Hz, but ${sampleRate} Hz was passed later.`);
7301
7354
  }
7302
- const context = useMemo20(() => {
7355
+ const context = useMemo21(() => {
7303
7356
  if (env.isRendering) {
7304
7357
  return null;
7305
7358
  }
@@ -7433,9 +7486,9 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
7433
7486
  });
7434
7487
  const audioContextIsPlayingEventually = useRef12(false);
7435
7488
  const isResuming = useRef12(null);
7436
- const audioSyncAnchor = useMemo21(() => ({ value: 0 }), []);
7489
+ const audioSyncAnchor = useMemo22(() => ({ value: 0 }), []);
7437
7490
  const audioSyncAnchorListeners = useRef12([]);
7438
- const audioSyncAnchorEmitter = useMemo21(() => {
7491
+ const audioSyncAnchorEmitter = useMemo22(() => {
7439
7492
  return {
7440
7493
  dispatch: (event) => {
7441
7494
  audioSyncAnchorListeners.current.forEach((l) => l(event));
@@ -7455,7 +7508,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
7455
7508
  const unscheduleAudioNode = useCallback9((node) => {
7456
7509
  nodesToResume.current.delete(node);
7457
7510
  }, []);
7458
- const scheduleAudioNode = useMemo21(() => {
7511
+ const scheduleAudioNode = useMemo22(() => {
7459
7512
  return ({
7460
7513
  node,
7461
7514
  mediaTimestamp,
@@ -7547,7 +7600,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
7547
7600
  audioContextIsPlayingEventually.current = false;
7548
7601
  return ctxAndGain.suspend();
7549
7602
  }, [ctxAndGain]);
7550
- const audioContextValue = useMemo21(() => {
7603
+ const audioContextValue = useMemo22(() => {
7551
7604
  return {
7552
7605
  audioContext: ctxAndGain?.audioContext ?? null,
7553
7606
  getAudioContextState: () => ctxAndGain?.getState() ?? null,
@@ -7584,10 +7637,10 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
7584
7637
  const logLevel = useLogLevel();
7585
7638
  const mountTime = useMountTime();
7586
7639
  const env = useRemotionEnvironment();
7587
- const audioCtx = useContext20(SharedAudioContext);
7640
+ const audioCtx = useContext21(SharedAudioContext);
7588
7641
  const audioContext = audioCtx?.audioContext ?? null;
7589
7642
  const resume = audioCtx?.resume;
7590
- const refs = useMemo21(() => {
7643
+ const refs = useMemo22(() => {
7591
7644
  return new Array(numberOfAudioTags).fill(true).map(() => {
7592
7645
  const ref = createRef2();
7593
7646
  return {
@@ -7726,7 +7779,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
7726
7779
  });
7727
7780
  resume?.();
7728
7781
  }, [logLevel, mountTime, refs, env.isPlayer, resume]);
7729
- const audioTagsValue = useMemo21(() => {
7782
+ const audioTagsValue = useMemo22(() => {
7730
7783
  return {
7731
7784
  registerAudio,
7732
7785
  unregisterAudio,
@@ -7741,7 +7794,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
7741
7794
  unregisterAudio,
7742
7795
  updateAudio
7743
7796
  ]);
7744
- const sharedAudioTagElements = useMemo21(() => {
7797
+ const sharedAudioTagElements = useMemo22(() => {
7745
7798
  return refs.map(({ id, ref }) => {
7746
7799
  return /* @__PURE__ */ jsx19("audio", {
7747
7800
  ref,
@@ -7764,8 +7817,8 @@ var useSharedAudio = ({
7764
7817
  premounting,
7765
7818
  postmounting
7766
7819
  }) => {
7767
- const audioCtx = useContext20(SharedAudioContext);
7768
- const tagsCtx = useContext20(SharedAudioTagsContext);
7820
+ const audioCtx = useContext21(SharedAudioContext);
7821
+ const tagsCtx = useContext21(SharedAudioTagsContext);
7769
7822
  const [elem] = useState10(() => {
7770
7823
  if (tagsCtx && tagsCtx.numberOfAudioTags > 0) {
7771
7824
  return tagsCtx.registerAudio({ aud, audioId, premounting, postmounting });
@@ -7944,7 +7997,7 @@ var useVolume = ({
7944
7997
  const audioStuffRef = useRef14(null);
7945
7998
  const currentVolumeRef = useRef14(volume);
7946
7999
  currentVolumeRef.current = volume;
7947
- const sharedAudioContext = useContext21(SharedAudioContext);
8000
+ const sharedAudioContext = useContext22(SharedAudioContext);
7948
8001
  if (!sharedAudioContext) {
7949
8002
  throw new Error("useAmplification must be used within a SharedAudioContext");
7950
8003
  }
@@ -8009,7 +8062,7 @@ var useVolume = ({
8009
8062
  return audioStuffRef;
8010
8063
  };
8011
8064
  var useMediaStartsAt = () => {
8012
- const parentSequence = useContext22(SequenceContext);
8065
+ const parentSequence = useContext23(SequenceContext);
8013
8066
  return parentSequence?.cumulatedNegativeFrom ?? 0;
8014
8067
  };
8015
8068
  var useFrameForVolumeProp = (behavior) => {
@@ -8098,7 +8151,7 @@ var useBasicMediaInTimeline = ({
8098
8151
  if (!src) {
8099
8152
  throw new Error("No src passed");
8100
8153
  }
8101
- const parentSequence = useContext23(SequenceContext);
8154
+ const parentSequence = useContext24(SequenceContext);
8102
8155
  const [initialVolume] = useState11(() => volume);
8103
8156
  const duration = getTimelineDuration({
8104
8157
  compositionDurationInFrames: sequenceDurationInFrames,
@@ -8108,7 +8161,7 @@ var useBasicMediaInTimeline = ({
8108
8161
  parentSequenceDurationInFrames: parentSequence?.durationInFrames ?? null,
8109
8162
  loop
8110
8163
  });
8111
- const volumes = useMemo22(() => {
8164
+ const volumes = useMemo23(() => {
8112
8165
  if (typeof volume === "number") {
8113
8166
  return volume;
8114
8167
  }
@@ -8129,7 +8182,7 @@ var useBasicMediaInTimeline = ({
8129
8182
  const nonce = useNonce();
8130
8183
  const { rootId } = useTimelineContext();
8131
8184
  const startMediaFrom = 0 - mediaStartsAt + (trimBefore ?? 0);
8132
- const memoizedResult = useMemo22(() => {
8185
+ const memoizedResult = useMemo23(() => {
8133
8186
  return {
8134
8187
  volumes,
8135
8188
  duration,
@@ -8170,9 +8223,9 @@ var useMediaInTimeline = ({
8170
8223
  documentationLink,
8171
8224
  refForOutline
8172
8225
  }) => {
8173
- const parentSequence = useContext23(SequenceContext);
8226
+ const parentSequence = useContext24(SequenceContext);
8174
8227
  const startsAt = useMediaStartsAt();
8175
- const { registerSequence, unregisterSequence } = useContext23(SequenceManager);
8228
+ const { registerSequence, unregisterSequence } = useContext24(SequenceManager);
8176
8229
  const { durationInFrames } = useVideoConfig();
8177
8230
  const mediaStartsAt = useMediaStartsAt();
8178
8231
  const { volumes, duration, doesVolumeChange, nonce, rootId, finalDisplayName } = useBasicMediaInTimeline({
@@ -8337,13 +8390,13 @@ var useBufferManager = (logLevel, mountTime) => {
8337
8390
  }
8338
8391
  }, [blocks]);
8339
8392
  }
8340
- return useMemo23(() => {
8393
+ return useMemo24(() => {
8341
8394
  return { addBlock, listenForBuffering, listenForResume, buffering };
8342
8395
  }, [addBlock, buffering, listenForBuffering, listenForResume]);
8343
8396
  };
8344
8397
  var BufferingContextReact = React21.createContext(null);
8345
8398
  var BufferingProvider = ({ children }) => {
8346
- const { logLevel, mountTime } = useContext24(LogLevelContext);
8399
+ const { logLevel, mountTime } = useContext25(LogLevelContext);
8347
8400
  const bufferManager = useBufferManager(logLevel ?? "info", mountTime);
8348
8401
  return /* @__PURE__ */ jsx20(BufferingContextReact.Provider, {
8349
8402
  value: bufferManager,
@@ -8369,10 +8422,10 @@ var useIsPlayerBuffering = (bufferManager) => {
8369
8422
  return isBuffering;
8370
8423
  };
8371
8424
  var useBufferState = () => {
8372
- const buffer = useContext25(BufferingContextReact);
8425
+ const buffer = useContext26(BufferingContextReact);
8373
8426
  const logLevel = useLogLevel();
8374
8427
  const addBlock = buffer ? buffer.addBlock : null;
8375
- return useMemo24(() => ({
8428
+ return useMemo25(() => ({
8376
8429
  delayPlayback: () => {
8377
8430
  if (!addBlock) {
8378
8431
  throw new Error("Tried to enable the buffering state, but a Remotion context was not found. This API can only be called in a component that was passed to the Remotion Player or a <Composition>. Or you might have experienced a version mismatch - run `npx remotion versions` and ensure all packages have the same version. This error is thrown by the buffer state https://remotion.dev/docs/player/buffer-state");
@@ -8480,7 +8533,7 @@ var useBufferUntilFirstFrame = ({
8480
8533
  onVariableFpsVideoDetected,
8481
8534
  pauseWhenBuffering
8482
8535
  ]);
8483
- return useMemo25(() => {
8536
+ return useMemo26(() => {
8484
8537
  return {
8485
8538
  isBuffering: () => bufferingRef.current,
8486
8539
  bufferUntilFirstFrame
@@ -8854,7 +8907,7 @@ var useMediaPlayback = ({
8854
8907
  const frame = useCurrentFrame();
8855
8908
  const absoluteFrame = useTimelinePosition();
8856
8909
  const [playing] = usePlayingState();
8857
- const buffering = useContext26(BufferingContextReact);
8910
+ const buffering = useContext27(BufferingContextReact);
8858
8911
  const { fps } = useVideoConfig();
8859
8912
  const mediaStartsAt = useMediaStartsAt();
8860
8913
  const lastSeekDueToShift = useRef18(null);
@@ -9149,16 +9202,16 @@ var SetMediaVolumeContext = createContext22({
9149
9202
  }
9150
9203
  });
9151
9204
  var useMediaVolumeState = () => {
9152
- const { mediaVolume } = useContext27(MediaVolumeContext);
9153
- const { setMediaVolume } = useContext27(SetMediaVolumeContext);
9154
- return useMemo26(() => {
9205
+ const { mediaVolume } = useContext28(MediaVolumeContext);
9206
+ const { setMediaVolume } = useContext28(SetMediaVolumeContext);
9207
+ return useMemo27(() => {
9155
9208
  return [mediaVolume, setMediaVolume];
9156
9209
  }, [mediaVolume, setMediaVolume]);
9157
9210
  };
9158
9211
  var usePlayerMutedState = () => {
9159
- const { playerMuted } = useContext27(MediaVolumeContext);
9160
- const { setPlayerMuted } = useContext27(SetMediaVolumeContext);
9161
- return useMemo26(() => {
9212
+ const { playerMuted } = useContext28(MediaVolumeContext);
9213
+ const { setPlayerMuted } = useContext28(SetMediaVolumeContext);
9214
+ return useMemo27(() => {
9162
9215
  return [playerMuted, setPlayerMuted];
9163
9216
  }, [playerMuted, setPlayerMuted]);
9164
9217
  };
@@ -9212,7 +9265,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
9212
9265
  throw new TypeError("No 'src' was passed to <Html5Audio>.");
9213
9266
  }
9214
9267
  const preloadedSrc = usePreload(src);
9215
- const sequenceContext = useContext28(SequenceContext);
9268
+ const sequenceContext = useContext29(SequenceContext);
9216
9269
  const [timelineId] = useState14(() => String(Math.random()));
9217
9270
  const userPreferredVolume = evaluateVolume({
9218
9271
  frame: volumePropFrame,
@@ -9225,7 +9278,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
9225
9278
  requestsVideoFrame: false,
9226
9279
  isClientSideRendering: false
9227
9280
  });
9228
- const propsToPass = useMemo27(() => {
9281
+ const propsToPass = useMemo28(() => {
9229
9282
  return {
9230
9283
  muted: muted || playerMuted || userPreferredVolume <= 0,
9231
9284
  src: preloadedSrc,
@@ -9242,7 +9295,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
9242
9295
  userPreferredVolume,
9243
9296
  crossOriginValue
9244
9297
  ]);
9245
- const id = useMemo27(() => `audio-${random(src ?? "")}-${sequenceContext?.relativeFrom}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.durationInFrames}-muted:${props.muted}-loop:${props.loop}`, [
9298
+ const id = useMemo28(() => `audio-${random(src ?? "")}-${sequenceContext?.relativeFrom}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.durationInFrames}-muted:${props.muted}-loop:${props.loop}`, [
9246
9299
  src,
9247
9300
  sequenceContext?.relativeFrom,
9248
9301
  sequenceContext?.cumulatedFrom,
@@ -9372,10 +9425,10 @@ var AudioForRenderingRefForwardingFunction = (props, ref) => {
9372
9425
  const absoluteFrame = useTimelinePosition();
9373
9426
  const volumePropFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
9374
9427
  const frame = useCurrentFrame();
9375
- const sequenceContext = useContext29(SequenceContext);
9376
- const { registerRenderAsset, unregisterRenderAsset } = useContext29(RenderAssetManager);
9428
+ const sequenceContext = useContext30(SequenceContext);
9429
+ const { registerRenderAsset, unregisterRenderAsset } = useContext30(RenderAssetManager);
9377
9430
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
9378
- const id = useMemo28(() => `audio-${random(props.src ?? "")}-${sequenceContext?.relativeFrom}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.durationInFrames}`, [
9431
+ const id = useMemo29(() => `audio-${random(props.src ?? "")}-${sequenceContext?.relativeFrom}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.durationInFrames}`, [
9379
9432
  props.src,
9380
9433
  sequenceContext?.relativeFrom,
9381
9434
  sequenceContext?.cumulatedFrom,
@@ -9482,7 +9535,7 @@ var AudioForRenderingRefForwardingFunction = (props, ref) => {
9482
9535
  };
9483
9536
  var AudioForRendering = forwardRef6(AudioForRenderingRefForwardingFunction);
9484
9537
  var AudioRefForwardingFunction = (props, ref) => {
9485
- const audioTagsContext = useContext30(SharedAudioTagsContext);
9538
+ const audioTagsContext = useContext31(SharedAudioTagsContext);
9486
9539
  const propsWithFreeze = props;
9487
9540
  const {
9488
9541
  startFrom,
@@ -9506,7 +9559,7 @@ var AudioRefForwardingFunction = (props, ref) => {
9506
9559
  if (typeof freeze !== "undefined") {
9507
9560
  throw new TypeError('The "freeze" prop is not supported on <Html5Audio />. Use <Sequence freeze={...}> to freeze media playback.');
9508
9561
  }
9509
- const { durations, setDurations } = useContext30(DurationsContext);
9562
+ const { durations, setDurations } = useContext31(DurationsContext);
9510
9563
  if (typeof props.src !== "string") {
9511
9564
  throw new TypeError(`The \`<Html5Audio>\` tag requires a string for \`src\`, but got ${JSON.stringify(props.src)} instead.`);
9512
9565
  }
@@ -9668,7 +9721,7 @@ var SolidInner = ({
9668
9721
  effects,
9669
9722
  overrideId: overrideId ?? null
9670
9723
  });
9671
- const sourceCanvas = useMemo29(() => {
9724
+ const sourceCanvas = useMemo30(() => {
9672
9725
  if (typeof document === "undefined") {
9673
9726
  return null;
9674
9727
  }
@@ -9736,7 +9789,7 @@ var SolidInner = ({
9736
9789
  cancelRender2,
9737
9790
  memoizedEffects
9738
9791
  ]);
9739
- const canvasStyle = useMemo29(() => {
9792
+ const canvasStyle = useMemo30(() => {
9740
9793
  return {
9741
9794
  width,
9742
9795
  height,
@@ -9885,7 +9938,7 @@ var HtmlInCanvasContent = forwardRef9(({
9885
9938
  controls,
9886
9939
  style
9887
9940
  }, ref) => {
9888
- const ancestor = useContext31(HtmlInCanvasAncestorContext);
9941
+ const ancestor = useContext32(HtmlInCanvasAncestorContext);
9889
9942
  assertHtmlInCanvasDimensions(width, height);
9890
9943
  const resolvedPixelDensity = resolveHtmlInCanvasPixelDensity(pixelDensity);
9891
9944
  const canvasWidth = Math.ceil(width * resolvedPixelDensity);
@@ -10104,20 +10157,20 @@ var HtmlInCanvasContent = forwardRef9(({
10104
10157
  continueRender2(handle);
10105
10158
  };
10106
10159
  }, [width, height, continueRender2, canvasSizeKey]);
10107
- const innerStyle = useMemo30(() => {
10160
+ const innerStyle = useMemo31(() => {
10108
10161
  return {
10109
10162
  width,
10110
10163
  height
10111
10164
  };
10112
10165
  }, [width, height]);
10113
- const canvasStyle = useMemo30(() => {
10166
+ const canvasStyle = useMemo31(() => {
10114
10167
  return {
10115
10168
  width,
10116
10169
  height,
10117
10170
  ...style ?? {}
10118
10171
  };
10119
10172
  }, [height, style, width]);
10120
- const ancestorValue = useMemo30(() => {
10173
+ const ancestorValue = useMemo31(() => {
10121
10174
  return {
10122
10175
  requestParentPaint: () => {
10123
10176
  canvas2dRef.current?.requestPaint?.();
@@ -10331,7 +10384,7 @@ var CanvasImageContent = forwardRef10(({
10331
10384
  effects,
10332
10385
  overrideId: controls?.overrideId ?? null
10333
10386
  });
10334
- const sequenceContext = useContext32(SequenceContext);
10387
+ const sequenceContext = useContext33(SequenceContext);
10335
10388
  const pendingLoadDelayRef = useRef23(null);
10336
10389
  const [isLoadPending, setIsLoadPending] = useState16(false);
10337
10390
  const isPremounting = Boolean(sequenceContext?.premounting);
@@ -10348,7 +10401,7 @@ var CanvasImageContent = forwardRef10(({
10348
10401
  continueRender2(pending.handle);
10349
10402
  pendingLoadDelayRef.current = null;
10350
10403
  }, [continueRender2]);
10351
- const sourceCanvas = useMemo31(() => {
10404
+ const sourceCanvas = useMemo32(() => {
10352
10405
  if (typeof document === "undefined") {
10353
10406
  return null;
10354
10407
  }
@@ -10670,7 +10723,7 @@ var ImgContent = ({
10670
10723
  const imageRef = useRef24(null);
10671
10724
  const errors = useRef24({});
10672
10725
  const { delayPlayback } = useBufferState();
10673
- const sequenceContext = useContext33(SequenceContext);
10726
+ const sequenceContext = useContext34(SequenceContext);
10674
10727
  const [isLoading, setIsLoading] = useState18(false);
10675
10728
  const _propsValid = true;
10676
10729
  if (!_propsValid) {
@@ -11019,7 +11072,10 @@ var makeRemotionComponentIdentity = ({
11019
11072
  };
11020
11073
  var interactiveElementSchema = {
11021
11074
  ...baseSchema,
11022
- ...transformSchema,
11075
+ ...transformSchema
11076
+ };
11077
+ var interactiveTextElementSchema = {
11078
+ ...interactiveElementSchema,
11023
11079
  ...textSchema,
11024
11080
  ...textContentSchema
11025
11081
  };
@@ -11035,7 +11091,7 @@ var withSchema = (options) => {
11035
11091
  addSequenceStackTraces(Wrapped);
11036
11092
  return Wrapped;
11037
11093
  };
11038
- var makeInteractiveElement = (tag, displayName) => {
11094
+ var makeInteractiveElement = (tag, displayName, schema) => {
11039
11095
  const Inner = forwardRef12((propsWithControls, ref) => {
11040
11096
  const {
11041
11097
  durationInFrames,
@@ -11081,12 +11137,18 @@ var makeInteractiveElement = (tag, displayName) => {
11081
11137
  packageName: "remotion",
11082
11138
  componentName: displayName.slice(1, -1)
11083
11139
  }),
11084
- schema: interactiveElementSchema,
11140
+ schema,
11085
11141
  supportsEffects: false
11086
11142
  });
11087
11143
  Wrapped.displayName = displayName;
11088
11144
  return Wrapped;
11089
11145
  };
11146
+ var makeInteractiveTextElement = (tag, displayName) => {
11147
+ return makeInteractiveElement(tag, displayName, interactiveTextElementSchema);
11148
+ };
11149
+ var makeInteractiveNonTextElement = (tag, displayName) => {
11150
+ return makeInteractiveElement(tag, displayName, interactiveElementSchema);
11151
+ };
11090
11152
  var Interactive = {
11091
11153
  baseSchema,
11092
11154
  transformSchema,
@@ -11095,41 +11157,41 @@ var Interactive = {
11095
11157
  sequenceSchema,
11096
11158
  withSchema,
11097
11159
  _internalMakeRemotionComponentIdentity: makeRemotionComponentIdentity,
11098
- A: makeInteractiveElement("a", "<Interactive.A>"),
11099
- Article: makeInteractiveElement("article", "<Interactive.Article>"),
11100
- Aside: makeInteractiveElement("aside", "<Interactive.Aside>"),
11101
- Button: makeInteractiveElement("button", "<Interactive.Button>"),
11102
- Circle: makeInteractiveElement("circle", "<Interactive.Circle>"),
11103
- Code: makeInteractiveElement("code", "<Interactive.Code>"),
11104
- Div: makeInteractiveElement("div", "<Interactive.Div>"),
11105
- Ellipse: makeInteractiveElement("ellipse", "<Interactive.Ellipse>"),
11106
- Em: makeInteractiveElement("em", "<Interactive.Em>"),
11107
- Footer: makeInteractiveElement("footer", "<Interactive.Footer>"),
11108
- G: makeInteractiveElement("g", "<Interactive.G>"),
11109
- H1: makeInteractiveElement("h1", "<Interactive.H1>"),
11110
- H2: makeInteractiveElement("h2", "<Interactive.H2>"),
11111
- H3: makeInteractiveElement("h3", "<Interactive.H3>"),
11112
- H4: makeInteractiveElement("h4", "<Interactive.H4>"),
11113
- H5: makeInteractiveElement("h5", "<Interactive.H5>"),
11114
- H6: makeInteractiveElement("h6", "<Interactive.H6>"),
11115
- Header: makeInteractiveElement("header", "<Interactive.Header>"),
11116
- Label: makeInteractiveElement("label", "<Interactive.Label>"),
11117
- Li: makeInteractiveElement("li", "<Interactive.Li>"),
11118
- Line: makeInteractiveElement("line", "<Interactive.Line>"),
11119
- Main: makeInteractiveElement("main", "<Interactive.Main>"),
11120
- Nav: makeInteractiveElement("nav", "<Interactive.Nav>"),
11121
- Ol: makeInteractiveElement("ol", "<Interactive.Ol>"),
11122
- P: makeInteractiveElement("p", "<Interactive.P>"),
11123
- Path: makeInteractiveElement("path", "<Interactive.Path>"),
11124
- Pre: makeInteractiveElement("pre", "<Interactive.Pre>"),
11125
- Rect: makeInteractiveElement("rect", "<Interactive.Rect>"),
11126
- Section: makeInteractiveElement("section", "<Interactive.Section>"),
11127
- Small: makeInteractiveElement("small", "<Interactive.Small>"),
11128
- Span: makeInteractiveElement("span", "<Interactive.Span>"),
11129
- Strong: makeInteractiveElement("strong", "<Interactive.Strong>"),
11130
- Svg: makeInteractiveElement("svg", "<Interactive.Svg>"),
11131
- Text: makeInteractiveElement("text", "<Interactive.Text>"),
11132
- Ul: makeInteractiveElement("ul", "<Interactive.Ul>")
11160
+ A: makeInteractiveTextElement("a", "<Interactive.A>"),
11161
+ Article: makeInteractiveTextElement("article", "<Interactive.Article>"),
11162
+ Aside: makeInteractiveTextElement("aside", "<Interactive.Aside>"),
11163
+ Button: makeInteractiveTextElement("button", "<Interactive.Button>"),
11164
+ Circle: makeInteractiveNonTextElement("circle", "<Interactive.Circle>"),
11165
+ Code: makeInteractiveTextElement("code", "<Interactive.Code>"),
11166
+ Div: makeInteractiveTextElement("div", "<Interactive.Div>"),
11167
+ Ellipse: makeInteractiveNonTextElement("ellipse", "<Interactive.Ellipse>"),
11168
+ Em: makeInteractiveTextElement("em", "<Interactive.Em>"),
11169
+ Footer: makeInteractiveTextElement("footer", "<Interactive.Footer>"),
11170
+ G: makeInteractiveNonTextElement("g", "<Interactive.G>"),
11171
+ H1: makeInteractiveTextElement("h1", "<Interactive.H1>"),
11172
+ H2: makeInteractiveTextElement("h2", "<Interactive.H2>"),
11173
+ H3: makeInteractiveTextElement("h3", "<Interactive.H3>"),
11174
+ H4: makeInteractiveTextElement("h4", "<Interactive.H4>"),
11175
+ H5: makeInteractiveTextElement("h5", "<Interactive.H5>"),
11176
+ H6: makeInteractiveTextElement("h6", "<Interactive.H6>"),
11177
+ Header: makeInteractiveTextElement("header", "<Interactive.Header>"),
11178
+ Label: makeInteractiveTextElement("label", "<Interactive.Label>"),
11179
+ Li: makeInteractiveTextElement("li", "<Interactive.Li>"),
11180
+ Line: makeInteractiveNonTextElement("line", "<Interactive.Line>"),
11181
+ Main: makeInteractiveTextElement("main", "<Interactive.Main>"),
11182
+ Nav: makeInteractiveTextElement("nav", "<Interactive.Nav>"),
11183
+ Ol: makeInteractiveTextElement("ol", "<Interactive.Ol>"),
11184
+ P: makeInteractiveTextElement("p", "<Interactive.P>"),
11185
+ Path: makeInteractiveNonTextElement("path", "<Interactive.Path>"),
11186
+ Pre: makeInteractiveTextElement("pre", "<Interactive.Pre>"),
11187
+ Rect: makeInteractiveNonTextElement("rect", "<Interactive.Rect>"),
11188
+ Section: makeInteractiveTextElement("section", "<Interactive.Section>"),
11189
+ Small: makeInteractiveTextElement("small", "<Interactive.Small>"),
11190
+ Span: makeInteractiveTextElement("span", "<Interactive.Span>"),
11191
+ Strong: makeInteractiveTextElement("strong", "<Interactive.Strong>"),
11192
+ Svg: makeInteractiveNonTextElement("svg", "<Interactive.Svg>"),
11193
+ Text: makeInteractiveTextElement("text", "<Interactive.Text>"),
11194
+ Ul: makeInteractiveTextElement("ul", "<Interactive.Ul>")
11133
11195
  };
11134
11196
  var compositionsRef = React31.createRef();
11135
11197
  var CompositionManagerProvider = ({
@@ -11186,7 +11248,7 @@ var CompositionManagerProvider = ({
11186
11248
  getCompositions: () => currentcompositionsRef.current
11187
11249
  };
11188
11250
  }, []);
11189
- const compositionManagerSetters = useMemo32(() => {
11251
+ const compositionManagerSetters = useMemo33(() => {
11190
11252
  return {
11191
11253
  registerComposition,
11192
11254
  unregisterComposition,
@@ -11202,7 +11264,7 @@ var CompositionManagerProvider = ({
11202
11264
  unregisterFolder,
11203
11265
  onlyRenderComposition
11204
11266
  ]);
11205
- const compositionManagerContextValue = useMemo32(() => {
11267
+ const compositionManagerContextValue = useMemo33(() => {
11206
11268
  return {
11207
11269
  compositions,
11208
11270
  folders,
@@ -11300,7 +11362,7 @@ var waitForRoot = (fn) => {
11300
11362
  };
11301
11363
  var MediaEnabledContext = createContext24(null);
11302
11364
  var useVideoEnabled = () => {
11303
- const context = useContext34(MediaEnabledContext);
11365
+ const context = useContext35(MediaEnabledContext);
11304
11366
  if (!context) {
11305
11367
  return window.remotion_videoEnabled;
11306
11368
  }
@@ -11310,7 +11372,7 @@ var useVideoEnabled = () => {
11310
11372
  return context.videoEnabled;
11311
11373
  };
11312
11374
  var useAudioEnabled = () => {
11313
- const context = useContext34(MediaEnabledContext);
11375
+ const context = useContext35(MediaEnabledContext);
11314
11376
  if (!context) {
11315
11377
  return window.remotion_audioEnabled;
11316
11378
  }
@@ -11324,7 +11386,7 @@ var MediaEnabledProvider = ({
11324
11386
  videoEnabled,
11325
11387
  audioEnabled
11326
11388
  }) => {
11327
- const value = useMemo33(() => ({ videoEnabled, audioEnabled }), [videoEnabled, audioEnabled]);
11389
+ const value = useMemo34(() => ({ videoEnabled, audioEnabled }), [videoEnabled, audioEnabled]);
11328
11390
  return /* @__PURE__ */ jsx31(MediaEnabledContext.Provider, {
11329
11391
  value,
11330
11392
  children
@@ -11340,13 +11402,13 @@ var RemotionRootContexts = ({
11340
11402
  audioEnabled,
11341
11403
  frameState
11342
11404
  }) => {
11343
- const nonceContext = useMemo34(() => {
11405
+ const nonceContext = useMemo35(() => {
11344
11406
  let counter = 0;
11345
11407
  return {
11346
11408
  getNonce: () => counter++
11347
11409
  };
11348
11410
  }, []);
11349
- const logging = useMemo34(() => {
11411
+ const logging = useMemo35(() => {
11350
11412
  return { logLevel, mountTime: Date.now() };
11351
11413
  }, [logLevel]);
11352
11414
  return /* @__PURE__ */ jsx32(LogLevelContext.Provider, {
@@ -11647,13 +11709,13 @@ var OffthreadVideoForRendering = ({
11647
11709
  const frame = useCurrentFrame();
11648
11710
  const volumePropsFrame = useFrameForVolumeProp(loopVolumeCurveBehavior);
11649
11711
  const videoConfig = useUnsafeVideoConfig();
11650
- const sequenceContext = useContext36(SequenceContext);
11712
+ const sequenceContext = useContext37(SequenceContext);
11651
11713
  const mediaStartsAt = useMediaStartsAt();
11652
- const { registerRenderAsset, unregisterRenderAsset } = useContext36(RenderAssetManager);
11714
+ const { registerRenderAsset, unregisterRenderAsset } = useContext37(RenderAssetManager);
11653
11715
  if (!src) {
11654
11716
  throw new TypeError("No `src` was passed to <OffthreadVideo>.");
11655
11717
  }
11656
- const id = useMemo35(() => `offthreadvideo-${random(src)}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
11718
+ const id = useMemo36(() => `offthreadvideo-${random(src)}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
11657
11719
  src,
11658
11720
  sequenceContext?.cumulatedFrom,
11659
11721
  sequenceContext?.relativeFrom,
@@ -11708,14 +11770,14 @@ var OffthreadVideoForRendering = ({
11708
11770
  sequenceContext?.cumulatedNegativeFrom,
11709
11771
  audioStreamIndex
11710
11772
  ]);
11711
- const currentTime = useMemo35(() => {
11773
+ const currentTime = useMemo36(() => {
11712
11774
  return getExpectedMediaFrameUncorrected({
11713
11775
  frame,
11714
11776
  playbackRate: playbackRate || 1,
11715
11777
  startFrom: -mediaStartsAt
11716
11778
  }) / videoConfig.fps;
11717
11779
  }, [frame, mediaStartsAt, playbackRate, videoConfig.fps]);
11718
- const actualSrc = useMemo35(() => {
11780
+ const actualSrc = useMemo36(() => {
11719
11781
  return getOffthreadVideoSource({
11720
11782
  src,
11721
11783
  currentTime,
@@ -11803,7 +11865,7 @@ var OffthreadVideoForRendering = ({
11803
11865
  cancelRender("Failed to load image with src " + imageSrc);
11804
11866
  }
11805
11867
  }, [imageSrc, onError]);
11806
- const className = useMemo35(() => {
11868
+ const className = useMemo36(() => {
11807
11869
  return [OBJECTFIT_CONTAIN_CLASS_NAME, props2.className].filter(truthy).join(" ");
11808
11870
  }, [props2.className]);
11809
11871
  const onImageFrame = useCallback22((img) => {
@@ -11867,12 +11929,12 @@ class MediaPlaybackError extends Error {
11867
11929
  }
11868
11930
  }
11869
11931
  var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
11870
- const context = useContext37(SharedAudioContext);
11932
+ const context = useContext38(SharedAudioContext);
11871
11933
  if (!context) {
11872
11934
  throw new Error("SharedAudioContext not found");
11873
11935
  }
11874
11936
  const videoRef = useRef27(null);
11875
- const sharedSource = useMemo36(() => {
11937
+ const sharedSource = useMemo37(() => {
11876
11938
  if (!context.audioContext) {
11877
11939
  return null;
11878
11940
  }
@@ -11924,7 +11986,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
11924
11986
  }
11925
11987
  const volumePropFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
11926
11988
  const { fps, durationInFrames } = useVideoConfig();
11927
- const parentSequence = useContext37(SequenceContext);
11989
+ const parentSequence = useContext38(SequenceContext);
11928
11990
  const logLevel = useLogLevel();
11929
11991
  const mountTime = useMountTime();
11930
11992
  const [timelineId] = useState21(() => String(Math.random()));
@@ -12075,7 +12137,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
12075
12137
  current.preload = "auto";
12076
12138
  }
12077
12139
  }, []);
12078
- const actualStyle = useMemo36(() => {
12140
+ const actualStyle = useMemo37(() => {
12079
12141
  return {
12080
12142
  ...style
12081
12143
  };
@@ -12271,7 +12333,7 @@ function useRemotionContexts() {
12271
12333
  const visualModePropStatusesRefContext = React40.useContext(VisualModePropStatusesRefContext);
12272
12334
  const bufferManagerContext = React40.useContext(BufferingContextReact);
12273
12335
  const logLevelContext = React40.useContext(LogLevelContext);
12274
- return useMemo37(() => ({
12336
+ return useMemo38(() => ({
12275
12337
  compositionManagerCtx,
12276
12338
  timelineContext,
12277
12339
  setTimelineContext,
@@ -12382,6 +12444,7 @@ var Internals = {
12382
12444
  textSchema,
12383
12445
  transformSchema,
12384
12446
  premountSchema,
12447
+ premountStyleSchema,
12385
12448
  flattenActiveSchema,
12386
12449
  getFlatSchemaWithAllKeys,
12387
12450
  RemotionRootContexts,
@@ -12395,6 +12458,7 @@ var Internals = {
12395
12458
  truthy,
12396
12459
  SequenceContext,
12397
12460
  PremountContext,
12461
+ usePremounting,
12398
12462
  useRemotionContexts,
12399
12463
  RemotionContextProvider,
12400
12464
  CSSUtils: exports_default_css,
@@ -12570,7 +12634,7 @@ var validateSeriesSequenceProps = ({
12570
12634
  return offset;
12571
12635
  };
12572
12636
  var SeriesInner = (props2) => {
12573
- const childrenValue = useMemo38(() => {
12637
+ const childrenValue = useMemo39(() => {
12574
12638
  const flattenedChildren = flattenChildren(props2.children);
12575
12639
  const renderChildren = (i, startFrame) => {
12576
12640
  if (i === flattenedChildren.length) {
@@ -12899,14 +12963,14 @@ var VideoForRenderingForwardFunction = ({
12899
12963
  const volumePropsFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
12900
12964
  const videoConfig = useUnsafeVideoConfig();
12901
12965
  const videoRef = useRef28(null);
12902
- const sequenceContext = useContext38(SequenceContext);
12966
+ const sequenceContext = useContext39(SequenceContext);
12903
12967
  const mediaStartsAt = useMediaStartsAt();
12904
12968
  const environment = useRemotionEnvironment();
12905
12969
  const logLevel = useLogLevel();
12906
12970
  const mountTime = useMountTime();
12907
12971
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
12908
- const { registerRenderAsset, unregisterRenderAsset } = useContext38(RenderAssetManager);
12909
- const id = useMemo39(() => `video-${random(props2.src ?? "")}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
12972
+ const { registerRenderAsset, unregisterRenderAsset } = useContext39(RenderAssetManager);
12973
+ const id = useMemo40(() => `video-${random(props2.src ?? "")}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
12910
12974
  props2.src,
12911
12975
  sequenceContext?.cumulatedFrom,
12912
12976
  sequenceContext?.relativeFrom,
@@ -13117,7 +13181,7 @@ var VideoForwardingFunction = (props2, ref) => {
13117
13181
  if (environment.isClientSideRendering) {
13118
13182
  throw new Error("<Html5Video> is not supported in @remotion/web-renderer. Use <Video> from @remotion/media instead. See https://remotion.dev/docs/client-side-rendering/limitations");
13119
13183
  }
13120
- const { durations, setDurations } = useContext39(DurationsContext);
13184
+ const { durations, setDurations } = useContext40(DurationsContext);
13121
13185
  if (typeof ref === "string") {
13122
13186
  throw new Error("string refs are not supported");
13123
13187
  }
@@ -13573,7 +13637,7 @@ var ExpertCard = ({ expert, Link }) => {
13573
13637
  });
13574
13638
  };
13575
13639
  var ExpertsPageContent = ({ Link }) => {
13576
- const expertsInRandomOrder = useMemo40(() => {
13640
+ const expertsInRandomOrder = useMemo41(() => {
13577
13641
  if (typeof window === "undefined") {
13578
13642
  return [];
13579
13643
  }