@remotion/promo-pages 4.0.477 → 4.0.479

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
@@ -2335,7 +2335,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
2335
2335
  var addSequenceStackTraces = (component) => {
2336
2336
  componentsToAddStacksTo.push(component);
2337
2337
  };
2338
- var VERSION = "4.0.477";
2338
+ var VERSION = "4.0.479";
2339
2339
  var checkMultipleRemotionVersions = () => {
2340
2340
  if (typeof globalThis === "undefined") {
2341
2341
  return;
@@ -2698,10 +2698,7 @@ var Freeze = ({
2698
2698
  })
2699
2699
  });
2700
2700
  };
2701
- var PremountContext = createContext14({
2702
- premountFramesRemaining: 0
2703
- });
2704
- var sequenceVisualStyleSchema = {
2701
+ var transformSchema = {
2705
2702
  "style.transformOrigin": {
2706
2703
  type: "transform-origin",
2707
2704
  step: 1,
@@ -2737,7 +2734,8 @@ var sequenceVisualStyleSchema = {
2737
2734
  hiddenFromList: false
2738
2735
  }
2739
2736
  };
2740
- var sequencePremountSchema = {
2737
+ var sequenceVisualStyleSchema = transformSchema;
2738
+ var premountSchema = {
2741
2739
  premountFor: {
2742
2740
  type: "number",
2743
2741
  default: 0,
@@ -2760,9 +2758,10 @@ var sequencePremountSchema = {
2760
2758
  type: "hidden"
2761
2759
  }
2762
2760
  };
2761
+ var sequencePremountSchema = premountSchema;
2763
2762
  var sequenceStyleSchema = {
2764
- ...sequenceVisualStyleSchema,
2765
- ...sequencePremountSchema
2763
+ ...transformSchema,
2764
+ ...premountSchema
2766
2765
  };
2767
2766
  var hiddenField = {
2768
2767
  type: "boolean",
@@ -2800,12 +2799,16 @@ var freezeField = {
2800
2799
  step: 1,
2801
2800
  hiddenFromList: true
2802
2801
  };
2803
- var sequenceSchema = extendSchemaWithSequenceName({
2804
- hidden: hiddenField,
2805
- showInTimeline: showInTimelineField,
2802
+ var baseSchema = {
2803
+ durationInFrames: durationInFramesField,
2806
2804
  from: fromField,
2807
2805
  freeze: freezeField,
2808
- durationInFrames: durationInFramesField,
2806
+ hidden: hiddenField,
2807
+ name: sequenceNameField,
2808
+ showInTimeline: showInTimelineField
2809
+ };
2810
+ var sequenceSchema = {
2811
+ ...baseSchema,
2809
2812
  layout: {
2810
2813
  type: "enum",
2811
2814
  default: "absolute-fill",
@@ -2815,14 +2818,18 @@ var sequenceSchema = extendSchemaWithSequenceName({
2815
2818
  none: {}
2816
2819
  }
2817
2820
  }
2818
- });
2819
- var sequenceSchemaWithoutFrom = extendSchemaWithSequenceName({
2820
- hidden: hiddenField,
2821
- showInTimeline: showInTimelineField,
2822
- freeze: freezeField,
2821
+ };
2822
+ var baseSchemaWithoutFrom = {
2823
2823
  durationInFrames: durationInFramesField,
2824
+ freeze: freezeField,
2825
+ hidden: hiddenField,
2826
+ name: sequenceNameField,
2827
+ showInTimeline: showInTimelineField
2828
+ };
2829
+ var sequenceSchemaWithoutFrom = {
2830
+ ...baseSchemaWithoutFrom,
2824
2831
  layout: sequenceSchema.layout
2825
- });
2832
+ };
2826
2833
  var sequenceSchemaDefaultLayoutNone = {
2827
2834
  ...sequenceSchema,
2828
2835
  layout: {
@@ -2830,6 +2837,9 @@ var sequenceSchemaDefaultLayoutNone = {
2830
2837
  default: "none"
2831
2838
  }
2832
2839
  };
2840
+ var PremountContext = createContext14({
2841
+ premountFramesRemaining: 0
2842
+ });
2833
2843
  var SequenceManager = React11.createContext({
2834
2844
  registerSequence: () => {
2835
2845
  throw new Error("SequenceManagerContext not initialized");
@@ -4514,10 +4524,21 @@ var interpolateColors = (input, inputRange, outputRange, options) => {
4514
4524
  return interpolateColorsRGB(input, inputRange, processedOutputRange, options);
4515
4525
  };
4516
4526
  var easingToFn = (e) => {
4517
- if (e === "linear") {
4518
- return Easing.linear;
4527
+ switch (e.type) {
4528
+ case "linear":
4529
+ return Easing.linear;
4530
+ case "spring":
4531
+ return Easing.spring({
4532
+ damping: e.damping,
4533
+ mass: e.mass,
4534
+ overshootClamping: e.overshootClamping,
4535
+ stiffness: e.stiffness
4536
+ });
4537
+ case "bezier":
4538
+ return bezier(e.x1, e.y1, e.x2, e.y2);
4539
+ default:
4540
+ throw new TypeError(`Unsupported easing: ${JSON.stringify(e)}`);
4519
4541
  }
4520
- return bezier(e[0], e[1], e[2], e[3]);
4521
4542
  };
4522
4543
  var interpolateKeyframedStatus = ({
4523
4544
  frame,
@@ -4839,6 +4860,9 @@ var findPropsToDelete = ({
4839
4860
  }
4840
4861
  return [...otherKeys];
4841
4862
  };
4863
+ var DEFAULT_LINEAR_EASING = {
4864
+ type: "linear"
4865
+ };
4842
4866
  var makeStaticDragOverride = (value) => {
4843
4867
  return { type: "static", value };
4844
4868
  };
@@ -4851,7 +4875,7 @@ var makeKeyframedDragOverride = ({
4851
4875
  const keyframes = existingIndex === -1 ? [...status.keyframes, { frame, value }].sort((first, second) => first.frame - second.frame) : status.keyframes.map((keyframe, index) => index === existingIndex ? { frame, value } : keyframe);
4852
4876
  const easing = [...status.easing];
4853
4877
  while (easing.length < keyframes.length - 1) {
4854
- easing.push("linear");
4878
+ easing.push(DEFAULT_LINEAR_EASING);
4855
4879
  }
4856
4880
  if (easing.length > keyframes.length - 1) {
4857
4881
  easing.length = keyframes.length - 1;
@@ -5009,7 +5033,7 @@ var mergeValues = ({
5009
5033
  return merged;
5010
5034
  };
5011
5035
  var stackToOverrideMap = {};
5012
- var wrapInSchema = ({
5036
+ var withInteractivitySchema = ({
5013
5037
  Component,
5014
5038
  componentIdentity,
5015
5039
  schema,
@@ -5023,7 +5047,7 @@ var wrapInSchema = ({
5023
5047
  if (!env.isStudio || env.isReadOnlyStudio || env.isRendering) {
5024
5048
  return React13.createElement(Component, {
5025
5049
  ...props,
5026
- _experimentalControls: null,
5050
+ controls: null,
5027
5051
  ref
5028
5052
  });
5029
5053
  }
@@ -5031,7 +5055,7 @@ var wrapInSchema = ({
5031
5055
  const { getDragOverrides } = useContext16(VisualModeDragOverridesContext);
5032
5056
  const nodePathMapping = useContext16(OverrideIdsToNodePathsGettersContext);
5033
5057
  const frame = useCurrentFrame();
5034
- if (props._experimentalControls) {
5058
+ if (props.controls) {
5035
5059
  return React13.createElement(Component, {
5036
5060
  ...props,
5037
5061
  ref
@@ -5086,11 +5110,11 @@ var wrapInSchema = ({
5086
5110
  });
5087
5111
  return React13.createElement(Component, {
5088
5112
  ...mergedProps,
5089
- _experimentalControls: controls,
5113
+ controls,
5090
5114
  ref
5091
5115
  });
5092
5116
  });
5093
- Wrapped.displayName = `wrapInSchema(${Component.displayName || Component.name || "Component"})`;
5117
+ Wrapped.displayName = `withInteractivitySchema(${Component.displayName || Component.name || "Component"})`;
5094
5118
  return Wrapped;
5095
5119
  };
5096
5120
  var EMPTY_EFFECTS = [];
@@ -5104,7 +5128,7 @@ var RegularSequenceRefForwardingFunction = ({
5104
5128
  width,
5105
5129
  showInTimeline = true,
5106
5130
  hidden = false,
5107
- _experimentalControls: controls,
5131
+ controls,
5108
5132
  _remotionInternalEffects,
5109
5133
  _remotionInternalLoopDisplay: loopDisplay,
5110
5134
  _remotionInternalStack: stack,
@@ -5112,7 +5136,7 @@ var RegularSequenceRefForwardingFunction = ({
5112
5136
  _remotionInternalPremountDisplay: premountDisplay,
5113
5137
  _remotionInternalPostmountDisplay: postmountDisplay,
5114
5138
  _remotionInternalIsMedia: isMedia,
5115
- _remotionInternalRefForOutline: passedRefForOutline,
5139
+ outlineRef: passedRefForOutline,
5116
5140
  ...other
5117
5141
  }, ref) => {
5118
5142
  const { layout = "absolute-fill" } = other;
@@ -5209,6 +5233,11 @@ var RegularSequenceRefForwardingFunction = ({
5209
5233
  const inheritedStack = other?.stack ?? null;
5210
5234
  const stackRef = useRef6(null);
5211
5235
  stackRef.current = stack ?? inheritedStack;
5236
+ const registeredFrozenFrame = typeof freeze === "number" ? freeze : null;
5237
+ const parentCumulatedNegativeFrom = parentSequence?.cumulatedNegativeFrom ?? 0;
5238
+ const startMediaFrom = isMedia && isMedia.type !== "image" ? isMedia.data.startMediaFrom + parentCumulatedNegativeFrom - cumulatedNegativeFrom : null;
5239
+ const mediaFrameAtSequenceZero = isMedia && isMedia.type !== "image" ? isMedia.data.startMediaFrom + parentCumulatedNegativeFrom : null;
5240
+ const frozenMediaFrame = isMedia && isMedia.type !== "image" && mediaFrameAtSequenceZero !== null ? registeredFrozenFrame === null ? null : mediaFrameAtSequenceZero + (loopDisplay ? registeredFrozenFrame % loopDisplay.durationInFrames : registeredFrozenFrame) * isMedia.data.playbackRate : null;
5212
5241
  useEffect3(() => {
5213
5242
  if (!env.isStudio) {
5214
5243
  return;
@@ -5234,7 +5263,8 @@ var RegularSequenceRefForwardingFunction = ({
5234
5263
  src: isMedia.src,
5235
5264
  getStack: () => stackRef.current,
5236
5265
  refForOutline: refForOutline ?? null,
5237
- isInsideSeries
5266
+ isInsideSeries,
5267
+ frozenFrame: registeredFrozenFrame
5238
5268
  });
5239
5269
  } else {
5240
5270
  registerSequence({
@@ -5257,10 +5287,12 @@ var RegularSequenceRefForwardingFunction = ({
5257
5287
  showInTimeline,
5258
5288
  src: isMedia.data.src,
5259
5289
  getStack: () => stackRef.current,
5260
- startMediaFrom: isMedia.data.startMediaFrom,
5290
+ startMediaFrom: startMediaFrom ?? isMedia.data.startMediaFrom,
5261
5291
  volume: isMedia.data.volumes,
5262
5292
  refForOutline: refForOutline ?? null,
5263
- isInsideSeries
5293
+ isInsideSeries,
5294
+ frozenFrame: registeredFrozenFrame,
5295
+ frozenMediaFrame
5264
5296
  });
5265
5297
  }
5266
5298
  return () => {
@@ -5285,7 +5317,8 @@ var RegularSequenceRefForwardingFunction = ({
5285
5317
  controls: controls ?? null,
5286
5318
  effects: _remotionInternalEffects ?? EMPTY_EFFECTS,
5287
5319
  refForOutline: refForOutline ?? null,
5288
- isInsideSeries
5320
+ isInsideSeries,
5321
+ frozenFrame: registeredFrozenFrame
5289
5322
  });
5290
5323
  return () => {
5291
5324
  unregisterSequence(id);
@@ -5312,7 +5345,10 @@ var RegularSequenceRefForwardingFunction = ({
5312
5345
  isMedia,
5313
5346
  resolvedDocumentationLink,
5314
5347
  refForOutline,
5315
- isInsideSeries
5348
+ isInsideSeries,
5349
+ registeredFrozenFrame,
5350
+ startMediaFrom,
5351
+ frozenMediaFrame
5316
5352
  ]);
5317
5353
  const endThreshold = Math.ceil(cumulatedFrom + from + durationInFrames - 1);
5318
5354
  const content = absoluteFrame < cumulatedFrom + from ? null : absoluteFrame > endThreshold ? null : children;
@@ -5427,13 +5463,13 @@ var SequenceRefForwardingFunction = (props, ref) => {
5427
5463
  };
5428
5464
  var SequenceInner = forwardRef3(SequenceRefForwardingFunction);
5429
5465
  var SequenceWithoutSchema = SequenceInner;
5430
- var Sequence = wrapInSchema({
5466
+ var Sequence = withInteractivitySchema({
5431
5467
  Component: SequenceInner,
5432
5468
  componentIdentity: "dev.remotion.remotion.Sequence",
5433
5469
  schema: sequenceSchema,
5434
5470
  supportsEffects: false
5435
5471
  });
5436
- var SequenceWithoutFrom = wrapInSchema({
5472
+ var SequenceWithoutFrom = withInteractivitySchema({
5437
5473
  Component: SequenceInner,
5438
5474
  componentIdentity: null,
5439
5475
  schema: sequenceSchemaWithoutFrom,
@@ -5972,9 +6008,7 @@ var resolveAnimatedImageSource = (src) => {
5972
6008
  return new URL(src, window.origin).href;
5973
6009
  };
5974
6010
  var animatedImageSchema = {
5975
- durationInFrames: durationInFramesField,
5976
- from: fromField,
5977
- freeze: freezeField,
6011
+ ...baseSchema,
5978
6012
  playbackRate: {
5979
6013
  type: "number",
5980
6014
  min: 0,
@@ -5985,8 +6019,7 @@ var animatedImageSchema = {
5985
6019
  hiddenFromList: false,
5986
6020
  keyframable: false
5987
6021
  },
5988
- ...sequenceVisualStyleSchema,
5989
- hidden: hiddenField
6022
+ ...transformSchema
5990
6023
  };
5991
6024
  var AnimatedImageContent = forwardRef4(({
5992
6025
  src,
@@ -6131,7 +6164,7 @@ var AnimatedImageInner = ({
6131
6164
  durationInFrames,
6132
6165
  requestInit,
6133
6166
  effects = [],
6134
- _experimentalControls: controls,
6167
+ controls,
6135
6168
  ref,
6136
6169
  ...sequenceProps
6137
6170
  }) => {
@@ -6160,10 +6193,10 @@ var AnimatedImageInner = ({
6160
6193
  durationInFrames: resolvedDuration,
6161
6194
  name: "<AnimatedImage>",
6162
6195
  _remotionInternalDocumentationLink: "https://www.remotion.dev/docs/animatedimage",
6163
- _experimentalControls: controls,
6196
+ controls,
6164
6197
  _remotionInternalEffects: memoizedEffectDefinitions,
6165
6198
  ...sequenceProps,
6166
- _remotionInternalRefForOutline: actualRef,
6199
+ outlineRef: actualRef,
6167
6200
  children: /* @__PURE__ */ jsx14(AnimatedImageContent, {
6168
6201
  ...animatedImageProps,
6169
6202
  ref: actualRef,
@@ -6172,7 +6205,7 @@ var AnimatedImageInner = ({
6172
6205
  })
6173
6206
  });
6174
6207
  };
6175
- var AnimatedImage = wrapInSchema({
6208
+ var AnimatedImage = withInteractivitySchema({
6176
6209
  Component: AnimatedImageInner,
6177
6210
  componentIdentity: "dev.remotion.remotion.AnimatedImage",
6178
6211
  schema: animatedImageSchema,
@@ -6180,6 +6213,36 @@ var AnimatedImage = wrapInSchema({
6180
6213
  });
6181
6214
  AnimatedImage.displayName = "AnimatedImage";
6182
6215
  addSequenceStackTraces(AnimatedImage);
6216
+ var disabledEffectField = {
6217
+ type: "boolean",
6218
+ default: false,
6219
+ description: "Disabled"
6220
+ };
6221
+ var createEffect = (definition) => {
6222
+ const { calculateKey: userCalculateKey, validateParams } = definition;
6223
+ const widened = {
6224
+ ...definition,
6225
+ documentationLink: definition.documentationLink ?? null,
6226
+ calculateKey: (params) => {
6227
+ const disabled = params.disabled ?? false;
6228
+ return `${userCalculateKey(params)}-disabled-${disabled}`;
6229
+ },
6230
+ schema: {
6231
+ disabled: disabledEffectField,
6232
+ ...definition.schema
6233
+ }
6234
+ };
6235
+ const factory = (params = {}) => {
6236
+ validateParams(params);
6237
+ return {
6238
+ definition: widened,
6239
+ params,
6240
+ effectKey: widened.calculateKey(params),
6241
+ memoized: false
6242
+ };
6243
+ };
6244
+ return factory;
6245
+ };
6183
6246
  var validateArtifactFilename = (filename) => {
6184
6247
  if (typeof filename !== "string") {
6185
6248
  throw new TypeError(`The "filename" must be a string, but you passed a value of type ${typeof filename}`);
@@ -7807,7 +7870,9 @@ var useMediaInTimeline = ({
7807
7870
  controls: null,
7808
7871
  effects: [],
7809
7872
  refForOutline,
7810
- isInsideSeries: false
7873
+ isInsideSeries: false,
7874
+ frozenFrame: null,
7875
+ frozenMediaFrame: null
7811
7876
  });
7812
7877
  return () => {
7813
7878
  unregisterSequence(id);
@@ -9123,9 +9188,7 @@ var resolveSolidPixelDensity = (pixelDensity) => {
9123
9188
  return pixelDensity;
9124
9189
  };
9125
9190
  var solidSchema = {
9126
- durationInFrames: durationInFramesField,
9127
- from: fromField,
9128
- freeze: freezeField,
9191
+ ...baseSchema,
9129
9192
  color: {
9130
9193
  type: "color",
9131
9194
  default: "transparent",
@@ -9147,8 +9210,7 @@ var solidSchema = {
9147
9210
  description: "Height",
9148
9211
  hiddenFromList: false
9149
9212
  },
9150
- ...sequenceVisualStyleSchema,
9151
- hidden: hiddenField
9213
+ ...transformSchema
9152
9214
  };
9153
9215
  var SolidInner = ({
9154
9216
  color,
@@ -9255,7 +9317,7 @@ var SolidInner = ({
9255
9317
  };
9256
9318
  var SolidOuter = forwardRef8(({
9257
9319
  effects = [],
9258
- _experimentalControls: controls,
9320
+ controls,
9259
9321
  color,
9260
9322
  height,
9261
9323
  width,
@@ -9281,11 +9343,11 @@ var SolidOuter = forwardRef8(({
9281
9343
  freeze,
9282
9344
  hidden,
9283
9345
  showInTimeline,
9284
- _experimentalControls: controls,
9346
+ controls,
9285
9347
  _remotionInternalEffects: memoizedEffectDefinitions,
9286
9348
  durationInFrames,
9287
9349
  name: name ?? "<Solid>",
9288
- _remotionInternalRefForOutline: actualRef,
9350
+ outlineRef: actualRef,
9289
9351
  _remotionInternalDocumentationLink: "https://www.remotion.dev/docs/solid",
9290
9352
  ...props2,
9291
9353
  children: /* @__PURE__ */ jsx24(SolidInner, {
@@ -9301,7 +9363,7 @@ var SolidOuter = forwardRef8(({
9301
9363
  })
9302
9364
  });
9303
9365
  });
9304
- var Solid = wrapInSchema({
9366
+ var Solid = withInteractivitySchema({
9305
9367
  Component: SolidOuter,
9306
9368
  componentIdentity: "dev.remotion.remotion.Solid",
9307
9369
  schema: solidSchema,
@@ -9578,7 +9640,7 @@ var HtmlInCanvasInner = forwardRef9(({
9578
9640
  onPaint,
9579
9641
  onInit,
9580
9642
  pixelDensity,
9581
- _experimentalControls: controls,
9643
+ controls,
9582
9644
  style,
9583
9645
  durationInFrames,
9584
9646
  name,
@@ -9600,9 +9662,9 @@ var HtmlInCanvasInner = forwardRef9(({
9600
9662
  durationInFrames: resolvedDuration,
9601
9663
  name: name ?? "<HtmlInCanvas>",
9602
9664
  _remotionInternalDocumentationLink: "https://www.remotion.dev/docs/remotion/html-in-canvas",
9603
- _experimentalControls: controls,
9665
+ controls,
9604
9666
  _remotionInternalEffects: memoizedEffectDefinitions,
9605
- _remotionInternalRefForOutline: actualRef,
9667
+ outlineRef: actualRef,
9606
9668
  layout: "none",
9607
9669
  ...sequenceProps,
9608
9670
  children: /* @__PURE__ */ jsx25(HtmlInCanvasContent, {
@@ -9621,13 +9683,10 @@ var HtmlInCanvasInner = forwardRef9(({
9621
9683
  });
9622
9684
  HtmlInCanvasInner.displayName = "HtmlInCanvas";
9623
9685
  var htmlInCanvasSchema = {
9624
- durationInFrames: durationInFramesField,
9625
- from: fromField,
9626
- freeze: freezeField,
9627
- ...sequenceVisualStyleSchema,
9628
- hidden: hiddenField
9686
+ ...baseSchema,
9687
+ ...transformSchema
9629
9688
  };
9630
- var HtmlInCanvasWrapped = wrapInSchema({
9689
+ var HtmlInCanvasWrapped = withInteractivitySchema({
9631
9690
  Component: HtmlInCanvasInner,
9632
9691
  componentIdentity: "dev.remotion.remotion.HtmlInCanvas",
9633
9692
  schema: htmlInCanvasSchema,
@@ -9645,9 +9704,7 @@ function truncateSrcForLabel(src) {
9645
9704
  return src;
9646
9705
  }
9647
9706
  var canvasImageSchema = {
9648
- durationInFrames: durationInFramesField,
9649
- from: fromField,
9650
- freeze: freezeField,
9707
+ ...baseSchema,
9651
9708
  fit: {
9652
9709
  type: "enum",
9653
9710
  default: "fill",
@@ -9658,8 +9715,7 @@ var canvasImageSchema = {
9658
9715
  cover: {}
9659
9716
  }
9660
9717
  },
9661
- ...sequenceVisualStyleSchema,
9662
- hidden: hiddenField
9718
+ ...transformSchema
9663
9719
  };
9664
9720
  var makeAbortError = () => {
9665
9721
  if (typeof DOMException !== "undefined") {
@@ -9740,6 +9796,7 @@ var CanvasImageContent = forwardRef10(({
9740
9796
  const { delayRender: delayRender2, continueRender: continueRender2, cancelRender: cancelRender2 } = useDelayRender();
9741
9797
  const { delayPlayback } = useBufferState();
9742
9798
  const [outputCanvas, setOutputCanvas] = useState16(null);
9799
+ const [loadedImage, setLoadedImage] = useState16(null);
9743
9800
  const actualSrc = usePreload(src);
9744
9801
  const chainState = useEffectChainState();
9745
9802
  const memoizedEffects = useMemoizedEffects({
@@ -9765,9 +9822,6 @@ var CanvasImageContent = forwardRef10(({
9765
9822
  }
9766
9823
  }, [ref, refForOutline]);
9767
9824
  useEffect17(() => {
9768
- if (!outputCanvas || !sourceCanvas) {
9769
- return;
9770
- }
9771
9825
  const isPremounting = Boolean(sequenceContext?.premounting);
9772
9826
  const isPostmounting = Boolean(sequenceContext?.postmounting);
9773
9827
  const handle = delayRender2(`Rendering <CanvasImage> with src="${truncateSrcForLabel(actualSrc)}"`, {
@@ -9782,6 +9836,7 @@ var CanvasImageContent = forwardRef10(({
9782
9836
  let continued = false;
9783
9837
  let errorCount = 0;
9784
9838
  let timeoutId = null;
9839
+ setLoadedImage(null);
9785
9840
  const continueRenderOnce = () => {
9786
9841
  if (continued) {
9787
9842
  return;
@@ -9795,30 +9850,9 @@ var CanvasImageContent = forwardRef10(({
9795
9850
  if (cancelled) {
9796
9851
  return;
9797
9852
  }
9798
- const canvasWidth = width ?? image.width;
9799
- const canvasHeight = height ?? image.height;
9800
- const sourceContext = sourceCanvas.getContext("2d", {
9801
- colorSpace: "srgb"
9802
- });
9803
- if (!sourceContext) {
9804
- throw new Error("Could not get 2D context for <CanvasImage> source canvas");
9805
- }
9806
- sourceCanvas.width = canvasWidth;
9807
- sourceCanvas.height = canvasHeight;
9808
- outputCanvas.width = canvasWidth;
9809
- outputCanvas.height = canvasHeight;
9810
- sourceContext.clearRect(0, 0, canvasWidth, canvasHeight);
9811
- sourceContext.drawImage(image.element, ...calculateImageFit(fit, { width: image.width, height: image.height }, { width: canvasWidth, height: canvasHeight }));
9812
- return runEffectChain({
9813
- state: chainState.get(canvasWidth, canvasHeight),
9814
- source: sourceCanvas,
9815
- effects: memoizedEffects,
9816
- output: outputCanvas,
9817
- width: canvasWidth,
9818
- height: canvasHeight
9819
- });
9820
- }).then((completed) => {
9821
- if (completed && !cancelled) {
9853
+ setLoadedImage(image);
9854
+ }).then(() => {
9855
+ if (!cancelled) {
9822
9856
  continueRenderOnce();
9823
9857
  }
9824
9858
  }).catch((err) => {
@@ -9855,21 +9889,87 @@ var CanvasImageContent = forwardRef10(({
9855
9889
  }, [
9856
9890
  actualSrc,
9857
9891
  cancelRender2,
9858
- chainState,
9859
9892
  continueRender2,
9860
9893
  delayPlayback,
9861
9894
  delayRender2,
9862
9895
  delayRenderRetries,
9863
9896
  delayRenderTimeoutInMilliseconds,
9897
+ maxRetries,
9898
+ onError,
9899
+ pauseWhenLoading,
9900
+ sequenceContext?.postmounting,
9901
+ sequenceContext?.premounting
9902
+ ]);
9903
+ useEffect17(() => {
9904
+ if (!loadedImage || !outputCanvas || !sourceCanvas) {
9905
+ return;
9906
+ }
9907
+ const handle = delayRender2(`Applying effects to <CanvasImage> with src="${truncateSrcForLabel(actualSrc)}"`);
9908
+ let cancelled = false;
9909
+ let continued = false;
9910
+ const continueRenderOnce = () => {
9911
+ if (continued) {
9912
+ return;
9913
+ }
9914
+ continued = true;
9915
+ continueRender2(handle);
9916
+ };
9917
+ const canvasWidth = width ?? loadedImage.width;
9918
+ const canvasHeight = height ?? loadedImage.height;
9919
+ const sourceContext = sourceCanvas.getContext("2d", {
9920
+ colorSpace: "srgb"
9921
+ });
9922
+ if (!sourceContext) {
9923
+ cancelRender2(new Error("Could not get 2D context for <CanvasImage> source canvas"));
9924
+ continueRenderOnce();
9925
+ return () => {
9926
+ continueRenderOnce();
9927
+ };
9928
+ }
9929
+ sourceCanvas.width = canvasWidth;
9930
+ sourceCanvas.height = canvasHeight;
9931
+ outputCanvas.width = canvasWidth;
9932
+ outputCanvas.height = canvasHeight;
9933
+ sourceContext.clearRect(0, 0, canvasWidth, canvasHeight);
9934
+ sourceContext.drawImage(loadedImage.element, ...calculateImageFit(fit, { width: loadedImage.width, height: loadedImage.height }, { width: canvasWidth, height: canvasHeight }));
9935
+ runEffectChain({
9936
+ state: chainState.get(canvasWidth, canvasHeight),
9937
+ source: sourceCanvas,
9938
+ effects: memoizedEffects,
9939
+ output: outputCanvas,
9940
+ width: canvasWidth,
9941
+ height: canvasHeight
9942
+ }).then((completed) => {
9943
+ if (completed && !cancelled) {
9944
+ continueRenderOnce();
9945
+ }
9946
+ }).catch((err) => {
9947
+ if (cancelled) {
9948
+ return;
9949
+ }
9950
+ if (onError) {
9951
+ onError(err);
9952
+ continueRenderOnce();
9953
+ } else {
9954
+ cancelRender2(err);
9955
+ }
9956
+ });
9957
+ return () => {
9958
+ cancelled = true;
9959
+ continueRenderOnce();
9960
+ };
9961
+ }, [
9962
+ actualSrc,
9963
+ cancelRender2,
9964
+ chainState,
9965
+ continueRender2,
9966
+ delayRender2,
9864
9967
  fit,
9865
9968
  height,
9866
- maxRetries,
9969
+ loadedImage,
9867
9970
  memoizedEffects,
9868
9971
  onError,
9869
9972
  outputCanvas,
9870
- pauseWhenLoading,
9871
- sequenceContext?.postmounting,
9872
- sequenceContext?.premounting,
9873
9973
  sourceCanvas,
9874
9974
  width
9875
9975
  ]);
@@ -9905,9 +10005,9 @@ var CanvasImageInner = forwardRef10(({
9905
10005
  name,
9906
10006
  showInTimeline,
9907
10007
  stack,
9908
- _experimentalControls: controls,
10008
+ controls,
9909
10009
  _remotionInternalDocumentationLink,
9910
- _remotionInternalRefForOutline,
10010
+ outlineRef,
9911
10011
  ...canvasProps
9912
10012
  }, ref) => {
9913
10013
  if (!src) {
@@ -9927,11 +10027,11 @@ var CanvasImageInner = forwardRef10(({
9927
10027
  showInTimeline: showInTimeline ?? true,
9928
10028
  name: name ?? "<CanvasImage>",
9929
10029
  _remotionInternalDocumentationLink: _remotionInternalDocumentationLink ?? "https://www.remotion.dev/docs/canvasimage",
9930
- _experimentalControls: controls,
10030
+ controls,
9931
10031
  _remotionInternalEffects: memoizedEffectDefinitions,
9932
10032
  _remotionInternalIsMedia: { type: "image", src },
9933
10033
  _remotionInternalStack: stack,
9934
- _remotionInternalRefForOutline: _remotionInternalRefForOutline ?? actualRef,
10034
+ outlineRef: outlineRef ?? actualRef,
9935
10035
  children: /* @__PURE__ */ jsx26(CanvasImageContent, {
9936
10036
  ref: actualRef,
9937
10037
  src,
@@ -9948,12 +10048,12 @@ var CanvasImageInner = forwardRef10(({
9948
10048
  maxRetries,
9949
10049
  delayRenderRetries,
9950
10050
  delayRenderTimeoutInMilliseconds,
9951
- refForOutline: _remotionInternalRefForOutline ?? null,
10051
+ refForOutline: outlineRef ?? null,
9952
10052
  ...canvasProps
9953
10053
  })
9954
10054
  });
9955
10055
  });
9956
- var CanvasImage = wrapInSchema({
10056
+ var CanvasImage = withInteractivitySchema({
9957
10057
  Component: CanvasImageInner,
9958
10058
  componentIdentity: "dev.remotion.remotion.CanvasImage",
9959
10059
  schema: canvasImageSchema,
@@ -10158,8 +10258,8 @@ var NativeImgInner = ({
10158
10258
  from,
10159
10259
  durationInFrames,
10160
10260
  freeze,
10161
- _experimentalControls: controls,
10162
- _remotionInternalRefForOutline: refForOutline,
10261
+ controls,
10262
+ outlineRef: refForOutline,
10163
10263
  ...props2
10164
10264
  }) => {
10165
10265
  if (!src) {
@@ -10174,10 +10274,10 @@ var NativeImgInner = ({
10174
10274
  _remotionInternalDocumentationLink: "https://www.remotion.dev/docs/img",
10175
10275
  _remotionInternalIsMedia: { type: "image", src },
10176
10276
  name: name ?? "<Img>",
10177
- _experimentalControls: controls,
10277
+ controls,
10178
10278
  showInTimeline: showInTimeline ?? true,
10179
10279
  hidden,
10180
- _remotionInternalRefForOutline: refForOutline,
10280
+ outlineRef: refForOutline,
10181
10281
  children: /* @__PURE__ */ jsx28(ImgContent, {
10182
10282
  src,
10183
10283
  refForOutline,
@@ -10187,11 +10287,8 @@ var NativeImgInner = ({
10187
10287
  };
10188
10288
  var CanvasImageWithPrivateProps = CanvasImage;
10189
10289
  var imgSchema = {
10190
- durationInFrames: durationInFramesField,
10191
- from: fromField,
10192
- freeze: freezeField,
10193
- ...sequenceVisualStyleSchema,
10194
- hidden: hiddenField
10290
+ ...baseSchema,
10291
+ ...transformSchema
10195
10292
  };
10196
10293
  var imgCanvasFallbackIncompatibleProps = new Set([
10197
10294
  "alt",
@@ -10246,7 +10343,7 @@ var ImgInner = ({
10246
10343
  from,
10247
10344
  durationInFrames,
10248
10345
  freeze,
10249
- _experimentalControls: controls,
10346
+ controls,
10250
10347
  width,
10251
10348
  height,
10252
10349
  className,
@@ -10271,7 +10368,7 @@ var ImgInner = ({
10271
10368
  from,
10272
10369
  durationInFrames,
10273
10370
  freeze,
10274
- _experimentalControls: controls,
10371
+ controls,
10275
10372
  width,
10276
10373
  height,
10277
10374
  className,
@@ -10281,7 +10378,7 @@ var ImgInner = ({
10281
10378
  maxRetries,
10282
10379
  delayRenderRetries,
10283
10380
  delayRenderTimeoutInMilliseconds,
10284
- _remotionInternalRefForOutline: refForOutline
10381
+ outlineRef: refForOutline
10285
10382
  });
10286
10383
  }
10287
10384
  if (!src) {
@@ -10318,12 +10415,12 @@ var ImgInner = ({
10318
10415
  showInTimeline,
10319
10416
  stack,
10320
10417
  _remotionInternalDocumentationLink: "https://www.remotion.dev/docs/img",
10321
- _experimentalControls: controls,
10322
- _remotionInternalRefForOutline: refForOutline,
10418
+ controls,
10419
+ outlineRef: refForOutline,
10323
10420
  ...canvasProps
10324
10421
  });
10325
10422
  };
10326
- var Img = wrapInSchema({
10423
+ var Img = withInteractivitySchema({
10327
10424
  Component: ImgInner,
10328
10425
  componentIdentity: "dev.remotion.remotion.Img",
10329
10426
  schema: imgSchema,
@@ -10331,11 +10428,8 @@ var Img = wrapInSchema({
10331
10428
  });
10332
10429
  addSequenceStackTraces(Img);
10333
10430
  var interactiveElementSchema = {
10334
- durationInFrames: durationInFramesField,
10335
- from: fromField,
10336
- freeze: freezeField,
10337
- ...sequenceVisualStyleSchema,
10338
- hidden: hiddenField
10431
+ ...baseSchema,
10432
+ ...transformSchema
10339
10433
  };
10340
10434
  var setRef = (ref, value) => {
10341
10435
  if (typeof ref === "function") {
@@ -10354,7 +10448,7 @@ var makeInteractiveElement = (tag, displayName) => {
10354
10448
  name,
10355
10449
  showInTimeline,
10356
10450
  stack,
10357
- _experimentalControls,
10451
+ controls,
10358
10452
  ...props2
10359
10453
  } = propsWithControls;
10360
10454
  const refForOutline = useRef25(null);
@@ -10370,10 +10464,10 @@ var makeInteractiveElement = (tag, displayName) => {
10370
10464
  hidden,
10371
10465
  name: name ?? displayName,
10372
10466
  showInTimeline: showInTimeline ?? true,
10373
- _experimentalControls,
10467
+ controls,
10374
10468
  _remotionInternalStack: stack,
10375
10469
  _remotionInternalDocumentationLink: "https://www.remotion.dev/docs/interactive",
10376
- _remotionInternalRefForOutline: refForOutline,
10470
+ outlineRef: refForOutline,
10377
10471
  children: React29.createElement(tag, {
10378
10472
  ...props2,
10379
10473
  ref: callbackRef
@@ -10381,7 +10475,7 @@ var makeInteractiveElement = (tag, displayName) => {
10381
10475
  });
10382
10476
  });
10383
10477
  Inner.displayName = displayName;
10384
- const Wrapped = wrapInSchema({
10478
+ const Wrapped = withInteractivitySchema({
10385
10479
  Component: Inner,
10386
10480
  componentIdentity: `dev.remotion.remotion.${displayName.slice(1, -1)}`,
10387
10481
  schema: interactiveElementSchema,
@@ -10392,6 +10486,11 @@ var makeInteractiveElement = (tag, displayName) => {
10392
10486
  return Wrapped;
10393
10487
  };
10394
10488
  var Interactive = {
10489
+ baseSchema,
10490
+ transformSchema,
10491
+ premountSchema,
10492
+ sequenceSchema,
10493
+ withSchema: withInteractivitySchema,
10395
10494
  A: makeInteractiveElement("a", "<Interactive.A>"),
10396
10495
  Article: makeInteractiveElement("article", "<Interactive.Article>"),
10397
10496
  Aside: makeInteractiveElement("aside", "<Interactive.Aside>"),
@@ -10573,36 +10672,6 @@ var makeDefaultPreviewCSS = (scope, backgroundColor) => {
10573
10672
  }
10574
10673
  `;
10575
10674
  };
10576
- var disabledEffectField = {
10577
- type: "boolean",
10578
- default: false,
10579
- description: "Disabled"
10580
- };
10581
- var createEffect = (definition) => {
10582
- const { calculateKey: userCalculateKey, validateParams } = definition;
10583
- const widened = {
10584
- ...definition,
10585
- documentationLink: definition.documentationLink ?? null,
10586
- calculateKey: (params) => {
10587
- const disabled = params.disabled ?? false;
10588
- return `${userCalculateKey(params)}-disabled-${disabled}`;
10589
- },
10590
- schema: {
10591
- disabled: disabledEffectField,
10592
- ...definition.schema
10593
- }
10594
- };
10595
- const factory = (params = {}) => {
10596
- validateParams(params);
10597
- return {
10598
- definition: widened,
10599
- params,
10600
- effectKey: widened.calculateKey(params),
10601
- memoized: false
10602
- };
10603
- };
10604
- return factory;
10605
- };
10606
10675
  var REMOTION_STUDIO_CONTAINER_ELEMENT = "__remotion-studio-container";
10607
10676
  var getPreviewDomElement = () => {
10608
10677
  return document.getElementById(REMOTION_STUDIO_CONTAINER_ELEMENT);
@@ -11689,12 +11758,14 @@ var Internals = {
11689
11758
  SequenceManager,
11690
11759
  SequenceManagerRefContext,
11691
11760
  SequenceStackTracesUpdateContext,
11692
- wrapInSchema,
11761
+ baseSchema,
11693
11762
  sequenceSchema,
11694
11763
  SequenceWithoutSchema,
11695
11764
  sequenceStyleSchema,
11696
11765
  sequenceVisualStyleSchema,
11697
11766
  sequencePremountSchema,
11767
+ transformSchema,
11768
+ premountSchema,
11698
11769
  flattenActiveSchema,
11699
11770
  getFlatSchemaWithAllKeys,
11700
11771
  RemotionRootContexts,
@@ -11894,7 +11965,7 @@ var SeriesInner = (props2) => {
11894
11965
  })
11895
11966
  });
11896
11967
  };
11897
- var Series = Object.assign(wrapInSchema({
11968
+ var Series = Object.assign(withInteractivitySchema({
11898
11969
  Component: SeriesInner,
11899
11970
  componentIdentity: "dev.remotion.remotion.Series",
11900
11971
  schema: sequenceSchemaDefaultLayoutNone,
@@ -17030,6 +17101,7 @@ import { jsx as jsx82 } from "react/jsx-runtime";
17030
17101
  import { jsx as jsx92 } from "react/jsx-runtime";
17031
17102
  import { jsx as jsx102 } from "react/jsx-runtime";
17032
17103
  import { jsx as jsx112 } from "react/jsx-runtime";
17104
+ import { jsx as jsx122 } from "react/jsx-runtime";
17033
17105
  var unitDir = (from, to) => {
17034
17106
  const dx = to[0] - from[0];
17035
17107
  const dy = to[1] - from[1];
@@ -17173,6 +17245,7 @@ var doesReactSupportTransformOriginProperty = (version2) => {
17173
17245
  const [major] = version2.split(".").map(Number);
17174
17246
  return major > 18;
17175
17247
  };
17248
+ var HtmlInCanvasWithPrivateProps = HtmlInCanvas;
17176
17249
  var RenderSvg = ({
17177
17250
  defaultName,
17178
17251
  documentationLink,
@@ -17192,7 +17265,7 @@ var RenderSvg = ({
17192
17265
  hidden,
17193
17266
  name,
17194
17267
  showInTimeline,
17195
- _experimentalControls: controls,
17268
+ controls,
17196
17269
  stack,
17197
17270
  ...props
17198
17271
  }) => {
@@ -17279,7 +17352,7 @@ var RenderSvg = ({
17279
17352
  }) : null
17280
17353
  ]
17281
17354
  });
17282
- const content = effects.length === 0 ? svg : /* @__PURE__ */ jsx44(HtmlInCanvas, {
17355
+ const content = effects.length === 0 ? svg : /* @__PURE__ */ jsx44(HtmlInCanvasWithPrivateProps, {
17283
17356
  ref: setCanvasRef,
17284
17357
  width: Math.ceil(width),
17285
17358
  height: Math.ceil(height),
@@ -17287,7 +17360,7 @@ var RenderSvg = ({
17287
17360
  pixelDensity,
17288
17361
  showInTimeline: false,
17289
17362
  style: actualStyle,
17290
- _experimentalControls: controls,
17363
+ controls,
17291
17364
  children: svg
17292
17365
  });
17293
17366
  const stackProps = stack === undefined ? null : { stack };
@@ -17300,11 +17373,11 @@ var RenderSvg = ({
17300
17373
  freeze,
17301
17374
  hidden,
17302
17375
  showInTimeline,
17303
- _experimentalControls: controls,
17376
+ controls,
17304
17377
  _remotionInternalEffects: memoizedEffectDefinitions,
17305
17378
  durationInFrames,
17306
17379
  name: name ?? defaultName,
17307
- _remotionInternalRefForOutline: outlineRef,
17380
+ outlineRef,
17308
17381
  _remotionInternalDocumentationLink: name === undefined ? documentationLink : undefined,
17309
17382
  ...stackProps,
17310
17383
  children: content
@@ -17362,16 +17435,13 @@ var enumField = ({
17362
17435
  };
17363
17436
  var makeShapeSchema = (shapeFields) => {
17364
17437
  return {
17365
- from: Internals.sequenceSchema.from,
17366
- freeze: Internals.sequenceSchema.freeze,
17367
- durationInFrames: Internals.sequenceSchema.durationInFrames,
17438
+ ...Internals.baseSchema,
17368
17439
  ...shapeFields,
17369
17440
  fill: colorField({
17370
17441
  defaultValue: "#0b84ff",
17371
17442
  description: "Fill"
17372
17443
  }),
17373
- ...Internals.sequenceVisualStyleSchema,
17374
- hidden: Internals.sequenceSchema.hidden
17444
+ ...Internals.transformSchema
17375
17445
  };
17376
17446
  };
17377
17447
  var arrowSchema = makeShapeSchema({
@@ -17429,7 +17499,7 @@ var ArrowInner = ({
17429
17499
  ...props
17430
17500
  });
17431
17501
  };
17432
- var Arrow = Internals.wrapInSchema({
17502
+ var Arrow = Interactive.withSchema({
17433
17503
  Component: ArrowInner,
17434
17504
  componentIdentity: "dev.remotion.shapes.Arrow",
17435
17505
  schema: arrowSchema,
@@ -17853,7 +17923,7 @@ var CalloutInner = ({
17853
17923
  ...props
17854
17924
  });
17855
17925
  };
17856
- var Callout = Internals.wrapInSchema({
17926
+ var Callout = Interactive.withSchema({
17857
17927
  Component: CalloutInner,
17858
17928
  componentIdentity: "dev.remotion.shapes.Callout",
17859
17929
  schema: calloutSchema,
@@ -17915,7 +17985,7 @@ var CircleInner = ({ radius, ...props }) => {
17915
17985
  ...props
17916
17986
  });
17917
17987
  };
17918
- var Circle = Internals.wrapInSchema({
17988
+ var Circle = Interactive.withSchema({
17919
17989
  Component: CircleInner,
17920
17990
  componentIdentity: "dev.remotion.shapes.Circle",
17921
17991
  schema: circleSchema,
@@ -17972,7 +18042,7 @@ var EllipseInner = ({ rx, ry, ...props }) => {
17972
18042
  ...props
17973
18043
  });
17974
18044
  };
17975
- var Ellipse = Internals.wrapInSchema({
18045
+ var Ellipse = Interactive.withSchema({
17976
18046
  Component: EllipseInner,
17977
18047
  componentIdentity: "dev.remotion.shapes.Ellipse",
17978
18048
  schema: ellipseSchema,
@@ -18110,7 +18180,7 @@ var HeartInner = ({
18110
18180
  ...props
18111
18181
  });
18112
18182
  };
18113
- var Heart = Internals.wrapInSchema({
18183
+ var Heart = Interactive.withSchema({
18114
18184
  Component: HeartInner,
18115
18185
  componentIdentity: "dev.remotion.shapes.Heart",
18116
18186
  schema: heartSchema,
@@ -18264,7 +18334,7 @@ var PieInner = ({
18264
18334
  ...props
18265
18335
  });
18266
18336
  };
18267
- var Pie = Internals.wrapInSchema({
18337
+ var Pie = Interactive.withSchema({
18268
18338
  Component: PieInner,
18269
18339
  componentIdentity: "dev.remotion.shapes.Pie",
18270
18340
  schema: pieSchema,
@@ -18363,7 +18433,7 @@ var PolygonInner = ({
18363
18433
  ...props
18364
18434
  });
18365
18435
  };
18366
- var Polygon = Internals.wrapInSchema({
18436
+ var Polygon = Interactive.withSchema({
18367
18437
  Component: PolygonInner,
18368
18438
  componentIdentity: "dev.remotion.shapes.Polygon",
18369
18439
  schema: polygonSchema,
@@ -18429,13 +18499,224 @@ var RectInner = ({
18429
18499
  ...props
18430
18500
  });
18431
18501
  };
18432
- var Rect = Internals.wrapInSchema({
18502
+ var Rect = Interactive.withSchema({
18433
18503
  Component: RectInner,
18434
18504
  componentIdentity: "dev.remotion.shapes.Rect",
18435
18505
  schema: rectSchema,
18436
18506
  supportsEffects: true
18437
18507
  });
18438
18508
  Internals.addSequenceStackTraces(Rect);
18509
+ var KAPPA = 0.5522847498307936;
18510
+ var CAP_HANDLE = 4 / 3;
18511
+ var curve = ({
18512
+ to,
18513
+ cp1,
18514
+ cp2
18515
+ }) => {
18516
+ return {
18517
+ type: "C",
18518
+ cp1x: cp1[0],
18519
+ cp1y: cp1[1],
18520
+ cp2x: cp2[0],
18521
+ cp2y: cp2[1],
18522
+ x: to[0],
18523
+ y: to[1]
18524
+ };
18525
+ };
18526
+ var cap = ({
18527
+ from,
18528
+ to,
18529
+ radius,
18530
+ direction
18531
+ }) => {
18532
+ if (direction === "top") {
18533
+ return curve({
18534
+ to,
18535
+ cp1: [from[0], from[1] - radius * CAP_HANDLE],
18536
+ cp2: [to[0], to[1] - radius * CAP_HANDLE]
18537
+ });
18538
+ }
18539
+ if (direction === "right") {
18540
+ return curve({
18541
+ to,
18542
+ cp1: [from[0] + radius * CAP_HANDLE, from[1]],
18543
+ cp2: [to[0] + radius * CAP_HANDLE, to[1]]
18544
+ });
18545
+ }
18546
+ if (direction === "bottom") {
18547
+ return curve({
18548
+ to,
18549
+ cp1: [from[0], from[1] + radius * CAP_HANDLE],
18550
+ cp2: [to[0], to[1] + radius * CAP_HANDLE]
18551
+ });
18552
+ }
18553
+ return curve({
18554
+ to,
18555
+ cp1: [from[0] - radius * CAP_HANDLE, from[1]],
18556
+ cp2: [to[0] - radius * CAP_HANDLE, to[1]]
18557
+ });
18558
+ };
18559
+ var edge = ({
18560
+ from,
18561
+ to,
18562
+ edgeRoundness,
18563
+ direction
18564
+ }) => {
18565
+ const dx = to[0] - from[0];
18566
+ const dy = to[1] - from[1];
18567
+ const handleX = Math.abs(dx) * KAPPA * edgeRoundness;
18568
+ const handleY = Math.abs(dy) * KAPPA * edgeRoundness;
18569
+ if (direction === "top-right") {
18570
+ return curve({
18571
+ to,
18572
+ cp1: [from[0], from[1] + handleY],
18573
+ cp2: [to[0] - handleX, to[1]]
18574
+ });
18575
+ }
18576
+ if (direction === "right-bottom") {
18577
+ return curve({
18578
+ to,
18579
+ cp1: [from[0] - handleX, from[1]],
18580
+ cp2: [to[0], to[1] - handleY]
18581
+ });
18582
+ }
18583
+ if (direction === "bottom-left") {
18584
+ return curve({
18585
+ to,
18586
+ cp1: [from[0], from[1] - handleY],
18587
+ cp2: [to[0] + handleX, to[1]]
18588
+ });
18589
+ }
18590
+ return curve({
18591
+ to,
18592
+ cp1: [from[0] + handleX, from[1]],
18593
+ cp2: [to[0], to[1] + handleY]
18594
+ });
18595
+ };
18596
+ var clampCornerRadius = ({
18597
+ cornerRadius,
18598
+ width,
18599
+ height
18600
+ }) => {
18601
+ return Math.min(Math.max(cornerRadius, 0), width / 2, height / 2);
18602
+ };
18603
+ var makeSpark = ({
18604
+ width,
18605
+ height,
18606
+ edgeRoundness = 1,
18607
+ cornerRadius = 0
18608
+ }) => {
18609
+ const centerX = width / 2;
18610
+ const centerY = height / 2;
18611
+ const radius = clampCornerRadius({ cornerRadius, width, height });
18612
+ const top = [centerX, 0];
18613
+ const right = [width, centerY];
18614
+ const bottom = [centerX, height];
18615
+ const left = [0, centerY];
18616
+ const topRight = radius === 0 ? top : [centerX + radius, radius];
18617
+ const rightTop = radius === 0 ? right : [width - radius, centerY - radius];
18618
+ const rightBottom = radius === 0 ? right : [width - radius, centerY + radius];
18619
+ const bottomRight = radius === 0 ? bottom : [centerX + radius, height - radius];
18620
+ const bottomLeft = radius === 0 ? bottom : [centerX - radius, height - radius];
18621
+ const leftBottom = radius === 0 ? left : [radius, centerY + radius];
18622
+ const leftTop = radius === 0 ? left : [radius, centerY - radius];
18623
+ const topLeft = radius === 0 ? top : [centerX - radius, radius];
18624
+ const instructions = [
18625
+ {
18626
+ type: "M",
18627
+ x: topRight[0],
18628
+ y: topRight[1]
18629
+ },
18630
+ edge({
18631
+ from: topRight,
18632
+ to: rightTop,
18633
+ edgeRoundness,
18634
+ direction: "top-right"
18635
+ })
18636
+ ];
18637
+ if (radius > 0) {
18638
+ instructions.push(cap({ from: rightTop, to: rightBottom, radius, direction: "right" }));
18639
+ }
18640
+ instructions.push(edge({
18641
+ from: rightBottom,
18642
+ to: bottomRight,
18643
+ edgeRoundness,
18644
+ direction: "right-bottom"
18645
+ }));
18646
+ if (radius > 0) {
18647
+ instructions.push(cap({ from: bottomRight, to: bottomLeft, radius, direction: "bottom" }));
18648
+ }
18649
+ instructions.push(edge({
18650
+ from: bottomLeft,
18651
+ to: leftBottom,
18652
+ edgeRoundness,
18653
+ direction: "bottom-left"
18654
+ }));
18655
+ if (radius > 0) {
18656
+ instructions.push(cap({ from: leftBottom, to: leftTop, radius, direction: "left" }));
18657
+ }
18658
+ instructions.push(edge({
18659
+ from: leftTop,
18660
+ to: topLeft,
18661
+ edgeRoundness,
18662
+ direction: "left-top"
18663
+ }));
18664
+ if (radius > 0) {
18665
+ instructions.push(cap({ from: topLeft, to: topRight, radius, direction: "top" }));
18666
+ }
18667
+ instructions.push({ type: "Z" });
18668
+ return {
18669
+ path: serializeInstructions(instructions),
18670
+ width,
18671
+ height,
18672
+ transformOrigin: `${centerX} ${centerY}`,
18673
+ instructions
18674
+ };
18675
+ };
18676
+ var sparkSchema = makeShapeSchema({
18677
+ width: numberField({
18678
+ defaultValue: 100,
18679
+ description: "Width",
18680
+ min: 0
18681
+ }),
18682
+ height: numberField({
18683
+ defaultValue: 140,
18684
+ description: "Height",
18685
+ min: 0
18686
+ }),
18687
+ edgeRoundness: numberField({
18688
+ defaultValue: 1,
18689
+ description: "Edge Roundness",
18690
+ min: 0,
18691
+ step: 0.01
18692
+ }),
18693
+ cornerRadius: numberField({
18694
+ defaultValue: 0,
18695
+ description: "Corner Radius",
18696
+ min: 0
18697
+ })
18698
+ });
18699
+ var SparkInner = ({
18700
+ width,
18701
+ height,
18702
+ edgeRoundness,
18703
+ cornerRadius,
18704
+ ...props
18705
+ }) => {
18706
+ return /* @__PURE__ */ jsx102(RenderSvg, {
18707
+ defaultName: "<Spark>",
18708
+ documentationLink: "https://www.remotion.dev/docs/shapes/spark",
18709
+ ...makeSpark({ width, height, edgeRoundness, cornerRadius }),
18710
+ ...props
18711
+ });
18712
+ };
18713
+ var Spark = Interactive.withSchema({
18714
+ Component: SparkInner,
18715
+ componentIdentity: "dev.remotion.shapes.Spark",
18716
+ schema: sparkSchema,
18717
+ supportsEffects: true
18718
+ });
18719
+ Internals.addSequenceStackTraces(Spark);
18439
18720
  var star = ({
18440
18721
  centerX,
18441
18722
  centerY,
@@ -18526,7 +18807,7 @@ var StarInner = ({
18526
18807
  edgeRoundness,
18527
18808
  ...props
18528
18809
  }) => {
18529
- return /* @__PURE__ */ jsx102(RenderSvg, {
18810
+ return /* @__PURE__ */ jsx112(RenderSvg, {
18530
18811
  defaultName: "<Star>",
18531
18812
  documentationLink: "https://www.remotion.dev/docs/shapes/star",
18532
18813
  ...makeStar({
@@ -18539,7 +18820,7 @@ var StarInner = ({
18539
18820
  ...props
18540
18821
  });
18541
18822
  };
18542
- var Star = Internals.wrapInSchema({
18823
+ var Star = Interactive.withSchema({
18543
18824
  Component: StarInner,
18544
18825
  componentIdentity: "dev.remotion.shapes.Star",
18545
18826
  schema: starSchema,
@@ -18638,14 +18919,14 @@ var TriangleInner = ({
18638
18919
  cornerRadius,
18639
18920
  ...props
18640
18921
  }) => {
18641
- return /* @__PURE__ */ jsx112(RenderSvg, {
18922
+ return /* @__PURE__ */ jsx122(RenderSvg, {
18642
18923
  defaultName: "<Triangle>",
18643
18924
  documentationLink: "https://www.remotion.dev/docs/shapes/triangle",
18644
18925
  ...makeTriangle({ length: length2, direction, edgeRoundness, cornerRadius }),
18645
18926
  ...props
18646
18927
  });
18647
18928
  };
18648
- var Triangle = Internals.wrapInSchema({
18929
+ var Triangle = Interactive.withSchema({
18649
18930
  Component: TriangleInner,
18650
18931
  componentIdentity: "dev.remotion.shapes.Triangle",
18651
18932
  schema: triangleSchema,
@@ -19111,18 +19392,18 @@ function arcToCircle2({
19111
19392
  result.push(approximate_unit_arc2(theta1, delta_theta));
19112
19393
  theta1 += delta_theta;
19113
19394
  }
19114
- return result.map((curve) => {
19115
- for (let i = 0;i < curve.length; i += 2) {
19116
- let x = curve[i + 0];
19117
- let y = curve[i + 1];
19395
+ return result.map((curve2) => {
19396
+ for (let i = 0;i < curve2.length; i += 2) {
19397
+ let x = curve2[i + 0];
19398
+ let y = curve2[i + 1];
19118
19399
  x *= rx;
19119
19400
  y *= ry;
19120
19401
  const xp = cos_phi * x - sin_phi * y;
19121
19402
  const yp = sin_phi * x + cos_phi * y;
19122
- curve[i + 0] = xp + cc[0];
19123
- curve[i + 1] = yp + cc[1];
19403
+ curve2[i + 0] = xp + cc[0];
19404
+ curve2[i + 1] = yp + cc[1];
19124
19405
  }
19125
- return curve;
19406
+ return curve2;
19126
19407
  });
19127
19408
  }
19128
19409
  var removeATSHVQInstructions2 = (segments) => {
@@ -19729,7 +20010,7 @@ import { jsx as jsx93 } from "react/jsx-runtime";
19729
20010
  import React72 from "react";
19730
20011
  import { jsx as jsx103 } from "react/jsx-runtime";
19731
20012
  import { jsx as jsx113 } from "react/jsx-runtime";
19732
- import { jsx as jsx122 } from "react/jsx-runtime";
20013
+ import { jsx as jsx123 } from "react/jsx-runtime";
19733
20014
  import * as React36 from "react";
19734
20015
  import * as ReactDOM4 from "react-dom";
19735
20016
  import React112 from "react";
@@ -20543,11 +20824,11 @@ var Link = ({
20543
20824
  });
20544
20825
  };
20545
20826
  var PlanePaperIcon = (props) => {
20546
- return /* @__PURE__ */ jsx122("svg", {
20827
+ return /* @__PURE__ */ jsx123("svg", {
20547
20828
  xmlns: "http://www.w3.org/2000/svg",
20548
20829
  ...props,
20549
20830
  viewBox: "0 0 576 512",
20550
- children: /* @__PURE__ */ jsx122("path", {
20831
+ children: /* @__PURE__ */ jsx123("path", {
20551
20832
  fill: "currentcolor",
20552
20833
  d: "M169.9 280L94.9 448.6 461.2 280 169.9 280zm291.3-48L94.9 63.4 169.9 232 461.2 232zM34.8 465.6L128 256 34.8 46.4C33 42.2 32 37.6 32 33 32 14.8 46.7 0 64.8 0 69.5 0 74.2 1 78.5 3L554.2 222c13.3 6.1 21.8 19.4 21.8 34s-8.5 27.9-21.8 34L78.5 509c-4.3 2-9 3-13.7 3-18.1 0-32.8-14.8-32.8-33 0-4.6 1-9.2 2.8-13.4z"
20553
20834
  })
@@ -28837,7 +29118,7 @@ var InstallsPerMonth = () => {
28837
29118
  },
28838
29119
  children: [
28839
29120
  /* @__PURE__ */ jsx57(StatItemContent, {
28840
- content: "3M",
29121
+ content: "3M+",
28841
29122
  width: "100px",
28842
29123
  fontSize: "2.5rem",
28843
29124
  fontWeight: "bold"
@@ -28889,7 +29170,7 @@ var PagesOfDocs = () => {
28889
29170
  width: "40px"
28890
29171
  }),
28891
29172
  /* @__PURE__ */ jsx57(StatItemContent, {
28892
- content: "800",
29173
+ content: "900",
28893
29174
  width: "85px",
28894
29175
  maxWidth: "100px",
28895
29176
  fontSize: "2.5rem",
@@ -28945,7 +29226,7 @@ var GitHubStars = () => {
28945
29226
  width: "45px"
28946
29227
  }),
28947
29228
  /* @__PURE__ */ jsx57(StatItemContent, {
28948
- content: "49k",
29229
+ content: "50K",
28949
29230
  width: "80px",
28950
29231
  fontSize: "2.5rem",
28951
29232
  fontWeight: "bold"
@@ -28981,7 +29262,7 @@ var DiscordMembers = () => {
28981
29262
  },
28982
29263
  children: [
28983
29264
  /* @__PURE__ */ jsx57(StatItemContent, {
28984
- content: "8000+",
29265
+ content: "10K+",
28985
29266
  width: "142px",
28986
29267
  fontSize: "2.5rem",
28987
29268
  fontWeight: "bold"
@@ -29175,7 +29456,7 @@ import { useMemo as useMemo82 } from "react";
29175
29456
  import { jsx as jsx114, jsxs as jsxs82, Fragment as Fragment23 } from "react/jsx-runtime";
29176
29457
  import { useCallback as useCallback92, useMemo as useMemo112 } from "react";
29177
29458
  import { useCallback as useCallback82, useMemo as useMemo102, useRef as useRef92 } from "react";
29178
- import { jsx as jsx123, jsxs as jsxs92, Fragment as Fragment32 } from "react/jsx-runtime";
29459
+ import { jsx as jsx124, jsxs as jsxs92, Fragment as Fragment32 } from "react/jsx-runtime";
29179
29460
  import { useCallback as useCallback112, useMemo as useMemo132, useState as useState122 } from "react";
29180
29461
  import { jsx as jsx133 } from "react/jsx-runtime";
29181
29462
 
@@ -29774,6 +30055,137 @@ var deserializeJSONWithSpecialTypes2 = (data) => {
29774
30055
  return value;
29775
30056
  });
29776
30057
  };
30058
+ var transformSchema2 = {
30059
+ "style.transformOrigin": {
30060
+ type: "transform-origin",
30061
+ step: 1,
30062
+ default: "50% 50%",
30063
+ description: "Transform origin"
30064
+ },
30065
+ "style.translate": {
30066
+ type: "translate",
30067
+ step: 1,
30068
+ default: "0px 0px",
30069
+ description: "Offset"
30070
+ },
30071
+ "style.scale": {
30072
+ type: "scale",
30073
+ max: 100,
30074
+ step: 0.01,
30075
+ default: 1,
30076
+ description: "Scale"
30077
+ },
30078
+ "style.rotate": {
30079
+ type: "rotation-css",
30080
+ step: 1,
30081
+ default: "0deg",
30082
+ description: "Rotation"
30083
+ },
30084
+ "style.opacity": {
30085
+ type: "number",
30086
+ min: 0,
30087
+ max: 1,
30088
+ step: 0.01,
30089
+ default: 1,
30090
+ description: "Opacity",
30091
+ hiddenFromList: false
30092
+ }
30093
+ };
30094
+ var premountSchema2 = {
30095
+ premountFor: {
30096
+ type: "number",
30097
+ default: 0,
30098
+ description: "Premount For",
30099
+ min: 0,
30100
+ step: 1,
30101
+ hiddenFromList: false
30102
+ },
30103
+ postmountFor: {
30104
+ type: "number",
30105
+ default: 0,
30106
+ min: 0,
30107
+ step: 1,
30108
+ hiddenFromList: true
30109
+ },
30110
+ styleWhilePremounted: {
30111
+ type: "hidden"
30112
+ },
30113
+ styleWhilePostmounted: {
30114
+ type: "hidden"
30115
+ }
30116
+ };
30117
+ var sequenceStyleSchema2 = {
30118
+ ...transformSchema2,
30119
+ ...premountSchema2
30120
+ };
30121
+ var hiddenField2 = {
30122
+ type: "boolean",
30123
+ default: false,
30124
+ description: "Hidden"
30125
+ };
30126
+ var showInTimelineField2 = {
30127
+ type: "hidden"
30128
+ };
30129
+ var sequenceNameField2 = {
30130
+ type: "hidden"
30131
+ };
30132
+ var durationInFramesField2 = {
30133
+ type: "number",
30134
+ default: undefined,
30135
+ min: 1,
30136
+ step: 1,
30137
+ hiddenFromList: true
30138
+ };
30139
+ var fromField2 = {
30140
+ type: "number",
30141
+ default: 0,
30142
+ step: 1,
30143
+ hiddenFromList: true
30144
+ };
30145
+ var freezeField2 = {
30146
+ type: "number",
30147
+ default: null,
30148
+ step: 1,
30149
+ hiddenFromList: true
30150
+ };
30151
+ var baseSchema2 = {
30152
+ durationInFrames: durationInFramesField2,
30153
+ from: fromField2,
30154
+ freeze: freezeField2,
30155
+ hidden: hiddenField2,
30156
+ name: sequenceNameField2,
30157
+ showInTimeline: showInTimelineField2
30158
+ };
30159
+ var sequenceSchema2 = {
30160
+ ...baseSchema2,
30161
+ layout: {
30162
+ type: "enum",
30163
+ default: "absolute-fill",
30164
+ description: "Layout",
30165
+ variants: {
30166
+ "absolute-fill": sequenceStyleSchema2,
30167
+ none: {}
30168
+ }
30169
+ }
30170
+ };
30171
+ var baseSchemaWithoutFrom2 = {
30172
+ durationInFrames: durationInFramesField2,
30173
+ freeze: freezeField2,
30174
+ hidden: hiddenField2,
30175
+ name: sequenceNameField2,
30176
+ showInTimeline: showInTimelineField2
30177
+ };
30178
+ var sequenceSchemaWithoutFrom2 = {
30179
+ ...baseSchemaWithoutFrom2,
30180
+ layout: sequenceSchema2.layout
30181
+ };
30182
+ var sequenceSchemaDefaultLayoutNone2 = {
30183
+ ...sequenceSchema2,
30184
+ layout: {
30185
+ ...sequenceSchema2.layout,
30186
+ default: "none"
30187
+ }
30188
+ };
29777
30189
  var NUMBER2 = "[-+]?\\d*\\.?\\d+";
29778
30190
  var PERCENTAGE2 = NUMBER2 + "%";
29779
30191
  function call2(...args) {
@@ -30270,135 +30682,6 @@ var serializeScaleValue = ([x, y, z]) => {
30270
30682
  }
30271
30683
  return `${normalizedX} ${normalizedY} ${normalizedZ}`;
30272
30684
  };
30273
- var sequenceVisualStyleSchema2 = {
30274
- "style.transformOrigin": {
30275
- type: "transform-origin",
30276
- step: 1,
30277
- default: "50% 50%",
30278
- description: "Transform origin"
30279
- },
30280
- "style.translate": {
30281
- type: "translate",
30282
- step: 1,
30283
- default: "0px 0px",
30284
- description: "Offset"
30285
- },
30286
- "style.scale": {
30287
- type: "scale",
30288
- max: 100,
30289
- step: 0.01,
30290
- default: 1,
30291
- description: "Scale"
30292
- },
30293
- "style.rotate": {
30294
- type: "rotation-css",
30295
- step: 1,
30296
- default: "0deg",
30297
- description: "Rotation"
30298
- },
30299
- "style.opacity": {
30300
- type: "number",
30301
- min: 0,
30302
- max: 1,
30303
- step: 0.01,
30304
- default: 1,
30305
- description: "Opacity",
30306
- hiddenFromList: false
30307
- }
30308
- };
30309
- var sequencePremountSchema2 = {
30310
- premountFor: {
30311
- type: "number",
30312
- default: 0,
30313
- description: "Premount For",
30314
- min: 0,
30315
- step: 1,
30316
- hiddenFromList: false
30317
- },
30318
- postmountFor: {
30319
- type: "number",
30320
- default: 0,
30321
- min: 0,
30322
- step: 1,
30323
- hiddenFromList: true
30324
- },
30325
- styleWhilePremounted: {
30326
- type: "hidden"
30327
- },
30328
- styleWhilePostmounted: {
30329
- type: "hidden"
30330
- }
30331
- };
30332
- var sequenceStyleSchema2 = {
30333
- ...sequenceVisualStyleSchema2,
30334
- ...sequencePremountSchema2
30335
- };
30336
- var hiddenField2 = {
30337
- type: "boolean",
30338
- default: false,
30339
- description: "Hidden"
30340
- };
30341
- var showInTimelineField2 = {
30342
- type: "hidden"
30343
- };
30344
- var sequenceNameField2 = {
30345
- type: "hidden"
30346
- };
30347
- var extendSchemaWithSequenceName2 = (schema) => {
30348
- return {
30349
- name: sequenceNameField2,
30350
- ...schema
30351
- };
30352
- };
30353
- var durationInFramesField2 = {
30354
- type: "number",
30355
- default: undefined,
30356
- min: 1,
30357
- step: 1,
30358
- hiddenFromList: true
30359
- };
30360
- var fromField2 = {
30361
- type: "number",
30362
- default: 0,
30363
- step: 1,
30364
- hiddenFromList: true
30365
- };
30366
- var freezeField2 = {
30367
- type: "number",
30368
- default: null,
30369
- step: 1,
30370
- hiddenFromList: true
30371
- };
30372
- var sequenceSchema2 = extendSchemaWithSequenceName2({
30373
- hidden: hiddenField2,
30374
- showInTimeline: showInTimelineField2,
30375
- from: fromField2,
30376
- freeze: freezeField2,
30377
- durationInFrames: durationInFramesField2,
30378
- layout: {
30379
- type: "enum",
30380
- default: "absolute-fill",
30381
- description: "Layout",
30382
- variants: {
30383
- "absolute-fill": sequenceStyleSchema2,
30384
- none: {}
30385
- }
30386
- }
30387
- });
30388
- var sequenceSchemaWithoutFrom2 = extendSchemaWithSequenceName2({
30389
- hidden: hiddenField2,
30390
- showInTimeline: showInTimelineField2,
30391
- freeze: freezeField2,
30392
- durationInFrames: durationInFramesField2,
30393
- layout: sequenceSchema2.layout
30394
- });
30395
- var sequenceSchemaDefaultLayoutNone2 = {
30396
- ...sequenceSchema2,
30397
- layout: {
30398
- ...sequenceSchema2.layout,
30399
- default: "none"
30400
- }
30401
- };
30402
30685
  var ENABLE_V5_BREAKING_CHANGES2 = false;
30403
30686
  var validateFrame2 = ({
30404
30687
  allowFloats,
@@ -33357,18 +33640,18 @@ var PlayerUI = ({
33357
33640
  style: containerStyle3,
33358
33641
  className: playerCssClassname(overrideInternalClassName),
33359
33642
  children: [
33360
- VideoComponent ? /* @__PURE__ */ jsx123(ErrorBoundary, {
33643
+ VideoComponent ? /* @__PURE__ */ jsx124(ErrorBoundary, {
33361
33644
  onError,
33362
33645
  errorFallback,
33363
- children: /* @__PURE__ */ jsx123(Internals.CurrentScaleContext.Provider, {
33646
+ children: /* @__PURE__ */ jsx124(Internals.CurrentScaleContext.Provider, {
33364
33647
  value: currentScale,
33365
- children: /* @__PURE__ */ jsx123(VideoComponent, {
33648
+ children: /* @__PURE__ */ jsx124(VideoComponent, {
33366
33649
  ...video?.props ?? {},
33367
33650
  ...inputProps ?? {}
33368
33651
  })
33369
33652
  })
33370
33653
  }) : null,
33371
- shouldShowPoster && posterFillMode === "composition-size" ? /* @__PURE__ */ jsx123("div", {
33654
+ shouldShowPoster && posterFillMode === "composition-size" ? /* @__PURE__ */ jsx124("div", {
33372
33655
  style: {
33373
33656
  ...outerWithoutScale,
33374
33657
  width: config.width,
@@ -33380,16 +33663,16 @@ var PlayerUI = ({
33380
33663
  }) : null
33381
33664
  ]
33382
33665
  }),
33383
- /* @__PURE__ */ jsx123(RenderWarningIfBlacklist, {})
33666
+ /* @__PURE__ */ jsx124(RenderWarningIfBlacklist, {})
33384
33667
  ]
33385
33668
  }),
33386
- shouldShowPoster && posterFillMode === "player-size" ? /* @__PURE__ */ jsx123("div", {
33669
+ shouldShowPoster && posterFillMode === "player-size" ? /* @__PURE__ */ jsx124("div", {
33387
33670
  style: outer,
33388
33671
  onPointerDown: clickToPlay ? handlePointerDown : undefined,
33389
33672
  onDoubleClick: doubleClickToFullscreen ? handleDoubleClick : undefined,
33390
33673
  children: poster
33391
33674
  }) : null,
33392
- controls ? /* @__PURE__ */ jsx123(Controls, {
33675
+ controls ? /* @__PURE__ */ jsx124(Controls, {
33393
33676
  fps: config.fps,
33394
33677
  playing: player.playing,
33395
33678
  toggle: player.toggle,
@@ -33422,18 +33705,18 @@ var PlayerUI = ({
33422
33705
  ]
33423
33706
  });
33424
33707
  if (noSuspense || IS_NODE && !doesReactVersionSupportSuspense) {
33425
- return /* @__PURE__ */ jsx123("div", {
33708
+ return /* @__PURE__ */ jsx124("div", {
33426
33709
  ref: container4,
33427
33710
  style: outerStyle,
33428
33711
  className: className2,
33429
33712
  children: content
33430
33713
  });
33431
33714
  }
33432
- return /* @__PURE__ */ jsx123("div", {
33715
+ return /* @__PURE__ */ jsx124("div", {
33433
33716
  ref: container4,
33434
33717
  style: outerStyle,
33435
33718
  className: className2,
33436
- children: /* @__PURE__ */ jsx123(Suspense2, {
33719
+ children: /* @__PURE__ */ jsx124(Suspense2, {
33437
33720
  fallback: loadingMarkup,
33438
33721
  children: content
33439
33722
  })
@@ -34968,7 +35251,10 @@ function useColorMode() {
34968
35251
  import { useMemo as useMemo312, useState as useState311 } from "react";
34969
35252
  import { useContext as useContext212, useEffect as useEffect44, useMemo as useMemo57, useRef as useRef50, useState as useState40 } from "react";
34970
35253
  import { ALL_FORMATS, Input as Input2, UrlSource } from "mediabunny";
34971
- import { AudioBufferSink, InputDisposedError } from "mediabunny";
35254
+ import {
35255
+ AudioBufferSink,
35256
+ InputDisposedError
35257
+ } from "mediabunny";
34972
35258
  import { CanvasSink } from "mediabunny";
34973
35259
  import { useContext as useContext50, useLayoutEffect as useLayoutEffect18 } from "react";
34974
35260
  import { jsx as jsx61 } from "react/jsx-runtime";
@@ -35539,6 +35825,7 @@ var audioIteratorManager = ({
35539
35825
  }
35540
35826
  if (!result.value) {
35541
35827
  next();
35828
+ onDone();
35542
35829
  return;
35543
35830
  }
35544
35831
  onScheduled(result.value.timestamp);
@@ -36088,9 +36375,11 @@ var createVideoIterator = async (timeToSeek, cache2) => {
36088
36375
  };
36089
36376
  const getNextOrNullIfNotAvailable = () => {
36090
36377
  if (peekedFrame) {
36378
+ const frame = peekedFrame;
36379
+ lastReturnedFrame = frame;
36091
36380
  const retValue = {
36092
36381
  type: "got-frame-or-end",
36093
- frame: peekedFrame
36382
+ frame
36094
36383
  };
36095
36384
  peekedFrame = null;
36096
36385
  return retValue;
@@ -39434,9 +39723,7 @@ var AudioForRendering2 = ({
39434
39723
  };
39435
39724
  var { validateMediaProps: validateMediaProps2 } = Internals;
39436
39725
  var audioSchema = {
39437
- durationInFrames: Internals.durationInFramesField,
39438
- from: Internals.fromField,
39439
- freeze: Internals.freezeField,
39726
+ ...Internals.baseSchema,
39440
39727
  volume: {
39441
39728
  type: "number",
39442
39729
  min: 0,
@@ -39455,15 +39742,14 @@ var audioSchema = {
39455
39742
  hiddenFromList: false,
39456
39743
  keyframable: false
39457
39744
  },
39458
- loop: { type: "boolean", default: false, description: "Loop" },
39459
- hidden: Internals.hiddenField
39745
+ loop: { type: "boolean", default: false, description: "Loop" }
39460
39746
  };
39461
39747
  var AudioInner = (props) => {
39462
39748
  const {
39463
39749
  name,
39464
39750
  stack,
39465
39751
  showInTimeline,
39466
- _experimentalControls: controls,
39752
+ controls,
39467
39753
  from,
39468
39754
  durationInFrames,
39469
39755
  freeze,
@@ -39526,7 +39812,7 @@ var AudioInner = (props) => {
39526
39812
  _remotionInternalIsMedia: isMedia,
39527
39813
  name: name ?? "<Audio>",
39528
39814
  _remotionInternalDocumentationLink: name === undefined ? "https://www.remotion.dev/docs/media/audio" : undefined,
39529
- _experimentalControls: controls,
39815
+ controls,
39530
39816
  _remotionInternalLoopDisplay: loopDisplay,
39531
39817
  showInTimeline: showInTimeline ?? true,
39532
39818
  hidden,
@@ -39540,7 +39826,7 @@ var AudioInner = (props) => {
39540
39826
  })
39541
39827
  });
39542
39828
  };
39543
- var Audio2 = Internals.wrapInSchema({
39829
+ var Audio2 = Interactive.withSchema({
39544
39830
  Component: AudioInner,
39545
39831
  componentIdentity: "dev.remotion.media.Audio",
39546
39832
  schema: audioSchema,
@@ -40309,9 +40595,7 @@ var VideoForRendering2 = ({
40309
40595
  };
40310
40596
  var { validateMediaTrimProps: validateMediaTrimProps2, resolveTrimProps: resolveTrimProps2, validateMediaProps: validateMediaProps22 } = Internals;
40311
40597
  var videoSchema = {
40312
- durationInFrames: Internals.durationInFramesField,
40313
- from: Internals.fromField,
40314
- freeze: Internals.freezeField,
40598
+ ...Internals.baseSchema,
40315
40599
  volume: {
40316
40600
  type: "number",
40317
40601
  min: 0,
@@ -40330,13 +40614,8 @@ var videoSchema = {
40330
40614
  hiddenFromList: false,
40331
40615
  keyframable: false
40332
40616
  },
40333
- hidden: {
40334
- type: "boolean",
40335
- default: false,
40336
- description: "Hidden"
40337
- },
40338
40617
  loop: { type: "boolean", default: false, description: "Loop" },
40339
- ...Internals.sequenceVisualStyleSchema
40618
+ ...Internals.transformSchema
40340
40619
  };
40341
40620
  var InnerVideo = ({
40342
40621
  src,
@@ -40364,7 +40643,7 @@ var InnerVideo = ({
40364
40643
  onError,
40365
40644
  credentials,
40366
40645
  requestInit,
40367
- _experimentalControls: controls,
40646
+ controls,
40368
40647
  objectFit,
40369
40648
  _experimentalInitiallyDrawCachedFrame,
40370
40649
  effects,
@@ -40478,7 +40757,7 @@ var VideoInner = ({
40478
40757
  onError,
40479
40758
  credentials,
40480
40759
  requestInit,
40481
- _experimentalControls: controls,
40760
+ controls,
40482
40761
  objectFit,
40483
40762
  _experimentalInitiallyDrawCachedFrame,
40484
40763
  effects,
@@ -40546,10 +40825,10 @@ var VideoInner = ({
40546
40825
  _remotionInternalIsMedia: isMedia,
40547
40826
  name: name ?? "<Video>",
40548
40827
  _remotionInternalDocumentationLink: name === undefined ? "https://www.remotion.dev/docs/media/video" : undefined,
40549
- _experimentalControls: controls,
40828
+ controls,
40550
40829
  _remotionInternalLoopDisplay: loopDisplay,
40551
40830
  _remotionInternalEffects: memoizedEffectDefinitions,
40552
- _remotionInternalRefForOutline: refForOutline,
40831
+ outlineRef: refForOutline,
40553
40832
  showInTimeline: showInTimeline ?? true,
40554
40833
  hidden,
40555
40834
  children: /* @__PURE__ */ jsx65(InnerVideo, {
@@ -40579,7 +40858,7 @@ var VideoInner = ({
40579
40858
  onError,
40580
40859
  credentials,
40581
40860
  requestInit,
40582
- _experimentalControls: controls,
40861
+ controls,
40583
40862
  objectFit: objectFit ?? "contain",
40584
40863
  _experimentalInitiallyDrawCachedFrame: _experimentalInitiallyDrawCachedFrame ?? false,
40585
40864
  effects: memoizedEffects,
@@ -40588,7 +40867,7 @@ var VideoInner = ({
40588
40867
  })
40589
40868
  });
40590
40869
  };
40591
- var Video = Internals.wrapInSchema({
40870
+ var Video = Interactive.withSchema({
40592
40871
  Component: VideoInner,
40593
40872
  componentIdentity: "dev.remotion.media.Video",
40594
40873
  schema: videoSchema,
@@ -41897,7 +42176,7 @@ import {
41897
42176
  import { BufferTarget, StreamTarget } from "mediabunny";
41898
42177
 
41899
42178
  // ../core/dist/esm/version.mjs
41900
- var VERSION2 = "4.0.477";
42179
+ var VERSION2 = "4.0.479";
41901
42180
 
41902
42181
  // ../web-renderer/dist/esm/index.mjs
41903
42182
  import { AudioSample, VideoSample } from "mediabunny";
@@ -48083,7 +48362,7 @@ var ParameterizeAndEdit = () => {
48083
48362
 
48084
48363
  // src/components/homepage/RealMp4Videos.tsx
48085
48364
  import { useEffect as useEffect63, useRef as useRef61, useState as useState61 } from "react";
48086
- import { jsx as jsx124, jsxs as jsxs47 } from "react/jsx-runtime";
48365
+ import { jsx as jsx125, jsxs as jsxs47 } from "react/jsx-runtime";
48087
48366
  var icon5 = {
48088
48367
  height: 16,
48089
48368
  marginLeft: 10
@@ -48118,9 +48397,9 @@ var RealMP4Videos = () => {
48118
48397
  ref,
48119
48398
  className: "flex flex-col lg:flex-row mt-40 lg:mt-30 gap-6",
48120
48399
  children: [
48121
- /* @__PURE__ */ jsx124("div", {
48400
+ /* @__PURE__ */ jsx125("div", {
48122
48401
  className: "flex w-[500px] justify-start lg:justify-start items-end",
48123
- children: /* @__PURE__ */ jsx124("video", {
48402
+ children: /* @__PURE__ */ jsx125("video", {
48124
48403
  ref: videoRef,
48125
48404
  src: vid,
48126
48405
  muted: true,
@@ -48143,7 +48422,7 @@ var RealMP4Videos = () => {
48143
48422
  /* @__PURE__ */ jsxs47("h2", {
48144
48423
  className: "text-4xl fontbrand",
48145
48424
  children: [
48146
- /* @__PURE__ */ jsx124("span", {
48425
+ /* @__PURE__ */ jsx125("span", {
48147
48426
  className: "text-brand",
48148
48427
  children: "Scalable"
48149
48428
  }),
@@ -48154,12 +48433,12 @@ var RealMP4Videos = () => {
48154
48433
  className: "leading-relaxed",
48155
48434
  children: [
48156
48435
  "Render the video as .mp4 or other formats. ",
48157
- /* @__PURE__ */ jsx124("br", {}),
48436
+ /* @__PURE__ */ jsx125("br", {}),
48158
48437
  "Locally, on the server or serverless."
48159
48438
  ]
48160
48439
  }),
48161
48440
  " ",
48162
- /* @__PURE__ */ jsx124("div", {
48441
+ /* @__PURE__ */ jsx125("div", {
48163
48442
  className: "h-4"
48164
48443
  }),
48165
48444
  /* @__PURE__ */ jsxs47("div", {
@@ -48171,29 +48450,29 @@ var RealMP4Videos = () => {
48171
48450
  children: [
48172
48451
  "Render options",
48173
48452
  " ",
48174
- /* @__PURE__ */ jsx124("svg", {
48453
+ /* @__PURE__ */ jsx125("svg", {
48175
48454
  style: icon5,
48176
48455
  xmlns: "http://www.w3.org/2000/svg",
48177
48456
  viewBox: "0 0 448 512",
48178
- children: /* @__PURE__ */ jsx124("path", {
48457
+ children: /* @__PURE__ */ jsx125("path", {
48179
48458
  fill: "currentColor",
48180
48459
  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"
48181
48460
  })
48182
48461
  })
48183
48462
  ]
48184
48463
  }),
48185
- /* @__PURE__ */ jsx124("br", {}),
48464
+ /* @__PURE__ */ jsx125("br", {}),
48186
48465
  /* @__PURE__ */ jsxs47("a", {
48187
48466
  className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center",
48188
48467
  href: "/lambda",
48189
48468
  children: [
48190
48469
  "Remotion Lambda",
48191
48470
  " ",
48192
- /* @__PURE__ */ jsx124("svg", {
48471
+ /* @__PURE__ */ jsx125("svg", {
48193
48472
  style: icon5,
48194
48473
  xmlns: "http://www.w3.org/2000/svg",
48195
48474
  viewBox: "0 0 448 512",
48196
- children: /* @__PURE__ */ jsx124("path", {
48475
+ children: /* @__PURE__ */ jsx125("path", {
48197
48476
  fill: "currentColor",
48198
48477
  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"
48199
48478
  })
@@ -48209,18 +48488,18 @@ var RealMP4Videos = () => {
48209
48488
  };
48210
48489
 
48211
48490
  // src/components/homepage/TrustedByBanner.tsx
48212
- import { jsx as jsx126, jsxs as jsxs48, Fragment as Fragment16 } from "react/jsx-runtime";
48491
+ import { jsx as jsx127, jsxs as jsxs48, Fragment as Fragment16 } from "react/jsx-runtime";
48213
48492
  var TrustedByBanner = () => {
48214
48493
  const logos = [
48215
48494
  {
48216
48495
  id: "logo1",
48217
48496
  url: "https://www.github.com/",
48218
- light: /* @__PURE__ */ jsx126("svg", {
48497
+ light: /* @__PURE__ */ jsx127("svg", {
48219
48498
  height: "50",
48220
48499
  viewBox: "0 0 64 62",
48221
48500
  fill: "none",
48222
48501
  xmlns: "http://www.w3.org/2000/svg",
48223
- children: /* @__PURE__ */ jsx126("path", {
48502
+ children: /* @__PURE__ */ jsx127("path", {
48224
48503
  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",
48225
48504
  fill: "var(--text-color)"
48226
48505
  })
@@ -48235,51 +48514,51 @@ var TrustedByBanner = () => {
48235
48514
  fill: "none",
48236
48515
  xmlns: "http://www.w3.org/2000/svg",
48237
48516
  children: [
48238
- /* @__PURE__ */ jsx126("path", {
48517
+ /* @__PURE__ */ jsx127("path", {
48239
48518
  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",
48240
48519
  fill: "var(--text-color)"
48241
48520
  }),
48242
- /* @__PURE__ */ jsx126("path", {
48521
+ /* @__PURE__ */ jsx127("path", {
48243
48522
  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",
48244
48523
  fill: "var(--text-color)"
48245
48524
  }),
48246
- /* @__PURE__ */ jsx126("path", {
48525
+ /* @__PURE__ */ jsx127("path", {
48247
48526
  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",
48248
48527
  fill: "var(--text-color)"
48249
48528
  }),
48250
- /* @__PURE__ */ jsx126("path", {
48529
+ /* @__PURE__ */ jsx127("path", {
48251
48530
  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",
48252
48531
  fill: "var(--text-color)"
48253
48532
  }),
48254
- /* @__PURE__ */ jsx126("path", {
48533
+ /* @__PURE__ */ jsx127("path", {
48255
48534
  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",
48256
48535
  fill: "var(--text-color)"
48257
48536
  }),
48258
- /* @__PURE__ */ jsx126("path", {
48537
+ /* @__PURE__ */ jsx127("path", {
48259
48538
  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",
48260
48539
  fill: "var(--text-color)"
48261
48540
  }),
48262
- /* @__PURE__ */ jsx126("path", {
48541
+ /* @__PURE__ */ jsx127("path", {
48263
48542
  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",
48264
48543
  fill: "var(--text-color)"
48265
48544
  }),
48266
- /* @__PURE__ */ jsx126("path", {
48545
+ /* @__PURE__ */ jsx127("path", {
48267
48546
  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",
48268
48547
  fill: "var(--text-color)"
48269
48548
  }),
48270
- /* @__PURE__ */ jsx126("path", {
48549
+ /* @__PURE__ */ jsx127("path", {
48271
48550
  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",
48272
48551
  fill: "var(--text-color)"
48273
48552
  }),
48274
- /* @__PURE__ */ jsx126("path", {
48553
+ /* @__PURE__ */ jsx127("path", {
48275
48554
  d: "M119.256 23.7491V31.4775H121.456H123.656V23.7491V16.0207H121.456H119.256V23.7491Z",
48276
48555
  fill: "var(--text-color)"
48277
48556
  }),
48278
- /* @__PURE__ */ jsx126("path", {
48557
+ /* @__PURE__ */ jsx127("path", {
48279
48558
  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",
48280
48559
  fill: "var(--text-color)"
48281
48560
  }),
48282
- /* @__PURE__ */ jsx126("path", {
48561
+ /* @__PURE__ */ jsx127("path", {
48283
48562
  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",
48284
48563
  fill: "var(--text-color)"
48285
48564
  })
@@ -48296,11 +48575,11 @@ var TrustedByBanner = () => {
48296
48575
  className: "-mt-2",
48297
48576
  xmlns: "http://www.w3.org/2000/svg",
48298
48577
  children: [
48299
- /* @__PURE__ */ jsx126("path", {
48578
+ /* @__PURE__ */ jsx127("path", {
48300
48579
  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",
48301
48580
  fill: "var(--light-text-color)"
48302
48581
  }),
48303
- /* @__PURE__ */ jsx126("path", {
48582
+ /* @__PURE__ */ jsx127("path", {
48304
48583
  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",
48305
48584
  fill: "var(--text-color)"
48306
48585
  })
@@ -48310,12 +48589,12 @@ var TrustedByBanner = () => {
48310
48589
  {
48311
48590
  id: "logo5",
48312
48591
  url: "https://www.soundcloud.com/",
48313
- light: /* @__PURE__ */ jsx126("svg", {
48592
+ light: /* @__PURE__ */ jsx127("svg", {
48314
48593
  height: "40",
48315
48594
  viewBox: "0 0 129 57",
48316
48595
  fill: "none",
48317
48596
  xmlns: "http://www.w3.org/2000/svg",
48318
- children: /* @__PURE__ */ jsx126("path", {
48597
+ children: /* @__PURE__ */ jsx127("path", {
48319
48598
  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",
48320
48599
  fill: "var(--text-color)"
48321
48600
  })
@@ -48324,13 +48603,13 @@ var TrustedByBanner = () => {
48324
48603
  ];
48325
48604
  return /* @__PURE__ */ jsxs48(Fragment16, {
48326
48605
  children: [
48327
- /* @__PURE__ */ jsx126("h3", {
48606
+ /* @__PURE__ */ jsx127("h3", {
48328
48607
  className: "text-center mt-20 mb-10",
48329
48608
  children: "Trusted by"
48330
48609
  }),
48331
- /* @__PURE__ */ jsx126("div", {
48610
+ /* @__PURE__ */ jsx127("div", {
48332
48611
  className: "text-center flex flex-col lg:flex-row flex-nowrap justify-center items-center gap-10 mb-20",
48333
- children: logos.map((logo) => /* @__PURE__ */ jsx126("a", {
48612
+ children: logos.map((logo) => /* @__PURE__ */ jsx127("a", {
48334
48613
  href: logo.url,
48335
48614
  target: "_blank",
48336
48615
  className: "opacity-80 hover:opacity-100 transition-opacity",
@@ -48353,7 +48632,7 @@ import { forwardRef as forwardRef41, useEffect as useEffect66, useImperativeHand
48353
48632
  import Hls from "hls.js";
48354
48633
  import"plyr/dist/plyr.css";
48355
48634
  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";
48635
+ import { jsx as jsx128 } from "react/jsx-runtime";
48357
48636
  var useCombinedRefs = function(...refs) {
48358
48637
  const targetRef = useRef63(null);
48359
48638
  useEffect65(() => {
@@ -48439,9 +48718,9 @@ var VideoPlayerWithControls = forwardRef40(({ playbackId, poster, currentTime, o
48439
48718
  video.currentTime = currentTime;
48440
48719
  }
48441
48720
  }, [currentTime]);
48442
- return /* @__PURE__ */ jsx127("div", {
48721
+ return /* @__PURE__ */ jsx128("div", {
48443
48722
  className: "video-container",
48444
- children: /* @__PURE__ */ jsx127("video", {
48723
+ children: /* @__PURE__ */ jsx128("video", {
48445
48724
  ref: metaRef,
48446
48725
  autoPlay,
48447
48726
  poster,
@@ -48452,7 +48731,7 @@ var VideoPlayerWithControls = forwardRef40(({ playbackId, poster, currentTime, o
48452
48731
  });
48453
48732
 
48454
48733
  // src/components/homepage/MuxVideo.tsx
48455
- import { jsx as jsx128 } from "react/jsx-runtime";
48734
+ import { jsx as jsx129 } from "react/jsx-runtime";
48456
48735
  var getVideoToPlayUrl = (muxId) => {
48457
48736
  return `https://stream.mux.com/${muxId}.m3u8`;
48458
48737
  };
@@ -48480,7 +48759,7 @@ var MuxVideoForward = ({ muxId, ...props }, ref) => {
48480
48759
  }
48481
48760
  };
48482
48761
  }, [vidUrl, videoRef]);
48483
- return /* @__PURE__ */ jsx128("video", {
48762
+ return /* @__PURE__ */ jsx129("video", {
48484
48763
  ref: videoRef,
48485
48764
  ...props
48486
48765
  });
@@ -48488,7 +48767,7 @@ var MuxVideoForward = ({ muxId, ...props }, ref) => {
48488
48767
  var MuxVideo = forwardRef41(MuxVideoForward);
48489
48768
 
48490
48769
  // src/components/homepage/VideoAppsShowcase.tsx
48491
- import { jsx as jsx129, jsxs as jsxs49 } from "react/jsx-runtime";
48770
+ import { jsx as jsx130, jsxs as jsxs49 } from "react/jsx-runtime";
48492
48771
  var tabs = [
48493
48772
  "Music visualization",
48494
48773
  "Captions",
@@ -48539,11 +48818,11 @@ var icon6 = {
48539
48818
  height: 16,
48540
48819
  marginLeft: 10
48541
48820
  };
48542
- var Arrow4 = () => /* @__PURE__ */ jsx129("svg", {
48821
+ var Arrow4 = () => /* @__PURE__ */ jsx130("svg", {
48543
48822
  style: icon6,
48544
48823
  xmlns: "http://www.w3.org/2000/svg",
48545
48824
  viewBox: "0 0 448 512",
48546
- children: /* @__PURE__ */ jsx129("path", {
48825
+ children: /* @__PURE__ */ jsx130("path", {
48547
48826
  fill: "currentColor",
48548
48827
  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"
48549
48828
  })
@@ -48598,12 +48877,12 @@ var BuiltWithRemotionShowcase = () => {
48598
48877
  return /* @__PURE__ */ jsxs49("div", {
48599
48878
  ref: containerRef,
48600
48879
  children: [
48601
- /* @__PURE__ */ jsx129(SectionTitle, {
48880
+ /* @__PURE__ */ jsx130(SectionTitle, {
48602
48881
  children: "Built with Remotion"
48603
48882
  }),
48604
- /* @__PURE__ */ jsx129("div", {
48883
+ /* @__PURE__ */ jsx130("div", {
48605
48884
  className: "flex flex-wrap justify-center gap-x-8 gap-y-3 mb-6 mt-1",
48606
- children: tabs.map((tab, index2) => /* @__PURE__ */ jsx129("button", {
48885
+ children: tabs.map((tab, index2) => /* @__PURE__ */ jsx130("button", {
48607
48886
  type: "button",
48608
48887
  "data-active": index2 === activeTab,
48609
48888
  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`,
@@ -48611,7 +48890,7 @@ var BuiltWithRemotionShowcase = () => {
48611
48890
  children: tab
48612
48891
  }, tab))
48613
48892
  }),
48614
- /* @__PURE__ */ jsx129("div", {
48893
+ /* @__PURE__ */ jsx130("div", {
48615
48894
  className: "card flex p-0 overflow-hidden",
48616
48895
  "data-nosnippet": true,
48617
48896
  children: /* @__PURE__ */ jsxs49("div", {
@@ -48621,7 +48900,7 @@ var BuiltWithRemotionShowcase = () => {
48621
48900
  className: "w-full aspect-video lg:aspect-square relative overflow-hidden bg-[#eee] cursor-pointer",
48622
48901
  onClick: handlePlayPause,
48623
48902
  children: [
48624
- videoLoaded ? /* @__PURE__ */ jsx129(MuxVideo, {
48903
+ videoLoaded ? /* @__PURE__ */ jsx130(MuxVideo, {
48625
48904
  ref: videoRef,
48626
48905
  muxId: videoApps[activeTab].muxId,
48627
48906
  className: "absolute left-0 top-0 w-full h-full object-contain rounded-sm rounded-tr-none rounded-br-none",
@@ -48630,26 +48909,26 @@ var BuiltWithRemotionShowcase = () => {
48630
48909
  muted: isMuted,
48631
48910
  autoPlay: true,
48632
48911
  onPlay: () => setIsPlaying(true)
48633
- }) : /* @__PURE__ */ jsx129("img", {
48912
+ }) : /* @__PURE__ */ jsx130("img", {
48634
48913
  src: `https://image.mux.com/${videoApps[activeTab].muxId}/thumbnail.png?time=1`,
48635
48914
  className: "absolute left-0 top-0 w-full h-full object-contain rounded-sm rounded-tr-none rounded-br-none",
48636
48915
  alt: videoApps[activeTab].title
48637
48916
  }),
48638
- /* @__PURE__ */ jsx129("button", {
48917
+ /* @__PURE__ */ jsx130("button", {
48639
48918
  type: "button",
48640
48919
  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",
48641
48920
  onClick: (e) => {
48642
48921
  e.stopPropagation();
48643
48922
  handlePlayPause();
48644
48923
  },
48645
- children: isPlaying ? /* @__PURE__ */ jsx129(PlayingIcon, {
48924
+ children: isPlaying ? /* @__PURE__ */ jsx130(PlayingIcon, {
48646
48925
  style: {
48647
48926
  width: 12,
48648
48927
  height: 20,
48649
48928
  marginLeft: "2px",
48650
48929
  marginTop: "1px"
48651
48930
  }
48652
- }) : /* @__PURE__ */ jsx129(PausedIcon, {
48931
+ }) : /* @__PURE__ */ jsx130(PausedIcon, {
48653
48932
  style: {
48654
48933
  width: 14,
48655
48934
  height: 16,
@@ -48658,20 +48937,20 @@ var BuiltWithRemotionShowcase = () => {
48658
48937
  }
48659
48938
  })
48660
48939
  }),
48661
- /* @__PURE__ */ jsx129("button", {
48940
+ /* @__PURE__ */ jsx130("button", {
48662
48941
  type: "button",
48663
48942
  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",
48664
48943
  onClick: (e) => {
48665
48944
  e.stopPropagation();
48666
48945
  handleMuteToggle();
48667
48946
  },
48668
- children: isMuted ? /* @__PURE__ */ jsx129(IsMutedIcon, {
48947
+ children: isMuted ? /* @__PURE__ */ jsx130(IsMutedIcon, {
48669
48948
  style: {
48670
48949
  width: 16,
48671
48950
  height: 16,
48672
48951
  marginTop: "1px"
48673
48952
  }
48674
- }) : /* @__PURE__ */ jsx129(NotMutedIcon, {
48953
+ }) : /* @__PURE__ */ jsx130(NotMutedIcon, {
48675
48954
  style: {
48676
48955
  width: 16,
48677
48956
  height: 16,
@@ -48684,19 +48963,19 @@ var BuiltWithRemotionShowcase = () => {
48684
48963
  /* @__PURE__ */ jsxs49("div", {
48685
48964
  className: "p-6 lg:p-10 flex min-w-0 flex-col justify-center",
48686
48965
  children: [
48687
- /* @__PURE__ */ jsx129("div", {
48966
+ /* @__PURE__ */ jsx130("div", {
48688
48967
  className: "text-3xl font-bold fontbrand mt-0",
48689
48968
  children: videoApps[activeTab].title
48690
48969
  }),
48691
- /* @__PURE__ */ jsx129("div", {
48970
+ /* @__PURE__ */ jsx130("div", {
48692
48971
  className: "text-muted mt-3 text-base fontbrand leading-relaxed",
48693
48972
  children: videoApps[activeTab].description
48694
48973
  }),
48695
- videoApps[activeTab].additionalInfo ? /* @__PURE__ */ jsx129("div", {
48974
+ videoApps[activeTab].additionalInfo ? /* @__PURE__ */ jsx130("div", {
48696
48975
  className: "text-muted mt-4 text-base fontbrand",
48697
48976
  children: videoApps[activeTab].additionalInfo
48698
48977
  }) : null,
48699
- /* @__PURE__ */ jsx129("div", {
48978
+ /* @__PURE__ */ jsx130("div", {
48700
48979
  className: "h-5"
48701
48980
  }),
48702
48981
  /* @__PURE__ */ jsxs49("a", {
@@ -48704,7 +48983,7 @@ var BuiltWithRemotionShowcase = () => {
48704
48983
  href: videoApps[activeTab].link,
48705
48984
  children: [
48706
48985
  videoApps[activeTab].buttonText,
48707
- /* @__PURE__ */ jsx129(Arrow4, {})
48986
+ /* @__PURE__ */ jsx130(Arrow4, {})
48708
48987
  ]
48709
48988
  })
48710
48989
  ]
@@ -48712,7 +48991,7 @@ var BuiltWithRemotionShowcase = () => {
48712
48991
  ]
48713
48992
  })
48714
48993
  }),
48715
- /* @__PURE__ */ jsx129("div", {
48994
+ /* @__PURE__ */ jsx130("div", {
48716
48995
  style: {
48717
48996
  marginTop: "1rem",
48718
48997
  justifyContent: "center",
@@ -48725,7 +49004,7 @@ var BuiltWithRemotionShowcase = () => {
48725
49004
  children: [
48726
49005
  "For more examples of products and workflows, see our",
48727
49006
  " ",
48728
- /* @__PURE__ */ jsx129("a", {
49007
+ /* @__PURE__ */ jsx130("a", {
48729
49008
  href: "/showcase",
48730
49009
  className: "bluelink",
48731
49010
  children: "Showcase page"
@@ -49377,13 +49656,13 @@ var CreateVideoInternals = {
49377
49656
  };
49378
49657
 
49379
49658
  // src/components/icons/blank.tsx
49380
- import { jsx as jsx130 } from "react/jsx-runtime";
49659
+ import { jsx as jsx131 } from "react/jsx-runtime";
49381
49660
  var Blank = (props) => {
49382
- return /* @__PURE__ */ jsx130("svg", {
49661
+ return /* @__PURE__ */ jsx131("svg", {
49383
49662
  xmlns: "http://www.w3.org/2000/svg",
49384
49663
  viewBox: "0 0 384 512",
49385
49664
  ...props,
49386
- children: /* @__PURE__ */ jsx130("path", {
49665
+ children: /* @__PURE__ */ jsx131("path", {
49387
49666
  fill: "currentColor",
49388
49667
  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"
49389
49668
  })
@@ -49391,7 +49670,7 @@ var Blank = (props) => {
49391
49670
  };
49392
49671
 
49393
49672
  // src/components/icons/brain.tsx
49394
- import { jsx as jsx131, jsxs as jsxs50 } from "react/jsx-runtime";
49673
+ import { jsx as jsx134, jsxs as jsxs50 } from "react/jsx-runtime";
49395
49674
  var BrainIcon = (props) => {
49396
49675
  return /* @__PURE__ */ jsxs50("svg", {
49397
49676
  xmlns: "http://www.w3.org/2000/svg",
@@ -49403,31 +49682,31 @@ var BrainIcon = (props) => {
49403
49682
  strokeLinejoin: "round",
49404
49683
  ...props,
49405
49684
  children: [
49406
- /* @__PURE__ */ jsx131("path", {
49685
+ /* @__PURE__ */ jsx134("path", {
49407
49686
  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"
49408
49687
  }),
49409
- /* @__PURE__ */ jsx131("path", {
49688
+ /* @__PURE__ */ jsx134("path", {
49410
49689
  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"
49411
49690
  }),
49412
- /* @__PURE__ */ jsx131("path", {
49691
+ /* @__PURE__ */ jsx134("path", {
49413
49692
  d: "M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4"
49414
49693
  }),
49415
- /* @__PURE__ */ jsx131("path", {
49694
+ /* @__PURE__ */ jsx134("path", {
49416
49695
  d: "M17.599 6.5a3 3 0 0 0 .399-1.375"
49417
49696
  }),
49418
- /* @__PURE__ */ jsx131("path", {
49697
+ /* @__PURE__ */ jsx134("path", {
49419
49698
  d: "M6.003 5.125A3 3 0 0 0 6.401 6.5"
49420
49699
  }),
49421
- /* @__PURE__ */ jsx131("path", {
49700
+ /* @__PURE__ */ jsx134("path", {
49422
49701
  d: "M3.477 10.896a4 4 0 0 1 .585-.396"
49423
49702
  }),
49424
- /* @__PURE__ */ jsx131("path", {
49703
+ /* @__PURE__ */ jsx134("path", {
49425
49704
  d: "M19.938 10.5a4 4 0 0 1 .585.396"
49426
49705
  }),
49427
- /* @__PURE__ */ jsx131("path", {
49706
+ /* @__PURE__ */ jsx134("path", {
49428
49707
  d: "M6 18a4 4 0 0 1-1.967-.516"
49429
49708
  }),
49430
- /* @__PURE__ */ jsx131("path", {
49709
+ /* @__PURE__ */ jsx134("path", {
49431
49710
  d: "M19.967 17.484A4 4 0 0 1 18 18"
49432
49711
  })
49433
49712
  ]
@@ -49435,29 +49714,29 @@ var BrainIcon = (props) => {
49435
49714
  };
49436
49715
 
49437
49716
  // src/components/icons/code-hike.tsx
49438
- import { jsx as jsx134, jsxs as jsxs51 } from "react/jsx-runtime";
49717
+ import { jsx as jsx136, jsxs as jsxs51 } from "react/jsx-runtime";
49439
49718
  var CodeHike = (props) => {
49440
49719
  return /* @__PURE__ */ jsxs51("svg", {
49441
49720
  ...props,
49442
49721
  viewBox: "-100 -100 200 200",
49443
49722
  fill: "currentColor",
49444
49723
  children: [
49445
- /* @__PURE__ */ jsx134("path", {
49724
+ /* @__PURE__ */ jsx136("path", {
49446
49725
  d: "M 70 60 L 42 -27 L 72 -27 L 100 60 Z"
49447
49726
  }),
49448
- /* @__PURE__ */ jsx134("path", {
49727
+ /* @__PURE__ */ jsx136("path", {
49449
49728
  d: "M 20.419540229885058 40.05357142857142 L 42 -27 L 72 -27 L 50.41954022988506 40.05357142857142 Z"
49450
49729
  }),
49451
- /* @__PURE__ */ jsx134("path", {
49730
+ /* @__PURE__ */ jsx136("path", {
49452
49731
  d: "M 20.419540229885058 40.05357142857142 L -15 -70 L 15 -70 L 50.41954022988506 40.05357142857142 Z"
49453
49732
  }),
49454
- /* @__PURE__ */ jsx134("path", {
49733
+ /* @__PURE__ */ jsx136("path", {
49455
49734
  d: "M -50.41954022988506 40.05357142857142 L -15 -70 L 15 -70 L -20.419540229885058 40.05357142857142 Z"
49456
49735
  }),
49457
- /* @__PURE__ */ jsx134("path", {
49736
+ /* @__PURE__ */ jsx136("path", {
49458
49737
  d: "M -50.41954022988506 40.05357142857142 L -72 -27 L -42 -27 L -20.419540229885058 40.05357142857142 Z"
49459
49738
  }),
49460
- /* @__PURE__ */ jsx134("path", {
49739
+ /* @__PURE__ */ jsx136("path", {
49461
49740
  d: "M -100 60 L -72 -27 L -42 -27 L -70 60 Z"
49462
49741
  })
49463
49742
  ]
@@ -49465,13 +49744,13 @@ var CodeHike = (props) => {
49465
49744
  };
49466
49745
 
49467
49746
  // src/components/icons/cubes.tsx
49468
- import { jsx as jsx136 } from "react/jsx-runtime";
49747
+ import { jsx as jsx137 } from "react/jsx-runtime";
49469
49748
  var Cubes = (props) => {
49470
- return /* @__PURE__ */ jsx136("svg", {
49749
+ return /* @__PURE__ */ jsx137("svg", {
49471
49750
  xmlns: "http://www.w3.org/2000/svg",
49472
49751
  viewBox: "0 0 512 512",
49473
49752
  ...props,
49474
- children: /* @__PURE__ */ jsx136("path", {
49753
+ children: /* @__PURE__ */ jsx137("path", {
49475
49754
  fill: "currentColor",
49476
49755
  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"
49477
49756
  })
@@ -49479,13 +49758,13 @@ var Cubes = (props) => {
49479
49758
  };
49480
49759
 
49481
49760
  // src/components/icons/electron.tsx
49482
- import { jsx as jsx137 } from "react/jsx-runtime";
49761
+ import { jsx as jsx138 } from "react/jsx-runtime";
49483
49762
  var ElectronIcon = ({ style: style4 }) => {
49484
- return /* @__PURE__ */ jsx137("svg", {
49763
+ return /* @__PURE__ */ jsx138("svg", {
49485
49764
  viewBox: "0 0 640 640",
49486
49765
  style: style4,
49487
49766
  xmlns: "http://www.w3.org/2000/svg",
49488
- children: /* @__PURE__ */ jsx137("path", {
49767
+ children: /* @__PURE__ */ jsx138("path", {
49489
49768
  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",
49490
49769
  fill: "currentColor"
49491
49770
  })
@@ -49493,13 +49772,13 @@ var ElectronIcon = ({ style: style4 }) => {
49493
49772
  };
49494
49773
 
49495
49774
  // src/components/icons/js.tsx
49496
- import { jsx as jsx138 } from "react/jsx-runtime";
49775
+ import { jsx as jsx139 } from "react/jsx-runtime";
49497
49776
  var JSIcon = (props) => {
49498
- return /* @__PURE__ */ jsx138("svg", {
49777
+ return /* @__PURE__ */ jsx139("svg", {
49499
49778
  className: "svg-inline--fa fa-js-square fa-w-14",
49500
49779
  viewBox: "0 0 448 512",
49501
49780
  ...props,
49502
- children: /* @__PURE__ */ jsx138("path", {
49781
+ children: /* @__PURE__ */ jsx139("path", {
49503
49782
  fill: "currentColor",
49504
49783
  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"
49505
49784
  })
@@ -49507,13 +49786,13 @@ var JSIcon = (props) => {
49507
49786
  };
49508
49787
 
49509
49788
  // src/components/icons/music.tsx
49510
- import { jsx as jsx139 } from "react/jsx-runtime";
49789
+ import { jsx as jsx140 } from "react/jsx-runtime";
49511
49790
  var MusicIcon = (props) => {
49512
- return /* @__PURE__ */ jsx139("svg", {
49791
+ return /* @__PURE__ */ jsx140("svg", {
49513
49792
  ...props,
49514
49793
  xmlns: "http://www.w3.org/2000/svg",
49515
49794
  viewBox: "0 0 512 512",
49516
- children: /* @__PURE__ */ jsx139("path", {
49795
+ children: /* @__PURE__ */ jsx140("path", {
49517
49796
  fill: "currentColor",
49518
49797
  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"
49519
49798
  })
@@ -49521,7 +49800,7 @@ var MusicIcon = (props) => {
49521
49800
  };
49522
49801
 
49523
49802
  // src/components/icons/next.tsx
49524
- import { jsx as jsx140, jsxs as jsxs54 } from "react/jsx-runtime";
49803
+ import { jsx as jsx141, jsxs as jsxs54 } from "react/jsx-runtime";
49525
49804
  var NextIcon = ({ style: style4 }) => {
49526
49805
  return /* @__PURE__ */ jsxs54("svg", {
49527
49806
  fill: "none",
@@ -49529,7 +49808,7 @@ var NextIcon = ({ style: style4 }) => {
49529
49808
  style: style4,
49530
49809
  xmlns: "http://www.w3.org/2000/svg",
49531
49810
  children: [
49532
- /* @__PURE__ */ jsx140("mask", {
49811
+ /* @__PURE__ */ jsx141("mask", {
49533
49812
  height: "180",
49534
49813
  id: "mask0_292_250",
49535
49814
  maskUnits: "userSpaceOnUse",
@@ -49537,7 +49816,7 @@ var NextIcon = ({ style: style4 }) => {
49537
49816
  width: "180",
49538
49817
  x: "0",
49539
49818
  y: "0",
49540
- children: /* @__PURE__ */ jsx140("circle", {
49819
+ children: /* @__PURE__ */ jsx141("circle", {
49541
49820
  cx: "90",
49542
49821
  cy: "90",
49543
49822
  fill: "currentcolor",
@@ -49547,17 +49826,17 @@ var NextIcon = ({ style: style4 }) => {
49547
49826
  /* @__PURE__ */ jsxs54("g", {
49548
49827
  mask: "url(#mask0_292_250)",
49549
49828
  children: [
49550
- /* @__PURE__ */ jsx140("circle", {
49829
+ /* @__PURE__ */ jsx141("circle", {
49551
49830
  cx: "90",
49552
49831
  cy: "90",
49553
49832
  fill: "currentcolor",
49554
49833
  r: "90"
49555
49834
  }),
49556
- /* @__PURE__ */ jsx140("path", {
49835
+ /* @__PURE__ */ jsx141("path", {
49557
49836
  d: "M149.508 157.52L69.142 54H54V125.97H66.1136V69.3836L139.999 164.845C143.333 162.614 146.509 160.165 149.508 157.52Z",
49558
49837
  fill: "url(#paint0_linear_292_250)"
49559
49838
  }),
49560
- /* @__PURE__ */ jsx140("rect", {
49839
+ /* @__PURE__ */ jsx141("rect", {
49561
49840
  fill: "url(#paint1_linear_292_250)",
49562
49841
  height: "72",
49563
49842
  width: "12",
@@ -49576,10 +49855,10 @@ var NextIcon = ({ style: style4 }) => {
49576
49855
  y1: "116.5",
49577
49856
  y2: "160.5",
49578
49857
  children: [
49579
- /* @__PURE__ */ jsx140("stop", {
49858
+ /* @__PURE__ */ jsx141("stop", {
49580
49859
  stopColor: "var(--background)"
49581
49860
  }),
49582
- /* @__PURE__ */ jsx140("stop", {
49861
+ /* @__PURE__ */ jsx141("stop", {
49583
49862
  offset: "1",
49584
49863
  stopColor: "var(--background)",
49585
49864
  stopOpacity: "0"
@@ -49594,10 +49873,10 @@ var NextIcon = ({ style: style4 }) => {
49594
49873
  y1: "54",
49595
49874
  y2: "106.875",
49596
49875
  children: [
49597
- /* @__PURE__ */ jsx140("stop", {
49876
+ /* @__PURE__ */ jsx141("stop", {
49598
49877
  stopColor: "var(--background)"
49599
49878
  }),
49600
- /* @__PURE__ */ jsx140("stop", {
49879
+ /* @__PURE__ */ jsx141("stop", {
49601
49880
  offset: "1",
49602
49881
  stopColor: "var(--background)",
49603
49882
  stopOpacity: "0"
@@ -49611,7 +49890,7 @@ var NextIcon = ({ style: style4 }) => {
49611
49890
  };
49612
49891
 
49613
49892
  // src/components/icons/overlay.tsx
49614
- import { jsx as jsx141, jsxs as jsxs56 } from "react/jsx-runtime";
49893
+ import { jsx as jsx144, jsxs as jsxs56 } from "react/jsx-runtime";
49615
49894
  var OverlayIcon = (props) => {
49616
49895
  return /* @__PURE__ */ jsxs56("svg", {
49617
49896
  viewBox: "0 0 576 512",
@@ -49619,11 +49898,11 @@ var OverlayIcon = (props) => {
49619
49898
  xmlns: "http://www.w3.org/2000/svg",
49620
49899
  ...props,
49621
49900
  children: [
49622
- /* @__PURE__ */ jsx141("path", {
49901
+ /* @__PURE__ */ jsx144("path", {
49623
49902
  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",
49624
49903
  fill: "currentcolor"
49625
49904
  }),
49626
- /* @__PURE__ */ jsx141("path", {
49905
+ /* @__PURE__ */ jsx144("path", {
49627
49906
  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",
49628
49907
  stroke: "currentcolor",
49629
49908
  transform: "translate(32, -25)",
@@ -49634,13 +49913,13 @@ var OverlayIcon = (props) => {
49634
49913
  };
49635
49914
 
49636
49915
  // src/components/icons/prompt-to-video.tsx
49637
- import { jsx as jsx144 } from "react/jsx-runtime";
49916
+ import { jsx as jsx146 } from "react/jsx-runtime";
49638
49917
  var PromptToVideoIcon = (props) => {
49639
- return /* @__PURE__ */ jsx144("svg", {
49918
+ return /* @__PURE__ */ jsx146("svg", {
49640
49919
  xmlns: "http://www.w3.org/2000/svg",
49641
49920
  viewBox: "0 0 512 512",
49642
49921
  ...props,
49643
- children: /* @__PURE__ */ jsx144("path", {
49922
+ children: /* @__PURE__ */ jsx146("path", {
49644
49923
  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",
49645
49924
  fill: "currentColor"
49646
49925
  })
@@ -49648,23 +49927,23 @@ var PromptToVideoIcon = (props) => {
49648
49927
  };
49649
49928
 
49650
49929
  // src/components/icons/recorder.tsx
49651
- import { jsx as jsx146, jsxs as jsxs57 } from "react/jsx-runtime";
49930
+ import { jsx as jsx147, jsxs as jsxs57 } from "react/jsx-runtime";
49652
49931
  var Recorder = (props) => {
49653
49932
  return /* @__PURE__ */ jsxs57("svg", {
49654
49933
  viewBox: "0 0 700 700",
49655
49934
  ...props,
49656
49935
  children: [
49657
- /* @__PURE__ */ jsx146("path", {
49936
+ /* @__PURE__ */ jsx147("path", {
49658
49937
  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",
49659
49938
  fill: "#F43B00",
49660
49939
  fillOpacity: "0.15"
49661
49940
  }),
49662
- /* @__PURE__ */ jsx146("path", {
49941
+ /* @__PURE__ */ jsx147("path", {
49663
49942
  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",
49664
49943
  fill: "#F43B00",
49665
49944
  fillOpacity: "0.3"
49666
49945
  }),
49667
- /* @__PURE__ */ jsx146("path", {
49946
+ /* @__PURE__ */ jsx147("path", {
49668
49947
  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",
49669
49948
  fill: "#F43B00"
49670
49949
  })
@@ -49673,9 +49952,9 @@ var Recorder = (props) => {
49673
49952
  };
49674
49953
 
49675
49954
  // src/components/icons/remix.tsx
49676
- import { jsx as jsx147, jsxs as jsxs58 } from "react/jsx-runtime";
49955
+ import { jsx as jsx148, jsxs as jsxs58 } from "react/jsx-runtime";
49677
49956
  var ReactRouterIcon = (props) => {
49678
- return /* @__PURE__ */ jsx147("svg", {
49957
+ return /* @__PURE__ */ jsx148("svg", {
49679
49958
  xmlns: "http://www.w3.org/2000/svg",
49680
49959
  width: "800px",
49681
49960
  height: "800px",
@@ -49685,11 +49964,11 @@ var ReactRouterIcon = (props) => {
49685
49964
  ...props,
49686
49965
  children: /* @__PURE__ */ jsxs58("g", {
49687
49966
  children: [
49688
- /* @__PURE__ */ jsx147("path", {
49967
+ /* @__PURE__ */ jsx148("path", {
49689
49968
  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",
49690
49969
  fill: "currentcolor"
49691
49970
  }),
49692
- /* @__PURE__ */ jsx147("path", {
49971
+ /* @__PURE__ */ jsx148("path", {
49693
49972
  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",
49694
49973
  fill: "currentcolor"
49695
49974
  })
@@ -49699,7 +49978,7 @@ var ReactRouterIcon = (props) => {
49699
49978
  };
49700
49979
 
49701
49980
  // src/components/icons/render-server.tsx
49702
- import { jsx as jsx148, jsxs as jsxs59 } from "react/jsx-runtime";
49981
+ import { jsx as jsx149, jsxs as jsxs59 } from "react/jsx-runtime";
49703
49982
  var RenderServerIcon = (props) => {
49704
49983
  return /* @__PURE__ */ jsxs59("svg", {
49705
49984
  ...props,
@@ -49711,14 +49990,14 @@ var RenderServerIcon = (props) => {
49711
49990
  strokeLinecap: "round",
49712
49991
  strokeLinejoin: "round",
49713
49992
  children: [
49714
- /* @__PURE__ */ jsx148("rect", {
49993
+ /* @__PURE__ */ jsx149("rect", {
49715
49994
  width: "18",
49716
49995
  height: "18",
49717
49996
  x: "3",
49718
49997
  y: "3",
49719
49998
  rx: "2"
49720
49999
  }),
49721
- /* @__PURE__ */ jsx148("path", {
50000
+ /* @__PURE__ */ jsx149("path", {
49722
50001
  d: "m10 8 4 4-4 4"
49723
50002
  })
49724
50003
  ]
@@ -49726,13 +50005,13 @@ var RenderServerIcon = (props) => {
49726
50005
  };
49727
50006
 
49728
50007
  // src/components/icons/skia.tsx
49729
- import { jsx as jsx149 } from "react/jsx-runtime";
50008
+ import { jsx as jsx150 } from "react/jsx-runtime";
49730
50009
  var SkiaIcon = (props) => {
49731
- return /* @__PURE__ */ jsx149("svg", {
50010
+ return /* @__PURE__ */ jsx150("svg", {
49732
50011
  ...props,
49733
50012
  xmlns: "http://www.w3.org/2000/svg",
49734
50013
  viewBox: "0 0 576 512",
49735
- children: /* @__PURE__ */ jsx149("path", {
50014
+ children: /* @__PURE__ */ jsx150("path", {
49736
50015
  fill: "currentColor",
49737
50016
  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"
49738
50017
  })
@@ -49740,13 +50019,13 @@ var SkiaIcon = (props) => {
49740
50019
  };
49741
50020
 
49742
50021
  // src/components/icons/stargazer.tsx
49743
- import { jsx as jsx150 } from "react/jsx-runtime";
50022
+ import { jsx as jsx151 } from "react/jsx-runtime";
49744
50023
  var Stargazer = (props) => {
49745
- return /* @__PURE__ */ jsx150("svg", {
50024
+ return /* @__PURE__ */ jsx151("svg", {
49746
50025
  height: "1em",
49747
50026
  viewBox: "0 0 512 512",
49748
50027
  ...props,
49749
- children: /* @__PURE__ */ jsx150("path", {
50028
+ children: /* @__PURE__ */ jsx151("path", {
49750
50029
  fill: "currentcolor",
49751
50030
  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"
49752
50031
  })
@@ -49754,13 +50033,13 @@ var Stargazer = (props) => {
49754
50033
  };
49755
50034
 
49756
50035
  // src/components/icons/still.tsx
49757
- import { jsx as jsx151 } from "react/jsx-runtime";
50036
+ import { jsx as jsx154 } from "react/jsx-runtime";
49758
50037
  var StillIcon = (props) => {
49759
- return /* @__PURE__ */ jsx151("svg", {
50038
+ return /* @__PURE__ */ jsx154("svg", {
49760
50039
  xmlns: "http://www.w3.org/2000/svg",
49761
50040
  viewBox: "0 0 512 512",
49762
50041
  ...props,
49763
- children: /* @__PURE__ */ jsx151("path", {
50042
+ children: /* @__PURE__ */ jsx154("path", {
49764
50043
  fill: "currentColor",
49765
50044
  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"
49766
50045
  })
@@ -49768,12 +50047,12 @@ var StillIcon = (props) => {
49768
50047
  };
49769
50048
 
49770
50049
  // src/components/icons/tiktok.tsx
49771
- import { jsx as jsx154 } from "react/jsx-runtime";
50050
+ import { jsx as jsx156 } from "react/jsx-runtime";
49772
50051
  var TikTok = (props) => {
49773
- return /* @__PURE__ */ jsx154("svg", {
50052
+ return /* @__PURE__ */ jsx156("svg", {
49774
50053
  ...props,
49775
50054
  viewBox: "0 0 448 512",
49776
- children: /* @__PURE__ */ jsx154("path", {
50055
+ children: /* @__PURE__ */ jsx156("path", {
49777
50056
  fill: "currentcolor",
49778
50057
  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"
49779
50058
  })
@@ -49781,14 +50060,14 @@ var TikTok = (props) => {
49781
50060
  };
49782
50061
 
49783
50062
  // src/components/icons/ts.tsx
49784
- import { jsx as jsx156 } from "react/jsx-runtime";
50063
+ import { jsx as jsx157 } from "react/jsx-runtime";
49785
50064
  var TypeScriptIcon = (props) => {
49786
- return /* @__PURE__ */ jsx156("svg", {
50065
+ return /* @__PURE__ */ jsx157("svg", {
49787
50066
  fill: "#000000",
49788
50067
  xmlns: "http://www.w3.org/2000/svg",
49789
50068
  viewBox: "0 0 24 24",
49790
50069
  ...props,
49791
- children: /* @__PURE__ */ jsx156("path", {
50070
+ children: /* @__PURE__ */ jsx157("path", {
49792
50071
  fill: "currentColor",
49793
50072
  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"
49794
50073
  })
@@ -49796,27 +50075,27 @@ var TypeScriptIcon = (props) => {
49796
50075
  };
49797
50076
 
49798
50077
  // src/components/icons/vercel.tsx
49799
- import { jsx as jsx157 } from "react/jsx-runtime";
50078
+ import { jsx as jsx158 } from "react/jsx-runtime";
49800
50079
  var VercelIcon = ({ style: style4 }) => {
49801
- return /* @__PURE__ */ jsx157("svg", {
50080
+ return /* @__PURE__ */ jsx158("svg", {
49802
50081
  fill: "currentcolor",
49803
50082
  viewBox: "0 0 76 65",
49804
50083
  style: style4,
49805
50084
  xmlns: "http://www.w3.org/2000/svg",
49806
- children: /* @__PURE__ */ jsx157("path", {
50085
+ children: /* @__PURE__ */ jsx158("path", {
49807
50086
  d: "M37.5274 0L75.0548 65H0L37.5274 0Z"
49808
50087
  })
49809
50088
  });
49810
50089
  };
49811
50090
 
49812
50091
  // src/components/icons/waveform.tsx
49813
- import { jsx as jsx158 } from "react/jsx-runtime";
50092
+ import { jsx as jsx159 } from "react/jsx-runtime";
49814
50093
  var Waveform = (props) => {
49815
- return /* @__PURE__ */ jsx158("svg", {
50094
+ return /* @__PURE__ */ jsx159("svg", {
49816
50095
  xmlns: "http://www.w3.org/2000/svg",
49817
50096
  viewBox: "0 0 640 512",
49818
50097
  ...props,
49819
- children: /* @__PURE__ */ jsx158("path", {
50098
+ children: /* @__PURE__ */ jsx159("path", {
49820
50099
  fill: "currentColor",
49821
50100
  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"
49822
50101
  })
@@ -49824,17 +50103,17 @@ var Waveform = (props) => {
49824
50103
  };
49825
50104
 
49826
50105
  // src/components/homepage/IconForTemplate.tsx
49827
- import { jsx as jsx159 } from "react/jsx-runtime";
50106
+ import { jsx as jsx160 } from "react/jsx-runtime";
49828
50107
  var IconForTemplate = ({ template, scale: scale4 = 1 }) => {
49829
50108
  if (template.cliId === "hello-world") {
49830
- return /* @__PURE__ */ jsx159(TypeScriptIcon, {
50109
+ return /* @__PURE__ */ jsx160(TypeScriptIcon, {
49831
50110
  style: {
49832
50111
  height: scale4 * 48
49833
50112
  }
49834
50113
  });
49835
50114
  }
49836
50115
  if (template.cliId === "blank") {
49837
- return /* @__PURE__ */ jsx159(Blank, {
50116
+ return /* @__PURE__ */ jsx160(Blank, {
49838
50117
  style: {
49839
50118
  height: scale4 * 36,
49840
50119
  overflow: "visible"
@@ -49842,106 +50121,106 @@ var IconForTemplate = ({ template, scale: scale4 = 1 }) => {
49842
50121
  });
49843
50122
  }
49844
50123
  if (template.cliId === "javascript") {
49845
- return /* @__PURE__ */ jsx159(JSIcon, {
50124
+ return /* @__PURE__ */ jsx160(JSIcon, {
49846
50125
  style: {
49847
50126
  height: scale4 * 40
49848
50127
  }
49849
50128
  });
49850
50129
  }
49851
50130
  if (template.cliId === "three") {
49852
- return /* @__PURE__ */ jsx159(Cubes, {
50131
+ return /* @__PURE__ */ jsx160(Cubes, {
49853
50132
  style: {
49854
50133
  height: scale4 * 36
49855
50134
  }
49856
50135
  });
49857
50136
  }
49858
50137
  if (template.cliId === "still") {
49859
- return /* @__PURE__ */ jsx159(StillIcon, {
50138
+ return /* @__PURE__ */ jsx160(StillIcon, {
49860
50139
  style: {
49861
50140
  height: scale4 * 36
49862
50141
  }
49863
50142
  });
49864
50143
  }
49865
50144
  if (template.cliId === "audiogram") {
49866
- return /* @__PURE__ */ jsx159(Waveform, {
50145
+ return /* @__PURE__ */ jsx160(Waveform, {
49867
50146
  style: {
49868
50147
  height: scale4 * 36
49869
50148
  }
49870
50149
  });
49871
50150
  }
49872
50151
  if (template.cliId === "skia") {
49873
- return /* @__PURE__ */ jsx159(SkiaIcon, {
50152
+ return /* @__PURE__ */ jsx160(SkiaIcon, {
49874
50153
  style: {
49875
50154
  height: scale4 * 32
49876
50155
  }
49877
50156
  });
49878
50157
  }
49879
50158
  if (template.cliId === "music-visualization") {
49880
- return /* @__PURE__ */ jsx159(MusicIcon, {
50159
+ return /* @__PURE__ */ jsx160(MusicIcon, {
49881
50160
  style: {
49882
50161
  height: scale4 * 32
49883
50162
  }
49884
50163
  });
49885
50164
  }
49886
50165
  if (template.cliId === "react-router") {
49887
- return /* @__PURE__ */ jsx159(ReactRouterIcon, {
50166
+ return /* @__PURE__ */ jsx160(ReactRouterIcon, {
49888
50167
  style: {
49889
50168
  height: scale4 * 32
49890
50169
  }
49891
50170
  });
49892
50171
  }
49893
50172
  if (template.cliId === "overlay") {
49894
- return /* @__PURE__ */ jsx159(OverlayIcon, {
50173
+ return /* @__PURE__ */ jsx160(OverlayIcon, {
49895
50174
  style: { height: scale4 * 42 }
49896
50175
  });
49897
50176
  }
49898
50177
  if (template.cliId === "render-server") {
49899
- return /* @__PURE__ */ jsx159(RenderServerIcon, {
50178
+ return /* @__PURE__ */ jsx160(RenderServerIcon, {
49900
50179
  style: { height: scale4 * 36 }
49901
50180
  });
49902
50181
  }
49903
50182
  if (template.cliId === "electron") {
49904
- return /* @__PURE__ */ jsx159(ElectronIcon, {
50183
+ return /* @__PURE__ */ jsx160(ElectronIcon, {
49905
50184
  style: { height: scale4 * 36 }
49906
50185
  });
49907
50186
  }
49908
50187
  if (template.cliId === "recorder") {
49909
- return /* @__PURE__ */ jsx159(Recorder, {
50188
+ return /* @__PURE__ */ jsx160(Recorder, {
49910
50189
  style: { height: scale4 * 36 }
49911
50190
  });
49912
50191
  }
49913
50192
  if (template.cliId === "next" || template.cliId === "next-no-tailwind" || template.cliId === "next-pages-dir") {
49914
- return /* @__PURE__ */ jsx159(NextIcon, {
50193
+ return /* @__PURE__ */ jsx160(NextIcon, {
49915
50194
  style: { height: scale4 * 36 }
49916
50195
  });
49917
50196
  }
49918
50197
  if (template.cliId === "stargazer") {
49919
- return /* @__PURE__ */ jsx159(Stargazer, {
50198
+ return /* @__PURE__ */ jsx160(Stargazer, {
49920
50199
  style: { height: scale4 * 36 }
49921
50200
  });
49922
50201
  }
49923
50202
  if (template.cliId === "tiktok") {
49924
- return /* @__PURE__ */ jsx159(TikTok, {
50203
+ return /* @__PURE__ */ jsx160(TikTok, {
49925
50204
  style: { height: scale4 * 36 }
49926
50205
  });
49927
50206
  }
49928
50207
  if (template.cliId === "code-hike") {
49929
- return /* @__PURE__ */ jsx159(CodeHike, {
50208
+ return /* @__PURE__ */ jsx160(CodeHike, {
49930
50209
  style: { height: scale4 * 36 }
49931
50210
  });
49932
50211
  }
49933
50212
  if (template.cliId === "prompt-to-video") {
49934
- return /* @__PURE__ */ jsx159(PromptToVideoIcon, {
50213
+ return /* @__PURE__ */ jsx160(PromptToVideoIcon, {
49935
50214
  style: { height: scale4 * 36 }
49936
50215
  });
49937
50216
  }
49938
50217
  if (template.cliId === "prompt-to-motion-graphics") {
49939
- return /* @__PURE__ */ jsx159(BrainIcon, {
50218
+ return /* @__PURE__ */ jsx160(BrainIcon, {
49940
50219
  style: { height: scale4 * 36 }
49941
50220
  });
49942
50221
  }
49943
50222
  if (template.cliId === "vercel") {
49944
- return /* @__PURE__ */ jsx159(VercelIcon, {
50223
+ return /* @__PURE__ */ jsx160(VercelIcon, {
49945
50224
  style: { height: scale4 * 28 }
49946
50225
  });
49947
50226
  }
@@ -49955,7 +50234,7 @@ var useMobileLayout = () => {
49955
50234
  };
49956
50235
 
49957
50236
  // src/components/homepage/MoreTemplatesButton.tsx
49958
- import { jsx as jsx160, jsxs as jsxs60 } from "react/jsx-runtime";
50237
+ import { jsx as jsx161, jsxs as jsxs60 } from "react/jsx-runtime";
49959
50238
  var icon7 = {
49960
50239
  height: 16,
49961
50240
  marginLeft: 10
@@ -49967,11 +50246,11 @@ var MoreTemplatesButton = () => {
49967
50246
  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",
49968
50247
  children: [
49969
50248
  mobileLayout ? "Templates" : "Find a template",
49970
- /* @__PURE__ */ jsx160("svg", {
50249
+ /* @__PURE__ */ jsx161("svg", {
49971
50250
  style: icon7,
49972
50251
  xmlns: "http://www.w3.org/2000/svg",
49973
50252
  viewBox: "0 0 448 512",
49974
- children: /* @__PURE__ */ jsx160("path", {
50253
+ children: /* @__PURE__ */ jsx161("path", {
49975
50254
  fill: "currentColor",
49976
50255
  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"
49977
50256
  })
@@ -49981,7 +50260,7 @@ var MoreTemplatesButton = () => {
49981
50260
  };
49982
50261
 
49983
50262
  // src/components/homepage/TemplateIcon.tsx
49984
- import { jsx as jsx161, jsxs as jsxs61 } from "react/jsx-runtime";
50263
+ import { jsx as jsx164, jsxs as jsxs61 } from "react/jsx-runtime";
49985
50264
  var icon8 = {
49986
50265
  display: "flex",
49987
50266
  width: 36,
@@ -50005,11 +50284,11 @@ var TemplateIcon = ({ children, label: label3 }) => {
50005
50284
  return /* @__PURE__ */ jsxs61("span", {
50006
50285
  style: outer,
50007
50286
  children: [
50008
- /* @__PURE__ */ jsx161("div", {
50287
+ /* @__PURE__ */ jsx164("div", {
50009
50288
  style: icon8,
50010
50289
  children
50011
50290
  }),
50012
- mobileLayout ? null : /* @__PURE__ */ jsx161("div", {
50291
+ mobileLayout ? null : /* @__PURE__ */ jsx164("div", {
50013
50292
  className: "text-xs fontbrand",
50014
50293
  children: label3
50015
50294
  })
@@ -50018,14 +50297,14 @@ var TemplateIcon = ({ children, label: label3 }) => {
50018
50297
  };
50019
50298
 
50020
50299
  // src/components/homepage/ChooseTemplate.tsx
50021
- import { jsx as jsx164, jsxs as jsxs63 } from "react/jsx-runtime";
50300
+ import { jsx as jsx166, jsxs as jsxs63 } from "react/jsx-runtime";
50022
50301
  var ChooseTemplate = () => {
50023
- return /* @__PURE__ */ jsx164("div", {
50302
+ return /* @__PURE__ */ jsx166("div", {
50024
50303
  style: {
50025
50304
  display: "flex",
50026
50305
  flexDirection: "column"
50027
50306
  },
50028
- children: /* @__PURE__ */ jsx164("div", {
50307
+ children: /* @__PURE__ */ jsx166("div", {
50029
50308
  style: {
50030
50309
  position: "relative",
50031
50310
  textAlign: "center"
@@ -50044,19 +50323,19 @@ var ChooseTemplate = () => {
50044
50323
  },
50045
50324
  children: [
50046
50325
  CreateVideoInternals.FEATURED_TEMPLATES.filter((f) => f.featuredOnHomePage).map((template) => {
50047
- return /* @__PURE__ */ jsx164("a", {
50326
+ return /* @__PURE__ */ jsx166("a", {
50048
50327
  className: "text-inherit no-underline",
50049
50328
  href: `/templates/${template.cliId}`,
50050
- children: /* @__PURE__ */ jsx164(TemplateIcon, {
50329
+ children: /* @__PURE__ */ jsx166(TemplateIcon, {
50051
50330
  label: template.featuredOnHomePage,
50052
- children: /* @__PURE__ */ jsx164(IconForTemplate, {
50331
+ children: /* @__PURE__ */ jsx166(IconForTemplate, {
50053
50332
  scale: 0.7,
50054
50333
  template
50055
50334
  })
50056
50335
  })
50057
50336
  }, template.cliId);
50058
50337
  }),
50059
- /* @__PURE__ */ jsx164(MoreTemplatesButton, {})
50338
+ /* @__PURE__ */ jsx166(MoreTemplatesButton, {})
50060
50339
  ]
50061
50340
  })
50062
50341
  })
@@ -50067,12 +50346,12 @@ var ChooseTemplate = () => {
50067
50346
  import { useState as useState67 } from "react";
50068
50347
 
50069
50348
  // src/components/homepage/GitHubButton.tsx
50070
- import { jsx as jsx166, jsxs as jsxs65 } from "react/jsx-runtime";
50349
+ import { jsx as jsx167, jsxs as jsxs65 } from "react/jsx-runtime";
50071
50350
  var GithubIcon = () => {
50072
- return /* @__PURE__ */ jsx166("svg", {
50351
+ return /* @__PURE__ */ jsx167("svg", {
50073
50352
  viewBox: "0 0 496 512",
50074
50353
  style: { height: 24, marginRight: 8 },
50075
- children: /* @__PURE__ */ jsx166("path", {
50354
+ children: /* @__PURE__ */ jsx167("path", {
50076
50355
  fill: "currentColor",
50077
50356
  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"
50078
50357
  })
@@ -50082,33 +50361,33 @@ var GithubButton = () => {
50082
50361
  return /* @__PURE__ */ jsxs65("div", {
50083
50362
  className: "flex flex-row items-center text-base",
50084
50363
  children: [
50085
- /* @__PURE__ */ jsx166(GithubIcon, {}),
50364
+ /* @__PURE__ */ jsx167(GithubIcon, {}),
50086
50365
  " ",
50087
- /* @__PURE__ */ jsx166("span", {
50366
+ /* @__PURE__ */ jsx167("span", {
50088
50367
  children: "GitHub"
50089
50368
  }),
50090
50369
  " ",
50091
- /* @__PURE__ */ jsx166("div", {
50370
+ /* @__PURE__ */ jsx167("div", {
50092
50371
  className: "text-xs inline-block ml-2 leading-none mt-[3px] self-center",
50093
- children: "49k"
50372
+ children: "50k"
50094
50373
  })
50095
50374
  ]
50096
50375
  });
50097
50376
  };
50098
50377
 
50099
50378
  // src/components/homepage/GetStartedStrip.tsx
50100
- import { jsx as jsx167, jsxs as jsxs66 } from "react/jsx-runtime";
50379
+ import { jsx as jsx168, jsxs as jsxs66 } from "react/jsx-runtime";
50101
50380
  var GetStarted = () => {
50102
50381
  const [clicked, setClicked] = useState67(null);
50103
50382
  return /* @__PURE__ */ jsxs66("div", {
50104
50383
  className: "flex flex-col lg:flex-row items-center justify-center text-center w-full",
50105
50384
  children: [
50106
- /* @__PURE__ */ jsx167("div", {
50385
+ /* @__PURE__ */ jsx168("div", {
50107
50386
  className: "w-full lg:w-auto",
50108
50387
  children: /* @__PURE__ */ jsxs66("div", {
50109
50388
  className: "flex flex-row w-full relative",
50110
50389
  children: [
50111
- clicked ? /* @__PURE__ */ jsx167("div", {
50390
+ clicked ? /* @__PURE__ */ jsx168("div", {
50112
50391
  style: {
50113
50392
  animation: "click 0.7s linear",
50114
50393
  animationFillMode: "forwards"
@@ -50116,7 +50395,7 @@ var GetStarted = () => {
50116
50395
  className: "absolute z-0 top-[-10px] font-mono text-sm text-center w-full",
50117
50396
  children: "Copied!"
50118
50397
  }, clicked) : null,
50119
- /* @__PURE__ */ jsx167(Button, {
50398
+ /* @__PURE__ */ jsx168(Button, {
50120
50399
  className: "bg-[#333] text-white rounded-lg px-4 font-mono hover:[#444] cursor-pointer w-full",
50121
50400
  onClick: () => {
50122
50401
  navigator.clipboard.writeText("npx create-video@latest");
@@ -50128,59 +50407,59 @@ var GetStarted = () => {
50128
50407
  ]
50129
50408
  })
50130
50409
  }),
50131
- /* @__PURE__ */ jsx167("div", {
50410
+ /* @__PURE__ */ jsx168("div", {
50132
50411
  style: { width: 10, height: 10 }
50133
50412
  }),
50134
- /* @__PURE__ */ jsx167("div", {
50413
+ /* @__PURE__ */ jsx168("div", {
50135
50414
  className: "w-full lg:w-auto",
50136
- children: /* @__PURE__ */ jsx167(Button, {
50415
+ children: /* @__PURE__ */ jsx168(Button, {
50137
50416
  href: "/docs",
50138
50417
  className: "w-full",
50139
50418
  children: "Docs"
50140
50419
  })
50141
50420
  }),
50142
- /* @__PURE__ */ jsx167("div", {
50421
+ /* @__PURE__ */ jsx168("div", {
50143
50422
  className: "w-2 h-2"
50144
50423
  }),
50145
- /* @__PURE__ */ jsx167("div", {
50424
+ /* @__PURE__ */ jsx168("div", {
50146
50425
  className: "w-full lg:w-auto",
50147
- children: /* @__PURE__ */ jsx167(Button, {
50426
+ children: /* @__PURE__ */ jsx168(Button, {
50148
50427
  href: "https://remotion.dev/discord",
50149
50428
  target: "_blank",
50150
50429
  className: "w-full",
50151
50430
  children: "Discord"
50152
50431
  })
50153
50432
  }),
50154
- /* @__PURE__ */ jsx167("div", {
50433
+ /* @__PURE__ */ jsx168("div", {
50155
50434
  className: "w-2 h-2"
50156
50435
  }),
50157
- /* @__PURE__ */ jsx167("div", {
50436
+ /* @__PURE__ */ jsx168("div", {
50158
50437
  className: "w-full lg:w-auto",
50159
- children: /* @__PURE__ */ jsx167(Button, {
50438
+ children: /* @__PURE__ */ jsx168(Button, {
50160
50439
  href: "https://github.com/remotion-dev/remotion",
50161
50440
  target: "_blank",
50162
50441
  className: "w-full",
50163
- children: /* @__PURE__ */ jsx167(GithubButton, {})
50442
+ children: /* @__PURE__ */ jsx168(GithubButton, {})
50164
50443
  })
50165
50444
  }),
50166
50445
  " ",
50167
- /* @__PURE__ */ jsx167("div", {
50446
+ /* @__PURE__ */ jsx168("div", {
50168
50447
  className: "w-2 h-2"
50169
50448
  }),
50170
- /* @__PURE__ */ jsx167("div", {
50449
+ /* @__PURE__ */ jsx168("div", {
50171
50450
  className: "w-full lg:w-auto",
50172
50451
  children: /* @__PURE__ */ jsxs66(Button, {
50173
50452
  href: "/prompts",
50174
50453
  className: "w-full",
50175
50454
  children: [
50176
- /* @__PURE__ */ jsx167("svg", {
50455
+ /* @__PURE__ */ jsx168("svg", {
50177
50456
  width: "20",
50178
50457
  height: "20",
50179
50458
  viewBox: "0 0 149 149",
50180
50459
  fill: "none",
50181
50460
  xmlns: "http://www.w3.org/2000/svg",
50182
50461
  style: { marginRight: 8 },
50183
- children: /* @__PURE__ */ jsx167("path", {
50462
+ children: /* @__PURE__ */ jsx168("path", {
50184
50463
  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",
50185
50464
  fill: "#D97757"
50186
50465
  })
@@ -50194,11 +50473,11 @@ var GetStarted = () => {
50194
50473
  };
50195
50474
 
50196
50475
  // src/components/homepage/WriteInReact.tsx
50197
- import { jsx as jsx168, jsxs as jsxs67 } from "react/jsx-runtime";
50476
+ import { jsx as jsx169, jsxs as jsxs67 } from "react/jsx-runtime";
50198
50477
  var WriteInReact = () => {
50199
50478
  return /* @__PURE__ */ jsxs67("div", {
50200
50479
  children: [
50201
- /* @__PURE__ */ jsx168("h1", {
50480
+ /* @__PURE__ */ jsx169("h1", {
50202
50481
  className: "text-4xl sm:text-5xl lg:text-[5em] text-center fontbrand font-black leading-none text-balance",
50203
50482
  style: {
50204
50483
  textShadow: "0 5px 30px var(--background)"
@@ -50212,84 +50491,84 @@ var WriteInReact = () => {
50212
50491
  className: "font-medium text-center text-lg",
50213
50492
  children: [
50214
50493
  "Create real MP4 videos with React. ",
50215
- /* @__PURE__ */ jsx168("br", {}),
50494
+ /* @__PURE__ */ jsx169("br", {}),
50216
50495
  "Use coding agents, build apps and render in bulk."
50217
50496
  ]
50218
50497
  }),
50219
- /* @__PURE__ */ jsx168("br", {}),
50220
- /* @__PURE__ */ jsx168("div", {
50221
- children: /* @__PURE__ */ jsx168(GetStarted, {})
50498
+ /* @__PURE__ */ jsx169("br", {}),
50499
+ /* @__PURE__ */ jsx169("div", {
50500
+ children: /* @__PURE__ */ jsx169(GetStarted, {})
50222
50501
  }),
50223
- /* @__PURE__ */ jsx168("br", {}),
50224
- /* @__PURE__ */ jsx168("br", {}),
50225
- /* @__PURE__ */ jsx168(ChooseTemplate, {})
50502
+ /* @__PURE__ */ jsx169("br", {}),
50503
+ /* @__PURE__ */ jsx169("br", {}),
50504
+ /* @__PURE__ */ jsx169(ChooseTemplate, {})
50226
50505
  ]
50227
50506
  });
50228
50507
  };
50229
50508
 
50230
50509
  // src/components/Homepage.tsx
50231
- import { jsx as jsx169, jsxs as jsxs68 } from "react/jsx-runtime";
50510
+ import { jsx as jsx170, jsxs as jsxs68 } from "react/jsx-runtime";
50232
50511
  "use client";
50233
50512
  var NewLanding = ({ colorMode, setColorMode }) => {
50234
- return /* @__PURE__ */ jsx169(ColorModeProvider, {
50513
+ return /* @__PURE__ */ jsx170(ColorModeProvider, {
50235
50514
  colorMode,
50236
50515
  setColorMode,
50237
- children: /* @__PURE__ */ jsx169("div", {
50516
+ children: /* @__PURE__ */ jsx170("div", {
50238
50517
  className: "w-full relative",
50239
50518
  children: /* @__PURE__ */ jsxs68("div", {
50240
50519
  style: { overflow: "hidden" },
50241
50520
  children: [
50242
- /* @__PURE__ */ jsx169("div", {
50243
- children: /* @__PURE__ */ jsx169(BackgroundAnimation, {})
50521
+ /* @__PURE__ */ jsx170("div", {
50522
+ children: /* @__PURE__ */ jsx170(BackgroundAnimation, {})
50244
50523
  }),
50245
- /* @__PURE__ */ jsx169("br", {}),
50246
- /* @__PURE__ */ jsx169("br", {}),
50247
- /* @__PURE__ */ jsx169("br", {}),
50248
- /* @__PURE__ */ jsx169("br", {}),
50524
+ /* @__PURE__ */ jsx170("br", {}),
50525
+ /* @__PURE__ */ jsx170("br", {}),
50526
+ /* @__PURE__ */ jsx170("br", {}),
50527
+ /* @__PURE__ */ jsx170("br", {}),
50249
50528
  /* @__PURE__ */ jsxs68("div", {
50250
50529
  className: "max-w-[500px] lg:max-w-[1000px] m-auto pl-5 pr-5 overflow-x-clip md:overflow-x-visible relative",
50251
50530
  children: [
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", {
50531
+ /* @__PURE__ */ jsx170(WriteInReact, {}),
50532
+ /* @__PURE__ */ jsx170("br", {}),
50533
+ /* @__PURE__ */ jsx170(IfYouKnowReact, {}),
50534
+ /* @__PURE__ */ jsx170(ParameterizeAndEdit, {}),
50535
+ /* @__PURE__ */ jsx170(RealMP4Videos, {}),
50536
+ /* @__PURE__ */ jsx170("br", {}),
50537
+ /* @__PURE__ */ jsx170("br", {}),
50538
+ /* @__PURE__ */ jsx170("br", {}),
50539
+ /* @__PURE__ */ jsx170("div", {
50261
50540
  className: "pt-6 md:pt-8",
50262
- children: /* @__PURE__ */ jsx169(AutomationsSection_default, {})
50541
+ children: /* @__PURE__ */ jsx170(AutomationsSection_default, {})
50263
50542
  }),
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, {
50543
+ /* @__PURE__ */ jsx170("br", {}),
50544
+ /* @__PURE__ */ jsx170("br", {}),
50545
+ /* @__PURE__ */ jsx170(Demo, {}),
50546
+ /* @__PURE__ */ jsx170("br", {}),
50547
+ /* @__PURE__ */ jsx170("br", {}),
50548
+ /* @__PURE__ */ jsx170("br", {}),
50549
+ /* @__PURE__ */ jsx170(BuiltWithRemotionShowcase, {}),
50550
+ /* @__PURE__ */ jsx170("br", {}),
50551
+ /* @__PURE__ */ jsx170("br", {}),
50552
+ /* @__PURE__ */ jsx170("br", {}),
50553
+ /* @__PURE__ */ jsx170(SectionTitle, {
50275
50554
  children: "Pricing"
50276
50555
  }),
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", {})
50556
+ /* @__PURE__ */ jsx170(Pricing, {}),
50557
+ /* @__PURE__ */ jsx170(TrustedByBanner_default, {}),
50558
+ /* @__PURE__ */ jsx170("br", {}),
50559
+ /* @__PURE__ */ jsx170(EvaluateRemotion_default, {}),
50560
+ /* @__PURE__ */ jsx170("br", {}),
50561
+ /* @__PURE__ */ jsx170("br", {}),
50562
+ /* @__PURE__ */ jsx170("br", {}),
50563
+ /* @__PURE__ */ jsx170(CommunityStats_default, {}),
50564
+ /* @__PURE__ */ jsx170("br", {}),
50565
+ /* @__PURE__ */ jsx170("br", {}),
50566
+ /* @__PURE__ */ jsx170("br", {}),
50567
+ /* @__PURE__ */ jsx170("br", {}),
50568
+ /* @__PURE__ */ jsx170(NewsletterButton, {}),
50569
+ /* @__PURE__ */ jsx170("br", {}),
50570
+ /* @__PURE__ */ jsx170("br", {}),
50571
+ /* @__PURE__ */ jsx170("br", {})
50293
50572
  ]
50294
50573
  })
50295
50574
  ]