@remotion/promo-pages 4.0.476 → 4.0.477

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.477";
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]);
@@ -5291,7 +5316,19 @@ var RegularSequenceRefForwardingFunction = ({
5291
5316
  ]);
5292
5317
  const endThreshold = Math.ceil(cumulatedFrom + from + durationInFrames - 1);
5293
5318
  const content = absoluteFrame < cumulatedFrom + from ? null : absoluteFrame > endThreshold ? null : children;
5319
+ const frozenContent = content === null || typeof freeze === "undefined" || freeze === null ? content : /* @__PURE__ */ jsx12(Freeze, {
5320
+ frame: freeze,
5321
+ children: content
5322
+ });
5294
5323
  const styleIfThere = other.layout === "none" ? undefined : other.style;
5324
+ const sequenceRef = useCallback6((node) => {
5325
+ wrapperRefForOutline.current = node;
5326
+ if (typeof ref === "function") {
5327
+ ref(node);
5328
+ } else if (ref) {
5329
+ ref.current = node;
5330
+ }
5331
+ }, [ref]);
5295
5332
  const defaultStyle = useMemo14(() => {
5296
5333
  return {
5297
5334
  flexDirection: undefined,
@@ -5308,11 +5345,11 @@ var RegularSequenceRefForwardingFunction = ({
5308
5345
  }
5309
5346
  return /* @__PURE__ */ jsx12(SequenceContext.Provider, {
5310
5347
  value: contextValue,
5311
- children: content === null ? null : other.layout === "none" ? content : /* @__PURE__ */ jsx12(AbsoluteFill, {
5312
- ref,
5348
+ children: frozenContent === null ? null : other.layout === "none" ? frozenContent : /* @__PURE__ */ jsx12(AbsoluteFill, {
5349
+ ref: sequenceRef,
5313
5350
  style: defaultStyle,
5314
5351
  className: other.className,
5315
- children: content
5352
+ children: frozenContent
5316
5353
  })
5317
5354
  });
5318
5355
  };
@@ -5392,11 +5429,13 @@ var SequenceInner = forwardRef3(SequenceRefForwardingFunction);
5392
5429
  var SequenceWithoutSchema = SequenceInner;
5393
5430
  var Sequence = wrapInSchema({
5394
5431
  Component: SequenceInner,
5432
+ componentIdentity: "dev.remotion.remotion.Sequence",
5395
5433
  schema: sequenceSchema,
5396
5434
  supportsEffects: false
5397
5435
  });
5398
5436
  var SequenceWithoutFrom = wrapInSchema({
5399
5437
  Component: SequenceInner,
5438
+ componentIdentity: null,
5400
5439
  schema: sequenceSchemaWithoutFrom,
5401
5440
  supportsEffects: false
5402
5441
  });
@@ -5714,7 +5753,7 @@ var CanvasRefForwardingFunction = ({ width, height, fit, className, style, effec
5714
5753
  }
5715
5754
  return document.createElement("canvas");
5716
5755
  }, []);
5717
- const draw = useCallback6((imageData) => {
5756
+ const draw = useCallback7((imageData) => {
5718
5757
  const canvas = canvasRef.current;
5719
5758
  const canvasWidth = width ?? imageData.displayWidth;
5720
5759
  const canvasHeight = height ?? imageData.displayHeight;
@@ -5935,6 +5974,7 @@ var resolveAnimatedImageSource = (src) => {
5935
5974
  var animatedImageSchema = {
5936
5975
  durationInFrames: durationInFramesField,
5937
5976
  from: fromField,
5977
+ freeze: freezeField,
5938
5978
  playbackRate: {
5939
5979
  type: "number",
5940
5980
  min: 0,
@@ -6134,6 +6174,7 @@ var AnimatedImageInner = ({
6134
6174
  };
6135
6175
  var AnimatedImage = wrapInSchema({
6136
6176
  Component: AnimatedImageInner,
6177
+ componentIdentity: "dev.remotion.remotion.AnimatedImage",
6137
6178
  schema: animatedImageSchema,
6138
6179
  supportsEffects: true
6139
6180
  });
@@ -6180,7 +6221,7 @@ var RenderAssetManager = createContext17({
6180
6221
  var RenderAssetManagerProvider = ({ children, collectAssets }) => {
6181
6222
  const [renderAssets, setRenderAssets] = useState7([]);
6182
6223
  const renderAssetsRef = useRef10([]);
6183
- const registerRenderAsset = useCallback7((renderAsset) => {
6224
+ const registerRenderAsset = useCallback8((renderAsset) => {
6184
6225
  validateRenderAsset(renderAsset);
6185
6226
  renderAssetsRef.current = [...renderAssetsRef.current, renderAsset];
6186
6227
  setRenderAssets(renderAssetsRef.current);
@@ -6197,7 +6238,7 @@ var RenderAssetManagerProvider = ({ children, collectAssets }) => {
6197
6238
  };
6198
6239
  }, []);
6199
6240
  }
6200
- const unregisterRenderAsset = useCallback7((id) => {
6241
+ const unregisterRenderAsset = useCallback8((id) => {
6201
6242
  renderAssetsRef.current = renderAssetsRef.current.filter((a2) => a2.id !== id);
6202
6243
  setRenderAssets(renderAssetsRef.current);
6203
6244
  }, []);
@@ -7002,7 +7043,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
7002
7043
  }, []);
7003
7044
  const prevEndTimes = useRef12({ scheduledEndTime: null, mediaEndTime: null });
7004
7045
  const nodesToResume = useRef12(new Map);
7005
- const unscheduleAudioNode = useCallback8((node) => {
7046
+ const unscheduleAudioNode = useCallback9((node) => {
7006
7047
  nodesToResume.current.delete(node);
7007
7048
  }, []);
7008
7049
  const scheduleAudioNode = useMemo21(() => {
@@ -7056,7 +7097,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
7056
7097
  };
7057
7098
  };
7058
7099
  }, [ctxAndGain, logLevel]);
7059
- const resume = useCallback8(() => {
7100
+ const resume = useCallback9(() => {
7060
7101
  if (!ctxAndGain) {
7061
7102
  return Promise.resolve();
7062
7103
  }
@@ -7083,10 +7124,10 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
7083
7124
  });
7084
7125
  return resumePromise.catch(() => {});
7085
7126
  }, [ctxAndGain, logLevel]);
7086
- const getIsResumingAudioContext = useCallback8(() => {
7127
+ const getIsResumingAudioContext = useCallback9(() => {
7087
7128
  return isResuming.current;
7088
7129
  }, []);
7089
- const suspend = useCallback8(() => {
7130
+ const suspend = useCallback9(() => {
7090
7131
  if (!ctxAndGain) {
7091
7132
  return Promise.resolve();
7092
7133
  }
@@ -7160,7 +7201,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
7160
7201
  };
7161
7202
  }, [refs]);
7162
7203
  const takenAudios = useRef12(new Array(numberOfAudioTags).fill(false));
7163
- const rerenderAudios = useCallback8(() => {
7204
+ const rerenderAudios = useCallback9(() => {
7164
7205
  refs.forEach(({ ref, id }) => {
7165
7206
  const data = audios.current?.find((a2) => a2.id === id);
7166
7207
  const { current } = ref;
@@ -7181,7 +7222,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
7181
7222
  });
7182
7223
  });
7183
7224
  }, [refs]);
7184
- const registerAudio = useCallback8((options) => {
7225
+ const registerAudio = useCallback9((options) => {
7185
7226
  const { aud, audioId, premounting, postmounting } = options;
7186
7227
  const found = audios.current?.find((a2) => a2.audioId === audioId);
7187
7228
  if (found) {
@@ -7210,7 +7251,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
7210
7251
  rerenderAudios();
7211
7252
  return newElem;
7212
7253
  }, [numberOfAudioTags, refs, rerenderAudios]);
7213
- const unregisterAudio = useCallback8((id) => {
7254
+ const unregisterAudio = useCallback9((id) => {
7214
7255
  const cloned = [...takenAudios.current];
7215
7256
  const index = refs.findIndex((r) => r.id === id);
7216
7257
  if (index === -1) {
@@ -7221,7 +7262,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
7221
7262
  audios.current = audios.current?.filter((a2) => a2.id !== id);
7222
7263
  rerenderAudios();
7223
7264
  }, [refs, rerenderAudios]);
7224
- const updateAudio = useCallback8(({
7265
+ const updateAudio = useCallback9(({
7225
7266
  aud,
7226
7267
  audioId,
7227
7268
  id,
@@ -7255,7 +7296,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
7255
7296
  rerenderAudios();
7256
7297
  }
7257
7298
  }, [rerenderAudios]);
7258
- const playAllAudios = useCallback8(() => {
7299
+ const playAllAudios = useCallback9(() => {
7259
7300
  refs.forEach((ref) => {
7260
7301
  const audio = audios.current.find((a2) => a2.el === ref.ref);
7261
7302
  if (audio?.premounting) {
@@ -7803,7 +7844,7 @@ var useBufferManager = (logLevel, mountTime) => {
7803
7844
  const env = useRemotionEnvironment();
7804
7845
  const rendering = env.isRendering;
7805
7846
  const buffering = useRef15(false);
7806
- const addBlock = useCallback9((block) => {
7847
+ const addBlock = useCallback10((block) => {
7807
7848
  if (rendering) {
7808
7849
  return {
7809
7850
  unblock: () => {
@@ -7829,7 +7870,7 @@ var useBufferManager = (logLevel, mountTime) => {
7829
7870
  }
7830
7871
  };
7831
7872
  }, [rendering]);
7832
- const listenForBuffering = useCallback9((callback) => {
7873
+ const listenForBuffering = useCallback10((callback) => {
7833
7874
  setOnBufferingCallbacks((c2) => [...c2, callback]);
7834
7875
  return {
7835
7876
  remove: () => {
@@ -7837,7 +7878,7 @@ var useBufferManager = (logLevel, mountTime) => {
7837
7878
  }
7838
7879
  };
7839
7880
  }, []);
7840
- const listenForResume = useCallback9((callback) => {
7881
+ const listenForResume = useCallback10((callback) => {
7841
7882
  setOnResumeCallbacks((c2) => [...c2, callback]);
7842
7883
  return {
7843
7884
  remove: () => {
@@ -7951,7 +7992,7 @@ var useBufferUntilFirstFrame = ({
7951
7992
  }) => {
7952
7993
  const bufferingRef = useRef16(false);
7953
7994
  const { delayPlayback } = useBufferState();
7954
- const bufferUntilFirstFrame = useCallback10((requestedTime) => {
7995
+ const bufferUntilFirstFrame = useCallback11((requestedTime) => {
7955
7996
  if (mediaType !== "video") {
7956
7997
  return;
7957
7998
  }
@@ -8341,7 +8382,7 @@ var useMediaPlayback = ({
8341
8382
  throw new Error("useMediaPlayback must be used inside a <BufferingContext>");
8342
8383
  }
8343
8384
  const isVariableFpsVideoMap = useRef18({});
8344
- const onVariableFpsVideoDetected = useCallback11(() => {
8385
+ const onVariableFpsVideoDetected = useCallback12(() => {
8345
8386
  if (!src) {
8346
8387
  return;
8347
8388
  }
@@ -8732,7 +8773,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
8732
8773
  premounting: Boolean(sequenceContext?.premounting),
8733
8774
  postmounting: Boolean(sequenceContext?.postmounting)
8734
8775
  });
8735
- const getStack = useCallback12(() => {
8776
+ const getStack = useCallback13(() => {
8736
8777
  return _remotionInternalStack ?? null;
8737
8778
  }, [_remotionInternalStack]);
8738
8779
  useMediaInTimeline({
@@ -8978,7 +9019,7 @@ var AudioRefForwardingFunction = (props, ref) => {
8978
9019
  throw new TypeError(`The \`<Html5Audio>\` tag requires a string for \`src\`, but got ${JSON.stringify(props.src)} instead.`);
8979
9020
  }
8980
9021
  const preloadedSrc = usePreload(props.src);
8981
- const onError = useCallback13((e) => {
9022
+ const onError = useCallback14((e) => {
8982
9023
  console.log(e.currentTarget.error);
8983
9024
  const errMessage = `Could not play audio with src ${preloadedSrc}: ${e.currentTarget.error}. See https://remotion.dev/docs/media-playback-error for help.`;
8984
9025
  if (loop) {
@@ -8992,7 +9033,7 @@ var AudioRefForwardingFunction = (props, ref) => {
8992
9033
  console.warn(errMessage);
8993
9034
  }
8994
9035
  }, [loop, onRemotionError, preloadedSrc]);
8995
- const onDuration = useCallback13((src, durationInSeconds) => {
9036
+ const onDuration = useCallback14((src, durationInSeconds) => {
8996
9037
  setDurations({ type: "got-duration", durationInSeconds, src });
8997
9038
  }, [setDurations]);
8998
9039
  const durationFetched = durations[getAbsoluteSrc(preloadedSrc)] ?? durations[getAbsoluteSrc(props.src)];
@@ -9084,6 +9125,7 @@ var resolveSolidPixelDensity = (pixelDensity) => {
9084
9125
  var solidSchema = {
9085
9126
  durationInFrames: durationInFramesField,
9086
9127
  from: fromField,
9128
+ freeze: freezeField,
9087
9129
  color: {
9088
9130
  type: "color",
9089
9131
  default: "transparent",
@@ -9138,7 +9180,7 @@ var SolidInner = ({
9138
9180
  return canvas;
9139
9181
  }, []);
9140
9182
  const chainState = useEffectChainState();
9141
- const canvasRef = useCallback14((canvas) => {
9183
+ const canvasRef = useCallback15((canvas) => {
9142
9184
  setOutputCanvas(canvas);
9143
9185
  if (typeof reference === "function") {
9144
9186
  reference(canvas);
@@ -9222,6 +9264,7 @@ var SolidOuter = forwardRef8(({
9222
9264
  style,
9223
9265
  name,
9224
9266
  from,
9267
+ freeze,
9225
9268
  hidden,
9226
9269
  showInTimeline,
9227
9270
  pixelDensity,
@@ -9235,6 +9278,7 @@ var SolidOuter = forwardRef8(({
9235
9278
  return /* @__PURE__ */ jsx24(Sequence, {
9236
9279
  layout: "none",
9237
9280
  from,
9281
+ freeze,
9238
9282
  hidden,
9239
9283
  showInTimeline,
9240
9284
  _experimentalControls: controls,
@@ -9259,6 +9303,7 @@ var SolidOuter = forwardRef8(({
9259
9303
  });
9260
9304
  var Solid = wrapInSchema({
9261
9305
  Component: SolidOuter,
9306
+ componentIdentity: "dev.remotion.remotion.Solid",
9262
9307
  schema: solidSchema,
9263
9308
  supportsEffects: true
9264
9309
  });
@@ -9348,7 +9393,7 @@ var HtmlInCanvasContent = forwardRef9(({
9348
9393
  const offscreenRef = useRef22(null);
9349
9394
  const divRef = useRef22(null);
9350
9395
  const canvasSizeKey = `${width}x${height}@${resolvedPixelDensity}`;
9351
- const setLayoutCanvasRef = useCallback15((node) => {
9396
+ const setLayoutCanvasRef = useCallback16((node) => {
9352
9397
  canvas2dRef.current = node;
9353
9398
  if (typeof ref === "function") {
9354
9399
  ref(node);
@@ -9370,7 +9415,7 @@ var HtmlInCanvasContent = forwardRef9(({
9370
9415
  const initializedRef = useRef22(false);
9371
9416
  const onInitCleanupRef = useRef22(null);
9372
9417
  const unmountedRef = useRef22(false);
9373
- const onPaintCb = useCallback15(async () => {
9418
+ const onPaintCb = useCallback16(async () => {
9374
9419
  const element = divRef.current;
9375
9420
  if (!element) {
9376
9421
  throw new Error("Canvas or scene element not found");
@@ -9543,7 +9588,7 @@ var HtmlInCanvasInner = forwardRef9(({
9543
9588
  const resolvedDuration = durationInFrames ?? videoDuration;
9544
9589
  const memoizedEffectDefinitions = useMemoizedEffectDefinitions(effects);
9545
9590
  const actualRef = useRef22(null);
9546
- const setCanvasRef = useCallback15((node) => {
9591
+ const setCanvasRef = useCallback16((node) => {
9547
9592
  actualRef.current = node;
9548
9593
  if (typeof ref === "function") {
9549
9594
  ref(node);
@@ -9578,11 +9623,13 @@ HtmlInCanvasInner.displayName = "HtmlInCanvas";
9578
9623
  var htmlInCanvasSchema = {
9579
9624
  durationInFrames: durationInFramesField,
9580
9625
  from: fromField,
9626
+ freeze: freezeField,
9581
9627
  ...sequenceVisualStyleSchema,
9582
9628
  hidden: hiddenField
9583
9629
  };
9584
9630
  var HtmlInCanvasWrapped = wrapInSchema({
9585
9631
  Component: HtmlInCanvasInner,
9632
+ componentIdentity: "dev.remotion.remotion.HtmlInCanvas",
9586
9633
  schema: htmlInCanvasSchema,
9587
9634
  supportsEffects: true
9588
9635
  });
@@ -9600,6 +9647,7 @@ function truncateSrcForLabel(src) {
9600
9647
  var canvasImageSchema = {
9601
9648
  durationInFrames: durationInFramesField,
9602
9649
  from: fromField,
9650
+ freeze: freezeField,
9603
9651
  fit: {
9604
9652
  type: "enum",
9605
9653
  default: "fill",
@@ -9705,7 +9753,7 @@ var CanvasImageContent = forwardRef10(({
9705
9753
  }
9706
9754
  return document.createElement("canvas");
9707
9755
  }, []);
9708
- const canvasRef = useCallback16((canvas) => {
9756
+ const canvasRef = useCallback17((canvas) => {
9709
9757
  setOutputCanvas(canvas);
9710
9758
  if (refForOutline) {
9711
9759
  refForOutline.current = canvas;
@@ -9852,6 +9900,7 @@ var CanvasImageInner = forwardRef10(({
9852
9900
  delayRenderTimeoutInMilliseconds,
9853
9901
  durationInFrames,
9854
9902
  from,
9903
+ freeze,
9855
9904
  hidden,
9856
9905
  name,
9857
9906
  showInTimeline,
@@ -9873,6 +9922,7 @@ var CanvasImageInner = forwardRef10(({
9873
9922
  layout: "none",
9874
9923
  from: from ?? 0,
9875
9924
  durationInFrames: durationInFrames ?? Infinity,
9925
+ freeze,
9876
9926
  hidden,
9877
9927
  showInTimeline: showInTimeline ?? true,
9878
9928
  name: name ?? "<CanvasImage>",
@@ -9905,6 +9955,7 @@ var CanvasImageInner = forwardRef10(({
9905
9955
  });
9906
9956
  var CanvasImage = wrapInSchema({
9907
9957
  Component: CanvasImageInner,
9958
+ componentIdentity: "dev.remotion.remotion.CanvasImage",
9908
9959
  schema: canvasImageSchema,
9909
9960
  supportsEffects: true
9910
9961
  });
@@ -9922,11 +9973,11 @@ var IFrameRefForwarding = ({
9922
9973
  retries: delayRenderRetries ?? undefined,
9923
9974
  timeoutInMilliseconds: delayRenderTimeoutInMilliseconds ?? undefined
9924
9975
  }));
9925
- const didLoad = useCallback17((e) => {
9976
+ const didLoad = useCallback18((e) => {
9926
9977
  continueRender2(handle);
9927
9978
  onLoad?.(e);
9928
9979
  }, [handle, onLoad, continueRender2]);
9929
- const didGetError = useCallback17((e) => {
9980
+ const didGetError = useCallback18((e) => {
9930
9981
  continueRender2(handle);
9931
9982
  if (onError) {
9932
9983
  onError(e);
@@ -9968,7 +10019,7 @@ var ImgContent = ({
9968
10019
  if (!_propsValid) {
9969
10020
  throw new Error("typecheck error");
9970
10021
  }
9971
- const imageCallbackRef = useCallback18((img) => {
10022
+ const imageCallbackRef = useCallback19((img) => {
9972
10023
  imageRef.current = img;
9973
10024
  refForOutline.current = img;
9974
10025
  if (typeof ref === "function") {
@@ -9978,7 +10029,7 @@ var ImgContent = ({
9978
10029
  }
9979
10030
  }, [ref, refForOutline]);
9980
10031
  const actualSrc = usePreload(src);
9981
- const retryIn = useCallback18((timeout) => {
10032
+ const retryIn = useCallback19((timeout) => {
9982
10033
  if (!imageRef.current) {
9983
10034
  return;
9984
10035
  }
@@ -9996,7 +10047,7 @@ var ImgContent = ({
9996
10047
  }, timeout);
9997
10048
  }, []);
9998
10049
  const { delayRender: delayRender2, continueRender: continueRender2, cancelRender: cancelRender2 } = useDelayRender();
9999
- const didGetError = useCallback18((e) => {
10050
+ const didGetError = useCallback19((e) => {
10000
10051
  if (!errors.current) {
10001
10052
  return;
10002
10053
  }
@@ -10106,6 +10157,7 @@ var NativeImgInner = ({
10106
10157
  src,
10107
10158
  from,
10108
10159
  durationInFrames,
10160
+ freeze,
10109
10161
  _experimentalControls: controls,
10110
10162
  _remotionInternalRefForOutline: refForOutline,
10111
10163
  ...props2
@@ -10117,6 +10169,7 @@ var NativeImgInner = ({
10117
10169
  layout: "none",
10118
10170
  from: from ?? 0,
10119
10171
  durationInFrames: durationInFrames ?? Infinity,
10172
+ freeze,
10120
10173
  _remotionInternalStack: stack,
10121
10174
  _remotionInternalDocumentationLink: "https://www.remotion.dev/docs/img",
10122
10175
  _remotionInternalIsMedia: { type: "image", src },
@@ -10136,6 +10189,7 @@ var CanvasImageWithPrivateProps = CanvasImage;
10136
10189
  var imgSchema = {
10137
10190
  durationInFrames: durationInFramesField,
10138
10191
  from: fromField,
10192
+ freeze: freezeField,
10139
10193
  ...sequenceVisualStyleSchema,
10140
10194
  hidden: hiddenField
10141
10195
  };
@@ -10191,6 +10245,7 @@ var ImgInner = ({
10191
10245
  src,
10192
10246
  from,
10193
10247
  durationInFrames,
10248
+ freeze,
10194
10249
  _experimentalControls: controls,
10195
10250
  width,
10196
10251
  height,
@@ -10215,6 +10270,7 @@ var ImgInner = ({
10215
10270
  src,
10216
10271
  from,
10217
10272
  durationInFrames,
10273
+ freeze,
10218
10274
  _experimentalControls: controls,
10219
10275
  width,
10220
10276
  height,
@@ -10256,6 +10312,7 @@ var ImgInner = ({
10256
10312
  delayRenderTimeoutInMilliseconds,
10257
10313
  from,
10258
10314
  durationInFrames,
10315
+ freeze,
10259
10316
  hidden,
10260
10317
  name: name ?? "<Img>",
10261
10318
  showInTimeline,
@@ -10268,6 +10325,7 @@ var ImgInner = ({
10268
10325
  };
10269
10326
  var Img = wrapInSchema({
10270
10327
  Component: ImgInner,
10328
+ componentIdentity: "dev.remotion.remotion.Img",
10271
10329
  schema: imgSchema,
10272
10330
  supportsEffects: true
10273
10331
  });
@@ -10275,6 +10333,7 @@ addSequenceStackTraces(Img);
10275
10333
  var interactiveElementSchema = {
10276
10334
  durationInFrames: durationInFramesField,
10277
10335
  from: fromField,
10336
+ freeze: freezeField,
10278
10337
  ...sequenceVisualStyleSchema,
10279
10338
  hidden: hiddenField
10280
10339
  };
@@ -10290,6 +10349,7 @@ var makeInteractiveElement = (tag, displayName) => {
10290
10349
  const {
10291
10350
  durationInFrames,
10292
10351
  from,
10352
+ freeze,
10293
10353
  hidden,
10294
10354
  name,
10295
10355
  showInTimeline,
@@ -10298,7 +10358,7 @@ var makeInteractiveElement = (tag, displayName) => {
10298
10358
  ...props2
10299
10359
  } = propsWithControls;
10300
10360
  const refForOutline = useRef25(null);
10301
- const callbackRef = useCallback19((element) => {
10361
+ const callbackRef = useCallback20((element) => {
10302
10362
  refForOutline.current = element;
10303
10363
  setRef(ref, element);
10304
10364
  }, [ref]);
@@ -10306,6 +10366,7 @@ var makeInteractiveElement = (tag, displayName) => {
10306
10366
  layout: "none",
10307
10367
  from: from ?? 0,
10308
10368
  durationInFrames: durationInFrames ?? Infinity,
10369
+ freeze,
10309
10370
  hidden,
10310
10371
  name: name ?? displayName,
10311
10372
  showInTimeline: showInTimeline ?? true,
@@ -10322,6 +10383,7 @@ var makeInteractiveElement = (tag, displayName) => {
10322
10383
  Inner.displayName = displayName;
10323
10384
  const Wrapped = wrapInSchema({
10324
10385
  Component: Inner,
10386
+ componentIdentity: `dev.remotion.remotion.${displayName.slice(1, -1)}`,
10325
10387
  schema: interactiveElementSchema,
10326
10388
  supportsEffects: false
10327
10389
  });
@@ -10378,14 +10440,14 @@ var CompositionManagerProvider = ({
10378
10440
  const [canvasContent, setCanvasContent] = useState18(initialCanvasContent);
10379
10441
  const [compositions, setCompositions] = useState18(initialCompositions);
10380
10442
  const currentcompositionsRef = useRef26(compositions);
10381
- const updateCompositions = useCallback20((updateComps) => {
10443
+ const updateCompositions = useCallback21((updateComps) => {
10382
10444
  setCompositions((comps) => {
10383
10445
  const updated = updateComps(comps);
10384
10446
  currentcompositionsRef.current = updated;
10385
10447
  return updated;
10386
10448
  });
10387
10449
  }, []);
10388
- const registerComposition = useCallback20((comp) => {
10450
+ const registerComposition = useCallback21((comp) => {
10389
10451
  updateCompositions((comps) => {
10390
10452
  if (comps.find((c2) => c2.id === comp.id)) {
10391
10453
  throw new Error(`Multiple composition with id ${comp.id} are registered.`);
@@ -10393,12 +10455,12 @@ var CompositionManagerProvider = ({
10393
10455
  return [...comps, comp];
10394
10456
  });
10395
10457
  }, [updateCompositions]);
10396
- const unregisterComposition = useCallback20((id) => {
10458
+ const unregisterComposition = useCallback21((id) => {
10397
10459
  setCompositions((comps) => {
10398
10460
  return comps.filter((c2) => c2.id !== id);
10399
10461
  });
10400
10462
  }, []);
10401
- const registerFolder = useCallback20((name, parent, nonce, stack) => {
10463
+ const registerFolder = useCallback21((name, parent, nonce, stack) => {
10402
10464
  setFolders((prevFolders) => {
10403
10465
  return [
10404
10466
  ...prevFolders,
@@ -10411,7 +10473,7 @@ var CompositionManagerProvider = ({
10411
10473
  ];
10412
10474
  });
10413
10475
  }, []);
10414
- const unregisterFolder = useCallback20((name, parent) => {
10476
+ const unregisterFolder = useCallback21((name, parent) => {
10415
10477
  setFolders((prevFolders) => {
10416
10478
  return prevFolders.filter((p) => !(p.name === name && p.parent === parent));
10417
10479
  });
@@ -11050,7 +11112,7 @@ var OffthreadVideoForRendering = ({
11050
11112
  continueRender2,
11051
11113
  delayRender2
11052
11114
  ]);
11053
- const onErr = useCallback21(() => {
11115
+ const onErr = useCallback22(() => {
11054
11116
  if (onError) {
11055
11117
  onError?.(new Error("Failed to load image with src " + imageSrc));
11056
11118
  } else {
@@ -11060,7 +11122,7 @@ var OffthreadVideoForRendering = ({
11060
11122
  const className = useMemo35(() => {
11061
11123
  return [OBJECTFIT_CONTAIN_CLASS_NAME, props2.className].filter(truthy).join(" ");
11062
11124
  }, [props2.className]);
11063
- const onImageFrame = useCallback21((img) => {
11125
+ const onImageFrame = useCallback22((img) => {
11064
11126
  if (onVideoFrame) {
11065
11127
  onVideoFrame(img);
11066
11128
  }
@@ -11193,7 +11255,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
11193
11255
  mediaVolume
11194
11256
  });
11195
11257
  warnAboutTooHighVolume(userPreferredVolume);
11196
- const getStack = useCallback22(() => {
11258
+ const getStack = useCallback23(() => {
11197
11259
  return _remotionInternalStack ?? null;
11198
11260
  }, [_remotionInternalStack]);
11199
11261
  useMediaInTimeline({
@@ -11369,7 +11431,7 @@ var InnerOffthreadVideo = (props2) => {
11369
11431
  if (environment.isClientSideRendering) {
11370
11432
  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
11433
  }
11372
- const onDuration = useCallback23(() => {
11434
+ const onDuration = useCallback24(() => {
11373
11435
  return;
11374
11436
  }, []);
11375
11437
  if (typeof props2.src !== "string") {
@@ -11748,6 +11810,7 @@ var Internals = {
11748
11810
  getEffectPropStatusesCtx,
11749
11811
  hiddenField,
11750
11812
  durationInFramesField,
11813
+ freezeField,
11751
11814
  fromField
11752
11815
  };
11753
11816
  var flattenChildren = (children) => {
@@ -11833,6 +11896,7 @@ var SeriesInner = (props2) => {
11833
11896
  };
11834
11897
  var Series = Object.assign(wrapInSchema({
11835
11898
  Component: SeriesInner,
11899
+ componentIdentity: "dev.remotion.remotion.Series",
11836
11900
  schema: sequenceSchemaDefaultLayoutNone,
11837
11901
  supportsEffects: false
11838
11902
  }), {
@@ -12297,7 +12361,7 @@ var VideoForwardingFunction = (props2, ref) => {
12297
12361
  throw new TypeError(`The \`<Html5Video>\` tag requires a string for \`src\`, but got ${JSON.stringify(props2.src)} instead.`);
12298
12362
  }
12299
12363
  const preloadedSrc = usePreload(props2.src);
12300
- const onDuration = useCallback24((src, durationInSeconds) => {
12364
+ const onDuration = useCallback25((src, durationInSeconds) => {
12301
12365
  setDurations({ type: "got-duration", durationInSeconds, src });
12302
12366
  }, [setDurations]);
12303
12367
  const durationFetched = durations[getAbsoluteSrc(preloadedSrc)] ?? durations[getAbsoluteSrc(props2.src)];
@@ -12845,7 +12909,7 @@ var ExpertsPageContent = ({ Link }) => {
12845
12909
  import * as React23 from "react";
12846
12910
  import * as React8 from "react";
12847
12911
  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";
12912
+ import React52, { useCallback as useCallback27, useRef as useRef210, useState as useState22 } from "react";
12849
12913
 
12850
12914
  // ../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
12851
12915
  function r(e) {
@@ -16953,7 +17017,7 @@ var PathInternals = {
16953
17017
  };
16954
17018
 
16955
17019
  // ../shapes/dist/esm/index.mjs
16956
- import React3, { useCallback as useCallback25, useMemo as useMemo42, useRef as useRef29 } from "react";
17020
+ import React3, { useCallback as useCallback26, useMemo as useMemo42, useRef as useRef29 } from "react";
16957
17021
  import { version } from "react-dom";
16958
17022
  import { jsx as jsx44, jsxs as jsxs5 } from "react/jsx-runtime";
16959
17023
  import { jsx as jsx210 } from "react/jsx-runtime";
@@ -16965,6 +17029,7 @@ import { jsx as jsx72 } from "react/jsx-runtime";
16965
17029
  import { jsx as jsx82 } from "react/jsx-runtime";
16966
17030
  import { jsx as jsx92 } from "react/jsx-runtime";
16967
17031
  import { jsx as jsx102 } from "react/jsx-runtime";
17032
+ import { jsx as jsx112 } from "react/jsx-runtime";
16968
17033
  var unitDir = (from, to) => {
16969
17034
  const dx = to[0] - from[0];
16970
17035
  const dy = to[1] - from[1];
@@ -17123,6 +17188,7 @@ var RenderSvg = ({
17123
17188
  pixelDensity,
17124
17189
  durationInFrames,
17125
17190
  from,
17191
+ freeze,
17126
17192
  hidden,
17127
17193
  name,
17128
17194
  showInTimeline,
@@ -17143,10 +17209,10 @@ var RenderSvg = ({
17143
17209
  };
17144
17210
  }, [pathStyle]);
17145
17211
  const outlineRef = useRef29(null);
17146
- const setSvgRef = useCallback25((node) => {
17212
+ const setSvgRef = useCallback26((node) => {
17147
17213
  outlineRef.current = node;
17148
17214
  }, []);
17149
- const setCanvasRef = useCallback25((canvas) => {
17215
+ const setCanvasRef = useCallback26((canvas) => {
17150
17216
  outlineRef.current = canvas;
17151
17217
  }, []);
17152
17218
  const memoizedEffectDefinitions = Internals.useMemoizedEffectDefinitions(effects);
@@ -17231,6 +17297,7 @@ var RenderSvg = ({
17231
17297
  return /* @__PURE__ */ jsx44(Sequence, {
17232
17298
  layout: "none",
17233
17299
  from,
17300
+ freeze,
17234
17301
  hidden,
17235
17302
  showInTimeline,
17236
17303
  _experimentalControls: controls,
@@ -17296,6 +17363,7 @@ var enumField = ({
17296
17363
  var makeShapeSchema = (shapeFields) => {
17297
17364
  return {
17298
17365
  from: Internals.sequenceSchema.from,
17366
+ freeze: Internals.sequenceSchema.freeze,
17299
17367
  durationInFrames: Internals.sequenceSchema.durationInFrames,
17300
17368
  ...shapeFields,
17301
17369
  fill: colorField({
@@ -17363,10 +17431,435 @@ var ArrowInner = ({
17363
17431
  };
17364
17432
  var Arrow = Internals.wrapInSchema({
17365
17433
  Component: ArrowInner,
17434
+ componentIdentity: "dev.remotion.shapes.Arrow",
17366
17435
  schema: arrowSchema,
17367
17436
  supportsEffects: true
17368
17437
  });
17369
17438
  Internals.addSequenceStackTraces(Arrow);
17439
+ var shortenVector = (vector, radius) => {
17440
+ const [x, y] = vector;
17441
+ const currentLength = Math.sqrt(x * x + y * y);
17442
+ const scalingFactor = (currentLength - radius) / currentLength;
17443
+ return [x * scalingFactor, y * scalingFactor];
17444
+ };
17445
+ var scaleVectorToLength = (vector, length2) => {
17446
+ const [x, y] = vector;
17447
+ const currentLength = Math.sqrt(x * x + y * y);
17448
+ const scalingFactor = length2 / currentLength;
17449
+ return [x * scalingFactor, y * scalingFactor];
17450
+ };
17451
+ var joinPoints = (points, {
17452
+ edgeRoundness,
17453
+ cornerRadius,
17454
+ roundCornerStrategy
17455
+ }) => {
17456
+ return points.map(([x, y], i) => {
17457
+ const prevPointIndex = i === 0 ? points.length - 2 : i - 1;
17458
+ const prevPoint = points[prevPointIndex];
17459
+ const nextPointIndex = i === points.length - 1 ? 1 : i + 1;
17460
+ const nextPoint = points[nextPointIndex];
17461
+ const middleOfLine = [(x + nextPoint[0]) / 2, (y + nextPoint[1]) / 2];
17462
+ const prevPointMiddleOfLine = [
17463
+ (x + prevPoint[0]) / 2,
17464
+ (y + prevPoint[1]) / 2
17465
+ ];
17466
+ const prevVector = [x - prevPoint[0], y - prevPoint[1]];
17467
+ const nextVector = [nextPoint[0] - x, nextPoint[1] - y];
17468
+ if (i === 0) {
17469
+ if (edgeRoundness !== null) {
17470
+ return [
17471
+ {
17472
+ type: "M",
17473
+ x: middleOfLine[0],
17474
+ y: middleOfLine[1]
17475
+ }
17476
+ ];
17477
+ }
17478
+ if (cornerRadius !== 0) {
17479
+ const computeRadius = shortenVector(nextVector, cornerRadius);
17480
+ return [
17481
+ {
17482
+ type: "M",
17483
+ x: computeRadius[0] + x,
17484
+ y: computeRadius[1] + y
17485
+ }
17486
+ ];
17487
+ }
17488
+ return [
17489
+ {
17490
+ type: "M",
17491
+ x,
17492
+ y
17493
+ }
17494
+ ];
17495
+ }
17496
+ if (cornerRadius && edgeRoundness !== null) {
17497
+ throw new Error(`"cornerRadius" and "edgeRoundness" cannot be specified at the same time.`);
17498
+ }
17499
+ if (edgeRoundness === null) {
17500
+ if (cornerRadius === 0) {
17501
+ return [
17502
+ {
17503
+ type: "L",
17504
+ x,
17505
+ y
17506
+ }
17507
+ ];
17508
+ }
17509
+ const prevVectorMinusRadius = shortenVector(prevVector, cornerRadius);
17510
+ const prevVectorLength = scaleVectorToLength(prevVector, cornerRadius);
17511
+ const nextVectorMinusRadius = scaleVectorToLength(nextVector, cornerRadius);
17512
+ const firstDraw = [
17513
+ prevPoint[0] + prevVectorMinusRadius[0],
17514
+ prevPoint[1] + prevVectorMinusRadius[1]
17515
+ ];
17516
+ return [
17517
+ {
17518
+ type: "L",
17519
+ x: firstDraw[0],
17520
+ y: firstDraw[1]
17521
+ },
17522
+ roundCornerStrategy === "arc" ? {
17523
+ type: "a",
17524
+ rx: cornerRadius,
17525
+ ry: cornerRadius,
17526
+ xAxisRotation: 0,
17527
+ dx: prevVectorLength[0] + nextVectorMinusRadius[0],
17528
+ dy: prevVectorLength[1] + nextVectorMinusRadius[1],
17529
+ largeArcFlag: false,
17530
+ sweepFlag: true
17531
+ } : {
17532
+ type: "C",
17533
+ x: firstDraw[0] + prevVectorLength[0] + nextVectorMinusRadius[0],
17534
+ y: firstDraw[1] + prevVectorLength[1] + nextVectorMinusRadius[1],
17535
+ cp1x: x,
17536
+ cp1y: y,
17537
+ cp2x: x,
17538
+ cp2y: y
17539
+ }
17540
+ ];
17541
+ }
17542
+ const controlPoint1 = [
17543
+ prevPointMiddleOfLine[0] + prevVector[0] * edgeRoundness * 0.5,
17544
+ prevPointMiddleOfLine[1] + prevVector[1] * edgeRoundness * 0.5
17545
+ ];
17546
+ const controlPoint2 = [
17547
+ middleOfLine[0] - nextVector[0] * edgeRoundness * 0.5,
17548
+ middleOfLine[1] - nextVector[1] * edgeRoundness * 0.5
17549
+ ];
17550
+ return [
17551
+ {
17552
+ type: "C",
17553
+ cp1x: controlPoint1[0],
17554
+ cp1y: controlPoint1[1],
17555
+ cp2x: controlPoint2[0],
17556
+ cp2y: controlPoint2[1],
17557
+ x: middleOfLine[0],
17558
+ y: middleOfLine[1]
17559
+ }
17560
+ ];
17561
+ }).flat(1);
17562
+ };
17563
+ var ensurePositive = (name, value) => {
17564
+ if (typeof value !== "number" || value <= 0) {
17565
+ throw new Error(`"${name}" must be a positive number, got ${value}`);
17566
+ }
17567
+ };
17568
+ var pointerInterval = ({
17569
+ availableLength,
17570
+ pointerBaseWidth,
17571
+ pointerPosition
17572
+ }) => {
17573
+ const center = availableLength * pointerPosition;
17574
+ const half = pointerBaseWidth / 2;
17575
+ return {
17576
+ center,
17577
+ start: Math.max(0, center - half),
17578
+ end: Math.min(availableLength, center + half)
17579
+ };
17580
+ };
17581
+ var areSamePoint = (a2, b2) => {
17582
+ return a2[0] === b2[0] && a2[1] === b2[1];
17583
+ };
17584
+ var normalizeClosedPoints = (points) => {
17585
+ const deduplicated = points.reduce((acc, entry) => {
17586
+ const previous = acc[acc.length - 1];
17587
+ if (previous && areSamePoint(previous.point, entry.point)) {
17588
+ acc[acc.length - 1] = {
17589
+ point: previous.point,
17590
+ round: previous.round && entry.round
17591
+ };
17592
+ return acc;
17593
+ }
17594
+ return [...acc, entry];
17595
+ }, []);
17596
+ if (deduplicated.length === 0) {
17597
+ return deduplicated;
17598
+ }
17599
+ const first = deduplicated[0];
17600
+ const last = deduplicated[deduplicated.length - 1];
17601
+ if (areSamePoint(first.point, last.point)) {
17602
+ const [firstEntry, ...rest] = deduplicated;
17603
+ const withoutLast = rest.slice(0, -1);
17604
+ const mergedFirst = {
17605
+ point: firstEntry.point,
17606
+ round: firstEntry.round && last.round
17607
+ };
17608
+ return [mergedFirst, ...withoutLast, mergedFirst];
17609
+ }
17610
+ return [...deduplicated, first];
17611
+ };
17612
+ var unitDir2 = (from, to) => {
17613
+ const dx = to[0] - from[0];
17614
+ const dy = to[1] - from[1];
17615
+ const len = Math.sqrt(dx * dx + dy * dy);
17616
+ if (len === 0) {
17617
+ return [0, 0];
17618
+ }
17619
+ return [dx / len, dy / len];
17620
+ };
17621
+ var makeInstructions2 = ({
17622
+ points,
17623
+ edgeRoundness,
17624
+ cornerRadius
17625
+ }) => {
17626
+ const rawPoints = points.map((p) => p.point);
17627
+ if (edgeRoundness !== null || cornerRadius === 0) {
17628
+ return [
17629
+ ...joinPoints(rawPoints, {
17630
+ edgeRoundness,
17631
+ cornerRadius,
17632
+ roundCornerStrategy: "arc"
17633
+ }),
17634
+ {
17635
+ type: "Z"
17636
+ }
17637
+ ];
17638
+ }
17639
+ const uniquePoints = areSamePoint(points[0].point, points[points.length - 1].point) ? points.slice(0, -1) : points;
17640
+ const firstPoint = uniquePoints[0];
17641
+ const startDir = firstPoint.round ? unitDir2(uniquePoints[0].point, uniquePoints[1].point) : null;
17642
+ const startPoint = startDir ? [
17643
+ firstPoint.point[0] + startDir[0] * cornerRadius,
17644
+ firstPoint.point[1] + startDir[1] * cornerRadius
17645
+ ] : firstPoint.point;
17646
+ const instructions = [
17647
+ { type: "M", x: startPoint[0], y: startPoint[1] }
17648
+ ];
17649
+ for (let i = 1;i < uniquePoints.length; i++) {
17650
+ const current = uniquePoints[i];
17651
+ if (!current.round) {
17652
+ instructions.push({
17653
+ type: "L",
17654
+ x: current.point[0],
17655
+ y: current.point[1]
17656
+ });
17657
+ continue;
17658
+ }
17659
+ const previous = uniquePoints[i - 1].point;
17660
+ const next = uniquePoints[(i + 1) % uniquePoints.length].point;
17661
+ const incoming = unitDir2(previous, current.point);
17662
+ const outgoing = unitDir2(current.point, next);
17663
+ const arcStart = [
17664
+ current.point[0] - incoming[0] * cornerRadius,
17665
+ current.point[1] - incoming[1] * cornerRadius
17666
+ ];
17667
+ instructions.push({
17668
+ type: "L",
17669
+ x: arcStart[0],
17670
+ y: arcStart[1]
17671
+ }, {
17672
+ type: "a",
17673
+ rx: cornerRadius,
17674
+ ry: cornerRadius,
17675
+ xAxisRotation: 0,
17676
+ dx: incoming[0] * cornerRadius + outgoing[0] * cornerRadius,
17677
+ dy: incoming[1] * cornerRadius + outgoing[1] * cornerRadius,
17678
+ largeArcFlag: false,
17679
+ sweepFlag: true
17680
+ });
17681
+ }
17682
+ if (firstPoint.round) {
17683
+ const previous = uniquePoints[uniquePoints.length - 1].point;
17684
+ const incoming = unitDir2(previous, firstPoint.point);
17685
+ instructions.push({
17686
+ type: "L",
17687
+ x: firstPoint.point[0] - incoming[0] * cornerRadius,
17688
+ y: firstPoint.point[1] - incoming[1] * cornerRadius
17689
+ }, {
17690
+ type: "a",
17691
+ rx: cornerRadius,
17692
+ ry: cornerRadius,
17693
+ xAxisRotation: 0,
17694
+ dx: incoming[0] * cornerRadius + startDir[0] * cornerRadius,
17695
+ dy: incoming[1] * cornerRadius + startDir[1] * cornerRadius,
17696
+ largeArcFlag: false,
17697
+ sweepFlag: true
17698
+ });
17699
+ }
17700
+ instructions.push({ type: "Z" });
17701
+ return instructions;
17702
+ };
17703
+ var makeCallout = ({
17704
+ width = 500,
17705
+ height = 200,
17706
+ pointerLength = 40,
17707
+ pointerBaseWidth = 60,
17708
+ pointerPosition = 0.5,
17709
+ pointerDirection = "down",
17710
+ edgeRoundness = null,
17711
+ cornerRadius = 0
17712
+ }) => {
17713
+ ensurePositive("width", width);
17714
+ ensurePositive("height", height);
17715
+ ensurePositive("pointerLength", pointerLength);
17716
+ ensurePositive("pointerBaseWidth", pointerBaseWidth);
17717
+ if (typeof pointerPosition !== "number" || pointerPosition < 0 || pointerPosition > 1) {
17718
+ throw new Error(`"pointerPosition" must be a number between 0 and 1, got ${pointerPosition}`);
17719
+ }
17720
+ const horizontalInterval = pointerInterval({
17721
+ availableLength: width,
17722
+ pointerBaseWidth,
17723
+ pointerPosition
17724
+ });
17725
+ const verticalInterval = pointerInterval({
17726
+ availableLength: height,
17727
+ pointerBaseWidth,
17728
+ pointerPosition
17729
+ });
17730
+ const pointsByDirection = {
17731
+ up: [
17732
+ { point: [0, pointerLength], round: true },
17733
+ { point: [horizontalInterval.start, pointerLength], round: false },
17734
+ { point: [horizontalInterval.center, 0], round: false },
17735
+ { point: [horizontalInterval.end, pointerLength], round: false },
17736
+ { point: [width, pointerLength], round: true },
17737
+ { point: [width, height + pointerLength], round: true },
17738
+ { point: [0, height + pointerLength], round: true },
17739
+ { point: [0, pointerLength], round: true }
17740
+ ],
17741
+ down: [
17742
+ { point: [0, 0], round: true },
17743
+ { point: [width, 0], round: true },
17744
+ { point: [width, height], round: true },
17745
+ { point: [horizontalInterval.end, height], round: false },
17746
+ {
17747
+ point: [horizontalInterval.center, height + pointerLength],
17748
+ round: false
17749
+ },
17750
+ { point: [horizontalInterval.start, height], round: false },
17751
+ { point: [0, height], round: true },
17752
+ { point: [0, 0], round: true }
17753
+ ],
17754
+ left: [
17755
+ { point: [pointerLength, 0], round: true },
17756
+ { point: [width + pointerLength, 0], round: true },
17757
+ { point: [width + pointerLength, height], round: true },
17758
+ { point: [pointerLength, height], round: true },
17759
+ { point: [pointerLength, verticalInterval.end], round: false },
17760
+ { point: [0, verticalInterval.center], round: false },
17761
+ { point: [pointerLength, verticalInterval.start], round: false },
17762
+ { point: [pointerLength, 0], round: true }
17763
+ ],
17764
+ right: [
17765
+ { point: [0, 0], round: true },
17766
+ { point: [width, 0], round: true },
17767
+ { point: [width, verticalInterval.start], round: false },
17768
+ { point: [width + pointerLength, verticalInterval.center], round: false },
17769
+ { point: [width, verticalInterval.end], round: false },
17770
+ { point: [width, height], round: true },
17771
+ { point: [0, height], round: true },
17772
+ { point: [0, 0], round: true }
17773
+ ]
17774
+ };
17775
+ const points = normalizeClosedPoints(pointsByDirection[pointerDirection]);
17776
+ const instructions = makeInstructions2({ points, edgeRoundness, cornerRadius });
17777
+ const path = serializeInstructions(instructions);
17778
+ const shapeWidth = pointerDirection === "left" || pointerDirection === "right" ? width + pointerLength : width;
17779
+ const shapeHeight = pointerDirection === "up" || pointerDirection === "down" ? height + pointerLength : height;
17780
+ const bodyX = pointerDirection === "left" ? pointerLength : 0;
17781
+ const bodyY = pointerDirection === "up" ? pointerLength : 0;
17782
+ return {
17783
+ width: shapeWidth,
17784
+ height: shapeHeight,
17785
+ instructions,
17786
+ path,
17787
+ transformOrigin: `${bodyX + width / 2} ${bodyY + height / 2}`
17788
+ };
17789
+ };
17790
+ var calloutSchema = makeShapeSchema({
17791
+ width: numberField({
17792
+ defaultValue: 500,
17793
+ description: "Width",
17794
+ min: 1
17795
+ }),
17796
+ height: numberField({
17797
+ defaultValue: 200,
17798
+ description: "Height",
17799
+ min: 1
17800
+ }),
17801
+ pointerLength: numberField({
17802
+ defaultValue: 40,
17803
+ description: "Pointer Length",
17804
+ min: 1
17805
+ }),
17806
+ pointerBaseWidth: numberField({
17807
+ defaultValue: 60,
17808
+ description: "Pointer Base Width",
17809
+ min: 1
17810
+ }),
17811
+ pointerPosition: numberField({
17812
+ defaultValue: 0.5,
17813
+ description: "Pointer Position",
17814
+ min: 0,
17815
+ max: 1,
17816
+ step: 0.01
17817
+ }),
17818
+ pointerDirection: enumField({
17819
+ defaultValue: "down",
17820
+ description: "Pointer Direction",
17821
+ variants: ["up", "down", "left", "right"]
17822
+ }),
17823
+ cornerRadius: numberField({
17824
+ defaultValue: 0,
17825
+ description: "Corner Radius",
17826
+ min: 0
17827
+ })
17828
+ });
17829
+ var CalloutInner = ({
17830
+ width,
17831
+ height,
17832
+ pointerLength,
17833
+ pointerBaseWidth,
17834
+ pointerPosition,
17835
+ pointerDirection,
17836
+ edgeRoundness,
17837
+ cornerRadius,
17838
+ ...props
17839
+ }) => {
17840
+ return /* @__PURE__ */ jsx310(RenderSvg, {
17841
+ defaultName: "<Callout>",
17842
+ documentationLink: "https://www.remotion.dev/docs/shapes/callout",
17843
+ ...makeCallout({
17844
+ width,
17845
+ height,
17846
+ pointerLength,
17847
+ pointerBaseWidth,
17848
+ pointerPosition,
17849
+ pointerDirection,
17850
+ edgeRoundness,
17851
+ cornerRadius
17852
+ }),
17853
+ ...props
17854
+ });
17855
+ };
17856
+ var Callout = Internals.wrapInSchema({
17857
+ Component: CalloutInner,
17858
+ componentIdentity: "dev.remotion.shapes.Callout",
17859
+ schema: calloutSchema,
17860
+ supportsEffects: true
17861
+ });
17862
+ Internals.addSequenceStackTraces(Callout);
17370
17863
  var makeCircle = ({ radius }) => {
17371
17864
  const instructions = [
17372
17865
  {
@@ -17415,7 +17908,7 @@ var circleSchema = makeShapeSchema({
17415
17908
  })
17416
17909
  });
17417
17910
  var CircleInner = ({ radius, ...props }) => {
17418
- return /* @__PURE__ */ jsx310(RenderSvg, {
17911
+ return /* @__PURE__ */ jsx45(RenderSvg, {
17419
17912
  defaultName: "<Circle>",
17420
17913
  documentationLink: "https://www.remotion.dev/docs/shapes/circle",
17421
17914
  ...makeCircle({ radius }),
@@ -17424,6 +17917,7 @@ var CircleInner = ({ radius, ...props }) => {
17424
17917
  };
17425
17918
  var Circle = Internals.wrapInSchema({
17426
17919
  Component: CircleInner,
17920
+ componentIdentity: "dev.remotion.shapes.Circle",
17427
17921
  schema: circleSchema,
17428
17922
  supportsEffects: true
17429
17923
  });
@@ -17471,7 +17965,7 @@ var ellipseSchema = makeShapeSchema({
17471
17965
  })
17472
17966
  });
17473
17967
  var EllipseInner = ({ rx, ry, ...props }) => {
17474
- return /* @__PURE__ */ jsx45(RenderSvg, {
17968
+ return /* @__PURE__ */ jsx52(RenderSvg, {
17475
17969
  defaultName: "<Ellipse>",
17476
17970
  documentationLink: "https://www.remotion.dev/docs/shapes/ellipse",
17477
17971
  ...makeEllipse({ rx, ry }),
@@ -17480,6 +17974,7 @@ var EllipseInner = ({ rx, ry, ...props }) => {
17480
17974
  };
17481
17975
  var Ellipse = Internals.wrapInSchema({
17482
17976
  Component: EllipseInner,
17977
+ componentIdentity: "dev.remotion.shapes.Ellipse",
17483
17978
  schema: ellipseSchema,
17484
17979
  supportsEffects: true
17485
17980
  });
@@ -17603,7 +18098,7 @@ var HeartInner = ({
17603
18098
  depthAdjustment = 0,
17604
18099
  ...props
17605
18100
  }) => {
17606
- return /* @__PURE__ */ jsx52(RenderSvg, {
18101
+ return /* @__PURE__ */ jsx62(RenderSvg, {
17607
18102
  defaultName: "<Heart>",
17608
18103
  documentationLink: "https://www.remotion.dev/docs/shapes/heart",
17609
18104
  ...makeHeart({
@@ -17617,6 +18112,7 @@ var HeartInner = ({
17617
18112
  };
17618
18113
  var Heart = Internals.wrapInSchema({
17619
18114
  Component: HeartInner,
18115
+ componentIdentity: "dev.remotion.shapes.Heart",
17620
18116
  schema: heartSchema,
17621
18117
  supportsEffects: true
17622
18118
  });
@@ -17761,7 +18257,7 @@ var PieInner = ({
17761
18257
  rotation,
17762
18258
  ...props
17763
18259
  }) => {
17764
- return /* @__PURE__ */ jsx62(RenderSvg, {
18260
+ return /* @__PURE__ */ jsx72(RenderSvg, {
17765
18261
  defaultName: "<Pie>",
17766
18262
  documentationLink: "https://www.remotion.dev/docs/shapes/pie",
17767
18263
  ...makePie({ radius, progress, closePath, counterClockwise, rotation }),
@@ -17770,134 +18266,11 @@ var PieInner = ({
17770
18266
  };
17771
18267
  var Pie = Internals.wrapInSchema({
17772
18268
  Component: PieInner,
18269
+ componentIdentity: "dev.remotion.shapes.Pie",
17773
18270
  schema: pieSchema,
17774
18271
  supportsEffects: true
17775
18272
  });
17776
18273
  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
18274
  function polygon({
17902
18275
  points,
17903
18276
  radius,
@@ -17978,7 +18351,7 @@ var PolygonInner = ({
17978
18351
  edgeRoundness,
17979
18352
  ...props
17980
18353
  }) => {
17981
- return /* @__PURE__ */ jsx72(RenderSvg, {
18354
+ return /* @__PURE__ */ jsx82(RenderSvg, {
17982
18355
  defaultName: "<Polygon>",
17983
18356
  documentationLink: "https://www.remotion.dev/docs/shapes/polygon",
17984
18357
  ...makePolygon({
@@ -17992,6 +18365,7 @@ var PolygonInner = ({
17992
18365
  };
17993
18366
  var Polygon = Internals.wrapInSchema({
17994
18367
  Component: PolygonInner,
18368
+ componentIdentity: "dev.remotion.shapes.Polygon",
17995
18369
  schema: polygonSchema,
17996
18370
  supportsEffects: true
17997
18371
  });
@@ -18048,7 +18422,7 @@ var RectInner = ({
18048
18422
  cornerRadius,
18049
18423
  ...props
18050
18424
  }) => {
18051
- return /* @__PURE__ */ jsx82(RenderSvg, {
18425
+ return /* @__PURE__ */ jsx92(RenderSvg, {
18052
18426
  defaultName: "<Rect>",
18053
18427
  documentationLink: "https://www.remotion.dev/docs/shapes/rect",
18054
18428
  ...makeRect({ height, width, edgeRoundness, cornerRadius }),
@@ -18057,6 +18431,7 @@ var RectInner = ({
18057
18431
  };
18058
18432
  var Rect = Internals.wrapInSchema({
18059
18433
  Component: RectInner,
18434
+ componentIdentity: "dev.remotion.shapes.Rect",
18060
18435
  schema: rectSchema,
18061
18436
  supportsEffects: true
18062
18437
  });
@@ -18151,7 +18526,7 @@ var StarInner = ({
18151
18526
  edgeRoundness,
18152
18527
  ...props
18153
18528
  }) => {
18154
- return /* @__PURE__ */ jsx92(RenderSvg, {
18529
+ return /* @__PURE__ */ jsx102(RenderSvg, {
18155
18530
  defaultName: "<Star>",
18156
18531
  documentationLink: "https://www.remotion.dev/docs/shapes/star",
18157
18532
  ...makeStar({
@@ -18166,6 +18541,7 @@ var StarInner = ({
18166
18541
  };
18167
18542
  var Star = Internals.wrapInSchema({
18168
18543
  Component: StarInner,
18544
+ componentIdentity: "dev.remotion.shapes.Star",
18169
18545
  schema: starSchema,
18170
18546
  supportsEffects: true
18171
18547
  });
@@ -18262,7 +18638,7 @@ var TriangleInner = ({
18262
18638
  cornerRadius,
18263
18639
  ...props
18264
18640
  }) => {
18265
- return /* @__PURE__ */ jsx102(RenderSvg, {
18641
+ return /* @__PURE__ */ jsx112(RenderSvg, {
18266
18642
  defaultName: "<Triangle>",
18267
18643
  documentationLink: "https://www.remotion.dev/docs/shapes/triangle",
18268
18644
  ...makeTriangle({ length: length2, direction, edgeRoundness, cornerRadius }),
@@ -18271,6 +18647,7 @@ var TriangleInner = ({
18271
18647
  };
18272
18648
  var Triangle = Internals.wrapInSchema({
18273
18649
  Component: TriangleInner,
18650
+ componentIdentity: "dev.remotion.shapes.Triangle",
18274
18651
  schema: triangleSchema,
18275
18652
  supportsEffects: true
18276
18653
  });
@@ -19351,7 +19728,7 @@ import { jsx as jsx83, jsxs as jsxs32 } from "react/jsx-runtime";
19351
19728
  import { jsx as jsx93 } from "react/jsx-runtime";
19352
19729
  import React72 from "react";
19353
19730
  import { jsx as jsx103 } from "react/jsx-runtime";
19354
- import { jsx as jsx112 } from "react/jsx-runtime";
19731
+ import { jsx as jsx113 } from "react/jsx-runtime";
19355
19732
  import { jsx as jsx122 } from "react/jsx-runtime";
19356
19733
  import * as React36 from "react";
19357
19734
  import * as ReactDOM4 from "react-dom";
@@ -19911,7 +20288,7 @@ var Button = ({
19911
20288
  const [dimensions, setDimensions] = useState22(null);
19912
20289
  const ref = useRef210(null);
19913
20290
  const { isActive, progress } = useHoverTransforms(ref, Boolean(disabled || loading));
19914
- const onPointerEnter = useCallback26((e) => {
20291
+ const onPointerEnter = useCallback27((e) => {
19915
20292
  if (e.pointerType !== "mouse") {
19916
20293
  return;
19917
20294
  }
@@ -19948,7 +20325,7 @@ var Button = ({
19948
20325
  const isDisabled = disabled || loading;
19949
20326
  const isAnchor = !asChild && "href" in rest && rest.href !== undefined;
19950
20327
  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) => {
20328
+ const preventInteraction = useCallback27((e) => {
19952
20329
  e.preventDefault();
19953
20330
  e.stopPropagation();
19954
20331
  }, []);
@@ -20159,7 +20536,7 @@ var Link = ({
20159
20536
  className,
20160
20537
  ...props
20161
20538
  }) => {
20162
- return /* @__PURE__ */ jsx112("a", {
20539
+ return /* @__PURE__ */ jsx113("a", {
20163
20540
  ...props,
20164
20541
  className: cn(className, "text-brand underline underline-offset-4"),
20165
20542
  children: props.children
@@ -26042,7 +26419,7 @@ var Triangle22 = (props) => {
26042
26419
  };
26043
26420
 
26044
26421
  // src/components/homepage/FreePricing.tsx
26045
- import React53, { useCallback as useCallback37, useMemo as useMemo52 } from "react";
26422
+ import React53, { useCallback as useCallback38, useMemo as useMemo52 } from "react";
26046
26423
 
26047
26424
  // ../../node_modules/.bun/tailwind-merge@2.5.2/node_modules/tailwind-merge/dist/bundle-mjs.mjs
26048
26425
  var CLASS_PART_SEPARATOR2 = "-";
@@ -27689,7 +28066,7 @@ var CompanyPricing = () => {
27689
28066
  const [automatorsSelected, setAutomatorsSelected] = React53.useState(true);
27690
28067
  const [devSeatCount, setDevSeatCount] = React53.useState(3);
27691
28068
  const [cloudRenders, setCloudRenders] = React53.useState(1e4);
27692
- const formatPrice = useCallback37((price) => {
28069
+ const formatPrice = useCallback38((price) => {
27693
28070
  const formatter = new Intl.NumberFormat("en-US", {
27694
28071
  style: "currency",
27695
28072
  currency: "USD",
@@ -28754,7 +29131,7 @@ import { useEffect as useEffect210, useState as useState210 } from "react";
28754
29131
  import { useLayoutEffect as useLayoutEffect23 } from "react";
28755
29132
  import { useContext as useContext47, useEffect as useEffect52, useRef as useRef47 } from "react";
28756
29133
  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";
29134
+ import { useCallback as useCallback39, useContext as useContext310, useMemo as useMemo53, useRef as useRef48, useState as useState39 } from "react";
28758
29135
  import { useEffect as useEffect43, useRef as useRef310 } from "react";
28759
29136
  import { useCallback as useCallback210, useEffect as useEffect62, useMemo as useMemo212, useState as useState42 } from "react";
28760
29137
  import {
@@ -28784,7 +29161,7 @@ import { jsx as jsx55 } from "react/jsx-runtime";
28784
29161
  import { useCallback as useCallback72, useEffect as useEffect112, useMemo as useMemo92, useRef as useRef82, useState as useState102 } from "react";
28785
29162
  import { jsx as jsx64 } from "react/jsx-runtime";
28786
29163
  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";
29164
+ import React54, { useCallback as useCallback310, useMemo as useMemo310, useState as useState52 } from "react";
28788
29165
  import { jsx as jsx74, jsxs as jsxs33 } from "react/jsx-runtime";
28789
29166
  import { jsx as jsx84, jsxs as jsxs43 } from "react/jsx-runtime";
28790
29167
  import { useCallback as useCallback52, useEffect as useEffect92, useMemo as useMemo54, useState as useState82 } from "react";
@@ -28795,7 +29172,7 @@ import { jsx as jsx104, jsxs as jsxs62 } from "react/jsx-runtime";
28795
29172
  import { useMemo as useMemo72 } from "react";
28796
29173
  import { jsxs as jsxs72 } from "react/jsx-runtime";
28797
29174
  import { useMemo as useMemo82 } from "react";
28798
- import { jsx as jsx113, jsxs as jsxs82, Fragment as Fragment23 } from "react/jsx-runtime";
29175
+ import { jsx as jsx114, jsxs as jsxs82, Fragment as Fragment23 } from "react/jsx-runtime";
28799
29176
  import { useCallback as useCallback92, useMemo as useMemo112 } from "react";
28800
29177
  import { useCallback as useCallback82, useMemo as useMemo102, useRef as useRef92 } from "react";
28801
29178
  import { jsx as jsx123, jsxs as jsxs92, Fragment as Fragment32 } from "react/jsx-runtime";
@@ -29986,10 +30363,17 @@ var fromField2 = {
29986
30363
  step: 1,
29987
30364
  hiddenFromList: true
29988
30365
  };
30366
+ var freezeField2 = {
30367
+ type: "number",
30368
+ default: null,
30369
+ step: 1,
30370
+ hiddenFromList: true
30371
+ };
29989
30372
  var sequenceSchema2 = extendSchemaWithSequenceName2({
29990
30373
  hidden: hiddenField2,
29991
30374
  showInTimeline: showInTimelineField2,
29992
30375
  from: fromField2,
30376
+ freeze: freezeField2,
29993
30377
  durationInFrames: durationInFramesField2,
29994
30378
  layout: {
29995
30379
  type: "enum",
@@ -30004,6 +30388,7 @@ var sequenceSchema2 = extendSchemaWithSequenceName2({
30004
30388
  var sequenceSchemaWithoutFrom2 = extendSchemaWithSequenceName2({
30005
30389
  hidden: hiddenField2,
30006
30390
  showInTimeline: showInTimelineField2,
30391
+ freeze: freezeField2,
30007
30392
  durationInFrames: durationInFramesField2,
30008
30393
  layout: sequenceSchema2.layout
30009
30394
  });
@@ -30754,7 +31139,7 @@ var usePlayer = () => {
30754
31139
  throw new Error("Missing the buffering context. Most likely you have a Remotion version mismatch.");
30755
31140
  }
30756
31141
  const { buffering } = bufferingContext;
30757
- const seek2 = useCallback38((newFrame) => {
31142
+ const seek2 = useCallback39((newFrame) => {
30758
31143
  const frameToSeekTo = config ? Internals.TimelinePosition.clampFrameToCompositionRange(newFrame, config.durationInFrames) : Math.max(0, newFrame);
30759
31144
  if (video?.id) {
30760
31145
  setTimelinePosition((c2) => ({ ...c2, [video.id]: frameToSeekTo }));
@@ -30762,7 +31147,7 @@ var usePlayer = () => {
30762
31147
  frameRef.current = frameToSeekTo;
30763
31148
  emitter.dispatchSeek(frameToSeekTo);
30764
31149
  }, [config, emitter, setTimelinePosition, video?.id]);
30765
- const play = useCallback38((e) => {
31150
+ const play = useCallback39((e) => {
30766
31151
  if (imperativePlaying.current) {
30767
31152
  return;
30768
31153
  }
@@ -30789,7 +31174,7 @@ var usePlayer = () => {
30789
31174
  seek2,
30790
31175
  audioAndVideoTags
30791
31176
  ]);
30792
- const pause = useCallback38(() => {
31177
+ const pause = useCallback39(() => {
30793
31178
  if (imperativePlaying.current) {
30794
31179
  imperativePlaying.current = false;
30795
31180
  setPlaying(false);
@@ -30797,7 +31182,7 @@ var usePlayer = () => {
30797
31182
  audioContext?.suspend();
30798
31183
  }
30799
31184
  }, [emitter, imperativePlaying, setPlaying, audioContext]);
30800
- const pauseAndReturnToPlayStart = useCallback38(() => {
31185
+ const pauseAndReturnToPlayStart = useCallback39(() => {
30801
31186
  if (imperativePlaying.current) {
30802
31187
  imperativePlaying.current = false;
30803
31188
  frameRef.current = playStart.current;
@@ -30812,7 +31197,7 @@ var usePlayer = () => {
30812
31197
  }
30813
31198
  }, [config, emitter, imperativePlaying, setPlaying, setTimelinePosition]);
30814
31199
  const videoId = video?.id;
30815
- const frameBack = useCallback38((frames) => {
31200
+ const frameBack = useCallback39((frames) => {
30816
31201
  if (!videoId) {
30817
31202
  return null;
30818
31203
  }
@@ -30831,7 +31216,7 @@ var usePlayer = () => {
30831
31216
  };
30832
31217
  });
30833
31218
  }, [imperativePlaying, setFrame, videoId]);
30834
- const frameForward = useCallback38((frames) => {
31219
+ const frameForward = useCallback39((frames) => {
30835
31220
  if (!videoId) {
30836
31221
  return null;
30837
31222
  }
@@ -30850,20 +31235,20 @@ var usePlayer = () => {
30850
31235
  };
30851
31236
  });
30852
31237
  }, [videoId, imperativePlaying, lastFrame, setFrame]);
30853
- const toggle = useCallback38((e) => {
31238
+ const toggle = useCallback39((e) => {
30854
31239
  if (imperativePlaying.current) {
30855
31240
  pause();
30856
31241
  } else {
30857
31242
  play(e);
30858
31243
  }
30859
31244
  }, [imperativePlaying, pause, play]);
30860
- const isPlaying = useCallback38(() => {
31245
+ const isPlaying = useCallback39(() => {
30861
31246
  return imperativePlaying.current;
30862
31247
  }, [imperativePlaying]);
30863
- const getCurrentFrame = useCallback38(() => {
31248
+ const getCurrentFrame = useCallback39(() => {
30864
31249
  return frameRef.current;
30865
31250
  }, [frameRef]);
30866
- const isBuffering = useCallback38(() => {
31251
+ const isBuffering = useCallback39(() => {
30867
31252
  return buffering.current;
30868
31253
  }, [buffering]);
30869
31254
  const returnValue = useMemo53(() => {
@@ -31616,7 +32001,7 @@ var DefaultVolumeSlider = ({
31616
32001
  }, [isVertical]);
31617
32002
  const randomId = typeof React54.useId === "undefined" ? "volume-slider" : React54.useId();
31618
32003
  const [randomClass] = useState52(() => `__remotion-volume-slider-${random(randomId)}`.replace(".", ""));
31619
- const onVolumeChange = useCallback39((e) => {
32004
+ const onVolumeChange = useCallback310((e) => {
31620
32005
  setVolume(parseFloat(e.target.value));
31621
32006
  }, [setVolume]);
31622
32007
  const inputStyle = useMemo310(() => {
@@ -32406,82 +32791,82 @@ var Controls = ({
32406
32791
  /* @__PURE__ */ jsxs82("div", {
32407
32792
  style: leftPartStyle,
32408
32793
  children: [
32409
- /* @__PURE__ */ jsx113("button", {
32794
+ /* @__PURE__ */ jsx114("button", {
32410
32795
  ref: playButtonRef,
32411
32796
  type: "button",
32412
32797
  style: playerButtonStyle,
32413
32798
  onClick: toggle,
32414
32799
  "aria-label": playing ? "Pause video" : "Play video",
32415
32800
  title: playing ? "Pause video" : "Play video",
32416
- children: renderPlayPauseButton === null ? /* @__PURE__ */ jsx113(DefaultPlayPauseButton, {
32801
+ children: renderPlayPauseButton === null ? /* @__PURE__ */ jsx114(DefaultPlayPauseButton, {
32417
32802
  buffering,
32418
32803
  playing
32419
32804
  }) : renderPlayPauseButton({
32420
32805
  playing,
32421
32806
  isBuffering: buffering
32422
- }) ?? /* @__PURE__ */ jsx113(DefaultPlayPauseButton, {
32807
+ }) ?? /* @__PURE__ */ jsx114(DefaultPlayPauseButton, {
32423
32808
  buffering,
32424
32809
  playing
32425
32810
  })
32426
32811
  }),
32427
32812
  showVolumeControls ? /* @__PURE__ */ jsxs82(Fragment23, {
32428
32813
  children: [
32429
- /* @__PURE__ */ jsx113("div", {
32814
+ /* @__PURE__ */ jsx114("div", {
32430
32815
  style: xSpacer
32431
32816
  }),
32432
- /* @__PURE__ */ jsx113(MediaVolumeSlider, {
32817
+ /* @__PURE__ */ jsx114(MediaVolumeSlider, {
32433
32818
  renderMuteButton,
32434
32819
  renderVolumeSlider,
32435
32820
  displayVerticalVolumeSlider
32436
32821
  })
32437
32822
  ]
32438
32823
  }) : null,
32439
- /* @__PURE__ */ jsx113("div", {
32824
+ /* @__PURE__ */ jsx114("div", {
32440
32825
  style: xSpacer
32441
32826
  }),
32442
- /* @__PURE__ */ jsx113(PlayerTimeLabel, {
32827
+ /* @__PURE__ */ jsx114(PlayerTimeLabel, {
32443
32828
  durationInFrames,
32444
32829
  fps,
32445
32830
  maxTimeLabelWidth
32446
32831
  }),
32447
- /* @__PURE__ */ jsx113("div", {
32832
+ /* @__PURE__ */ jsx114("div", {
32448
32833
  style: xSpacer
32449
32834
  })
32450
32835
  ]
32451
32836
  }),
32452
- /* @__PURE__ */ jsx113("div", {
32837
+ /* @__PURE__ */ jsx114("div", {
32453
32838
  style: flex1
32454
32839
  }),
32455
32840
  customControlsElement,
32456
- customControlsElement && playbackRates && canvasSize ? /* @__PURE__ */ jsx113("div", {
32841
+ customControlsElement && playbackRates && canvasSize ? /* @__PURE__ */ jsx114("div", {
32457
32842
  style: xSpacer
32458
32843
  }) : null,
32459
- playbackRates && canvasSize && /* @__PURE__ */ jsx113(PlaybackrateControl, {
32844
+ playbackRates && canvasSize && /* @__PURE__ */ jsx114(PlaybackrateControl, {
32460
32845
  canvasSize,
32461
32846
  playbackRates
32462
32847
  }),
32463
- playbackRates && supportsFullscreen && allowFullscreen ? /* @__PURE__ */ jsx113("div", {
32848
+ playbackRates && supportsFullscreen && allowFullscreen ? /* @__PURE__ */ jsx114("div", {
32464
32849
  style: xSpacer
32465
32850
  }) : null,
32466
- /* @__PURE__ */ jsx113("div", {
32851
+ /* @__PURE__ */ jsx114("div", {
32467
32852
  style: fullscreen,
32468
- children: supportsFullscreen && allowFullscreen ? /* @__PURE__ */ jsx113("button", {
32853
+ children: supportsFullscreen && allowFullscreen ? /* @__PURE__ */ jsx114("button", {
32469
32854
  type: "button",
32470
32855
  "aria-label": isFullscreen ? "Exit fullscreen" : "Enter Fullscreen",
32471
32856
  title: isFullscreen ? "Exit fullscreen" : "Enter Fullscreen",
32472
32857
  style: playerButtonStyle,
32473
32858
  onClick: isFullscreen ? onExitFullscreenButtonClick : onFullscreenButtonClick,
32474
- children: renderFullscreenButton === null ? /* @__PURE__ */ jsx113(FullscreenIcon, {
32859
+ children: renderFullscreenButton === null ? /* @__PURE__ */ jsx114(FullscreenIcon, {
32475
32860
  isFullscreen
32476
32861
  }) : renderFullscreenButton({ isFullscreen })
32477
32862
  }) : null
32478
32863
  })
32479
32864
  ]
32480
32865
  }),
32481
- /* @__PURE__ */ jsx113("div", {
32866
+ /* @__PURE__ */ jsx114("div", {
32482
32867
  style: ySpacer
32483
32868
  }),
32484
- /* @__PURE__ */ jsx113(PlayerSeekBar, {
32869
+ /* @__PURE__ */ jsx114(PlayerSeekBar, {
32485
32870
  onSeekEnd,
32486
32871
  onSeekStart,
32487
32872
  durationInFrames,
@@ -33802,7 +34187,7 @@ var Thumbnail = forward2(ThumbnailFn);
33802
34187
 
33803
34188
  // src/components/homepage/Demo/index.tsx
33804
34189
  import {
33805
- useCallback as useCallback56,
34190
+ useCallback as useCallback55,
33806
34191
  useEffect as useEffect58,
33807
34192
  useMemo as useMemo67,
33808
34193
  useRef as useRef59,
@@ -39049,6 +39434,9 @@ var AudioForRendering2 = ({
39049
39434
  };
39050
39435
  var { validateMediaProps: validateMediaProps2 } = Internals;
39051
39436
  var audioSchema = {
39437
+ durationInFrames: Internals.durationInFramesField,
39438
+ from: Internals.fromField,
39439
+ freeze: Internals.freezeField,
39052
39440
  volume: {
39053
39441
  type: "number",
39054
39442
  min: 0,
@@ -39078,6 +39466,7 @@ var AudioInner = (props) => {
39078
39466
  _experimentalControls: controls,
39079
39467
  from,
39080
39468
  durationInFrames,
39469
+ freeze,
39081
39470
  hidden,
39082
39471
  ...otherProps
39083
39472
  } = props;
@@ -39132,6 +39521,7 @@ var AudioInner = (props) => {
39132
39521
  layout: "none",
39133
39522
  from: from ?? 0,
39134
39523
  durationInFrames: basicInfo.duration,
39524
+ freeze,
39135
39525
  _remotionInternalStack: stack,
39136
39526
  _remotionInternalIsMedia: isMedia,
39137
39527
  name: name ?? "<Audio>",
@@ -39152,6 +39542,7 @@ var AudioInner = (props) => {
39152
39542
  };
39153
39543
  var Audio2 = Internals.wrapInSchema({
39154
39544
  Component: AudioInner,
39545
+ componentIdentity: "dev.remotion.media.Audio",
39155
39546
  schema: audioSchema,
39156
39547
  supportsEffects: false
39157
39548
  });
@@ -39918,6 +40309,9 @@ var VideoForRendering2 = ({
39918
40309
  };
39919
40310
  var { validateMediaTrimProps: validateMediaTrimProps2, resolveTrimProps: resolveTrimProps2, validateMediaProps: validateMediaProps22 } = Internals;
39920
40311
  var videoSchema = {
40312
+ durationInFrames: Internals.durationInFramesField,
40313
+ from: Internals.fromField,
40314
+ freeze: Internals.freezeField,
39921
40315
  volume: {
39922
40316
  type: "number",
39923
40317
  min: 0,
@@ -40090,6 +40484,7 @@ var VideoInner = ({
40090
40484
  effects,
40091
40485
  durationInFrames,
40092
40486
  from,
40487
+ freeze,
40093
40488
  hidden,
40094
40489
  ...props
40095
40490
  }) => {
@@ -40146,6 +40541,7 @@ var VideoInner = ({
40146
40541
  layout: "none",
40147
40542
  from: from ?? 0,
40148
40543
  durationInFrames: basicInfo.duration,
40544
+ freeze,
40149
40545
  _remotionInternalStack: stack,
40150
40546
  _remotionInternalIsMedia: isMedia,
40151
40547
  name: name ?? "<Video>",
@@ -40194,25 +40590,26 @@ var VideoInner = ({
40194
40590
  };
40195
40591
  var Video = Internals.wrapInSchema({
40196
40592
  Component: VideoInner,
40593
+ componentIdentity: "dev.remotion.media.Video",
40197
40594
  schema: videoSchema,
40198
40595
  supportsEffects: true
40199
40596
  });
40200
40597
  Internals.addSequenceStackTraces(Video);
40201
40598
 
40202
40599
  // src/components/homepage/Demo/Comp.tsx
40203
- import { useCallback as useCallback48, useEffect as useEffect50, useMemo as useMemo60, useState as useState48 } from "react";
40600
+ import { useCallback as useCallback47, useEffect as useEffect50, useMemo as useMemo60, useState as useState48 } from "react";
40204
40601
 
40205
40602
  // src/components/homepage/Demo/Cards.tsx
40206
40603
  import {
40207
40604
  createRef as createRef4,
40208
- useCallback as useCallback47,
40605
+ useCallback as useCallback46,
40209
40606
  useEffect as useEffect49,
40210
40607
  useRef as useRef56,
40211
40608
  useState as useState47
40212
40609
  } from "react";
40213
40610
 
40214
40611
  // src/components/homepage/Demo/Card.tsx
40215
- import { useCallback as useCallback45, useRef as useRef51 } from "react";
40612
+ import { useCallback as useCallback43, useRef as useRef51 } from "react";
40216
40613
 
40217
40614
  // src/components/homepage/Demo/math.ts
40218
40615
  var paddingAndMargin = 20;
@@ -40246,10 +40643,10 @@ var getIndexFromPosition = (clientX, clientY) => {
40246
40643
  };
40247
40644
 
40248
40645
  // src/components/homepage/Demo/Switcher.tsx
40249
- import { useCallback as useCallback43 } from "react";
40646
+ import { useCallback as useCallback41 } from "react";
40250
40647
  import { jsx as jsx66, jsxs as jsxs15 } from "react/jsx-runtime";
40251
40648
  var Switcher = ({ type, theme, onTap }) => {
40252
- const onPointerDown = useCallback43((e) => {
40649
+ const onPointerDown = useCallback41((e) => {
40253
40650
  e.stopPropagation();
40254
40651
  onTap();
40255
40652
  }, [onTap]);
@@ -40312,7 +40709,7 @@ var Card2 = ({
40312
40709
  const refToUse = refsToUse[index2];
40313
40710
  const stopPrevious = useRef51([]);
40314
40711
  let newIndices = [...indices];
40315
- const applyPositions = useCallback45((except) => {
40712
+ const applyPositions = useCallback43((except) => {
40316
40713
  let stopped = false;
40317
40714
  stopPrevious.current.forEach((s) => {
40318
40715
  s();
@@ -40385,7 +40782,7 @@ var Card2 = ({
40385
40782
  update();
40386
40783
  });
40387
40784
  }, [newIndices, onUpdate, positions, refsToUse, shouldBePositions]);
40388
- const onPointerDown = useCallback45((e) => {
40785
+ const onPointerDown = useCallback43((e) => {
40389
40786
  e.currentTarget.setPointerCapture(e.pointerId);
40390
40787
  const cardLeft = refToUse.current.offsetLeft;
40391
40788
  const cardTop = refToUse.current.offsetTop;
@@ -40446,7 +40843,7 @@ var Card2 = ({
40446
40843
  }, { once: true });
40447
40844
  refToUse.current.addEventListener("pointermove", onMove);
40448
40845
  }, [applyPositions, index2, positions, refToUse, shouldBePositions]);
40449
- const onPointerUp = useCallback45((e) => {
40846
+ const onPointerUp = useCallback43((e) => {
40450
40847
  e.currentTarget.releasePointerCapture(e.pointerId);
40451
40848
  }, []);
40452
40849
  const { x, y } = getPositionForIndex(index2);
@@ -40573,7 +40970,7 @@ var CurrentCountry = ({ theme, countryPaths, countryLabel }) => {
40573
40970
  // src/components/homepage/Demo/EmojiCard.tsx
40574
40971
  import {
40575
40972
  forwardRef as forwardRef38,
40576
- useCallback as useCallback46,
40973
+ useCallback as useCallback45,
40577
40974
  useEffect as useEffect48,
40578
40975
  useImperativeHandle as useImperativeHandle13,
40579
40976
  useRef as useRef55
@@ -40857,7 +41254,7 @@ var EmojiCardRefFn = ({ emojiIndex }, ref) => {
40857
41254
  const ref2 = useRef55(null);
40858
41255
  const ref3 = useRef55(null);
40859
41256
  const transforms = useRef55([-100, 0, 100]);
40860
- const onLeft = useCallback46(() => {
41257
+ const onLeft = useCallback45(() => {
40861
41258
  if (!ref1.current || !ref2.current || !ref3.current) {
40862
41259
  return;
40863
41260
  }
@@ -40868,7 +41265,7 @@ var EmojiCardRefFn = ({ emojiIndex }, ref) => {
40868
41265
  transforms: transforms.current
40869
41266
  });
40870
41267
  }, []);
40871
- const onRight = useCallback46(() => {
41268
+ const onRight = useCallback45(() => {
40872
41269
  if (!ref1.current || !ref2.current || !ref3.current) {
40873
41270
  return;
40874
41271
  }
@@ -41328,11 +41725,11 @@ var Cards = ({
41328
41725
  };
41329
41726
  }, [onToggle]);
41330
41727
  const ref = useRef56(null);
41331
- const onLeft = useCallback47(() => {
41728
+ const onLeft = useCallback46(() => {
41332
41729
  ref.current?.onRight();
41333
41730
  onRightPress();
41334
41731
  }, [onRightPress]);
41335
- const onRight = useCallback47(() => {
41732
+ const onRight = useCallback46(() => {
41336
41733
  ref.current?.onLeft();
41337
41734
  onLeftPress();
41338
41735
  }, [onLeftPress]);
@@ -41402,7 +41799,7 @@ var HomepageVideoComp = ({
41402
41799
  onClickRight
41403
41800
  }) => {
41404
41801
  const [rerenders, setRerenders] = useState48(0);
41405
- const onUpdate = useCallback48((newIndices) => {
41802
+ const onUpdate = useCallback47((newIndices) => {
41406
41803
  setRerenders(rerenders + 1);
41407
41804
  updateCardOrder(newIndices);
41408
41805
  }, [rerenders, updateCardOrder]);
@@ -41500,7 +41897,7 @@ import {
41500
41897
  import { BufferTarget, StreamTarget } from "mediabunny";
41501
41898
 
41502
41899
  // ../core/dist/esm/version.mjs
41503
- var VERSION2 = "4.0.476";
41900
+ var VERSION2 = "4.0.477";
41504
41901
 
41505
41902
  // ../web-renderer/dist/esm/index.mjs
41506
41903
  import { AudioSample, VideoSample } from "mediabunny";
@@ -46137,7 +46534,7 @@ var renderMediaOnWeb = (options2) => {
46137
46534
  };
46138
46535
 
46139
46536
  // src/components/homepage/Demo/DemoRender.tsx
46140
- import React69, { useCallback as useCallback49 } from "react";
46537
+ import React69, { useCallback as useCallback48 } from "react";
46141
46538
  import { z } from "zod";
46142
46539
 
46143
46540
  // src/components/homepage/Demo/DemoErrorIcon.tsx
@@ -46338,7 +46735,7 @@ var RenderButton = ({ renderData, onError, playerRef }) => {
46338
46735
  const [state, setState] = React69.useState({
46339
46736
  type: "idle"
46340
46737
  });
46341
- const triggerRender = useCallback49(async () => {
46738
+ const triggerRender = useCallback48(async () => {
46342
46739
  if (renderData === null) {
46343
46740
  return;
46344
46741
  }
@@ -46513,10 +46910,10 @@ var DragAndDropNudge = () => {
46513
46910
  };
46514
46911
 
46515
46912
  // 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";
46913
+ import { useCallback as useCallback50, useEffect as useEffect53, useMemo as useMemo66, useRef as useRef57, useState as useState51 } from "react";
46517
46914
 
46518
46915
  // src/components/homepage/layout/use-el-size.ts
46519
- import { useCallback as useCallback50, useEffect as useEffect51, useMemo as useMemo64, useState as useState50 } from "react";
46916
+ import { useCallback as useCallback49, useEffect as useEffect51, useMemo as useMemo64, useState as useState50 } from "react";
46520
46917
  var useElementSize2 = (ref) => {
46521
46918
  const [size4, setSize] = useState50(null);
46522
46919
  const observer = useMemo64(() => {
@@ -46530,7 +46927,7 @@ var useElementSize2 = (ref) => {
46530
46927
  });
46531
46928
  });
46532
46929
  }, []);
46533
- const updateSize = useCallback50(() => {
46930
+ const updateSize = useCallback49(() => {
46534
46931
  if (ref === null) {
46535
46932
  return;
46536
46933
  }
@@ -46682,7 +47079,7 @@ var PlayerSeekBar2 = ({
46682
47079
  dragging: false
46683
47080
  });
46684
47081
  const width2 = size4?.width ?? 0;
46685
- const onPointerDown = useCallback51((e) => {
47082
+ const onPointerDown = useCallback50((e) => {
46686
47083
  if (e.button !== 0) {
46687
47084
  return;
46688
47085
  }
@@ -46696,7 +47093,7 @@ var PlayerSeekBar2 = ({
46696
47093
  });
46697
47094
  onSeekStart();
46698
47095
  }, [durationInFrames, width2, playerRef, playing, onSeekStart]);
46699
- const onPointerMove = useCallback51((e) => {
47096
+ const onPointerMove = useCallback50((e) => {
46700
47097
  if (!size4) {
46701
47098
  throw new Error("Player has no size");
46702
47099
  }
@@ -46707,7 +47104,7 @@ var PlayerSeekBar2 = ({
46707
47104
  const _frame = getFrameFromX2(e.clientX - posLeft, durationInFrames, size4.width);
46708
47105
  playerRef.current.seekTo(_frame);
46709
47106
  }, [dragging.dragging, durationInFrames, playerRef, size4]);
46710
- const onPointerUp = useCallback51(() => {
47107
+ const onPointerUp = useCallback50(() => {
46711
47108
  setDragging({
46712
47109
  dragging: false
46713
47110
  });
@@ -46791,7 +47188,7 @@ var PlayerSeekBar2 = ({
46791
47188
  };
46792
47189
 
46793
47190
  // src/components/homepage/Demo/PlayerVolume.tsx
46794
- import { useCallback as useCallback53, useEffect as useEffect55, useRef as useRef58, useState as useState54 } from "react";
47191
+ import { useCallback as useCallback51, useEffect as useEffect55, useRef as useRef58, useState as useState54 } from "react";
46795
47192
 
46796
47193
  // src/components/homepage/Demo/icons.tsx
46797
47194
  import { jsx as jsx105 } from "react/jsx-runtime";
@@ -46872,7 +47269,7 @@ var PlayerVolume = ({ playerRef }) => {
46872
47269
  document.body.style.userSelect = "auto";
46873
47270
  }
46874
47271
  }, [isHovered]);
46875
- const onClick = useCallback53(() => {
47272
+ const onClick = useCallback51(() => {
46876
47273
  if (timerRef.current !== null) {
46877
47274
  clearTimeout(timerRef.current);
46878
47275
  timerRef.current = null;
@@ -46910,7 +47307,7 @@ var PlayerVolume = ({ playerRef }) => {
46910
47307
  };
46911
47308
 
46912
47309
  // src/components/homepage/Demo/PlayPauseButton.tsx
46913
- import React73, { useCallback as useCallback55, useEffect as useEffect56 } from "react";
47310
+ import React73, { useCallback as useCallback53, useEffect as useEffect56 } from "react";
46914
47311
  import { jsx as jsx108 } from "react/jsx-runtime";
46915
47312
  var playerButtonStyle2 = {
46916
47313
  appearance: "none",
@@ -46946,7 +47343,7 @@ var PlayPauseButton = ({ playerRef }) => {
46946
47343
  current.removeEventListener("pause", onPause);
46947
47344
  };
46948
47345
  }, [playerRef]);
46949
- const onToggle = useCallback55(() => {
47346
+ const onToggle = useCallback53(() => {
46950
47347
  playerRef.current?.toggle();
46951
47348
  }, [playerRef]);
46952
47349
  const playPauseIconStyle = {
@@ -47124,7 +47521,7 @@ var ThemeNudge = () => {
47124
47521
  };
47125
47522
 
47126
47523
  // src/components/homepage/Demo/index.tsx
47127
- import { jsx as jsx114, jsxs as jsxs39 } from "react/jsx-runtime";
47524
+ import { jsx as jsx115, jsxs as jsxs39 } from "react/jsx-runtime";
47128
47525
  var style3 = {
47129
47526
  width: "100%",
47130
47527
  aspectRatio: "640 / 360",
@@ -47167,7 +47564,7 @@ var Demo = () => {
47167
47564
  playerRef.removeEventListener("fullscreenchange", onFullscreenChange);
47168
47565
  };
47169
47566
  }, [data2]);
47170
- const updateCardOrder = useCallback56((newCardOrder) => {
47567
+ const updateCardOrder = useCallback55((newCardOrder) => {
47171
47568
  setCardOrder(newCardOrder);
47172
47569
  }, []);
47173
47570
  const props = useMemo67(() => {
@@ -47189,15 +47586,15 @@ var Demo = () => {
47189
47586
  emojiIndex
47190
47587
  };
47191
47588
  }, [cardOrder, emojiIndex, colorMode, data2, updateCardOrder]);
47192
- const onError = useCallback56(() => {
47589
+ const onError = useCallback55(() => {
47193
47590
  setError(true);
47194
47591
  }, []);
47195
47592
  return /* @__PURE__ */ jsxs39("div", {
47196
47593
  id: "demo",
47197
47594
  children: [
47198
- /* @__PURE__ */ jsx114("br", {}),
47199
- /* @__PURE__ */ jsx114("br", {}),
47200
- /* @__PURE__ */ jsx114(SectionTitle, {
47595
+ /* @__PURE__ */ jsx115("br", {}),
47596
+ /* @__PURE__ */ jsx115("br", {}),
47597
+ /* @__PURE__ */ jsx115(SectionTitle, {
47201
47598
  children: "Interactive demo"
47202
47599
  }),
47203
47600
  /* @__PURE__ */ jsxs39("div", {
@@ -47206,14 +47603,14 @@ var Demo = () => {
47206
47603
  /* @__PURE__ */ jsxs39("div", {
47207
47604
  className: "h-[105px] relative",
47208
47605
  children: [
47209
- /* @__PURE__ */ jsx114(DragAndDropNudge, {}),
47210
- /* @__PURE__ */ jsx114(ThemeNudge, {})
47606
+ /* @__PURE__ */ jsx115(DragAndDropNudge, {}),
47607
+ /* @__PURE__ */ jsx115(ThemeNudge, {})
47211
47608
  ]
47212
47609
  }),
47213
47610
  /* @__PURE__ */ jsxs39("div", {
47214
47611
  style: playerWrapper,
47215
47612
  children: [
47216
- /* @__PURE__ */ jsx114(Player, {
47613
+ /* @__PURE__ */ jsx115(Player, {
47217
47614
  ref,
47218
47615
  component: HomepageVideoComp,
47219
47616
  compositionWidth: 640,
@@ -47230,11 +47627,11 @@ var Demo = () => {
47230
47627
  numberOfSharedAudioTags: 0,
47231
47628
  loop: true
47232
47629
  }),
47233
- /* @__PURE__ */ jsx114(PlayerControls, {
47630
+ /* @__PURE__ */ jsx115(PlayerControls, {
47234
47631
  playerRef: ref,
47235
47632
  durationInFrames: 120,
47236
47633
  fps: 30,
47237
- children: /* @__PURE__ */ jsx114(RenderButton, {
47634
+ children: /* @__PURE__ */ jsx115(RenderButton, {
47238
47635
  onError,
47239
47636
  renderData: data2 ? {
47240
47637
  cardOrder,
@@ -47248,8 +47645,8 @@ var Demo = () => {
47248
47645
  })
47249
47646
  ]
47250
47647
  }),
47251
- error2 ? /* @__PURE__ */ jsx114(DemoError, {}) : null,
47252
- /* @__PURE__ */ jsx114(DownloadNudge, {})
47648
+ error2 ? /* @__PURE__ */ jsx115(DemoError, {}) : null,
47649
+ /* @__PURE__ */ jsx115(DownloadNudge, {})
47253
47650
  ]
47254
47651
  })
47255
47652
  ]
@@ -47260,7 +47657,7 @@ var Demo = () => {
47260
47657
  import { useEffect as useEffect59, useState as useState57 } from "react";
47261
47658
 
47262
47659
  // src/components/homepage/layout/Button.tsx
47263
- import { jsx as jsx116 } from "react/jsx-runtime";
47660
+ import { jsx as jsx117 } from "react/jsx-runtime";
47264
47661
  var Button2 = (props) => {
47265
47662
  const {
47266
47663
  children,
@@ -47273,7 +47670,7 @@ var Button2 = (props) => {
47273
47670
  ...other
47274
47671
  } = props;
47275
47672
  const actualDisabled = other.disabled || loading;
47276
- return /* @__PURE__ */ jsx116("button", {
47673
+ return /* @__PURE__ */ jsx117("button", {
47277
47674
  type: "button",
47278
47675
  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
47676
  disabled: actualDisabled,
@@ -47291,7 +47688,7 @@ var Button2 = (props) => {
47291
47688
  });
47292
47689
  };
47293
47690
  var BlueButton = (props) => {
47294
- return /* @__PURE__ */ jsx116(Button2, {
47691
+ return /* @__PURE__ */ jsx117(Button2, {
47295
47692
  ...props,
47296
47693
  background: "var(--blue-underlay)",
47297
47694
  color: "white"
@@ -47299,7 +47696,7 @@ var BlueButton = (props) => {
47299
47696
  };
47300
47697
 
47301
47698
  // src/components/homepage/EvaluateRemotion.tsx
47302
- import { jsx as jsx117, jsxs as jsxs40 } from "react/jsx-runtime";
47699
+ import { jsx as jsx118, jsxs as jsxs40 } from "react/jsx-runtime";
47303
47700
  var EvaluateRemotionSection = () => {
47304
47701
  const [dailyAvatars, setDailyAvatars] = useState57([]);
47305
47702
  useEffect59(() => {
@@ -47318,35 +47715,35 @@ var EvaluateRemotionSection = () => {
47318
47715
  /* @__PURE__ */ jsxs40("div", {
47319
47716
  className: "card flex-1 flex flex-col",
47320
47717
  children: [
47321
- /* @__PURE__ */ jsx117("div", {
47718
+ /* @__PURE__ */ jsx118("div", {
47322
47719
  className: "fontbrand text-2xl font-bold",
47323
47720
  children: "Questions about our license?"
47324
47721
  }),
47325
- /* @__PURE__ */ jsx117("p", {
47722
+ /* @__PURE__ */ jsx118("p", {
47326
47723
  className: "text-muted fontbrand leading-snug",
47327
47724
  children: "Book a 20 minute call or write us an email to get all your questions answered."
47328
47725
  }),
47329
- /* @__PURE__ */ jsx117("div", {
47726
+ /* @__PURE__ */ jsx118("div", {
47330
47727
  className: "flex-1"
47331
47728
  }),
47332
47729
  /* @__PURE__ */ jsxs40("div", {
47333
47730
  className: "flex flex-row flex-wrap gap-2",
47334
47731
  children: [
47335
- /* @__PURE__ */ jsx117("a", {
47732
+ /* @__PURE__ */ jsx118("a", {
47336
47733
  target: "_blank",
47337
47734
  href: "https://cal.com/remotion/evaluate",
47338
47735
  style: { textDecoration: "none" },
47339
- children: /* @__PURE__ */ jsx117(BlueButton, {
47736
+ children: /* @__PURE__ */ jsx118(BlueButton, {
47340
47737
  size: "sm",
47341
47738
  loading: false,
47342
47739
  children: "Schedule a call"
47343
47740
  })
47344
47741
  }),
47345
- /* @__PURE__ */ jsx117("a", {
47742
+ /* @__PURE__ */ jsx118("a", {
47346
47743
  target: "_blank",
47347
47744
  href: "mailto:hi@remotion.dev",
47348
47745
  style: { textDecoration: "none" },
47349
- children: /* @__PURE__ */ jsx117(BlueButton, {
47746
+ children: /* @__PURE__ */ jsx118(BlueButton, {
47350
47747
  size: "sm",
47351
47748
  loading: false,
47352
47749
  children: "Write an email"
@@ -47359,32 +47756,32 @@ var EvaluateRemotionSection = () => {
47359
47756
  /* @__PURE__ */ jsxs40("div", {
47360
47757
  className: "card flex-1 flex flex-col",
47361
47758
  children: [
47362
- /* @__PURE__ */ jsx117("div", {
47759
+ /* @__PURE__ */ jsx118("div", {
47363
47760
  className: "fontbrand text-2xl font-bold",
47364
47761
  children: "Get help with your Remotion project"
47365
47762
  }),
47366
- /* @__PURE__ */ jsx117("p", {
47763
+ /* @__PURE__ */ jsx118("p", {
47367
47764
  className: "text-muted fontbrand leading-snug",
47368
47765
  children: "Contact our experts for help and work."
47369
47766
  }),
47370
- /* @__PURE__ */ jsx117("div", {
47767
+ /* @__PURE__ */ jsx118("div", {
47371
47768
  className: "flex-1"
47372
47769
  }),
47373
47770
  /* @__PURE__ */ jsxs40("div", {
47374
47771
  className: "flex flex-row justify-between",
47375
47772
  children: [
47376
- /* @__PURE__ */ jsx117("a", {
47773
+ /* @__PURE__ */ jsx118("a", {
47377
47774
  href: "/experts",
47378
47775
  style: { textDecoration: "none" },
47379
- children: /* @__PURE__ */ jsx117(BlueButton, {
47776
+ children: /* @__PURE__ */ jsx118(BlueButton, {
47380
47777
  size: "sm",
47381
47778
  loading: false,
47382
47779
  children: "Remotion Experts"
47383
47780
  })
47384
47781
  }),
47385
- /* @__PURE__ */ jsx117("div", {
47782
+ /* @__PURE__ */ jsx118("div", {
47386
47783
  className: "flex justify-end items-end gap-3",
47387
- children: dailyAvatars.map((avatar) => /* @__PURE__ */ jsx117("div", {
47784
+ children: dailyAvatars.map((avatar) => /* @__PURE__ */ jsx118("div", {
47388
47785
  className: "w-12 h-12 rounded-full bg-muted bg-cover bg-center -ml-5 border-2 border-black",
47389
47786
  style: { backgroundImage: `url(${avatar})` }
47390
47787
  }, avatar))
@@ -47400,7 +47797,7 @@ var EvaluateRemotion_default = EvaluateRemotionSection;
47400
47797
 
47401
47798
  // src/components/homepage/IfYouKnowReact.tsx
47402
47799
  import { useEffect as useEffect60, useState as useState58 } from "react";
47403
- import { jsx as jsx118, jsxs as jsxs41 } from "react/jsx-runtime";
47800
+ import { jsx as jsx119, jsxs as jsxs41 } from "react/jsx-runtime";
47404
47801
  var isWebkit = () => {
47405
47802
  if (typeof window === "undefined") {
47406
47803
  return false;
@@ -47423,7 +47820,7 @@ var IfYouKnowReact = () => {
47423
47820
  return /* @__PURE__ */ jsxs41("div", {
47424
47821
  className: "flex flex-col lg:flex-row text-left justify-start lg:justify-end items-start lg:mb-0 gap-6 mt-8",
47425
47822
  children: [
47426
- /* @__PURE__ */ jsx118("video", {
47823
+ /* @__PURE__ */ jsx119("video", {
47427
47824
  src: vid,
47428
47825
  muted: true,
47429
47826
  autoPlay: true,
@@ -47436,18 +47833,18 @@ var IfYouKnowReact = () => {
47436
47833
  /* @__PURE__ */ jsxs41("h2", {
47437
47834
  className: "text-4xl fontbrand pt-20",
47438
47835
  children: [
47439
- /* @__PURE__ */ jsx118("span", {
47836
+ /* @__PURE__ */ jsx119("span", {
47440
47837
  className: "text-brand",
47441
47838
  children: "Compose"
47442
47839
  }),
47443
47840
  " with code"
47444
47841
  ]
47445
47842
  }),
47446
- /* @__PURE__ */ jsx118("p", {
47843
+ /* @__PURE__ */ jsx119("p", {
47447
47844
  className: "leading-relaxed font-brand",
47448
47845
  children: "Use React, a powerful frontend technology, to create sophisticated videos with code."
47449
47846
  }),
47450
- /* @__PURE__ */ jsx118("div", {
47847
+ /* @__PURE__ */ jsx119("div", {
47451
47848
  className: "h-4"
47452
47849
  }),
47453
47850
  /* @__PURE__ */ jsxs41("a", {
@@ -47456,11 +47853,11 @@ var IfYouKnowReact = () => {
47456
47853
  children: [
47457
47854
  "Learn Remotion",
47458
47855
  " ",
47459
- /* @__PURE__ */ jsx118("svg", {
47856
+ /* @__PURE__ */ jsx119("svg", {
47460
47857
  style: icon3,
47461
47858
  xmlns: "http://www.w3.org/2000/svg",
47462
47859
  viewBox: "0 0 448 512",
47463
- children: /* @__PURE__ */ jsx118("path", {
47860
+ children: /* @__PURE__ */ jsx119("path", {
47464
47861
  fill: "currentColor",
47465
47862
  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
47863
  })
@@ -47474,13 +47871,13 @@ var IfYouKnowReact = () => {
47474
47871
  };
47475
47872
 
47476
47873
  // 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";
47874
+ import { useCallback as useCallback56, useState as useState59 } from "react";
47875
+ import { jsx as jsx120, jsxs as jsxs44 } from "react/jsx-runtime";
47479
47876
  var NewsletterButton = () => {
47480
47877
  const [email, setEmail] = useState59("");
47481
47878
  const [submitting, setSubmitting] = useState59(false);
47482
47879
  const [subscribed, setSubscribed] = useState59(false);
47483
- const handleSubmit = useCallback57(async (e) => {
47880
+ const handleSubmit = useCallback56(async (e) => {
47484
47881
  try {
47485
47882
  setSubmitting(true);
47486
47883
  e.preventDefault();
@@ -47502,15 +47899,15 @@ var NewsletterButton = () => {
47502
47899
  alert("Something went wrong. Please try again later.");
47503
47900
  }
47504
47901
  }, [email]);
47505
- return /* @__PURE__ */ jsx119("div", {
47506
- children: /* @__PURE__ */ jsx119("div", {
47902
+ return /* @__PURE__ */ jsx120("div", {
47903
+ children: /* @__PURE__ */ jsx120("div", {
47507
47904
  className: "flex flex-col",
47508
- children: /* @__PURE__ */ jsx119("div", {
47905
+ children: /* @__PURE__ */ jsx120("div", {
47509
47906
  className: "w-full",
47510
47907
  children: /* @__PURE__ */ jsxs44("div", {
47511
47908
  className: "flex flex-col flex-1",
47512
47909
  children: [
47513
- /* @__PURE__ */ jsx119(SectionTitle, {
47910
+ /* @__PURE__ */ jsx120(SectionTitle, {
47514
47911
  children: "Newsletter"
47515
47912
  }),
47516
47913
  /* @__PURE__ */ jsxs44("form", {
@@ -47529,7 +47926,7 @@ var NewsletterButton = () => {
47529
47926
  /* @__PURE__ */ jsxs44("div", {
47530
47927
  className: "flex flex-col md:flex-row gap-2 justify-center",
47531
47928
  children: [
47532
- /* @__PURE__ */ jsx119(Input, {
47929
+ /* @__PURE__ */ jsx120(Input, {
47533
47930
  disabled: submitting,
47534
47931
  value: email,
47535
47932
  className: "md:max-w-[400px]",
@@ -47538,14 +47935,14 @@ var NewsletterButton = () => {
47538
47935
  required: true,
47539
47936
  placeholder: "animator@gmail.com"
47540
47937
  }),
47541
- /* @__PURE__ */ jsx119("div", {
47542
- children: /* @__PURE__ */ jsx119(Button, {
47938
+ /* @__PURE__ */ jsx120("div", {
47939
+ children: /* @__PURE__ */ jsx120(Button, {
47543
47940
  type: "submit",
47544
47941
  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
47942
  disabled: submitting || subscribed,
47546
- children: subscribed ? /* @__PURE__ */ jsx119(CheckIcon, {
47943
+ children: subscribed ? /* @__PURE__ */ jsx120(CheckIcon, {
47547
47944
  className: " size-5 mt-[1px]"
47548
- }) : /* @__PURE__ */ jsx119(PlanePaperIcon, {
47945
+ }) : /* @__PURE__ */ jsx120(PlanePaperIcon, {
47549
47946
  className: " size-6 ml-[2px]"
47550
47947
  })
47551
47948
  })
@@ -47563,7 +47960,7 @@ var NewsletterButton = () => {
47563
47960
 
47564
47961
  // src/components/homepage/ParameterizeAndEdit.tsx
47565
47962
  import { useEffect as useEffect61, useRef as useRef60, useState as useState60 } from "react";
47566
- import { jsx as jsx120, jsxs as jsxs46 } from "react/jsx-runtime";
47963
+ import { jsx as jsx121, jsxs as jsxs46 } from "react/jsx-runtime";
47567
47964
  var icon4 = {
47568
47965
  height: 16,
47569
47966
  marginLeft: 10
@@ -47580,8 +47977,8 @@ var ParameterizeAndEdit = () => {
47580
47977
  ref,
47581
47978
  className: "flex flex-col lg:flex-row justify-start lg:justify-end items-start gap-6 mt-20 lg:mt-0",
47582
47979
  children: [
47583
- /* @__PURE__ */ jsx120("div", {
47584
- children: /* @__PURE__ */ jsx120("video", {
47980
+ /* @__PURE__ */ jsx121("div", {
47981
+ children: /* @__PURE__ */ jsx121("video", {
47585
47982
  src: vid,
47586
47983
  autoPlay: true,
47587
47984
  muted: true,
@@ -47603,7 +48000,7 @@ var ParameterizeAndEdit = () => {
47603
48000
  className: "fontbrand text-4xl",
47604
48001
  children: [
47605
48002
  "Edit ",
47606
- /* @__PURE__ */ jsx120("span", {
48003
+ /* @__PURE__ */ jsx121("span", {
47607
48004
  className: "text-brand",
47608
48005
  children: "dynamically"
47609
48006
  })
@@ -47613,11 +48010,11 @@ var ParameterizeAndEdit = () => {
47613
48010
  className: "leading-relaxed",
47614
48011
  children: [
47615
48012
  "Parameterize your video by passing data.",
47616
- /* @__PURE__ */ jsx120("br", {}),
48013
+ /* @__PURE__ */ jsx121("br", {}),
47617
48014
  "Or embed it into your app and build an interface around it."
47618
48015
  ]
47619
48016
  }),
47620
- /* @__PURE__ */ jsx120("div", {
48017
+ /* @__PURE__ */ jsx121("div", {
47621
48018
  className: "h-4"
47622
48019
  }),
47623
48020
  /* @__PURE__ */ jsxs46("div", {
@@ -47629,47 +48026,47 @@ var ParameterizeAndEdit = () => {
47629
48026
  children: [
47630
48027
  "Remotion Studio",
47631
48028
  " ",
47632
- /* @__PURE__ */ jsx120("svg", {
48029
+ /* @__PURE__ */ jsx121("svg", {
47633
48030
  style: icon4,
47634
48031
  xmlns: "http://www.w3.org/2000/svg",
47635
48032
  viewBox: "0 0 448 512",
47636
- children: /* @__PURE__ */ jsx120("path", {
48033
+ children: /* @__PURE__ */ jsx121("path", {
47637
48034
  fill: "currentColor",
47638
48035
  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
48036
  })
47640
48037
  })
47641
48038
  ]
47642
48039
  }),
47643
- /* @__PURE__ */ jsx120("br", {}),
48040
+ /* @__PURE__ */ jsx121("br", {}),
47644
48041
  /* @__PURE__ */ jsxs46("a", {
47645
48042
  className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center",
47646
48043
  href: "/player",
47647
48044
  children: [
47648
48045
  "Remotion Player",
47649
48046
  " ",
47650
- /* @__PURE__ */ jsx120("svg", {
48047
+ /* @__PURE__ */ jsx121("svg", {
47651
48048
  style: icon4,
47652
48049
  xmlns: "http://www.w3.org/2000/svg",
47653
48050
  viewBox: "0 0 448 512",
47654
- children: /* @__PURE__ */ jsx120("path", {
48051
+ children: /* @__PURE__ */ jsx121("path", {
47655
48052
  fill: "currentColor",
47656
48053
  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
48054
  })
47658
48055
  })
47659
48056
  ]
47660
48057
  }),
47661
- /* @__PURE__ */ jsx120("br", {}),
48058
+ /* @__PURE__ */ jsx121("br", {}),
47662
48059
  /* @__PURE__ */ jsxs46("a", {
47663
48060
  className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center",
47664
48061
  href: "/docs/editor-starter",
47665
48062
  children: [
47666
48063
  "Remotion Editor Starter",
47667
48064
  " ",
47668
- /* @__PURE__ */ jsx120("svg", {
48065
+ /* @__PURE__ */ jsx121("svg", {
47669
48066
  style: icon4,
47670
48067
  xmlns: "http://www.w3.org/2000/svg",
47671
48068
  viewBox: "0 0 448 512",
47672
- children: /* @__PURE__ */ jsx120("path", {
48069
+ children: /* @__PURE__ */ jsx121("path", {
47673
48070
  fill: "currentColor",
47674
48071
  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
48072
  })
@@ -47686,7 +48083,7 @@ var ParameterizeAndEdit = () => {
47686
48083
 
47687
48084
  // src/components/homepage/RealMp4Videos.tsx
47688
48085
  import { useEffect as useEffect63, useRef as useRef61, useState as useState61 } from "react";
47689
- import { jsx as jsx121, jsxs as jsxs47 } from "react/jsx-runtime";
48086
+ import { jsx as jsx124, jsxs as jsxs47 } from "react/jsx-runtime";
47690
48087
  var icon5 = {
47691
48088
  height: 16,
47692
48089
  marginLeft: 10
@@ -47721,9 +48118,9 @@ var RealMP4Videos = () => {
47721
48118
  ref,
47722
48119
  className: "flex flex-col lg:flex-row mt-40 lg:mt-30 gap-6",
47723
48120
  children: [
47724
- /* @__PURE__ */ jsx121("div", {
48121
+ /* @__PURE__ */ jsx124("div", {
47725
48122
  className: "flex w-[500px] justify-start lg:justify-start items-end",
47726
- children: /* @__PURE__ */ jsx121("video", {
48123
+ children: /* @__PURE__ */ jsx124("video", {
47727
48124
  ref: videoRef,
47728
48125
  src: vid,
47729
48126
  muted: true,
@@ -47746,7 +48143,7 @@ var RealMP4Videos = () => {
47746
48143
  /* @__PURE__ */ jsxs47("h2", {
47747
48144
  className: "text-4xl fontbrand",
47748
48145
  children: [
47749
- /* @__PURE__ */ jsx121("span", {
48146
+ /* @__PURE__ */ jsx124("span", {
47750
48147
  className: "text-brand",
47751
48148
  children: "Scalable"
47752
48149
  }),
@@ -47757,12 +48154,12 @@ var RealMP4Videos = () => {
47757
48154
  className: "leading-relaxed",
47758
48155
  children: [
47759
48156
  "Render the video as .mp4 or other formats. ",
47760
- /* @__PURE__ */ jsx121("br", {}),
48157
+ /* @__PURE__ */ jsx124("br", {}),
47761
48158
  "Locally, on the server or serverless."
47762
48159
  ]
47763
48160
  }),
47764
48161
  " ",
47765
- /* @__PURE__ */ jsx121("div", {
48162
+ /* @__PURE__ */ jsx124("div", {
47766
48163
  className: "h-4"
47767
48164
  }),
47768
48165
  /* @__PURE__ */ jsxs47("div", {
@@ -47774,29 +48171,29 @@ var RealMP4Videos = () => {
47774
48171
  children: [
47775
48172
  "Render options",
47776
48173
  " ",
47777
- /* @__PURE__ */ jsx121("svg", {
48174
+ /* @__PURE__ */ jsx124("svg", {
47778
48175
  style: icon5,
47779
48176
  xmlns: "http://www.w3.org/2000/svg",
47780
48177
  viewBox: "0 0 448 512",
47781
- children: /* @__PURE__ */ jsx121("path", {
48178
+ children: /* @__PURE__ */ jsx124("path", {
47782
48179
  fill: "currentColor",
47783
48180
  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
48181
  })
47785
48182
  })
47786
48183
  ]
47787
48184
  }),
47788
- /* @__PURE__ */ jsx121("br", {}),
48185
+ /* @__PURE__ */ jsx124("br", {}),
47789
48186
  /* @__PURE__ */ jsxs47("a", {
47790
48187
  className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center",
47791
48188
  href: "/lambda",
47792
48189
  children: [
47793
48190
  "Remotion Lambda",
47794
48191
  " ",
47795
- /* @__PURE__ */ jsx121("svg", {
48192
+ /* @__PURE__ */ jsx124("svg", {
47796
48193
  style: icon5,
47797
48194
  xmlns: "http://www.w3.org/2000/svg",
47798
48195
  viewBox: "0 0 448 512",
47799
- children: /* @__PURE__ */ jsx121("path", {
48196
+ children: /* @__PURE__ */ jsx124("path", {
47800
48197
  fill: "currentColor",
47801
48198
  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
48199
  })
@@ -47812,18 +48209,18 @@ var RealMP4Videos = () => {
47812
48209
  };
47813
48210
 
47814
48211
  // src/components/homepage/TrustedByBanner.tsx
47815
- import { jsx as jsx124, jsxs as jsxs48, Fragment as Fragment16 } from "react/jsx-runtime";
48212
+ import { jsx as jsx126, jsxs as jsxs48, Fragment as Fragment16 } from "react/jsx-runtime";
47816
48213
  var TrustedByBanner = () => {
47817
48214
  const logos = [
47818
48215
  {
47819
48216
  id: "logo1",
47820
48217
  url: "https://www.github.com/",
47821
- light: /* @__PURE__ */ jsx124("svg", {
48218
+ light: /* @__PURE__ */ jsx126("svg", {
47822
48219
  height: "50",
47823
48220
  viewBox: "0 0 64 62",
47824
48221
  fill: "none",
47825
48222
  xmlns: "http://www.w3.org/2000/svg",
47826
- children: /* @__PURE__ */ jsx124("path", {
48223
+ children: /* @__PURE__ */ jsx126("path", {
47827
48224
  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
48225
  fill: "var(--text-color)"
47829
48226
  })
@@ -47838,51 +48235,51 @@ var TrustedByBanner = () => {
47838
48235
  fill: "none",
47839
48236
  xmlns: "http://www.w3.org/2000/svg",
47840
48237
  children: [
47841
- /* @__PURE__ */ jsx124("path", {
48238
+ /* @__PURE__ */ jsx126("path", {
47842
48239
  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
48240
  fill: "var(--text-color)"
47844
48241
  }),
47845
- /* @__PURE__ */ jsx124("path", {
48242
+ /* @__PURE__ */ jsx126("path", {
47846
48243
  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
48244
  fill: "var(--text-color)"
47848
48245
  }),
47849
- /* @__PURE__ */ jsx124("path", {
48246
+ /* @__PURE__ */ jsx126("path", {
47850
48247
  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
48248
  fill: "var(--text-color)"
47852
48249
  }),
47853
- /* @__PURE__ */ jsx124("path", {
48250
+ /* @__PURE__ */ jsx126("path", {
47854
48251
  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
48252
  fill: "var(--text-color)"
47856
48253
  }),
47857
- /* @__PURE__ */ jsx124("path", {
48254
+ /* @__PURE__ */ jsx126("path", {
47858
48255
  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
48256
  fill: "var(--text-color)"
47860
48257
  }),
47861
- /* @__PURE__ */ jsx124("path", {
48258
+ /* @__PURE__ */ jsx126("path", {
47862
48259
  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
48260
  fill: "var(--text-color)"
47864
48261
  }),
47865
- /* @__PURE__ */ jsx124("path", {
48262
+ /* @__PURE__ */ jsx126("path", {
47866
48263
  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
48264
  fill: "var(--text-color)"
47868
48265
  }),
47869
- /* @__PURE__ */ jsx124("path", {
48266
+ /* @__PURE__ */ jsx126("path", {
47870
48267
  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
48268
  fill: "var(--text-color)"
47872
48269
  }),
47873
- /* @__PURE__ */ jsx124("path", {
48270
+ /* @__PURE__ */ jsx126("path", {
47874
48271
  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
48272
  fill: "var(--text-color)"
47876
48273
  }),
47877
- /* @__PURE__ */ jsx124("path", {
48274
+ /* @__PURE__ */ jsx126("path", {
47878
48275
  d: "M119.256 23.7491V31.4775H121.456H123.656V23.7491V16.0207H121.456H119.256V23.7491Z",
47879
48276
  fill: "var(--text-color)"
47880
48277
  }),
47881
- /* @__PURE__ */ jsx124("path", {
48278
+ /* @__PURE__ */ jsx126("path", {
47882
48279
  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
48280
  fill: "var(--text-color)"
47884
48281
  }),
47885
- /* @__PURE__ */ jsx124("path", {
48282
+ /* @__PURE__ */ jsx126("path", {
47886
48283
  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
48284
  fill: "var(--text-color)"
47888
48285
  })
@@ -47899,11 +48296,11 @@ var TrustedByBanner = () => {
47899
48296
  className: "-mt-2",
47900
48297
  xmlns: "http://www.w3.org/2000/svg",
47901
48298
  children: [
47902
- /* @__PURE__ */ jsx124("path", {
48299
+ /* @__PURE__ */ jsx126("path", {
47903
48300
  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
48301
  fill: "var(--light-text-color)"
47905
48302
  }),
47906
- /* @__PURE__ */ jsx124("path", {
48303
+ /* @__PURE__ */ jsx126("path", {
47907
48304
  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
48305
  fill: "var(--text-color)"
47909
48306
  })
@@ -47913,12 +48310,12 @@ var TrustedByBanner = () => {
47913
48310
  {
47914
48311
  id: "logo5",
47915
48312
  url: "https://www.soundcloud.com/",
47916
- light: /* @__PURE__ */ jsx124("svg", {
48313
+ light: /* @__PURE__ */ jsx126("svg", {
47917
48314
  height: "40",
47918
48315
  viewBox: "0 0 129 57",
47919
48316
  fill: "none",
47920
48317
  xmlns: "http://www.w3.org/2000/svg",
47921
- children: /* @__PURE__ */ jsx124("path", {
48318
+ children: /* @__PURE__ */ jsx126("path", {
47922
48319
  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
48320
  fill: "var(--text-color)"
47924
48321
  })
@@ -47927,13 +48324,13 @@ var TrustedByBanner = () => {
47927
48324
  ];
47928
48325
  return /* @__PURE__ */ jsxs48(Fragment16, {
47929
48326
  children: [
47930
- /* @__PURE__ */ jsx124("h3", {
48327
+ /* @__PURE__ */ jsx126("h3", {
47931
48328
  className: "text-center mt-20 mb-10",
47932
48329
  children: "Trusted by"
47933
48330
  }),
47934
- /* @__PURE__ */ jsx124("div", {
48331
+ /* @__PURE__ */ jsx126("div", {
47935
48332
  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", {
48333
+ children: logos.map((logo) => /* @__PURE__ */ jsx126("a", {
47937
48334
  href: logo.url,
47938
48335
  target: "_blank",
47939
48336
  className: "opacity-80 hover:opacity-100 transition-opacity",
@@ -47955,8 +48352,8 @@ import { forwardRef as forwardRef41, useEffect as useEffect66, useImperativeHand
47955
48352
  // src/components/homepage/VideoPlayerWithControls.tsx
47956
48353
  import Hls from "hls.js";
47957
48354
  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";
48355
+ import { forwardRef as forwardRef40, useCallback as useCallback57, useEffect as useEffect65, useRef as useRef63, useState as useState64 } from "react";
48356
+ import { jsx as jsx127 } from "react/jsx-runtime";
47960
48357
  var useCombinedRefs = function(...refs) {
47961
48358
  const targetRef = useRef63(null);
47962
48359
  useEffect65(() => {
@@ -47977,8 +48374,8 @@ var VideoPlayerWithControls = forwardRef40(({ playbackId, poster, currentTime, o
47977
48374
  const metaRef = useCombinedRefs(ref, videoRef);
47978
48375
  const playerRef = useRef63(null);
47979
48376
  const [playerInitTime] = useState64(Date.now());
47980
- const videoError = useCallback58((event) => onError(event), [onError]);
47981
- const onImageLoad = useCallback58((event) => {
48377
+ const videoError = useCallback57((event) => onError(event), [onError]);
48378
+ const onImageLoad = useCallback57((event) => {
47982
48379
  const [w, h] = [event.target.width, event.target.height];
47983
48380
  if (w && h) {
47984
48381
  onSize({ width: w, height: h });
@@ -48042,9 +48439,9 @@ var VideoPlayerWithControls = forwardRef40(({ playbackId, poster, currentTime, o
48042
48439
  video.currentTime = currentTime;
48043
48440
  }
48044
48441
  }, [currentTime]);
48045
- return /* @__PURE__ */ jsx126("div", {
48442
+ return /* @__PURE__ */ jsx127("div", {
48046
48443
  className: "video-container",
48047
- children: /* @__PURE__ */ jsx126("video", {
48444
+ children: /* @__PURE__ */ jsx127("video", {
48048
48445
  ref: metaRef,
48049
48446
  autoPlay,
48050
48447
  poster,
@@ -48055,7 +48452,7 @@ var VideoPlayerWithControls = forwardRef40(({ playbackId, poster, currentTime, o
48055
48452
  });
48056
48453
 
48057
48454
  // src/components/homepage/MuxVideo.tsx
48058
- import { jsx as jsx127 } from "react/jsx-runtime";
48455
+ import { jsx as jsx128 } from "react/jsx-runtime";
48059
48456
  var getVideoToPlayUrl = (muxId) => {
48060
48457
  return `https://stream.mux.com/${muxId}.m3u8`;
48061
48458
  };
@@ -48083,7 +48480,7 @@ var MuxVideoForward = ({ muxId, ...props }, ref) => {
48083
48480
  }
48084
48481
  };
48085
48482
  }, [vidUrl, videoRef]);
48086
- return /* @__PURE__ */ jsx127("video", {
48483
+ return /* @__PURE__ */ jsx128("video", {
48087
48484
  ref: videoRef,
48088
48485
  ...props
48089
48486
  });
@@ -48091,7 +48488,7 @@ var MuxVideoForward = ({ muxId, ...props }, ref) => {
48091
48488
  var MuxVideo = forwardRef41(MuxVideoForward);
48092
48489
 
48093
48490
  // src/components/homepage/VideoAppsShowcase.tsx
48094
- import { jsx as jsx128, jsxs as jsxs49 } from "react/jsx-runtime";
48491
+ import { jsx as jsx129, jsxs as jsxs49 } from "react/jsx-runtime";
48095
48492
  var tabs = [
48096
48493
  "Music visualization",
48097
48494
  "Captions",
@@ -48142,11 +48539,11 @@ var icon6 = {
48142
48539
  height: 16,
48143
48540
  marginLeft: 10
48144
48541
  };
48145
- var Arrow4 = () => /* @__PURE__ */ jsx128("svg", {
48542
+ var Arrow4 = () => /* @__PURE__ */ jsx129("svg", {
48146
48543
  style: icon6,
48147
48544
  xmlns: "http://www.w3.org/2000/svg",
48148
48545
  viewBox: "0 0 448 512",
48149
- children: /* @__PURE__ */ jsx128("path", {
48546
+ children: /* @__PURE__ */ jsx129("path", {
48150
48547
  fill: "currentColor",
48151
48548
  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
48549
  })
@@ -48201,12 +48598,12 @@ var BuiltWithRemotionShowcase = () => {
48201
48598
  return /* @__PURE__ */ jsxs49("div", {
48202
48599
  ref: containerRef,
48203
48600
  children: [
48204
- /* @__PURE__ */ jsx128(SectionTitle, {
48601
+ /* @__PURE__ */ jsx129(SectionTitle, {
48205
48602
  children: "Built with Remotion"
48206
48603
  }),
48207
- /* @__PURE__ */ jsx128("div", {
48604
+ /* @__PURE__ */ jsx129("div", {
48208
48605
  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", {
48606
+ children: tabs.map((tab, index2) => /* @__PURE__ */ jsx129("button", {
48210
48607
  type: "button",
48211
48608
  "data-active": index2 === activeTab,
48212
48609
  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 +48611,7 @@ var BuiltWithRemotionShowcase = () => {
48214
48611
  children: tab
48215
48612
  }, tab))
48216
48613
  }),
48217
- /* @__PURE__ */ jsx128("div", {
48614
+ /* @__PURE__ */ jsx129("div", {
48218
48615
  className: "card flex p-0 overflow-hidden",
48219
48616
  "data-nosnippet": true,
48220
48617
  children: /* @__PURE__ */ jsxs49("div", {
@@ -48224,7 +48621,7 @@ var BuiltWithRemotionShowcase = () => {
48224
48621
  className: "w-full aspect-video lg:aspect-square relative overflow-hidden bg-[#eee] cursor-pointer",
48225
48622
  onClick: handlePlayPause,
48226
48623
  children: [
48227
- videoLoaded ? /* @__PURE__ */ jsx128(MuxVideo, {
48624
+ videoLoaded ? /* @__PURE__ */ jsx129(MuxVideo, {
48228
48625
  ref: videoRef,
48229
48626
  muxId: videoApps[activeTab].muxId,
48230
48627
  className: "absolute left-0 top-0 w-full h-full object-contain rounded-sm rounded-tr-none rounded-br-none",
@@ -48233,26 +48630,26 @@ var BuiltWithRemotionShowcase = () => {
48233
48630
  muted: isMuted,
48234
48631
  autoPlay: true,
48235
48632
  onPlay: () => setIsPlaying(true)
48236
- }) : /* @__PURE__ */ jsx128("img", {
48633
+ }) : /* @__PURE__ */ jsx129("img", {
48237
48634
  src: `https://image.mux.com/${videoApps[activeTab].muxId}/thumbnail.png?time=1`,
48238
48635
  className: "absolute left-0 top-0 w-full h-full object-contain rounded-sm rounded-tr-none rounded-br-none",
48239
48636
  alt: videoApps[activeTab].title
48240
48637
  }),
48241
- /* @__PURE__ */ jsx128("button", {
48638
+ /* @__PURE__ */ jsx129("button", {
48242
48639
  type: "button",
48243
48640
  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
48641
  onClick: (e) => {
48245
48642
  e.stopPropagation();
48246
48643
  handlePlayPause();
48247
48644
  },
48248
- children: isPlaying ? /* @__PURE__ */ jsx128(PlayingIcon, {
48645
+ children: isPlaying ? /* @__PURE__ */ jsx129(PlayingIcon, {
48249
48646
  style: {
48250
48647
  width: 12,
48251
48648
  height: 20,
48252
48649
  marginLeft: "2px",
48253
48650
  marginTop: "1px"
48254
48651
  }
48255
- }) : /* @__PURE__ */ jsx128(PausedIcon, {
48652
+ }) : /* @__PURE__ */ jsx129(PausedIcon, {
48256
48653
  style: {
48257
48654
  width: 14,
48258
48655
  height: 16,
@@ -48261,20 +48658,20 @@ var BuiltWithRemotionShowcase = () => {
48261
48658
  }
48262
48659
  })
48263
48660
  }),
48264
- /* @__PURE__ */ jsx128("button", {
48661
+ /* @__PURE__ */ jsx129("button", {
48265
48662
  type: "button",
48266
48663
  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
48664
  onClick: (e) => {
48268
48665
  e.stopPropagation();
48269
48666
  handleMuteToggle();
48270
48667
  },
48271
- children: isMuted ? /* @__PURE__ */ jsx128(IsMutedIcon, {
48668
+ children: isMuted ? /* @__PURE__ */ jsx129(IsMutedIcon, {
48272
48669
  style: {
48273
48670
  width: 16,
48274
48671
  height: 16,
48275
48672
  marginTop: "1px"
48276
48673
  }
48277
- }) : /* @__PURE__ */ jsx128(NotMutedIcon, {
48674
+ }) : /* @__PURE__ */ jsx129(NotMutedIcon, {
48278
48675
  style: {
48279
48676
  width: 16,
48280
48677
  height: 16,
@@ -48287,19 +48684,19 @@ var BuiltWithRemotionShowcase = () => {
48287
48684
  /* @__PURE__ */ jsxs49("div", {
48288
48685
  className: "p-6 lg:p-10 flex min-w-0 flex-col justify-center",
48289
48686
  children: [
48290
- /* @__PURE__ */ jsx128("div", {
48687
+ /* @__PURE__ */ jsx129("div", {
48291
48688
  className: "text-3xl font-bold fontbrand mt-0",
48292
48689
  children: videoApps[activeTab].title
48293
48690
  }),
48294
- /* @__PURE__ */ jsx128("div", {
48691
+ /* @__PURE__ */ jsx129("div", {
48295
48692
  className: "text-muted mt-3 text-base fontbrand leading-relaxed",
48296
48693
  children: videoApps[activeTab].description
48297
48694
  }),
48298
- videoApps[activeTab].additionalInfo ? /* @__PURE__ */ jsx128("div", {
48695
+ videoApps[activeTab].additionalInfo ? /* @__PURE__ */ jsx129("div", {
48299
48696
  className: "text-muted mt-4 text-base fontbrand",
48300
48697
  children: videoApps[activeTab].additionalInfo
48301
48698
  }) : null,
48302
- /* @__PURE__ */ jsx128("div", {
48699
+ /* @__PURE__ */ jsx129("div", {
48303
48700
  className: "h-5"
48304
48701
  }),
48305
48702
  /* @__PURE__ */ jsxs49("a", {
@@ -48307,7 +48704,7 @@ var BuiltWithRemotionShowcase = () => {
48307
48704
  href: videoApps[activeTab].link,
48308
48705
  children: [
48309
48706
  videoApps[activeTab].buttonText,
48310
- /* @__PURE__ */ jsx128(Arrow4, {})
48707
+ /* @__PURE__ */ jsx129(Arrow4, {})
48311
48708
  ]
48312
48709
  })
48313
48710
  ]
@@ -48315,7 +48712,7 @@ var BuiltWithRemotionShowcase = () => {
48315
48712
  ]
48316
48713
  })
48317
48714
  }),
48318
- /* @__PURE__ */ jsx128("div", {
48715
+ /* @__PURE__ */ jsx129("div", {
48319
48716
  style: {
48320
48717
  marginTop: "1rem",
48321
48718
  justifyContent: "center",
@@ -48328,7 +48725,7 @@ var BuiltWithRemotionShowcase = () => {
48328
48725
  children: [
48329
48726
  "For more examples of products and workflows, see our",
48330
48727
  " ",
48331
- /* @__PURE__ */ jsx128("a", {
48728
+ /* @__PURE__ */ jsx129("a", {
48332
48729
  href: "/showcase",
48333
48730
  className: "bluelink",
48334
48731
  children: "Showcase page"
@@ -48980,13 +49377,13 @@ var CreateVideoInternals = {
48980
49377
  };
48981
49378
 
48982
49379
  // src/components/icons/blank.tsx
48983
- import { jsx as jsx129 } from "react/jsx-runtime";
49380
+ import { jsx as jsx130 } from "react/jsx-runtime";
48984
49381
  var Blank = (props) => {
48985
- return /* @__PURE__ */ jsx129("svg", {
49382
+ return /* @__PURE__ */ jsx130("svg", {
48986
49383
  xmlns: "http://www.w3.org/2000/svg",
48987
49384
  viewBox: "0 0 384 512",
48988
49385
  ...props,
48989
- children: /* @__PURE__ */ jsx129("path", {
49386
+ children: /* @__PURE__ */ jsx130("path", {
48990
49387
  fill: "currentColor",
48991
49388
  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
49389
  })
@@ -48994,7 +49391,7 @@ var Blank = (props) => {
48994
49391
  };
48995
49392
 
48996
49393
  // src/components/icons/brain.tsx
48997
- import { jsx as jsx130, jsxs as jsxs50 } from "react/jsx-runtime";
49394
+ import { jsx as jsx131, jsxs as jsxs50 } from "react/jsx-runtime";
48998
49395
  var BrainIcon = (props) => {
48999
49396
  return /* @__PURE__ */ jsxs50("svg", {
49000
49397
  xmlns: "http://www.w3.org/2000/svg",
@@ -49006,31 +49403,31 @@ var BrainIcon = (props) => {
49006
49403
  strokeLinejoin: "round",
49007
49404
  ...props,
49008
49405
  children: [
49009
- /* @__PURE__ */ jsx130("path", {
49406
+ /* @__PURE__ */ jsx131("path", {
49010
49407
  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
49408
  }),
49012
- /* @__PURE__ */ jsx130("path", {
49409
+ /* @__PURE__ */ jsx131("path", {
49013
49410
  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
49411
  }),
49015
- /* @__PURE__ */ jsx130("path", {
49412
+ /* @__PURE__ */ jsx131("path", {
49016
49413
  d: "M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4"
49017
49414
  }),
49018
- /* @__PURE__ */ jsx130("path", {
49415
+ /* @__PURE__ */ jsx131("path", {
49019
49416
  d: "M17.599 6.5a3 3 0 0 0 .399-1.375"
49020
49417
  }),
49021
- /* @__PURE__ */ jsx130("path", {
49418
+ /* @__PURE__ */ jsx131("path", {
49022
49419
  d: "M6.003 5.125A3 3 0 0 0 6.401 6.5"
49023
49420
  }),
49024
- /* @__PURE__ */ jsx130("path", {
49421
+ /* @__PURE__ */ jsx131("path", {
49025
49422
  d: "M3.477 10.896a4 4 0 0 1 .585-.396"
49026
49423
  }),
49027
- /* @__PURE__ */ jsx130("path", {
49424
+ /* @__PURE__ */ jsx131("path", {
49028
49425
  d: "M19.938 10.5a4 4 0 0 1 .585.396"
49029
49426
  }),
49030
- /* @__PURE__ */ jsx130("path", {
49427
+ /* @__PURE__ */ jsx131("path", {
49031
49428
  d: "M6 18a4 4 0 0 1-1.967-.516"
49032
49429
  }),
49033
- /* @__PURE__ */ jsx130("path", {
49430
+ /* @__PURE__ */ jsx131("path", {
49034
49431
  d: "M19.967 17.484A4 4 0 0 1 18 18"
49035
49432
  })
49036
49433
  ]
@@ -49038,29 +49435,29 @@ var BrainIcon = (props) => {
49038
49435
  };
49039
49436
 
49040
49437
  // src/components/icons/code-hike.tsx
49041
- import { jsx as jsx131, jsxs as jsxs51 } from "react/jsx-runtime";
49438
+ import { jsx as jsx134, jsxs as jsxs51 } from "react/jsx-runtime";
49042
49439
  var CodeHike = (props) => {
49043
49440
  return /* @__PURE__ */ jsxs51("svg", {
49044
49441
  ...props,
49045
49442
  viewBox: "-100 -100 200 200",
49046
49443
  fill: "currentColor",
49047
49444
  children: [
49048
- /* @__PURE__ */ jsx131("path", {
49445
+ /* @__PURE__ */ jsx134("path", {
49049
49446
  d: "M 70 60 L 42 -27 L 72 -27 L 100 60 Z"
49050
49447
  }),
49051
- /* @__PURE__ */ jsx131("path", {
49448
+ /* @__PURE__ */ jsx134("path", {
49052
49449
  d: "M 20.419540229885058 40.05357142857142 L 42 -27 L 72 -27 L 50.41954022988506 40.05357142857142 Z"
49053
49450
  }),
49054
- /* @__PURE__ */ jsx131("path", {
49451
+ /* @__PURE__ */ jsx134("path", {
49055
49452
  d: "M 20.419540229885058 40.05357142857142 L -15 -70 L 15 -70 L 50.41954022988506 40.05357142857142 Z"
49056
49453
  }),
49057
- /* @__PURE__ */ jsx131("path", {
49454
+ /* @__PURE__ */ jsx134("path", {
49058
49455
  d: "M -50.41954022988506 40.05357142857142 L -15 -70 L 15 -70 L -20.419540229885058 40.05357142857142 Z"
49059
49456
  }),
49060
- /* @__PURE__ */ jsx131("path", {
49457
+ /* @__PURE__ */ jsx134("path", {
49061
49458
  d: "M -50.41954022988506 40.05357142857142 L -72 -27 L -42 -27 L -20.419540229885058 40.05357142857142 Z"
49062
49459
  }),
49063
- /* @__PURE__ */ jsx131("path", {
49460
+ /* @__PURE__ */ jsx134("path", {
49064
49461
  d: "M -100 60 L -72 -27 L -42 -27 L -70 60 Z"
49065
49462
  })
49066
49463
  ]
@@ -49068,13 +49465,13 @@ var CodeHike = (props) => {
49068
49465
  };
49069
49466
 
49070
49467
  // src/components/icons/cubes.tsx
49071
- import { jsx as jsx134 } from "react/jsx-runtime";
49468
+ import { jsx as jsx136 } from "react/jsx-runtime";
49072
49469
  var Cubes = (props) => {
49073
- return /* @__PURE__ */ jsx134("svg", {
49470
+ return /* @__PURE__ */ jsx136("svg", {
49074
49471
  xmlns: "http://www.w3.org/2000/svg",
49075
49472
  viewBox: "0 0 512 512",
49076
49473
  ...props,
49077
- children: /* @__PURE__ */ jsx134("path", {
49474
+ children: /* @__PURE__ */ jsx136("path", {
49078
49475
  fill: "currentColor",
49079
49476
  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
49477
  })
@@ -49082,13 +49479,13 @@ var Cubes = (props) => {
49082
49479
  };
49083
49480
 
49084
49481
  // src/components/icons/electron.tsx
49085
- import { jsx as jsx136 } from "react/jsx-runtime";
49482
+ import { jsx as jsx137 } from "react/jsx-runtime";
49086
49483
  var ElectronIcon = ({ style: style4 }) => {
49087
- return /* @__PURE__ */ jsx136("svg", {
49484
+ return /* @__PURE__ */ jsx137("svg", {
49088
49485
  viewBox: "0 0 640 640",
49089
49486
  style: style4,
49090
49487
  xmlns: "http://www.w3.org/2000/svg",
49091
- children: /* @__PURE__ */ jsx136("path", {
49488
+ children: /* @__PURE__ */ jsx137("path", {
49092
49489
  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
49490
  fill: "currentColor"
49094
49491
  })
@@ -49096,13 +49493,13 @@ var ElectronIcon = ({ style: style4 }) => {
49096
49493
  };
49097
49494
 
49098
49495
  // src/components/icons/js.tsx
49099
- import { jsx as jsx137 } from "react/jsx-runtime";
49496
+ import { jsx as jsx138 } from "react/jsx-runtime";
49100
49497
  var JSIcon = (props) => {
49101
- return /* @__PURE__ */ jsx137("svg", {
49498
+ return /* @__PURE__ */ jsx138("svg", {
49102
49499
  className: "svg-inline--fa fa-js-square fa-w-14",
49103
49500
  viewBox: "0 0 448 512",
49104
49501
  ...props,
49105
- children: /* @__PURE__ */ jsx137("path", {
49502
+ children: /* @__PURE__ */ jsx138("path", {
49106
49503
  fill: "currentColor",
49107
49504
  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
49505
  })
@@ -49110,13 +49507,13 @@ var JSIcon = (props) => {
49110
49507
  };
49111
49508
 
49112
49509
  // src/components/icons/music.tsx
49113
- import { jsx as jsx138 } from "react/jsx-runtime";
49510
+ import { jsx as jsx139 } from "react/jsx-runtime";
49114
49511
  var MusicIcon = (props) => {
49115
- return /* @__PURE__ */ jsx138("svg", {
49512
+ return /* @__PURE__ */ jsx139("svg", {
49116
49513
  ...props,
49117
49514
  xmlns: "http://www.w3.org/2000/svg",
49118
49515
  viewBox: "0 0 512 512",
49119
- children: /* @__PURE__ */ jsx138("path", {
49516
+ children: /* @__PURE__ */ jsx139("path", {
49120
49517
  fill: "currentColor",
49121
49518
  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
49519
  })
@@ -49124,7 +49521,7 @@ var MusicIcon = (props) => {
49124
49521
  };
49125
49522
 
49126
49523
  // src/components/icons/next.tsx
49127
- import { jsx as jsx139, jsxs as jsxs54 } from "react/jsx-runtime";
49524
+ import { jsx as jsx140, jsxs as jsxs54 } from "react/jsx-runtime";
49128
49525
  var NextIcon = ({ style: style4 }) => {
49129
49526
  return /* @__PURE__ */ jsxs54("svg", {
49130
49527
  fill: "none",
@@ -49132,7 +49529,7 @@ var NextIcon = ({ style: style4 }) => {
49132
49529
  style: style4,
49133
49530
  xmlns: "http://www.w3.org/2000/svg",
49134
49531
  children: [
49135
- /* @__PURE__ */ jsx139("mask", {
49532
+ /* @__PURE__ */ jsx140("mask", {
49136
49533
  height: "180",
49137
49534
  id: "mask0_292_250",
49138
49535
  maskUnits: "userSpaceOnUse",
@@ -49140,7 +49537,7 @@ var NextIcon = ({ style: style4 }) => {
49140
49537
  width: "180",
49141
49538
  x: "0",
49142
49539
  y: "0",
49143
- children: /* @__PURE__ */ jsx139("circle", {
49540
+ children: /* @__PURE__ */ jsx140("circle", {
49144
49541
  cx: "90",
49145
49542
  cy: "90",
49146
49543
  fill: "currentcolor",
@@ -49150,17 +49547,17 @@ var NextIcon = ({ style: style4 }) => {
49150
49547
  /* @__PURE__ */ jsxs54("g", {
49151
49548
  mask: "url(#mask0_292_250)",
49152
49549
  children: [
49153
- /* @__PURE__ */ jsx139("circle", {
49550
+ /* @__PURE__ */ jsx140("circle", {
49154
49551
  cx: "90",
49155
49552
  cy: "90",
49156
49553
  fill: "currentcolor",
49157
49554
  r: "90"
49158
49555
  }),
49159
- /* @__PURE__ */ jsx139("path", {
49556
+ /* @__PURE__ */ jsx140("path", {
49160
49557
  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
49558
  fill: "url(#paint0_linear_292_250)"
49162
49559
  }),
49163
- /* @__PURE__ */ jsx139("rect", {
49560
+ /* @__PURE__ */ jsx140("rect", {
49164
49561
  fill: "url(#paint1_linear_292_250)",
49165
49562
  height: "72",
49166
49563
  width: "12",
@@ -49179,10 +49576,10 @@ var NextIcon = ({ style: style4 }) => {
49179
49576
  y1: "116.5",
49180
49577
  y2: "160.5",
49181
49578
  children: [
49182
- /* @__PURE__ */ jsx139("stop", {
49579
+ /* @__PURE__ */ jsx140("stop", {
49183
49580
  stopColor: "var(--background)"
49184
49581
  }),
49185
- /* @__PURE__ */ jsx139("stop", {
49582
+ /* @__PURE__ */ jsx140("stop", {
49186
49583
  offset: "1",
49187
49584
  stopColor: "var(--background)",
49188
49585
  stopOpacity: "0"
@@ -49197,10 +49594,10 @@ var NextIcon = ({ style: style4 }) => {
49197
49594
  y1: "54",
49198
49595
  y2: "106.875",
49199
49596
  children: [
49200
- /* @__PURE__ */ jsx139("stop", {
49597
+ /* @__PURE__ */ jsx140("stop", {
49201
49598
  stopColor: "var(--background)"
49202
49599
  }),
49203
- /* @__PURE__ */ jsx139("stop", {
49600
+ /* @__PURE__ */ jsx140("stop", {
49204
49601
  offset: "1",
49205
49602
  stopColor: "var(--background)",
49206
49603
  stopOpacity: "0"
@@ -49214,7 +49611,7 @@ var NextIcon = ({ style: style4 }) => {
49214
49611
  };
49215
49612
 
49216
49613
  // src/components/icons/overlay.tsx
49217
- import { jsx as jsx140, jsxs as jsxs56 } from "react/jsx-runtime";
49614
+ import { jsx as jsx141, jsxs as jsxs56 } from "react/jsx-runtime";
49218
49615
  var OverlayIcon = (props) => {
49219
49616
  return /* @__PURE__ */ jsxs56("svg", {
49220
49617
  viewBox: "0 0 576 512",
@@ -49222,11 +49619,11 @@ var OverlayIcon = (props) => {
49222
49619
  xmlns: "http://www.w3.org/2000/svg",
49223
49620
  ...props,
49224
49621
  children: [
49225
- /* @__PURE__ */ jsx140("path", {
49622
+ /* @__PURE__ */ jsx141("path", {
49226
49623
  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
49624
  fill: "currentcolor"
49228
49625
  }),
49229
- /* @__PURE__ */ jsx140("path", {
49626
+ /* @__PURE__ */ jsx141("path", {
49230
49627
  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
49628
  stroke: "currentcolor",
49232
49629
  transform: "translate(32, -25)",
@@ -49237,13 +49634,13 @@ var OverlayIcon = (props) => {
49237
49634
  };
49238
49635
 
49239
49636
  // src/components/icons/prompt-to-video.tsx
49240
- import { jsx as jsx141 } from "react/jsx-runtime";
49637
+ import { jsx as jsx144 } from "react/jsx-runtime";
49241
49638
  var PromptToVideoIcon = (props) => {
49242
- return /* @__PURE__ */ jsx141("svg", {
49639
+ return /* @__PURE__ */ jsx144("svg", {
49243
49640
  xmlns: "http://www.w3.org/2000/svg",
49244
49641
  viewBox: "0 0 512 512",
49245
49642
  ...props,
49246
- children: /* @__PURE__ */ jsx141("path", {
49643
+ children: /* @__PURE__ */ jsx144("path", {
49247
49644
  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
49645
  fill: "currentColor"
49249
49646
  })
@@ -49251,23 +49648,23 @@ var PromptToVideoIcon = (props) => {
49251
49648
  };
49252
49649
 
49253
49650
  // src/components/icons/recorder.tsx
49254
- import { jsx as jsx144, jsxs as jsxs57 } from "react/jsx-runtime";
49651
+ import { jsx as jsx146, jsxs as jsxs57 } from "react/jsx-runtime";
49255
49652
  var Recorder = (props) => {
49256
49653
  return /* @__PURE__ */ jsxs57("svg", {
49257
49654
  viewBox: "0 0 700 700",
49258
49655
  ...props,
49259
49656
  children: [
49260
- /* @__PURE__ */ jsx144("path", {
49657
+ /* @__PURE__ */ jsx146("path", {
49261
49658
  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
49659
  fill: "#F43B00",
49263
49660
  fillOpacity: "0.15"
49264
49661
  }),
49265
- /* @__PURE__ */ jsx144("path", {
49662
+ /* @__PURE__ */ jsx146("path", {
49266
49663
  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
49664
  fill: "#F43B00",
49268
49665
  fillOpacity: "0.3"
49269
49666
  }),
49270
- /* @__PURE__ */ jsx144("path", {
49667
+ /* @__PURE__ */ jsx146("path", {
49271
49668
  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
49669
  fill: "#F43B00"
49273
49670
  })
@@ -49276,9 +49673,9 @@ var Recorder = (props) => {
49276
49673
  };
49277
49674
 
49278
49675
  // src/components/icons/remix.tsx
49279
- import { jsx as jsx146, jsxs as jsxs58 } from "react/jsx-runtime";
49676
+ import { jsx as jsx147, jsxs as jsxs58 } from "react/jsx-runtime";
49280
49677
  var ReactRouterIcon = (props) => {
49281
- return /* @__PURE__ */ jsx146("svg", {
49678
+ return /* @__PURE__ */ jsx147("svg", {
49282
49679
  xmlns: "http://www.w3.org/2000/svg",
49283
49680
  width: "800px",
49284
49681
  height: "800px",
@@ -49288,11 +49685,11 @@ var ReactRouterIcon = (props) => {
49288
49685
  ...props,
49289
49686
  children: /* @__PURE__ */ jsxs58("g", {
49290
49687
  children: [
49291
- /* @__PURE__ */ jsx146("path", {
49688
+ /* @__PURE__ */ jsx147("path", {
49292
49689
  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
49690
  fill: "currentcolor"
49294
49691
  }),
49295
- /* @__PURE__ */ jsx146("path", {
49692
+ /* @__PURE__ */ jsx147("path", {
49296
49693
  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
49694
  fill: "currentcolor"
49298
49695
  })
@@ -49302,7 +49699,7 @@ var ReactRouterIcon = (props) => {
49302
49699
  };
49303
49700
 
49304
49701
  // src/components/icons/render-server.tsx
49305
- import { jsx as jsx147, jsxs as jsxs59 } from "react/jsx-runtime";
49702
+ import { jsx as jsx148, jsxs as jsxs59 } from "react/jsx-runtime";
49306
49703
  var RenderServerIcon = (props) => {
49307
49704
  return /* @__PURE__ */ jsxs59("svg", {
49308
49705
  ...props,
@@ -49314,14 +49711,14 @@ var RenderServerIcon = (props) => {
49314
49711
  strokeLinecap: "round",
49315
49712
  strokeLinejoin: "round",
49316
49713
  children: [
49317
- /* @__PURE__ */ jsx147("rect", {
49714
+ /* @__PURE__ */ jsx148("rect", {
49318
49715
  width: "18",
49319
49716
  height: "18",
49320
49717
  x: "3",
49321
49718
  y: "3",
49322
49719
  rx: "2"
49323
49720
  }),
49324
- /* @__PURE__ */ jsx147("path", {
49721
+ /* @__PURE__ */ jsx148("path", {
49325
49722
  d: "m10 8 4 4-4 4"
49326
49723
  })
49327
49724
  ]
@@ -49329,13 +49726,13 @@ var RenderServerIcon = (props) => {
49329
49726
  };
49330
49727
 
49331
49728
  // src/components/icons/skia.tsx
49332
- import { jsx as jsx148 } from "react/jsx-runtime";
49729
+ import { jsx as jsx149 } from "react/jsx-runtime";
49333
49730
  var SkiaIcon = (props) => {
49334
- return /* @__PURE__ */ jsx148("svg", {
49731
+ return /* @__PURE__ */ jsx149("svg", {
49335
49732
  ...props,
49336
49733
  xmlns: "http://www.w3.org/2000/svg",
49337
49734
  viewBox: "0 0 576 512",
49338
- children: /* @__PURE__ */ jsx148("path", {
49735
+ children: /* @__PURE__ */ jsx149("path", {
49339
49736
  fill: "currentColor",
49340
49737
  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
49738
  })
@@ -49343,13 +49740,13 @@ var SkiaIcon = (props) => {
49343
49740
  };
49344
49741
 
49345
49742
  // src/components/icons/stargazer.tsx
49346
- import { jsx as jsx149 } from "react/jsx-runtime";
49743
+ import { jsx as jsx150 } from "react/jsx-runtime";
49347
49744
  var Stargazer = (props) => {
49348
- return /* @__PURE__ */ jsx149("svg", {
49745
+ return /* @__PURE__ */ jsx150("svg", {
49349
49746
  height: "1em",
49350
49747
  viewBox: "0 0 512 512",
49351
49748
  ...props,
49352
- children: /* @__PURE__ */ jsx149("path", {
49749
+ children: /* @__PURE__ */ jsx150("path", {
49353
49750
  fill: "currentcolor",
49354
49751
  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
49752
  })
@@ -49357,13 +49754,13 @@ var Stargazer = (props) => {
49357
49754
  };
49358
49755
 
49359
49756
  // src/components/icons/still.tsx
49360
- import { jsx as jsx150 } from "react/jsx-runtime";
49757
+ import { jsx as jsx151 } from "react/jsx-runtime";
49361
49758
  var StillIcon = (props) => {
49362
- return /* @__PURE__ */ jsx150("svg", {
49759
+ return /* @__PURE__ */ jsx151("svg", {
49363
49760
  xmlns: "http://www.w3.org/2000/svg",
49364
49761
  viewBox: "0 0 512 512",
49365
49762
  ...props,
49366
- children: /* @__PURE__ */ jsx150("path", {
49763
+ children: /* @__PURE__ */ jsx151("path", {
49367
49764
  fill: "currentColor",
49368
49765
  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
49766
  })
@@ -49371,12 +49768,12 @@ var StillIcon = (props) => {
49371
49768
  };
49372
49769
 
49373
49770
  // src/components/icons/tiktok.tsx
49374
- import { jsx as jsx151 } from "react/jsx-runtime";
49771
+ import { jsx as jsx154 } from "react/jsx-runtime";
49375
49772
  var TikTok = (props) => {
49376
- return /* @__PURE__ */ jsx151("svg", {
49773
+ return /* @__PURE__ */ jsx154("svg", {
49377
49774
  ...props,
49378
49775
  viewBox: "0 0 448 512",
49379
- children: /* @__PURE__ */ jsx151("path", {
49776
+ children: /* @__PURE__ */ jsx154("path", {
49380
49777
  fill: "currentcolor",
49381
49778
  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
49779
  })
@@ -49384,14 +49781,14 @@ var TikTok = (props) => {
49384
49781
  };
49385
49782
 
49386
49783
  // src/components/icons/ts.tsx
49387
- import { jsx as jsx154 } from "react/jsx-runtime";
49784
+ import { jsx as jsx156 } from "react/jsx-runtime";
49388
49785
  var TypeScriptIcon = (props) => {
49389
- return /* @__PURE__ */ jsx154("svg", {
49786
+ return /* @__PURE__ */ jsx156("svg", {
49390
49787
  fill: "#000000",
49391
49788
  xmlns: "http://www.w3.org/2000/svg",
49392
49789
  viewBox: "0 0 24 24",
49393
49790
  ...props,
49394
- children: /* @__PURE__ */ jsx154("path", {
49791
+ children: /* @__PURE__ */ jsx156("path", {
49395
49792
  fill: "currentColor",
49396
49793
  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
49794
  })
@@ -49399,27 +49796,27 @@ var TypeScriptIcon = (props) => {
49399
49796
  };
49400
49797
 
49401
49798
  // src/components/icons/vercel.tsx
49402
- import { jsx as jsx156 } from "react/jsx-runtime";
49799
+ import { jsx as jsx157 } from "react/jsx-runtime";
49403
49800
  var VercelIcon = ({ style: style4 }) => {
49404
- return /* @__PURE__ */ jsx156("svg", {
49801
+ return /* @__PURE__ */ jsx157("svg", {
49405
49802
  fill: "currentcolor",
49406
49803
  viewBox: "0 0 76 65",
49407
49804
  style: style4,
49408
49805
  xmlns: "http://www.w3.org/2000/svg",
49409
- children: /* @__PURE__ */ jsx156("path", {
49806
+ children: /* @__PURE__ */ jsx157("path", {
49410
49807
  d: "M37.5274 0L75.0548 65H0L37.5274 0Z"
49411
49808
  })
49412
49809
  });
49413
49810
  };
49414
49811
 
49415
49812
  // src/components/icons/waveform.tsx
49416
- import { jsx as jsx157 } from "react/jsx-runtime";
49813
+ import { jsx as jsx158 } from "react/jsx-runtime";
49417
49814
  var Waveform = (props) => {
49418
- return /* @__PURE__ */ jsx157("svg", {
49815
+ return /* @__PURE__ */ jsx158("svg", {
49419
49816
  xmlns: "http://www.w3.org/2000/svg",
49420
49817
  viewBox: "0 0 640 512",
49421
49818
  ...props,
49422
- children: /* @__PURE__ */ jsx157("path", {
49819
+ children: /* @__PURE__ */ jsx158("path", {
49423
49820
  fill: "currentColor",
49424
49821
  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
49822
  })
@@ -49427,17 +49824,17 @@ var Waveform = (props) => {
49427
49824
  };
49428
49825
 
49429
49826
  // src/components/homepage/IconForTemplate.tsx
49430
- import { jsx as jsx158 } from "react/jsx-runtime";
49827
+ import { jsx as jsx159 } from "react/jsx-runtime";
49431
49828
  var IconForTemplate = ({ template, scale: scale4 = 1 }) => {
49432
49829
  if (template.cliId === "hello-world") {
49433
- return /* @__PURE__ */ jsx158(TypeScriptIcon, {
49830
+ return /* @__PURE__ */ jsx159(TypeScriptIcon, {
49434
49831
  style: {
49435
49832
  height: scale4 * 48
49436
49833
  }
49437
49834
  });
49438
49835
  }
49439
49836
  if (template.cliId === "blank") {
49440
- return /* @__PURE__ */ jsx158(Blank, {
49837
+ return /* @__PURE__ */ jsx159(Blank, {
49441
49838
  style: {
49442
49839
  height: scale4 * 36,
49443
49840
  overflow: "visible"
@@ -49445,106 +49842,106 @@ var IconForTemplate = ({ template, scale: scale4 = 1 }) => {
49445
49842
  });
49446
49843
  }
49447
49844
  if (template.cliId === "javascript") {
49448
- return /* @__PURE__ */ jsx158(JSIcon, {
49845
+ return /* @__PURE__ */ jsx159(JSIcon, {
49449
49846
  style: {
49450
49847
  height: scale4 * 40
49451
49848
  }
49452
49849
  });
49453
49850
  }
49454
49851
  if (template.cliId === "three") {
49455
- return /* @__PURE__ */ jsx158(Cubes, {
49852
+ return /* @__PURE__ */ jsx159(Cubes, {
49456
49853
  style: {
49457
49854
  height: scale4 * 36
49458
49855
  }
49459
49856
  });
49460
49857
  }
49461
49858
  if (template.cliId === "still") {
49462
- return /* @__PURE__ */ jsx158(StillIcon, {
49859
+ return /* @__PURE__ */ jsx159(StillIcon, {
49463
49860
  style: {
49464
49861
  height: scale4 * 36
49465
49862
  }
49466
49863
  });
49467
49864
  }
49468
49865
  if (template.cliId === "audiogram") {
49469
- return /* @__PURE__ */ jsx158(Waveform, {
49866
+ return /* @__PURE__ */ jsx159(Waveform, {
49470
49867
  style: {
49471
49868
  height: scale4 * 36
49472
49869
  }
49473
49870
  });
49474
49871
  }
49475
49872
  if (template.cliId === "skia") {
49476
- return /* @__PURE__ */ jsx158(SkiaIcon, {
49873
+ return /* @__PURE__ */ jsx159(SkiaIcon, {
49477
49874
  style: {
49478
49875
  height: scale4 * 32
49479
49876
  }
49480
49877
  });
49481
49878
  }
49482
49879
  if (template.cliId === "music-visualization") {
49483
- return /* @__PURE__ */ jsx158(MusicIcon, {
49880
+ return /* @__PURE__ */ jsx159(MusicIcon, {
49484
49881
  style: {
49485
49882
  height: scale4 * 32
49486
49883
  }
49487
49884
  });
49488
49885
  }
49489
49886
  if (template.cliId === "react-router") {
49490
- return /* @__PURE__ */ jsx158(ReactRouterIcon, {
49887
+ return /* @__PURE__ */ jsx159(ReactRouterIcon, {
49491
49888
  style: {
49492
49889
  height: scale4 * 32
49493
49890
  }
49494
49891
  });
49495
49892
  }
49496
49893
  if (template.cliId === "overlay") {
49497
- return /* @__PURE__ */ jsx158(OverlayIcon, {
49894
+ return /* @__PURE__ */ jsx159(OverlayIcon, {
49498
49895
  style: { height: scale4 * 42 }
49499
49896
  });
49500
49897
  }
49501
49898
  if (template.cliId === "render-server") {
49502
- return /* @__PURE__ */ jsx158(RenderServerIcon, {
49899
+ return /* @__PURE__ */ jsx159(RenderServerIcon, {
49503
49900
  style: { height: scale4 * 36 }
49504
49901
  });
49505
49902
  }
49506
49903
  if (template.cliId === "electron") {
49507
- return /* @__PURE__ */ jsx158(ElectronIcon, {
49904
+ return /* @__PURE__ */ jsx159(ElectronIcon, {
49508
49905
  style: { height: scale4 * 36 }
49509
49906
  });
49510
49907
  }
49511
49908
  if (template.cliId === "recorder") {
49512
- return /* @__PURE__ */ jsx158(Recorder, {
49909
+ return /* @__PURE__ */ jsx159(Recorder, {
49513
49910
  style: { height: scale4 * 36 }
49514
49911
  });
49515
49912
  }
49516
49913
  if (template.cliId === "next" || template.cliId === "next-no-tailwind" || template.cliId === "next-pages-dir") {
49517
- return /* @__PURE__ */ jsx158(NextIcon, {
49914
+ return /* @__PURE__ */ jsx159(NextIcon, {
49518
49915
  style: { height: scale4 * 36 }
49519
49916
  });
49520
49917
  }
49521
49918
  if (template.cliId === "stargazer") {
49522
- return /* @__PURE__ */ jsx158(Stargazer, {
49919
+ return /* @__PURE__ */ jsx159(Stargazer, {
49523
49920
  style: { height: scale4 * 36 }
49524
49921
  });
49525
49922
  }
49526
49923
  if (template.cliId === "tiktok") {
49527
- return /* @__PURE__ */ jsx158(TikTok, {
49924
+ return /* @__PURE__ */ jsx159(TikTok, {
49528
49925
  style: { height: scale4 * 36 }
49529
49926
  });
49530
49927
  }
49531
49928
  if (template.cliId === "code-hike") {
49532
- return /* @__PURE__ */ jsx158(CodeHike, {
49929
+ return /* @__PURE__ */ jsx159(CodeHike, {
49533
49930
  style: { height: scale4 * 36 }
49534
49931
  });
49535
49932
  }
49536
49933
  if (template.cliId === "prompt-to-video") {
49537
- return /* @__PURE__ */ jsx158(PromptToVideoIcon, {
49934
+ return /* @__PURE__ */ jsx159(PromptToVideoIcon, {
49538
49935
  style: { height: scale4 * 36 }
49539
49936
  });
49540
49937
  }
49541
49938
  if (template.cliId === "prompt-to-motion-graphics") {
49542
- return /* @__PURE__ */ jsx158(BrainIcon, {
49939
+ return /* @__PURE__ */ jsx159(BrainIcon, {
49543
49940
  style: { height: scale4 * 36 }
49544
49941
  });
49545
49942
  }
49546
49943
  if (template.cliId === "vercel") {
49547
- return /* @__PURE__ */ jsx158(VercelIcon, {
49944
+ return /* @__PURE__ */ jsx159(VercelIcon, {
49548
49945
  style: { height: scale4 * 28 }
49549
49946
  });
49550
49947
  }
@@ -49558,7 +49955,7 @@ var useMobileLayout = () => {
49558
49955
  };
49559
49956
 
49560
49957
  // src/components/homepage/MoreTemplatesButton.tsx
49561
- import { jsx as jsx159, jsxs as jsxs60 } from "react/jsx-runtime";
49958
+ import { jsx as jsx160, jsxs as jsxs60 } from "react/jsx-runtime";
49562
49959
  var icon7 = {
49563
49960
  height: 16,
49564
49961
  marginLeft: 10
@@ -49570,11 +49967,11 @@ var MoreTemplatesButton = () => {
49570
49967
  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
49968
  children: [
49572
49969
  mobileLayout ? "Templates" : "Find a template",
49573
- /* @__PURE__ */ jsx159("svg", {
49970
+ /* @__PURE__ */ jsx160("svg", {
49574
49971
  style: icon7,
49575
49972
  xmlns: "http://www.w3.org/2000/svg",
49576
49973
  viewBox: "0 0 448 512",
49577
- children: /* @__PURE__ */ jsx159("path", {
49974
+ children: /* @__PURE__ */ jsx160("path", {
49578
49975
  fill: "currentColor",
49579
49976
  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
49977
  })
@@ -49584,7 +49981,7 @@ var MoreTemplatesButton = () => {
49584
49981
  };
49585
49982
 
49586
49983
  // src/components/homepage/TemplateIcon.tsx
49587
- import { jsx as jsx160, jsxs as jsxs61 } from "react/jsx-runtime";
49984
+ import { jsx as jsx161, jsxs as jsxs61 } from "react/jsx-runtime";
49588
49985
  var icon8 = {
49589
49986
  display: "flex",
49590
49987
  width: 36,
@@ -49608,11 +50005,11 @@ var TemplateIcon = ({ children, label: label3 }) => {
49608
50005
  return /* @__PURE__ */ jsxs61("span", {
49609
50006
  style: outer,
49610
50007
  children: [
49611
- /* @__PURE__ */ jsx160("div", {
50008
+ /* @__PURE__ */ jsx161("div", {
49612
50009
  style: icon8,
49613
50010
  children
49614
50011
  }),
49615
- mobileLayout ? null : /* @__PURE__ */ jsx160("div", {
50012
+ mobileLayout ? null : /* @__PURE__ */ jsx161("div", {
49616
50013
  className: "text-xs fontbrand",
49617
50014
  children: label3
49618
50015
  })
@@ -49621,14 +50018,14 @@ var TemplateIcon = ({ children, label: label3 }) => {
49621
50018
  };
49622
50019
 
49623
50020
  // src/components/homepage/ChooseTemplate.tsx
49624
- import { jsx as jsx161, jsxs as jsxs63 } from "react/jsx-runtime";
50021
+ import { jsx as jsx164, jsxs as jsxs63 } from "react/jsx-runtime";
49625
50022
  var ChooseTemplate = () => {
49626
- return /* @__PURE__ */ jsx161("div", {
50023
+ return /* @__PURE__ */ jsx164("div", {
49627
50024
  style: {
49628
50025
  display: "flex",
49629
50026
  flexDirection: "column"
49630
50027
  },
49631
- children: /* @__PURE__ */ jsx161("div", {
50028
+ children: /* @__PURE__ */ jsx164("div", {
49632
50029
  style: {
49633
50030
  position: "relative",
49634
50031
  textAlign: "center"
@@ -49647,19 +50044,19 @@ var ChooseTemplate = () => {
49647
50044
  },
49648
50045
  children: [
49649
50046
  CreateVideoInternals.FEATURED_TEMPLATES.filter((f) => f.featuredOnHomePage).map((template) => {
49650
- return /* @__PURE__ */ jsx161("a", {
50047
+ return /* @__PURE__ */ jsx164("a", {
49651
50048
  className: "text-inherit no-underline",
49652
50049
  href: `/templates/${template.cliId}`,
49653
- children: /* @__PURE__ */ jsx161(TemplateIcon, {
50050
+ children: /* @__PURE__ */ jsx164(TemplateIcon, {
49654
50051
  label: template.featuredOnHomePage,
49655
- children: /* @__PURE__ */ jsx161(IconForTemplate, {
50052
+ children: /* @__PURE__ */ jsx164(IconForTemplate, {
49656
50053
  scale: 0.7,
49657
50054
  template
49658
50055
  })
49659
50056
  })
49660
50057
  }, template.cliId);
49661
50058
  }),
49662
- /* @__PURE__ */ jsx161(MoreTemplatesButton, {})
50059
+ /* @__PURE__ */ jsx164(MoreTemplatesButton, {})
49663
50060
  ]
49664
50061
  })
49665
50062
  })
@@ -49670,12 +50067,12 @@ var ChooseTemplate = () => {
49670
50067
  import { useState as useState67 } from "react";
49671
50068
 
49672
50069
  // src/components/homepage/GitHubButton.tsx
49673
- import { jsx as jsx164, jsxs as jsxs65 } from "react/jsx-runtime";
50070
+ import { jsx as jsx166, jsxs as jsxs65 } from "react/jsx-runtime";
49674
50071
  var GithubIcon = () => {
49675
- return /* @__PURE__ */ jsx164("svg", {
50072
+ return /* @__PURE__ */ jsx166("svg", {
49676
50073
  viewBox: "0 0 496 512",
49677
50074
  style: { height: 24, marginRight: 8 },
49678
- children: /* @__PURE__ */ jsx164("path", {
50075
+ children: /* @__PURE__ */ jsx166("path", {
49679
50076
  fill: "currentColor",
49680
50077
  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
50078
  })
@@ -49685,13 +50082,13 @@ var GithubButton = () => {
49685
50082
  return /* @__PURE__ */ jsxs65("div", {
49686
50083
  className: "flex flex-row items-center text-base",
49687
50084
  children: [
49688
- /* @__PURE__ */ jsx164(GithubIcon, {}),
50085
+ /* @__PURE__ */ jsx166(GithubIcon, {}),
49689
50086
  " ",
49690
- /* @__PURE__ */ jsx164("span", {
50087
+ /* @__PURE__ */ jsx166("span", {
49691
50088
  children: "GitHub"
49692
50089
  }),
49693
50090
  " ",
49694
- /* @__PURE__ */ jsx164("div", {
50091
+ /* @__PURE__ */ jsx166("div", {
49695
50092
  className: "text-xs inline-block ml-2 leading-none mt-[3px] self-center",
49696
50093
  children: "49k"
49697
50094
  })
@@ -49700,18 +50097,18 @@ var GithubButton = () => {
49700
50097
  };
49701
50098
 
49702
50099
  // src/components/homepage/GetStartedStrip.tsx
49703
- import { jsx as jsx166, jsxs as jsxs66 } from "react/jsx-runtime";
50100
+ import { jsx as jsx167, jsxs as jsxs66 } from "react/jsx-runtime";
49704
50101
  var GetStarted = () => {
49705
50102
  const [clicked, setClicked] = useState67(null);
49706
50103
  return /* @__PURE__ */ jsxs66("div", {
49707
50104
  className: "flex flex-col lg:flex-row items-center justify-center text-center w-full",
49708
50105
  children: [
49709
- /* @__PURE__ */ jsx166("div", {
50106
+ /* @__PURE__ */ jsx167("div", {
49710
50107
  className: "w-full lg:w-auto",
49711
50108
  children: /* @__PURE__ */ jsxs66("div", {
49712
50109
  className: "flex flex-row w-full relative",
49713
50110
  children: [
49714
- clicked ? /* @__PURE__ */ jsx166("div", {
50111
+ clicked ? /* @__PURE__ */ jsx167("div", {
49715
50112
  style: {
49716
50113
  animation: "click 0.7s linear",
49717
50114
  animationFillMode: "forwards"
@@ -49719,7 +50116,7 @@ var GetStarted = () => {
49719
50116
  className: "absolute z-0 top-[-10px] font-mono text-sm text-center w-full",
49720
50117
  children: "Copied!"
49721
50118
  }, clicked) : null,
49722
- /* @__PURE__ */ jsx166(Button, {
50119
+ /* @__PURE__ */ jsx167(Button, {
49723
50120
  className: "bg-[#333] text-white rounded-lg px-4 font-mono hover:[#444] cursor-pointer w-full",
49724
50121
  onClick: () => {
49725
50122
  navigator.clipboard.writeText("npx create-video@latest");
@@ -49731,59 +50128,59 @@ var GetStarted = () => {
49731
50128
  ]
49732
50129
  })
49733
50130
  }),
49734
- /* @__PURE__ */ jsx166("div", {
50131
+ /* @__PURE__ */ jsx167("div", {
49735
50132
  style: { width: 10, height: 10 }
49736
50133
  }),
49737
- /* @__PURE__ */ jsx166("div", {
50134
+ /* @__PURE__ */ jsx167("div", {
49738
50135
  className: "w-full lg:w-auto",
49739
- children: /* @__PURE__ */ jsx166(Button, {
50136
+ children: /* @__PURE__ */ jsx167(Button, {
49740
50137
  href: "/docs",
49741
50138
  className: "w-full",
49742
50139
  children: "Docs"
49743
50140
  })
49744
50141
  }),
49745
- /* @__PURE__ */ jsx166("div", {
50142
+ /* @__PURE__ */ jsx167("div", {
49746
50143
  className: "w-2 h-2"
49747
50144
  }),
49748
- /* @__PURE__ */ jsx166("div", {
50145
+ /* @__PURE__ */ jsx167("div", {
49749
50146
  className: "w-full lg:w-auto",
49750
- children: /* @__PURE__ */ jsx166(Button, {
50147
+ children: /* @__PURE__ */ jsx167(Button, {
49751
50148
  href: "https://remotion.dev/discord",
49752
50149
  target: "_blank",
49753
50150
  className: "w-full",
49754
50151
  children: "Discord"
49755
50152
  })
49756
50153
  }),
49757
- /* @__PURE__ */ jsx166("div", {
50154
+ /* @__PURE__ */ jsx167("div", {
49758
50155
  className: "w-2 h-2"
49759
50156
  }),
49760
- /* @__PURE__ */ jsx166("div", {
50157
+ /* @__PURE__ */ jsx167("div", {
49761
50158
  className: "w-full lg:w-auto",
49762
- children: /* @__PURE__ */ jsx166(Button, {
50159
+ children: /* @__PURE__ */ jsx167(Button, {
49763
50160
  href: "https://github.com/remotion-dev/remotion",
49764
50161
  target: "_blank",
49765
50162
  className: "w-full",
49766
- children: /* @__PURE__ */ jsx166(GithubButton, {})
50163
+ children: /* @__PURE__ */ jsx167(GithubButton, {})
49767
50164
  })
49768
50165
  }),
49769
50166
  " ",
49770
- /* @__PURE__ */ jsx166("div", {
50167
+ /* @__PURE__ */ jsx167("div", {
49771
50168
  className: "w-2 h-2"
49772
50169
  }),
49773
- /* @__PURE__ */ jsx166("div", {
50170
+ /* @__PURE__ */ jsx167("div", {
49774
50171
  className: "w-full lg:w-auto",
49775
50172
  children: /* @__PURE__ */ jsxs66(Button, {
49776
50173
  href: "/prompts",
49777
50174
  className: "w-full",
49778
50175
  children: [
49779
- /* @__PURE__ */ jsx166("svg", {
50176
+ /* @__PURE__ */ jsx167("svg", {
49780
50177
  width: "20",
49781
50178
  height: "20",
49782
50179
  viewBox: "0 0 149 149",
49783
50180
  fill: "none",
49784
50181
  xmlns: "http://www.w3.org/2000/svg",
49785
50182
  style: { marginRight: 8 },
49786
- children: /* @__PURE__ */ jsx166("path", {
50183
+ children: /* @__PURE__ */ jsx167("path", {
49787
50184
  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
50185
  fill: "#D97757"
49789
50186
  })
@@ -49797,11 +50194,11 @@ var GetStarted = () => {
49797
50194
  };
49798
50195
 
49799
50196
  // src/components/homepage/WriteInReact.tsx
49800
- import { jsx as jsx167, jsxs as jsxs67 } from "react/jsx-runtime";
50197
+ import { jsx as jsx168, jsxs as jsxs67 } from "react/jsx-runtime";
49801
50198
  var WriteInReact = () => {
49802
50199
  return /* @__PURE__ */ jsxs67("div", {
49803
50200
  children: [
49804
- /* @__PURE__ */ jsx167("h1", {
50201
+ /* @__PURE__ */ jsx168("h1", {
49805
50202
  className: "text-4xl sm:text-5xl lg:text-[5em] text-center fontbrand font-black leading-none text-balance",
49806
50203
  style: {
49807
50204
  textShadow: "0 5px 30px var(--background)"
@@ -49815,84 +50212,84 @@ var WriteInReact = () => {
49815
50212
  className: "font-medium text-center text-lg",
49816
50213
  children: [
49817
50214
  "Create real MP4 videos with React. ",
49818
- /* @__PURE__ */ jsx167("br", {}),
50215
+ /* @__PURE__ */ jsx168("br", {}),
49819
50216
  "Use coding agents, build apps and render in bulk."
49820
50217
  ]
49821
50218
  }),
49822
- /* @__PURE__ */ jsx167("br", {}),
49823
- /* @__PURE__ */ jsx167("div", {
49824
- children: /* @__PURE__ */ jsx167(GetStarted, {})
50219
+ /* @__PURE__ */ jsx168("br", {}),
50220
+ /* @__PURE__ */ jsx168("div", {
50221
+ children: /* @__PURE__ */ jsx168(GetStarted, {})
49825
50222
  }),
49826
- /* @__PURE__ */ jsx167("br", {}),
49827
- /* @__PURE__ */ jsx167("br", {}),
49828
- /* @__PURE__ */ jsx167(ChooseTemplate, {})
50223
+ /* @__PURE__ */ jsx168("br", {}),
50224
+ /* @__PURE__ */ jsx168("br", {}),
50225
+ /* @__PURE__ */ jsx168(ChooseTemplate, {})
49829
50226
  ]
49830
50227
  });
49831
50228
  };
49832
50229
 
49833
50230
  // src/components/Homepage.tsx
49834
- import { jsx as jsx168, jsxs as jsxs68 } from "react/jsx-runtime";
50231
+ import { jsx as jsx169, jsxs as jsxs68 } from "react/jsx-runtime";
49835
50232
  "use client";
49836
50233
  var NewLanding = ({ colorMode, setColorMode }) => {
49837
- return /* @__PURE__ */ jsx168(ColorModeProvider, {
50234
+ return /* @__PURE__ */ jsx169(ColorModeProvider, {
49838
50235
  colorMode,
49839
50236
  setColorMode,
49840
- children: /* @__PURE__ */ jsx168("div", {
50237
+ children: /* @__PURE__ */ jsx169("div", {
49841
50238
  className: "w-full relative",
49842
50239
  children: /* @__PURE__ */ jsxs68("div", {
49843
50240
  style: { overflow: "hidden" },
49844
50241
  children: [
49845
- /* @__PURE__ */ jsx168("div", {
49846
- children: /* @__PURE__ */ jsx168(BackgroundAnimation, {})
50242
+ /* @__PURE__ */ jsx169("div", {
50243
+ children: /* @__PURE__ */ jsx169(BackgroundAnimation, {})
49847
50244
  }),
49848
- /* @__PURE__ */ jsx168("br", {}),
49849
- /* @__PURE__ */ jsx168("br", {}),
49850
- /* @__PURE__ */ jsx168("br", {}),
49851
- /* @__PURE__ */ jsx168("br", {}),
50245
+ /* @__PURE__ */ jsx169("br", {}),
50246
+ /* @__PURE__ */ jsx169("br", {}),
50247
+ /* @__PURE__ */ jsx169("br", {}),
50248
+ /* @__PURE__ */ jsx169("br", {}),
49852
50249
  /* @__PURE__ */ jsxs68("div", {
49853
50250
  className: "max-w-[500px] lg:max-w-[1000px] m-auto pl-5 pr-5 overflow-x-clip md:overflow-x-visible relative",
49854
50251
  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", {
50252
+ /* @__PURE__ */ jsx169(WriteInReact, {}),
50253
+ /* @__PURE__ */ jsx169("br", {}),
50254
+ /* @__PURE__ */ jsx169(IfYouKnowReact, {}),
50255
+ /* @__PURE__ */ jsx169(ParameterizeAndEdit, {}),
50256
+ /* @__PURE__ */ jsx169(RealMP4Videos, {}),
50257
+ /* @__PURE__ */ jsx169("br", {}),
50258
+ /* @__PURE__ */ jsx169("br", {}),
50259
+ /* @__PURE__ */ jsx169("br", {}),
50260
+ /* @__PURE__ */ jsx169("div", {
49864
50261
  className: "pt-6 md:pt-8",
49865
- children: /* @__PURE__ */ jsx168(AutomationsSection_default, {})
50262
+ children: /* @__PURE__ */ jsx169(AutomationsSection_default, {})
49866
50263
  }),
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, {
50264
+ /* @__PURE__ */ jsx169("br", {}),
50265
+ /* @__PURE__ */ jsx169("br", {}),
50266
+ /* @__PURE__ */ jsx169(Demo, {}),
50267
+ /* @__PURE__ */ jsx169("br", {}),
50268
+ /* @__PURE__ */ jsx169("br", {}),
50269
+ /* @__PURE__ */ jsx169("br", {}),
50270
+ /* @__PURE__ */ jsx169(BuiltWithRemotionShowcase, {}),
50271
+ /* @__PURE__ */ jsx169("br", {}),
50272
+ /* @__PURE__ */ jsx169("br", {}),
50273
+ /* @__PURE__ */ jsx169("br", {}),
50274
+ /* @__PURE__ */ jsx169(SectionTitle, {
49878
50275
  children: "Pricing"
49879
50276
  }),
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", {})
50277
+ /* @__PURE__ */ jsx169(Pricing, {}),
50278
+ /* @__PURE__ */ jsx169(TrustedByBanner_default, {}),
50279
+ /* @__PURE__ */ jsx169("br", {}),
50280
+ /* @__PURE__ */ jsx169(EvaluateRemotion_default, {}),
50281
+ /* @__PURE__ */ jsx169("br", {}),
50282
+ /* @__PURE__ */ jsx169("br", {}),
50283
+ /* @__PURE__ */ jsx169("br", {}),
50284
+ /* @__PURE__ */ jsx169(CommunityStats_default, {}),
50285
+ /* @__PURE__ */ jsx169("br", {}),
50286
+ /* @__PURE__ */ jsx169("br", {}),
50287
+ /* @__PURE__ */ jsx169("br", {}),
50288
+ /* @__PURE__ */ jsx169("br", {}),
50289
+ /* @__PURE__ */ jsx169(NewsletterButton, {}),
50290
+ /* @__PURE__ */ jsx169("br", {}),
50291
+ /* @__PURE__ */ jsx169("br", {}),
50292
+ /* @__PURE__ */ jsx169("br", {})
49896
50293
  ]
49897
50294
  })
49898
50295
  ]