@remotion/promo-pages 4.0.476 → 4.0.478

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Homepage.js CHANGED
@@ -943,6 +943,7 @@ import { useContext as useContext8, useMemo as useMemo7 } from "react";
943
943
  import { jsx as jsx7 } from "react/jsx-runtime";
944
944
  import {
945
945
  forwardRef as forwardRef3,
946
+ useCallback as useCallback6,
946
947
  useContext as useContext17,
947
948
  useEffect as useEffect3,
948
949
  useMemo as useMemo14,
@@ -981,14 +982,14 @@ import {
981
982
  useRef as useRef9,
982
983
  useState as useState6
983
984
  } from "react";
984
- import React15, { useCallback as useCallback6, useImperativeHandle, useMemo as useMemo16, useRef as useRef8 } from "react";
985
+ import React15, { useCallback as useCallback7, useImperativeHandle, useMemo as useMemo16, useRef as useRef8 } from "react";
985
986
  import { useEffect as useEffect4, useMemo as useMemo15, useRef as useRef7 } from "react";
986
987
  import { jsx as jsx13 } from "react/jsx-runtime";
987
988
  import { jsx as jsx14 } from "react/jsx-runtime";
988
989
  import { useContext as useContext18, useLayoutEffect as useLayoutEffect4, useState as useState8 } from "react";
989
990
  import {
990
991
  createContext as createContext17,
991
- useCallback as useCallback7,
992
+ useCallback as useCallback8,
992
993
  useImperativeHandle as useImperativeHandle3,
993
994
  useLayoutEffect as useLayoutEffect3,
994
995
  useMemo as useMemo17,
@@ -996,7 +997,7 @@ import {
996
997
  useState as useState7
997
998
  } from "react";
998
999
  import { jsx as jsx15 } from "react/jsx-runtime";
999
- import { forwardRef as forwardRef7, useCallback as useCallback13, useContext as useContext30 } from "react";
1000
+ import { forwardRef as forwardRef7, useCallback as useCallback14, useContext as useContext30 } from "react";
1000
1001
  import React16, { createContext as createContext18, useMemo as useMemo18 } from "react";
1001
1002
  import { jsx as jsx16 } from "react/jsx-runtime";
1002
1003
  import { useContext as useContext19 } from "react";
@@ -1004,7 +1005,7 @@ import { createContext as createContext19, useEffect as useEffect6, useState as
1004
1005
  import { jsx as jsx17 } from "react/jsx-runtime";
1005
1006
  import { createContext as createContext20, useMemo as useMemo19, useReducer } from "react";
1006
1007
  import { jsx as jsx18 } from "react/jsx-runtime";
1007
- import { useCallback as useCallback12 } from "react";
1008
+ import { useCallback as useCallback13 } from "react";
1008
1009
  import React22, {
1009
1010
  forwardRef as forwardRef5,
1010
1011
  useContext as useContext28,
@@ -1018,7 +1019,7 @@ import { useContext as useContext21, useLayoutEffect as useLayoutEffect5, useRef
1018
1019
  import React19, {
1019
1020
  createContext as createContext21,
1020
1021
  createRef as createRef2,
1021
- useCallback as useCallback8,
1022
+ useCallback as useCallback9,
1022
1023
  useContext as useContext20,
1023
1024
  useEffect as useEffect7,
1024
1025
  useMemo as useMemo21,
@@ -1031,16 +1032,16 @@ import { useRef as useRef13 } from "react";
1031
1032
  import { useContext as useContext23, useEffect as useEffect8, useMemo as useMemo22, useState as useState11 } from "react";
1032
1033
  import { useContext as useContext22 } from "react";
1033
1034
  import {
1034
- useCallback as useCallback11,
1035
+ useCallback as useCallback12,
1035
1036
  useContext as useContext26,
1036
1037
  useEffect as useEffect12,
1037
1038
  useLayoutEffect as useLayoutEffect7,
1038
1039
  useRef as useRef18
1039
1040
  } from "react";
1040
- import { useCallback as useCallback10, useMemo as useMemo25, useRef as useRef16 } from "react";
1041
+ import { useCallback as useCallback11, useMemo as useMemo25, useRef as useRef16 } from "react";
1041
1042
  import { useContext as useContext25, useMemo as useMemo24 } from "react";
1042
1043
  import React20, {
1043
- useCallback as useCallback9,
1044
+ useCallback as useCallback10,
1044
1045
  useContext as useContext24,
1045
1046
  useEffect as useEffect9,
1046
1047
  useLayoutEffect as useLayoutEffect6,
@@ -1068,7 +1069,7 @@ import { jsx as jsx222 } from "react/jsx-runtime";
1068
1069
  import { jsx as jsx23 } from "react/jsx-runtime";
1069
1070
  import {
1070
1071
  forwardRef as forwardRef8,
1071
- useCallback as useCallback14,
1072
+ useCallback as useCallback15,
1072
1073
  useEffect as useEffect16,
1073
1074
  useImperativeHandle as useImperativeHandle6,
1074
1075
  useMemo as useMemo29,
@@ -1079,7 +1080,7 @@ import { jsx as jsx24 } from "react/jsx-runtime";
1079
1080
  import {
1080
1081
  createContext as createContext23,
1081
1082
  forwardRef as forwardRef9,
1082
- useCallback as useCallback15,
1083
+ useCallback as useCallback16,
1083
1084
  useContext as useContext31,
1084
1085
  useLayoutEffect as useLayoutEffect9,
1085
1086
  useMemo as useMemo30,
@@ -1088,7 +1089,7 @@ import {
1088
1089
  import { jsx as jsx25 } from "react/jsx-runtime";
1089
1090
  import {
1090
1091
  forwardRef as forwardRef10,
1091
- useCallback as useCallback16,
1092
+ useCallback as useCallback17,
1092
1093
  useContext as useContext32,
1093
1094
  useEffect as useEffect17,
1094
1095
  useImperativeHandle as useImperativeHandle7,
@@ -1097,16 +1098,16 @@ import {
1097
1098
  useState as useState16
1098
1099
  } from "react";
1099
1100
  import { jsx as jsx26 } from "react/jsx-runtime";
1100
- import { forwardRef as forwardRef11, useCallback as useCallback17, useState as useState17 } from "react";
1101
+ import { forwardRef as forwardRef11, useCallback as useCallback18, useState as useState17 } from "react";
1101
1102
  import { jsx as jsx27 } from "react/jsx-runtime";
1102
- import { useCallback as useCallback18, useContext as useContext33, useLayoutEffect as useLayoutEffect10, useRef as useRef24 } from "react";
1103
+ import { useCallback as useCallback19, useContext as useContext33, useLayoutEffect as useLayoutEffect10, useRef as useRef24 } from "react";
1103
1104
  import { jsx as jsx28 } from "react/jsx-runtime";
1104
- import React29, { forwardRef as forwardRef12, useCallback as useCallback19, useRef as useRef25 } from "react";
1105
+ import React29, { forwardRef as forwardRef12, useCallback as useCallback20, useRef as useRef25 } from "react";
1105
1106
  import { jsx as jsx29 } from "react/jsx-runtime";
1106
1107
  import { createRef as createRef3 } from "react";
1107
1108
  import React30 from "react";
1108
1109
  import {
1109
- useCallback as useCallback20,
1110
+ useCallback as useCallback21,
1110
1111
  useImperativeHandle as useImperativeHandle8,
1111
1112
  useMemo as useMemo32,
1112
1113
  useRef as useRef26,
@@ -1121,9 +1122,9 @@ import { jsx as jsx32 } from "react/jsx-runtime";
1121
1122
  import React33 from "react";
1122
1123
  import React34, { createContext as createContext25 } from "react";
1123
1124
  import React35, { useContext as useContext35 } from "react";
1124
- import { useCallback as useCallback23 } from "react";
1125
+ import { useCallback as useCallback24 } from "react";
1125
1126
  import {
1126
- useCallback as useCallback21,
1127
+ useCallback as useCallback22,
1127
1128
  useContext as useContext36,
1128
1129
  useEffect as useEffect18,
1129
1130
  useLayoutEffect as useLayoutEffect11,
@@ -1133,7 +1134,7 @@ import {
1133
1134
  import { jsx as jsx33 } from "react/jsx-runtime";
1134
1135
  import React37, {
1135
1136
  forwardRef as forwardRef13,
1136
- useCallback as useCallback22,
1137
+ useCallback as useCallback23,
1137
1138
  useContext as useContext37,
1138
1139
  useEffect as useEffect20,
1139
1140
  useImperativeHandle as useImperativeHandle9,
@@ -1154,7 +1155,7 @@ import {
1154
1155
  import React40 from "react";
1155
1156
  import { jsx as jsx37 } from "react/jsx-runtime";
1156
1157
  import React42 from "react";
1157
- import { forwardRef as forwardRef16, useCallback as useCallback24, useContext as useContext39 } from "react";
1158
+ import { forwardRef as forwardRef16, useCallback as useCallback25, useContext as useContext39 } from "react";
1158
1159
  import {
1159
1160
  forwardRef as forwardRef15,
1160
1161
  useContext as useContext38,
@@ -2334,7 +2335,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
2334
2335
  var addSequenceStackTraces = (component) => {
2335
2336
  componentsToAddStacksTo.push(component);
2336
2337
  };
2337
- var VERSION = "4.0.476";
2338
+ var VERSION = "4.0.478";
2338
2339
  var checkMultipleRemotionVersions = () => {
2339
2340
  if (typeof globalThis === "undefined") {
2340
2341
  return;
@@ -2793,10 +2794,17 @@ var fromField = {
2793
2794
  step: 1,
2794
2795
  hiddenFromList: true
2795
2796
  };
2797
+ var freezeField = {
2798
+ type: "number",
2799
+ default: null,
2800
+ step: 1,
2801
+ hiddenFromList: true
2802
+ };
2796
2803
  var sequenceSchema = extendSchemaWithSequenceName({
2797
2804
  hidden: hiddenField,
2798
2805
  showInTimeline: showInTimelineField,
2799
2806
  from: fromField,
2807
+ freeze: freezeField,
2800
2808
  durationInFrames: durationInFramesField,
2801
2809
  layout: {
2802
2810
  type: "enum",
@@ -2811,6 +2819,7 @@ var sequenceSchema = extendSchemaWithSequenceName({
2811
2819
  var sequenceSchemaWithoutFrom = extendSchemaWithSequenceName({
2812
2820
  hidden: hiddenField,
2813
2821
  showInTimeline: showInTimelineField,
2822
+ freeze: freezeField,
2814
2823
  durationInFrames: durationInFramesField,
2815
2824
  layout: sequenceSchema.layout
2816
2825
  });
@@ -5002,6 +5011,7 @@ var mergeValues = ({
5002
5011
  var stackToOverrideMap = {};
5003
5012
  var wrapInSchema = ({
5004
5013
  Component,
5014
+ componentIdentity,
5005
5015
  schema,
5006
5016
  supportsEffects
5007
5017
  }) => {
@@ -5048,7 +5058,8 @@ var wrapInSchema = ({
5048
5058
  schema: schemaWithSequenceName,
5049
5059
  currentRuntimeValueDotNotation,
5050
5060
  overrideId,
5051
- supportsEffects
5061
+ supportsEffects,
5062
+ componentIdentity
5052
5063
  };
5053
5064
  }, [currentRuntimeValueDotNotation, overrideId]);
5054
5065
  const { merged: valuesDotNotation, propsToDelete } = useMemo13(() => {
@@ -5085,6 +5096,7 @@ var wrapInSchema = ({
5085
5096
  var EMPTY_EFFECTS = [];
5086
5097
  var RegularSequenceRefForwardingFunction = ({
5087
5098
  from = 0,
5099
+ freeze,
5088
5100
  durationInFrames = Infinity,
5089
5101
  children,
5090
5102
  name,
@@ -5100,7 +5112,7 @@ var RegularSequenceRefForwardingFunction = ({
5100
5112
  _remotionInternalPremountDisplay: premountDisplay,
5101
5113
  _remotionInternalPostmountDisplay: postmountDisplay,
5102
5114
  _remotionInternalIsMedia: isMedia,
5103
- _remotionInternalRefForOutline: refForOutline,
5115
+ _remotionInternalRefForOutline: passedRefForOutline,
5104
5116
  ...other
5105
5117
  }, ref) => {
5106
5118
  const { layout = "absolute-fill" } = other;
@@ -5128,11 +5140,24 @@ var RegularSequenceRefForwardingFunction = ({
5128
5140
  if (!Number.isFinite(from)) {
5129
5141
  throw new TypeError(`The "from" prop of a sequence must be finite, but got ${from}.`);
5130
5142
  }
5143
+ if (typeof freeze !== "undefined" && freeze !== null) {
5144
+ if (typeof freeze !== "number") {
5145
+ throw new TypeError(`The "freeze" prop of <Sequence /> must be a number, but is of type ${typeof freeze}.`);
5146
+ }
5147
+ if (Number.isNaN(freeze)) {
5148
+ throw new TypeError(`The "freeze" prop of <Sequence /> must be a real number, but it is NaN.`);
5149
+ }
5150
+ if (!Number.isFinite(freeze)) {
5151
+ throw new TypeError(`The "freeze" prop of <Sequence /> must be finite, but it is ${freeze}.`);
5152
+ }
5153
+ }
5131
5154
  const absoluteFrame = useTimelinePosition();
5132
5155
  const videoConfig = useVideoConfig();
5133
5156
  const parentSequenceDuration = parentSequence ? Math.min(parentSequence.durationInFrames - from, durationInFrames) : durationInFrames;
5134
5157
  const actualDurationInFrames = Math.max(0, Math.min(videoConfig.durationInFrames - from, parentSequenceDuration));
5135
5158
  const { registerSequence, unregisterSequence } = useContext17(SequenceManager);
5159
+ const wrapperRefForOutline = useRef6(null);
5160
+ const refForOutline = other.layout === "none" ? passedRefForOutline ?? null : passedRefForOutline ?? wrapperRefForOutline;
5136
5161
  const premounting = useMemo14(() => {
5137
5162
  return parentSequence?.premounting || Boolean(other._remotionInternalIsPremounting);
5138
5163
  }, [other._remotionInternalIsPremounting, parentSequence?.premounting]);
@@ -5184,6 +5209,11 @@ var RegularSequenceRefForwardingFunction = ({
5184
5209
  const inheritedStack = other?.stack ?? null;
5185
5210
  const stackRef = useRef6(null);
5186
5211
  stackRef.current = stack ?? inheritedStack;
5212
+ const registeredFrozenFrame = typeof freeze === "number" ? freeze : null;
5213
+ const parentCumulatedNegativeFrom = parentSequence?.cumulatedNegativeFrom ?? 0;
5214
+ const startMediaFrom = isMedia && isMedia.type !== "image" ? isMedia.data.startMediaFrom + parentCumulatedNegativeFrom - cumulatedNegativeFrom : null;
5215
+ const mediaFrameAtSequenceZero = isMedia && isMedia.type !== "image" ? isMedia.data.startMediaFrom + parentCumulatedNegativeFrom : null;
5216
+ const frozenMediaFrame = isMedia && isMedia.type !== "image" && mediaFrameAtSequenceZero !== null ? registeredFrozenFrame === null ? null : mediaFrameAtSequenceZero + (loopDisplay ? registeredFrozenFrame % loopDisplay.durationInFrames : registeredFrozenFrame) * isMedia.data.playbackRate : null;
5187
5217
  useEffect3(() => {
5188
5218
  if (!env.isStudio) {
5189
5219
  return;
@@ -5209,7 +5239,8 @@ var RegularSequenceRefForwardingFunction = ({
5209
5239
  src: isMedia.src,
5210
5240
  getStack: () => stackRef.current,
5211
5241
  refForOutline: refForOutline ?? null,
5212
- isInsideSeries
5242
+ isInsideSeries,
5243
+ frozenFrame: registeredFrozenFrame
5213
5244
  });
5214
5245
  } else {
5215
5246
  registerSequence({
@@ -5232,10 +5263,12 @@ var RegularSequenceRefForwardingFunction = ({
5232
5263
  showInTimeline,
5233
5264
  src: isMedia.data.src,
5234
5265
  getStack: () => stackRef.current,
5235
- startMediaFrom: isMedia.data.startMediaFrom,
5266
+ startMediaFrom: startMediaFrom ?? isMedia.data.startMediaFrom,
5236
5267
  volume: isMedia.data.volumes,
5237
5268
  refForOutline: refForOutline ?? null,
5238
- isInsideSeries
5269
+ isInsideSeries,
5270
+ frozenFrame: registeredFrozenFrame,
5271
+ frozenMediaFrame
5239
5272
  });
5240
5273
  }
5241
5274
  return () => {
@@ -5260,7 +5293,8 @@ var RegularSequenceRefForwardingFunction = ({
5260
5293
  controls: controls ?? null,
5261
5294
  effects: _remotionInternalEffects ?? EMPTY_EFFECTS,
5262
5295
  refForOutline: refForOutline ?? null,
5263
- isInsideSeries
5296
+ isInsideSeries,
5297
+ frozenFrame: registeredFrozenFrame
5264
5298
  });
5265
5299
  return () => {
5266
5300
  unregisterSequence(id);
@@ -5287,11 +5321,26 @@ var RegularSequenceRefForwardingFunction = ({
5287
5321
  isMedia,
5288
5322
  resolvedDocumentationLink,
5289
5323
  refForOutline,
5290
- isInsideSeries
5324
+ isInsideSeries,
5325
+ registeredFrozenFrame,
5326
+ startMediaFrom,
5327
+ frozenMediaFrame
5291
5328
  ]);
5292
5329
  const endThreshold = Math.ceil(cumulatedFrom + from + durationInFrames - 1);
5293
5330
  const content = absoluteFrame < cumulatedFrom + from ? null : absoluteFrame > endThreshold ? null : children;
5331
+ const frozenContent = content === null || typeof freeze === "undefined" || freeze === null ? content : /* @__PURE__ */ jsx12(Freeze, {
5332
+ frame: freeze,
5333
+ children: content
5334
+ });
5294
5335
  const styleIfThere = other.layout === "none" ? undefined : other.style;
5336
+ const sequenceRef = useCallback6((node) => {
5337
+ wrapperRefForOutline.current = node;
5338
+ if (typeof ref === "function") {
5339
+ ref(node);
5340
+ } else if (ref) {
5341
+ ref.current = node;
5342
+ }
5343
+ }, [ref]);
5295
5344
  const defaultStyle = useMemo14(() => {
5296
5345
  return {
5297
5346
  flexDirection: undefined,
@@ -5308,11 +5357,11 @@ var RegularSequenceRefForwardingFunction = ({
5308
5357
  }
5309
5358
  return /* @__PURE__ */ jsx12(SequenceContext.Provider, {
5310
5359
  value: contextValue,
5311
- children: content === null ? null : other.layout === "none" ? content : /* @__PURE__ */ jsx12(AbsoluteFill, {
5312
- ref,
5360
+ children: frozenContent === null ? null : other.layout === "none" ? frozenContent : /* @__PURE__ */ jsx12(AbsoluteFill, {
5361
+ ref: sequenceRef,
5313
5362
  style: defaultStyle,
5314
5363
  className: other.className,
5315
- children: content
5364
+ children: frozenContent
5316
5365
  })
5317
5366
  });
5318
5367
  };
@@ -5392,11 +5441,13 @@ var SequenceInner = forwardRef3(SequenceRefForwardingFunction);
5392
5441
  var SequenceWithoutSchema = SequenceInner;
5393
5442
  var Sequence = wrapInSchema({
5394
5443
  Component: SequenceInner,
5444
+ componentIdentity: "dev.remotion.remotion.Sequence",
5395
5445
  schema: sequenceSchema,
5396
5446
  supportsEffects: false
5397
5447
  });
5398
5448
  var SequenceWithoutFrom = wrapInSchema({
5399
5449
  Component: SequenceInner,
5450
+ componentIdentity: null,
5400
5451
  schema: sequenceSchemaWithoutFrom,
5401
5452
  supportsEffects: false
5402
5453
  });
@@ -5714,7 +5765,7 @@ var CanvasRefForwardingFunction = ({ width, height, fit, className, style, effec
5714
5765
  }
5715
5766
  return document.createElement("canvas");
5716
5767
  }, []);
5717
- const draw = useCallback6((imageData) => {
5768
+ const draw = useCallback7((imageData) => {
5718
5769
  const canvas = canvasRef.current;
5719
5770
  const canvasWidth = width ?? imageData.displayWidth;
5720
5771
  const canvasHeight = height ?? imageData.displayHeight;
@@ -5935,6 +5986,7 @@ var resolveAnimatedImageSource = (src) => {
5935
5986
  var animatedImageSchema = {
5936
5987
  durationInFrames: durationInFramesField,
5937
5988
  from: fromField,
5989
+ freeze: freezeField,
5938
5990
  playbackRate: {
5939
5991
  type: "number",
5940
5992
  min: 0,
@@ -6134,6 +6186,7 @@ var AnimatedImageInner = ({
6134
6186
  };
6135
6187
  var AnimatedImage = wrapInSchema({
6136
6188
  Component: AnimatedImageInner,
6189
+ componentIdentity: "dev.remotion.remotion.AnimatedImage",
6137
6190
  schema: animatedImageSchema,
6138
6191
  supportsEffects: true
6139
6192
  });
@@ -6180,7 +6233,7 @@ var RenderAssetManager = createContext17({
6180
6233
  var RenderAssetManagerProvider = ({ children, collectAssets }) => {
6181
6234
  const [renderAssets, setRenderAssets] = useState7([]);
6182
6235
  const renderAssetsRef = useRef10([]);
6183
- const registerRenderAsset = useCallback7((renderAsset) => {
6236
+ const registerRenderAsset = useCallback8((renderAsset) => {
6184
6237
  validateRenderAsset(renderAsset);
6185
6238
  renderAssetsRef.current = [...renderAssetsRef.current, renderAsset];
6186
6239
  setRenderAssets(renderAssetsRef.current);
@@ -6197,7 +6250,7 @@ var RenderAssetManagerProvider = ({ children, collectAssets }) => {
6197
6250
  };
6198
6251
  }, []);
6199
6252
  }
6200
- const unregisterRenderAsset = useCallback7((id) => {
6253
+ const unregisterRenderAsset = useCallback8((id) => {
6201
6254
  renderAssetsRef.current = renderAssetsRef.current.filter((a2) => a2.id !== id);
6202
6255
  setRenderAssets(renderAssetsRef.current);
6203
6256
  }, []);
@@ -7002,7 +7055,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
7002
7055
  }, []);
7003
7056
  const prevEndTimes = useRef12({ scheduledEndTime: null, mediaEndTime: null });
7004
7057
  const nodesToResume = useRef12(new Map);
7005
- const unscheduleAudioNode = useCallback8((node) => {
7058
+ const unscheduleAudioNode = useCallback9((node) => {
7006
7059
  nodesToResume.current.delete(node);
7007
7060
  }, []);
7008
7061
  const scheduleAudioNode = useMemo21(() => {
@@ -7056,7 +7109,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
7056
7109
  };
7057
7110
  };
7058
7111
  }, [ctxAndGain, logLevel]);
7059
- const resume = useCallback8(() => {
7112
+ const resume = useCallback9(() => {
7060
7113
  if (!ctxAndGain) {
7061
7114
  return Promise.resolve();
7062
7115
  }
@@ -7083,10 +7136,10 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
7083
7136
  });
7084
7137
  return resumePromise.catch(() => {});
7085
7138
  }, [ctxAndGain, logLevel]);
7086
- const getIsResumingAudioContext = useCallback8(() => {
7139
+ const getIsResumingAudioContext = useCallback9(() => {
7087
7140
  return isResuming.current;
7088
7141
  }, []);
7089
- const suspend = useCallback8(() => {
7142
+ const suspend = useCallback9(() => {
7090
7143
  if (!ctxAndGain) {
7091
7144
  return Promise.resolve();
7092
7145
  }
@@ -7160,7 +7213,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
7160
7213
  };
7161
7214
  }, [refs]);
7162
7215
  const takenAudios = useRef12(new Array(numberOfAudioTags).fill(false));
7163
- const rerenderAudios = useCallback8(() => {
7216
+ const rerenderAudios = useCallback9(() => {
7164
7217
  refs.forEach(({ ref, id }) => {
7165
7218
  const data = audios.current?.find((a2) => a2.id === id);
7166
7219
  const { current } = ref;
@@ -7181,7 +7234,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
7181
7234
  });
7182
7235
  });
7183
7236
  }, [refs]);
7184
- const registerAudio = useCallback8((options) => {
7237
+ const registerAudio = useCallback9((options) => {
7185
7238
  const { aud, audioId, premounting, postmounting } = options;
7186
7239
  const found = audios.current?.find((a2) => a2.audioId === audioId);
7187
7240
  if (found) {
@@ -7210,7 +7263,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
7210
7263
  rerenderAudios();
7211
7264
  return newElem;
7212
7265
  }, [numberOfAudioTags, refs, rerenderAudios]);
7213
- const unregisterAudio = useCallback8((id) => {
7266
+ const unregisterAudio = useCallback9((id) => {
7214
7267
  const cloned = [...takenAudios.current];
7215
7268
  const index = refs.findIndex((r) => r.id === id);
7216
7269
  if (index === -1) {
@@ -7221,7 +7274,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
7221
7274
  audios.current = audios.current?.filter((a2) => a2.id !== id);
7222
7275
  rerenderAudios();
7223
7276
  }, [refs, rerenderAudios]);
7224
- const updateAudio = useCallback8(({
7277
+ const updateAudio = useCallback9(({
7225
7278
  aud,
7226
7279
  audioId,
7227
7280
  id,
@@ -7255,7 +7308,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
7255
7308
  rerenderAudios();
7256
7309
  }
7257
7310
  }, [rerenderAudios]);
7258
- const playAllAudios = useCallback8(() => {
7311
+ const playAllAudios = useCallback9(() => {
7259
7312
  refs.forEach((ref) => {
7260
7313
  const audio = audios.current.find((a2) => a2.el === ref.ref);
7261
7314
  if (audio?.premounting) {
@@ -7766,7 +7819,9 @@ var useMediaInTimeline = ({
7766
7819
  controls: null,
7767
7820
  effects: [],
7768
7821
  refForOutline,
7769
- isInsideSeries: false
7822
+ isInsideSeries: false,
7823
+ frozenFrame: null,
7824
+ frozenMediaFrame: null
7770
7825
  });
7771
7826
  return () => {
7772
7827
  unregisterSequence(id);
@@ -7803,7 +7858,7 @@ var useBufferManager = (logLevel, mountTime) => {
7803
7858
  const env = useRemotionEnvironment();
7804
7859
  const rendering = env.isRendering;
7805
7860
  const buffering = useRef15(false);
7806
- const addBlock = useCallback9((block) => {
7861
+ const addBlock = useCallback10((block) => {
7807
7862
  if (rendering) {
7808
7863
  return {
7809
7864
  unblock: () => {
@@ -7829,7 +7884,7 @@ var useBufferManager = (logLevel, mountTime) => {
7829
7884
  }
7830
7885
  };
7831
7886
  }, [rendering]);
7832
- const listenForBuffering = useCallback9((callback) => {
7887
+ const listenForBuffering = useCallback10((callback) => {
7833
7888
  setOnBufferingCallbacks((c2) => [...c2, callback]);
7834
7889
  return {
7835
7890
  remove: () => {
@@ -7837,7 +7892,7 @@ var useBufferManager = (logLevel, mountTime) => {
7837
7892
  }
7838
7893
  };
7839
7894
  }, []);
7840
- const listenForResume = useCallback9((callback) => {
7895
+ const listenForResume = useCallback10((callback) => {
7841
7896
  setOnResumeCallbacks((c2) => [...c2, callback]);
7842
7897
  return {
7843
7898
  remove: () => {
@@ -7951,7 +8006,7 @@ var useBufferUntilFirstFrame = ({
7951
8006
  }) => {
7952
8007
  const bufferingRef = useRef16(false);
7953
8008
  const { delayPlayback } = useBufferState();
7954
- const bufferUntilFirstFrame = useCallback10((requestedTime) => {
8009
+ const bufferUntilFirstFrame = useCallback11((requestedTime) => {
7955
8010
  if (mediaType !== "video") {
7956
8011
  return;
7957
8012
  }
@@ -8341,7 +8396,7 @@ var useMediaPlayback = ({
8341
8396
  throw new Error("useMediaPlayback must be used inside a <BufferingContext>");
8342
8397
  }
8343
8398
  const isVariableFpsVideoMap = useRef18({});
8344
- const onVariableFpsVideoDetected = useCallback11(() => {
8399
+ const onVariableFpsVideoDetected = useCallback12(() => {
8345
8400
  if (!src) {
8346
8401
  return;
8347
8402
  }
@@ -8732,7 +8787,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
8732
8787
  premounting: Boolean(sequenceContext?.premounting),
8733
8788
  postmounting: Boolean(sequenceContext?.postmounting)
8734
8789
  });
8735
- const getStack = useCallback12(() => {
8790
+ const getStack = useCallback13(() => {
8736
8791
  return _remotionInternalStack ?? null;
8737
8792
  }, [_remotionInternalStack]);
8738
8793
  useMediaInTimeline({
@@ -8978,7 +9033,7 @@ var AudioRefForwardingFunction = (props, ref) => {
8978
9033
  throw new TypeError(`The \`<Html5Audio>\` tag requires a string for \`src\`, but got ${JSON.stringify(props.src)} instead.`);
8979
9034
  }
8980
9035
  const preloadedSrc = usePreload(props.src);
8981
- const onError = useCallback13((e) => {
9036
+ const onError = useCallback14((e) => {
8982
9037
  console.log(e.currentTarget.error);
8983
9038
  const errMessage = `Could not play audio with src ${preloadedSrc}: ${e.currentTarget.error}. See https://remotion.dev/docs/media-playback-error for help.`;
8984
9039
  if (loop) {
@@ -8992,7 +9047,7 @@ var AudioRefForwardingFunction = (props, ref) => {
8992
9047
  console.warn(errMessage);
8993
9048
  }
8994
9049
  }, [loop, onRemotionError, preloadedSrc]);
8995
- const onDuration = useCallback13((src, durationInSeconds) => {
9050
+ const onDuration = useCallback14((src, durationInSeconds) => {
8996
9051
  setDurations({ type: "got-duration", durationInSeconds, src });
8997
9052
  }, [setDurations]);
8998
9053
  const durationFetched = durations[getAbsoluteSrc(preloadedSrc)] ?? durations[getAbsoluteSrc(props.src)];
@@ -9084,6 +9139,7 @@ var resolveSolidPixelDensity = (pixelDensity) => {
9084
9139
  var solidSchema = {
9085
9140
  durationInFrames: durationInFramesField,
9086
9141
  from: fromField,
9142
+ freeze: freezeField,
9087
9143
  color: {
9088
9144
  type: "color",
9089
9145
  default: "transparent",
@@ -9138,7 +9194,7 @@ var SolidInner = ({
9138
9194
  return canvas;
9139
9195
  }, []);
9140
9196
  const chainState = useEffectChainState();
9141
- const canvasRef = useCallback14((canvas) => {
9197
+ const canvasRef = useCallback15((canvas) => {
9142
9198
  setOutputCanvas(canvas);
9143
9199
  if (typeof reference === "function") {
9144
9200
  reference(canvas);
@@ -9222,6 +9278,7 @@ var SolidOuter = forwardRef8(({
9222
9278
  style,
9223
9279
  name,
9224
9280
  from,
9281
+ freeze,
9225
9282
  hidden,
9226
9283
  showInTimeline,
9227
9284
  pixelDensity,
@@ -9235,6 +9292,7 @@ var SolidOuter = forwardRef8(({
9235
9292
  return /* @__PURE__ */ jsx24(Sequence, {
9236
9293
  layout: "none",
9237
9294
  from,
9295
+ freeze,
9238
9296
  hidden,
9239
9297
  showInTimeline,
9240
9298
  _experimentalControls: controls,
@@ -9259,6 +9317,7 @@ var SolidOuter = forwardRef8(({
9259
9317
  });
9260
9318
  var Solid = wrapInSchema({
9261
9319
  Component: SolidOuter,
9320
+ componentIdentity: "dev.remotion.remotion.Solid",
9262
9321
  schema: solidSchema,
9263
9322
  supportsEffects: true
9264
9323
  });
@@ -9348,7 +9407,7 @@ var HtmlInCanvasContent = forwardRef9(({
9348
9407
  const offscreenRef = useRef22(null);
9349
9408
  const divRef = useRef22(null);
9350
9409
  const canvasSizeKey = `${width}x${height}@${resolvedPixelDensity}`;
9351
- const setLayoutCanvasRef = useCallback15((node) => {
9410
+ const setLayoutCanvasRef = useCallback16((node) => {
9352
9411
  canvas2dRef.current = node;
9353
9412
  if (typeof ref === "function") {
9354
9413
  ref(node);
@@ -9370,7 +9429,7 @@ var HtmlInCanvasContent = forwardRef9(({
9370
9429
  const initializedRef = useRef22(false);
9371
9430
  const onInitCleanupRef = useRef22(null);
9372
9431
  const unmountedRef = useRef22(false);
9373
- const onPaintCb = useCallback15(async () => {
9432
+ const onPaintCb = useCallback16(async () => {
9374
9433
  const element = divRef.current;
9375
9434
  if (!element) {
9376
9435
  throw new Error("Canvas or scene element not found");
@@ -9543,7 +9602,7 @@ var HtmlInCanvasInner = forwardRef9(({
9543
9602
  const resolvedDuration = durationInFrames ?? videoDuration;
9544
9603
  const memoizedEffectDefinitions = useMemoizedEffectDefinitions(effects);
9545
9604
  const actualRef = useRef22(null);
9546
- const setCanvasRef = useCallback15((node) => {
9605
+ const setCanvasRef = useCallback16((node) => {
9547
9606
  actualRef.current = node;
9548
9607
  if (typeof ref === "function") {
9549
9608
  ref(node);
@@ -9578,11 +9637,13 @@ HtmlInCanvasInner.displayName = "HtmlInCanvas";
9578
9637
  var htmlInCanvasSchema = {
9579
9638
  durationInFrames: durationInFramesField,
9580
9639
  from: fromField,
9640
+ freeze: freezeField,
9581
9641
  ...sequenceVisualStyleSchema,
9582
9642
  hidden: hiddenField
9583
9643
  };
9584
9644
  var HtmlInCanvasWrapped = wrapInSchema({
9585
9645
  Component: HtmlInCanvasInner,
9646
+ componentIdentity: "dev.remotion.remotion.HtmlInCanvas",
9586
9647
  schema: htmlInCanvasSchema,
9587
9648
  supportsEffects: true
9588
9649
  });
@@ -9600,6 +9661,7 @@ function truncateSrcForLabel(src) {
9600
9661
  var canvasImageSchema = {
9601
9662
  durationInFrames: durationInFramesField,
9602
9663
  from: fromField,
9664
+ freeze: freezeField,
9603
9665
  fit: {
9604
9666
  type: "enum",
9605
9667
  default: "fill",
@@ -9705,7 +9767,7 @@ var CanvasImageContent = forwardRef10(({
9705
9767
  }
9706
9768
  return document.createElement("canvas");
9707
9769
  }, []);
9708
- const canvasRef = useCallback16((canvas) => {
9770
+ const canvasRef = useCallback17((canvas) => {
9709
9771
  setOutputCanvas(canvas);
9710
9772
  if (refForOutline) {
9711
9773
  refForOutline.current = canvas;
@@ -9852,6 +9914,7 @@ var CanvasImageInner = forwardRef10(({
9852
9914
  delayRenderTimeoutInMilliseconds,
9853
9915
  durationInFrames,
9854
9916
  from,
9917
+ freeze,
9855
9918
  hidden,
9856
9919
  name,
9857
9920
  showInTimeline,
@@ -9873,6 +9936,7 @@ var CanvasImageInner = forwardRef10(({
9873
9936
  layout: "none",
9874
9937
  from: from ?? 0,
9875
9938
  durationInFrames: durationInFrames ?? Infinity,
9939
+ freeze,
9876
9940
  hidden,
9877
9941
  showInTimeline: showInTimeline ?? true,
9878
9942
  name: name ?? "<CanvasImage>",
@@ -9905,6 +9969,7 @@ var CanvasImageInner = forwardRef10(({
9905
9969
  });
9906
9970
  var CanvasImage = wrapInSchema({
9907
9971
  Component: CanvasImageInner,
9972
+ componentIdentity: "dev.remotion.remotion.CanvasImage",
9908
9973
  schema: canvasImageSchema,
9909
9974
  supportsEffects: true
9910
9975
  });
@@ -9922,11 +9987,11 @@ var IFrameRefForwarding = ({
9922
9987
  retries: delayRenderRetries ?? undefined,
9923
9988
  timeoutInMilliseconds: delayRenderTimeoutInMilliseconds ?? undefined
9924
9989
  }));
9925
- const didLoad = useCallback17((e) => {
9990
+ const didLoad = useCallback18((e) => {
9926
9991
  continueRender2(handle);
9927
9992
  onLoad?.(e);
9928
9993
  }, [handle, onLoad, continueRender2]);
9929
- const didGetError = useCallback17((e) => {
9994
+ const didGetError = useCallback18((e) => {
9930
9995
  continueRender2(handle);
9931
9996
  if (onError) {
9932
9997
  onError(e);
@@ -9968,7 +10033,7 @@ var ImgContent = ({
9968
10033
  if (!_propsValid) {
9969
10034
  throw new Error("typecheck error");
9970
10035
  }
9971
- const imageCallbackRef = useCallback18((img) => {
10036
+ const imageCallbackRef = useCallback19((img) => {
9972
10037
  imageRef.current = img;
9973
10038
  refForOutline.current = img;
9974
10039
  if (typeof ref === "function") {
@@ -9978,7 +10043,7 @@ var ImgContent = ({
9978
10043
  }
9979
10044
  }, [ref, refForOutline]);
9980
10045
  const actualSrc = usePreload(src);
9981
- const retryIn = useCallback18((timeout) => {
10046
+ const retryIn = useCallback19((timeout) => {
9982
10047
  if (!imageRef.current) {
9983
10048
  return;
9984
10049
  }
@@ -9996,7 +10061,7 @@ var ImgContent = ({
9996
10061
  }, timeout);
9997
10062
  }, []);
9998
10063
  const { delayRender: delayRender2, continueRender: continueRender2, cancelRender: cancelRender2 } = useDelayRender();
9999
- const didGetError = useCallback18((e) => {
10064
+ const didGetError = useCallback19((e) => {
10000
10065
  if (!errors.current) {
10001
10066
  return;
10002
10067
  }
@@ -10106,6 +10171,7 @@ var NativeImgInner = ({
10106
10171
  src,
10107
10172
  from,
10108
10173
  durationInFrames,
10174
+ freeze,
10109
10175
  _experimentalControls: controls,
10110
10176
  _remotionInternalRefForOutline: refForOutline,
10111
10177
  ...props2
@@ -10117,6 +10183,7 @@ var NativeImgInner = ({
10117
10183
  layout: "none",
10118
10184
  from: from ?? 0,
10119
10185
  durationInFrames: durationInFrames ?? Infinity,
10186
+ freeze,
10120
10187
  _remotionInternalStack: stack,
10121
10188
  _remotionInternalDocumentationLink: "https://www.remotion.dev/docs/img",
10122
10189
  _remotionInternalIsMedia: { type: "image", src },
@@ -10136,6 +10203,7 @@ var CanvasImageWithPrivateProps = CanvasImage;
10136
10203
  var imgSchema = {
10137
10204
  durationInFrames: durationInFramesField,
10138
10205
  from: fromField,
10206
+ freeze: freezeField,
10139
10207
  ...sequenceVisualStyleSchema,
10140
10208
  hidden: hiddenField
10141
10209
  };
@@ -10191,6 +10259,7 @@ var ImgInner = ({
10191
10259
  src,
10192
10260
  from,
10193
10261
  durationInFrames,
10262
+ freeze,
10194
10263
  _experimentalControls: controls,
10195
10264
  width,
10196
10265
  height,
@@ -10215,6 +10284,7 @@ var ImgInner = ({
10215
10284
  src,
10216
10285
  from,
10217
10286
  durationInFrames,
10287
+ freeze,
10218
10288
  _experimentalControls: controls,
10219
10289
  width,
10220
10290
  height,
@@ -10256,6 +10326,7 @@ var ImgInner = ({
10256
10326
  delayRenderTimeoutInMilliseconds,
10257
10327
  from,
10258
10328
  durationInFrames,
10329
+ freeze,
10259
10330
  hidden,
10260
10331
  name: name ?? "<Img>",
10261
10332
  showInTimeline,
@@ -10268,6 +10339,7 @@ var ImgInner = ({
10268
10339
  };
10269
10340
  var Img = wrapInSchema({
10270
10341
  Component: ImgInner,
10342
+ componentIdentity: "dev.remotion.remotion.Img",
10271
10343
  schema: imgSchema,
10272
10344
  supportsEffects: true
10273
10345
  });
@@ -10275,6 +10347,7 @@ addSequenceStackTraces(Img);
10275
10347
  var interactiveElementSchema = {
10276
10348
  durationInFrames: durationInFramesField,
10277
10349
  from: fromField,
10350
+ freeze: freezeField,
10278
10351
  ...sequenceVisualStyleSchema,
10279
10352
  hidden: hiddenField
10280
10353
  };
@@ -10290,6 +10363,7 @@ var makeInteractiveElement = (tag, displayName) => {
10290
10363
  const {
10291
10364
  durationInFrames,
10292
10365
  from,
10366
+ freeze,
10293
10367
  hidden,
10294
10368
  name,
10295
10369
  showInTimeline,
@@ -10298,7 +10372,7 @@ var makeInteractiveElement = (tag, displayName) => {
10298
10372
  ...props2
10299
10373
  } = propsWithControls;
10300
10374
  const refForOutline = useRef25(null);
10301
- const callbackRef = useCallback19((element) => {
10375
+ const callbackRef = useCallback20((element) => {
10302
10376
  refForOutline.current = element;
10303
10377
  setRef(ref, element);
10304
10378
  }, [ref]);
@@ -10306,6 +10380,7 @@ var makeInteractiveElement = (tag, displayName) => {
10306
10380
  layout: "none",
10307
10381
  from: from ?? 0,
10308
10382
  durationInFrames: durationInFrames ?? Infinity,
10383
+ freeze,
10309
10384
  hidden,
10310
10385
  name: name ?? displayName,
10311
10386
  showInTimeline: showInTimeline ?? true,
@@ -10322,6 +10397,7 @@ var makeInteractiveElement = (tag, displayName) => {
10322
10397
  Inner.displayName = displayName;
10323
10398
  const Wrapped = wrapInSchema({
10324
10399
  Component: Inner,
10400
+ componentIdentity: `dev.remotion.remotion.${displayName.slice(1, -1)}`,
10325
10401
  schema: interactiveElementSchema,
10326
10402
  supportsEffects: false
10327
10403
  });
@@ -10378,14 +10454,14 @@ var CompositionManagerProvider = ({
10378
10454
  const [canvasContent, setCanvasContent] = useState18(initialCanvasContent);
10379
10455
  const [compositions, setCompositions] = useState18(initialCompositions);
10380
10456
  const currentcompositionsRef = useRef26(compositions);
10381
- const updateCompositions = useCallback20((updateComps) => {
10457
+ const updateCompositions = useCallback21((updateComps) => {
10382
10458
  setCompositions((comps) => {
10383
10459
  const updated = updateComps(comps);
10384
10460
  currentcompositionsRef.current = updated;
10385
10461
  return updated;
10386
10462
  });
10387
10463
  }, []);
10388
- const registerComposition = useCallback20((comp) => {
10464
+ const registerComposition = useCallback21((comp) => {
10389
10465
  updateCompositions((comps) => {
10390
10466
  if (comps.find((c2) => c2.id === comp.id)) {
10391
10467
  throw new Error(`Multiple composition with id ${comp.id} are registered.`);
@@ -10393,12 +10469,12 @@ var CompositionManagerProvider = ({
10393
10469
  return [...comps, comp];
10394
10470
  });
10395
10471
  }, [updateCompositions]);
10396
- const unregisterComposition = useCallback20((id) => {
10472
+ const unregisterComposition = useCallback21((id) => {
10397
10473
  setCompositions((comps) => {
10398
10474
  return comps.filter((c2) => c2.id !== id);
10399
10475
  });
10400
10476
  }, []);
10401
- const registerFolder = useCallback20((name, parent, nonce, stack) => {
10477
+ const registerFolder = useCallback21((name, parent, nonce, stack) => {
10402
10478
  setFolders((prevFolders) => {
10403
10479
  return [
10404
10480
  ...prevFolders,
@@ -10411,7 +10487,7 @@ var CompositionManagerProvider = ({
10411
10487
  ];
10412
10488
  });
10413
10489
  }, []);
10414
- const unregisterFolder = useCallback20((name, parent) => {
10490
+ const unregisterFolder = useCallback21((name, parent) => {
10415
10491
  setFolders((prevFolders) => {
10416
10492
  return prevFolders.filter((p) => !(p.name === name && p.parent === parent));
10417
10493
  });
@@ -11050,7 +11126,7 @@ var OffthreadVideoForRendering = ({
11050
11126
  continueRender2,
11051
11127
  delayRender2
11052
11128
  ]);
11053
- const onErr = useCallback21(() => {
11129
+ const onErr = useCallback22(() => {
11054
11130
  if (onError) {
11055
11131
  onError?.(new Error("Failed to load image with src " + imageSrc));
11056
11132
  } else {
@@ -11060,7 +11136,7 @@ var OffthreadVideoForRendering = ({
11060
11136
  const className = useMemo35(() => {
11061
11137
  return [OBJECTFIT_CONTAIN_CLASS_NAME, props2.className].filter(truthy).join(" ");
11062
11138
  }, [props2.className]);
11063
- const onImageFrame = useCallback21((img) => {
11139
+ const onImageFrame = useCallback22((img) => {
11064
11140
  if (onVideoFrame) {
11065
11141
  onVideoFrame(img);
11066
11142
  }
@@ -11193,7 +11269,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
11193
11269
  mediaVolume
11194
11270
  });
11195
11271
  warnAboutTooHighVolume(userPreferredVolume);
11196
- const getStack = useCallback22(() => {
11272
+ const getStack = useCallback23(() => {
11197
11273
  return _remotionInternalStack ?? null;
11198
11274
  }, [_remotionInternalStack]);
11199
11275
  useMediaInTimeline({
@@ -11369,7 +11445,7 @@ var InnerOffthreadVideo = (props2) => {
11369
11445
  if (environment.isClientSideRendering) {
11370
11446
  throw new Error("<OffthreadVideo> is not supported in @remotion/web-renderer. Use <Video> from @remotion/media instead. See https://remotion.dev/docs/client-side-rendering/limitations");
11371
11447
  }
11372
- const onDuration = useCallback23(() => {
11448
+ const onDuration = useCallback24(() => {
11373
11449
  return;
11374
11450
  }, []);
11375
11451
  if (typeof props2.src !== "string") {
@@ -11748,6 +11824,7 @@ var Internals = {
11748
11824
  getEffectPropStatusesCtx,
11749
11825
  hiddenField,
11750
11826
  durationInFramesField,
11827
+ freezeField,
11751
11828
  fromField
11752
11829
  };
11753
11830
  var flattenChildren = (children) => {
@@ -11833,6 +11910,7 @@ var SeriesInner = (props2) => {
11833
11910
  };
11834
11911
  var Series = Object.assign(wrapInSchema({
11835
11912
  Component: SeriesInner,
11913
+ componentIdentity: "dev.remotion.remotion.Series",
11836
11914
  schema: sequenceSchemaDefaultLayoutNone,
11837
11915
  supportsEffects: false
11838
11916
  }), {
@@ -12297,7 +12375,7 @@ var VideoForwardingFunction = (props2, ref) => {
12297
12375
  throw new TypeError(`The \`<Html5Video>\` tag requires a string for \`src\`, but got ${JSON.stringify(props2.src)} instead.`);
12298
12376
  }
12299
12377
  const preloadedSrc = usePreload(props2.src);
12300
- const onDuration = useCallback24((src, durationInSeconds) => {
12378
+ const onDuration = useCallback25((src, durationInSeconds) => {
12301
12379
  setDurations({ type: "got-duration", durationInSeconds, src });
12302
12380
  }, [setDurations]);
12303
12381
  const durationFetched = durations[getAbsoluteSrc(preloadedSrc)] ?? durations[getAbsoluteSrc(props2.src)];
@@ -12845,7 +12923,7 @@ var ExpertsPageContent = ({ Link }) => {
12845
12923
  import * as React23 from "react";
12846
12924
  import * as React8 from "react";
12847
12925
  import { Fragment as Fragment22, jsx as jsx46 } from "react/jsx-runtime";
12848
- import React52, { useCallback as useCallback26, useRef as useRef210, useState as useState22 } from "react";
12926
+ import React52, { useCallback as useCallback27, useRef as useRef210, useState as useState22 } from "react";
12849
12927
 
12850
12928
  // ../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
12851
12929
  function r(e) {
@@ -16953,7 +17031,7 @@ var PathInternals = {
16953
17031
  };
16954
17032
 
16955
17033
  // ../shapes/dist/esm/index.mjs
16956
- import React3, { useCallback as useCallback25, useMemo as useMemo42, useRef as useRef29 } from "react";
17034
+ import React3, { useCallback as useCallback26, useMemo as useMemo42, useRef as useRef29 } from "react";
16957
17035
  import { version } from "react-dom";
16958
17036
  import { jsx as jsx44, jsxs as jsxs5 } from "react/jsx-runtime";
16959
17037
  import { jsx as jsx210 } from "react/jsx-runtime";
@@ -16965,6 +17043,7 @@ import { jsx as jsx72 } from "react/jsx-runtime";
16965
17043
  import { jsx as jsx82 } from "react/jsx-runtime";
16966
17044
  import { jsx as jsx92 } from "react/jsx-runtime";
16967
17045
  import { jsx as jsx102 } from "react/jsx-runtime";
17046
+ import { jsx as jsx112 } from "react/jsx-runtime";
16968
17047
  var unitDir = (from, to) => {
16969
17048
  const dx = to[0] - from[0];
16970
17049
  const dy = to[1] - from[1];
@@ -17123,6 +17202,7 @@ var RenderSvg = ({
17123
17202
  pixelDensity,
17124
17203
  durationInFrames,
17125
17204
  from,
17205
+ freeze,
17126
17206
  hidden,
17127
17207
  name,
17128
17208
  showInTimeline,
@@ -17143,10 +17223,10 @@ var RenderSvg = ({
17143
17223
  };
17144
17224
  }, [pathStyle]);
17145
17225
  const outlineRef = useRef29(null);
17146
- const setSvgRef = useCallback25((node) => {
17226
+ const setSvgRef = useCallback26((node) => {
17147
17227
  outlineRef.current = node;
17148
17228
  }, []);
17149
- const setCanvasRef = useCallback25((canvas) => {
17229
+ const setCanvasRef = useCallback26((canvas) => {
17150
17230
  outlineRef.current = canvas;
17151
17231
  }, []);
17152
17232
  const memoizedEffectDefinitions = Internals.useMemoizedEffectDefinitions(effects);
@@ -17231,6 +17311,7 @@ var RenderSvg = ({
17231
17311
  return /* @__PURE__ */ jsx44(Sequence, {
17232
17312
  layout: "none",
17233
17313
  from,
17314
+ freeze,
17234
17315
  hidden,
17235
17316
  showInTimeline,
17236
17317
  _experimentalControls: controls,
@@ -17296,6 +17377,7 @@ var enumField = ({
17296
17377
  var makeShapeSchema = (shapeFields) => {
17297
17378
  return {
17298
17379
  from: Internals.sequenceSchema.from,
17380
+ freeze: Internals.sequenceSchema.freeze,
17299
17381
  durationInFrames: Internals.sequenceSchema.durationInFrames,
17300
17382
  ...shapeFields,
17301
17383
  fill: colorField({
@@ -17363,10 +17445,435 @@ var ArrowInner = ({
17363
17445
  };
17364
17446
  var Arrow = Internals.wrapInSchema({
17365
17447
  Component: ArrowInner,
17448
+ componentIdentity: "dev.remotion.shapes.Arrow",
17366
17449
  schema: arrowSchema,
17367
17450
  supportsEffects: true
17368
17451
  });
17369
17452
  Internals.addSequenceStackTraces(Arrow);
17453
+ var shortenVector = (vector, radius) => {
17454
+ const [x, y] = vector;
17455
+ const currentLength = Math.sqrt(x * x + y * y);
17456
+ const scalingFactor = (currentLength - radius) / currentLength;
17457
+ return [x * scalingFactor, y * scalingFactor];
17458
+ };
17459
+ var scaleVectorToLength = (vector, length2) => {
17460
+ const [x, y] = vector;
17461
+ const currentLength = Math.sqrt(x * x + y * y);
17462
+ const scalingFactor = length2 / currentLength;
17463
+ return [x * scalingFactor, y * scalingFactor];
17464
+ };
17465
+ var joinPoints = (points, {
17466
+ edgeRoundness,
17467
+ cornerRadius,
17468
+ roundCornerStrategy
17469
+ }) => {
17470
+ return points.map(([x, y], i) => {
17471
+ const prevPointIndex = i === 0 ? points.length - 2 : i - 1;
17472
+ const prevPoint = points[prevPointIndex];
17473
+ const nextPointIndex = i === points.length - 1 ? 1 : i + 1;
17474
+ const nextPoint = points[nextPointIndex];
17475
+ const middleOfLine = [(x + nextPoint[0]) / 2, (y + nextPoint[1]) / 2];
17476
+ const prevPointMiddleOfLine = [
17477
+ (x + prevPoint[0]) / 2,
17478
+ (y + prevPoint[1]) / 2
17479
+ ];
17480
+ const prevVector = [x - prevPoint[0], y - prevPoint[1]];
17481
+ const nextVector = [nextPoint[0] - x, nextPoint[1] - y];
17482
+ if (i === 0) {
17483
+ if (edgeRoundness !== null) {
17484
+ return [
17485
+ {
17486
+ type: "M",
17487
+ x: middleOfLine[0],
17488
+ y: middleOfLine[1]
17489
+ }
17490
+ ];
17491
+ }
17492
+ if (cornerRadius !== 0) {
17493
+ const computeRadius = shortenVector(nextVector, cornerRadius);
17494
+ return [
17495
+ {
17496
+ type: "M",
17497
+ x: computeRadius[0] + x,
17498
+ y: computeRadius[1] + y
17499
+ }
17500
+ ];
17501
+ }
17502
+ return [
17503
+ {
17504
+ type: "M",
17505
+ x,
17506
+ y
17507
+ }
17508
+ ];
17509
+ }
17510
+ if (cornerRadius && edgeRoundness !== null) {
17511
+ throw new Error(`"cornerRadius" and "edgeRoundness" cannot be specified at the same time.`);
17512
+ }
17513
+ if (edgeRoundness === null) {
17514
+ if (cornerRadius === 0) {
17515
+ return [
17516
+ {
17517
+ type: "L",
17518
+ x,
17519
+ y
17520
+ }
17521
+ ];
17522
+ }
17523
+ const prevVectorMinusRadius = shortenVector(prevVector, cornerRadius);
17524
+ const prevVectorLength = scaleVectorToLength(prevVector, cornerRadius);
17525
+ const nextVectorMinusRadius = scaleVectorToLength(nextVector, cornerRadius);
17526
+ const firstDraw = [
17527
+ prevPoint[0] + prevVectorMinusRadius[0],
17528
+ prevPoint[1] + prevVectorMinusRadius[1]
17529
+ ];
17530
+ return [
17531
+ {
17532
+ type: "L",
17533
+ x: firstDraw[0],
17534
+ y: firstDraw[1]
17535
+ },
17536
+ roundCornerStrategy === "arc" ? {
17537
+ type: "a",
17538
+ rx: cornerRadius,
17539
+ ry: cornerRadius,
17540
+ xAxisRotation: 0,
17541
+ dx: prevVectorLength[0] + nextVectorMinusRadius[0],
17542
+ dy: prevVectorLength[1] + nextVectorMinusRadius[1],
17543
+ largeArcFlag: false,
17544
+ sweepFlag: true
17545
+ } : {
17546
+ type: "C",
17547
+ x: firstDraw[0] + prevVectorLength[0] + nextVectorMinusRadius[0],
17548
+ y: firstDraw[1] + prevVectorLength[1] + nextVectorMinusRadius[1],
17549
+ cp1x: x,
17550
+ cp1y: y,
17551
+ cp2x: x,
17552
+ cp2y: y
17553
+ }
17554
+ ];
17555
+ }
17556
+ const controlPoint1 = [
17557
+ prevPointMiddleOfLine[0] + prevVector[0] * edgeRoundness * 0.5,
17558
+ prevPointMiddleOfLine[1] + prevVector[1] * edgeRoundness * 0.5
17559
+ ];
17560
+ const controlPoint2 = [
17561
+ middleOfLine[0] - nextVector[0] * edgeRoundness * 0.5,
17562
+ middleOfLine[1] - nextVector[1] * edgeRoundness * 0.5
17563
+ ];
17564
+ return [
17565
+ {
17566
+ type: "C",
17567
+ cp1x: controlPoint1[0],
17568
+ cp1y: controlPoint1[1],
17569
+ cp2x: controlPoint2[0],
17570
+ cp2y: controlPoint2[1],
17571
+ x: middleOfLine[0],
17572
+ y: middleOfLine[1]
17573
+ }
17574
+ ];
17575
+ }).flat(1);
17576
+ };
17577
+ var ensurePositive = (name, value) => {
17578
+ if (typeof value !== "number" || value <= 0) {
17579
+ throw new Error(`"${name}" must be a positive number, got ${value}`);
17580
+ }
17581
+ };
17582
+ var pointerInterval = ({
17583
+ availableLength,
17584
+ pointerBaseWidth,
17585
+ pointerPosition
17586
+ }) => {
17587
+ const center = availableLength * pointerPosition;
17588
+ const half = pointerBaseWidth / 2;
17589
+ return {
17590
+ center,
17591
+ start: Math.max(0, center - half),
17592
+ end: Math.min(availableLength, center + half)
17593
+ };
17594
+ };
17595
+ var areSamePoint = (a2, b2) => {
17596
+ return a2[0] === b2[0] && a2[1] === b2[1];
17597
+ };
17598
+ var normalizeClosedPoints = (points) => {
17599
+ const deduplicated = points.reduce((acc, entry) => {
17600
+ const previous = acc[acc.length - 1];
17601
+ if (previous && areSamePoint(previous.point, entry.point)) {
17602
+ acc[acc.length - 1] = {
17603
+ point: previous.point,
17604
+ round: previous.round && entry.round
17605
+ };
17606
+ return acc;
17607
+ }
17608
+ return [...acc, entry];
17609
+ }, []);
17610
+ if (deduplicated.length === 0) {
17611
+ return deduplicated;
17612
+ }
17613
+ const first = deduplicated[0];
17614
+ const last = deduplicated[deduplicated.length - 1];
17615
+ if (areSamePoint(first.point, last.point)) {
17616
+ const [firstEntry, ...rest] = deduplicated;
17617
+ const withoutLast = rest.slice(0, -1);
17618
+ const mergedFirst = {
17619
+ point: firstEntry.point,
17620
+ round: firstEntry.round && last.round
17621
+ };
17622
+ return [mergedFirst, ...withoutLast, mergedFirst];
17623
+ }
17624
+ return [...deduplicated, first];
17625
+ };
17626
+ var unitDir2 = (from, to) => {
17627
+ const dx = to[0] - from[0];
17628
+ const dy = to[1] - from[1];
17629
+ const len = Math.sqrt(dx * dx + dy * dy);
17630
+ if (len === 0) {
17631
+ return [0, 0];
17632
+ }
17633
+ return [dx / len, dy / len];
17634
+ };
17635
+ var makeInstructions2 = ({
17636
+ points,
17637
+ edgeRoundness,
17638
+ cornerRadius
17639
+ }) => {
17640
+ const rawPoints = points.map((p) => p.point);
17641
+ if (edgeRoundness !== null || cornerRadius === 0) {
17642
+ return [
17643
+ ...joinPoints(rawPoints, {
17644
+ edgeRoundness,
17645
+ cornerRadius,
17646
+ roundCornerStrategy: "arc"
17647
+ }),
17648
+ {
17649
+ type: "Z"
17650
+ }
17651
+ ];
17652
+ }
17653
+ const uniquePoints = areSamePoint(points[0].point, points[points.length - 1].point) ? points.slice(0, -1) : points;
17654
+ const firstPoint = uniquePoints[0];
17655
+ const startDir = firstPoint.round ? unitDir2(uniquePoints[0].point, uniquePoints[1].point) : null;
17656
+ const startPoint = startDir ? [
17657
+ firstPoint.point[0] + startDir[0] * cornerRadius,
17658
+ firstPoint.point[1] + startDir[1] * cornerRadius
17659
+ ] : firstPoint.point;
17660
+ const instructions = [
17661
+ { type: "M", x: startPoint[0], y: startPoint[1] }
17662
+ ];
17663
+ for (let i = 1;i < uniquePoints.length; i++) {
17664
+ const current = uniquePoints[i];
17665
+ if (!current.round) {
17666
+ instructions.push({
17667
+ type: "L",
17668
+ x: current.point[0],
17669
+ y: current.point[1]
17670
+ });
17671
+ continue;
17672
+ }
17673
+ const previous = uniquePoints[i - 1].point;
17674
+ const next = uniquePoints[(i + 1) % uniquePoints.length].point;
17675
+ const incoming = unitDir2(previous, current.point);
17676
+ const outgoing = unitDir2(current.point, next);
17677
+ const arcStart = [
17678
+ current.point[0] - incoming[0] * cornerRadius,
17679
+ current.point[1] - incoming[1] * cornerRadius
17680
+ ];
17681
+ instructions.push({
17682
+ type: "L",
17683
+ x: arcStart[0],
17684
+ y: arcStart[1]
17685
+ }, {
17686
+ type: "a",
17687
+ rx: cornerRadius,
17688
+ ry: cornerRadius,
17689
+ xAxisRotation: 0,
17690
+ dx: incoming[0] * cornerRadius + outgoing[0] * cornerRadius,
17691
+ dy: incoming[1] * cornerRadius + outgoing[1] * cornerRadius,
17692
+ largeArcFlag: false,
17693
+ sweepFlag: true
17694
+ });
17695
+ }
17696
+ if (firstPoint.round) {
17697
+ const previous = uniquePoints[uniquePoints.length - 1].point;
17698
+ const incoming = unitDir2(previous, firstPoint.point);
17699
+ instructions.push({
17700
+ type: "L",
17701
+ x: firstPoint.point[0] - incoming[0] * cornerRadius,
17702
+ y: firstPoint.point[1] - incoming[1] * cornerRadius
17703
+ }, {
17704
+ type: "a",
17705
+ rx: cornerRadius,
17706
+ ry: cornerRadius,
17707
+ xAxisRotation: 0,
17708
+ dx: incoming[0] * cornerRadius + startDir[0] * cornerRadius,
17709
+ dy: incoming[1] * cornerRadius + startDir[1] * cornerRadius,
17710
+ largeArcFlag: false,
17711
+ sweepFlag: true
17712
+ });
17713
+ }
17714
+ instructions.push({ type: "Z" });
17715
+ return instructions;
17716
+ };
17717
+ var makeCallout = ({
17718
+ width = 500,
17719
+ height = 200,
17720
+ pointerLength = 40,
17721
+ pointerBaseWidth = 60,
17722
+ pointerPosition = 0.5,
17723
+ pointerDirection = "down",
17724
+ edgeRoundness = null,
17725
+ cornerRadius = 0
17726
+ }) => {
17727
+ ensurePositive("width", width);
17728
+ ensurePositive("height", height);
17729
+ ensurePositive("pointerLength", pointerLength);
17730
+ ensurePositive("pointerBaseWidth", pointerBaseWidth);
17731
+ if (typeof pointerPosition !== "number" || pointerPosition < 0 || pointerPosition > 1) {
17732
+ throw new Error(`"pointerPosition" must be a number between 0 and 1, got ${pointerPosition}`);
17733
+ }
17734
+ const horizontalInterval = pointerInterval({
17735
+ availableLength: width,
17736
+ pointerBaseWidth,
17737
+ pointerPosition
17738
+ });
17739
+ const verticalInterval = pointerInterval({
17740
+ availableLength: height,
17741
+ pointerBaseWidth,
17742
+ pointerPosition
17743
+ });
17744
+ const pointsByDirection = {
17745
+ up: [
17746
+ { point: [0, pointerLength], round: true },
17747
+ { point: [horizontalInterval.start, pointerLength], round: false },
17748
+ { point: [horizontalInterval.center, 0], round: false },
17749
+ { point: [horizontalInterval.end, pointerLength], round: false },
17750
+ { point: [width, pointerLength], round: true },
17751
+ { point: [width, height + pointerLength], round: true },
17752
+ { point: [0, height + pointerLength], round: true },
17753
+ { point: [0, pointerLength], round: true }
17754
+ ],
17755
+ down: [
17756
+ { point: [0, 0], round: true },
17757
+ { point: [width, 0], round: true },
17758
+ { point: [width, height], round: true },
17759
+ { point: [horizontalInterval.end, height], round: false },
17760
+ {
17761
+ point: [horizontalInterval.center, height + pointerLength],
17762
+ round: false
17763
+ },
17764
+ { point: [horizontalInterval.start, height], round: false },
17765
+ { point: [0, height], round: true },
17766
+ { point: [0, 0], round: true }
17767
+ ],
17768
+ left: [
17769
+ { point: [pointerLength, 0], round: true },
17770
+ { point: [width + pointerLength, 0], round: true },
17771
+ { point: [width + pointerLength, height], round: true },
17772
+ { point: [pointerLength, height], round: true },
17773
+ { point: [pointerLength, verticalInterval.end], round: false },
17774
+ { point: [0, verticalInterval.center], round: false },
17775
+ { point: [pointerLength, verticalInterval.start], round: false },
17776
+ { point: [pointerLength, 0], round: true }
17777
+ ],
17778
+ right: [
17779
+ { point: [0, 0], round: true },
17780
+ { point: [width, 0], round: true },
17781
+ { point: [width, verticalInterval.start], round: false },
17782
+ { point: [width + pointerLength, verticalInterval.center], round: false },
17783
+ { point: [width, verticalInterval.end], round: false },
17784
+ { point: [width, height], round: true },
17785
+ { point: [0, height], round: true },
17786
+ { point: [0, 0], round: true }
17787
+ ]
17788
+ };
17789
+ const points = normalizeClosedPoints(pointsByDirection[pointerDirection]);
17790
+ const instructions = makeInstructions2({ points, edgeRoundness, cornerRadius });
17791
+ const path = serializeInstructions(instructions);
17792
+ const shapeWidth = pointerDirection === "left" || pointerDirection === "right" ? width + pointerLength : width;
17793
+ const shapeHeight = pointerDirection === "up" || pointerDirection === "down" ? height + pointerLength : height;
17794
+ const bodyX = pointerDirection === "left" ? pointerLength : 0;
17795
+ const bodyY = pointerDirection === "up" ? pointerLength : 0;
17796
+ return {
17797
+ width: shapeWidth,
17798
+ height: shapeHeight,
17799
+ instructions,
17800
+ path,
17801
+ transformOrigin: `${bodyX + width / 2} ${bodyY + height / 2}`
17802
+ };
17803
+ };
17804
+ var calloutSchema = makeShapeSchema({
17805
+ width: numberField({
17806
+ defaultValue: 500,
17807
+ description: "Width",
17808
+ min: 1
17809
+ }),
17810
+ height: numberField({
17811
+ defaultValue: 200,
17812
+ description: "Height",
17813
+ min: 1
17814
+ }),
17815
+ pointerLength: numberField({
17816
+ defaultValue: 40,
17817
+ description: "Pointer Length",
17818
+ min: 1
17819
+ }),
17820
+ pointerBaseWidth: numberField({
17821
+ defaultValue: 60,
17822
+ description: "Pointer Base Width",
17823
+ min: 1
17824
+ }),
17825
+ pointerPosition: numberField({
17826
+ defaultValue: 0.5,
17827
+ description: "Pointer Position",
17828
+ min: 0,
17829
+ max: 1,
17830
+ step: 0.01
17831
+ }),
17832
+ pointerDirection: enumField({
17833
+ defaultValue: "down",
17834
+ description: "Pointer Direction",
17835
+ variants: ["up", "down", "left", "right"]
17836
+ }),
17837
+ cornerRadius: numberField({
17838
+ defaultValue: 0,
17839
+ description: "Corner Radius",
17840
+ min: 0
17841
+ })
17842
+ });
17843
+ var CalloutInner = ({
17844
+ width,
17845
+ height,
17846
+ pointerLength,
17847
+ pointerBaseWidth,
17848
+ pointerPosition,
17849
+ pointerDirection,
17850
+ edgeRoundness,
17851
+ cornerRadius,
17852
+ ...props
17853
+ }) => {
17854
+ return /* @__PURE__ */ jsx310(RenderSvg, {
17855
+ defaultName: "<Callout>",
17856
+ documentationLink: "https://www.remotion.dev/docs/shapes/callout",
17857
+ ...makeCallout({
17858
+ width,
17859
+ height,
17860
+ pointerLength,
17861
+ pointerBaseWidth,
17862
+ pointerPosition,
17863
+ pointerDirection,
17864
+ edgeRoundness,
17865
+ cornerRadius
17866
+ }),
17867
+ ...props
17868
+ });
17869
+ };
17870
+ var Callout = Internals.wrapInSchema({
17871
+ Component: CalloutInner,
17872
+ componentIdentity: "dev.remotion.shapes.Callout",
17873
+ schema: calloutSchema,
17874
+ supportsEffects: true
17875
+ });
17876
+ Internals.addSequenceStackTraces(Callout);
17370
17877
  var makeCircle = ({ radius }) => {
17371
17878
  const instructions = [
17372
17879
  {
@@ -17415,7 +17922,7 @@ var circleSchema = makeShapeSchema({
17415
17922
  })
17416
17923
  });
17417
17924
  var CircleInner = ({ radius, ...props }) => {
17418
- return /* @__PURE__ */ jsx310(RenderSvg, {
17925
+ return /* @__PURE__ */ jsx45(RenderSvg, {
17419
17926
  defaultName: "<Circle>",
17420
17927
  documentationLink: "https://www.remotion.dev/docs/shapes/circle",
17421
17928
  ...makeCircle({ radius }),
@@ -17424,6 +17931,7 @@ var CircleInner = ({ radius, ...props }) => {
17424
17931
  };
17425
17932
  var Circle = Internals.wrapInSchema({
17426
17933
  Component: CircleInner,
17934
+ componentIdentity: "dev.remotion.shapes.Circle",
17427
17935
  schema: circleSchema,
17428
17936
  supportsEffects: true
17429
17937
  });
@@ -17471,7 +17979,7 @@ var ellipseSchema = makeShapeSchema({
17471
17979
  })
17472
17980
  });
17473
17981
  var EllipseInner = ({ rx, ry, ...props }) => {
17474
- return /* @__PURE__ */ jsx45(RenderSvg, {
17982
+ return /* @__PURE__ */ jsx52(RenderSvg, {
17475
17983
  defaultName: "<Ellipse>",
17476
17984
  documentationLink: "https://www.remotion.dev/docs/shapes/ellipse",
17477
17985
  ...makeEllipse({ rx, ry }),
@@ -17480,6 +17988,7 @@ var EllipseInner = ({ rx, ry, ...props }) => {
17480
17988
  };
17481
17989
  var Ellipse = Internals.wrapInSchema({
17482
17990
  Component: EllipseInner,
17991
+ componentIdentity: "dev.remotion.shapes.Ellipse",
17483
17992
  schema: ellipseSchema,
17484
17993
  supportsEffects: true
17485
17994
  });
@@ -17603,7 +18112,7 @@ var HeartInner = ({
17603
18112
  depthAdjustment = 0,
17604
18113
  ...props
17605
18114
  }) => {
17606
- return /* @__PURE__ */ jsx52(RenderSvg, {
18115
+ return /* @__PURE__ */ jsx62(RenderSvg, {
17607
18116
  defaultName: "<Heart>",
17608
18117
  documentationLink: "https://www.remotion.dev/docs/shapes/heart",
17609
18118
  ...makeHeart({
@@ -17617,6 +18126,7 @@ var HeartInner = ({
17617
18126
  };
17618
18127
  var Heart = Internals.wrapInSchema({
17619
18128
  Component: HeartInner,
18129
+ componentIdentity: "dev.remotion.shapes.Heart",
17620
18130
  schema: heartSchema,
17621
18131
  supportsEffects: true
17622
18132
  });
@@ -17761,7 +18271,7 @@ var PieInner = ({
17761
18271
  rotation,
17762
18272
  ...props
17763
18273
  }) => {
17764
- return /* @__PURE__ */ jsx62(RenderSvg, {
18274
+ return /* @__PURE__ */ jsx72(RenderSvg, {
17765
18275
  defaultName: "<Pie>",
17766
18276
  documentationLink: "https://www.remotion.dev/docs/shapes/pie",
17767
18277
  ...makePie({ radius, progress, closePath, counterClockwise, rotation }),
@@ -17770,134 +18280,11 @@ var PieInner = ({
17770
18280
  };
17771
18281
  var Pie = Internals.wrapInSchema({
17772
18282
  Component: PieInner,
18283
+ componentIdentity: "dev.remotion.shapes.Pie",
17773
18284
  schema: pieSchema,
17774
18285
  supportsEffects: true
17775
18286
  });
17776
18287
  Internals.addSequenceStackTraces(Pie);
17777
- var shortenVector = (vector, radius) => {
17778
- const [x, y] = vector;
17779
- const currentLength = Math.sqrt(x * x + y * y);
17780
- const scalingFactor = (currentLength - radius) / currentLength;
17781
- return [x * scalingFactor, y * scalingFactor];
17782
- };
17783
- var scaleVectorToLength = (vector, length2) => {
17784
- const [x, y] = vector;
17785
- const currentLength = Math.sqrt(x * x + y * y);
17786
- const scalingFactor = length2 / currentLength;
17787
- return [x * scalingFactor, y * scalingFactor];
17788
- };
17789
- var joinPoints = (points, {
17790
- edgeRoundness,
17791
- cornerRadius,
17792
- roundCornerStrategy
17793
- }) => {
17794
- return points.map(([x, y], i) => {
17795
- const prevPointIndex = i === 0 ? points.length - 2 : i - 1;
17796
- const prevPoint = points[prevPointIndex];
17797
- const nextPointIndex = i === points.length - 1 ? 1 : i + 1;
17798
- const nextPoint = points[nextPointIndex];
17799
- const middleOfLine = [(x + nextPoint[0]) / 2, (y + nextPoint[1]) / 2];
17800
- const prevPointMiddleOfLine = [
17801
- (x + prevPoint[0]) / 2,
17802
- (y + prevPoint[1]) / 2
17803
- ];
17804
- const prevVector = [x - prevPoint[0], y - prevPoint[1]];
17805
- const nextVector = [nextPoint[0] - x, nextPoint[1] - y];
17806
- if (i === 0) {
17807
- if (edgeRoundness !== null) {
17808
- return [
17809
- {
17810
- type: "M",
17811
- x: middleOfLine[0],
17812
- y: middleOfLine[1]
17813
- }
17814
- ];
17815
- }
17816
- if (cornerRadius !== 0) {
17817
- const computeRadius = shortenVector(nextVector, cornerRadius);
17818
- return [
17819
- {
17820
- type: "M",
17821
- x: computeRadius[0] + x,
17822
- y: computeRadius[1] + y
17823
- }
17824
- ];
17825
- }
17826
- return [
17827
- {
17828
- type: "M",
17829
- x,
17830
- y
17831
- }
17832
- ];
17833
- }
17834
- if (cornerRadius && edgeRoundness !== null) {
17835
- throw new Error(`"cornerRadius" and "edgeRoundness" cannot be specified at the same time.`);
17836
- }
17837
- if (edgeRoundness === null) {
17838
- if (cornerRadius === 0) {
17839
- return [
17840
- {
17841
- type: "L",
17842
- x,
17843
- y
17844
- }
17845
- ];
17846
- }
17847
- const prevVectorMinusRadius = shortenVector(prevVector, cornerRadius);
17848
- const prevVectorLength = scaleVectorToLength(prevVector, cornerRadius);
17849
- const nextVectorMinusRadius = scaleVectorToLength(nextVector, cornerRadius);
17850
- const firstDraw = [
17851
- prevPoint[0] + prevVectorMinusRadius[0],
17852
- prevPoint[1] + prevVectorMinusRadius[1]
17853
- ];
17854
- return [
17855
- {
17856
- type: "L",
17857
- x: firstDraw[0],
17858
- y: firstDraw[1]
17859
- },
17860
- roundCornerStrategy === "arc" ? {
17861
- type: "a",
17862
- rx: cornerRadius,
17863
- ry: cornerRadius,
17864
- xAxisRotation: 0,
17865
- dx: prevVectorLength[0] + nextVectorMinusRadius[0],
17866
- dy: prevVectorLength[1] + nextVectorMinusRadius[1],
17867
- largeArcFlag: false,
17868
- sweepFlag: true
17869
- } : {
17870
- type: "C",
17871
- x: firstDraw[0] + prevVectorLength[0] + nextVectorMinusRadius[0],
17872
- y: firstDraw[1] + prevVectorLength[1] + nextVectorMinusRadius[1],
17873
- cp1x: x,
17874
- cp1y: y,
17875
- cp2x: x,
17876
- cp2y: y
17877
- }
17878
- ];
17879
- }
17880
- const controlPoint1 = [
17881
- prevPointMiddleOfLine[0] + prevVector[0] * edgeRoundness * 0.5,
17882
- prevPointMiddleOfLine[1] + prevVector[1] * edgeRoundness * 0.5
17883
- ];
17884
- const controlPoint2 = [
17885
- middleOfLine[0] - nextVector[0] * edgeRoundness * 0.5,
17886
- middleOfLine[1] - nextVector[1] * edgeRoundness * 0.5
17887
- ];
17888
- return [
17889
- {
17890
- type: "C",
17891
- cp1x: controlPoint1[0],
17892
- cp1y: controlPoint1[1],
17893
- cp2x: controlPoint2[0],
17894
- cp2y: controlPoint2[1],
17895
- x: middleOfLine[0],
17896
- y: middleOfLine[1]
17897
- }
17898
- ];
17899
- }).flat(1);
17900
- };
17901
18288
  function polygon({
17902
18289
  points,
17903
18290
  radius,
@@ -17978,7 +18365,7 @@ var PolygonInner = ({
17978
18365
  edgeRoundness,
17979
18366
  ...props
17980
18367
  }) => {
17981
- return /* @__PURE__ */ jsx72(RenderSvg, {
18368
+ return /* @__PURE__ */ jsx82(RenderSvg, {
17982
18369
  defaultName: "<Polygon>",
17983
18370
  documentationLink: "https://www.remotion.dev/docs/shapes/polygon",
17984
18371
  ...makePolygon({
@@ -17992,6 +18379,7 @@ var PolygonInner = ({
17992
18379
  };
17993
18380
  var Polygon = Internals.wrapInSchema({
17994
18381
  Component: PolygonInner,
18382
+ componentIdentity: "dev.remotion.shapes.Polygon",
17995
18383
  schema: polygonSchema,
17996
18384
  supportsEffects: true
17997
18385
  });
@@ -18048,7 +18436,7 @@ var RectInner = ({
18048
18436
  cornerRadius,
18049
18437
  ...props
18050
18438
  }) => {
18051
- return /* @__PURE__ */ jsx82(RenderSvg, {
18439
+ return /* @__PURE__ */ jsx92(RenderSvg, {
18052
18440
  defaultName: "<Rect>",
18053
18441
  documentationLink: "https://www.remotion.dev/docs/shapes/rect",
18054
18442
  ...makeRect({ height, width, edgeRoundness, cornerRadius }),
@@ -18057,6 +18445,7 @@ var RectInner = ({
18057
18445
  };
18058
18446
  var Rect = Internals.wrapInSchema({
18059
18447
  Component: RectInner,
18448
+ componentIdentity: "dev.remotion.shapes.Rect",
18060
18449
  schema: rectSchema,
18061
18450
  supportsEffects: true
18062
18451
  });
@@ -18151,7 +18540,7 @@ var StarInner = ({
18151
18540
  edgeRoundness,
18152
18541
  ...props
18153
18542
  }) => {
18154
- return /* @__PURE__ */ jsx92(RenderSvg, {
18543
+ return /* @__PURE__ */ jsx102(RenderSvg, {
18155
18544
  defaultName: "<Star>",
18156
18545
  documentationLink: "https://www.remotion.dev/docs/shapes/star",
18157
18546
  ...makeStar({
@@ -18166,6 +18555,7 @@ var StarInner = ({
18166
18555
  };
18167
18556
  var Star = Internals.wrapInSchema({
18168
18557
  Component: StarInner,
18558
+ componentIdentity: "dev.remotion.shapes.Star",
18169
18559
  schema: starSchema,
18170
18560
  supportsEffects: true
18171
18561
  });
@@ -18262,7 +18652,7 @@ var TriangleInner = ({
18262
18652
  cornerRadius,
18263
18653
  ...props
18264
18654
  }) => {
18265
- return /* @__PURE__ */ jsx102(RenderSvg, {
18655
+ return /* @__PURE__ */ jsx112(RenderSvg, {
18266
18656
  defaultName: "<Triangle>",
18267
18657
  documentationLink: "https://www.remotion.dev/docs/shapes/triangle",
18268
18658
  ...makeTriangle({ length: length2, direction, edgeRoundness, cornerRadius }),
@@ -18271,6 +18661,7 @@ var TriangleInner = ({
18271
18661
  };
18272
18662
  var Triangle = Internals.wrapInSchema({
18273
18663
  Component: TriangleInner,
18664
+ componentIdentity: "dev.remotion.shapes.Triangle",
18274
18665
  schema: triangleSchema,
18275
18666
  supportsEffects: true
18276
18667
  });
@@ -19351,7 +19742,7 @@ import { jsx as jsx83, jsxs as jsxs32 } from "react/jsx-runtime";
19351
19742
  import { jsx as jsx93 } from "react/jsx-runtime";
19352
19743
  import React72 from "react";
19353
19744
  import { jsx as jsx103 } from "react/jsx-runtime";
19354
- import { jsx as jsx112 } from "react/jsx-runtime";
19745
+ import { jsx as jsx113 } from "react/jsx-runtime";
19355
19746
  import { jsx as jsx122 } from "react/jsx-runtime";
19356
19747
  import * as React36 from "react";
19357
19748
  import * as ReactDOM4 from "react-dom";
@@ -19911,7 +20302,7 @@ var Button = ({
19911
20302
  const [dimensions, setDimensions] = useState22(null);
19912
20303
  const ref = useRef210(null);
19913
20304
  const { isActive, progress } = useHoverTransforms(ref, Boolean(disabled || loading));
19914
- const onPointerEnter = useCallback26((e) => {
20305
+ const onPointerEnter = useCallback27((e) => {
19915
20306
  if (e.pointerType !== "mouse") {
19916
20307
  return;
19917
20308
  }
@@ -19948,7 +20339,7 @@ var Button = ({
19948
20339
  const isDisabled = disabled || loading;
19949
20340
  const isAnchor = !asChild && "href" in rest && rest.href !== undefined;
19950
20341
  const sharedClasses = cn("text-text", "inline-flex", "justify-center", "bg-button-bg", "items-center", "font-brand", "border-solid", "text-[1em]", "rounded-lg", "border-black", "border-2", "border-b-4", "cursor-pointer", "px-4", "h-12", "flex-row", "items-center", "relative", "overflow-hidden", isDisabled && "cursor-default opacity-50", className);
19951
- const preventInteraction = useCallback26((e) => {
20342
+ const preventInteraction = useCallback27((e) => {
19952
20343
  e.preventDefault();
19953
20344
  e.stopPropagation();
19954
20345
  }, []);
@@ -20159,7 +20550,7 @@ var Link = ({
20159
20550
  className,
20160
20551
  ...props
20161
20552
  }) => {
20162
- return /* @__PURE__ */ jsx112("a", {
20553
+ return /* @__PURE__ */ jsx113("a", {
20163
20554
  ...props,
20164
20555
  className: cn(className, "text-brand underline underline-offset-4"),
20165
20556
  children: props.children
@@ -26042,7 +26433,7 @@ var Triangle22 = (props) => {
26042
26433
  };
26043
26434
 
26044
26435
  // src/components/homepage/FreePricing.tsx
26045
- import React53, { useCallback as useCallback37, useMemo as useMemo52 } from "react";
26436
+ import React53, { useCallback as useCallback38, useMemo as useMemo52 } from "react";
26046
26437
 
26047
26438
  // ../../node_modules/.bun/tailwind-merge@2.5.2/node_modules/tailwind-merge/dist/bundle-mjs.mjs
26048
26439
  var CLASS_PART_SEPARATOR2 = "-";
@@ -27689,7 +28080,7 @@ var CompanyPricing = () => {
27689
28080
  const [automatorsSelected, setAutomatorsSelected] = React53.useState(true);
27690
28081
  const [devSeatCount, setDevSeatCount] = React53.useState(3);
27691
28082
  const [cloudRenders, setCloudRenders] = React53.useState(1e4);
27692
- const formatPrice = useCallback37((price) => {
28083
+ const formatPrice = useCallback38((price) => {
27693
28084
  const formatter = new Intl.NumberFormat("en-US", {
27694
28085
  style: "currency",
27695
28086
  currency: "USD",
@@ -28460,7 +28851,7 @@ var InstallsPerMonth = () => {
28460
28851
  },
28461
28852
  children: [
28462
28853
  /* @__PURE__ */ jsx57(StatItemContent, {
28463
- content: "3M",
28854
+ content: "3M+",
28464
28855
  width: "100px",
28465
28856
  fontSize: "2.5rem",
28466
28857
  fontWeight: "bold"
@@ -28512,7 +28903,7 @@ var PagesOfDocs = () => {
28512
28903
  width: "40px"
28513
28904
  }),
28514
28905
  /* @__PURE__ */ jsx57(StatItemContent, {
28515
- content: "800",
28906
+ content: "900",
28516
28907
  width: "85px",
28517
28908
  maxWidth: "100px",
28518
28909
  fontSize: "2.5rem",
@@ -28568,7 +28959,7 @@ var GitHubStars = () => {
28568
28959
  width: "45px"
28569
28960
  }),
28570
28961
  /* @__PURE__ */ jsx57(StatItemContent, {
28571
- content: "49k",
28962
+ content: "50K",
28572
28963
  width: "80px",
28573
28964
  fontSize: "2.5rem",
28574
28965
  fontWeight: "bold"
@@ -28604,7 +28995,7 @@ var DiscordMembers = () => {
28604
28995
  },
28605
28996
  children: [
28606
28997
  /* @__PURE__ */ jsx57(StatItemContent, {
28607
- content: "8000+",
28998
+ content: "10K+",
28608
28999
  width: "142px",
28609
29000
  fontSize: "2.5rem",
28610
29001
  fontWeight: "bold"
@@ -28754,7 +29145,7 @@ import { useEffect as useEffect210, useState as useState210 } from "react";
28754
29145
  import { useLayoutEffect as useLayoutEffect23 } from "react";
28755
29146
  import { useContext as useContext47, useEffect as useEffect52, useRef as useRef47 } from "react";
28756
29147
  import { useEffect as useEffect310, useRef as useRef212 } from "react";
28757
- import { useCallback as useCallback38, useContext as useContext310, useMemo as useMemo53, useRef as useRef48, useState as useState39 } from "react";
29148
+ import { useCallback as useCallback39, useContext as useContext310, useMemo as useMemo53, useRef as useRef48, useState as useState39 } from "react";
28758
29149
  import { useEffect as useEffect43, useRef as useRef310 } from "react";
28759
29150
  import { useCallback as useCallback210, useEffect as useEffect62, useMemo as useMemo212, useState as useState42 } from "react";
28760
29151
  import {
@@ -28784,7 +29175,7 @@ import { jsx as jsx55 } from "react/jsx-runtime";
28784
29175
  import { useCallback as useCallback72, useEffect as useEffect112, useMemo as useMemo92, useRef as useRef82, useState as useState102 } from "react";
28785
29176
  import { jsx as jsx64 } from "react/jsx-runtime";
28786
29177
  import { useCallback as useCallback42, useMemo as useMemo410, useRef as useRef52, useState as useState62 } from "react";
28787
- import React54, { useCallback as useCallback39, useMemo as useMemo310, useState as useState52 } from "react";
29178
+ import React54, { useCallback as useCallback310, useMemo as useMemo310, useState as useState52 } from "react";
28788
29179
  import { jsx as jsx74, jsxs as jsxs33 } from "react/jsx-runtime";
28789
29180
  import { jsx as jsx84, jsxs as jsxs43 } from "react/jsx-runtime";
28790
29181
  import { useCallback as useCallback52, useEffect as useEffect92, useMemo as useMemo54, useState as useState82 } from "react";
@@ -28795,7 +29186,7 @@ import { jsx as jsx104, jsxs as jsxs62 } from "react/jsx-runtime";
28795
29186
  import { useMemo as useMemo72 } from "react";
28796
29187
  import { jsxs as jsxs72 } from "react/jsx-runtime";
28797
29188
  import { useMemo as useMemo82 } from "react";
28798
- import { jsx as jsx113, jsxs as jsxs82, Fragment as Fragment23 } from "react/jsx-runtime";
29189
+ import { jsx as jsx114, jsxs as jsxs82, Fragment as Fragment23 } from "react/jsx-runtime";
28799
29190
  import { useCallback as useCallback92, useMemo as useMemo112 } from "react";
28800
29191
  import { useCallback as useCallback82, useMemo as useMemo102, useRef as useRef92 } from "react";
28801
29192
  import { jsx as jsx123, jsxs as jsxs92, Fragment as Fragment32 } from "react/jsx-runtime";
@@ -29986,10 +30377,17 @@ var fromField2 = {
29986
30377
  step: 1,
29987
30378
  hiddenFromList: true
29988
30379
  };
30380
+ var freezeField2 = {
30381
+ type: "number",
30382
+ default: null,
30383
+ step: 1,
30384
+ hiddenFromList: true
30385
+ };
29989
30386
  var sequenceSchema2 = extendSchemaWithSequenceName2({
29990
30387
  hidden: hiddenField2,
29991
30388
  showInTimeline: showInTimelineField2,
29992
30389
  from: fromField2,
30390
+ freeze: freezeField2,
29993
30391
  durationInFrames: durationInFramesField2,
29994
30392
  layout: {
29995
30393
  type: "enum",
@@ -30004,6 +30402,7 @@ var sequenceSchema2 = extendSchemaWithSequenceName2({
30004
30402
  var sequenceSchemaWithoutFrom2 = extendSchemaWithSequenceName2({
30005
30403
  hidden: hiddenField2,
30006
30404
  showInTimeline: showInTimelineField2,
30405
+ freeze: freezeField2,
30007
30406
  durationInFrames: durationInFramesField2,
30008
30407
  layout: sequenceSchema2.layout
30009
30408
  });
@@ -30754,7 +31153,7 @@ var usePlayer = () => {
30754
31153
  throw new Error("Missing the buffering context. Most likely you have a Remotion version mismatch.");
30755
31154
  }
30756
31155
  const { buffering } = bufferingContext;
30757
- const seek2 = useCallback38((newFrame) => {
31156
+ const seek2 = useCallback39((newFrame) => {
30758
31157
  const frameToSeekTo = config ? Internals.TimelinePosition.clampFrameToCompositionRange(newFrame, config.durationInFrames) : Math.max(0, newFrame);
30759
31158
  if (video?.id) {
30760
31159
  setTimelinePosition((c2) => ({ ...c2, [video.id]: frameToSeekTo }));
@@ -30762,7 +31161,7 @@ var usePlayer = () => {
30762
31161
  frameRef.current = frameToSeekTo;
30763
31162
  emitter.dispatchSeek(frameToSeekTo);
30764
31163
  }, [config, emitter, setTimelinePosition, video?.id]);
30765
- const play = useCallback38((e) => {
31164
+ const play = useCallback39((e) => {
30766
31165
  if (imperativePlaying.current) {
30767
31166
  return;
30768
31167
  }
@@ -30789,7 +31188,7 @@ var usePlayer = () => {
30789
31188
  seek2,
30790
31189
  audioAndVideoTags
30791
31190
  ]);
30792
- const pause = useCallback38(() => {
31191
+ const pause = useCallback39(() => {
30793
31192
  if (imperativePlaying.current) {
30794
31193
  imperativePlaying.current = false;
30795
31194
  setPlaying(false);
@@ -30797,7 +31196,7 @@ var usePlayer = () => {
30797
31196
  audioContext?.suspend();
30798
31197
  }
30799
31198
  }, [emitter, imperativePlaying, setPlaying, audioContext]);
30800
- const pauseAndReturnToPlayStart = useCallback38(() => {
31199
+ const pauseAndReturnToPlayStart = useCallback39(() => {
30801
31200
  if (imperativePlaying.current) {
30802
31201
  imperativePlaying.current = false;
30803
31202
  frameRef.current = playStart.current;
@@ -30812,7 +31211,7 @@ var usePlayer = () => {
30812
31211
  }
30813
31212
  }, [config, emitter, imperativePlaying, setPlaying, setTimelinePosition]);
30814
31213
  const videoId = video?.id;
30815
- const frameBack = useCallback38((frames) => {
31214
+ const frameBack = useCallback39((frames) => {
30816
31215
  if (!videoId) {
30817
31216
  return null;
30818
31217
  }
@@ -30831,7 +31230,7 @@ var usePlayer = () => {
30831
31230
  };
30832
31231
  });
30833
31232
  }, [imperativePlaying, setFrame, videoId]);
30834
- const frameForward = useCallback38((frames) => {
31233
+ const frameForward = useCallback39((frames) => {
30835
31234
  if (!videoId) {
30836
31235
  return null;
30837
31236
  }
@@ -30850,20 +31249,20 @@ var usePlayer = () => {
30850
31249
  };
30851
31250
  });
30852
31251
  }, [videoId, imperativePlaying, lastFrame, setFrame]);
30853
- const toggle = useCallback38((e) => {
31252
+ const toggle = useCallback39((e) => {
30854
31253
  if (imperativePlaying.current) {
30855
31254
  pause();
30856
31255
  } else {
30857
31256
  play(e);
30858
31257
  }
30859
31258
  }, [imperativePlaying, pause, play]);
30860
- const isPlaying = useCallback38(() => {
31259
+ const isPlaying = useCallback39(() => {
30861
31260
  return imperativePlaying.current;
30862
31261
  }, [imperativePlaying]);
30863
- const getCurrentFrame = useCallback38(() => {
31262
+ const getCurrentFrame = useCallback39(() => {
30864
31263
  return frameRef.current;
30865
31264
  }, [frameRef]);
30866
- const isBuffering = useCallback38(() => {
31265
+ const isBuffering = useCallback39(() => {
30867
31266
  return buffering.current;
30868
31267
  }, [buffering]);
30869
31268
  const returnValue = useMemo53(() => {
@@ -31616,7 +32015,7 @@ var DefaultVolumeSlider = ({
31616
32015
  }, [isVertical]);
31617
32016
  const randomId = typeof React54.useId === "undefined" ? "volume-slider" : React54.useId();
31618
32017
  const [randomClass] = useState52(() => `__remotion-volume-slider-${random(randomId)}`.replace(".", ""));
31619
- const onVolumeChange = useCallback39((e) => {
32018
+ const onVolumeChange = useCallback310((e) => {
31620
32019
  setVolume(parseFloat(e.target.value));
31621
32020
  }, [setVolume]);
31622
32021
  const inputStyle = useMemo310(() => {
@@ -32406,82 +32805,82 @@ var Controls = ({
32406
32805
  /* @__PURE__ */ jsxs82("div", {
32407
32806
  style: leftPartStyle,
32408
32807
  children: [
32409
- /* @__PURE__ */ jsx113("button", {
32808
+ /* @__PURE__ */ jsx114("button", {
32410
32809
  ref: playButtonRef,
32411
32810
  type: "button",
32412
32811
  style: playerButtonStyle,
32413
32812
  onClick: toggle,
32414
32813
  "aria-label": playing ? "Pause video" : "Play video",
32415
32814
  title: playing ? "Pause video" : "Play video",
32416
- children: renderPlayPauseButton === null ? /* @__PURE__ */ jsx113(DefaultPlayPauseButton, {
32815
+ children: renderPlayPauseButton === null ? /* @__PURE__ */ jsx114(DefaultPlayPauseButton, {
32417
32816
  buffering,
32418
32817
  playing
32419
32818
  }) : renderPlayPauseButton({
32420
32819
  playing,
32421
32820
  isBuffering: buffering
32422
- }) ?? /* @__PURE__ */ jsx113(DefaultPlayPauseButton, {
32821
+ }) ?? /* @__PURE__ */ jsx114(DefaultPlayPauseButton, {
32423
32822
  buffering,
32424
32823
  playing
32425
32824
  })
32426
32825
  }),
32427
32826
  showVolumeControls ? /* @__PURE__ */ jsxs82(Fragment23, {
32428
32827
  children: [
32429
- /* @__PURE__ */ jsx113("div", {
32828
+ /* @__PURE__ */ jsx114("div", {
32430
32829
  style: xSpacer
32431
32830
  }),
32432
- /* @__PURE__ */ jsx113(MediaVolumeSlider, {
32831
+ /* @__PURE__ */ jsx114(MediaVolumeSlider, {
32433
32832
  renderMuteButton,
32434
32833
  renderVolumeSlider,
32435
32834
  displayVerticalVolumeSlider
32436
32835
  })
32437
32836
  ]
32438
32837
  }) : null,
32439
- /* @__PURE__ */ jsx113("div", {
32838
+ /* @__PURE__ */ jsx114("div", {
32440
32839
  style: xSpacer
32441
32840
  }),
32442
- /* @__PURE__ */ jsx113(PlayerTimeLabel, {
32841
+ /* @__PURE__ */ jsx114(PlayerTimeLabel, {
32443
32842
  durationInFrames,
32444
32843
  fps,
32445
32844
  maxTimeLabelWidth
32446
32845
  }),
32447
- /* @__PURE__ */ jsx113("div", {
32846
+ /* @__PURE__ */ jsx114("div", {
32448
32847
  style: xSpacer
32449
32848
  })
32450
32849
  ]
32451
32850
  }),
32452
- /* @__PURE__ */ jsx113("div", {
32851
+ /* @__PURE__ */ jsx114("div", {
32453
32852
  style: flex1
32454
32853
  }),
32455
32854
  customControlsElement,
32456
- customControlsElement && playbackRates && canvasSize ? /* @__PURE__ */ jsx113("div", {
32855
+ customControlsElement && playbackRates && canvasSize ? /* @__PURE__ */ jsx114("div", {
32457
32856
  style: xSpacer
32458
32857
  }) : null,
32459
- playbackRates && canvasSize && /* @__PURE__ */ jsx113(PlaybackrateControl, {
32858
+ playbackRates && canvasSize && /* @__PURE__ */ jsx114(PlaybackrateControl, {
32460
32859
  canvasSize,
32461
32860
  playbackRates
32462
32861
  }),
32463
- playbackRates && supportsFullscreen && allowFullscreen ? /* @__PURE__ */ jsx113("div", {
32862
+ playbackRates && supportsFullscreen && allowFullscreen ? /* @__PURE__ */ jsx114("div", {
32464
32863
  style: xSpacer
32465
32864
  }) : null,
32466
- /* @__PURE__ */ jsx113("div", {
32865
+ /* @__PURE__ */ jsx114("div", {
32467
32866
  style: fullscreen,
32468
- children: supportsFullscreen && allowFullscreen ? /* @__PURE__ */ jsx113("button", {
32867
+ children: supportsFullscreen && allowFullscreen ? /* @__PURE__ */ jsx114("button", {
32469
32868
  type: "button",
32470
32869
  "aria-label": isFullscreen ? "Exit fullscreen" : "Enter Fullscreen",
32471
32870
  title: isFullscreen ? "Exit fullscreen" : "Enter Fullscreen",
32472
32871
  style: playerButtonStyle,
32473
32872
  onClick: isFullscreen ? onExitFullscreenButtonClick : onFullscreenButtonClick,
32474
- children: renderFullscreenButton === null ? /* @__PURE__ */ jsx113(FullscreenIcon, {
32873
+ children: renderFullscreenButton === null ? /* @__PURE__ */ jsx114(FullscreenIcon, {
32475
32874
  isFullscreen
32476
32875
  }) : renderFullscreenButton({ isFullscreen })
32477
32876
  }) : null
32478
32877
  })
32479
32878
  ]
32480
32879
  }),
32481
- /* @__PURE__ */ jsx113("div", {
32880
+ /* @__PURE__ */ jsx114("div", {
32482
32881
  style: ySpacer
32483
32882
  }),
32484
- /* @__PURE__ */ jsx113(PlayerSeekBar, {
32883
+ /* @__PURE__ */ jsx114(PlayerSeekBar, {
32485
32884
  onSeekEnd,
32486
32885
  onSeekStart,
32487
32886
  durationInFrames,
@@ -33802,7 +34201,7 @@ var Thumbnail = forward2(ThumbnailFn);
33802
34201
 
33803
34202
  // src/components/homepage/Demo/index.tsx
33804
34203
  import {
33805
- useCallback as useCallback56,
34204
+ useCallback as useCallback55,
33806
34205
  useEffect as useEffect58,
33807
34206
  useMemo as useMemo67,
33808
34207
  useRef as useRef59,
@@ -35703,9 +36102,11 @@ var createVideoIterator = async (timeToSeek, cache2) => {
35703
36102
  };
35704
36103
  const getNextOrNullIfNotAvailable = () => {
35705
36104
  if (peekedFrame) {
36105
+ const frame = peekedFrame;
36106
+ lastReturnedFrame = frame;
35706
36107
  const retValue = {
35707
36108
  type: "got-frame-or-end",
35708
- frame: peekedFrame
36109
+ frame
35709
36110
  };
35710
36111
  peekedFrame = null;
35711
36112
  return retValue;
@@ -39049,6 +39450,9 @@ var AudioForRendering2 = ({
39049
39450
  };
39050
39451
  var { validateMediaProps: validateMediaProps2 } = Internals;
39051
39452
  var audioSchema = {
39453
+ durationInFrames: Internals.durationInFramesField,
39454
+ from: Internals.fromField,
39455
+ freeze: Internals.freezeField,
39052
39456
  volume: {
39053
39457
  type: "number",
39054
39458
  min: 0,
@@ -39078,6 +39482,7 @@ var AudioInner = (props) => {
39078
39482
  _experimentalControls: controls,
39079
39483
  from,
39080
39484
  durationInFrames,
39485
+ freeze,
39081
39486
  hidden,
39082
39487
  ...otherProps
39083
39488
  } = props;
@@ -39132,6 +39537,7 @@ var AudioInner = (props) => {
39132
39537
  layout: "none",
39133
39538
  from: from ?? 0,
39134
39539
  durationInFrames: basicInfo.duration,
39540
+ freeze,
39135
39541
  _remotionInternalStack: stack,
39136
39542
  _remotionInternalIsMedia: isMedia,
39137
39543
  name: name ?? "<Audio>",
@@ -39152,6 +39558,7 @@ var AudioInner = (props) => {
39152
39558
  };
39153
39559
  var Audio2 = Internals.wrapInSchema({
39154
39560
  Component: AudioInner,
39561
+ componentIdentity: "dev.remotion.media.Audio",
39155
39562
  schema: audioSchema,
39156
39563
  supportsEffects: false
39157
39564
  });
@@ -39918,6 +40325,9 @@ var VideoForRendering2 = ({
39918
40325
  };
39919
40326
  var { validateMediaTrimProps: validateMediaTrimProps2, resolveTrimProps: resolveTrimProps2, validateMediaProps: validateMediaProps22 } = Internals;
39920
40327
  var videoSchema = {
40328
+ durationInFrames: Internals.durationInFramesField,
40329
+ from: Internals.fromField,
40330
+ freeze: Internals.freezeField,
39921
40331
  volume: {
39922
40332
  type: "number",
39923
40333
  min: 0,
@@ -40090,6 +40500,7 @@ var VideoInner = ({
40090
40500
  effects,
40091
40501
  durationInFrames,
40092
40502
  from,
40503
+ freeze,
40093
40504
  hidden,
40094
40505
  ...props
40095
40506
  }) => {
@@ -40146,6 +40557,7 @@ var VideoInner = ({
40146
40557
  layout: "none",
40147
40558
  from: from ?? 0,
40148
40559
  durationInFrames: basicInfo.duration,
40560
+ freeze,
40149
40561
  _remotionInternalStack: stack,
40150
40562
  _remotionInternalIsMedia: isMedia,
40151
40563
  name: name ?? "<Video>",
@@ -40194,25 +40606,26 @@ var VideoInner = ({
40194
40606
  };
40195
40607
  var Video = Internals.wrapInSchema({
40196
40608
  Component: VideoInner,
40609
+ componentIdentity: "dev.remotion.media.Video",
40197
40610
  schema: videoSchema,
40198
40611
  supportsEffects: true
40199
40612
  });
40200
40613
  Internals.addSequenceStackTraces(Video);
40201
40614
 
40202
40615
  // src/components/homepage/Demo/Comp.tsx
40203
- import { useCallback as useCallback48, useEffect as useEffect50, useMemo as useMemo60, useState as useState48 } from "react";
40616
+ import { useCallback as useCallback47, useEffect as useEffect50, useMemo as useMemo60, useState as useState48 } from "react";
40204
40617
 
40205
40618
  // src/components/homepage/Demo/Cards.tsx
40206
40619
  import {
40207
40620
  createRef as createRef4,
40208
- useCallback as useCallback47,
40621
+ useCallback as useCallback46,
40209
40622
  useEffect as useEffect49,
40210
40623
  useRef as useRef56,
40211
40624
  useState as useState47
40212
40625
  } from "react";
40213
40626
 
40214
40627
  // src/components/homepage/Demo/Card.tsx
40215
- import { useCallback as useCallback45, useRef as useRef51 } from "react";
40628
+ import { useCallback as useCallback43, useRef as useRef51 } from "react";
40216
40629
 
40217
40630
  // src/components/homepage/Demo/math.ts
40218
40631
  var paddingAndMargin = 20;
@@ -40246,10 +40659,10 @@ var getIndexFromPosition = (clientX, clientY) => {
40246
40659
  };
40247
40660
 
40248
40661
  // src/components/homepage/Demo/Switcher.tsx
40249
- import { useCallback as useCallback43 } from "react";
40662
+ import { useCallback as useCallback41 } from "react";
40250
40663
  import { jsx as jsx66, jsxs as jsxs15 } from "react/jsx-runtime";
40251
40664
  var Switcher = ({ type, theme, onTap }) => {
40252
- const onPointerDown = useCallback43((e) => {
40665
+ const onPointerDown = useCallback41((e) => {
40253
40666
  e.stopPropagation();
40254
40667
  onTap();
40255
40668
  }, [onTap]);
@@ -40312,7 +40725,7 @@ var Card2 = ({
40312
40725
  const refToUse = refsToUse[index2];
40313
40726
  const stopPrevious = useRef51([]);
40314
40727
  let newIndices = [...indices];
40315
- const applyPositions = useCallback45((except) => {
40728
+ const applyPositions = useCallback43((except) => {
40316
40729
  let stopped = false;
40317
40730
  stopPrevious.current.forEach((s) => {
40318
40731
  s();
@@ -40385,7 +40798,7 @@ var Card2 = ({
40385
40798
  update();
40386
40799
  });
40387
40800
  }, [newIndices, onUpdate, positions, refsToUse, shouldBePositions]);
40388
- const onPointerDown = useCallback45((e) => {
40801
+ const onPointerDown = useCallback43((e) => {
40389
40802
  e.currentTarget.setPointerCapture(e.pointerId);
40390
40803
  const cardLeft = refToUse.current.offsetLeft;
40391
40804
  const cardTop = refToUse.current.offsetTop;
@@ -40446,7 +40859,7 @@ var Card2 = ({
40446
40859
  }, { once: true });
40447
40860
  refToUse.current.addEventListener("pointermove", onMove);
40448
40861
  }, [applyPositions, index2, positions, refToUse, shouldBePositions]);
40449
- const onPointerUp = useCallback45((e) => {
40862
+ const onPointerUp = useCallback43((e) => {
40450
40863
  e.currentTarget.releasePointerCapture(e.pointerId);
40451
40864
  }, []);
40452
40865
  const { x, y } = getPositionForIndex(index2);
@@ -40573,7 +40986,7 @@ var CurrentCountry = ({ theme, countryPaths, countryLabel }) => {
40573
40986
  // src/components/homepage/Demo/EmojiCard.tsx
40574
40987
  import {
40575
40988
  forwardRef as forwardRef38,
40576
- useCallback as useCallback46,
40989
+ useCallback as useCallback45,
40577
40990
  useEffect as useEffect48,
40578
40991
  useImperativeHandle as useImperativeHandle13,
40579
40992
  useRef as useRef55
@@ -40857,7 +41270,7 @@ var EmojiCardRefFn = ({ emojiIndex }, ref) => {
40857
41270
  const ref2 = useRef55(null);
40858
41271
  const ref3 = useRef55(null);
40859
41272
  const transforms = useRef55([-100, 0, 100]);
40860
- const onLeft = useCallback46(() => {
41273
+ const onLeft = useCallback45(() => {
40861
41274
  if (!ref1.current || !ref2.current || !ref3.current) {
40862
41275
  return;
40863
41276
  }
@@ -40868,7 +41281,7 @@ var EmojiCardRefFn = ({ emojiIndex }, ref) => {
40868
41281
  transforms: transforms.current
40869
41282
  });
40870
41283
  }, []);
40871
- const onRight = useCallback46(() => {
41284
+ const onRight = useCallback45(() => {
40872
41285
  if (!ref1.current || !ref2.current || !ref3.current) {
40873
41286
  return;
40874
41287
  }
@@ -41328,11 +41741,11 @@ var Cards = ({
41328
41741
  };
41329
41742
  }, [onToggle]);
41330
41743
  const ref = useRef56(null);
41331
- const onLeft = useCallback47(() => {
41744
+ const onLeft = useCallback46(() => {
41332
41745
  ref.current?.onRight();
41333
41746
  onRightPress();
41334
41747
  }, [onRightPress]);
41335
- const onRight = useCallback47(() => {
41748
+ const onRight = useCallback46(() => {
41336
41749
  ref.current?.onLeft();
41337
41750
  onLeftPress();
41338
41751
  }, [onLeftPress]);
@@ -41402,7 +41815,7 @@ var HomepageVideoComp = ({
41402
41815
  onClickRight
41403
41816
  }) => {
41404
41817
  const [rerenders, setRerenders] = useState48(0);
41405
- const onUpdate = useCallback48((newIndices) => {
41818
+ const onUpdate = useCallback47((newIndices) => {
41406
41819
  setRerenders(rerenders + 1);
41407
41820
  updateCardOrder(newIndices);
41408
41821
  }, [rerenders, updateCardOrder]);
@@ -41500,7 +41913,7 @@ import {
41500
41913
  import { BufferTarget, StreamTarget } from "mediabunny";
41501
41914
 
41502
41915
  // ../core/dist/esm/version.mjs
41503
- var VERSION2 = "4.0.476";
41916
+ var VERSION2 = "4.0.478";
41504
41917
 
41505
41918
  // ../web-renderer/dist/esm/index.mjs
41506
41919
  import { AudioSample, VideoSample } from "mediabunny";
@@ -46137,7 +46550,7 @@ var renderMediaOnWeb = (options2) => {
46137
46550
  };
46138
46551
 
46139
46552
  // src/components/homepage/Demo/DemoRender.tsx
46140
- import React69, { useCallback as useCallback49 } from "react";
46553
+ import React69, { useCallback as useCallback48 } from "react";
46141
46554
  import { z } from "zod";
46142
46555
 
46143
46556
  // src/components/homepage/Demo/DemoErrorIcon.tsx
@@ -46338,7 +46751,7 @@ var RenderButton = ({ renderData, onError, playerRef }) => {
46338
46751
  const [state, setState] = React69.useState({
46339
46752
  type: "idle"
46340
46753
  });
46341
- const triggerRender = useCallback49(async () => {
46754
+ const triggerRender = useCallback48(async () => {
46342
46755
  if (renderData === null) {
46343
46756
  return;
46344
46757
  }
@@ -46513,10 +46926,10 @@ var DragAndDropNudge = () => {
46513
46926
  };
46514
46927
 
46515
46928
  // src/components/homepage/Demo/PlayerSeekBar.tsx
46516
- import { useCallback as useCallback51, useEffect as useEffect53, useMemo as useMemo66, useRef as useRef57, useState as useState51 } from "react";
46929
+ import { useCallback as useCallback50, useEffect as useEffect53, useMemo as useMemo66, useRef as useRef57, useState as useState51 } from "react";
46517
46930
 
46518
46931
  // src/components/homepage/layout/use-el-size.ts
46519
- import { useCallback as useCallback50, useEffect as useEffect51, useMemo as useMemo64, useState as useState50 } from "react";
46932
+ import { useCallback as useCallback49, useEffect as useEffect51, useMemo as useMemo64, useState as useState50 } from "react";
46520
46933
  var useElementSize2 = (ref) => {
46521
46934
  const [size4, setSize] = useState50(null);
46522
46935
  const observer = useMemo64(() => {
@@ -46530,7 +46943,7 @@ var useElementSize2 = (ref) => {
46530
46943
  });
46531
46944
  });
46532
46945
  }, []);
46533
- const updateSize = useCallback50(() => {
46946
+ const updateSize = useCallback49(() => {
46534
46947
  if (ref === null) {
46535
46948
  return;
46536
46949
  }
@@ -46682,7 +47095,7 @@ var PlayerSeekBar2 = ({
46682
47095
  dragging: false
46683
47096
  });
46684
47097
  const width2 = size4?.width ?? 0;
46685
- const onPointerDown = useCallback51((e) => {
47098
+ const onPointerDown = useCallback50((e) => {
46686
47099
  if (e.button !== 0) {
46687
47100
  return;
46688
47101
  }
@@ -46696,7 +47109,7 @@ var PlayerSeekBar2 = ({
46696
47109
  });
46697
47110
  onSeekStart();
46698
47111
  }, [durationInFrames, width2, playerRef, playing, onSeekStart]);
46699
- const onPointerMove = useCallback51((e) => {
47112
+ const onPointerMove = useCallback50((e) => {
46700
47113
  if (!size4) {
46701
47114
  throw new Error("Player has no size");
46702
47115
  }
@@ -46707,7 +47120,7 @@ var PlayerSeekBar2 = ({
46707
47120
  const _frame = getFrameFromX2(e.clientX - posLeft, durationInFrames, size4.width);
46708
47121
  playerRef.current.seekTo(_frame);
46709
47122
  }, [dragging.dragging, durationInFrames, playerRef, size4]);
46710
- const onPointerUp = useCallback51(() => {
47123
+ const onPointerUp = useCallback50(() => {
46711
47124
  setDragging({
46712
47125
  dragging: false
46713
47126
  });
@@ -46791,7 +47204,7 @@ var PlayerSeekBar2 = ({
46791
47204
  };
46792
47205
 
46793
47206
  // src/components/homepage/Demo/PlayerVolume.tsx
46794
- import { useCallback as useCallback53, useEffect as useEffect55, useRef as useRef58, useState as useState54 } from "react";
47207
+ import { useCallback as useCallback51, useEffect as useEffect55, useRef as useRef58, useState as useState54 } from "react";
46795
47208
 
46796
47209
  // src/components/homepage/Demo/icons.tsx
46797
47210
  import { jsx as jsx105 } from "react/jsx-runtime";
@@ -46872,7 +47285,7 @@ var PlayerVolume = ({ playerRef }) => {
46872
47285
  document.body.style.userSelect = "auto";
46873
47286
  }
46874
47287
  }, [isHovered]);
46875
- const onClick = useCallback53(() => {
47288
+ const onClick = useCallback51(() => {
46876
47289
  if (timerRef.current !== null) {
46877
47290
  clearTimeout(timerRef.current);
46878
47291
  timerRef.current = null;
@@ -46910,7 +47323,7 @@ var PlayerVolume = ({ playerRef }) => {
46910
47323
  };
46911
47324
 
46912
47325
  // src/components/homepage/Demo/PlayPauseButton.tsx
46913
- import React73, { useCallback as useCallback55, useEffect as useEffect56 } from "react";
47326
+ import React73, { useCallback as useCallback53, useEffect as useEffect56 } from "react";
46914
47327
  import { jsx as jsx108 } from "react/jsx-runtime";
46915
47328
  var playerButtonStyle2 = {
46916
47329
  appearance: "none",
@@ -46946,7 +47359,7 @@ var PlayPauseButton = ({ playerRef }) => {
46946
47359
  current.removeEventListener("pause", onPause);
46947
47360
  };
46948
47361
  }, [playerRef]);
46949
- const onToggle = useCallback55(() => {
47362
+ const onToggle = useCallback53(() => {
46950
47363
  playerRef.current?.toggle();
46951
47364
  }, [playerRef]);
46952
47365
  const playPauseIconStyle = {
@@ -47124,7 +47537,7 @@ var ThemeNudge = () => {
47124
47537
  };
47125
47538
 
47126
47539
  // src/components/homepage/Demo/index.tsx
47127
- import { jsx as jsx114, jsxs as jsxs39 } from "react/jsx-runtime";
47540
+ import { jsx as jsx115, jsxs as jsxs39 } from "react/jsx-runtime";
47128
47541
  var style3 = {
47129
47542
  width: "100%",
47130
47543
  aspectRatio: "640 / 360",
@@ -47167,7 +47580,7 @@ var Demo = () => {
47167
47580
  playerRef.removeEventListener("fullscreenchange", onFullscreenChange);
47168
47581
  };
47169
47582
  }, [data2]);
47170
- const updateCardOrder = useCallback56((newCardOrder) => {
47583
+ const updateCardOrder = useCallback55((newCardOrder) => {
47171
47584
  setCardOrder(newCardOrder);
47172
47585
  }, []);
47173
47586
  const props = useMemo67(() => {
@@ -47189,15 +47602,15 @@ var Demo = () => {
47189
47602
  emojiIndex
47190
47603
  };
47191
47604
  }, [cardOrder, emojiIndex, colorMode, data2, updateCardOrder]);
47192
- const onError = useCallback56(() => {
47605
+ const onError = useCallback55(() => {
47193
47606
  setError(true);
47194
47607
  }, []);
47195
47608
  return /* @__PURE__ */ jsxs39("div", {
47196
47609
  id: "demo",
47197
47610
  children: [
47198
- /* @__PURE__ */ jsx114("br", {}),
47199
- /* @__PURE__ */ jsx114("br", {}),
47200
- /* @__PURE__ */ jsx114(SectionTitle, {
47611
+ /* @__PURE__ */ jsx115("br", {}),
47612
+ /* @__PURE__ */ jsx115("br", {}),
47613
+ /* @__PURE__ */ jsx115(SectionTitle, {
47201
47614
  children: "Interactive demo"
47202
47615
  }),
47203
47616
  /* @__PURE__ */ jsxs39("div", {
@@ -47206,14 +47619,14 @@ var Demo = () => {
47206
47619
  /* @__PURE__ */ jsxs39("div", {
47207
47620
  className: "h-[105px] relative",
47208
47621
  children: [
47209
- /* @__PURE__ */ jsx114(DragAndDropNudge, {}),
47210
- /* @__PURE__ */ jsx114(ThemeNudge, {})
47622
+ /* @__PURE__ */ jsx115(DragAndDropNudge, {}),
47623
+ /* @__PURE__ */ jsx115(ThemeNudge, {})
47211
47624
  ]
47212
47625
  }),
47213
47626
  /* @__PURE__ */ jsxs39("div", {
47214
47627
  style: playerWrapper,
47215
47628
  children: [
47216
- /* @__PURE__ */ jsx114(Player, {
47629
+ /* @__PURE__ */ jsx115(Player, {
47217
47630
  ref,
47218
47631
  component: HomepageVideoComp,
47219
47632
  compositionWidth: 640,
@@ -47230,11 +47643,11 @@ var Demo = () => {
47230
47643
  numberOfSharedAudioTags: 0,
47231
47644
  loop: true
47232
47645
  }),
47233
- /* @__PURE__ */ jsx114(PlayerControls, {
47646
+ /* @__PURE__ */ jsx115(PlayerControls, {
47234
47647
  playerRef: ref,
47235
47648
  durationInFrames: 120,
47236
47649
  fps: 30,
47237
- children: /* @__PURE__ */ jsx114(RenderButton, {
47650
+ children: /* @__PURE__ */ jsx115(RenderButton, {
47238
47651
  onError,
47239
47652
  renderData: data2 ? {
47240
47653
  cardOrder,
@@ -47248,8 +47661,8 @@ var Demo = () => {
47248
47661
  })
47249
47662
  ]
47250
47663
  }),
47251
- error2 ? /* @__PURE__ */ jsx114(DemoError, {}) : null,
47252
- /* @__PURE__ */ jsx114(DownloadNudge, {})
47664
+ error2 ? /* @__PURE__ */ jsx115(DemoError, {}) : null,
47665
+ /* @__PURE__ */ jsx115(DownloadNudge, {})
47253
47666
  ]
47254
47667
  })
47255
47668
  ]
@@ -47260,7 +47673,7 @@ var Demo = () => {
47260
47673
  import { useEffect as useEffect59, useState as useState57 } from "react";
47261
47674
 
47262
47675
  // src/components/homepage/layout/Button.tsx
47263
- import { jsx as jsx116 } from "react/jsx-runtime";
47676
+ import { jsx as jsx117 } from "react/jsx-runtime";
47264
47677
  var Button2 = (props) => {
47265
47678
  const {
47266
47679
  children,
@@ -47273,7 +47686,7 @@ var Button2 = (props) => {
47273
47686
  ...other
47274
47687
  } = props;
47275
47688
  const actualDisabled = other.disabled || loading;
47276
- return /* @__PURE__ */ jsx116("button", {
47689
+ return /* @__PURE__ */ jsx117("button", {
47277
47690
  type: "button",
47278
47691
  className: cn2("text-base rounded-lg font-bold appearance-none border-2 border-solid border-black border-b-4 font-sans flex flex-row items-center justify-center ", className3),
47279
47692
  disabled: actualDisabled,
@@ -47291,7 +47704,7 @@ var Button2 = (props) => {
47291
47704
  });
47292
47705
  };
47293
47706
  var BlueButton = (props) => {
47294
- return /* @__PURE__ */ jsx116(Button2, {
47707
+ return /* @__PURE__ */ jsx117(Button2, {
47295
47708
  ...props,
47296
47709
  background: "var(--blue-underlay)",
47297
47710
  color: "white"
@@ -47299,7 +47712,7 @@ var BlueButton = (props) => {
47299
47712
  };
47300
47713
 
47301
47714
  // src/components/homepage/EvaluateRemotion.tsx
47302
- import { jsx as jsx117, jsxs as jsxs40 } from "react/jsx-runtime";
47715
+ import { jsx as jsx118, jsxs as jsxs40 } from "react/jsx-runtime";
47303
47716
  var EvaluateRemotionSection = () => {
47304
47717
  const [dailyAvatars, setDailyAvatars] = useState57([]);
47305
47718
  useEffect59(() => {
@@ -47318,35 +47731,35 @@ var EvaluateRemotionSection = () => {
47318
47731
  /* @__PURE__ */ jsxs40("div", {
47319
47732
  className: "card flex-1 flex flex-col",
47320
47733
  children: [
47321
- /* @__PURE__ */ jsx117("div", {
47734
+ /* @__PURE__ */ jsx118("div", {
47322
47735
  className: "fontbrand text-2xl font-bold",
47323
47736
  children: "Questions about our license?"
47324
47737
  }),
47325
- /* @__PURE__ */ jsx117("p", {
47738
+ /* @__PURE__ */ jsx118("p", {
47326
47739
  className: "text-muted fontbrand leading-snug",
47327
47740
  children: "Book a 20 minute call or write us an email to get all your questions answered."
47328
47741
  }),
47329
- /* @__PURE__ */ jsx117("div", {
47742
+ /* @__PURE__ */ jsx118("div", {
47330
47743
  className: "flex-1"
47331
47744
  }),
47332
47745
  /* @__PURE__ */ jsxs40("div", {
47333
47746
  className: "flex flex-row flex-wrap gap-2",
47334
47747
  children: [
47335
- /* @__PURE__ */ jsx117("a", {
47748
+ /* @__PURE__ */ jsx118("a", {
47336
47749
  target: "_blank",
47337
47750
  href: "https://cal.com/remotion/evaluate",
47338
47751
  style: { textDecoration: "none" },
47339
- children: /* @__PURE__ */ jsx117(BlueButton, {
47752
+ children: /* @__PURE__ */ jsx118(BlueButton, {
47340
47753
  size: "sm",
47341
47754
  loading: false,
47342
47755
  children: "Schedule a call"
47343
47756
  })
47344
47757
  }),
47345
- /* @__PURE__ */ jsx117("a", {
47758
+ /* @__PURE__ */ jsx118("a", {
47346
47759
  target: "_blank",
47347
47760
  href: "mailto:hi@remotion.dev",
47348
47761
  style: { textDecoration: "none" },
47349
- children: /* @__PURE__ */ jsx117(BlueButton, {
47762
+ children: /* @__PURE__ */ jsx118(BlueButton, {
47350
47763
  size: "sm",
47351
47764
  loading: false,
47352
47765
  children: "Write an email"
@@ -47359,32 +47772,32 @@ var EvaluateRemotionSection = () => {
47359
47772
  /* @__PURE__ */ jsxs40("div", {
47360
47773
  className: "card flex-1 flex flex-col",
47361
47774
  children: [
47362
- /* @__PURE__ */ jsx117("div", {
47775
+ /* @__PURE__ */ jsx118("div", {
47363
47776
  className: "fontbrand text-2xl font-bold",
47364
47777
  children: "Get help with your Remotion project"
47365
47778
  }),
47366
- /* @__PURE__ */ jsx117("p", {
47779
+ /* @__PURE__ */ jsx118("p", {
47367
47780
  className: "text-muted fontbrand leading-snug",
47368
47781
  children: "Contact our experts for help and work."
47369
47782
  }),
47370
- /* @__PURE__ */ jsx117("div", {
47783
+ /* @__PURE__ */ jsx118("div", {
47371
47784
  className: "flex-1"
47372
47785
  }),
47373
47786
  /* @__PURE__ */ jsxs40("div", {
47374
47787
  className: "flex flex-row justify-between",
47375
47788
  children: [
47376
- /* @__PURE__ */ jsx117("a", {
47789
+ /* @__PURE__ */ jsx118("a", {
47377
47790
  href: "/experts",
47378
47791
  style: { textDecoration: "none" },
47379
- children: /* @__PURE__ */ jsx117(BlueButton, {
47792
+ children: /* @__PURE__ */ jsx118(BlueButton, {
47380
47793
  size: "sm",
47381
47794
  loading: false,
47382
47795
  children: "Remotion Experts"
47383
47796
  })
47384
47797
  }),
47385
- /* @__PURE__ */ jsx117("div", {
47798
+ /* @__PURE__ */ jsx118("div", {
47386
47799
  className: "flex justify-end items-end gap-3",
47387
- children: dailyAvatars.map((avatar) => /* @__PURE__ */ jsx117("div", {
47800
+ children: dailyAvatars.map((avatar) => /* @__PURE__ */ jsx118("div", {
47388
47801
  className: "w-12 h-12 rounded-full bg-muted bg-cover bg-center -ml-5 border-2 border-black",
47389
47802
  style: { backgroundImage: `url(${avatar})` }
47390
47803
  }, avatar))
@@ -47400,7 +47813,7 @@ var EvaluateRemotion_default = EvaluateRemotionSection;
47400
47813
 
47401
47814
  // src/components/homepage/IfYouKnowReact.tsx
47402
47815
  import { useEffect as useEffect60, useState as useState58 } from "react";
47403
- import { jsx as jsx118, jsxs as jsxs41 } from "react/jsx-runtime";
47816
+ import { jsx as jsx119, jsxs as jsxs41 } from "react/jsx-runtime";
47404
47817
  var isWebkit = () => {
47405
47818
  if (typeof window === "undefined") {
47406
47819
  return false;
@@ -47423,7 +47836,7 @@ var IfYouKnowReact = () => {
47423
47836
  return /* @__PURE__ */ jsxs41("div", {
47424
47837
  className: "flex flex-col lg:flex-row text-left justify-start lg:justify-end items-start lg:mb-0 gap-6 mt-8",
47425
47838
  children: [
47426
- /* @__PURE__ */ jsx118("video", {
47839
+ /* @__PURE__ */ jsx119("video", {
47427
47840
  src: vid,
47428
47841
  muted: true,
47429
47842
  autoPlay: true,
@@ -47436,18 +47849,18 @@ var IfYouKnowReact = () => {
47436
47849
  /* @__PURE__ */ jsxs41("h2", {
47437
47850
  className: "text-4xl fontbrand pt-20",
47438
47851
  children: [
47439
- /* @__PURE__ */ jsx118("span", {
47852
+ /* @__PURE__ */ jsx119("span", {
47440
47853
  className: "text-brand",
47441
47854
  children: "Compose"
47442
47855
  }),
47443
47856
  " with code"
47444
47857
  ]
47445
47858
  }),
47446
- /* @__PURE__ */ jsx118("p", {
47859
+ /* @__PURE__ */ jsx119("p", {
47447
47860
  className: "leading-relaxed font-brand",
47448
47861
  children: "Use React, a powerful frontend technology, to create sophisticated videos with code."
47449
47862
  }),
47450
- /* @__PURE__ */ jsx118("div", {
47863
+ /* @__PURE__ */ jsx119("div", {
47451
47864
  className: "h-4"
47452
47865
  }),
47453
47866
  /* @__PURE__ */ jsxs41("a", {
@@ -47456,11 +47869,11 @@ var IfYouKnowReact = () => {
47456
47869
  children: [
47457
47870
  "Learn Remotion",
47458
47871
  " ",
47459
- /* @__PURE__ */ jsx118("svg", {
47872
+ /* @__PURE__ */ jsx119("svg", {
47460
47873
  style: icon3,
47461
47874
  xmlns: "http://www.w3.org/2000/svg",
47462
47875
  viewBox: "0 0 448 512",
47463
- children: /* @__PURE__ */ jsx118("path", {
47876
+ children: /* @__PURE__ */ jsx119("path", {
47464
47877
  fill: "currentColor",
47465
47878
  d: "M438.6 278.6l-160 160C272.4 444.9 264.2 448 256 448s-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L338.8 288H32C14.33 288 .0016 273.7 .0016 256S14.33 224 32 224h306.8l-105.4-105.4c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160C451.1 245.9 451.1 266.1 438.6 278.6z"
47466
47879
  })
@@ -47474,13 +47887,13 @@ var IfYouKnowReact = () => {
47474
47887
  };
47475
47888
 
47476
47889
  // src/components/homepage/NewsletterButton.tsx
47477
- import { useCallback as useCallback57, useState as useState59 } from "react";
47478
- import { jsx as jsx119, jsxs as jsxs44 } from "react/jsx-runtime";
47890
+ import { useCallback as useCallback56, useState as useState59 } from "react";
47891
+ import { jsx as jsx120, jsxs as jsxs44 } from "react/jsx-runtime";
47479
47892
  var NewsletterButton = () => {
47480
47893
  const [email, setEmail] = useState59("");
47481
47894
  const [submitting, setSubmitting] = useState59(false);
47482
47895
  const [subscribed, setSubscribed] = useState59(false);
47483
- const handleSubmit = useCallback57(async (e) => {
47896
+ const handleSubmit = useCallback56(async (e) => {
47484
47897
  try {
47485
47898
  setSubmitting(true);
47486
47899
  e.preventDefault();
@@ -47502,15 +47915,15 @@ var NewsletterButton = () => {
47502
47915
  alert("Something went wrong. Please try again later.");
47503
47916
  }
47504
47917
  }, [email]);
47505
- return /* @__PURE__ */ jsx119("div", {
47506
- children: /* @__PURE__ */ jsx119("div", {
47918
+ return /* @__PURE__ */ jsx120("div", {
47919
+ children: /* @__PURE__ */ jsx120("div", {
47507
47920
  className: "flex flex-col",
47508
- children: /* @__PURE__ */ jsx119("div", {
47921
+ children: /* @__PURE__ */ jsx120("div", {
47509
47922
  className: "w-full",
47510
47923
  children: /* @__PURE__ */ jsxs44("div", {
47511
47924
  className: "flex flex-col flex-1",
47512
47925
  children: [
47513
- /* @__PURE__ */ jsx119(SectionTitle, {
47926
+ /* @__PURE__ */ jsx120(SectionTitle, {
47514
47927
  children: "Newsletter"
47515
47928
  }),
47516
47929
  /* @__PURE__ */ jsxs44("form", {
@@ -47529,7 +47942,7 @@ var NewsletterButton = () => {
47529
47942
  /* @__PURE__ */ jsxs44("div", {
47530
47943
  className: "flex flex-col md:flex-row gap-2 justify-center",
47531
47944
  children: [
47532
- /* @__PURE__ */ jsx119(Input, {
47945
+ /* @__PURE__ */ jsx120(Input, {
47533
47946
  disabled: submitting,
47534
47947
  value: email,
47535
47948
  className: "md:max-w-[400px]",
@@ -47538,14 +47951,14 @@ var NewsletterButton = () => {
47538
47951
  required: true,
47539
47952
  placeholder: "animator@gmail.com"
47540
47953
  }),
47541
- /* @__PURE__ */ jsx119("div", {
47542
- children: /* @__PURE__ */ jsx119(Button, {
47954
+ /* @__PURE__ */ jsx120("div", {
47955
+ children: /* @__PURE__ */ jsx120(Button, {
47543
47956
  type: "submit",
47544
47957
  className: "w-14 rounded-full h-14 bg-brand text-white font-bold disabled:text-white/50 disabled:border-black px-0 py-0",
47545
47958
  disabled: submitting || subscribed,
47546
- children: subscribed ? /* @__PURE__ */ jsx119(CheckIcon, {
47959
+ children: subscribed ? /* @__PURE__ */ jsx120(CheckIcon, {
47547
47960
  className: " size-5 mt-[1px]"
47548
- }) : /* @__PURE__ */ jsx119(PlanePaperIcon, {
47961
+ }) : /* @__PURE__ */ jsx120(PlanePaperIcon, {
47549
47962
  className: " size-6 ml-[2px]"
47550
47963
  })
47551
47964
  })
@@ -47563,7 +47976,7 @@ var NewsletterButton = () => {
47563
47976
 
47564
47977
  // src/components/homepage/ParameterizeAndEdit.tsx
47565
47978
  import { useEffect as useEffect61, useRef as useRef60, useState as useState60 } from "react";
47566
- import { jsx as jsx120, jsxs as jsxs46 } from "react/jsx-runtime";
47979
+ import { jsx as jsx121, jsxs as jsxs46 } from "react/jsx-runtime";
47567
47980
  var icon4 = {
47568
47981
  height: 16,
47569
47982
  marginLeft: 10
@@ -47580,8 +47993,8 @@ var ParameterizeAndEdit = () => {
47580
47993
  ref,
47581
47994
  className: "flex flex-col lg:flex-row justify-start lg:justify-end items-start gap-6 mt-20 lg:mt-0",
47582
47995
  children: [
47583
- /* @__PURE__ */ jsx120("div", {
47584
- children: /* @__PURE__ */ jsx120("video", {
47996
+ /* @__PURE__ */ jsx121("div", {
47997
+ children: /* @__PURE__ */ jsx121("video", {
47585
47998
  src: vid,
47586
47999
  autoPlay: true,
47587
48000
  muted: true,
@@ -47603,7 +48016,7 @@ var ParameterizeAndEdit = () => {
47603
48016
  className: "fontbrand text-4xl",
47604
48017
  children: [
47605
48018
  "Edit ",
47606
- /* @__PURE__ */ jsx120("span", {
48019
+ /* @__PURE__ */ jsx121("span", {
47607
48020
  className: "text-brand",
47608
48021
  children: "dynamically"
47609
48022
  })
@@ -47613,11 +48026,11 @@ var ParameterizeAndEdit = () => {
47613
48026
  className: "leading-relaxed",
47614
48027
  children: [
47615
48028
  "Parameterize your video by passing data.",
47616
- /* @__PURE__ */ jsx120("br", {}),
48029
+ /* @__PURE__ */ jsx121("br", {}),
47617
48030
  "Or embed it into your app and build an interface around it."
47618
48031
  ]
47619
48032
  }),
47620
- /* @__PURE__ */ jsx120("div", {
48033
+ /* @__PURE__ */ jsx121("div", {
47621
48034
  className: "h-4"
47622
48035
  }),
47623
48036
  /* @__PURE__ */ jsxs46("div", {
@@ -47629,47 +48042,47 @@ var ParameterizeAndEdit = () => {
47629
48042
  children: [
47630
48043
  "Remotion Studio",
47631
48044
  " ",
47632
- /* @__PURE__ */ jsx120("svg", {
48045
+ /* @__PURE__ */ jsx121("svg", {
47633
48046
  style: icon4,
47634
48047
  xmlns: "http://www.w3.org/2000/svg",
47635
48048
  viewBox: "0 0 448 512",
47636
- children: /* @__PURE__ */ jsx120("path", {
48049
+ children: /* @__PURE__ */ jsx121("path", {
47637
48050
  fill: "currentColor",
47638
48051
  d: "M438.6 278.6l-160 160C272.4 444.9 264.2 448 256 448s-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L338.8 288H32C14.33 288 .0016 273.7 .0016 256S14.33 224 32 224h306.8l-105.4-105.4c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160C451.1 245.9 451.1 266.1 438.6 278.6z"
47639
48052
  })
47640
48053
  })
47641
48054
  ]
47642
48055
  }),
47643
- /* @__PURE__ */ jsx120("br", {}),
48056
+ /* @__PURE__ */ jsx121("br", {}),
47644
48057
  /* @__PURE__ */ jsxs46("a", {
47645
48058
  className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center",
47646
48059
  href: "/player",
47647
48060
  children: [
47648
48061
  "Remotion Player",
47649
48062
  " ",
47650
- /* @__PURE__ */ jsx120("svg", {
48063
+ /* @__PURE__ */ jsx121("svg", {
47651
48064
  style: icon4,
47652
48065
  xmlns: "http://www.w3.org/2000/svg",
47653
48066
  viewBox: "0 0 448 512",
47654
- children: /* @__PURE__ */ jsx120("path", {
48067
+ children: /* @__PURE__ */ jsx121("path", {
47655
48068
  fill: "currentColor",
47656
48069
  d: "M438.6 278.6l-160 160C272.4 444.9 264.2 448 256 448s-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L338.8 288H32C14.33 288 .0016 273.7 .0016 256S14.33 224 32 224h306.8l-105.4-105.4c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160C451.1 245.9 451.1 266.1 438.6 278.6z"
47657
48070
  })
47658
48071
  })
47659
48072
  ]
47660
48073
  }),
47661
- /* @__PURE__ */ jsx120("br", {}),
48074
+ /* @__PURE__ */ jsx121("br", {}),
47662
48075
  /* @__PURE__ */ jsxs46("a", {
47663
48076
  className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center",
47664
48077
  href: "/docs/editor-starter",
47665
48078
  children: [
47666
48079
  "Remotion Editor Starter",
47667
48080
  " ",
47668
- /* @__PURE__ */ jsx120("svg", {
48081
+ /* @__PURE__ */ jsx121("svg", {
47669
48082
  style: icon4,
47670
48083
  xmlns: "http://www.w3.org/2000/svg",
47671
48084
  viewBox: "0 0 448 512",
47672
- children: /* @__PURE__ */ jsx120("path", {
48085
+ children: /* @__PURE__ */ jsx121("path", {
47673
48086
  fill: "currentColor",
47674
48087
  d: "M438.6 278.6l-160 160C272.4 444.9 264.2 448 256 448s-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L338.8 288H32C14.33 288 .0016 273.7 .0016 256S14.33 224 32 224h306.8l-105.4-105.4c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160C451.1 245.9 451.1 266.1 438.6 278.6z"
47675
48088
  })
@@ -47686,7 +48099,7 @@ var ParameterizeAndEdit = () => {
47686
48099
 
47687
48100
  // src/components/homepage/RealMp4Videos.tsx
47688
48101
  import { useEffect as useEffect63, useRef as useRef61, useState as useState61 } from "react";
47689
- import { jsx as jsx121, jsxs as jsxs47 } from "react/jsx-runtime";
48102
+ import { jsx as jsx124, jsxs as jsxs47 } from "react/jsx-runtime";
47690
48103
  var icon5 = {
47691
48104
  height: 16,
47692
48105
  marginLeft: 10
@@ -47721,9 +48134,9 @@ var RealMP4Videos = () => {
47721
48134
  ref,
47722
48135
  className: "flex flex-col lg:flex-row mt-40 lg:mt-30 gap-6",
47723
48136
  children: [
47724
- /* @__PURE__ */ jsx121("div", {
48137
+ /* @__PURE__ */ jsx124("div", {
47725
48138
  className: "flex w-[500px] justify-start lg:justify-start items-end",
47726
- children: /* @__PURE__ */ jsx121("video", {
48139
+ children: /* @__PURE__ */ jsx124("video", {
47727
48140
  ref: videoRef,
47728
48141
  src: vid,
47729
48142
  muted: true,
@@ -47746,7 +48159,7 @@ var RealMP4Videos = () => {
47746
48159
  /* @__PURE__ */ jsxs47("h2", {
47747
48160
  className: "text-4xl fontbrand",
47748
48161
  children: [
47749
- /* @__PURE__ */ jsx121("span", {
48162
+ /* @__PURE__ */ jsx124("span", {
47750
48163
  className: "text-brand",
47751
48164
  children: "Scalable"
47752
48165
  }),
@@ -47757,12 +48170,12 @@ var RealMP4Videos = () => {
47757
48170
  className: "leading-relaxed",
47758
48171
  children: [
47759
48172
  "Render the video as .mp4 or other formats. ",
47760
- /* @__PURE__ */ jsx121("br", {}),
48173
+ /* @__PURE__ */ jsx124("br", {}),
47761
48174
  "Locally, on the server or serverless."
47762
48175
  ]
47763
48176
  }),
47764
48177
  " ",
47765
- /* @__PURE__ */ jsx121("div", {
48178
+ /* @__PURE__ */ jsx124("div", {
47766
48179
  className: "h-4"
47767
48180
  }),
47768
48181
  /* @__PURE__ */ jsxs47("div", {
@@ -47774,29 +48187,29 @@ var RealMP4Videos = () => {
47774
48187
  children: [
47775
48188
  "Render options",
47776
48189
  " ",
47777
- /* @__PURE__ */ jsx121("svg", {
48190
+ /* @__PURE__ */ jsx124("svg", {
47778
48191
  style: icon5,
47779
48192
  xmlns: "http://www.w3.org/2000/svg",
47780
48193
  viewBox: "0 0 448 512",
47781
- children: /* @__PURE__ */ jsx121("path", {
48194
+ children: /* @__PURE__ */ jsx124("path", {
47782
48195
  fill: "currentColor",
47783
48196
  d: "M438.6 278.6l-160 160C272.4 444.9 264.2 448 256 448s-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L338.8 288H32C14.33 288 .0016 273.7 .0016 256S14.33 224 32 224h306.8l-105.4-105.4c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160C451.1 245.9 451.1 266.1 438.6 278.6z"
47784
48197
  })
47785
48198
  })
47786
48199
  ]
47787
48200
  }),
47788
- /* @__PURE__ */ jsx121("br", {}),
48201
+ /* @__PURE__ */ jsx124("br", {}),
47789
48202
  /* @__PURE__ */ jsxs47("a", {
47790
48203
  className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center",
47791
48204
  href: "/lambda",
47792
48205
  children: [
47793
48206
  "Remotion Lambda",
47794
48207
  " ",
47795
- /* @__PURE__ */ jsx121("svg", {
48208
+ /* @__PURE__ */ jsx124("svg", {
47796
48209
  style: icon5,
47797
48210
  xmlns: "http://www.w3.org/2000/svg",
47798
48211
  viewBox: "0 0 448 512",
47799
- children: /* @__PURE__ */ jsx121("path", {
48212
+ children: /* @__PURE__ */ jsx124("path", {
47800
48213
  fill: "currentColor",
47801
48214
  d: "M438.6 278.6l-160 160C272.4 444.9 264.2 448 256 448s-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L338.8 288H32C14.33 288 .0016 273.7 .0016 256S14.33 224 32 224h306.8l-105.4-105.4c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160C451.1 245.9 451.1 266.1 438.6 278.6z"
47802
48215
  })
@@ -47812,18 +48225,18 @@ var RealMP4Videos = () => {
47812
48225
  };
47813
48226
 
47814
48227
  // src/components/homepage/TrustedByBanner.tsx
47815
- import { jsx as jsx124, jsxs as jsxs48, Fragment as Fragment16 } from "react/jsx-runtime";
48228
+ import { jsx as jsx126, jsxs as jsxs48, Fragment as Fragment16 } from "react/jsx-runtime";
47816
48229
  var TrustedByBanner = () => {
47817
48230
  const logos = [
47818
48231
  {
47819
48232
  id: "logo1",
47820
48233
  url: "https://www.github.com/",
47821
- light: /* @__PURE__ */ jsx124("svg", {
48234
+ light: /* @__PURE__ */ jsx126("svg", {
47822
48235
  height: "50",
47823
48236
  viewBox: "0 0 64 62",
47824
48237
  fill: "none",
47825
48238
  xmlns: "http://www.w3.org/2000/svg",
47826
- children: /* @__PURE__ */ jsx124("path", {
48239
+ children: /* @__PURE__ */ jsx126("path", {
47827
48240
  d: "M21.3033 49.7496C21.3033 50.0051 21.0079 50.2095 20.6355 50.2095C20.2118 50.2478 19.9164 50.0434 19.9164 49.7496C19.9164 49.4941 20.2118 49.2896 20.5842 49.2896C20.9694 49.2513 21.3033 49.4557 21.3033 49.7496ZM17.3097 49.1747C17.2198 49.4302 17.4766 49.724 17.8619 49.8007C18.1957 49.9284 18.581 49.8007 18.658 49.5452C18.7351 49.2896 18.4911 48.9958 18.1059 48.8808C17.772 48.7914 17.3996 48.9191 17.3097 49.1747ZM22.9854 48.9575C22.6131 49.0469 22.3562 49.2896 22.3948 49.5835C22.4333 49.839 22.7671 50.0051 23.1524 49.9157C23.5248 49.8262 23.7816 49.5835 23.7431 49.328C23.7045 49.0852 23.3578 48.9191 22.9854 48.9575ZM31.4348 0C13.6243 0 0 13.4531 0 31.1733C0 45.3419 8.96304 57.4663 21.7655 61.7334C23.4092 62.0273 23.987 61.018 23.987 60.1875C23.987 59.3954 23.9485 55.0261 23.9485 52.3431C23.9485 52.3431 14.9598 54.2595 13.0722 48.5359C13.0722 48.5359 11.6083 44.8181 9.50236 43.8599C9.50236 43.8599 6.56177 41.854 9.70782 41.8924C9.70782 41.8924 12.9052 42.1479 14.6645 45.1886C17.4766 50.1201 22.1893 48.702 24.0256 47.8587C24.3209 45.8146 25.1556 44.3965 26.0801 43.5532C18.902 42.7611 11.6597 41.7263 11.6597 29.4358C11.6597 25.9224 12.6356 24.1593 14.6901 21.9108C14.3563 21.0803 13.2648 17.6564 15.024 13.2359C17.7078 12.4055 23.8843 16.6854 23.8843 16.6854C26.4525 15.9699 29.2133 15.5994 31.9485 15.5994C34.6836 15.5994 37.4444 15.9699 40.0126 16.6854C40.0126 16.6854 46.1892 12.3927 48.873 13.2359C50.6322 17.6691 49.5407 21.0803 49.2068 21.9108C51.2614 24.1721 52.5198 25.9352 52.5198 29.4358C52.5198 41.7646 44.9564 42.7484 37.7783 43.5532C38.9597 44.5625 39.9613 46.4789 39.9613 49.4813C39.9613 53.7868 39.9228 59.1144 39.9228 60.162C39.9228 60.9924 40.5134 62.0017 42.1443 61.7079C54.9853 57.4663 63.6915 45.3419 63.6915 31.1733C63.6915 13.4531 49.2453 0 31.4348 0ZM12.4815 44.0643C12.3145 44.192 12.3531 44.4859 12.5714 44.7286C12.7768 44.933 13.0722 45.0225 13.2391 44.8564C13.406 44.7286 13.3675 44.4348 13.1492 44.192C12.9438 43.9876 12.6484 43.8982 12.4815 44.0643ZM11.0946 43.0294C11.0048 43.1955 11.1332 43.3999 11.39 43.5277C11.5954 43.6554 11.8523 43.6171 11.9422 43.4383C12.032 43.2722 11.9036 43.0678 11.6468 42.94C11.39 42.8633 11.1845 42.9017 11.0946 43.0294ZM15.2551 47.5777C15.0497 47.7438 15.1267 48.127 15.4221 48.3698C15.7174 48.6636 16.0898 48.702 16.2567 48.4975C16.4237 48.3314 16.3466 47.9482 16.0898 47.7054C15.8073 47.4116 15.4221 47.3732 15.2551 47.5777ZM13.7913 45.6996C13.5858 45.8274 13.5858 46.1595 13.7913 46.4534C13.9967 46.7472 14.3434 46.875 14.5104 46.7472C14.7158 46.5811 14.7158 46.249 14.5104 45.9551C14.3306 45.6613 13.9967 45.5335 13.7913 45.6996Z",
47828
48241
  fill: "var(--text-color)"
47829
48242
  })
@@ -47838,51 +48251,51 @@ var TrustedByBanner = () => {
47838
48251
  fill: "none",
47839
48252
  xmlns: "http://www.w3.org/2000/svg",
47840
48253
  children: [
47841
- /* @__PURE__ */ jsx124("path", {
48254
+ /* @__PURE__ */ jsx126("path", {
47842
48255
  d: "M6.51644 0.088258C4.05524 0.528184 1.89128 2.12143 0.856857 4.24972C-0.058664 6.12832 0.000785433 4.71342 0.000785433 23.7491C0.000785433 38.5758 0.0245652 40.9181 0.179134 41.5245C0.892527 44.3543 2.99704 46.4826 5.82683 47.2435C6.77802 47.4932 8.49017 47.5289 9.48892 47.303C11.0465 46.9582 11.855 46.4113 18.9889 40.9538C22.7224 38.1002 25.8137 35.7579 25.8613 35.7579C25.897 35.7579 29.0002 38.1002 32.7336 40.9538C36.5622 43.8906 39.9033 46.3518 40.367 46.6015C40.8307 46.8393 41.5441 47.1246 41.9721 47.2435C43.0065 47.517 44.8613 47.517 45.8958 47.2435C48.4996 46.5302 50.5328 44.5921 51.4364 41.9407C51.6505 41.3105 51.6623 40.5733 51.6623 23.7491V6.21155L51.377 5.34359C50.6398 3.08451 48.7255 1.19402 46.3595 0.385505C45.4796 0.088258 45.1943 0.0406985 43.9339 0.0406985C42.6855 0.0406985 42.3882 0.088258 41.5559 0.373615C41.0328 0.551964 40.3432 0.861101 40.0103 1.06323C39.6892 1.26536 36.3957 3.70278 32.7099 6.48502C29.0121 9.26725 25.9326 11.5382 25.8613 11.5382C25.79 11.5382 22.7105 9.26725 19.0127 6.48502C15.3269 3.70278 12.0334 1.26536 11.7123 1.06323C10.3569 0.230937 8.06213 -0.197099 6.51644 0.088258ZM8.82308 4.63019C9.13222 4.72531 11.5459 6.46124 15.6835 9.57639C19.1911 12.2159 22.0684 14.4037 22.0803 14.4512C22.1279 14.582 14.1141 20.7172 13.912 20.7053C13.8168 20.7053 11.6291 19.0764 9.06088 17.0908L4.38815 13.4882L4.42382 10.2066L4.45949 6.92494L4.78052 6.33045C5.06588 5.7954 5.39879 5.40304 5.96951 4.975C6.57589 4.5113 7.91945 4.35673 8.82308 4.63019ZM45.0872 4.67775C45.8125 4.91555 46.5497 5.5695 46.9421 6.31856L47.2631 6.92494L47.2988 10.2066L47.3344 13.4882L42.6617 17.0908C40.0935 19.0764 37.9057 20.7053 37.7987 20.7053C37.5966 20.7172 29.5947 14.582 29.6423 14.4512C29.7017 14.2491 42.519 4.71342 42.8519 4.6183C43.4345 4.43996 44.4927 4.47563 45.0872 4.67775ZM30.0346 20.5032C32.2818 22.251 34.0891 23.7135 34.0415 23.7491C33.8632 23.9156 26.0991 29.8843 25.9683 29.9675C25.8375 30.0389 17.7167 23.868 17.6929 23.6778C17.6929 23.5827 25.6948 17.3405 25.8375 17.3405C25.897 17.3286 27.7875 18.7554 30.0346 20.5032ZM7.37252 21.4425C9.72671 23.2616 10.2142 23.6897 10.0834 23.8086C9.80994 24.082 4.51894 28.1484 4.45949 28.1484C4.42382 28.1484 4.40004 26.139 4.40004 23.6897C4.40004 21.2404 4.42382 19.231 4.4476 19.231C4.48327 19.231 5.80305 20.2297 7.37252 21.4425ZM47.3225 23.6897C47.3225 26.139 47.2988 28.1484 47.2631 28.1484C47.2274 28.1484 45.9195 27.1496 44.3501 25.9369C42.2456 24.308 41.5203 23.6778 41.6154 23.5827C41.8651 23.333 47.1442 19.2548 47.2393 19.2429C47.2869 19.231 47.3225 21.2404 47.3225 23.6897ZM20.3682 31.4776C21.3312 32.2147 22.116 32.8568 22.116 32.8925C22.1041 33.047 9.59592 42.4995 9.07277 42.7373C7.51519 43.4745 5.58903 42.7492 4.79241 41.1321L4.45949 40.4544L4.42382 37.1847L4.38815 33.9031L9.156 30.2053L13.9357 26.5076L16.2662 28.3148C17.5621 29.3017 19.3932 30.7285 20.3682 31.4776ZM42.6617 30.3005L47.3344 33.915L47.2988 37.2442L47.2631 40.5733L46.9421 41.1678C46.5378 41.9288 46.1217 42.3211 45.3013 42.7016C44.4452 43.1059 43.4583 43.1178 42.6498 42.7373C42.0197 42.4519 29.5947 33.0232 29.6423 32.8687C29.7017 32.6665 37.7631 26.5195 37.8701 26.6027C37.9414 26.6503 40.0935 28.303 42.6617 30.3005Z",
47843
48256
  fill: "var(--text-color)"
47844
48257
  }),
47845
- /* @__PURE__ */ jsx124("path", {
48258
+ /* @__PURE__ */ jsx126("path", {
47846
48259
  d: "M120.255 8.16145C119.673 8.43492 118.983 9.20776 118.805 9.82604C118.484 10.8842 118.709 11.7998 119.47 12.5607C120.374 13.4643 121.563 13.6546 122.681 13.0958C124.785 12.0494 124.678 9.00564 122.502 8.09011C121.955 7.86421 120.838 7.89988 120.255 8.16145Z",
47847
48260
  fill: "var(--text-color)"
47848
48261
  }),
47849
- /* @__PURE__ */ jsx124("path", {
48262
+ /* @__PURE__ */ jsx126("path", {
47850
48263
  d: "M214.613 19.7065V31.4775H216.801H219.001L219.036 26.8048C219.084 21.6446 219.084 21.6327 219.88 20.7885C220.427 20.2178 221.081 19.9443 221.926 19.9443C222.817 19.9443 223.507 20.2535 223.947 20.8123C224.565 21.6327 224.601 21.9656 224.601 26.9237V31.4775H226.8H229V26.0914C229 21.6446 228.964 20.5864 228.822 20.0038C228.382 18.2916 227.478 17.1145 226.087 16.4249C223.935 15.3667 221.414 15.6759 219.809 17.1978C219.452 17.5307 219.131 17.8042 219.096 17.8042C219.048 17.8042 219.013 15.5807 219.013 12.8699V7.93555H216.813H214.613V19.7065Z",
47851
48264
  fill: "var(--text-color)"
47852
48265
  }),
47853
- /* @__PURE__ */ jsx124("path", {
48266
+ /* @__PURE__ */ jsx126("path", {
47854
48267
  d: "M188.574 13.6427V16.0207H187.088H185.602V17.9825V19.9443H187.076H188.563L188.598 23.8323C188.646 27.4587 188.67 27.7917 188.907 28.5051C189.383 29.9437 190.477 30.9781 191.963 31.43C192.819 31.6915 194.757 31.7629 195.827 31.5726L196.719 31.4181L196.755 29.6108L196.79 27.8154L195.482 27.7679C194.032 27.7322 193.723 27.6014 193.271 26.8286C193.045 26.4481 193.033 26.2103 193.033 23.2141V20.0038L194.971 19.9681L196.897 19.9443V17.9825V16.0207H194.935H192.974V13.6427V11.2647H190.774H188.574V13.6427Z",
47855
48268
  fill: "var(--text-color)"
47856
48269
  }),
47857
- /* @__PURE__ */ jsx124("path", {
48270
+ /* @__PURE__ */ jsx126("path", {
47858
48271
  d: "M109.768 15.8423C106.82 16.3774 104.763 18.6959 105.048 21.1809C105.321 23.654 106.736 24.8192 110.196 25.4137C110.957 25.5445 111.813 25.7466 112.087 25.8417C113.775 26.46 113.145 28.3862 111.266 28.3862C110.089 28.3862 109.233 27.8511 108.829 26.8999C108.71 26.6027 108.532 26.3649 108.437 26.3649C108.341 26.3649 107.485 26.5789 106.534 26.8286C104.81 27.2804 104.81 27.2923 104.822 27.6252C104.87 28.6834 106.273 30.3837 107.652 31.0614C109.804 32.1196 112.8 32.0839 114.869 30.9901C115.796 30.4907 116.783 29.4206 117.104 28.5764C117.616 27.1972 117.544 25.6039 116.902 24.4268C116.141 23.0238 114.477 22.1797 111.778 21.8467C110.47 21.6803 109.673 21.4187 109.447 21.0977C108.936 20.3605 109.554 19.3261 110.612 19.1715C111.742 19.0051 112.574 19.3974 113.074 20.3367C113.24 20.6459 113.43 20.8955 113.49 20.8955C113.561 20.8955 114.417 20.6815 115.392 20.4318C117.425 19.9206 117.342 20.0157 116.759 18.8029C116.046 17.3167 114.405 16.1753 112.515 15.8423C111.385 15.6402 110.898 15.6402 109.768 15.8423Z",
47859
48272
  fill: "var(--text-color)"
47860
48273
  }),
47861
- /* @__PURE__ */ jsx124("path", {
48274
+ /* @__PURE__ */ jsx126("path", {
47862
48275
  d: "M70.1511 15.9493C69.4496 16.1515 68.9146 16.4249 68.1655 16.9838L67.5353 17.4593V16.7341V16.0207H65.3357H63.1361V23.7491V31.4775H65.3952H67.6424L67.678 26.6265C67.7137 21.9299 67.7256 21.7754 67.9753 21.3117C68.4865 20.3605 69.2237 19.9443 70.3889 19.9443C71.5541 19.9443 72.2675 20.3961 72.7312 21.4306C72.9215 21.8586 72.9452 22.3937 72.9809 26.6859L73.0166 31.4775H75.2043H77.3921L77.4277 26.6265C77.4634 21.9299 77.4753 21.7754 77.725 21.3117C78.2362 20.3486 78.9734 19.9443 80.1624 19.9443C81.0304 19.9443 81.7557 20.2297 82.1361 20.7172C82.7068 21.4425 82.7544 21.9181 82.7544 26.8642V31.4775H85.0254H87.2963L87.2488 26.0914C87.2012 20.9431 87.1893 20.6815 86.9396 19.9324C86.4284 18.3749 85.4058 17.2216 83.8602 16.4487C82.9565 15.9969 81.9102 15.7829 80.5548 15.7829C78.7832 15.7829 77.5942 16.1515 76.5003 17.0432L76.0009 17.4356L75.561 17.0194C74.6574 16.1634 73.4684 15.7829 71.8276 15.7948C71.1974 15.7948 70.4484 15.8661 70.1511 15.9493Z",
47863
48276
  fill: "var(--text-color)"
47864
48277
  }),
47865
- /* @__PURE__ */ jsx124("path", {
48278
+ /* @__PURE__ */ jsx126("path", {
47866
48279
  d: "M149.064 15.9018C148.434 16.0682 147.459 16.5676 146.877 17.0551L146.365 17.4593V16.746V16.0207H144.166H141.966V23.7491V31.4775H144.154H146.353L146.401 26.8048C146.425 23.7253 146.484 22.0013 146.579 21.7278C146.781 21.1333 147.4 20.4199 147.959 20.1702C148.624 19.873 149.801 19.873 150.384 20.1702C150.943 20.4556 151.169 20.7053 151.466 21.3711C151.704 21.8824 151.716 22.1321 151.716 26.6859V31.4775H153.975H156.234V26.8286C156.234 21.7873 156.258 21.5614 156.864 20.8242C157.363 20.2178 158.017 19.9443 158.98 19.9443C160.134 19.9443 160.704 20.2654 161.168 21.1928L161.525 21.9062L161.561 26.6859L161.596 31.4775H163.796H165.984V26.1509C165.984 20.3961 165.96 20.194 165.318 18.9218C164.628 17.5664 162.833 16.2704 161.133 15.9137C160.324 15.7472 158.445 15.7472 157.637 15.9137C156.793 16.092 155.913 16.52 155.306 17.0432L154.807 17.4712L154.201 16.9243C153.321 16.1277 152.536 15.878 150.883 15.8304C150.134 15.8067 149.314 15.8423 149.064 15.9018Z",
47867
48280
  fill: "var(--text-color)"
47868
48281
  }),
47869
- /* @__PURE__ */ jsx124("path", {
48282
+ /* @__PURE__ */ jsx126("path", {
47870
48283
  d: "M173.95 15.8661C171.203 16.2823 168.849 18.4224 167.934 21.3236C167.232 23.5351 167.541 26.2103 168.742 28.2435C169.23 29.0758 170.49 30.3718 171.239 30.8117C172.583 31.5964 174.211 31.9056 175.924 31.7153C177.267 31.5727 178.385 31.2278 179.074 30.7641L179.598 30.4193L179.633 30.9425L179.669 31.4775H181.869H184.056V23.8086V16.1396H181.857H179.657V16.6746V17.2216L179.122 16.853C177.957 16.0563 175.614 15.6045 173.95 15.8661ZM177.113 20.0038C178.04 20.2891 178.813 20.955 179.3 21.8943C179.693 22.6552 179.716 22.786 179.716 23.7967C179.705 24.6408 179.657 24.9975 179.455 25.4375C179.098 26.2222 178.313 27.0188 177.529 27.3993C176.97 27.6847 176.72 27.7322 175.912 27.7203C175.127 27.7203 174.842 27.6609 174.283 27.3993C173.486 27.0069 172.844 26.3292 172.428 25.4256C171.976 24.4625 171.976 23.0238 172.428 22.0607C173.248 20.2891 175.21 19.4331 177.113 20.0038Z",
47871
48284
  fill: "var(--text-color)"
47872
48285
  }),
47873
- /* @__PURE__ */ jsx124("path", {
48286
+ /* @__PURE__ */ jsx126("path", {
47874
48287
  d: "M203.615 15.9612C200.607 16.6152 198.181 18.9575 197.432 21.9062C197.004 23.5708 197.29 25.9725 198.11 27.649C198.669 28.7904 200.215 30.3123 201.416 30.9068C202.902 31.6202 203.615 31.7748 205.577 31.7629C207.099 31.7629 207.408 31.7272 208.217 31.4538C210.369 30.7404 211.831 29.5276 212.723 27.7441C213.02 27.1258 213.186 26.674 213.115 26.6146C212.996 26.4957 209.501 25.4137 209.251 25.4137C209.156 25.4137 209.013 25.5564 208.942 25.7347C208.656 26.3768 208.062 26.9475 207.301 27.328C206.635 27.6609 206.409 27.7084 205.577 27.7084C204.745 27.7084 204.531 27.6609 203.853 27.328C201.094 25.9606 201.118 21.5733 203.889 20.2178C204.471 19.9325 204.709 19.8849 205.577 19.8849C206.362 19.8849 206.718 19.9443 207.135 20.1465C207.8 20.4437 208.538 21.1571 208.823 21.7516L209.025 22.1915L209.596 22.0132C209.905 21.9181 210.809 21.6446 211.617 21.4068L213.079 20.9669L212.996 20.6102C212.961 20.408 212.735 19.8849 212.509 19.445C211.665 17.8161 209.715 16.4368 207.634 15.9731C206.599 15.7472 204.614 15.7353 203.615 15.9612Z",
47875
48288
  fill: "var(--text-color)"
47876
48289
  }),
47877
- /* @__PURE__ */ jsx124("path", {
48290
+ /* @__PURE__ */ jsx126("path", {
47878
48291
  d: "M119.256 23.7491V31.4775H121.456H123.656V23.7491V16.0207H121.456H119.256V23.7491Z",
47879
48292
  fill: "var(--text-color)"
47880
48293
  }),
47881
- /* @__PURE__ */ jsx124("path", {
48294
+ /* @__PURE__ */ jsx126("path", {
47882
48295
  d: "M125.082 16.0801C125.082 16.1158 126.283 17.8517 127.746 19.9443L130.409 23.7491L127.686 27.5539C126.188 29.6584 124.964 31.3943 124.964 31.4181C124.964 31.4537 126.057 31.4775 127.401 31.4775H129.838L131.277 29.2779C132.074 28.0651 132.763 27.0783 132.811 27.0783C132.858 27.0783 133.548 28.0651 134.333 29.2779L135.771 31.4775H138.28H140.801L140.385 30.9068C138.661 28.5407 135.308 23.7372 135.308 23.6421C135.308 23.5826 136.473 21.9062 137.9 19.9206C139.326 17.9231 140.539 16.2347 140.587 16.1634C140.646 16.0563 140.087 16.0207 138.221 16.0207H135.771L134.333 18.2203C133.548 19.4212 132.858 20.3961 132.823 20.3724C132.787 20.3486 132.133 19.3498 131.384 18.1727L130.017 16.0207H127.556C126.188 16.0207 125.082 16.0445 125.082 16.0801Z",
47883
48296
  fill: "var(--text-color)"
47884
48297
  }),
47885
- /* @__PURE__ */ jsx124("path", {
48298
+ /* @__PURE__ */ jsx126("path", {
47886
48299
  d: "M88.9728 21.0382C89.0323 26.5076 89.0679 26.7929 89.8527 28.291C90.9228 30.3361 93.051 31.6083 95.7144 31.7986C98.5561 32.0007 101.41 30.5501 102.575 28.3267C103.336 26.8643 103.36 26.6978 103.407 21.1571L103.455 16.1396H101.196H98.9246V20.8123C98.9246 26.1033 98.9009 26.2698 98.0924 27.0069C97.0579 27.9343 95.2269 27.8987 94.2638 26.9356C93.491 26.1627 93.4553 25.8655 93.4553 20.6934V16.1396H91.1843H88.9134L88.9728 21.0382Z",
47887
48300
  fill: "var(--text-color)"
47888
48301
  })
@@ -47899,11 +48312,11 @@ var TrustedByBanner = () => {
47899
48312
  className: "-mt-2",
47900
48313
  xmlns: "http://www.w3.org/2000/svg",
47901
48314
  children: [
47902
- /* @__PURE__ */ jsx124("path", {
48315
+ /* @__PURE__ */ jsx126("path", {
47903
48316
  d: "M16.4128 26.0434H11.2775C9.66644 26.0434 8.15605 26.4461 7.04844 27.6544L0.302047 35.4078C5.23597 35.7098 10.3713 35.7098 13.9962 35.7098C32.4229 35.7098 35.343 24.6337 35.4437 19.0956C33.8326 21.1094 28.9994 26.0434 16.4128 26.0434ZM33.1278 8.22082C33.0271 9.12705 32.5236 13.0541 21.4474 13.0541C12.4858 13.0541 8.8609 13.054 -3.05176e-05 12.8527L6.64567 20.5053C7.95467 22.0157 9.76713 22.5191 11.781 22.6198C13.9962 22.6198 17.017 22.7205 17.4198 22.7205C29.8049 22.7205 35.0409 16.9811 35.0409 12.8527C35.1416 10.6374 34.4368 9.22774 33.1278 8.22082Z",
47904
48317
  fill: "var(--light-text-color)"
47905
48318
  }),
47906
- /* @__PURE__ */ jsx124("path", {
48319
+ /* @__PURE__ */ jsx126("path", {
47907
48320
  d: "M68.0509 9.70953H75.3052V27.0081C75.3052 28.9054 74.8588 30.5795 74.0776 31.9187C73.2963 33.258 72.2919 34.1508 70.9526 34.8204C69.6134 35.49 68.1625 35.7132 66.4885 35.7132C64.8144 35.7132 63.3636 35.3784 62.0243 34.8204C60.6851 34.1508 59.6807 33.258 58.8994 31.9187C58.7878 31.8071 58.7878 31.5839 58.6762 31.4723C58.5646 31.5839 58.5646 31.8071 58.453 31.9187C57.6718 33.258 56.6673 34.1508 55.3281 34.8204C53.9889 35.49 52.538 35.7132 50.8639 35.7132C49.1899 35.7132 47.739 35.3784 46.5114 34.8204C45.1722 34.1508 44.1677 33.258 43.3865 31.9187C42.6053 30.5795 42.2704 29.017 42.2704 27.0081L42.0472 9.70953H49.3015V25.6689C49.3015 26.7849 49.5247 27.5662 50.0827 28.0126C50.6407 28.459 51.3104 28.6822 52.0916 28.6822C52.8728 28.6822 53.654 28.459 54.2121 28.0126C54.7701 27.5662 55.1049 26.7849 55.1049 25.6689V9.70953H57.7834H59.6807H62.3592V25.6689C62.3592 26.7849 62.694 27.5662 63.252 28.0126C63.81 28.459 64.5912 28.6822 65.3725 28.6822C66.1537 28.6822 66.8233 28.459 67.3813 28.0126C67.8277 27.5662 68.0509 26.7849 68.0509 25.6689V9.70953ZM85.796 0.446408C85.2379 0.111596 84.5683 -7.62939e-06 83.7871 -7.62939e-06C83.0059 -7.62939e-06 82.3362 0.111596 81.7782 0.446408C81.2202 0.78122 80.6622 1.22764 80.3274 1.78565C79.9926 2.34367 79.7694 3.0133 79.7694 3.68292C79.7694 4.79896 80.1042 5.69179 80.8854 6.36141C81.6666 7.03104 82.6711 7.36585 83.7871 7.36585C84.5683 7.36585 85.2379 7.25425 85.796 6.91943C86.4656 6.58462 86.912 6.13821 87.2468 5.58019C87.5816 5.02217 87.8048 4.35254 87.8048 3.57132C87.8048 2.79009 87.5816 2.23207 87.2468 1.67405C86.912 1.22764 86.4656 0.78122 85.796 0.446408ZM80.1042 35.1552H87.3584V10.0443H80.1042V35.1552ZM104.211 23.4368C103.876 22.8788 103.318 22.3208 102.871 21.7628C102.425 21.3163 101.867 20.8699 101.309 20.3119C100.862 19.8655 100.528 19.5307 100.193 19.1959C99.9697 18.8611 99.8581 18.5262 99.8581 18.0798C99.8581 17.4102 100.193 16.9638 100.974 16.629C101.755 16.2942 102.648 16.1826 103.764 16.1826H104.88L104.211 9.48632C103.541 9.37472 102.871 9.37472 102.202 9.37472C100.416 9.37472 98.742 9.59793 97.068 10.0443C95.5055 10.4908 94.1663 11.272 93.1618 12.388C92.1574 13.5041 91.5994 14.9549 91.5994 16.8522C91.5994 18.1914 91.8226 19.3075 92.3806 20.3119C92.9386 21.3163 93.6082 22.2092 94.3895 23.102C94.8359 23.5484 95.2823 23.9948 95.7287 24.4412C96.1751 24.8877 96.6215 25.3341 96.8448 25.6689C97.068 26.0037 97.1796 26.3385 97.1796 26.7849C97.1796 27.4546 96.8447 28.0126 96.0635 28.3474C95.2823 28.6822 94.2779 28.9054 92.827 28.9054C92.269 28.9054 91.8226 28.9054 91.5994 28.7938L92.4922 35.49C93.1618 35.7132 93.7198 35.7132 94.5011 35.7132C96.6215 35.7132 98.4072 35.3784 100.081 34.8204C101.755 34.2624 103.095 33.3696 104.099 32.1419C105.103 30.9143 105.55 29.4634 105.55 27.5662C105.55 26.7849 105.438 26.0037 105.215 25.2225C104.88 24.5529 104.657 23.9948 104.211 23.4368ZM117.491 28.0126C116.933 27.4546 116.71 26.6733 116.71 25.6689V16.4058H121.956V10.0443H116.71V3.68292L109.456 5.8034V28.0126C109.456 30.5795 110.014 32.5883 111.018 33.816C112.134 35.0436 113.697 35.7132 115.817 35.7132C116.933 35.7132 117.938 35.6016 118.942 35.49C119.947 35.3784 120.728 35.1552 121.509 34.8204L122.848 28.5706C122.067 28.7938 121.063 28.9054 119.947 28.9054C118.719 28.7938 117.938 28.5706 117.491 28.0126ZM126.531 35.1552H133.786V10.0443H126.531V35.1552ZM132.223 0.446408C131.665 0.111596 130.996 -7.62939e-06 130.214 -7.62939e-06C129.433 -7.62939e-06 128.763 0.111596 128.205 0.446408C127.647 0.78122 127.089 1.22764 126.755 1.78565C126.42 2.34367 126.197 3.0133 126.197 3.68292C126.197 4.79896 126.531 5.69179 127.313 6.36141C128.094 7.03104 129.098 7.36585 130.214 7.36585C130.996 7.36585 131.665 7.25425 132.223 6.91943C132.893 6.58462 133.339 6.13821 133.674 5.58019C134.009 5.02217 134.232 4.35254 134.232 3.57132C134.232 2.79009 134.009 2.23207 133.674 1.67405C133.339 1.22764 132.893 0.78122 132.223 0.446408ZM164.477 10.0443V35.1552H157.222V31.0259C156.441 32.2535 155.548 33.258 154.432 34.0392C152.87 35.1552 150.973 35.7132 148.852 35.7132C146.732 35.7132 144.834 35.1552 143.272 34.0392C141.71 32.9231 140.482 31.3607 139.589 29.3518C138.696 27.3429 138.25 25.1109 138.25 22.544C138.25 19.9771 138.696 17.745 139.589 15.8477C140.482 13.8389 141.71 12.2764 143.272 11.1604C144.834 10.0443 146.732 9.48632 148.852 9.48632C150.973 9.48632 152.87 10.0443 154.432 11.1604C155.548 11.9416 156.441 12.946 157.222 14.1737V10.0443H164.477ZM156.664 25.6689C157.222 24.7761 157.446 23.66 157.446 22.544C157.446 21.4279 157.222 20.3119 156.664 19.4191C156.218 18.5262 155.548 17.745 154.656 17.2986C153.763 16.7406 152.87 16.5174 151.754 16.5174C150.749 16.5174 149.745 16.7406 148.852 17.2986C147.959 17.8566 147.29 18.5262 146.843 19.4191C146.285 20.3119 146.062 21.3163 146.062 22.544C146.062 23.66 146.285 24.7761 146.843 25.6689C147.401 26.5617 148.071 27.3429 148.852 27.7894C149.745 28.3474 150.638 28.5706 151.754 28.5706C152.758 28.5706 153.763 28.3474 154.656 27.7894C155.548 27.3429 156.218 26.5617 156.664 25.6689Z",
47908
48321
  fill: "var(--text-color)"
47909
48322
  })
@@ -47913,12 +48326,12 @@ var TrustedByBanner = () => {
47913
48326
  {
47914
48327
  id: "logo5",
47915
48328
  url: "https://www.soundcloud.com/",
47916
- light: /* @__PURE__ */ jsx124("svg", {
48329
+ light: /* @__PURE__ */ jsx126("svg", {
47917
48330
  height: "40",
47918
48331
  viewBox: "0 0 129 57",
47919
48332
  fill: "none",
47920
48333
  xmlns: "http://www.w3.org/2000/svg",
47921
- children: /* @__PURE__ */ jsx124("path", {
48334
+ children: /* @__PURE__ */ jsx126("path", {
47922
48335
  d: "M68.962 1.89524C67.7646 2.35781 67.4474 2.83682 67.4351 3.75787V54.1228C67.4597 55.093 68.2007 55.9034 69.1483 55.9976C69.1893 55.9996 112.847 56.0222 113.134 56.0222C121.898 56.0222 129 48.9199 129 40.1536C129 31.3872 121.898 24.287 113.134 24.287C111.027 24.286 108.941 24.7042 106.997 25.5171C105.734 11.2183 93.7445 -2.25304e-06 79.1141 -2.25304e-06C75.643 0.00545336 72.2022 0.649256 68.964 1.89936M62.4471 5.46073L61.7308 41.2056L62.4471 54.1781C62.4717 55.1257 63.2454 55.9055 64.1951 55.9055C64.6562 55.9018 65.0976 55.7172 65.4241 55.3915C65.7506 55.0657 65.9362 54.6249 65.941 54.1637V54.1761L66.7188 41.2036L65.941 5.45461C65.9165 4.49876 65.1427 3.7149 64.1951 3.7149C63.2474 3.7149 62.4553 4.50079 62.4471 5.46073ZM57.1398 8.42858L56.5259 41.1913C56.5259 41.2118 57.1398 54.3643 57.1398 54.3643C57.1643 55.2547 57.889 55.9875 58.7773 55.9875C59.2089 55.9827 59.6215 55.8099 59.9276 55.5056C60.2338 55.2014 60.4094 54.7897 60.4168 54.3582L61.1064 41.2036L60.4168 8.42645C60.3923 7.52996 59.6656 6.7993 58.7793 6.7993C58.3481 6.80456 57.9359 6.97771 57.6302 7.28189C57.3245 7.58607 57.1495 7.99738 57.142 8.42858M41.2713 11.863L40.4588 41.1933L41.2733 54.6611C41.2938 55.3816 41.8872 55.9506 42.579 55.9506C43.2708 55.9506 43.8625 55.3775 43.885 54.655V54.6488L44.7999 41.1913L43.885 11.861C43.8604 11.1303 43.2872 10.5613 42.579 10.5613C41.8708 10.5613 41.2898 11.1303 41.2693 11.861M46.5171 12.6122L45.7721 41.1953L46.5191 54.5301C46.5437 55.314 47.1577 55.9343 47.9375 55.9343C48.7174 55.9343 49.3294 55.312 49.3539 54.522V54.5301L50.1727 41.1933L49.3539 12.6101C49.3294 11.818 48.7112 11.1978 47.9375 11.1978C47.1639 11.1978 46.5356 11.82 46.5171 12.6101M36.0642 12.8148L35.1842 41.1892L36.0642 54.7388C36.0711 55.0527 36.1999 55.3516 36.4234 55.5721C36.647 55.7926 36.9477 55.9173 37.2617 55.9199C37.9064 55.9199 38.4324 55.402 38.459 54.7327L39.4496 41.1892L38.459 12.8127C38.4324 12.1475 37.9064 11.6257 37.2617 11.6257C36.9467 11.6283 36.6451 11.7538 36.4214 11.9756C36.1978 12.1974 36.0695 12.4978 36.0642 12.8127M51.808 13.6561L51.1244 41.1933L51.808 54.4461C51.8325 55.2915 52.4979 55.9567 53.3371 55.9567C54.1762 55.9567 54.8435 55.2915 54.8619 54.438V54.4483L55.6272 41.1953L54.8619 13.6539C54.8581 13.2511 54.6962 12.8658 54.4109 12.5813C54.1256 12.2968 53.7399 12.1359 53.3371 12.1332C52.5184 12.1332 51.8223 12.8026 51.808 13.6561ZM30.8982 14.9946C30.8982 14.9967 29.9566 41.1831 29.9566 41.1831L30.8982 54.8719C30.9066 55.1562 31.0241 55.4263 31.2266 55.6261C31.429 55.8258 31.7008 55.9398 31.9851 55.9444C32.5643 55.9444 33.041 55.4736 33.0697 54.8678L34.1341 41.1831L33.0697 14.9946C33.039 14.3908 32.5623 13.918 31.9851 13.918C31.7001 13.9227 31.4278 14.0372 31.2253 14.2378C31.0228 14.4385 30.9056 14.7097 30.8982 14.9946ZM25.7751 19.866L24.7659 41.1831L25.7751 54.9578C25.8017 55.4961 26.2296 55.9199 26.7515 55.9199C27.0066 55.9138 27.2498 55.8107 27.4316 55.6316C27.6133 55.4525 27.7198 55.2108 27.7296 54.9558V54.96L28.872 41.1851L27.7296 19.868C27.6969 19.3276 27.2673 18.9019 26.7515 18.9019C26.2357 18.9019 25.8017 19.3256 25.7751 19.866ZM15.6516 27.0563L14.5138 41.179L15.6516 54.8412C15.6844 55.2648 16.008 55.5821 16.4092 55.5821C16.8103 55.5821 17.1296 55.2648 17.1665 54.8412L18.4559 41.179L17.1665 27.0522C17.1296 26.6326 16.8062 26.3112 16.4092 26.3112C16.0121 26.3112 15.6823 26.6306 15.6516 27.0563ZM10.6514 27.4308C10.6514 27.4329 9.44385 41.177 9.44385 41.177L10.6514 54.4195C10.6882 54.788 10.9585 55.0337 11.2982 55.0337C11.638 55.0337 11.9042 54.7676 11.9431 54.3992L13.3103 41.1565L11.9451 27.4103C11.9042 27.0419 11.6319 26.7758 11.2982 26.7758C10.9646 26.7758 10.6841 27.0419 10.6514 27.4103M20.6929 28.0592L19.6205 41.1585L20.6929 54.9334C20.7256 55.4184 21.0942 55.7888 21.5588 55.7888C22.0235 55.7888 22.3898 55.4204 22.4246 54.9354L23.6423 41.1606L22.4246 28.0531C22.3877 27.5721 22.0194 27.2057 21.5588 27.2057C21.0983 27.2057 20.7236 27.57 20.6929 28.0592ZM5.69409 29.5738C5.69409 29.5758 4.4251 41.1585 4.4251 41.1585L5.69409 52.4894C5.73093 52.7924 5.9603 53.0094 6.23252 53.0094C6.50474 53.0094 6.72376 52.7965 6.7647 52.4916L8.20559 41.1585L6.7647 29.5738C6.71762 29.2668 6.49869 29.0539 6.22852 29.0539C5.95835 29.0539 5.72693 29.2729 5.69009 29.5738M0.941686 33.9948L0 41.1585L0.941686 48.1994C0.978528 48.4962 1.19125 48.705 1.45938 48.705C1.7275 48.705 1.93013 48.4962 1.97107 48.2015L3.08865 41.1565L1.97107 33.9928C1.93013 33.698 1.71727 33.4913 1.45938 33.4913C1.20148 33.4913 0.976481 33.7 0.941686 33.9948Z",
47923
48336
  fill: "var(--text-color)"
47924
48337
  })
@@ -47927,13 +48340,13 @@ var TrustedByBanner = () => {
47927
48340
  ];
47928
48341
  return /* @__PURE__ */ jsxs48(Fragment16, {
47929
48342
  children: [
47930
- /* @__PURE__ */ jsx124("h3", {
48343
+ /* @__PURE__ */ jsx126("h3", {
47931
48344
  className: "text-center mt-20 mb-10",
47932
48345
  children: "Trusted by"
47933
48346
  }),
47934
- /* @__PURE__ */ jsx124("div", {
48347
+ /* @__PURE__ */ jsx126("div", {
47935
48348
  className: "text-center flex flex-col lg:flex-row flex-nowrap justify-center items-center gap-10 mb-20",
47936
- children: logos.map((logo) => /* @__PURE__ */ jsx124("a", {
48349
+ children: logos.map((logo) => /* @__PURE__ */ jsx126("a", {
47937
48350
  href: logo.url,
47938
48351
  target: "_blank",
47939
48352
  className: "opacity-80 hover:opacity-100 transition-opacity",
@@ -47955,8 +48368,8 @@ import { forwardRef as forwardRef41, useEffect as useEffect66, useImperativeHand
47955
48368
  // src/components/homepage/VideoPlayerWithControls.tsx
47956
48369
  import Hls from "hls.js";
47957
48370
  import"plyr/dist/plyr.css";
47958
- import { forwardRef as forwardRef40, useCallback as useCallback58, useEffect as useEffect65, useRef as useRef63, useState as useState64 } from "react";
47959
- import { jsx as jsx126 } from "react/jsx-runtime";
48371
+ import { forwardRef as forwardRef40, useCallback as useCallback57, useEffect as useEffect65, useRef as useRef63, useState as useState64 } from "react";
48372
+ import { jsx as jsx127 } from "react/jsx-runtime";
47960
48373
  var useCombinedRefs = function(...refs) {
47961
48374
  const targetRef = useRef63(null);
47962
48375
  useEffect65(() => {
@@ -47977,8 +48390,8 @@ var VideoPlayerWithControls = forwardRef40(({ playbackId, poster, currentTime, o
47977
48390
  const metaRef = useCombinedRefs(ref, videoRef);
47978
48391
  const playerRef = useRef63(null);
47979
48392
  const [playerInitTime] = useState64(Date.now());
47980
- const videoError = useCallback58((event) => onError(event), [onError]);
47981
- const onImageLoad = useCallback58((event) => {
48393
+ const videoError = useCallback57((event) => onError(event), [onError]);
48394
+ const onImageLoad = useCallback57((event) => {
47982
48395
  const [w, h] = [event.target.width, event.target.height];
47983
48396
  if (w && h) {
47984
48397
  onSize({ width: w, height: h });
@@ -48042,9 +48455,9 @@ var VideoPlayerWithControls = forwardRef40(({ playbackId, poster, currentTime, o
48042
48455
  video.currentTime = currentTime;
48043
48456
  }
48044
48457
  }, [currentTime]);
48045
- return /* @__PURE__ */ jsx126("div", {
48458
+ return /* @__PURE__ */ jsx127("div", {
48046
48459
  className: "video-container",
48047
- children: /* @__PURE__ */ jsx126("video", {
48460
+ children: /* @__PURE__ */ jsx127("video", {
48048
48461
  ref: metaRef,
48049
48462
  autoPlay,
48050
48463
  poster,
@@ -48055,7 +48468,7 @@ var VideoPlayerWithControls = forwardRef40(({ playbackId, poster, currentTime, o
48055
48468
  });
48056
48469
 
48057
48470
  // src/components/homepage/MuxVideo.tsx
48058
- import { jsx as jsx127 } from "react/jsx-runtime";
48471
+ import { jsx as jsx128 } from "react/jsx-runtime";
48059
48472
  var getVideoToPlayUrl = (muxId) => {
48060
48473
  return `https://stream.mux.com/${muxId}.m3u8`;
48061
48474
  };
@@ -48083,7 +48496,7 @@ var MuxVideoForward = ({ muxId, ...props }, ref) => {
48083
48496
  }
48084
48497
  };
48085
48498
  }, [vidUrl, videoRef]);
48086
- return /* @__PURE__ */ jsx127("video", {
48499
+ return /* @__PURE__ */ jsx128("video", {
48087
48500
  ref: videoRef,
48088
48501
  ...props
48089
48502
  });
@@ -48091,7 +48504,7 @@ var MuxVideoForward = ({ muxId, ...props }, ref) => {
48091
48504
  var MuxVideo = forwardRef41(MuxVideoForward);
48092
48505
 
48093
48506
  // src/components/homepage/VideoAppsShowcase.tsx
48094
- import { jsx as jsx128, jsxs as jsxs49 } from "react/jsx-runtime";
48507
+ import { jsx as jsx129, jsxs as jsxs49 } from "react/jsx-runtime";
48095
48508
  var tabs = [
48096
48509
  "Music visualization",
48097
48510
  "Captions",
@@ -48142,11 +48555,11 @@ var icon6 = {
48142
48555
  height: 16,
48143
48556
  marginLeft: 10
48144
48557
  };
48145
- var Arrow4 = () => /* @__PURE__ */ jsx128("svg", {
48558
+ var Arrow4 = () => /* @__PURE__ */ jsx129("svg", {
48146
48559
  style: icon6,
48147
48560
  xmlns: "http://www.w3.org/2000/svg",
48148
48561
  viewBox: "0 0 448 512",
48149
- children: /* @__PURE__ */ jsx128("path", {
48562
+ children: /* @__PURE__ */ jsx129("path", {
48150
48563
  fill: "currentColor",
48151
48564
  d: "M438.6 278.6l-160 160C272.4 444.9 264.2 448 256 448s-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L338.8 288H32C14.33 288 .0016 273.7 .0016 256S14.33 224 32 224h306.8l-105.4-105.4c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160C451.1 245.9 451.1 266.1 438.6 278.6z"
48152
48565
  })
@@ -48201,12 +48614,12 @@ var BuiltWithRemotionShowcase = () => {
48201
48614
  return /* @__PURE__ */ jsxs49("div", {
48202
48615
  ref: containerRef,
48203
48616
  children: [
48204
- /* @__PURE__ */ jsx128(SectionTitle, {
48617
+ /* @__PURE__ */ jsx129(SectionTitle, {
48205
48618
  children: "Built with Remotion"
48206
48619
  }),
48207
- /* @__PURE__ */ jsx128("div", {
48620
+ /* @__PURE__ */ jsx129("div", {
48208
48621
  className: "flex flex-wrap justify-center gap-x-8 gap-y-3 mb-6 mt-1",
48209
- children: tabs.map((tab, index2) => /* @__PURE__ */ jsx128("button", {
48622
+ children: tabs.map((tab, index2) => /* @__PURE__ */ jsx129("button", {
48210
48623
  type: "button",
48211
48624
  "data-active": index2 === activeTab,
48212
48625
  className: `bg-transparent border-none m-0 p-0 cursor-pointer text-sm fontbrand font-bold transition-colors text-muted data-[active=true]:text-brand`,
@@ -48214,7 +48627,7 @@ var BuiltWithRemotionShowcase = () => {
48214
48627
  children: tab
48215
48628
  }, tab))
48216
48629
  }),
48217
- /* @__PURE__ */ jsx128("div", {
48630
+ /* @__PURE__ */ jsx129("div", {
48218
48631
  className: "card flex p-0 overflow-hidden",
48219
48632
  "data-nosnippet": true,
48220
48633
  children: /* @__PURE__ */ jsxs49("div", {
@@ -48224,7 +48637,7 @@ var BuiltWithRemotionShowcase = () => {
48224
48637
  className: "w-full aspect-video lg:aspect-square relative overflow-hidden bg-[#eee] cursor-pointer",
48225
48638
  onClick: handlePlayPause,
48226
48639
  children: [
48227
- videoLoaded ? /* @__PURE__ */ jsx128(MuxVideo, {
48640
+ videoLoaded ? /* @__PURE__ */ jsx129(MuxVideo, {
48228
48641
  ref: videoRef,
48229
48642
  muxId: videoApps[activeTab].muxId,
48230
48643
  className: "absolute left-0 top-0 w-full h-full object-contain rounded-sm rounded-tr-none rounded-br-none",
@@ -48233,26 +48646,26 @@ var BuiltWithRemotionShowcase = () => {
48233
48646
  muted: isMuted,
48234
48647
  autoPlay: true,
48235
48648
  onPlay: () => setIsPlaying(true)
48236
- }) : /* @__PURE__ */ jsx128("img", {
48649
+ }) : /* @__PURE__ */ jsx129("img", {
48237
48650
  src: `https://image.mux.com/${videoApps[activeTab].muxId}/thumbnail.png?time=1`,
48238
48651
  className: "absolute left-0 top-0 w-full h-full object-contain rounded-sm rounded-tr-none rounded-br-none",
48239
48652
  alt: videoApps[activeTab].title
48240
48653
  }),
48241
- /* @__PURE__ */ jsx128("button", {
48654
+ /* @__PURE__ */ jsx129("button", {
48242
48655
  type: "button",
48243
48656
  className: "absolute bottom-2.5 left-2.5 bg-white text-black rounded-full w-8 h-8 flex justify-center items-center text-base cursor-pointer transition-colors border-2 border-black border-solid",
48244
48657
  onClick: (e) => {
48245
48658
  e.stopPropagation();
48246
48659
  handlePlayPause();
48247
48660
  },
48248
- children: isPlaying ? /* @__PURE__ */ jsx128(PlayingIcon, {
48661
+ children: isPlaying ? /* @__PURE__ */ jsx129(PlayingIcon, {
48249
48662
  style: {
48250
48663
  width: 12,
48251
48664
  height: 20,
48252
48665
  marginLeft: "2px",
48253
48666
  marginTop: "1px"
48254
48667
  }
48255
- }) : /* @__PURE__ */ jsx128(PausedIcon, {
48668
+ }) : /* @__PURE__ */ jsx129(PausedIcon, {
48256
48669
  style: {
48257
48670
  width: 14,
48258
48671
  height: 16,
@@ -48261,20 +48674,20 @@ var BuiltWithRemotionShowcase = () => {
48261
48674
  }
48262
48675
  })
48263
48676
  }),
48264
- /* @__PURE__ */ jsx128("button", {
48677
+ /* @__PURE__ */ jsx129("button", {
48265
48678
  type: "button",
48266
48679
  className: "absolute bottom-2.5 right-2.5 bg-white text-black rounded-full w-8 h-8 flex justify-center items-center text-base cursor-pointer transition-colors border-2 border-black border-solid",
48267
48680
  onClick: (e) => {
48268
48681
  e.stopPropagation();
48269
48682
  handleMuteToggle();
48270
48683
  },
48271
- children: isMuted ? /* @__PURE__ */ jsx128(IsMutedIcon, {
48684
+ children: isMuted ? /* @__PURE__ */ jsx129(IsMutedIcon, {
48272
48685
  style: {
48273
48686
  width: 16,
48274
48687
  height: 16,
48275
48688
  marginTop: "1px"
48276
48689
  }
48277
- }) : /* @__PURE__ */ jsx128(NotMutedIcon, {
48690
+ }) : /* @__PURE__ */ jsx129(NotMutedIcon, {
48278
48691
  style: {
48279
48692
  width: 16,
48280
48693
  height: 16,
@@ -48287,19 +48700,19 @@ var BuiltWithRemotionShowcase = () => {
48287
48700
  /* @__PURE__ */ jsxs49("div", {
48288
48701
  className: "p-6 lg:p-10 flex min-w-0 flex-col justify-center",
48289
48702
  children: [
48290
- /* @__PURE__ */ jsx128("div", {
48703
+ /* @__PURE__ */ jsx129("div", {
48291
48704
  className: "text-3xl font-bold fontbrand mt-0",
48292
48705
  children: videoApps[activeTab].title
48293
48706
  }),
48294
- /* @__PURE__ */ jsx128("div", {
48707
+ /* @__PURE__ */ jsx129("div", {
48295
48708
  className: "text-muted mt-3 text-base fontbrand leading-relaxed",
48296
48709
  children: videoApps[activeTab].description
48297
48710
  }),
48298
- videoApps[activeTab].additionalInfo ? /* @__PURE__ */ jsx128("div", {
48711
+ videoApps[activeTab].additionalInfo ? /* @__PURE__ */ jsx129("div", {
48299
48712
  className: "text-muted mt-4 text-base fontbrand",
48300
48713
  children: videoApps[activeTab].additionalInfo
48301
48714
  }) : null,
48302
- /* @__PURE__ */ jsx128("div", {
48715
+ /* @__PURE__ */ jsx129("div", {
48303
48716
  className: "h-5"
48304
48717
  }),
48305
48718
  /* @__PURE__ */ jsxs49("a", {
@@ -48307,7 +48720,7 @@ var BuiltWithRemotionShowcase = () => {
48307
48720
  href: videoApps[activeTab].link,
48308
48721
  children: [
48309
48722
  videoApps[activeTab].buttonText,
48310
- /* @__PURE__ */ jsx128(Arrow4, {})
48723
+ /* @__PURE__ */ jsx129(Arrow4, {})
48311
48724
  ]
48312
48725
  })
48313
48726
  ]
@@ -48315,7 +48728,7 @@ var BuiltWithRemotionShowcase = () => {
48315
48728
  ]
48316
48729
  })
48317
48730
  }),
48318
- /* @__PURE__ */ jsx128("div", {
48731
+ /* @__PURE__ */ jsx129("div", {
48319
48732
  style: {
48320
48733
  marginTop: "1rem",
48321
48734
  justifyContent: "center",
@@ -48328,7 +48741,7 @@ var BuiltWithRemotionShowcase = () => {
48328
48741
  children: [
48329
48742
  "For more examples of products and workflows, see our",
48330
48743
  " ",
48331
- /* @__PURE__ */ jsx128("a", {
48744
+ /* @__PURE__ */ jsx129("a", {
48332
48745
  href: "/showcase",
48333
48746
  className: "bluelink",
48334
48747
  children: "Showcase page"
@@ -48980,13 +49393,13 @@ var CreateVideoInternals = {
48980
49393
  };
48981
49394
 
48982
49395
  // src/components/icons/blank.tsx
48983
- import { jsx as jsx129 } from "react/jsx-runtime";
49396
+ import { jsx as jsx130 } from "react/jsx-runtime";
48984
49397
  var Blank = (props) => {
48985
- return /* @__PURE__ */ jsx129("svg", {
49398
+ return /* @__PURE__ */ jsx130("svg", {
48986
49399
  xmlns: "http://www.w3.org/2000/svg",
48987
49400
  viewBox: "0 0 384 512",
48988
49401
  ...props,
48989
- children: /* @__PURE__ */ jsx129("path", {
49402
+ children: /* @__PURE__ */ jsx130("path", {
48990
49403
  fill: "currentColor",
48991
49404
  d: "M0 64C0 28.65 28.65 0 64 0H220.1C232.8 0 245.1 5.057 254.1 14.06L369.9 129.9C378.9 138.9 384 151.2 384 163.9V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V64zM352 192H240C213.5 192 192 170.5 192 144V32H64C46.33 32 32 46.33 32 64V448C32 465.7 46.33 480 64 480H320C337.7 480 352 465.7 352 448V192zM347.3 152.6L231.4 36.69C229.4 34.62 226.8 33.18 224 32.48V144C224 152.8 231.2 160 240 160H351.5C350.8 157.2 349.4 154.6 347.3 152.6z"
48992
49405
  })
@@ -48994,7 +49407,7 @@ var Blank = (props) => {
48994
49407
  };
48995
49408
 
48996
49409
  // src/components/icons/brain.tsx
48997
- import { jsx as jsx130, jsxs as jsxs50 } from "react/jsx-runtime";
49410
+ import { jsx as jsx131, jsxs as jsxs50 } from "react/jsx-runtime";
48998
49411
  var BrainIcon = (props) => {
48999
49412
  return /* @__PURE__ */ jsxs50("svg", {
49000
49413
  xmlns: "http://www.w3.org/2000/svg",
@@ -49006,31 +49419,31 @@ var BrainIcon = (props) => {
49006
49419
  strokeLinejoin: "round",
49007
49420
  ...props,
49008
49421
  children: [
49009
- /* @__PURE__ */ jsx130("path", {
49422
+ /* @__PURE__ */ jsx131("path", {
49010
49423
  d: "M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z"
49011
49424
  }),
49012
- /* @__PURE__ */ jsx130("path", {
49425
+ /* @__PURE__ */ jsx131("path", {
49013
49426
  d: "M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z"
49014
49427
  }),
49015
- /* @__PURE__ */ jsx130("path", {
49428
+ /* @__PURE__ */ jsx131("path", {
49016
49429
  d: "M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4"
49017
49430
  }),
49018
- /* @__PURE__ */ jsx130("path", {
49431
+ /* @__PURE__ */ jsx131("path", {
49019
49432
  d: "M17.599 6.5a3 3 0 0 0 .399-1.375"
49020
49433
  }),
49021
- /* @__PURE__ */ jsx130("path", {
49434
+ /* @__PURE__ */ jsx131("path", {
49022
49435
  d: "M6.003 5.125A3 3 0 0 0 6.401 6.5"
49023
49436
  }),
49024
- /* @__PURE__ */ jsx130("path", {
49437
+ /* @__PURE__ */ jsx131("path", {
49025
49438
  d: "M3.477 10.896a4 4 0 0 1 .585-.396"
49026
49439
  }),
49027
- /* @__PURE__ */ jsx130("path", {
49440
+ /* @__PURE__ */ jsx131("path", {
49028
49441
  d: "M19.938 10.5a4 4 0 0 1 .585.396"
49029
49442
  }),
49030
- /* @__PURE__ */ jsx130("path", {
49443
+ /* @__PURE__ */ jsx131("path", {
49031
49444
  d: "M6 18a4 4 0 0 1-1.967-.516"
49032
49445
  }),
49033
- /* @__PURE__ */ jsx130("path", {
49446
+ /* @__PURE__ */ jsx131("path", {
49034
49447
  d: "M19.967 17.484A4 4 0 0 1 18 18"
49035
49448
  })
49036
49449
  ]
@@ -49038,29 +49451,29 @@ var BrainIcon = (props) => {
49038
49451
  };
49039
49452
 
49040
49453
  // src/components/icons/code-hike.tsx
49041
- import { jsx as jsx131, jsxs as jsxs51 } from "react/jsx-runtime";
49454
+ import { jsx as jsx134, jsxs as jsxs51 } from "react/jsx-runtime";
49042
49455
  var CodeHike = (props) => {
49043
49456
  return /* @__PURE__ */ jsxs51("svg", {
49044
49457
  ...props,
49045
49458
  viewBox: "-100 -100 200 200",
49046
49459
  fill: "currentColor",
49047
49460
  children: [
49048
- /* @__PURE__ */ jsx131("path", {
49461
+ /* @__PURE__ */ jsx134("path", {
49049
49462
  d: "M 70 60 L 42 -27 L 72 -27 L 100 60 Z"
49050
49463
  }),
49051
- /* @__PURE__ */ jsx131("path", {
49464
+ /* @__PURE__ */ jsx134("path", {
49052
49465
  d: "M 20.419540229885058 40.05357142857142 L 42 -27 L 72 -27 L 50.41954022988506 40.05357142857142 Z"
49053
49466
  }),
49054
- /* @__PURE__ */ jsx131("path", {
49467
+ /* @__PURE__ */ jsx134("path", {
49055
49468
  d: "M 20.419540229885058 40.05357142857142 L -15 -70 L 15 -70 L 50.41954022988506 40.05357142857142 Z"
49056
49469
  }),
49057
- /* @__PURE__ */ jsx131("path", {
49470
+ /* @__PURE__ */ jsx134("path", {
49058
49471
  d: "M -50.41954022988506 40.05357142857142 L -15 -70 L 15 -70 L -20.419540229885058 40.05357142857142 Z"
49059
49472
  }),
49060
- /* @__PURE__ */ jsx131("path", {
49473
+ /* @__PURE__ */ jsx134("path", {
49061
49474
  d: "M -50.41954022988506 40.05357142857142 L -72 -27 L -42 -27 L -20.419540229885058 40.05357142857142 Z"
49062
49475
  }),
49063
- /* @__PURE__ */ jsx131("path", {
49476
+ /* @__PURE__ */ jsx134("path", {
49064
49477
  d: "M -100 60 L -72 -27 L -42 -27 L -70 60 Z"
49065
49478
  })
49066
49479
  ]
@@ -49068,13 +49481,13 @@ var CodeHike = (props) => {
49068
49481
  };
49069
49482
 
49070
49483
  // src/components/icons/cubes.tsx
49071
- import { jsx as jsx134 } from "react/jsx-runtime";
49484
+ import { jsx as jsx136 } from "react/jsx-runtime";
49072
49485
  var Cubes = (props) => {
49073
- return /* @__PURE__ */ jsx134("svg", {
49486
+ return /* @__PURE__ */ jsx136("svg", {
49074
49487
  xmlns: "http://www.w3.org/2000/svg",
49075
49488
  viewBox: "0 0 512 512",
49076
49489
  ...props,
49077
- children: /* @__PURE__ */ jsx134("path", {
49490
+ children: /* @__PURE__ */ jsx136("path", {
49078
49491
  fill: "currentColor",
49079
49492
  d: "M239.5 5.018C250.1 1.106 261.9 1.106 272.5 5.018L480.5 81.28C499.4 88.22 512 106.2 512 126.4V385.7C512 405.8 499.4 423.8 480.5 430.7L272.5 506.1C261.9 510.9 250.1 510.9 239.5 506.1L31.48 430.7C12.57 423.8 0 405.8 0 385.7V126.4C0 106.2 12.57 88.22 31.48 81.28L239.5 5.018zM261.5 35.06C257.1 33.76 254 33.76 250.5 35.06L44.14 110.7L256 193.1L467.9 110.7L261.5 35.06zM42.49 400.7L240 473.1V222L32 140.3V385.7C32 392.4 36.19 398.4 42.49 400.7V400.7zM272 473.1L469.5 400.7C475.8 398.4 480 392.4 480 385.7V140.3L272 222V473.1z"
49080
49493
  })
@@ -49082,13 +49495,13 @@ var Cubes = (props) => {
49082
49495
  };
49083
49496
 
49084
49497
  // src/components/icons/electron.tsx
49085
- import { jsx as jsx136 } from "react/jsx-runtime";
49498
+ import { jsx as jsx137 } from "react/jsx-runtime";
49086
49499
  var ElectronIcon = ({ style: style4 }) => {
49087
- return /* @__PURE__ */ jsx136("svg", {
49500
+ return /* @__PURE__ */ jsx137("svg", {
49088
49501
  viewBox: "0 0 640 640",
49089
49502
  style: style4,
49090
49503
  xmlns: "http://www.w3.org/2000/svg",
49091
- children: /* @__PURE__ */ jsx136("path", {
49504
+ children: /* @__PURE__ */ jsx137("path", {
49092
49505
  d: "M402 488.7C376.3 484 348.5 475.2 320 462.8C291.4 475.3 263.7 484.1 238 488.7C238.8 490.5 239.6 492.3 240.5 494.1C261.3 538 289.1 559.9 320 559.9C350.9 559.9 378.7 537.9 399.5 494.1C400.3 492.3 401.2 490.5 402 488.7zM320 576C277.2 576 243.6 543.3 221.6 491.2C168.9 497.3 126.6 484.4 106.4 448C85.7 410.9 97 365.2 130 320C97 274.8 85.7 229.1 106.4 192C126.6 155.7 168.9 142.7 221.6 148.8C243.6 96.7 277.3 64 320 64C362.7 64 396.4 96.7 418.4 148.8C471.1 142.7 513.4 155.6 533.6 192C554.3 229.1 543 274.8 510 320C543 365.2 554.3 410.9 533.6 448C513.4 484.3 471.1 497.3 418.4 491.2C396.4 543.3 362.7 576 320 576zM300.3 453.7C286.4 446.9 272.4 439.3 258.3 430.9C242.6 421.5 227.7 411.6 213.8 401.4C217.8 428 223.9 452.4 231.8 473.7C253.1 470.1 276.2 463.4 300.3 453.8zM408.2 473.6C416 452.4 422.1 428 426.2 401.3C412.3 411.6 397.4 421.5 381.7 430.8C367.7 439.2 353.6 446.8 339.7 453.6C363.8 463.2 386.9 469.9 408.2 473.5zM373.5 417.2C393.6 405.2 412.2 392.4 429.1 379.1C431.1 360.3 432.1 340.5 432.1 320.1C432.1 299.7 431.1 279.9 429.1 261.1C412.2 247.8 393.6 235 373.5 223C355.5 212.2 337.6 202.8 320.1 194.8C302.6 202.8 284.7 212.2 266.7 223C246.6 235 228 247.8 211.1 261.1C209.1 279.9 208.1 299.7 208.1 320.1C208.1 340.5 209.1 360.3 211.1 379.1C228 392.4 246.6 405.2 266.7 417.2C284.7 428 302.6 437.4 320.1 445.4C337.6 437.4 355.5 428 373.5 417.2zM424.5 475.8C425.4 475.9 426.3 476 427.2 476C473.5 479.9 504.8 467 519.7 440.2C534.8 413.1 529.6 377.9 503.1 337.9C502 336.3 501 334.7 499.8 333.1C484.5 351.6 465.8 369.9 444.2 387.3C440.4 419.8 433.7 449.7 424.5 475.6zM446.4 364.7C463.2 350.1 477.8 335 489.9 320C477.9 305 463.2 290 446.4 275.3C447.5 289.8 448.1 304.7 448.1 320C448.1 335.3 447.5 350.2 446.4 364.7zM503 302C529.6 262 534.7 226.8 519.6 199.7C504.7 172.9 473.3 160.1 427.1 164C426.2 164.1 425.3 164.2 424.4 164.2C433.6 190.2 440.3 220.1 444.1 252.5C465.7 270 484.4 288.2 499.7 306.7C500.8 305.1 501.9 303.5 503 301.9zM399.5 145.8C378.7 102 351 80 320 80C289 80 261.3 102 240.5 145.8C239.7 147.6 238.8 149.4 238 151.2C263.7 155.9 291.5 164.7 320 177.1C348.6 164.6 376.3 155.8 402 151.2C401.2 149.4 400.4 147.6 399.5 145.8zM408.1 166.4C386.8 170 363.7 176.7 339.6 186.3C353.5 193.1 367.5 200.7 381.6 209.1C397.3 218.5 412.2 228.4 426.1 238.6C422.1 212 416 187.6 408.1 166.3zM231.7 166.4C223.9 187.6 217.8 212 213.7 238.7C227.6 228.4 242.5 218.6 258.2 209.2C272.2 200.8 286.3 193.2 300.2 186.4C276.1 176.8 253 170.1 231.7 166.5zM215.5 164.2C214.6 164.1 213.7 164 212.8 164C166.5 160.1 135.2 173 120.3 199.7C105.2 226.8 110.4 262 136.9 302C138 303.6 139 305.2 140.2 306.8C155.5 288.3 174.2 270 195.8 252.6C199.6 220.1 206.3 190.2 215.5 164.3zM195.8 387.4C174.2 369.9 155.5 351.7 140.2 333.2C139.1 334.8 138 336.4 136.9 338C110.3 378 105.2 413.2 120.3 440.3C135.2 467.1 166.6 479.9 212.8 476.1C213.7 476 214.6 475.9 215.5 475.9C206.3 449.9 199.6 420 195.8 387.6zM193.7 275.3C176.9 289.9 162.3 305 150.2 320C162.2 335 176.9 350 193.7 364.7C192.6 350.2 192 335.3 192 320C192 304.7 192.6 289.8 193.7 275.3zM320 272C346.5 272 368 293.5 368 320C368 346.5 346.5 368 320 368C293.5 368 272 346.5 272 320C272 293.5 293.5 272 320 272zM352 320C352 302.3 337.7 288 320 288C302.3 288 288 302.3 288 320C288 337.7 302.3 352 320 352C337.7 352 352 337.7 352 320z",
49093
49506
  fill: "currentColor"
49094
49507
  })
@@ -49096,13 +49509,13 @@ var ElectronIcon = ({ style: style4 }) => {
49096
49509
  };
49097
49510
 
49098
49511
  // src/components/icons/js.tsx
49099
- import { jsx as jsx137 } from "react/jsx-runtime";
49512
+ import { jsx as jsx138 } from "react/jsx-runtime";
49100
49513
  var JSIcon = (props) => {
49101
- return /* @__PURE__ */ jsx137("svg", {
49514
+ return /* @__PURE__ */ jsx138("svg", {
49102
49515
  className: "svg-inline--fa fa-js-square fa-w-14",
49103
49516
  viewBox: "0 0 448 512",
49104
49517
  ...props,
49105
- children: /* @__PURE__ */ jsx137("path", {
49518
+ children: /* @__PURE__ */ jsx138("path", {
49106
49519
  fill: "currentColor",
49107
49520
  d: "M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM243.8 381.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z"
49108
49521
  })
@@ -49110,13 +49523,13 @@ var JSIcon = (props) => {
49110
49523
  };
49111
49524
 
49112
49525
  // src/components/icons/music.tsx
49113
- import { jsx as jsx138 } from "react/jsx-runtime";
49526
+ import { jsx as jsx139 } from "react/jsx-runtime";
49114
49527
  var MusicIcon = (props) => {
49115
- return /* @__PURE__ */ jsx138("svg", {
49528
+ return /* @__PURE__ */ jsx139("svg", {
49116
49529
  ...props,
49117
49530
  xmlns: "http://www.w3.org/2000/svg",
49118
49531
  viewBox: "0 0 512 512",
49119
- children: /* @__PURE__ */ jsx138("path", {
49532
+ children: /* @__PURE__ */ jsx139("path", {
49120
49533
  fill: "currentColor",
49121
49534
  d: "M499.1 6.3c8.1 6 12.9 15.6 12.9 25.7l0 72 0 264c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6L448 147 192 223.8 192 432c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6L128 200l0-72c0-14.1 9.3-26.6 22.8-30.7l320-96c9.7-2.9 20.2-1.1 28.3 5z"
49122
49535
  })
@@ -49124,7 +49537,7 @@ var MusicIcon = (props) => {
49124
49537
  };
49125
49538
 
49126
49539
  // src/components/icons/next.tsx
49127
- import { jsx as jsx139, jsxs as jsxs54 } from "react/jsx-runtime";
49540
+ import { jsx as jsx140, jsxs as jsxs54 } from "react/jsx-runtime";
49128
49541
  var NextIcon = ({ style: style4 }) => {
49129
49542
  return /* @__PURE__ */ jsxs54("svg", {
49130
49543
  fill: "none",
@@ -49132,7 +49545,7 @@ var NextIcon = ({ style: style4 }) => {
49132
49545
  style: style4,
49133
49546
  xmlns: "http://www.w3.org/2000/svg",
49134
49547
  children: [
49135
- /* @__PURE__ */ jsx139("mask", {
49548
+ /* @__PURE__ */ jsx140("mask", {
49136
49549
  height: "180",
49137
49550
  id: "mask0_292_250",
49138
49551
  maskUnits: "userSpaceOnUse",
@@ -49140,7 +49553,7 @@ var NextIcon = ({ style: style4 }) => {
49140
49553
  width: "180",
49141
49554
  x: "0",
49142
49555
  y: "0",
49143
- children: /* @__PURE__ */ jsx139("circle", {
49556
+ children: /* @__PURE__ */ jsx140("circle", {
49144
49557
  cx: "90",
49145
49558
  cy: "90",
49146
49559
  fill: "currentcolor",
@@ -49150,17 +49563,17 @@ var NextIcon = ({ style: style4 }) => {
49150
49563
  /* @__PURE__ */ jsxs54("g", {
49151
49564
  mask: "url(#mask0_292_250)",
49152
49565
  children: [
49153
- /* @__PURE__ */ jsx139("circle", {
49566
+ /* @__PURE__ */ jsx140("circle", {
49154
49567
  cx: "90",
49155
49568
  cy: "90",
49156
49569
  fill: "currentcolor",
49157
49570
  r: "90"
49158
49571
  }),
49159
- /* @__PURE__ */ jsx139("path", {
49572
+ /* @__PURE__ */ jsx140("path", {
49160
49573
  d: "M149.508 157.52L69.142 54H54V125.97H66.1136V69.3836L139.999 164.845C143.333 162.614 146.509 160.165 149.508 157.52Z",
49161
49574
  fill: "url(#paint0_linear_292_250)"
49162
49575
  }),
49163
- /* @__PURE__ */ jsx139("rect", {
49576
+ /* @__PURE__ */ jsx140("rect", {
49164
49577
  fill: "url(#paint1_linear_292_250)",
49165
49578
  height: "72",
49166
49579
  width: "12",
@@ -49179,10 +49592,10 @@ var NextIcon = ({ style: style4 }) => {
49179
49592
  y1: "116.5",
49180
49593
  y2: "160.5",
49181
49594
  children: [
49182
- /* @__PURE__ */ jsx139("stop", {
49595
+ /* @__PURE__ */ jsx140("stop", {
49183
49596
  stopColor: "var(--background)"
49184
49597
  }),
49185
- /* @__PURE__ */ jsx139("stop", {
49598
+ /* @__PURE__ */ jsx140("stop", {
49186
49599
  offset: "1",
49187
49600
  stopColor: "var(--background)",
49188
49601
  stopOpacity: "0"
@@ -49197,10 +49610,10 @@ var NextIcon = ({ style: style4 }) => {
49197
49610
  y1: "54",
49198
49611
  y2: "106.875",
49199
49612
  children: [
49200
- /* @__PURE__ */ jsx139("stop", {
49613
+ /* @__PURE__ */ jsx140("stop", {
49201
49614
  stopColor: "var(--background)"
49202
49615
  }),
49203
- /* @__PURE__ */ jsx139("stop", {
49616
+ /* @__PURE__ */ jsx140("stop", {
49204
49617
  offset: "1",
49205
49618
  stopColor: "var(--background)",
49206
49619
  stopOpacity: "0"
@@ -49214,7 +49627,7 @@ var NextIcon = ({ style: style4 }) => {
49214
49627
  };
49215
49628
 
49216
49629
  // src/components/icons/overlay.tsx
49217
- import { jsx as jsx140, jsxs as jsxs56 } from "react/jsx-runtime";
49630
+ import { jsx as jsx141, jsxs as jsxs56 } from "react/jsx-runtime";
49218
49631
  var OverlayIcon = (props) => {
49219
49632
  return /* @__PURE__ */ jsxs56("svg", {
49220
49633
  viewBox: "0 0 576 512",
@@ -49222,11 +49635,11 @@ var OverlayIcon = (props) => {
49222
49635
  xmlns: "http://www.w3.org/2000/svg",
49223
49636
  ...props,
49224
49637
  children: [
49225
- /* @__PURE__ */ jsx140("path", {
49638
+ /* @__PURE__ */ jsx141("path", {
49226
49639
  d: "M251.1 407.9C274.5 418.7 301.5 418.7 324.9 407.9V407.8L476.9 337.6L530.1 362.2C538.6 366.1 544 374.6 544 384C544 393.4 538.6 401.9 530.1 405.8L311.5 506.8C296.6 513.7 279.4 513.7 264.5 506.8L45.9 405.8C37.4 401.9 32 393.4 32 384C32 374.6 37.4 366.1 45.9 362.2L99.1 337.7L251.1 407.9Z",
49227
49640
  fill: "currentcolor"
49228
49641
  }),
49229
- /* @__PURE__ */ jsx140("path", {
49642
+ /* @__PURE__ */ jsx141("path", {
49230
49643
  d: "M277.8 132.7L495.2 230.1C505.4 234.7 512 244.8 512 256C512 267.2 505.4 277.3 495.2 281.9L277.8 379.3C270.1 382.4 263.5 384 256 384C248.5 384 241 382.4 234.2 379.3L16.76 281.9C6.561 277.3 0.0003 267.2 0.0003 256C0.0003 244.8 6.561 234.7 16.76 230.1L234.2 132.7C241 129.6 248.5 128 256 128C263.5 128 270.1 129.6 277.8 132.7Z",
49231
49644
  stroke: "currentcolor",
49232
49645
  transform: "translate(32, -25)",
@@ -49237,13 +49650,13 @@ var OverlayIcon = (props) => {
49237
49650
  };
49238
49651
 
49239
49652
  // src/components/icons/prompt-to-video.tsx
49240
- import { jsx as jsx141 } from "react/jsx-runtime";
49653
+ import { jsx as jsx144 } from "react/jsx-runtime";
49241
49654
  var PromptToVideoIcon = (props) => {
49242
- return /* @__PURE__ */ jsx141("svg", {
49655
+ return /* @__PURE__ */ jsx144("svg", {
49243
49656
  xmlns: "http://www.w3.org/2000/svg",
49244
49657
  viewBox: "0 0 512 512",
49245
49658
  ...props,
49246
- children: /* @__PURE__ */ jsx141("path", {
49659
+ children: /* @__PURE__ */ jsx144("path", {
49247
49660
  d: "M278.5 15.6C275 6.2 266 0 256 0s-19 6.2-22.5 15.6L174.2 174.2 15.6 233.5C6.2 237 0 246 0 256s6.2 19 15.6 22.5l158.6 59.4 59.4 158.6C237 505.8 246 512 256 512s19-6.2 22.5-15.6l59.4-158.6 158.6-59.4C505.8 275 512 266 512 256s-6.2-19-15.6-22.5L337.8 174.2 278.5 15.6z",
49248
49661
  fill: "currentColor"
49249
49662
  })
@@ -49251,23 +49664,23 @@ var PromptToVideoIcon = (props) => {
49251
49664
  };
49252
49665
 
49253
49666
  // src/components/icons/recorder.tsx
49254
- import { jsx as jsx144, jsxs as jsxs57 } from "react/jsx-runtime";
49667
+ import { jsx as jsx146, jsxs as jsxs57 } from "react/jsx-runtime";
49255
49668
  var Recorder = (props) => {
49256
49669
  return /* @__PURE__ */ jsxs57("svg", {
49257
49670
  viewBox: "0 0 700 700",
49258
49671
  ...props,
49259
49672
  children: [
49260
- /* @__PURE__ */ jsx144("path", {
49673
+ /* @__PURE__ */ jsx146("path", {
49261
49674
  d: "M0 350C0 115.5 115.5 0 350 0C584.5 0 700 115.5 700 350C700 584.5 584.5 700 350 700C115.5 700 0 584.5 0 350Z",
49262
49675
  fill: "#F43B00",
49263
49676
  fillOpacity: "0.15"
49264
49677
  }),
49265
- /* @__PURE__ */ jsx144("path", {
49678
+ /* @__PURE__ */ jsx146("path", {
49266
49679
  d: "M79.4595 344.324C79.4595 161.794 169.362 71.8915 351.892 71.8915C534.422 71.8915 624.324 161.794 624.324 344.324C624.324 526.854 534.422 616.756 351.892 616.756C169.362 616.756 79.4595 526.854 79.4595 344.324Z",
49267
49680
  fill: "#F43B00",
49268
49681
  fillOpacity: "0.3"
49269
49682
  }),
49270
- /* @__PURE__ */ jsx144("path", {
49683
+ /* @__PURE__ */ jsx146("path", {
49271
49684
  d: "M155.135 343.378C155.135 212.185 219.752 147.567 350.946 147.567C482.139 147.567 546.756 212.185 546.756 343.378C546.756 474.571 482.139 539.189 350.946 539.189C219.752 539.189 155.135 474.571 155.135 343.378Z",
49272
49685
  fill: "#F43B00"
49273
49686
  })
@@ -49276,9 +49689,9 @@ var Recorder = (props) => {
49276
49689
  };
49277
49690
 
49278
49691
  // src/components/icons/remix.tsx
49279
- import { jsx as jsx146, jsxs as jsxs58 } from "react/jsx-runtime";
49692
+ import { jsx as jsx147, jsxs as jsxs58 } from "react/jsx-runtime";
49280
49693
  var ReactRouterIcon = (props) => {
49281
- return /* @__PURE__ */ jsx146("svg", {
49694
+ return /* @__PURE__ */ jsx147("svg", {
49282
49695
  xmlns: "http://www.w3.org/2000/svg",
49283
49696
  width: "800px",
49284
49697
  height: "800px",
@@ -49288,11 +49701,11 @@ var ReactRouterIcon = (props) => {
49288
49701
  ...props,
49289
49702
  children: /* @__PURE__ */ jsxs58("g", {
49290
49703
  children: [
49291
- /* @__PURE__ */ jsx146("path", {
49704
+ /* @__PURE__ */ jsx147("path", {
49292
49705
  d: "M78.0659341,92.5875806 C90.8837956,92.5875806 101.274726,82.1966508 101.274726,69.3787894 C101.274726,56.5609279 90.8837956,46.1699982 78.0659341,46.1699982 C65.2480726,46.1699982 54.8571429,56.5609279 54.8571429,69.3787894 C54.8571429,82.1966508 65.2480726,92.5875806 78.0659341,92.5875806 Z M23.2087913,139.005163 C36.0266526,139.005163 46.4175825,128.614233 46.4175825,115.796372 C46.4175825,102.97851 36.0266526,92.5875806 23.2087913,92.5875806 C10.3909298,92.5875806 0,102.97851 0,115.796372 C0,128.614233 10.3909298,139.005163 23.2087913,139.005163 Z M232.791209,139.005163 C245.60907,139.005163 256,128.614233 256,115.796372 C256,102.97851 245.60907,92.5875806 232.791209,92.5875806 C219.973347,92.5875806 209.582418,102.97851 209.582418,115.796372 C209.582418,128.614233 219.973347,139.005163 232.791209,139.005163 Z",
49293
49706
  fill: "currentcolor"
49294
49707
  }),
49295
- /* @__PURE__ */ jsx146("path", {
49708
+ /* @__PURE__ */ jsx147("path", {
49296
49709
  d: "M156.565464,70.3568084 C155.823426,62.6028163 155.445577,56.1490255 149.505494,51.6131676 C141.982638,45.8687002 133.461166,49.5960243 122.964463,45.8072968 C112.650326,43.3121427 105,34.1545727 105,23.2394367 C105,10.4046502 115.577888,0 128.626373,0 C138.29063,0 146.599638,5.70747659 150.259573,13.8825477 C155.861013,24.5221258 152.220489,35.3500418 159.258242,40.8041273 C167.591489,47.2621895 178.826167,42.5329154 191.362109,48.6517412 C195.390112,50.5026944 198.799584,53.4384578 201.202056,57.0769224 C203.604528,60.7153869 205,65.0565524 205,69.7183101 C205,80.633446 197.349674,89.7910161 187.035538,92.2861702 C176.538834,96.0748977 168.017363,92.3475736 160.494506,98.092041 C152.03503,104.551712 156.563892,115.358642 149.669352,126.774447 C145.756163,134.291567 137.802119,139.43662 128.626373,139.43662 C115.577888,139.43662 105,129.03197 105,116.197184 C105,106.873668 110.581887,98.832521 118.637891,95.1306146 C131.173833,89.0117889 142.408511,93.7410629 150.741758,87.2830007 C155.549106,83.5574243 156.565464,77.8102648 156.565464,70.3568084 Z",
49297
49710
  fill: "currentcolor"
49298
49711
  })
@@ -49302,7 +49715,7 @@ var ReactRouterIcon = (props) => {
49302
49715
  };
49303
49716
 
49304
49717
  // src/components/icons/render-server.tsx
49305
- import { jsx as jsx147, jsxs as jsxs59 } from "react/jsx-runtime";
49718
+ import { jsx as jsx148, jsxs as jsxs59 } from "react/jsx-runtime";
49306
49719
  var RenderServerIcon = (props) => {
49307
49720
  return /* @__PURE__ */ jsxs59("svg", {
49308
49721
  ...props,
@@ -49314,14 +49727,14 @@ var RenderServerIcon = (props) => {
49314
49727
  strokeLinecap: "round",
49315
49728
  strokeLinejoin: "round",
49316
49729
  children: [
49317
- /* @__PURE__ */ jsx147("rect", {
49730
+ /* @__PURE__ */ jsx148("rect", {
49318
49731
  width: "18",
49319
49732
  height: "18",
49320
49733
  x: "3",
49321
49734
  y: "3",
49322
49735
  rx: "2"
49323
49736
  }),
49324
- /* @__PURE__ */ jsx147("path", {
49737
+ /* @__PURE__ */ jsx148("path", {
49325
49738
  d: "m10 8 4 4-4 4"
49326
49739
  })
49327
49740
  ]
@@ -49329,13 +49742,13 @@ var RenderServerIcon = (props) => {
49329
49742
  };
49330
49743
 
49331
49744
  // src/components/icons/skia.tsx
49332
- import { jsx as jsx148 } from "react/jsx-runtime";
49745
+ import { jsx as jsx149 } from "react/jsx-runtime";
49333
49746
  var SkiaIcon = (props) => {
49334
- return /* @__PURE__ */ jsx148("svg", {
49747
+ return /* @__PURE__ */ jsx149("svg", {
49335
49748
  ...props,
49336
49749
  xmlns: "http://www.w3.org/2000/svg",
49337
49750
  viewBox: "0 0 576 512",
49338
- children: /* @__PURE__ */ jsx148("path", {
49751
+ children: /* @__PURE__ */ jsx149("path", {
49339
49752
  fill: "currentColor",
49340
49753
  d: "M288 400C288 461.9 237.9 512 176 512H32C14.33 512 0 497.7 0 480C0 462.3 14.33 448 32 448H36.81C54.44 448 66.4 429.1 64.59 411.6C64.2 407.8 64 403.9 64 400C64 338.1 114.1 288 176 288C178.8 288 181.5 288.1 184.3 288.3C184.1 285.7 183.1 282.1 183.1 280.3C183.1 244.6 201.1 210.1 229.1 189.1L474.3 12.25C499.7-6.279 534.9-3.526 557.2 18.74C579.4 41 582.2 76.16 563.7 101.6L386.1 345.1C365 374.9 331.4 392 295.7 392C293 392 290.3 391.9 287.7 391.7C287.9 394.5 287.1 397.2 287.1 400H288zM295.7 360C321.2 360 345.2 347.8 360.2 327.2L537.8 82.82C547.1 70.08 545.7 52.5 534.5 41.37C523.4 30.24 505.8 28.86 493.1 38.12L248.8 215.8C228.2 230.8 215.1 254.8 215.1 280.3C215.1 285.7 216.5 290.9 217.5 295.1L217.6 295.1C217.9 297.3 218.2 298.6 218.5 299.9L276.1 357.5C277.4 357.8 278.7 358.1 280 358.4L280 358.5C285.1 359.5 290.3 360 295.7 360L295.7 360zM253.5 380.1L195.9 322.5C194.5 322.2 193.2 321.8 191.9 321.6C186.7 320.5 181.4 320 176 320C131.8 320 96 355.8 96 400C96 402.8 96.14 405.6 96.43 408.3C98.15 425 93.42 441.9 83.96 455.1C74.31 468.5 58 480 36.81 480H176C220.2 480 256 444.2 256 400C256 394.6 255.5 389.3 254.4 384.1C254.2 382.8 253.9 381.5 253.5 380.1V380.1z"
49341
49754
  })
@@ -49343,13 +49756,13 @@ var SkiaIcon = (props) => {
49343
49756
  };
49344
49757
 
49345
49758
  // src/components/icons/stargazer.tsx
49346
- import { jsx as jsx149 } from "react/jsx-runtime";
49759
+ import { jsx as jsx150 } from "react/jsx-runtime";
49347
49760
  var Stargazer = (props) => {
49348
- return /* @__PURE__ */ jsx149("svg", {
49761
+ return /* @__PURE__ */ jsx150("svg", {
49349
49762
  height: "1em",
49350
49763
  viewBox: "0 0 512 512",
49351
49764
  ...props,
49352
- children: /* @__PURE__ */ jsx149("path", {
49765
+ children: /* @__PURE__ */ jsx150("path", {
49353
49766
  fill: "currentcolor",
49354
49767
  d: "M325.8 152.3c1.3 4.6 5.5 7.7 10.2 7.7s8.9-3.1 10.2-7.7L360 104l48.3-13.8c4.6-1.3 7.7-5.5 7.7-10.2s-3.1-8.9-7.7-10.2L360 56 346.2 7.7C344.9 3.1 340.7 0 336 0s-8.9 3.1-10.2 7.7L312 56 263.7 69.8c-4.6 1.3-7.7 5.5-7.7 10.2s3.1 8.9 7.7 10.2L312 104l13.8 48.3zM115.7 346.2L75.5 307l55.5-8.1c15.6-2.3 29.2-12.1 36.1-26.3l24.8-50.3 24.8 50.3c7 14.2 20.5 24 36.1 26.3l55.5 8.1-40.2 39.2c-11.3 11-16.4 26.9-13.8 42.4l9.5 55.4-49.5-26.1c-14-7.4-30.7-7.4-44.7 0L120 444l9.5-55.4c2.7-15.6-2.5-31.4-13.8-42.4zm54.7-188.8l-46.3 94L20.5 266.5C.9 269.3-7 293.5 7.2 307.4l74.9 73.2L64.5 483.9c-3.4 19.6 17.2 34.6 34.8 25.3l92.6-48.8 92.6 48.8c17.6 9.3 38.2-5.7 34.8-25.3L301.6 380.6l74.9-73.2c14.2-13.9 6.4-38.1-13.3-40.9L259.7 251.4l-46.3-94c-8.8-17.9-34.3-17.9-43.1 0zm258.4 85.8l11 38.6c1 3.6 4.4 6.2 8.2 6.2s7.1-2.5 8.2-6.2l11-38.6 38.6-11c3.6-1 6.2-4.4 6.2-8.2s-2.5-7.1-6.2-8.2l-38.6-11-11-38.6c-1-3.6-4.4-6.2-8.2-6.2s-7.1 2.5-8.2 6.2l-11 38.6-38.6 11c-3.6 1-6.2 4.4-6.2 8.2s2.5 7.1 6.2 8.2l38.6 11z"
49355
49768
  })
@@ -49357,13 +49770,13 @@ var Stargazer = (props) => {
49357
49770
  };
49358
49771
 
49359
49772
  // src/components/icons/still.tsx
49360
- import { jsx as jsx150 } from "react/jsx-runtime";
49773
+ import { jsx as jsx151 } from "react/jsx-runtime";
49361
49774
  var StillIcon = (props) => {
49362
- return /* @__PURE__ */ jsx150("svg", {
49775
+ return /* @__PURE__ */ jsx151("svg", {
49363
49776
  xmlns: "http://www.w3.org/2000/svg",
49364
49777
  viewBox: "0 0 512 512",
49365
49778
  ...props,
49366
- children: /* @__PURE__ */ jsx150("path", {
49779
+ children: /* @__PURE__ */ jsx151("path", {
49367
49780
  fill: "currentColor",
49368
49781
  d: "M324.9 157.8c-11.38-17.38-39.89-17.31-51.23-.0625L200.5 268.5L184.1 245.9C172.7 229.1 145.9 229.9 134.4 245.9l-64.52 89.16c-6.797 9.406-7.75 21.72-2.547 32C72.53 377.5 83.05 384 94.75 384h322.5c11.41 0 21.8-6.281 27.14-16.38c5.312-10 4.734-22.09-1.516-31.56L324.9 157.8zM95.8 352l62.39-87.38l29.91 41.34C191.2 310.2 196.4 313.2 201.4 312.6c5.25-.125 10.12-2.781 13.02-7.188l83.83-129.9L415 352H95.8zM447.1 32h-384C28.65 32-.0091 60.65-.0091 96v320c0 35.35 28.65 64 63.1 64h384c35.35 0 64-28.65 64-64V96C511.1 60.65 483.3 32 447.1 32zM480 416c0 17.64-14.36 32-32 32H64c-17.64 0-32-14.36-32-32V96c0-17.64 14.36-32 32-32h384c17.64 0 32 14.36 32 32V416zM144 192C170.5 192 192 170.5 192 144S170.5 96 144 96S96 117.5 96 144S117.5 192 144 192zM144 128c8.822 0 15.1 7.178 15.1 16S152.8 160 144 160S128 152.8 128 144S135.2 128 144 128z"
49369
49782
  })
@@ -49371,12 +49784,12 @@ var StillIcon = (props) => {
49371
49784
  };
49372
49785
 
49373
49786
  // src/components/icons/tiktok.tsx
49374
- import { jsx as jsx151 } from "react/jsx-runtime";
49787
+ import { jsx as jsx154 } from "react/jsx-runtime";
49375
49788
  var TikTok = (props) => {
49376
- return /* @__PURE__ */ jsx151("svg", {
49789
+ return /* @__PURE__ */ jsx154("svg", {
49377
49790
  ...props,
49378
49791
  viewBox: "0 0 448 512",
49379
- children: /* @__PURE__ */ jsx151("path", {
49792
+ children: /* @__PURE__ */ jsx154("path", {
49380
49793
  fill: "currentcolor",
49381
49794
  d: "M448 209.9a210.1 210.1 0 0 1 -122.8-39.3V349.4A162.6 162.6 0 1 1 185 188.3V278.2a74.6 74.6 0 1 0 52.2 71.2V0l88 0a121.2 121.2 0 0 0 1.9 22.2h0A122.2 122.2 0 0 0 381 102.4a121.4 121.4 0 0 0 67 20.1z"
49382
49795
  })
@@ -49384,14 +49797,14 @@ var TikTok = (props) => {
49384
49797
  };
49385
49798
 
49386
49799
  // src/components/icons/ts.tsx
49387
- import { jsx as jsx154 } from "react/jsx-runtime";
49800
+ import { jsx as jsx156 } from "react/jsx-runtime";
49388
49801
  var TypeScriptIcon = (props) => {
49389
- return /* @__PURE__ */ jsx154("svg", {
49802
+ return /* @__PURE__ */ jsx156("svg", {
49390
49803
  fill: "#000000",
49391
49804
  xmlns: "http://www.w3.org/2000/svg",
49392
49805
  viewBox: "0 0 24 24",
49393
49806
  ...props,
49394
- children: /* @__PURE__ */ jsx154("path", {
49807
+ children: /* @__PURE__ */ jsx156("path", {
49395
49808
  fill: "currentColor",
49396
49809
  d: "M3,5v14c0,1.105,0.895,2,2,2h14c1.105,0,2-0.895,2-2V5c0-1.105-0.895-2-2-2H5C3.895,3,3,3.895,3,5z M13.666,12.451h-2.118\tV19H9.841v-6.549H7.767V11h5.899V12.451z M13.998,18.626v-1.751c0,0,0.956,0.721,2.104,0.721c1.148,0,1.103-0.75,1.103-0.853\tc0-1.089-3.251-1.089-3.251-3.501c0-3.281,4.737-1.986,4.737-1.986l-0.059,1.559c0,0-0.794-0.53-1.692-0.53\tc-0.897,0-1.221,0.427-1.221,0.883c0,1.177,3.281,1.059,3.281,3.428C19,20.244,13.998,18.626,13.998,18.626z"
49397
49810
  })
@@ -49399,27 +49812,27 @@ var TypeScriptIcon = (props) => {
49399
49812
  };
49400
49813
 
49401
49814
  // src/components/icons/vercel.tsx
49402
- import { jsx as jsx156 } from "react/jsx-runtime";
49815
+ import { jsx as jsx157 } from "react/jsx-runtime";
49403
49816
  var VercelIcon = ({ style: style4 }) => {
49404
- return /* @__PURE__ */ jsx156("svg", {
49817
+ return /* @__PURE__ */ jsx157("svg", {
49405
49818
  fill: "currentcolor",
49406
49819
  viewBox: "0 0 76 65",
49407
49820
  style: style4,
49408
49821
  xmlns: "http://www.w3.org/2000/svg",
49409
- children: /* @__PURE__ */ jsx156("path", {
49822
+ children: /* @__PURE__ */ jsx157("path", {
49410
49823
  d: "M37.5274 0L75.0548 65H0L37.5274 0Z"
49411
49824
  })
49412
49825
  });
49413
49826
  };
49414
49827
 
49415
49828
  // src/components/icons/waveform.tsx
49416
- import { jsx as jsx157 } from "react/jsx-runtime";
49829
+ import { jsx as jsx158 } from "react/jsx-runtime";
49417
49830
  var Waveform = (props) => {
49418
- return /* @__PURE__ */ jsx157("svg", {
49831
+ return /* @__PURE__ */ jsx158("svg", {
49419
49832
  xmlns: "http://www.w3.org/2000/svg",
49420
49833
  viewBox: "0 0 640 512",
49421
49834
  ...props,
49422
- children: /* @__PURE__ */ jsx157("path", {
49835
+ children: /* @__PURE__ */ jsx158("path", {
49423
49836
  fill: "currentColor",
49424
49837
  d: "M224 96C215.2 96 208 103.2 208 111.1v288C208 408.8 215.2 416 223.1 416C232.8 416 240 408.8 240 400V111.1C240 103.2 232.8 96 224 96zM128 192C119.2 192 112 199.2 112 207.1V304C112 312.8 119.2 320 127.1 320S144 312.8 144 304V207.1C144 199.2 136.8 192 128 192zM32 224C23.2 224 16 231.2 16 239.1V272C16 280.8 23.2 288 31.1 288S48 280.8 48 272V239.1C48 231.2 40.8 224 32 224zM416 128C407.2 128 400 135.2 400 143.1v224C400 376.8 407.2 384 415.1 384S432 376.8 432 368V143.1C432 135.2 424.8 128 416 128zM608 224c-8.8 0-16 7.2-16 15.1V272C592 280.8 599.2 288 608 288s16-7.2 16-15.1V239.1C624 231.2 616.8 224 608 224zM512 64c-8.8 0-16 7.2-16 15.1V432C496 440.8 503.2 448 511.1 448C520.8 448 528 440.8 528 432V79.1C528 71.2 520.8 64 512 64zM320 0C311.2 0 304 7.2 304 15.1V496C304 504.8 311.2 512 319.1 512S336 504.8 336 496V15.1C336 7.2 328.8 0 320 0z"
49425
49838
  })
@@ -49427,17 +49840,17 @@ var Waveform = (props) => {
49427
49840
  };
49428
49841
 
49429
49842
  // src/components/homepage/IconForTemplate.tsx
49430
- import { jsx as jsx158 } from "react/jsx-runtime";
49843
+ import { jsx as jsx159 } from "react/jsx-runtime";
49431
49844
  var IconForTemplate = ({ template, scale: scale4 = 1 }) => {
49432
49845
  if (template.cliId === "hello-world") {
49433
- return /* @__PURE__ */ jsx158(TypeScriptIcon, {
49846
+ return /* @__PURE__ */ jsx159(TypeScriptIcon, {
49434
49847
  style: {
49435
49848
  height: scale4 * 48
49436
49849
  }
49437
49850
  });
49438
49851
  }
49439
49852
  if (template.cliId === "blank") {
49440
- return /* @__PURE__ */ jsx158(Blank, {
49853
+ return /* @__PURE__ */ jsx159(Blank, {
49441
49854
  style: {
49442
49855
  height: scale4 * 36,
49443
49856
  overflow: "visible"
@@ -49445,106 +49858,106 @@ var IconForTemplate = ({ template, scale: scale4 = 1 }) => {
49445
49858
  });
49446
49859
  }
49447
49860
  if (template.cliId === "javascript") {
49448
- return /* @__PURE__ */ jsx158(JSIcon, {
49861
+ return /* @__PURE__ */ jsx159(JSIcon, {
49449
49862
  style: {
49450
49863
  height: scale4 * 40
49451
49864
  }
49452
49865
  });
49453
49866
  }
49454
49867
  if (template.cliId === "three") {
49455
- return /* @__PURE__ */ jsx158(Cubes, {
49868
+ return /* @__PURE__ */ jsx159(Cubes, {
49456
49869
  style: {
49457
49870
  height: scale4 * 36
49458
49871
  }
49459
49872
  });
49460
49873
  }
49461
49874
  if (template.cliId === "still") {
49462
- return /* @__PURE__ */ jsx158(StillIcon, {
49875
+ return /* @__PURE__ */ jsx159(StillIcon, {
49463
49876
  style: {
49464
49877
  height: scale4 * 36
49465
49878
  }
49466
49879
  });
49467
49880
  }
49468
49881
  if (template.cliId === "audiogram") {
49469
- return /* @__PURE__ */ jsx158(Waveform, {
49882
+ return /* @__PURE__ */ jsx159(Waveform, {
49470
49883
  style: {
49471
49884
  height: scale4 * 36
49472
49885
  }
49473
49886
  });
49474
49887
  }
49475
49888
  if (template.cliId === "skia") {
49476
- return /* @__PURE__ */ jsx158(SkiaIcon, {
49889
+ return /* @__PURE__ */ jsx159(SkiaIcon, {
49477
49890
  style: {
49478
49891
  height: scale4 * 32
49479
49892
  }
49480
49893
  });
49481
49894
  }
49482
49895
  if (template.cliId === "music-visualization") {
49483
- return /* @__PURE__ */ jsx158(MusicIcon, {
49896
+ return /* @__PURE__ */ jsx159(MusicIcon, {
49484
49897
  style: {
49485
49898
  height: scale4 * 32
49486
49899
  }
49487
49900
  });
49488
49901
  }
49489
49902
  if (template.cliId === "react-router") {
49490
- return /* @__PURE__ */ jsx158(ReactRouterIcon, {
49903
+ return /* @__PURE__ */ jsx159(ReactRouterIcon, {
49491
49904
  style: {
49492
49905
  height: scale4 * 32
49493
49906
  }
49494
49907
  });
49495
49908
  }
49496
49909
  if (template.cliId === "overlay") {
49497
- return /* @__PURE__ */ jsx158(OverlayIcon, {
49910
+ return /* @__PURE__ */ jsx159(OverlayIcon, {
49498
49911
  style: { height: scale4 * 42 }
49499
49912
  });
49500
49913
  }
49501
49914
  if (template.cliId === "render-server") {
49502
- return /* @__PURE__ */ jsx158(RenderServerIcon, {
49915
+ return /* @__PURE__ */ jsx159(RenderServerIcon, {
49503
49916
  style: { height: scale4 * 36 }
49504
49917
  });
49505
49918
  }
49506
49919
  if (template.cliId === "electron") {
49507
- return /* @__PURE__ */ jsx158(ElectronIcon, {
49920
+ return /* @__PURE__ */ jsx159(ElectronIcon, {
49508
49921
  style: { height: scale4 * 36 }
49509
49922
  });
49510
49923
  }
49511
49924
  if (template.cliId === "recorder") {
49512
- return /* @__PURE__ */ jsx158(Recorder, {
49925
+ return /* @__PURE__ */ jsx159(Recorder, {
49513
49926
  style: { height: scale4 * 36 }
49514
49927
  });
49515
49928
  }
49516
49929
  if (template.cliId === "next" || template.cliId === "next-no-tailwind" || template.cliId === "next-pages-dir") {
49517
- return /* @__PURE__ */ jsx158(NextIcon, {
49930
+ return /* @__PURE__ */ jsx159(NextIcon, {
49518
49931
  style: { height: scale4 * 36 }
49519
49932
  });
49520
49933
  }
49521
49934
  if (template.cliId === "stargazer") {
49522
- return /* @__PURE__ */ jsx158(Stargazer, {
49935
+ return /* @__PURE__ */ jsx159(Stargazer, {
49523
49936
  style: { height: scale4 * 36 }
49524
49937
  });
49525
49938
  }
49526
49939
  if (template.cliId === "tiktok") {
49527
- return /* @__PURE__ */ jsx158(TikTok, {
49940
+ return /* @__PURE__ */ jsx159(TikTok, {
49528
49941
  style: { height: scale4 * 36 }
49529
49942
  });
49530
49943
  }
49531
49944
  if (template.cliId === "code-hike") {
49532
- return /* @__PURE__ */ jsx158(CodeHike, {
49945
+ return /* @__PURE__ */ jsx159(CodeHike, {
49533
49946
  style: { height: scale4 * 36 }
49534
49947
  });
49535
49948
  }
49536
49949
  if (template.cliId === "prompt-to-video") {
49537
- return /* @__PURE__ */ jsx158(PromptToVideoIcon, {
49950
+ return /* @__PURE__ */ jsx159(PromptToVideoIcon, {
49538
49951
  style: { height: scale4 * 36 }
49539
49952
  });
49540
49953
  }
49541
49954
  if (template.cliId === "prompt-to-motion-graphics") {
49542
- return /* @__PURE__ */ jsx158(BrainIcon, {
49955
+ return /* @__PURE__ */ jsx159(BrainIcon, {
49543
49956
  style: { height: scale4 * 36 }
49544
49957
  });
49545
49958
  }
49546
49959
  if (template.cliId === "vercel") {
49547
- return /* @__PURE__ */ jsx158(VercelIcon, {
49960
+ return /* @__PURE__ */ jsx159(VercelIcon, {
49548
49961
  style: { height: scale4 * 28 }
49549
49962
  });
49550
49963
  }
@@ -49558,7 +49971,7 @@ var useMobileLayout = () => {
49558
49971
  };
49559
49972
 
49560
49973
  // src/components/homepage/MoreTemplatesButton.tsx
49561
- import { jsx as jsx159, jsxs as jsxs60 } from "react/jsx-runtime";
49974
+ import { jsx as jsx160, jsxs as jsxs60 } from "react/jsx-runtime";
49562
49975
  var icon7 = {
49563
49976
  height: 16,
49564
49977
  marginLeft: 10
@@ -49570,11 +49983,11 @@ var MoreTemplatesButton = () => {
49570
49983
  className: "right-0 border-2 rounded-full text-inherit px-4 py-2 fontbrand font-semibold text-sm flex flex-row items-center h-10",
49571
49984
  children: [
49572
49985
  mobileLayout ? "Templates" : "Find a template",
49573
- /* @__PURE__ */ jsx159("svg", {
49986
+ /* @__PURE__ */ jsx160("svg", {
49574
49987
  style: icon7,
49575
49988
  xmlns: "http://www.w3.org/2000/svg",
49576
49989
  viewBox: "0 0 448 512",
49577
- children: /* @__PURE__ */ jsx159("path", {
49990
+ children: /* @__PURE__ */ jsx160("path", {
49578
49991
  fill: "currentColor",
49579
49992
  d: "M438.6 278.6l-160 160C272.4 444.9 264.2 448 256 448s-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L338.8 288H32C14.33 288 .0016 273.7 .0016 256S14.33 224 32 224h306.8l-105.4-105.4c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160C451.1 245.9 451.1 266.1 438.6 278.6z"
49580
49993
  })
@@ -49584,7 +49997,7 @@ var MoreTemplatesButton = () => {
49584
49997
  };
49585
49998
 
49586
49999
  // src/components/homepage/TemplateIcon.tsx
49587
- import { jsx as jsx160, jsxs as jsxs61 } from "react/jsx-runtime";
50000
+ import { jsx as jsx161, jsxs as jsxs61 } from "react/jsx-runtime";
49588
50001
  var icon8 = {
49589
50002
  display: "flex",
49590
50003
  width: 36,
@@ -49608,11 +50021,11 @@ var TemplateIcon = ({ children, label: label3 }) => {
49608
50021
  return /* @__PURE__ */ jsxs61("span", {
49609
50022
  style: outer,
49610
50023
  children: [
49611
- /* @__PURE__ */ jsx160("div", {
50024
+ /* @__PURE__ */ jsx161("div", {
49612
50025
  style: icon8,
49613
50026
  children
49614
50027
  }),
49615
- mobileLayout ? null : /* @__PURE__ */ jsx160("div", {
50028
+ mobileLayout ? null : /* @__PURE__ */ jsx161("div", {
49616
50029
  className: "text-xs fontbrand",
49617
50030
  children: label3
49618
50031
  })
@@ -49621,14 +50034,14 @@ var TemplateIcon = ({ children, label: label3 }) => {
49621
50034
  };
49622
50035
 
49623
50036
  // src/components/homepage/ChooseTemplate.tsx
49624
- import { jsx as jsx161, jsxs as jsxs63 } from "react/jsx-runtime";
50037
+ import { jsx as jsx164, jsxs as jsxs63 } from "react/jsx-runtime";
49625
50038
  var ChooseTemplate = () => {
49626
- return /* @__PURE__ */ jsx161("div", {
50039
+ return /* @__PURE__ */ jsx164("div", {
49627
50040
  style: {
49628
50041
  display: "flex",
49629
50042
  flexDirection: "column"
49630
50043
  },
49631
- children: /* @__PURE__ */ jsx161("div", {
50044
+ children: /* @__PURE__ */ jsx164("div", {
49632
50045
  style: {
49633
50046
  position: "relative",
49634
50047
  textAlign: "center"
@@ -49647,19 +50060,19 @@ var ChooseTemplate = () => {
49647
50060
  },
49648
50061
  children: [
49649
50062
  CreateVideoInternals.FEATURED_TEMPLATES.filter((f) => f.featuredOnHomePage).map((template) => {
49650
- return /* @__PURE__ */ jsx161("a", {
50063
+ return /* @__PURE__ */ jsx164("a", {
49651
50064
  className: "text-inherit no-underline",
49652
50065
  href: `/templates/${template.cliId}`,
49653
- children: /* @__PURE__ */ jsx161(TemplateIcon, {
50066
+ children: /* @__PURE__ */ jsx164(TemplateIcon, {
49654
50067
  label: template.featuredOnHomePage,
49655
- children: /* @__PURE__ */ jsx161(IconForTemplate, {
50068
+ children: /* @__PURE__ */ jsx164(IconForTemplate, {
49656
50069
  scale: 0.7,
49657
50070
  template
49658
50071
  })
49659
50072
  })
49660
50073
  }, template.cliId);
49661
50074
  }),
49662
- /* @__PURE__ */ jsx161(MoreTemplatesButton, {})
50075
+ /* @__PURE__ */ jsx164(MoreTemplatesButton, {})
49663
50076
  ]
49664
50077
  })
49665
50078
  })
@@ -49670,12 +50083,12 @@ var ChooseTemplate = () => {
49670
50083
  import { useState as useState67 } from "react";
49671
50084
 
49672
50085
  // src/components/homepage/GitHubButton.tsx
49673
- import { jsx as jsx164, jsxs as jsxs65 } from "react/jsx-runtime";
50086
+ import { jsx as jsx166, jsxs as jsxs65 } from "react/jsx-runtime";
49674
50087
  var GithubIcon = () => {
49675
- return /* @__PURE__ */ jsx164("svg", {
50088
+ return /* @__PURE__ */ jsx166("svg", {
49676
50089
  viewBox: "0 0 496 512",
49677
50090
  style: { height: 24, marginRight: 8 },
49678
- children: /* @__PURE__ */ jsx164("path", {
50091
+ children: /* @__PURE__ */ jsx166("path", {
49679
50092
  fill: "currentColor",
49680
50093
  d: "M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"
49681
50094
  })
@@ -49685,33 +50098,33 @@ var GithubButton = () => {
49685
50098
  return /* @__PURE__ */ jsxs65("div", {
49686
50099
  className: "flex flex-row items-center text-base",
49687
50100
  children: [
49688
- /* @__PURE__ */ jsx164(GithubIcon, {}),
50101
+ /* @__PURE__ */ jsx166(GithubIcon, {}),
49689
50102
  " ",
49690
- /* @__PURE__ */ jsx164("span", {
50103
+ /* @__PURE__ */ jsx166("span", {
49691
50104
  children: "GitHub"
49692
50105
  }),
49693
50106
  " ",
49694
- /* @__PURE__ */ jsx164("div", {
50107
+ /* @__PURE__ */ jsx166("div", {
49695
50108
  className: "text-xs inline-block ml-2 leading-none mt-[3px] self-center",
49696
- children: "49k"
50109
+ children: "50k"
49697
50110
  })
49698
50111
  ]
49699
50112
  });
49700
50113
  };
49701
50114
 
49702
50115
  // src/components/homepage/GetStartedStrip.tsx
49703
- import { jsx as jsx166, jsxs as jsxs66 } from "react/jsx-runtime";
50116
+ import { jsx as jsx167, jsxs as jsxs66 } from "react/jsx-runtime";
49704
50117
  var GetStarted = () => {
49705
50118
  const [clicked, setClicked] = useState67(null);
49706
50119
  return /* @__PURE__ */ jsxs66("div", {
49707
50120
  className: "flex flex-col lg:flex-row items-center justify-center text-center w-full",
49708
50121
  children: [
49709
- /* @__PURE__ */ jsx166("div", {
50122
+ /* @__PURE__ */ jsx167("div", {
49710
50123
  className: "w-full lg:w-auto",
49711
50124
  children: /* @__PURE__ */ jsxs66("div", {
49712
50125
  className: "flex flex-row w-full relative",
49713
50126
  children: [
49714
- clicked ? /* @__PURE__ */ jsx166("div", {
50127
+ clicked ? /* @__PURE__ */ jsx167("div", {
49715
50128
  style: {
49716
50129
  animation: "click 0.7s linear",
49717
50130
  animationFillMode: "forwards"
@@ -49719,7 +50132,7 @@ var GetStarted = () => {
49719
50132
  className: "absolute z-0 top-[-10px] font-mono text-sm text-center w-full",
49720
50133
  children: "Copied!"
49721
50134
  }, clicked) : null,
49722
- /* @__PURE__ */ jsx166(Button, {
50135
+ /* @__PURE__ */ jsx167(Button, {
49723
50136
  className: "bg-[#333] text-white rounded-lg px-4 font-mono hover:[#444] cursor-pointer w-full",
49724
50137
  onClick: () => {
49725
50138
  navigator.clipboard.writeText("npx create-video@latest");
@@ -49731,59 +50144,59 @@ var GetStarted = () => {
49731
50144
  ]
49732
50145
  })
49733
50146
  }),
49734
- /* @__PURE__ */ jsx166("div", {
50147
+ /* @__PURE__ */ jsx167("div", {
49735
50148
  style: { width: 10, height: 10 }
49736
50149
  }),
49737
- /* @__PURE__ */ jsx166("div", {
50150
+ /* @__PURE__ */ jsx167("div", {
49738
50151
  className: "w-full lg:w-auto",
49739
- children: /* @__PURE__ */ jsx166(Button, {
50152
+ children: /* @__PURE__ */ jsx167(Button, {
49740
50153
  href: "/docs",
49741
50154
  className: "w-full",
49742
50155
  children: "Docs"
49743
50156
  })
49744
50157
  }),
49745
- /* @__PURE__ */ jsx166("div", {
50158
+ /* @__PURE__ */ jsx167("div", {
49746
50159
  className: "w-2 h-2"
49747
50160
  }),
49748
- /* @__PURE__ */ jsx166("div", {
50161
+ /* @__PURE__ */ jsx167("div", {
49749
50162
  className: "w-full lg:w-auto",
49750
- children: /* @__PURE__ */ jsx166(Button, {
50163
+ children: /* @__PURE__ */ jsx167(Button, {
49751
50164
  href: "https://remotion.dev/discord",
49752
50165
  target: "_blank",
49753
50166
  className: "w-full",
49754
50167
  children: "Discord"
49755
50168
  })
49756
50169
  }),
49757
- /* @__PURE__ */ jsx166("div", {
50170
+ /* @__PURE__ */ jsx167("div", {
49758
50171
  className: "w-2 h-2"
49759
50172
  }),
49760
- /* @__PURE__ */ jsx166("div", {
50173
+ /* @__PURE__ */ jsx167("div", {
49761
50174
  className: "w-full lg:w-auto",
49762
- children: /* @__PURE__ */ jsx166(Button, {
50175
+ children: /* @__PURE__ */ jsx167(Button, {
49763
50176
  href: "https://github.com/remotion-dev/remotion",
49764
50177
  target: "_blank",
49765
50178
  className: "w-full",
49766
- children: /* @__PURE__ */ jsx166(GithubButton, {})
50179
+ children: /* @__PURE__ */ jsx167(GithubButton, {})
49767
50180
  })
49768
50181
  }),
49769
50182
  " ",
49770
- /* @__PURE__ */ jsx166("div", {
50183
+ /* @__PURE__ */ jsx167("div", {
49771
50184
  className: "w-2 h-2"
49772
50185
  }),
49773
- /* @__PURE__ */ jsx166("div", {
50186
+ /* @__PURE__ */ jsx167("div", {
49774
50187
  className: "w-full lg:w-auto",
49775
50188
  children: /* @__PURE__ */ jsxs66(Button, {
49776
50189
  href: "/prompts",
49777
50190
  className: "w-full",
49778
50191
  children: [
49779
- /* @__PURE__ */ jsx166("svg", {
50192
+ /* @__PURE__ */ jsx167("svg", {
49780
50193
  width: "20",
49781
50194
  height: "20",
49782
50195
  viewBox: "0 0 149 149",
49783
50196
  fill: "none",
49784
50197
  xmlns: "http://www.w3.org/2000/svg",
49785
50198
  style: { marginRight: 8 },
49786
- children: /* @__PURE__ */ jsx166("path", {
50199
+ children: /* @__PURE__ */ jsx167("path", {
49787
50200
  d: "M29.05 98.54L58.19 82.19L58.68 80.77L58.19 79.98H56.77L51.9 79.68L35.25 79.23L20.81 78.63L6.82 77.88L3.3 77.13L0 72.78L0.340004 70.61L3.3 68.62L7.54 68.99L16.91 69.63L30.97 70.6L41.17 71.2L56.28 72.77H58.68L59.02 71.8L58.2 71.2L57.56 70.6L43.01 60.74L27.26 50.32L19.01 44.32L14.55 41.28L12.3 38.43L11.33 32.21L15.38 27.75L20.82 28.12L22.21 28.49L27.72 32.73L39.49 41.84L54.86 53.16L57.11 55.03L58.01 54.39L58.12 53.94L57.11 52.25L48.75 37.14L39.83 21.77L35.86 15.4L34.81 11.58C34.44 10.01 34.17 8.69 34.17 7.08L38.78 0.820007L41.33 0L47.48 0.820007L50.07 3.07001L53.89 11.81L60.08 25.57L69.68 44.28L72.49 49.83L73.99 54.97L74.55 56.54H75.52V55.64L76.31 45.1L77.77 32.16L79.19 15.51L79.68 10.82L82 5.2L86.61 2.16L90.21 3.88L93.17 8.12L92.76 10.86L91 22.3L87.55 40.22L85.3 52.22H86.61L88.11 50.72L94.18 42.66L104.38 29.91L108.88 24.85L114.13 19.26L117.5 16.6H123.87L128.56 23.57L126.46 30.77L119.9 39.09L114.46 46.14L106.66 56.64L101.79 65.04L102.24 65.71L103.4 65.6L121.02 61.85L130.54 60.13L141.9 58.18L147.04 60.58L147.6 63.02L145.58 68.01L133.43 71.01L119.18 73.86L97.96 78.88L97.7 79.07L98 79.44L107.56 80.34L111.65 80.56H121.66L140.3 81.95L145.17 85.17L148.09 89.11L147.6 92.11L140.1 95.93L129.98 93.53L106.36 87.91L98.26 85.89H97.14V86.56L103.89 93.16L116.26 104.33L131.75 118.73L132.54 122.29L130.55 125.1L128.45 124.8L114.84 114.56L109.59 109.95L97.7 99.94H96.91V100.99L99.65 105L114.12 126.75L114.87 133.42L113.82 135.59L110.07 136.9L105.95 136.15L97.48 124.26L88.74 110.87L81.69 98.87L80.83 99.36L76.67 144.17L74.72 146.46L70.22 148.18L66.47 145.33L64.48 140.72L66.47 131.61L68.87 119.72L70.82 110.27L72.58 98.53L73.63 94.63L73.56 94.37L72.7 94.48L63.85 106.63L50.39 124.82L39.74 136.22L37.19 137.23L32.77 134.94L33.18 130.85L35.65 127.21L50.39 108.46L59.28 96.84L65.02 90.13L64.98 89.16H64.64L25.49 114.58L18.52 115.48L15.52 112.67L15.89 108.06L17.31 106.56L29.08 98.46L29.04 98.5L29.05 98.54Z",
49788
50201
  fill: "#D97757"
49789
50202
  })
@@ -49797,11 +50210,11 @@ var GetStarted = () => {
49797
50210
  };
49798
50211
 
49799
50212
  // src/components/homepage/WriteInReact.tsx
49800
- import { jsx as jsx167, jsxs as jsxs67 } from "react/jsx-runtime";
50213
+ import { jsx as jsx168, jsxs as jsxs67 } from "react/jsx-runtime";
49801
50214
  var WriteInReact = () => {
49802
50215
  return /* @__PURE__ */ jsxs67("div", {
49803
50216
  children: [
49804
- /* @__PURE__ */ jsx167("h1", {
50217
+ /* @__PURE__ */ jsx168("h1", {
49805
50218
  className: "text-4xl sm:text-5xl lg:text-[5em] text-center fontbrand font-black leading-none text-balance",
49806
50219
  style: {
49807
50220
  textShadow: "0 5px 30px var(--background)"
@@ -49815,84 +50228,84 @@ var WriteInReact = () => {
49815
50228
  className: "font-medium text-center text-lg",
49816
50229
  children: [
49817
50230
  "Create real MP4 videos with React. ",
49818
- /* @__PURE__ */ jsx167("br", {}),
50231
+ /* @__PURE__ */ jsx168("br", {}),
49819
50232
  "Use coding agents, build apps and render in bulk."
49820
50233
  ]
49821
50234
  }),
49822
- /* @__PURE__ */ jsx167("br", {}),
49823
- /* @__PURE__ */ jsx167("div", {
49824
- children: /* @__PURE__ */ jsx167(GetStarted, {})
50235
+ /* @__PURE__ */ jsx168("br", {}),
50236
+ /* @__PURE__ */ jsx168("div", {
50237
+ children: /* @__PURE__ */ jsx168(GetStarted, {})
49825
50238
  }),
49826
- /* @__PURE__ */ jsx167("br", {}),
49827
- /* @__PURE__ */ jsx167("br", {}),
49828
- /* @__PURE__ */ jsx167(ChooseTemplate, {})
50239
+ /* @__PURE__ */ jsx168("br", {}),
50240
+ /* @__PURE__ */ jsx168("br", {}),
50241
+ /* @__PURE__ */ jsx168(ChooseTemplate, {})
49829
50242
  ]
49830
50243
  });
49831
50244
  };
49832
50245
 
49833
50246
  // src/components/Homepage.tsx
49834
- import { jsx as jsx168, jsxs as jsxs68 } from "react/jsx-runtime";
50247
+ import { jsx as jsx169, jsxs as jsxs68 } from "react/jsx-runtime";
49835
50248
  "use client";
49836
50249
  var NewLanding = ({ colorMode, setColorMode }) => {
49837
- return /* @__PURE__ */ jsx168(ColorModeProvider, {
50250
+ return /* @__PURE__ */ jsx169(ColorModeProvider, {
49838
50251
  colorMode,
49839
50252
  setColorMode,
49840
- children: /* @__PURE__ */ jsx168("div", {
50253
+ children: /* @__PURE__ */ jsx169("div", {
49841
50254
  className: "w-full relative",
49842
50255
  children: /* @__PURE__ */ jsxs68("div", {
49843
50256
  style: { overflow: "hidden" },
49844
50257
  children: [
49845
- /* @__PURE__ */ jsx168("div", {
49846
- children: /* @__PURE__ */ jsx168(BackgroundAnimation, {})
50258
+ /* @__PURE__ */ jsx169("div", {
50259
+ children: /* @__PURE__ */ jsx169(BackgroundAnimation, {})
49847
50260
  }),
49848
- /* @__PURE__ */ jsx168("br", {}),
49849
- /* @__PURE__ */ jsx168("br", {}),
49850
- /* @__PURE__ */ jsx168("br", {}),
49851
- /* @__PURE__ */ jsx168("br", {}),
50261
+ /* @__PURE__ */ jsx169("br", {}),
50262
+ /* @__PURE__ */ jsx169("br", {}),
50263
+ /* @__PURE__ */ jsx169("br", {}),
50264
+ /* @__PURE__ */ jsx169("br", {}),
49852
50265
  /* @__PURE__ */ jsxs68("div", {
49853
50266
  className: "max-w-[500px] lg:max-w-[1000px] m-auto pl-5 pr-5 overflow-x-clip md:overflow-x-visible relative",
49854
50267
  children: [
49855
- /* @__PURE__ */ jsx168(WriteInReact, {}),
49856
- /* @__PURE__ */ jsx168("br", {}),
49857
- /* @__PURE__ */ jsx168(IfYouKnowReact, {}),
49858
- /* @__PURE__ */ jsx168(ParameterizeAndEdit, {}),
49859
- /* @__PURE__ */ jsx168(RealMP4Videos, {}),
49860
- /* @__PURE__ */ jsx168("br", {}),
49861
- /* @__PURE__ */ jsx168("br", {}),
49862
- /* @__PURE__ */ jsx168("br", {}),
49863
- /* @__PURE__ */ jsx168("div", {
50268
+ /* @__PURE__ */ jsx169(WriteInReact, {}),
50269
+ /* @__PURE__ */ jsx169("br", {}),
50270
+ /* @__PURE__ */ jsx169(IfYouKnowReact, {}),
50271
+ /* @__PURE__ */ jsx169(ParameterizeAndEdit, {}),
50272
+ /* @__PURE__ */ jsx169(RealMP4Videos, {}),
50273
+ /* @__PURE__ */ jsx169("br", {}),
50274
+ /* @__PURE__ */ jsx169("br", {}),
50275
+ /* @__PURE__ */ jsx169("br", {}),
50276
+ /* @__PURE__ */ jsx169("div", {
49864
50277
  className: "pt-6 md:pt-8",
49865
- children: /* @__PURE__ */ jsx168(AutomationsSection_default, {})
50278
+ children: /* @__PURE__ */ jsx169(AutomationsSection_default, {})
49866
50279
  }),
49867
- /* @__PURE__ */ jsx168("br", {}),
49868
- /* @__PURE__ */ jsx168("br", {}),
49869
- /* @__PURE__ */ jsx168(Demo, {}),
49870
- /* @__PURE__ */ jsx168("br", {}),
49871
- /* @__PURE__ */ jsx168("br", {}),
49872
- /* @__PURE__ */ jsx168("br", {}),
49873
- /* @__PURE__ */ jsx168(BuiltWithRemotionShowcase, {}),
49874
- /* @__PURE__ */ jsx168("br", {}),
49875
- /* @__PURE__ */ jsx168("br", {}),
49876
- /* @__PURE__ */ jsx168("br", {}),
49877
- /* @__PURE__ */ jsx168(SectionTitle, {
50280
+ /* @__PURE__ */ jsx169("br", {}),
50281
+ /* @__PURE__ */ jsx169("br", {}),
50282
+ /* @__PURE__ */ jsx169(Demo, {}),
50283
+ /* @__PURE__ */ jsx169("br", {}),
50284
+ /* @__PURE__ */ jsx169("br", {}),
50285
+ /* @__PURE__ */ jsx169("br", {}),
50286
+ /* @__PURE__ */ jsx169(BuiltWithRemotionShowcase, {}),
50287
+ /* @__PURE__ */ jsx169("br", {}),
50288
+ /* @__PURE__ */ jsx169("br", {}),
50289
+ /* @__PURE__ */ jsx169("br", {}),
50290
+ /* @__PURE__ */ jsx169(SectionTitle, {
49878
50291
  children: "Pricing"
49879
50292
  }),
49880
- /* @__PURE__ */ jsx168(Pricing, {}),
49881
- /* @__PURE__ */ jsx168(TrustedByBanner_default, {}),
49882
- /* @__PURE__ */ jsx168("br", {}),
49883
- /* @__PURE__ */ jsx168(EvaluateRemotion_default, {}),
49884
- /* @__PURE__ */ jsx168("br", {}),
49885
- /* @__PURE__ */ jsx168("br", {}),
49886
- /* @__PURE__ */ jsx168("br", {}),
49887
- /* @__PURE__ */ jsx168(CommunityStats_default, {}),
49888
- /* @__PURE__ */ jsx168("br", {}),
49889
- /* @__PURE__ */ jsx168("br", {}),
49890
- /* @__PURE__ */ jsx168("br", {}),
49891
- /* @__PURE__ */ jsx168("br", {}),
49892
- /* @__PURE__ */ jsx168(NewsletterButton, {}),
49893
- /* @__PURE__ */ jsx168("br", {}),
49894
- /* @__PURE__ */ jsx168("br", {}),
49895
- /* @__PURE__ */ jsx168("br", {})
50293
+ /* @__PURE__ */ jsx169(Pricing, {}),
50294
+ /* @__PURE__ */ jsx169(TrustedByBanner_default, {}),
50295
+ /* @__PURE__ */ jsx169("br", {}),
50296
+ /* @__PURE__ */ jsx169(EvaluateRemotion_default, {}),
50297
+ /* @__PURE__ */ jsx169("br", {}),
50298
+ /* @__PURE__ */ jsx169("br", {}),
50299
+ /* @__PURE__ */ jsx169("br", {}),
50300
+ /* @__PURE__ */ jsx169(CommunityStats_default, {}),
50301
+ /* @__PURE__ */ jsx169("br", {}),
50302
+ /* @__PURE__ */ jsx169("br", {}),
50303
+ /* @__PURE__ */ jsx169("br", {}),
50304
+ /* @__PURE__ */ jsx169("br", {}),
50305
+ /* @__PURE__ */ jsx169(NewsletterButton, {}),
50306
+ /* @__PURE__ */ jsx169("br", {}),
50307
+ /* @__PURE__ */ jsx169("br", {}),
50308
+ /* @__PURE__ */ jsx169("br", {})
49896
50309
  ]
49897
50310
  })
49898
50311
  ]