@remotion/promo-pages 4.0.334 → 4.0.340

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
@@ -735,7 +735,7 @@ var __defProp2, __export2 = (target, all) => {
735
735
  });
736
736
  }, useIsPlayer = () => {
737
737
  return useContext(IsPlayerContext);
738
- }, VERSION = "4.0.334", checkMultipleRemotionVersions = () => {
738
+ }, VERSION = "4.0.340", checkMultipleRemotionVersions = () => {
739
739
  if (typeof globalThis === "undefined") {
740
740
  return;
741
741
  }
@@ -1639,6 +1639,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1639
1639
  _remotionInternalLoopDisplay: loopDisplay,
1640
1640
  _remotionInternalStack: stack,
1641
1641
  _remotionInternalPremountDisplay: premountDisplay,
1642
+ _remotionInternalPostmountDisplay: postmountDisplay,
1642
1643
  ...other
1643
1644
  }, ref) => {
1644
1645
  const { layout = "absolute-fill" } = other;
@@ -1674,6 +1675,9 @@ Check that all your Remotion packages are on the same version. If your dependenc
1674
1675
  const premounting = useMemo9(() => {
1675
1676
  return parentSequence?.premounting || Boolean(other._remotionInternalIsPremounting);
1676
1677
  }, [other._remotionInternalIsPremounting, parentSequence?.premounting]);
1678
+ const postmounting = useMemo9(() => {
1679
+ return parentSequence?.postmounting || Boolean(other._remotionInternalIsPostmounting);
1680
+ }, [other._remotionInternalIsPostmounting, parentSequence?.postmounting]);
1677
1681
  const contextValue = useMemo9(() => {
1678
1682
  return {
1679
1683
  cumulatedFrom,
@@ -1683,7 +1687,8 @@ Check that all your Remotion packages are on the same version. If your dependenc
1683
1687
  id,
1684
1688
  height: height ?? parentSequence?.height ?? null,
1685
1689
  width: width ?? parentSequence?.width ?? null,
1686
- premounting
1690
+ premounting,
1691
+ postmounting
1687
1692
  };
1688
1693
  }, [
1689
1694
  cumulatedFrom,
@@ -1693,7 +1698,8 @@ Check that all your Remotion packages are on the same version. If your dependenc
1693
1698
  id,
1694
1699
  height,
1695
1700
  width,
1696
- premounting
1701
+ premounting,
1702
+ postmounting
1697
1703
  ]);
1698
1704
  const timelineClipName = useMemo9(() => {
1699
1705
  return name ?? "";
@@ -1714,7 +1720,8 @@ Check that all your Remotion packages are on the same version. If your dependenc
1714
1720
  nonce,
1715
1721
  loopDisplay,
1716
1722
  stack: stack ?? null,
1717
- premountDisplay: premountDisplay ?? null
1723
+ premountDisplay: premountDisplay ?? null,
1724
+ postmountDisplay: postmountDisplay ?? null
1718
1725
  });
1719
1726
  return () => {
1720
1727
  unregisterSequence(id);
@@ -1734,7 +1741,8 @@ Check that all your Remotion packages are on the same version. If your dependenc
1734
1741
  nonce,
1735
1742
  loopDisplay,
1736
1743
  stack,
1737
- premountDisplay
1744
+ premountDisplay,
1745
+ postmountDisplay
1738
1746
  ]);
1739
1747
  const endThreshold = Math.ceil(cumulatedFrom + from + durationInFrames - 1);
1740
1748
  const content = absoluteFrame < cumulatedFrom + from ? null : absoluteFrame > endThreshold ? null : children;
@@ -1763,45 +1771,64 @@ Check that all your Remotion packages are on the same version. If your dependenc
1763
1771
  children: content
1764
1772
  })
1765
1773
  });
1766
- }, RegularSequence, PremountedSequenceRefForwardingFunction = (props, ref) => {
1774
+ }, RegularSequence, PremountedPostmountedSequenceRefForwardingFunction = (props, ref) => {
1767
1775
  const frame = useCurrentFrame();
1768
1776
  if (props.layout === "none") {
1769
- throw new Error('`<Sequence>` with `premountFor` prop does not support layout="none"');
1777
+ throw new Error('`<Sequence>` with `premountFor` and `postmountFor` props does not support layout="none"');
1770
1778
  }
1771
1779
  const {
1772
1780
  style: passedStyle,
1773
1781
  from = 0,
1782
+ durationInFrames = Infinity,
1774
1783
  premountFor = 0,
1784
+ postmountFor = 0,
1775
1785
  styleWhilePremounted,
1786
+ styleWhilePostmounted,
1776
1787
  ...otherProps
1777
1788
  } = props;
1789
+ const endThreshold = Math.ceil(from + durationInFrames - 1);
1778
1790
  const premountingActive = frame < from && frame >= from - premountFor;
1791
+ const postmountingActive = frame > endThreshold && frame <= endThreshold + postmountFor;
1792
+ const freezeFrame = premountingActive ? from : postmountingActive ? from + durationInFrames - 1 : 0;
1793
+ const isFreezingActive = premountingActive || postmountingActive;
1779
1794
  const style = useMemo9(() => {
1780
1795
  return {
1781
1796
  ...passedStyle,
1782
- opacity: premountingActive ? 0 : 1,
1783
- pointerEvents: premountingActive ? "none" : passedStyle?.pointerEvents ?? undefined,
1784
- ...premountingActive ? styleWhilePremounted : {}
1797
+ opacity: premountingActive || postmountingActive ? 0 : 1,
1798
+ pointerEvents: premountingActive || postmountingActive ? "none" : passedStyle?.pointerEvents ?? undefined,
1799
+ ...premountingActive ? styleWhilePremounted : {},
1800
+ ...postmountingActive ? styleWhilePostmounted : {}
1785
1801
  };
1786
- }, [passedStyle, premountingActive, styleWhilePremounted]);
1802
+ }, [
1803
+ passedStyle,
1804
+ premountingActive,
1805
+ postmountingActive,
1806
+ styleWhilePremounted,
1807
+ styleWhilePostmounted
1808
+ ]);
1787
1809
  return /* @__PURE__ */ jsx82(Freeze, {
1788
- frame: from,
1789
- active: premountingActive,
1810
+ frame: freezeFrame,
1811
+ active: isFreezingActive,
1790
1812
  children: /* @__PURE__ */ jsx82(Sequence, {
1791
1813
  ref,
1792
1814
  from,
1815
+ durationInFrames,
1793
1816
  style,
1794
1817
  _remotionInternalPremountDisplay: premountFor,
1818
+ _remotionInternalPostmountDisplay: postmountFor,
1795
1819
  _remotionInternalIsPremounting: premountingActive,
1820
+ _remotionInternalIsPostmounting: postmountingActive,
1796
1821
  ...otherProps
1797
1822
  })
1798
1823
  });
1799
- }, PremountedSequence, SequenceRefForwardingFunction = (props, ref) => {
1800
- if (props.layout !== "none" && props.premountFor && !getRemotionEnvironment().isRendering) {
1801
- return /* @__PURE__ */ jsx82(PremountedSequence, {
1802
- ...props,
1803
- ref
1804
- });
1824
+ }, PremountedPostmountedSequence, SequenceRefForwardingFunction = (props, ref) => {
1825
+ if (props.layout !== "none" && !getRemotionEnvironment().isRendering) {
1826
+ if (props.premountFor || props.postmountFor) {
1827
+ return /* @__PURE__ */ jsx82(PremountedPostmountedSequence, {
1828
+ ...props,
1829
+ ref
1830
+ });
1831
+ }
1805
1832
  }
1806
1833
  return /* @__PURE__ */ jsx82(RegularSequence, {
1807
1834
  ...props,
@@ -3233,8 +3260,10 @@ Check that all your Remotion packages are on the same version. If your dependenc
3233
3260
  stack,
3234
3261
  showInTimeline,
3235
3262
  premountDisplay,
3263
+ postmountDisplay,
3236
3264
  onAutoPlayError,
3237
- isPremounting
3265
+ isPremounting,
3266
+ isPostmounting
3238
3267
  }) => {
3239
3268
  const videoConfig = useVideoConfig();
3240
3269
  const { rootId, audioAndVideoTags } = useContext17(TimelineContext);
@@ -3296,7 +3325,8 @@ Check that all your Remotion packages are on the same version. If your dependenc
3296
3325
  loopDisplay: undefined,
3297
3326
  playbackRate,
3298
3327
  stack,
3299
- premountDisplay
3328
+ premountDisplay,
3329
+ postmountDisplay
3300
3330
  });
3301
3331
  return () => {
3302
3332
  unregisterSequence(id);
@@ -3321,7 +3351,8 @@ Check that all your Remotion packages are on the same version. If your dependenc
3321
3351
  displayName,
3322
3352
  stack,
3323
3353
  showInTimeline,
3324
- premountDisplay
3354
+ premountDisplay,
3355
+ postmountDisplay
3325
3356
  ]);
3326
3357
  useEffect8(() => {
3327
3358
  const tag = {
@@ -3330,7 +3361,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3330
3361
  if (!imperativePlaying.current) {
3331
3362
  return;
3332
3363
  }
3333
- if (isPremounting) {
3364
+ if (isPremounting || isPostmounting) {
3334
3365
  return;
3335
3366
  }
3336
3367
  return playAndHandleNotAllowedError({
@@ -3355,6 +3386,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3355
3386
  onAutoPlayError,
3356
3387
  imperativePlaying,
3357
3388
  isPremounting,
3389
+ isPostmounting,
3358
3390
  logLevel,
3359
3391
  mountTime
3360
3392
  ]);
@@ -3585,6 +3617,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3585
3617
  element,
3586
3618
  shouldBuffer,
3587
3619
  isPremounting,
3620
+ isPostmounting,
3588
3621
  logLevel,
3589
3622
  mountTime,
3590
3623
  src
@@ -3600,8 +3633,8 @@ Check that all your Remotion packages are on the same version. If your dependenc
3600
3633
  if (!shouldBuffer) {
3601
3634
  return;
3602
3635
  }
3603
- if (isPremounting) {
3604
- if (current.readyState < current.HAVE_FUTURE_DATA) {
3636
+ if (isPremounting || isPostmounting) {
3637
+ if ((isPremounting || isPostmounting) && current.readyState < current.HAVE_FUTURE_DATA) {
3605
3638
  if (!navigator.userAgent.includes("Firefox/")) {
3606
3639
  playbackLogging({
3607
3640
  logLevel,
@@ -3705,7 +3738,16 @@ Check that all your Remotion packages are on the same version. If your dependenc
3705
3738
  return () => {
3706
3739
  cleanup("element was unmounted or prop changed");
3707
3740
  };
3708
- }, [buffer, src, element, isPremounting, logLevel, shouldBuffer, mountTime]);
3741
+ }, [
3742
+ buffer,
3743
+ src,
3744
+ element,
3745
+ isPremounting,
3746
+ isPostmounting,
3747
+ logLevel,
3748
+ shouldBuffer,
3749
+ mountTime
3750
+ ]);
3709
3751
  return isBuffering;
3710
3752
  }, useRequestVideoCallbackTime = ({
3711
3753
  mediaRef,
@@ -3827,6 +3869,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3827
3869
  acceptableTimeshift,
3828
3870
  pauseWhenBuffering,
3829
3871
  isPremounting,
3872
+ isPostmounting,
3830
3873
  onAutoPlayError
3831
3874
  }) => {
3832
3875
  const { playbackRate: globalPlaybackRate } = useContext20(TimelineContext);
@@ -3871,6 +3914,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3871
3914
  element: mediaRef,
3872
3915
  shouldBuffer: pauseWhenBuffering,
3873
3916
  isPremounting,
3917
+ isPostmounting,
3874
3918
  logLevel,
3875
3919
  mountTime,
3876
3920
  src: src ?? null
@@ -3902,7 +3946,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3902
3946
  playbackLogging({
3903
3947
  logLevel,
3904
3948
  tag: "pause",
3905
- message: `Pausing ${mediaRef.current?.src} because ${isPremounting ? "media is premounting" : "Player is not playing"}`,
3949
+ message: `Pausing ${mediaRef.current?.src} because ${isPremounting ? "media is premounting" : isPostmounting ? "media is postmounting" : "Player is not playing"}`,
3906
3950
  mountTime
3907
3951
  });
3908
3952
  mediaRef.current?.pause();
@@ -3929,7 +3973,8 @@ Check that all your Remotion packages are on the same version. If your dependenc
3929
3973
  mediaRef,
3930
3974
  mediaType,
3931
3975
  mountTime,
3932
- playing
3976
+ playing,
3977
+ isPostmounting
3933
3978
  ]);
3934
3979
  useLayoutEffect5(() => {
3935
3980
  const playbackRateToSet = Math.max(0, playbackRate);
@@ -3959,7 +4004,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
3959
4004
  mediaRef: mediaRef.current,
3960
4005
  time: shouldBeTime,
3961
4006
  logLevel,
3962
- why: `because time shift is too big. shouldBeTime = ${shouldBeTime}, isTime = ${mediaTagTime}, requestVideoCallbackTime = ${rvcTime}, timeShift = ${timeShift}${isVariableFpsVideo ? ", isVariableFpsVideo = true" : ""}, isPremounting = ${isPremounting}, pauseWhenBuffering = ${pauseWhenBuffering}`,
4007
+ why: `because time shift is too big. shouldBeTime = ${shouldBeTime}, isTime = ${mediaTagTime}, requestVideoCallbackTime = ${rvcTime}, timeShift = ${timeShift}${isVariableFpsVideo ? ", isVariableFpsVideo = true" : ""}, isPremounting = ${isPremounting}, isPostmounting = ${isPostmounting}, pauseWhenBuffering = ${pauseWhenBuffering}`,
3963
4008
  mountTime
3964
4009
  });
3965
4010
  lastSeekDueToShift.current = lastSeek.current;
@@ -4045,6 +4090,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4045
4090
  src,
4046
4091
  onAutoPlayError,
4047
4092
  isPremounting,
4093
+ isPostmounting,
4048
4094
  pauseWhenBuffering,
4049
4095
  mountTime,
4050
4096
  mediaTagCurrentTime
@@ -4091,6 +4137,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4091
4137
  useWebAudioApi,
4092
4138
  onError,
4093
4139
  onNativeError,
4140
+ audioStreamIndex,
4094
4141
  ...nativeProps
4095
4142
  } = props;
4096
4143
  const _propsValid = true;
@@ -4164,8 +4211,10 @@ Check that all your Remotion packages are on the same version. If your dependenc
4164
4211
  stack: _remotionInternalStack,
4165
4212
  showInTimeline,
4166
4213
  premountDisplay: null,
4214
+ postmountDisplay: null,
4167
4215
  onAutoPlayError: null,
4168
- isPremounting: Boolean(sequenceContext?.premounting)
4216
+ isPremounting: Boolean(sequenceContext?.premounting),
4217
+ isPostmounting: Boolean(sequenceContext?.postmounting)
4169
4218
  });
4170
4219
  useMediaPlayback({
4171
4220
  mediaRef: audioRef,
@@ -4175,6 +4224,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4175
4224
  onlyWarnForMediaSeekingError: false,
4176
4225
  acceptableTimeshift: acceptableTimeShiftInSeconds ?? null,
4177
4226
  isPremounting: Boolean(sequenceContext?.premounting),
4227
+ isPostmounting: Boolean(sequenceContext?.postmounting),
4178
4228
  pauseWhenBuffering,
4179
4229
  onAutoPlayError: null
4180
4230
  });
@@ -4233,6 +4283,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4233
4283
  delayRenderTimeoutInMilliseconds,
4234
4284
  loopVolumeCurveBehavior,
4235
4285
  pauseWhenBuffering,
4286
+ audioStreamIndex,
4236
4287
  ...nativeProps
4237
4288
  } = props;
4238
4289
  const absoluteFrame = useTimelinePosition();
@@ -4276,7 +4327,8 @@ Check that all your Remotion packages are on the same version. If your dependenc
4276
4327
  mediaFrame: frame,
4277
4328
  playbackRate: props.playbackRate ?? 1,
4278
4329
  toneFrequency: toneFrequency ?? null,
4279
- audioStartFrame: Math.max(0, -(sequenceContext?.relativeFrom ?? 0))
4330
+ audioStartFrame: Math.max(0, -(sequenceContext?.relativeFrom ?? 0)),
4331
+ audioStreamIndex: audioStreamIndex ?? 0
4280
4332
  });
4281
4333
  return () => unregisterRenderAsset(id);
4282
4334
  }, [
@@ -4292,7 +4344,8 @@ Check that all your Remotion packages are on the same version. If your dependenc
4292
4344
  playbackRate,
4293
4345
  props.playbackRate,
4294
4346
  toneFrequency,
4295
- sequenceContext?.relativeFrom
4347
+ sequenceContext?.relativeFrom,
4348
+ audioStreamIndex
4296
4349
  ]);
4297
4350
  const { src } = props;
4298
4351
  const needsToRenderAudioTag = ref || _remotionInternalNeedsDurationCalculation;
@@ -4762,6 +4815,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4762
4815
  }, [maxRetries, onError, retryIn]);
4763
4816
  if (typeof window !== "undefined") {
4764
4817
  const isPremounting = Boolean(sequenceContext?.premounting);
4818
+ const isPostmounting = Boolean(sequenceContext?.postmounting);
4765
4819
  useLayoutEffect7(() => {
4766
4820
  if (window.process?.env?.NODE_ENV === "test") {
4767
4821
  if (imageRef.current) {
@@ -4777,7 +4831,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4777
4831
  retries: delayRenderRetries ?? undefined,
4778
4832
  timeoutInMilliseconds: delayRenderTimeoutInMilliseconds ?? undefined
4779
4833
  });
4780
- const unblock = pauseWhenLoading && !isPremounting ? delayPlayback().unblock : () => {
4834
+ const unblock = pauseWhenLoading && !isPremounting && !isPostmounting ? delayPlayback().unblock : () => {
4781
4835
  return;
4782
4836
  };
4783
4837
  let unmounted = false;
@@ -4826,6 +4880,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4826
4880
  delayRenderTimeoutInMilliseconds,
4827
4881
  pauseWhenLoading,
4828
4882
  isPremounting,
4883
+ isPostmounting,
4829
4884
  onImageFrame
4830
4885
  ]);
4831
4886
  }
@@ -5227,6 +5282,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5227
5282
  delayRenderTimeoutInMilliseconds,
5228
5283
  allowAmplificationDuringRender,
5229
5284
  useWebAudioApi,
5285
+ audioStreamIndex,
5230
5286
  ...nativeProps
5231
5287
  } = props2;
5232
5288
  const _propsValid = true;
@@ -5263,8 +5319,10 @@ Check that all your Remotion packages are on the same version. If your dependenc
5263
5319
  stack: _remotionInternalStack,
5264
5320
  showInTimeline,
5265
5321
  premountDisplay: null,
5322
+ postmountDisplay: null,
5266
5323
  onAutoPlayError: onAutoPlayError ?? null,
5267
- isPremounting: Boolean(parentSequence?.premounting)
5324
+ isPremounting: Boolean(parentSequence?.premounting),
5325
+ isPostmounting: Boolean(parentSequence?.postmounting)
5268
5326
  });
5269
5327
  useMediaPlayback({
5270
5328
  mediaRef: videoRef,
@@ -5274,6 +5332,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5274
5332
  onlyWarnForMediaSeekingError,
5275
5333
  acceptableTimeshift: acceptableTimeShiftInSeconds ?? null,
5276
5334
  isPremounting: Boolean(parentSequence?.premounting),
5335
+ isPostmounting: Boolean(parentSequence?.postmounting),
5277
5336
  pauseWhenBuffering,
5278
5337
  onAutoPlayError: onAutoPlayError ?? null
5279
5338
  });
@@ -5748,6 +5807,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5748
5807
  delayRenderRetries,
5749
5808
  delayRenderTimeoutInMilliseconds,
5750
5809
  loopVolumeCurveBehavior,
5810
+ audioStreamIndex,
5751
5811
  ...props2
5752
5812
  }, ref) => {
5753
5813
  const absoluteFrame = useTimelinePosition();
@@ -5797,7 +5857,8 @@ Check that all your Remotion packages are on the same version. If your dependenc
5797
5857
  mediaFrame: frame,
5798
5858
  playbackRate: playbackRate ?? 1,
5799
5859
  toneFrequency: toneFrequency ?? null,
5800
- audioStartFrame: Math.max(0, -(sequenceContext?.relativeFrom ?? 0))
5860
+ audioStartFrame: Math.max(0, -(sequenceContext?.relativeFrom ?? 0)),
5861
+ audioStreamIndex: audioStreamIndex ?? 0
5801
5862
  });
5802
5863
  return () => unregisterRenderAsset(id);
5803
5864
  }, [
@@ -5811,7 +5872,8 @@ Check that all your Remotion packages are on the same version. If your dependenc
5811
5872
  absoluteFrame,
5812
5873
  playbackRate,
5813
5874
  toneFrequency,
5814
- sequenceContext?.relativeFrom
5875
+ sequenceContext?.relativeFrom,
5876
+ audioStreamIndex
5815
5877
  ]);
5816
5878
  useImperativeHandle10(ref, () => {
5817
5879
  return videoRef.current;
@@ -6160,7 +6222,7 @@ var init_esm = __esm(() => {
6160
6222
  });
6161
6223
  CanUseRemotionHooks = createContext9(false);
6162
6224
  RegularSequence = forwardRef2(RegularSequenceRefForwardingFunction);
6163
- PremountedSequence = forwardRef2(PremountedSequenceRefForwardingFunction);
6225
+ PremountedPostmountedSequence = forwardRef2(PremountedPostmountedSequenceRefForwardingFunction);
6164
6226
  Sequence = forwardRef2(SequenceRefForwardingFunction);
6165
6227
  logLevels = ["trace", "verbose", "info", "warn", "error"];
6166
6228
  Log = {
@@ -18851,9 +18913,6 @@ var Demo = () => {
18851
18913
  });
18852
18914
  };
18853
18915
 
18854
- // src/components/homepage/EvaluateRemotion.tsx
18855
- import { useEffect as useEffect39, useState as useState33 } from "react";
18856
-
18857
18916
  // src/components/homepage/layout/Button.tsx
18858
18917
  import { jsx as jsx85 } from "react/jsx-runtime";
18859
18918
  var Button = (props) => {
@@ -18889,12 +18948,248 @@ var PlainButton = (props) => {
18889
18948
  color: "var(--text-color)"
18890
18949
  });
18891
18950
  };
18951
+ var ClearButton = (props) => {
18952
+ return /* @__PURE__ */ jsx85(Button, {
18953
+ ...props,
18954
+ background: "transparent",
18955
+ color: "var(--text-color)",
18956
+ hoverColor: "var(--clear-hover)"
18957
+ });
18958
+ };
18959
+
18960
+ // src/components/homepage/MuxVideo.tsx
18961
+ import Hls2 from "hls.js";
18962
+ import { forwardRef as forwardRef17, useEffect as useEffect40, useImperativeHandle as useImperativeHandle14, useRef as useRef30 } from "react";
18963
+
18964
+ // src/components/homepage/VideoPlayerWithControls.tsx
18965
+ import Hls from "hls.js";
18966
+ import"plyr/dist/plyr.css";
18967
+ import { forwardRef as forwardRef16, useCallback as useCallback35, useEffect as useEffect39, useRef as useRef29, useState as useState33 } from "react";
18968
+ import { jsx as jsx87 } from "react/jsx-runtime";
18969
+ var useCombinedRefs = function(...refs) {
18970
+ const targetRef = useRef29(null);
18971
+ useEffect39(() => {
18972
+ refs.forEach((ref) => {
18973
+ if (!ref)
18974
+ return;
18975
+ if (typeof ref === "function") {
18976
+ ref(targetRef.current);
18977
+ } else {
18978
+ ref.current = targetRef.current;
18979
+ }
18980
+ });
18981
+ }, [refs]);
18982
+ return targetRef;
18983
+ };
18984
+ var VideoPlayerWithControls = forwardRef16(({ playbackId, poster, currentTime, onLoaded, onError, onSize, autoPlay }, ref) => {
18985
+ const videoRef = useRef29(null);
18986
+ const metaRef = useCombinedRefs(ref, videoRef);
18987
+ const playerRef = useRef29(null);
18988
+ const [playerInitTime] = useState33(Date.now());
18989
+ const videoError = useCallback35((event) => onError(event), [onError]);
18990
+ const onImageLoad = useCallback35((event) => {
18991
+ const [w, h] = [event.target.width, event.target.height];
18992
+ if (w && h) {
18993
+ onSize({ width: w, height: h });
18994
+ onLoaded();
18995
+ } else {
18996
+ onLoaded();
18997
+ console.error("Error getting img dimensions", event);
18998
+ }
18999
+ }, [onLoaded, onSize]);
19000
+ useEffect39(() => {
19001
+ const img = new Image;
19002
+ img.onload = (evt) => onImageLoad(evt);
19003
+ img.src = poster;
19004
+ }, [onImageLoad, poster]);
19005
+ useEffect39(() => {
19006
+ const video = videoRef.current;
19007
+ const src = `https://stream.mux.com/${playbackId}.m3u8`;
19008
+ let hls;
19009
+ hls = null;
19010
+ if (video) {
19011
+ video.addEventListener("error", videoError);
19012
+ const Plyr = __require("plyr");
19013
+ playerRef.current = new Plyr(video, {
19014
+ previewThumbnails: {
19015
+ enabled: true,
19016
+ src: `https://image.mux.com/${playbackId}/storyboard.vtt`
19017
+ },
19018
+ storage: { enabled: false },
19019
+ fullscreen: {
19020
+ iosNative: true
19021
+ },
19022
+ captions: { active: true, language: "auto", update: true }
19023
+ });
19024
+ if (video.canPlayType("application/vnd.apple.mpegurl")) {
19025
+ video.src = src;
19026
+ } else if (Hls.isSupported()) {
19027
+ hls = new Hls;
19028
+ hls.loadSource(src);
19029
+ hls.attachMedia(video);
19030
+ hls.on(Hls.Events.ERROR, (_event, data2) => {
19031
+ if (data2.fatal) {
19032
+ videoError(new ErrorEvent("HLS.js fatal error"));
19033
+ }
19034
+ });
19035
+ } else {
19036
+ console.error("This is an old browser that does not support MSE https://developer.mozilla.org/en-US/docs/Web/API/Media_Source_Extensions_API");
19037
+ }
19038
+ }
19039
+ return () => {
19040
+ if (video) {
19041
+ video.removeEventListener("error", videoError);
19042
+ }
19043
+ if (hls) {
19044
+ hls.destroy();
19045
+ }
19046
+ };
19047
+ }, [playbackId, playerInitTime, videoError, videoRef]);
19048
+ useEffect39(() => {
19049
+ const video = videoRef.current;
19050
+ if (currentTime && video) {
19051
+ video.currentTime = currentTime;
19052
+ }
19053
+ }, [currentTime]);
19054
+ return /* @__PURE__ */ jsx87("div", {
19055
+ className: "video-container",
19056
+ children: /* @__PURE__ */ jsx87("video", {
19057
+ ref: metaRef,
19058
+ autoPlay,
19059
+ poster,
19060
+ controls: true,
19061
+ playsInline: true
19062
+ })
19063
+ });
19064
+ });
19065
+
19066
+ // src/components/homepage/MuxVideo.tsx
19067
+ import { jsx as jsx88 } from "react/jsx-runtime";
19068
+ var getVideoToPlayUrl = (muxId) => {
19069
+ return `https://stream.mux.com/${muxId}.m3u8`;
19070
+ };
19071
+ var MuxVideoForward = ({ muxId, ...props }, ref) => {
19072
+ const videoRef = useRef30(null);
19073
+ const vidUrl = getVideoToPlayUrl(muxId);
19074
+ useImperativeHandle14(ref, () => videoRef.current, []);
19075
+ useEffect40(() => {
19076
+ let hls;
19077
+ if (videoRef.current) {
19078
+ const { current } = videoRef;
19079
+ if (current.canPlayType("application/vnd.apple.mpegurl")) {
19080
+ current.src = vidUrl;
19081
+ } else if (Hls2.isSupported()) {
19082
+ hls = new Hls2;
19083
+ hls.loadSource(vidUrl);
19084
+ hls.attachMedia(current);
19085
+ } else {
19086
+ console.error("This is a legacy browser that doesn't support MSE");
19087
+ }
19088
+ }
19089
+ return () => {
19090
+ if (hls) {
19091
+ hls.destroy();
19092
+ }
19093
+ };
19094
+ }, [vidUrl, videoRef]);
19095
+ return /* @__PURE__ */ jsx88("video", {
19096
+ ref: videoRef,
19097
+ ...props
19098
+ });
19099
+ };
19100
+ var MuxVideo = forwardRef17(MuxVideoForward);
19101
+
19102
+ // src/components/homepage/EditorStarterSection.tsx
19103
+ import { jsx as jsx89, jsxs as jsxs35 } from "react/jsx-runtime";
19104
+ var EditorStarterSection = () => {
19105
+ return /* @__PURE__ */ jsxs35("div", {
19106
+ children: [
19107
+ /* @__PURE__ */ jsx89(SectionTitle, {
19108
+ children: "Build your own video editor"
19109
+ }),
19110
+ /* @__PURE__ */ jsx89("br", {}),
19111
+ /* @__PURE__ */ jsx89("div", {
19112
+ className: "card flex p-0 overflow-hidden",
19113
+ children: /* @__PURE__ */ jsxs35("div", {
19114
+ className: "flex-1 flex flex-col lg:flex-row justify-center",
19115
+ children: [
19116
+ /* @__PURE__ */ jsx89("div", {
19117
+ className: "w-full max-w-[500px] aspect-square relative overflow-hidden bg-[#eee]",
19118
+ children: /* @__PURE__ */ jsx89(MuxVideo, {
19119
+ muxId: "YIvIidbcAc7009B00Wr7gIbGyq67YGNlytGvMXwdsLRtc",
19120
+ className: "absolute left-0 top-0 w-full h-full object-cover object-top rounded-sm rounded-tr-none rounded-br-none",
19121
+ loop: true,
19122
+ autoPlay: true,
19123
+ playsInline: true,
19124
+ muted: true
19125
+ })
19126
+ }),
19127
+ /* @__PURE__ */ jsxs35("div", {
19128
+ className: "p-6 flex-1 flex flex-col h-full",
19129
+ children: [
19130
+ /* @__PURE__ */ jsx89("div", {
19131
+ className: "text-4xl font-bold fontbrand mt-0",
19132
+ children: "Editor Starter"
19133
+ }),
19134
+ /* @__PURE__ */ jsx89("div", {
19135
+ className: "text-muted mt-4 text-base fontbrand",
19136
+ children: "A comprehensive template that includes everything you need to create custom video editing applications with React and TypeScript."
19137
+ }),
19138
+ /* @__PURE__ */ jsx89("div", {
19139
+ className: "h-5"
19140
+ }),
19141
+ /* @__PURE__ */ jsxs35("div", {
19142
+ className: "flex gap-2 items-center",
19143
+ children: [
19144
+ /* @__PURE__ */ jsx89("a", {
19145
+ href: "https://www.remotion.pro/editor-starter?ref=remotion.dev",
19146
+ target: "_blank",
19147
+ className: "no-underline",
19148
+ children: /* @__PURE__ */ jsx89(BlueButton, {
19149
+ size: "sm",
19150
+ loading: false,
19151
+ children: "Purchase"
19152
+ })
19153
+ }),
19154
+ /* @__PURE__ */ jsx89("a", {
19155
+ href: "https://editor-starter.remotion.dev?ref=remotion.dev",
19156
+ target: "_blank",
19157
+ className: "no-underline",
19158
+ children: /* @__PURE__ */ jsx89(ClearButton, {
19159
+ size: "sm",
19160
+ loading: false,
19161
+ children: "Demo"
19162
+ })
19163
+ }),
19164
+ " ",
19165
+ /* @__PURE__ */ jsx89("a", {
19166
+ href: "https://remotion.dev/editor-starter",
19167
+ className: "no-underline",
19168
+ children: /* @__PURE__ */ jsx89(ClearButton, {
19169
+ size: "sm",
19170
+ loading: false,
19171
+ children: "Docs"
19172
+ })
19173
+ })
19174
+ ]
19175
+ }),
19176
+ /* @__PURE__ */ jsx89("br", {})
19177
+ ]
19178
+ })
19179
+ ]
19180
+ })
19181
+ })
19182
+ ]
19183
+ });
19184
+ };
19185
+ var EditorStarterSection_default = EditorStarterSection;
18892
19186
 
18893
19187
  // src/components/homepage/EvaluateRemotion.tsx
18894
- import { jsx as jsx87, jsxs as jsxs35 } from "react/jsx-runtime";
19188
+ import { useEffect as useEffect41, useState as useState35 } from "react";
19189
+ import { jsx as jsx90, jsxs as jsxs36 } from "react/jsx-runtime";
18895
19190
  var EvaluateRemotionSection = () => {
18896
- const [dailyAvatars, setDailyAvatars] = useState33([]);
18897
- useEffect39(() => {
19191
+ const [dailyAvatars, setDailyAvatars] = useState35([]);
19192
+ useEffect41(() => {
18898
19193
  const avatars = [
18899
19194
  "/img/freelancers/alex.jpeg",
18900
19195
  "/img/freelancers/antoine.jpeg",
@@ -18921,28 +19216,28 @@ var EvaluateRemotionSection = () => {
18921
19216
  }
18922
19217
  setDailyAvatars(selectedAvatars);
18923
19218
  }, []);
18924
- return /* @__PURE__ */ jsxs35("div", {
19219
+ return /* @__PURE__ */ jsxs36("div", {
18925
19220
  className: "flex flex-col lg:flex-row gap-2",
18926
19221
  children: [
18927
- /* @__PURE__ */ jsxs35("div", {
19222
+ /* @__PURE__ */ jsxs36("div", {
18928
19223
  className: "card flex-1 flex flex-col",
18929
19224
  children: [
18930
- /* @__PURE__ */ jsx87("div", {
19225
+ /* @__PURE__ */ jsx90("div", {
18931
19226
  className: "fontbrand text-2xl font-bold",
18932
19227
  children: "Evaluate Remotion for your company"
18933
19228
  }),
18934
- /* @__PURE__ */ jsx87("p", {
19229
+ /* @__PURE__ */ jsx90("p", {
18935
19230
  className: "text-muted fontbrand leading-snug",
18936
19231
  children: "Book a 20 minute call with us to get all your questions answered."
18937
19232
  }),
18938
- /* @__PURE__ */ jsx87("div", {
19233
+ /* @__PURE__ */ jsx90("div", {
18939
19234
  className: "flex-1"
18940
19235
  }),
18941
- /* @__PURE__ */ jsx87("a", {
19236
+ /* @__PURE__ */ jsx90("a", {
18942
19237
  target: "_blank",
18943
19238
  href: "https://cal.com/remotion/evaluate",
18944
19239
  style: { textDecoration: "none" },
18945
- children: /* @__PURE__ */ jsx87(BlueButton, {
19240
+ children: /* @__PURE__ */ jsx90(BlueButton, {
18946
19241
  size: "sm",
18947
19242
  loading: false,
18948
19243
  children: "Schedule a call"
@@ -18950,35 +19245,35 @@ var EvaluateRemotionSection = () => {
18950
19245
  })
18951
19246
  ]
18952
19247
  }),
18953
- /* @__PURE__ */ jsxs35("div", {
19248
+ /* @__PURE__ */ jsxs36("div", {
18954
19249
  className: "card flex-1 flex flex-col",
18955
19250
  children: [
18956
- /* @__PURE__ */ jsx87("div", {
19251
+ /* @__PURE__ */ jsx90("div", {
18957
19252
  className: "fontbrand text-2xl font-bold",
18958
19253
  children: "Get help for your projects"
18959
19254
  }),
18960
- /* @__PURE__ */ jsx87("p", {
19255
+ /* @__PURE__ */ jsx90("p", {
18961
19256
  className: "text-muted fontbrand leading-snug",
18962
19257
  children: "Contact our experts for help and work."
18963
19258
  }),
18964
- /* @__PURE__ */ jsx87("div", {
19259
+ /* @__PURE__ */ jsx90("div", {
18965
19260
  className: "flex-1"
18966
19261
  }),
18967
- /* @__PURE__ */ jsxs35("div", {
19262
+ /* @__PURE__ */ jsxs36("div", {
18968
19263
  className: "flex flex-row justify-between",
18969
19264
  children: [
18970
- /* @__PURE__ */ jsx87("a", {
19265
+ /* @__PURE__ */ jsx90("a", {
18971
19266
  href: "/experts",
18972
19267
  style: { textDecoration: "none" },
18973
- children: /* @__PURE__ */ jsx87(BlueButton, {
19268
+ children: /* @__PURE__ */ jsx90(BlueButton, {
18974
19269
  size: "sm",
18975
19270
  loading: false,
18976
19271
  children: "Remotion Experts"
18977
19272
  })
18978
19273
  }),
18979
- /* @__PURE__ */ jsx87("div", {
19274
+ /* @__PURE__ */ jsx90("div", {
18980
19275
  className: "flex justify-end items-end gap-3",
18981
- children: dailyAvatars.map((avatar) => /* @__PURE__ */ jsx87("div", {
19276
+ children: dailyAvatars.map((avatar) => /* @__PURE__ */ jsx90("div", {
18982
19277
  className: "w-12 h-12 rounded-full bg-muted bg-cover bg-center -ml-5 border-2 border-black",
18983
19278
  style: { backgroundImage: `url(${avatar})` }
18984
19279
  }, avatar))
@@ -18993,8 +19288,8 @@ var EvaluateRemotionSection = () => {
18993
19288
  var EvaluateRemotion_default = EvaluateRemotionSection;
18994
19289
 
18995
19290
  // src/components/homepage/IfYouKnowReact.tsx
18996
- import { useEffect as useEffect40, useState as useState35 } from "react";
18997
- import { jsx as jsx88, jsxs as jsxs36 } from "react/jsx-runtime";
19291
+ import { useEffect as useEffect43, useState as useState36 } from "react";
19292
+ import { jsx as jsx91, jsxs as jsxs37 } from "react/jsx-runtime";
18998
19293
  var isWebkit = () => {
18999
19294
  if (typeof window === "undefined") {
19000
19295
  return false;
@@ -19008,16 +19303,16 @@ var icon2 = {
19008
19303
  marginLeft: 10
19009
19304
  };
19010
19305
  var IfYouKnowReact = () => {
19011
- const [vid, setVid] = useState35("/img/compose.webm");
19012
- useEffect40(() => {
19306
+ const [vid, setVid] = useState36("/img/compose.webm");
19307
+ useEffect43(() => {
19013
19308
  if (isWebkit()) {
19014
19309
  setVid("/img/compose.mp4");
19015
19310
  }
19016
19311
  }, []);
19017
- return /* @__PURE__ */ jsxs36("div", {
19312
+ return /* @__PURE__ */ jsxs37("div", {
19018
19313
  className: "flex flex-col lg:flex-row text-left justify-start lg:justify-end items-start lg:mb-0 gap-6 mt-8",
19019
19314
  children: [
19020
- /* @__PURE__ */ jsx88("video", {
19315
+ /* @__PURE__ */ jsx91("video", {
19021
19316
  src: vid,
19022
19317
  muted: true,
19023
19318
  autoPlay: true,
@@ -19025,36 +19320,36 @@ var IfYouKnowReact = () => {
19025
19320
  loop: true,
19026
19321
  className: "w-[500px] cursor-default! relative lg:-translate-x-8 -mb-40 lg:mt-0 lg:mb-0"
19027
19322
  }),
19028
- /* @__PURE__ */ jsxs36("div", {
19323
+ /* @__PURE__ */ jsxs37("div", {
19029
19324
  children: [
19030
- /* @__PURE__ */ jsxs36("h2", {
19325
+ /* @__PURE__ */ jsxs37("h2", {
19031
19326
  className: "text-4xl fontbrand pt-20",
19032
19327
  children: [
19033
- /* @__PURE__ */ jsx88("span", {
19328
+ /* @__PURE__ */ jsx91("span", {
19034
19329
  className: "text-brand",
19035
19330
  children: "Compose"
19036
19331
  }),
19037
19332
  " with code"
19038
19333
  ]
19039
19334
  }),
19040
- /* @__PURE__ */ jsx88("p", {
19335
+ /* @__PURE__ */ jsx91("p", {
19041
19336
  className: "leading-relaxed font-brand",
19042
19337
  children: "Use React, a powerful frontend technology, to create sophisticated videos with code."
19043
19338
  }),
19044
- /* @__PURE__ */ jsx88("div", {
19339
+ /* @__PURE__ */ jsx91("div", {
19045
19340
  className: "h-4"
19046
19341
  }),
19047
- /* @__PURE__ */ jsxs36("a", {
19342
+ /* @__PURE__ */ jsxs37("a", {
19048
19343
  className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center",
19049
19344
  href: "/docs/the-fundamentals",
19050
19345
  children: [
19051
19346
  "Learn Remotion",
19052
19347
  " ",
19053
- /* @__PURE__ */ jsx88("svg", {
19348
+ /* @__PURE__ */ jsx91("svg", {
19054
19349
  style: icon2,
19055
19350
  xmlns: "http://www.w3.org/2000/svg",
19056
19351
  viewBox: "0 0 448 512",
19057
- children: /* @__PURE__ */ jsx88("path", {
19352
+ children: /* @__PURE__ */ jsx91("path", {
19058
19353
  fill: "currentColor",
19059
19354
  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"
19060
19355
  })
@@ -19068,63 +19363,63 @@ var IfYouKnowReact = () => {
19068
19363
  };
19069
19364
 
19070
19365
  // src/components/homepage/MoreVideoPowerSection.tsx
19071
- import { jsx as jsx89, jsxs as jsxs37 } from "react/jsx-runtime";
19366
+ import { jsx as jsx95, jsxs as jsxs38 } from "react/jsx-runtime";
19072
19367
  var StepTitle = ({ children }) => {
19073
- return /* @__PURE__ */ jsx89("div", {
19368
+ return /* @__PURE__ */ jsx95("div", {
19074
19369
  className: "text-left text-xl font-semibold fontbrand",
19075
19370
  children
19076
19371
  });
19077
19372
  };
19078
19373
  var Subtitle = ({ children }) => {
19079
- return /* @__PURE__ */ jsx89("div", {
19374
+ return /* @__PURE__ */ jsx95("div", {
19080
19375
  className: "text-left text-base fontbrand text-[var(--subtitle)]",
19081
19376
  children
19082
19377
  });
19083
19378
  };
19084
19379
  var Pane = ({ children, className: className3 }) => {
19085
- return /* @__PURE__ */ jsx89("div", {
19380
+ return /* @__PURE__ */ jsx95("div", {
19086
19381
  className: `border-effect bg-pane flex-1 flex flex-col ${className3 || ""}`,
19087
19382
  children
19088
19383
  });
19089
19384
  };
19090
19385
  var FeatureCard = ({ title, subtitle, image, link }) => {
19091
- return /* @__PURE__ */ jsxs37("a", {
19386
+ return /* @__PURE__ */ jsxs38("a", {
19092
19387
  href: link,
19093
19388
  className: "group lg:border-r-2 border-b lg:border-b-0 border-[var(--border)] cursor-pointer hover:bg-[var(--hover)] transition-colors no-underline text-inherit",
19094
19389
  children: [
19095
- /* @__PURE__ */ jsx89("div", {
19390
+ /* @__PURE__ */ jsx95("div", {
19096
19391
  className: "relative",
19097
- children: /* @__PURE__ */ jsx89("img", {
19392
+ children: /* @__PURE__ */ jsx95("img", {
19098
19393
  src: image,
19099
19394
  alt: title,
19100
19395
  className: "w-full h-auto"
19101
19396
  })
19102
19397
  }),
19103
- /* @__PURE__ */ jsxs37("div", {
19398
+ /* @__PURE__ */ jsxs38("div", {
19104
19399
  className: "p-4",
19105
19400
  children: [
19106
- /* @__PURE__ */ jsxs37("div", {
19401
+ /* @__PURE__ */ jsxs38("div", {
19107
19402
  className: "flex items-center gap-2",
19108
19403
  children: [
19109
- /* @__PURE__ */ jsx89(StepTitle, {
19404
+ /* @__PURE__ */ jsx95(StepTitle, {
19110
19405
  children: title
19111
19406
  }),
19112
- /* @__PURE__ */ jsx89("svg", {
19407
+ /* @__PURE__ */ jsx95("svg", {
19113
19408
  width: "16",
19114
19409
  viewBox: "0 0 448 512",
19115
19410
  fill: "currentColor",
19116
19411
  className: "opacity-0 group-hover:opacity-100 transition-opacity",
19117
- children: /* @__PURE__ */ jsx89("path", {
19412
+ children: /* @__PURE__ */ jsx95("path", {
19118
19413
  d: "M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"
19119
19414
  })
19120
19415
  })
19121
19416
  ]
19122
19417
  }),
19123
- /* @__PURE__ */ jsx89(Subtitle, {
19418
+ /* @__PURE__ */ jsx95(Subtitle, {
19124
19419
  children: subtitle
19125
19420
  }),
19126
- /* @__PURE__ */ jsx89("br", {}),
19127
- /* @__PURE__ */ jsx89("div", {
19421
+ /* @__PURE__ */ jsx95("br", {}),
19422
+ /* @__PURE__ */ jsx95("div", {
19128
19423
  className: "flex-1"
19129
19424
  })
19130
19425
  ]
@@ -19133,26 +19428,26 @@ var FeatureCard = ({ title, subtitle, image, link }) => {
19133
19428
  });
19134
19429
  };
19135
19430
  var MoreVideoPowerSection = () => {
19136
- return /* @__PURE__ */ jsx89("div", {
19431
+ return /* @__PURE__ */ jsx95("div", {
19137
19432
  className: "w-full",
19138
- children: /* @__PURE__ */ jsx89(Pane, {
19433
+ children: /* @__PURE__ */ jsx95(Pane, {
19139
19434
  className: "overflow-hidden",
19140
- children: /* @__PURE__ */ jsxs37("div", {
19435
+ children: /* @__PURE__ */ jsxs38("div", {
19141
19436
  className: "grid grid-cols-1 lg:grid-cols-3 h-full",
19142
19437
  children: [
19143
- /* @__PURE__ */ jsx89(FeatureCard, {
19438
+ /* @__PURE__ */ jsx95(FeatureCard, {
19144
19439
  title: "Media Parser",
19145
19440
  subtitle: "A new multimedia library for the web",
19146
19441
  image: "/img/media-parser.png",
19147
19442
  link: "/media-parser"
19148
19443
  }),
19149
- /* @__PURE__ */ jsx89(FeatureCard, {
19444
+ /* @__PURE__ */ jsx95(FeatureCard, {
19150
19445
  title: "WebCodecs",
19151
19446
  subtitle: "Read, process, transform and create videos on the frontend",
19152
19447
  image: "/img/webcodecs.png",
19153
19448
  link: "/webcodecs"
19154
19449
  }),
19155
- /* @__PURE__ */ jsx89(FeatureCard, {
19450
+ /* @__PURE__ */ jsx95(FeatureCard, {
19156
19451
  title: "Recorder",
19157
19452
  subtitle: "Produce engaging screencasts end-to-end in JavaScript",
19158
19453
  image: "/img/recorder.png",
@@ -19165,23 +19460,23 @@ var MoreVideoPowerSection = () => {
19165
19460
  };
19166
19461
 
19167
19462
  // src/components/homepage/NewsletterButton.tsx
19168
- import { useCallback as useCallback35, useState as useState36 } from "react";
19463
+ import { useCallback as useCallback36, useState as useState37 } from "react";
19169
19464
 
19170
19465
  // src/components/homepage/Spacer.tsx
19171
- import { jsx as jsx90 } from "react/jsx-runtime";
19466
+ import { jsx as jsx97 } from "react/jsx-runtime";
19172
19467
  var Spacer = () => {
19173
- return /* @__PURE__ */ jsx90("div", {
19468
+ return /* @__PURE__ */ jsx97("div", {
19174
19469
  style: { width: 4, height: 4 }
19175
19470
  });
19176
19471
  };
19177
19472
 
19178
19473
  // src/components/homepage/NewsletterButton.tsx
19179
- import { jsx as jsx91, jsxs as jsxs38 } from "react/jsx-runtime";
19474
+ import { jsx as jsx98, jsxs as jsxs39 } from "react/jsx-runtime";
19180
19475
  var NewsletterButton = () => {
19181
- const [email, setEmail] = useState36("");
19182
- const [submitting, setSubmitting] = useState36(false);
19183
- const [subscribed, setSubscribed] = useState36(false);
19184
- const handleSubmit = useCallback35(async (e) => {
19476
+ const [email, setEmail] = useState37("");
19477
+ const [submitting, setSubmitting] = useState37(false);
19478
+ const [subscribed, setSubscribed] = useState37(false);
19479
+ const handleSubmit = useCallback36(async (e) => {
19185
19480
  try {
19186
19481
  setSubmitting(true);
19187
19482
  e.preventDefault();
@@ -19203,31 +19498,31 @@ var NewsletterButton = () => {
19203
19498
  alert("Something went wrong. Please try again later.");
19204
19499
  }
19205
19500
  }, [email]);
19206
- return /* @__PURE__ */ jsx91("div", {
19207
- children: /* @__PURE__ */ jsx91("div", {
19501
+ return /* @__PURE__ */ jsx98("div", {
19502
+ children: /* @__PURE__ */ jsx98("div", {
19208
19503
  className: "flex flex-col",
19209
- children: /* @__PURE__ */ jsx91("div", {
19504
+ children: /* @__PURE__ */ jsx98("div", {
19210
19505
  className: "w-full",
19211
- children: /* @__PURE__ */ jsxs38("div", {
19506
+ children: /* @__PURE__ */ jsxs39("div", {
19212
19507
  className: "flex flex-col flex-1",
19213
19508
  children: [
19214
- /* @__PURE__ */ jsx91(SectionTitle, {
19509
+ /* @__PURE__ */ jsx98(SectionTitle, {
19215
19510
  children: "Newsletter"
19216
19511
  }),
19217
- /* @__PURE__ */ jsxs38("form", {
19512
+ /* @__PURE__ */ jsxs39("form", {
19218
19513
  onSubmit: handleSubmit,
19219
19514
  style: {
19220
19515
  width: "100%"
19221
19516
  },
19222
19517
  children: [
19223
- /* @__PURE__ */ jsxs38("div", {
19518
+ /* @__PURE__ */ jsxs39("div", {
19224
19519
  className: "fontbrand text-center mb-10 -mt-4",
19225
19520
  children: [
19226
19521
  "Read about new features and noteworthy updates we have made on Remotion once in a while.",
19227
19522
  " "
19228
19523
  ]
19229
19524
  }),
19230
- /* @__PURE__ */ jsx91("input", {
19525
+ /* @__PURE__ */ jsx98("input", {
19231
19526
  className: "w-full dark:bg-[#121212] rounded-lg border-effect border-black outline-none px-3 py-3 fontbrand text-lg box-border focus:border-brand",
19232
19527
  disabled: submitting,
19233
19528
  value: email,
@@ -19236,10 +19531,10 @@ var NewsletterButton = () => {
19236
19531
  required: true,
19237
19532
  placeholder: "animator@gmail.com"
19238
19533
  }),
19239
- /* @__PURE__ */ jsx91(Spacer, {}),
19240
- /* @__PURE__ */ jsx91(Spacer, {}),
19241
- /* @__PURE__ */ jsx91("div", {
19242
- children: /* @__PURE__ */ jsx91(BlueButton, {
19534
+ /* @__PURE__ */ jsx98(Spacer, {}),
19535
+ /* @__PURE__ */ jsx98(Spacer, {}),
19536
+ /* @__PURE__ */ jsx98("div", {
19537
+ children: /* @__PURE__ */ jsx98(BlueButton, {
19243
19538
  type: "submit",
19244
19539
  className: "w-full",
19245
19540
  loading: submitting,
@@ -19258,26 +19553,26 @@ var NewsletterButton = () => {
19258
19553
  };
19259
19554
 
19260
19555
  // src/components/homepage/ParameterizeAndEdit.tsx
19261
- import { useEffect as useEffect41, useRef as useRef29, useState as useState37 } from "react";
19262
- import { jsx as jsx95, jsxs as jsxs39 } from "react/jsx-runtime";
19556
+ import { useEffect as useEffect45, useRef as useRef31, useState as useState38 } from "react";
19557
+ import { jsx as jsx99, jsxs as jsxs40 } from "react/jsx-runtime";
19263
19558
  var icon3 = {
19264
19559
  height: 16,
19265
19560
  marginLeft: 10
19266
19561
  };
19267
19562
  var ParameterizeAndEdit = () => {
19268
- const ref = useRef29(null);
19269
- const [vid, setVid] = useState37("/img/editing-vp9-chrome.webm");
19270
- useEffect41(() => {
19563
+ const ref = useRef31(null);
19564
+ const [vid, setVid] = useState38("/img/editing-vp9-chrome.webm");
19565
+ useEffect45(() => {
19271
19566
  if (isWebkit()) {
19272
19567
  setVid("/img/editing-safari.mp4");
19273
19568
  }
19274
19569
  }, []);
19275
- return /* @__PURE__ */ jsxs39("div", {
19570
+ return /* @__PURE__ */ jsxs40("div", {
19276
19571
  ref,
19277
19572
  className: "flex flex-col lg:flex-row justify-start lg:justify-end items-start gap-6 mt-20 lg:mt-0",
19278
19573
  children: [
19279
- /* @__PURE__ */ jsx95("div", {
19280
- children: /* @__PURE__ */ jsx95("video", {
19574
+ /* @__PURE__ */ jsx99("div", {
19575
+ children: /* @__PURE__ */ jsx99("video", {
19281
19576
  src: vid,
19282
19577
  autoPlay: true,
19283
19578
  muted: true,
@@ -19291,81 +19586,81 @@ var ParameterizeAndEdit = () => {
19291
19586
  }
19292
19587
  })
19293
19588
  }),
19294
- /* @__PURE__ */ jsxs39("div", {
19589
+ /* @__PURE__ */ jsxs40("div", {
19295
19590
  style: { flex: 1 },
19296
19591
  className: "font-brand pt-4",
19297
19592
  children: [
19298
- /* @__PURE__ */ jsxs39("h2", {
19593
+ /* @__PURE__ */ jsxs40("h2", {
19299
19594
  className: "fontbrand text-4xl",
19300
19595
  children: [
19301
19596
  "Edit ",
19302
- /* @__PURE__ */ jsx95("span", {
19597
+ /* @__PURE__ */ jsx99("span", {
19303
19598
  className: "text-brand",
19304
19599
  children: "dynamically"
19305
19600
  })
19306
19601
  ]
19307
19602
  }),
19308
- /* @__PURE__ */ jsxs39("p", {
19603
+ /* @__PURE__ */ jsxs40("p", {
19309
19604
  className: "leading-relaxed",
19310
19605
  children: [
19311
19606
  "Parameterize your video by passing data.",
19312
- /* @__PURE__ */ jsx95("br", {}),
19607
+ /* @__PURE__ */ jsx99("br", {}),
19313
19608
  "Or embed it into your app and build an interface around it."
19314
19609
  ]
19315
19610
  }),
19316
- /* @__PURE__ */ jsx95("div", {
19611
+ /* @__PURE__ */ jsx99("div", {
19317
19612
  className: "h-4"
19318
19613
  }),
19319
- /* @__PURE__ */ jsxs39("div", {
19614
+ /* @__PURE__ */ jsxs40("div", {
19320
19615
  className: "leading-6",
19321
19616
  children: [
19322
- /* @__PURE__ */ jsxs39("a", {
19617
+ /* @__PURE__ */ jsxs40("a", {
19323
19618
  className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center",
19324
19619
  href: "/docs/studio",
19325
19620
  children: [
19326
19621
  "Remotion Studio",
19327
19622
  " ",
19328
- /* @__PURE__ */ jsx95("svg", {
19623
+ /* @__PURE__ */ jsx99("svg", {
19329
19624
  style: icon3,
19330
19625
  xmlns: "http://www.w3.org/2000/svg",
19331
19626
  viewBox: "0 0 448 512",
19332
- children: /* @__PURE__ */ jsx95("path", {
19627
+ children: /* @__PURE__ */ jsx99("path", {
19333
19628
  fill: "currentColor",
19334
19629
  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"
19335
19630
  })
19336
19631
  })
19337
19632
  ]
19338
19633
  }),
19339
- /* @__PURE__ */ jsx95("br", {}),
19340
- /* @__PURE__ */ jsxs39("a", {
19634
+ /* @__PURE__ */ jsx99("br", {}),
19635
+ /* @__PURE__ */ jsxs40("a", {
19341
19636
  className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center",
19342
19637
  href: "/player",
19343
19638
  children: [
19344
19639
  "Remotion Player",
19345
19640
  " ",
19346
- /* @__PURE__ */ jsx95("svg", {
19641
+ /* @__PURE__ */ jsx99("svg", {
19347
19642
  style: icon3,
19348
19643
  xmlns: "http://www.w3.org/2000/svg",
19349
19644
  viewBox: "0 0 448 512",
19350
- children: /* @__PURE__ */ jsx95("path", {
19645
+ children: /* @__PURE__ */ jsx99("path", {
19351
19646
  fill: "currentColor",
19352
19647
  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"
19353
19648
  })
19354
19649
  })
19355
19650
  ]
19356
19651
  }),
19357
- /* @__PURE__ */ jsx95("br", {}),
19358
- /* @__PURE__ */ jsxs39("a", {
19652
+ /* @__PURE__ */ jsx99("br", {}),
19653
+ /* @__PURE__ */ jsxs40("a", {
19359
19654
  className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center",
19360
19655
  href: "/docs/editor-starter",
19361
19656
  children: [
19362
19657
  "Remotion Editor Starter",
19363
19658
  " ",
19364
- /* @__PURE__ */ jsx95("svg", {
19659
+ /* @__PURE__ */ jsx99("svg", {
19365
19660
  style: icon3,
19366
19661
  xmlns: "http://www.w3.org/2000/svg",
19367
19662
  viewBox: "0 0 448 512",
19368
- children: /* @__PURE__ */ jsx95("path", {
19663
+ children: /* @__PURE__ */ jsx99("path", {
19369
19664
  fill: "currentColor",
19370
19665
  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"
19371
19666
  })
@@ -19381,22 +19676,22 @@ var ParameterizeAndEdit = () => {
19381
19676
  };
19382
19677
 
19383
19678
  // src/components/homepage/RealMp4Videos.tsx
19384
- import { useEffect as useEffect43, useRef as useRef30, useState as useState38 } from "react";
19385
- import { jsx as jsx97, jsxs as jsxs40 } from "react/jsx-runtime";
19679
+ import { useEffect as useEffect46, useRef as useRef33, useState as useState39 } from "react";
19680
+ import { jsx as jsx100, jsxs as jsxs41 } from "react/jsx-runtime";
19386
19681
  var icon4 = {
19387
19682
  height: 16,
19388
19683
  marginLeft: 10
19389
19684
  };
19390
19685
  var RealMP4Videos = () => {
19391
- const ref = useRef30(null);
19392
- const videoRef = useRef30(null);
19393
- const [vid, setVid] = useState38("/img/render-progress.webm");
19394
- useEffect43(() => {
19686
+ const ref = useRef33(null);
19687
+ const videoRef = useRef33(null);
19688
+ const [vid, setVid] = useState39("/img/render-progress.webm");
19689
+ useEffect46(() => {
19395
19690
  if (isWebkit()) {
19396
19691
  setVid("/img/render-progress.mp4");
19397
19692
  }
19398
19693
  }, []);
19399
- useEffect43(() => {
19694
+ useEffect46(() => {
19400
19695
  const { current } = ref;
19401
19696
  if (!current) {
19402
19697
  return;
@@ -19413,13 +19708,13 @@ var RealMP4Videos = () => {
19413
19708
  observer.observe(current);
19414
19709
  return () => observer.unobserve(current);
19415
19710
  }, []);
19416
- return /* @__PURE__ */ jsxs40("div", {
19711
+ return /* @__PURE__ */ jsxs41("div", {
19417
19712
  ref,
19418
19713
  className: "flex flex-col lg:flex-row mt-40 lg:mt-30 gap-6",
19419
19714
  children: [
19420
- /* @__PURE__ */ jsx97("div", {
19715
+ /* @__PURE__ */ jsx100("div", {
19421
19716
  className: "flex w-[500px] justify-start lg:justify-start items-end",
19422
- children: /* @__PURE__ */ jsx97("video", {
19717
+ children: /* @__PURE__ */ jsx100("video", {
19423
19718
  ref: videoRef,
19424
19719
  src: vid,
19425
19720
  muted: true,
@@ -19436,63 +19731,63 @@ var RealMP4Videos = () => {
19436
19731
  })
19437
19732
  }),
19438
19733
  " ",
19439
- /* @__PURE__ */ jsxs40("div", {
19734
+ /* @__PURE__ */ jsxs41("div", {
19440
19735
  className: "font-brand",
19441
19736
  children: [
19442
- /* @__PURE__ */ jsxs40("h2", {
19737
+ /* @__PURE__ */ jsxs41("h2", {
19443
19738
  className: "text-4xl fontbrand",
19444
19739
  children: [
19445
- /* @__PURE__ */ jsx97("span", {
19740
+ /* @__PURE__ */ jsx100("span", {
19446
19741
  className: "text-brand",
19447
19742
  children: "Scalable"
19448
19743
  }),
19449
19744
  " rendering"
19450
19745
  ]
19451
19746
  }),
19452
- /* @__PURE__ */ jsxs40("p", {
19747
+ /* @__PURE__ */ jsxs41("p", {
19453
19748
  className: "leading-relaxed",
19454
19749
  children: [
19455
19750
  "Render the video .mp4 or other formats. ",
19456
- /* @__PURE__ */ jsx97("br", {}),
19751
+ /* @__PURE__ */ jsx100("br", {}),
19457
19752
  "Locally, on the server or serverless."
19458
19753
  ]
19459
19754
  }),
19460
19755
  " ",
19461
- /* @__PURE__ */ jsx97("div", {
19756
+ /* @__PURE__ */ jsx100("div", {
19462
19757
  className: "h-4"
19463
19758
  }),
19464
- /* @__PURE__ */ jsxs40("div", {
19759
+ /* @__PURE__ */ jsxs41("div", {
19465
19760
  className: "leading-6",
19466
19761
  children: [
19467
- /* @__PURE__ */ jsxs40("a", {
19762
+ /* @__PURE__ */ jsxs41("a", {
19468
19763
  className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center",
19469
19764
  href: "/docs/render",
19470
19765
  children: [
19471
19766
  "Render options",
19472
19767
  " ",
19473
- /* @__PURE__ */ jsx97("svg", {
19768
+ /* @__PURE__ */ jsx100("svg", {
19474
19769
  style: icon4,
19475
19770
  xmlns: "http://www.w3.org/2000/svg",
19476
19771
  viewBox: "0 0 448 512",
19477
- children: /* @__PURE__ */ jsx97("path", {
19772
+ children: /* @__PURE__ */ jsx100("path", {
19478
19773
  fill: "currentColor",
19479
19774
  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"
19480
19775
  })
19481
19776
  })
19482
19777
  ]
19483
19778
  }),
19484
- /* @__PURE__ */ jsx97("br", {}),
19485
- /* @__PURE__ */ jsxs40("a", {
19779
+ /* @__PURE__ */ jsx100("br", {}),
19780
+ /* @__PURE__ */ jsxs41("a", {
19486
19781
  className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center",
19487
19782
  href: "/lambda",
19488
19783
  children: [
19489
19784
  "Remotion Lambda",
19490
19785
  " ",
19491
- /* @__PURE__ */ jsx97("svg", {
19786
+ /* @__PURE__ */ jsx100("svg", {
19492
19787
  style: icon4,
19493
19788
  xmlns: "http://www.w3.org/2000/svg",
19494
19789
  viewBox: "0 0 448 512",
19495
- children: /* @__PURE__ */ jsx97("path", {
19790
+ children: /* @__PURE__ */ jsx100("path", {
19496
19791
  fill: "currentColor",
19497
19792
  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"
19498
19793
  })
@@ -19508,18 +19803,18 @@ var RealMP4Videos = () => {
19508
19803
  };
19509
19804
 
19510
19805
  // src/components/homepage/TrustedByBanner.tsx
19511
- import { jsx as jsx98, jsxs as jsxs41, Fragment as Fragment8 } from "react/jsx-runtime";
19806
+ import { jsx as jsx101, jsxs as jsxs43, Fragment as Fragment8 } from "react/jsx-runtime";
19512
19807
  var TrustedByBanner = () => {
19513
19808
  const logos = [
19514
19809
  {
19515
19810
  id: "logo1",
19516
19811
  url: "https://www.github.com/",
19517
- light: /* @__PURE__ */ jsx98("svg", {
19812
+ light: /* @__PURE__ */ jsx101("svg", {
19518
19813
  height: "50",
19519
19814
  viewBox: "0 0 64 62",
19520
19815
  fill: "none",
19521
19816
  xmlns: "http://www.w3.org/2000/svg",
19522
- children: /* @__PURE__ */ jsx98("path", {
19817
+ children: /* @__PURE__ */ jsx101("path", {
19523
19818
  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",
19524
19819
  fill: "var(--text-color)"
19525
19820
  })
@@ -19528,57 +19823,57 @@ var TrustedByBanner = () => {
19528
19823
  {
19529
19824
  id: "logo2",
19530
19825
  url: "https://www.musixmatch.com/",
19531
- light: /* @__PURE__ */ jsxs41("svg", {
19826
+ light: /* @__PURE__ */ jsxs43("svg", {
19532
19827
  height: "40",
19533
19828
  viewBox: "0 0 229 48",
19534
19829
  fill: "none",
19535
19830
  xmlns: "http://www.w3.org/2000/svg",
19536
19831
  children: [
19537
- /* @__PURE__ */ jsx98("path", {
19832
+ /* @__PURE__ */ jsx101("path", {
19538
19833
  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",
19539
19834
  fill: "var(--text-color)"
19540
19835
  }),
19541
- /* @__PURE__ */ jsx98("path", {
19836
+ /* @__PURE__ */ jsx101("path", {
19542
19837
  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",
19543
19838
  fill: "var(--text-color)"
19544
19839
  }),
19545
- /* @__PURE__ */ jsx98("path", {
19840
+ /* @__PURE__ */ jsx101("path", {
19546
19841
  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",
19547
19842
  fill: "var(--text-color)"
19548
19843
  }),
19549
- /* @__PURE__ */ jsx98("path", {
19844
+ /* @__PURE__ */ jsx101("path", {
19550
19845
  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",
19551
19846
  fill: "var(--text-color)"
19552
19847
  }),
19553
- /* @__PURE__ */ jsx98("path", {
19848
+ /* @__PURE__ */ jsx101("path", {
19554
19849
  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",
19555
19850
  fill: "var(--text-color)"
19556
19851
  }),
19557
- /* @__PURE__ */ jsx98("path", {
19852
+ /* @__PURE__ */ jsx101("path", {
19558
19853
  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",
19559
19854
  fill: "var(--text-color)"
19560
19855
  }),
19561
- /* @__PURE__ */ jsx98("path", {
19856
+ /* @__PURE__ */ jsx101("path", {
19562
19857
  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",
19563
19858
  fill: "var(--text-color)"
19564
19859
  }),
19565
- /* @__PURE__ */ jsx98("path", {
19860
+ /* @__PURE__ */ jsx101("path", {
19566
19861
  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",
19567
19862
  fill: "var(--text-color)"
19568
19863
  }),
19569
- /* @__PURE__ */ jsx98("path", {
19864
+ /* @__PURE__ */ jsx101("path", {
19570
19865
  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",
19571
19866
  fill: "var(--text-color)"
19572
19867
  }),
19573
- /* @__PURE__ */ jsx98("path", {
19868
+ /* @__PURE__ */ jsx101("path", {
19574
19869
  d: "M119.256 23.7491V31.4775H121.456H123.656V23.7491V16.0207H121.456H119.256V23.7491Z",
19575
19870
  fill: "var(--text-color)"
19576
19871
  }),
19577
- /* @__PURE__ */ jsx98("path", {
19872
+ /* @__PURE__ */ jsx101("path", {
19578
19873
  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",
19579
19874
  fill: "var(--text-color)"
19580
19875
  }),
19581
- /* @__PURE__ */ jsx98("path", {
19876
+ /* @__PURE__ */ jsx101("path", {
19582
19877
  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",
19583
19878
  fill: "var(--text-color)"
19584
19879
  })
@@ -19588,18 +19883,18 @@ var TrustedByBanner = () => {
19588
19883
  {
19589
19884
  id: "logo3",
19590
19885
  url: "https://www.wistia.com/",
19591
- light: /* @__PURE__ */ jsxs41("svg", {
19886
+ light: /* @__PURE__ */ jsxs43("svg", {
19592
19887
  height: "30",
19593
19888
  viewBox: "0 0 165 36",
19594
19889
  fill: "none",
19595
19890
  className: "-mt-2",
19596
19891
  xmlns: "http://www.w3.org/2000/svg",
19597
19892
  children: [
19598
- /* @__PURE__ */ jsx98("path", {
19893
+ /* @__PURE__ */ jsx101("path", {
19599
19894
  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",
19600
19895
  fill: "var(--light-text-color)"
19601
19896
  }),
19602
- /* @__PURE__ */ jsx98("path", {
19897
+ /* @__PURE__ */ jsx101("path", {
19603
19898
  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",
19604
19899
  fill: "var(--text-color)"
19605
19900
  })
@@ -19609,45 +19904,45 @@ var TrustedByBanner = () => {
19609
19904
  {
19610
19905
  id: "logo4",
19611
19906
  url: "https://www.vicemediagroup.com/",
19612
- light: /* @__PURE__ */ jsxs41("svg", {
19907
+ light: /* @__PURE__ */ jsxs43("svg", {
19613
19908
  height: "20",
19614
19909
  viewBox: "0 0 190 20",
19615
19910
  fill: "none",
19616
19911
  xmlns: "http://www.w3.org/2000/svg",
19617
19912
  children: [
19618
- /* @__PURE__ */ jsx98("path", {
19913
+ /* @__PURE__ */ jsx101("path", {
19619
19914
  d: "M43.4416 0.472096C37.9752 0.662593 33.9996 3.1639 32.8566 7.12292C32.5171 8.27419 32.4425 8.96992 32.4922 10.4111C32.5171 11.4547 32.575 11.8853 32.7407 12.5148C33.5441 15.5628 35.5319 17.6334 38.7372 18.7432C40.402 19.3313 41.9508 19.5549 44.1871 19.5549C48.9909 19.5549 52.5027 18.0724 54.3165 15.2977C54.6644 14.7676 55.2442 13.4342 55.2442 13.1608C55.2442 13.1194 54.4987 13.0863 53.3806 13.0863H51.5171L51.1858 13.6164C50.3327 14.9664 48.8501 15.8858 46.8375 16.3248C45.8518 16.5401 43.7067 16.6229 42.63 16.4904C39.7808 16.1343 37.7764 14.9167 36.8157 12.9621C36.4181 12.1587 36.269 11.5458 36.2193 10.4608C35.9957 6.06277 38.9857 3.47863 44.2699 3.47863C47.3841 3.47863 49.7612 4.4891 50.9787 6.32781L51.2934 6.79163H53.2232C54.2917 6.79163 55.1613 6.77506 55.1613 6.76678C55.1613 6.75021 55.0951 6.53487 55.004 6.28639C53.803 2.79119 50.0428 0.654311 44.8083 0.480378C44.3776 0.463815 43.7647 0.463815 43.4416 0.472096Z",
19620
19915
  fill: "var(--text-color)"
19621
19916
  }),
19622
- /* @__PURE__ */ jsx98("path", {
19917
+ /* @__PURE__ */ jsx101("path", {
19623
19918
  d: "M0.331299 0.745421C0.331299 0.828246 9.89756 18.7847 10.1543 19.1988C10.2703 19.381 10.2951 19.381 12.2167 19.381H14.163L14.3535 19.0745C14.6103 18.6604 24.102 0.786833 24.102 0.71229C24.102 0.687443 23.2241 0.662594 22.1556 0.662594H20.2092L20.0436 0.927634C19.9608 1.07672 18.1635 4.50566 16.0597 8.54751C13.956 12.5976 12.2084 15.8775 12.1752 15.8444C12.1421 15.8112 10.3779 12.4237 8.24935 8.32389C6.11247 4.22406 4.33174 0.819962 4.29032 0.761984C4.18265 0.629466 0.331299 0.6129 0.331299 0.745421Z",
19624
19919
  fill: "var(--text-color)"
19625
19920
  }),
19626
- /* @__PURE__ */ jsx98("path", {
19921
+ /* @__PURE__ */ jsx101("path", {
19627
19922
  d: "M26.0484 0.761964C26.0236 0.819942 26.0153 5.02744 26.0236 10.1046L26.0484 19.3396H27.8291H29.6099V10.0218V0.703989L27.8457 0.67914C26.4874 0.662576 26.0732 0.67914 26.0484 0.761964Z",
19628
19923
  fill: "var(--text-color)"
19629
19924
  }),
19630
- /* @__PURE__ */ jsx98("path", {
19925
+ /* @__PURE__ */ jsx101("path", {
19631
19926
  d: "M57.8945 10.0218V19.381L67.2786 19.3644L76.6543 19.3396L76.6792 17.9067L76.6958 16.4821H69.0759H61.456V13.9146V11.347H68.289H75.1221V9.93897V8.53095H68.289H61.456V6.04621V3.56146H69.0759H76.6958L76.6792 2.1286L76.6543 0.70401L67.2786 0.679162L57.8945 0.662598V10.0218Z",
19632
19927
  fill: "var(--text-color)"
19633
19928
  }),
19634
- /* @__PURE__ */ jsx98("path", {
19929
+ /* @__PURE__ */ jsx101("path", {
19635
19930
  d: "M87.5458 10.0218V19.381H88.7881H90.0305L90.0471 11.6534L90.0719 3.91761L94.3126 11.6286L98.5449 19.3396L99.8784 19.3644L101.212 19.381L101.353 19.1491C101.435 19.0166 103.349 15.5545 105.602 11.4464L109.701 3.98387L109.743 11.6617L109.784 19.3396H111.027H112.269V10.0218V0.70401L110.513 0.679162L108.765 0.662598L108.608 0.886223C108.517 1.01874 106.529 4.61334 104.194 8.87881C101.85 13.1526 99.9115 16.6478 99.8867 16.6478C99.8618 16.6478 97.8906 13.0615 95.497 8.67175L91.1487 0.70401L89.3514 0.679162L87.5458 0.662598V10.0218Z",
19636
19931
  fill: "var(--text-color)"
19637
19932
  }),
19638
- /* @__PURE__ */ jsx98("path", {
19933
+ /* @__PURE__ */ jsx101("path", {
19639
19934
  d: "M115.996 0.761986C115.971 0.819964 115.963 5.02746 115.971 10.1046L115.996 19.3396L125.173 19.3644L134.342 19.381V18.2629V17.1447H126.473H118.605V14.0802V11.0157H125.687H132.768V9.93897V8.86225H125.687H118.605V5.88056V2.89887H126.473H134.342V1.78073V0.662598H125.19C117.942 0.662598 116.021 0.687445 115.996 0.761986Z",
19640
19935
  fill: "var(--text-color)"
19641
19936
  }),
19642
- /* @__PURE__ */ jsx98("path", {
19937
+ /* @__PURE__ */ jsx101("path", {
19643
19938
  d: "M137.531 0.761966C137.506 0.819944 137.497 5.02744 137.506 10.1046L137.531 19.3396H143.245C149.366 19.3396 149.789 19.3147 151.503 18.8757C156.067 17.7245 158.593 14.5689 158.609 10.0218C158.609 9.59109 158.551 8.87879 158.493 8.44811C157.922 4.67958 155.528 2.18655 151.503 1.16781C149.83 0.745403 149.499 0.720554 143.353 0.687425C138.591 0.654294 137.564 0.67086 137.531 0.761966ZM149.184 3.10591C151.42 3.39579 152.952 4.09981 154.162 5.38359C155.305 6.60111 155.793 7.976 155.793 10.0218C155.793 12.0675 155.305 13.4424 154.162 14.66C152.952 15.9437 151.42 16.6478 149.184 16.9376C148.463 17.037 147.304 17.0619 144.19 17.0619H140.139V10.0218V2.98167H144.19C147.304 2.98167 148.463 3.00652 149.184 3.10591Z",
19644
19939
  fill: "var(--text-color)"
19645
19940
  }),
19646
- /* @__PURE__ */ jsx98("path", {
19941
+ /* @__PURE__ */ jsx101("path", {
19647
19942
  d: "M161.384 0.761964C161.359 0.819942 161.351 5.02744 161.359 10.1046L161.384 19.3396H162.668H163.952V10.0218V0.703989L162.684 0.67914C161.724 0.662576 161.409 0.67914 161.384 0.761964Z",
19648
19943
  fill: "var(--text-color)"
19649
19944
  }),
19650
- /* @__PURE__ */ jsx98("path", {
19945
+ /* @__PURE__ */ jsx101("path", {
19651
19946
  d: "M176.268 0.770262C176.177 0.877934 166.503 19.0497 166.42 19.265C166.378 19.3644 166.569 19.381 167.728 19.3644L169.087 19.3396L170.462 16.772L171.837 14.2044H178.082H184.326L185.693 16.772L187.068 19.3396L188.368 19.3644C189.238 19.381 189.669 19.3561 189.669 19.2982C189.669 19.2153 180.194 1.27549 179.929 0.844805C179.813 0.662591 179.779 0.662591 178.082 0.662591C176.781 0.662591 176.334 0.687438 176.268 0.770262ZM180.649 7.23888C181.991 9.74019 183.101 11.8191 183.109 11.8605C183.126 11.8936 180.864 11.9268 178.082 11.9268C175.299 11.9268 173.021 11.9102 173.021 11.8853C173.021 11.8605 174.147 9.7319 175.522 7.15605C177.493 3.4455 178.04 2.5013 178.115 2.58413C178.173 2.6421 179.307 4.73757 180.649 7.23888Z",
19652
19947
  fill: "var(--text-color)"
19653
19948
  })
@@ -19657,27 +19952,27 @@ var TrustedByBanner = () => {
19657
19952
  {
19658
19953
  id: "logo5",
19659
19954
  url: "https://www.soundcloud.com/",
19660
- light: /* @__PURE__ */ jsx98("svg", {
19955
+ light: /* @__PURE__ */ jsx101("svg", {
19661
19956
  height: "40",
19662
19957
  viewBox: "0 0 129 57",
19663
19958
  fill: "none",
19664
19959
  xmlns: "http://www.w3.org/2000/svg",
19665
- children: /* @__PURE__ */ jsx98("path", {
19960
+ children: /* @__PURE__ */ jsx101("path", {
19666
19961
  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",
19667
19962
  fill: "var(--text-color)"
19668
19963
  })
19669
19964
  })
19670
19965
  }
19671
19966
  ];
19672
- return /* @__PURE__ */ jsxs41(Fragment8, {
19967
+ return /* @__PURE__ */ jsxs43(Fragment8, {
19673
19968
  children: [
19674
- /* @__PURE__ */ jsx98("h3", {
19969
+ /* @__PURE__ */ jsx101("h3", {
19675
19970
  className: "text-center mt-20 mb-10",
19676
19971
  children: "Trusted by"
19677
19972
  }),
19678
- /* @__PURE__ */ jsx98("div", {
19973
+ /* @__PURE__ */ jsx101("div", {
19679
19974
  className: "text-center flex flex-col lg:flex-row flex-nowrap justify-center items-center gap-10 mb-20",
19680
- children: logos.map((logo) => /* @__PURE__ */ jsx98("a", {
19975
+ children: logos.map((logo) => /* @__PURE__ */ jsx101("a", {
19681
19976
  href: logo.url,
19682
19977
  target: "_blank",
19683
19978
  className: "opacity-80 hover:opacity-100 transition-opacity",
@@ -19691,151 +19986,7 @@ var TrustedByBanner_default = TrustedByBanner;
19691
19986
 
19692
19987
  // src/components/homepage/VideoAppsShowcase.tsx
19693
19988
  import { useEffect as useEffect47, useRef as useRef35, useState as useState40 } from "react";
19694
-
19695
- // src/components/homepage/MuxVideo.tsx
19696
- import Hls2 from "hls.js";
19697
- import { forwardRef as forwardRef17, useEffect as useEffect46, useImperativeHandle as useImperativeHandle14, useRef as useRef33 } from "react";
19698
-
19699
- // src/components/homepage/VideoPlayerWithControls.tsx
19700
- import Hls from "hls.js";
19701
- import"plyr/dist/plyr.css";
19702
- import { forwardRef as forwardRef16, useCallback as useCallback36, useEffect as useEffect45, useRef as useRef31, useState as useState39 } from "react";
19703
- import { jsx as jsx99 } from "react/jsx-runtime";
19704
- var useCombinedRefs = function(...refs) {
19705
- const targetRef = useRef31(null);
19706
- useEffect45(() => {
19707
- refs.forEach((ref) => {
19708
- if (!ref)
19709
- return;
19710
- if (typeof ref === "function") {
19711
- ref(targetRef.current);
19712
- } else {
19713
- ref.current = targetRef.current;
19714
- }
19715
- });
19716
- }, [refs]);
19717
- return targetRef;
19718
- };
19719
- var VideoPlayerWithControls = forwardRef16(({ playbackId, poster, currentTime, onLoaded, onError, onSize, autoPlay }, ref) => {
19720
- const videoRef = useRef31(null);
19721
- const metaRef = useCombinedRefs(ref, videoRef);
19722
- const playerRef = useRef31(null);
19723
- const [playerInitTime] = useState39(Date.now());
19724
- const videoError = useCallback36((event) => onError(event), [onError]);
19725
- const onImageLoad = useCallback36((event) => {
19726
- const [w, h] = [event.target.width, event.target.height];
19727
- if (w && h) {
19728
- onSize({ width: w, height: h });
19729
- onLoaded();
19730
- } else {
19731
- onLoaded();
19732
- console.error("Error getting img dimensions", event);
19733
- }
19734
- }, [onLoaded, onSize]);
19735
- useEffect45(() => {
19736
- const img = new Image;
19737
- img.onload = (evt) => onImageLoad(evt);
19738
- img.src = poster;
19739
- }, [onImageLoad, poster]);
19740
- useEffect45(() => {
19741
- const video = videoRef.current;
19742
- const src = `https://stream.mux.com/${playbackId}.m3u8`;
19743
- let hls;
19744
- hls = null;
19745
- if (video) {
19746
- video.addEventListener("error", videoError);
19747
- const Plyr = __require("plyr");
19748
- playerRef.current = new Plyr(video, {
19749
- previewThumbnails: {
19750
- enabled: true,
19751
- src: `https://image.mux.com/${playbackId}/storyboard.vtt`
19752
- },
19753
- storage: { enabled: false },
19754
- fullscreen: {
19755
- iosNative: true
19756
- },
19757
- captions: { active: true, language: "auto", update: true }
19758
- });
19759
- if (video.canPlayType("application/vnd.apple.mpegurl")) {
19760
- video.src = src;
19761
- } else if (Hls.isSupported()) {
19762
- hls = new Hls;
19763
- hls.loadSource(src);
19764
- hls.attachMedia(video);
19765
- hls.on(Hls.Events.ERROR, (_event, data2) => {
19766
- if (data2.fatal) {
19767
- videoError(new ErrorEvent("HLS.js fatal error"));
19768
- }
19769
- });
19770
- } else {
19771
- console.error("This is an old browser that does not support MSE https://developer.mozilla.org/en-US/docs/Web/API/Media_Source_Extensions_API");
19772
- }
19773
- }
19774
- return () => {
19775
- if (video) {
19776
- video.removeEventListener("error", videoError);
19777
- }
19778
- if (hls) {
19779
- hls.destroy();
19780
- }
19781
- };
19782
- }, [playbackId, playerInitTime, videoError, videoRef]);
19783
- useEffect45(() => {
19784
- const video = videoRef.current;
19785
- if (currentTime && video) {
19786
- video.currentTime = currentTime;
19787
- }
19788
- }, [currentTime]);
19789
- return /* @__PURE__ */ jsx99("div", {
19790
- className: "video-container",
19791
- children: /* @__PURE__ */ jsx99("video", {
19792
- ref: metaRef,
19793
- autoPlay,
19794
- poster,
19795
- controls: true,
19796
- playsInline: true
19797
- })
19798
- });
19799
- });
19800
-
19801
- // src/components/homepage/MuxVideo.tsx
19802
- import { jsx as jsx100 } from "react/jsx-runtime";
19803
- var getVideoToPlayUrl = (muxId) => {
19804
- return `https://stream.mux.com/${muxId}.m3u8`;
19805
- };
19806
- var MuxVideoForward = ({ muxId, ...props }, ref) => {
19807
- const videoRef = useRef33(null);
19808
- const vidUrl = getVideoToPlayUrl(muxId);
19809
- useImperativeHandle14(ref, () => videoRef.current, []);
19810
- useEffect46(() => {
19811
- let hls;
19812
- if (videoRef.current) {
19813
- const { current } = videoRef;
19814
- if (current.canPlayType("application/vnd.apple.mpegurl")) {
19815
- current.src = vidUrl;
19816
- } else if (Hls2.isSupported()) {
19817
- hls = new Hls2;
19818
- hls.loadSource(vidUrl);
19819
- hls.attachMedia(current);
19820
- } else {
19821
- console.error("This is a legacy browser that doesn't support MSE");
19822
- }
19823
- }
19824
- return () => {
19825
- if (hls) {
19826
- hls.destroy();
19827
- }
19828
- };
19829
- }, [vidUrl, videoRef]);
19830
- return /* @__PURE__ */ jsx100("video", {
19831
- ref: videoRef,
19832
- ...props
19833
- });
19834
- };
19835
- var MuxVideo = forwardRef17(MuxVideoForward);
19836
-
19837
- // src/components/homepage/VideoAppsShowcase.tsx
19838
- import { jsx as jsx101, jsxs as jsxs43 } from "react/jsx-runtime";
19989
+ import { jsx as jsx104, jsxs as jsxs45 } from "react/jsx-runtime";
19839
19990
  var tabs = [
19840
19991
  "Music visualization",
19841
19992
  "Captions",
@@ -19965,15 +20116,15 @@ var VideoAppsShowcase = () => {
19965
20116
  setIsMuted(newMutedState);
19966
20117
  }
19967
20118
  };
19968
- return /* @__PURE__ */ jsxs43("div", {
20119
+ return /* @__PURE__ */ jsxs45("div", {
19969
20120
  ref: containerRef,
19970
20121
  children: [
19971
- /* @__PURE__ */ jsx101(SectionTitle, {
20122
+ /* @__PURE__ */ jsx104(SectionTitle, {
19972
20123
  children: "Use Cases"
19973
20124
  }),
19974
- /* @__PURE__ */ jsx101("div", {
20125
+ /* @__PURE__ */ jsx104("div", {
19975
20126
  className: "grid justify-center grid-flow-col grid-rows-1 gap-2.5 justify-self-center mb-4 w-[90vw] md:w-auto -mt-4",
19976
- children: tabs.map((tab, index) => /* @__PURE__ */ jsx101("button", {
20127
+ children: tabs.map((tab, index) => /* @__PURE__ */ jsx104("button", {
19977
20128
  type: "button",
19978
20129
  "data-active": index === activeTab,
19979
20130
  className: `bg-transparent border-none m-0 p-0 lg:mx-3 my-4 cursor-pointer text-base fontbrand font-bold transition-colors text-muted data-[active=true]:text-brand`,
@@ -19981,16 +20132,16 @@ var VideoAppsShowcase = () => {
19981
20132
  children: tab
19982
20133
  }, tab))
19983
20134
  }),
19984
- /* @__PURE__ */ jsx101("div", {
20135
+ /* @__PURE__ */ jsx104("div", {
19985
20136
  className: "card flex p-0 overflow-hidden",
19986
- children: /* @__PURE__ */ jsxs43("div", {
20137
+ children: /* @__PURE__ */ jsxs45("div", {
19987
20138
  className: "flex-1 flex flex-col lg:flex-row justify-center",
19988
20139
  children: [
19989
- /* @__PURE__ */ jsxs43("div", {
20140
+ /* @__PURE__ */ jsxs45("div", {
19990
20141
  className: "w-full max-w-[500px] aspect-square relative overflow-hidden bg-[#eee]",
19991
20142
  onClick: handlePlayPause,
19992
20143
  children: [
19993
- /* @__PURE__ */ jsx101(MuxVideo, {
20144
+ /* @__PURE__ */ jsx104(MuxVideo, {
19994
20145
  ref: videoRef,
19995
20146
  muxId: videoApps[activeTab].muxId,
19996
20147
  className: "absolute left-0 top-0 w-full h-full object-contain rounded-sm rounded-tr-none rounded-br-none",
@@ -19998,17 +20149,17 @@ var VideoAppsShowcase = () => {
19998
20149
  playsInline: true,
19999
20150
  muted: isMuted
20000
20151
  }),
20001
- isMuted && /* @__PURE__ */ jsx101("button", {
20152
+ isMuted && /* @__PURE__ */ jsx104("button", {
20002
20153
  type: "button",
20003
20154
  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",
20004
20155
  onClick: (e) => {
20005
20156
  e.stopPropagation();
20006
20157
  handleMuteToggle();
20007
20158
  },
20008
- children: /* @__PURE__ */ jsx101("svg", {
20159
+ children: /* @__PURE__ */ jsx104("svg", {
20009
20160
  style: { width: 24 },
20010
20161
  viewBox: "0 0 576 512",
20011
- children: /* @__PURE__ */ jsx101("path", {
20162
+ children: /* @__PURE__ */ jsx104("path", {
20012
20163
  fill: "black",
20013
20164
  d: "M0 160L0 352l128 0L272 480l48 0 0-448-48 0L128 160 0 160zm441 23l-17-17L390.1 200l17 17 39 39-39 39-17 17L424 345.9l17-17 39-39 39 39 17 17L569.9 312l-17-17-39-39 39-39 17-17L536 166.1l-17 17-39 39-39-39z"
20014
20165
  })
@@ -20016,34 +20167,34 @@ var VideoAppsShowcase = () => {
20016
20167
  })
20017
20168
  ]
20018
20169
  }),
20019
- /* @__PURE__ */ jsxs43("div", {
20170
+ /* @__PURE__ */ jsxs45("div", {
20020
20171
  className: "p-6 flex-1 flex flex-col h-full",
20021
20172
  children: [
20022
- /* @__PURE__ */ jsx101("div", {
20173
+ /* @__PURE__ */ jsx104("div", {
20023
20174
  className: "text-4xl font-bold fontbrand mt-0",
20024
20175
  children: videoApps[activeTab].title
20025
20176
  }),
20026
- /* @__PURE__ */ jsx101("div", {
20177
+ /* @__PURE__ */ jsx104("div", {
20027
20178
  className: "text-muted mt-4 text-base fontbrand",
20028
20179
  children: videoApps[activeTab].description
20029
20180
  }),
20030
- videoApps[activeTab].additionalInfo ? /* @__PURE__ */ jsx101("div", {
20181
+ videoApps[activeTab].additionalInfo ? /* @__PURE__ */ jsx104("div", {
20031
20182
  className: "text-muted mt-4 text-base fontbrand",
20032
20183
  children: videoApps[activeTab].additionalInfo
20033
20184
  }) : null,
20034
- /* @__PURE__ */ jsx101("div", {
20185
+ /* @__PURE__ */ jsx104("div", {
20035
20186
  className: "h-5"
20036
20187
  }),
20037
- /* @__PURE__ */ jsxs43("a", {
20188
+ /* @__PURE__ */ jsxs45("a", {
20038
20189
  className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center",
20039
20190
  href: videoApps[activeTab].link,
20040
20191
  children: [
20041
20192
  videoApps[activeTab].buttonText,
20042
- /* @__PURE__ */ jsx101("svg", {
20193
+ /* @__PURE__ */ jsx104("svg", {
20043
20194
  style: icon5,
20044
20195
  xmlns: "http://www.w3.org/2000/svg",
20045
20196
  viewBox: "0 0 448 512",
20046
- children: /* @__PURE__ */ jsx101("path", {
20197
+ children: /* @__PURE__ */ jsx104("path", {
20047
20198
  fill: "currentColor",
20048
20199
  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"
20049
20200
  })
@@ -20055,20 +20206,20 @@ var VideoAppsShowcase = () => {
20055
20206
  ]
20056
20207
  })
20057
20208
  }),
20058
- /* @__PURE__ */ jsx101("div", {
20209
+ /* @__PURE__ */ jsx104("div", {
20059
20210
  style: {
20060
20211
  marginTop: "1rem",
20061
20212
  justifyContent: "center",
20062
20213
  display: "flex"
20063
20214
  },
20064
- children: /* @__PURE__ */ jsxs43("div", {
20215
+ children: /* @__PURE__ */ jsxs45("div", {
20065
20216
  style: {
20066
20217
  fontFamily: "GTPlanar"
20067
20218
  },
20068
20219
  children: [
20069
20220
  "For more examples see our",
20070
20221
  " ",
20071
- /* @__PURE__ */ jsx101("a", {
20222
+ /* @__PURE__ */ jsx104("a", {
20072
20223
  href: "/showcase",
20073
20224
  className: "bluelink",
20074
20225
  children: "Showcase page"
@@ -20203,7 +20354,7 @@ var FEATURED_TEMPLATES = [
20203
20354
  type: "video",
20204
20355
  defaultBranch: "main",
20205
20356
  featuredOnHomePage: "Next.js",
20206
- previewURL: null,
20357
+ previewURL: "https://next.remotion.dev",
20207
20358
  templateInMonorepo: "template-next-app",
20208
20359
  allowEnableTailwind: false
20209
20360
  },
@@ -20223,7 +20374,7 @@ var FEATURED_TEMPLATES = [
20223
20374
  type: "video",
20224
20375
  defaultBranch: "main",
20225
20376
  featuredOnHomePage: null,
20226
- previewURL: null,
20377
+ previewURL: "https://next.remotion.dev",
20227
20378
  templateInMonorepo: "template-next-app-tailwind",
20228
20379
  allowEnableTailwind: false
20229
20380
  },
@@ -20243,7 +20394,7 @@ var FEATURED_TEMPLATES = [
20243
20394
  type: "video",
20244
20395
  defaultBranch: "main",
20245
20396
  featuredOnHomePage: null,
20246
- previewURL: null,
20397
+ previewURL: "https://next.remotion.dev",
20247
20398
  templateInMonorepo: "template-next-pages",
20248
20399
  allowEnableTailwind: false
20249
20400
  },
@@ -20578,19 +20729,32 @@ var FEATURED_TEMPLATES = [
20578
20729
  allowEnableTailwind: true
20579
20730
  }
20580
20731
  ].filter(truthy3);
20732
+ var PAID_TEMPLATES = [
20733
+ {
20734
+ homePageLabel: "Editor Starter",
20735
+ shortName: "Editor Starter",
20736
+ org: "remotion-dev",
20737
+ repoName: "editor-starter",
20738
+ description: "A boilerplate for starting a video editor",
20739
+ longerDescription: "A starting point for building your own video editor.",
20740
+ cliId: "editor-starter",
20741
+ defaultBranch: "main",
20742
+ previewURL: "https://www.remotion.pro/editor-starter"
20743
+ }
20744
+ ].filter(truthy3);
20581
20745
  var CreateVideoInternals = {
20582
20746
  FEATURED_TEMPLATES,
20583
20747
  listOfRemotionPackages
20584
20748
  };
20585
20749
 
20586
20750
  // src/components/icons/blank.tsx
20587
- import { jsx as jsx104 } from "react/jsx-runtime";
20751
+ import { jsx as jsx106 } from "react/jsx-runtime";
20588
20752
  var Blank = (props) => {
20589
- return /* @__PURE__ */ jsx104("svg", {
20753
+ return /* @__PURE__ */ jsx106("svg", {
20590
20754
  xmlns: "http://www.w3.org/2000/svg",
20591
20755
  viewBox: "0 0 384 512",
20592
20756
  ...props,
20593
- children: /* @__PURE__ */ jsx104("path", {
20757
+ children: /* @__PURE__ */ jsx106("path", {
20594
20758
  fill: "currentColor",
20595
20759
  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"
20596
20760
  })
@@ -20598,29 +20762,29 @@ var Blank = (props) => {
20598
20762
  };
20599
20763
 
20600
20764
  // src/components/icons/code-hike.tsx
20601
- import { jsx as jsx106, jsxs as jsxs45 } from "react/jsx-runtime";
20765
+ import { jsx as jsx107, jsxs as jsxs46 } from "react/jsx-runtime";
20602
20766
  var CodeHike = (props) => {
20603
- return /* @__PURE__ */ jsxs45("svg", {
20767
+ return /* @__PURE__ */ jsxs46("svg", {
20604
20768
  ...props,
20605
20769
  viewBox: "-100 -100 200 200",
20606
20770
  fill: "currentColor",
20607
20771
  children: [
20608
- /* @__PURE__ */ jsx106("path", {
20772
+ /* @__PURE__ */ jsx107("path", {
20609
20773
  d: "M 70 60 L 42 -27 L 72 -27 L 100 60 Z"
20610
20774
  }),
20611
- /* @__PURE__ */ jsx106("path", {
20775
+ /* @__PURE__ */ jsx107("path", {
20612
20776
  d: "M 20.419540229885058 40.05357142857142 L 42 -27 L 72 -27 L 50.41954022988506 40.05357142857142 Z"
20613
20777
  }),
20614
- /* @__PURE__ */ jsx106("path", {
20778
+ /* @__PURE__ */ jsx107("path", {
20615
20779
  d: "M 20.419540229885058 40.05357142857142 L -15 -70 L 15 -70 L 50.41954022988506 40.05357142857142 Z"
20616
20780
  }),
20617
- /* @__PURE__ */ jsx106("path", {
20781
+ /* @__PURE__ */ jsx107("path", {
20618
20782
  d: "M -50.41954022988506 40.05357142857142 L -15 -70 L 15 -70 L -20.419540229885058 40.05357142857142 Z"
20619
20783
  }),
20620
- /* @__PURE__ */ jsx106("path", {
20784
+ /* @__PURE__ */ jsx107("path", {
20621
20785
  d: "M -50.41954022988506 40.05357142857142 L -72 -27 L -42 -27 L -20.419540229885058 40.05357142857142 Z"
20622
20786
  }),
20623
- /* @__PURE__ */ jsx106("path", {
20787
+ /* @__PURE__ */ jsx107("path", {
20624
20788
  d: "M -100 60 L -72 -27 L -42 -27 L -70 60 Z"
20625
20789
  })
20626
20790
  ]
@@ -20628,13 +20792,13 @@ var CodeHike = (props) => {
20628
20792
  };
20629
20793
 
20630
20794
  // src/components/icons/cubes.tsx
20631
- import { jsx as jsx107 } from "react/jsx-runtime";
20795
+ import { jsx as jsx108 } from "react/jsx-runtime";
20632
20796
  var Cubes = (props) => {
20633
- return /* @__PURE__ */ jsx107("svg", {
20797
+ return /* @__PURE__ */ jsx108("svg", {
20634
20798
  xmlns: "http://www.w3.org/2000/svg",
20635
20799
  viewBox: "0 0 512 512",
20636
20800
  ...props,
20637
- children: /* @__PURE__ */ jsx107("path", {
20801
+ children: /* @__PURE__ */ jsx108("path", {
20638
20802
  fill: "currentColor",
20639
20803
  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"
20640
20804
  })
@@ -20642,13 +20806,13 @@ var Cubes = (props) => {
20642
20806
  };
20643
20807
 
20644
20808
  // src/components/icons/js.tsx
20645
- import { jsx as jsx108 } from "react/jsx-runtime";
20809
+ import { jsx as jsx109 } from "react/jsx-runtime";
20646
20810
  var JSIcon = (props) => {
20647
- return /* @__PURE__ */ jsx108("svg", {
20811
+ return /* @__PURE__ */ jsx109("svg", {
20648
20812
  className: "svg-inline--fa fa-js-square fa-w-14",
20649
20813
  viewBox: "0 0 448 512",
20650
20814
  ...props,
20651
- children: /* @__PURE__ */ jsx108("path", {
20815
+ children: /* @__PURE__ */ jsx109("path", {
20652
20816
  fill: "currentColor",
20653
20817
  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"
20654
20818
  })
@@ -20656,28 +20820,28 @@ var JSIcon = (props) => {
20656
20820
  };
20657
20821
 
20658
20822
  // src/components/icons/music.tsx
20659
- import { jsx as jsx109 } from "react/jsx-runtime";
20823
+ import { jsx as jsx110 } from "react/jsx-runtime";
20660
20824
  var MusicIcon = (props) => {
20661
- return /* @__PURE__ */ jsx109("svg", {
20825
+ return /* @__PURE__ */ jsx110("svg", {
20662
20826
  ...props,
20663
20827
  xmlns: "http://www.w3.org/2000/svg",
20664
20828
  viewBox: "0 0 512 512",
20665
- children: /* @__PURE__ */ jsx109("path", {
20829
+ children: /* @__PURE__ */ jsx110("path", {
20666
20830
  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"
20667
20831
  })
20668
20832
  });
20669
20833
  };
20670
20834
 
20671
20835
  // src/components/icons/next.tsx
20672
- import { jsx as jsx110, jsxs as jsxs46 } from "react/jsx-runtime";
20836
+ import { jsx as jsx111, jsxs as jsxs47 } from "react/jsx-runtime";
20673
20837
  var NextIcon = ({ style: style4 }) => {
20674
- return /* @__PURE__ */ jsxs46("svg", {
20838
+ return /* @__PURE__ */ jsxs47("svg", {
20675
20839
  fill: "none",
20676
20840
  viewBox: "0 0 180 180",
20677
20841
  style: style4,
20678
20842
  xmlns: "http://www.w3.org/2000/svg",
20679
20843
  children: [
20680
- /* @__PURE__ */ jsx110("mask", {
20844
+ /* @__PURE__ */ jsx111("mask", {
20681
20845
  height: "180",
20682
20846
  id: "mask0_292_250",
20683
20847
  maskUnits: "userSpaceOnUse",
@@ -20685,27 +20849,27 @@ var NextIcon = ({ style: style4 }) => {
20685
20849
  width: "180",
20686
20850
  x: "0",
20687
20851
  y: "0",
20688
- children: /* @__PURE__ */ jsx110("circle", {
20852
+ children: /* @__PURE__ */ jsx111("circle", {
20689
20853
  cx: "90",
20690
20854
  cy: "90",
20691
20855
  fill: "currentcolor",
20692
20856
  r: "90"
20693
20857
  })
20694
20858
  }),
20695
- /* @__PURE__ */ jsxs46("g", {
20859
+ /* @__PURE__ */ jsxs47("g", {
20696
20860
  mask: "url(#mask0_292_250)",
20697
20861
  children: [
20698
- /* @__PURE__ */ jsx110("circle", {
20862
+ /* @__PURE__ */ jsx111("circle", {
20699
20863
  cx: "90",
20700
20864
  cy: "90",
20701
20865
  fill: "currentcolor",
20702
20866
  r: "90"
20703
20867
  }),
20704
- /* @__PURE__ */ jsx110("path", {
20868
+ /* @__PURE__ */ jsx111("path", {
20705
20869
  d: "M149.508 157.52L69.142 54H54V125.97H66.1136V69.3836L139.999 164.845C143.333 162.614 146.509 160.165 149.508 157.52Z",
20706
20870
  fill: "url(#paint0_linear_292_250)"
20707
20871
  }),
20708
- /* @__PURE__ */ jsx110("rect", {
20872
+ /* @__PURE__ */ jsx111("rect", {
20709
20873
  fill: "url(#paint1_linear_292_250)",
20710
20874
  height: "72",
20711
20875
  width: "12",
@@ -20714,9 +20878,9 @@ var NextIcon = ({ style: style4 }) => {
20714
20878
  })
20715
20879
  ]
20716
20880
  }),
20717
- /* @__PURE__ */ jsxs46("defs", {
20881
+ /* @__PURE__ */ jsxs47("defs", {
20718
20882
  children: [
20719
- /* @__PURE__ */ jsxs46("linearGradient", {
20883
+ /* @__PURE__ */ jsxs47("linearGradient", {
20720
20884
  gradientUnits: "userSpaceOnUse",
20721
20885
  id: "paint0_linear_292_250",
20722
20886
  x1: "109",
@@ -20724,17 +20888,17 @@ var NextIcon = ({ style: style4 }) => {
20724
20888
  y1: "116.5",
20725
20889
  y2: "160.5",
20726
20890
  children: [
20727
- /* @__PURE__ */ jsx110("stop", {
20891
+ /* @__PURE__ */ jsx111("stop", {
20728
20892
  stopColor: "var(--background)"
20729
20893
  }),
20730
- /* @__PURE__ */ jsx110("stop", {
20894
+ /* @__PURE__ */ jsx111("stop", {
20731
20895
  offset: "1",
20732
20896
  stopColor: "var(--background)",
20733
20897
  stopOpacity: "0"
20734
20898
  })
20735
20899
  ]
20736
20900
  }),
20737
- /* @__PURE__ */ jsxs46("linearGradient", {
20901
+ /* @__PURE__ */ jsxs47("linearGradient", {
20738
20902
  gradientUnits: "userSpaceOnUse",
20739
20903
  id: "paint1_linear_292_250",
20740
20904
  x1: "121",
@@ -20742,10 +20906,10 @@ var NextIcon = ({ style: style4 }) => {
20742
20906
  y1: "54",
20743
20907
  y2: "106.875",
20744
20908
  children: [
20745
- /* @__PURE__ */ jsx110("stop", {
20909
+ /* @__PURE__ */ jsx111("stop", {
20746
20910
  stopColor: "var(--background)"
20747
20911
  }),
20748
- /* @__PURE__ */ jsx110("stop", {
20912
+ /* @__PURE__ */ jsx111("stop", {
20749
20913
  offset: "1",
20750
20914
  stopColor: "var(--background)",
20751
20915
  stopOpacity: "0"
@@ -20759,19 +20923,19 @@ var NextIcon = ({ style: style4 }) => {
20759
20923
  };
20760
20924
 
20761
20925
  // src/components/icons/overlay.tsx
20762
- import { jsx as jsx111, jsxs as jsxs47 } from "react/jsx-runtime";
20926
+ import { jsx as jsx113, jsxs as jsxs48 } from "react/jsx-runtime";
20763
20927
  var OverlayIcon = (props) => {
20764
- return /* @__PURE__ */ jsxs47("svg", {
20928
+ return /* @__PURE__ */ jsxs48("svg", {
20765
20929
  viewBox: "0 0 576 512",
20766
20930
  fill: "none",
20767
20931
  xmlns: "http://www.w3.org/2000/svg",
20768
20932
  ...props,
20769
20933
  children: [
20770
- /* @__PURE__ */ jsx111("path", {
20934
+ /* @__PURE__ */ jsx113("path", {
20771
20935
  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",
20772
20936
  fill: "currentcolor"
20773
20937
  }),
20774
- /* @__PURE__ */ jsx111("path", {
20938
+ /* @__PURE__ */ jsx113("path", {
20775
20939
  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",
20776
20940
  stroke: "currentcolor",
20777
20941
  transform: "translate(32, -25)",
@@ -20782,23 +20946,23 @@ var OverlayIcon = (props) => {
20782
20946
  };
20783
20947
 
20784
20948
  // src/components/icons/recorder.tsx
20785
- import { jsx as jsx113, jsxs as jsxs48 } from "react/jsx-runtime";
20949
+ import { jsx as jsx115, jsxs as jsxs49 } from "react/jsx-runtime";
20786
20950
  var Recorder = (props) => {
20787
- return /* @__PURE__ */ jsxs48("svg", {
20951
+ return /* @__PURE__ */ jsxs49("svg", {
20788
20952
  viewBox: "0 0 700 700",
20789
20953
  ...props,
20790
20954
  children: [
20791
- /* @__PURE__ */ jsx113("path", {
20955
+ /* @__PURE__ */ jsx115("path", {
20792
20956
  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",
20793
20957
  fill: "#F43B00",
20794
20958
  fillOpacity: "0.15"
20795
20959
  }),
20796
- /* @__PURE__ */ jsx113("path", {
20960
+ /* @__PURE__ */ jsx115("path", {
20797
20961
  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",
20798
20962
  fill: "#F43B00",
20799
20963
  fillOpacity: "0.3"
20800
20964
  }),
20801
- /* @__PURE__ */ jsx113("path", {
20965
+ /* @__PURE__ */ jsx115("path", {
20802
20966
  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",
20803
20967
  fill: "#F43B00"
20804
20968
  })
@@ -20807,9 +20971,9 @@ var Recorder = (props) => {
20807
20971
  };
20808
20972
 
20809
20973
  // src/components/icons/remix.tsx
20810
- import { jsx as jsx115, jsxs as jsxs49 } from "react/jsx-runtime";
20974
+ import { jsx as jsx116, jsxs as jsxs50 } from "react/jsx-runtime";
20811
20975
  var ReactRouterIcon = (props) => {
20812
- return /* @__PURE__ */ jsx115("svg", {
20976
+ return /* @__PURE__ */ jsx116("svg", {
20813
20977
  xmlns: "http://www.w3.org/2000/svg",
20814
20978
  width: "800px",
20815
20979
  height: "800px",
@@ -20817,13 +20981,13 @@ var ReactRouterIcon = (props) => {
20817
20981
  version: "1.1",
20818
20982
  preserveAspectRatio: "xMidYMid",
20819
20983
  ...props,
20820
- children: /* @__PURE__ */ jsxs49("g", {
20984
+ children: /* @__PURE__ */ jsxs50("g", {
20821
20985
  children: [
20822
- /* @__PURE__ */ jsx115("path", {
20986
+ /* @__PURE__ */ jsx116("path", {
20823
20987
  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",
20824
20988
  fill: "currentcolor"
20825
20989
  }),
20826
- /* @__PURE__ */ jsx115("path", {
20990
+ /* @__PURE__ */ jsx116("path", {
20827
20991
  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",
20828
20992
  fill: "currentcolor"
20829
20993
  })
@@ -20833,13 +20997,13 @@ var ReactRouterIcon = (props) => {
20833
20997
  };
20834
20998
 
20835
20999
  // src/components/icons/skia.tsx
20836
- import { jsx as jsx116 } from "react/jsx-runtime";
21000
+ import { jsx as jsx117 } from "react/jsx-runtime";
20837
21001
  var SkiaIcon = (props) => {
20838
- return /* @__PURE__ */ jsx116("svg", {
21002
+ return /* @__PURE__ */ jsx117("svg", {
20839
21003
  ...props,
20840
21004
  xmlns: "http://www.w3.org/2000/svg",
20841
21005
  viewBox: "0 0 576 512",
20842
- children: /* @__PURE__ */ jsx116("path", {
21006
+ children: /* @__PURE__ */ jsx117("path", {
20843
21007
  fill: "currentColor",
20844
21008
  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"
20845
21009
  })
@@ -20847,13 +21011,13 @@ var SkiaIcon = (props) => {
20847
21011
  };
20848
21012
 
20849
21013
  // src/components/icons/stargazer.tsx
20850
- import { jsx as jsx117 } from "react/jsx-runtime";
21014
+ import { jsx as jsx118 } from "react/jsx-runtime";
20851
21015
  var Stargazer = (props) => {
20852
- return /* @__PURE__ */ jsx117("svg", {
21016
+ return /* @__PURE__ */ jsx118("svg", {
20853
21017
  height: "1em",
20854
21018
  viewBox: "0 0 512 512",
20855
21019
  ...props,
20856
- children: /* @__PURE__ */ jsx117("path", {
21020
+ children: /* @__PURE__ */ jsx118("path", {
20857
21021
  fill: "currentcolor",
20858
21022
  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"
20859
21023
  })
@@ -20861,13 +21025,13 @@ var Stargazer = (props) => {
20861
21025
  };
20862
21026
 
20863
21027
  // src/components/icons/still.tsx
20864
- import { jsx as jsx118 } from "react/jsx-runtime";
21028
+ import { jsx as jsx119 } from "react/jsx-runtime";
20865
21029
  var StillIcon = (props) => {
20866
- return /* @__PURE__ */ jsx118("svg", {
21030
+ return /* @__PURE__ */ jsx119("svg", {
20867
21031
  xmlns: "http://www.w3.org/2000/svg",
20868
21032
  viewBox: "0 0 512 512",
20869
21033
  ...props,
20870
- children: /* @__PURE__ */ jsx118("path", {
21034
+ children: /* @__PURE__ */ jsx119("path", {
20871
21035
  fill: "currentColor",
20872
21036
  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"
20873
21037
  })
@@ -20875,12 +21039,12 @@ var StillIcon = (props) => {
20875
21039
  };
20876
21040
 
20877
21041
  // src/components/icons/tiktok.tsx
20878
- import { jsx as jsx119 } from "react/jsx-runtime";
21042
+ import { jsx as jsx120 } from "react/jsx-runtime";
20879
21043
  var TikTok = (props) => {
20880
- return /* @__PURE__ */ jsx119("svg", {
21044
+ return /* @__PURE__ */ jsx120("svg", {
20881
21045
  ...props,
20882
21046
  viewBox: "0 0 448 512",
20883
- children: /* @__PURE__ */ jsx119("path", {
21047
+ children: /* @__PURE__ */ jsx120("path", {
20884
21048
  fill: "currentcolor",
20885
21049
  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"
20886
21050
  })
@@ -20888,14 +21052,14 @@ var TikTok = (props) => {
20888
21052
  };
20889
21053
 
20890
21054
  // src/components/icons/ts.tsx
20891
- import { jsx as jsx120 } from "react/jsx-runtime";
21055
+ import { jsx as jsx121 } from "react/jsx-runtime";
20892
21056
  var TypeScriptIcon = (props) => {
20893
- return /* @__PURE__ */ jsx120("svg", {
21057
+ return /* @__PURE__ */ jsx121("svg", {
20894
21058
  fill: "#000000",
20895
21059
  xmlns: "http://www.w3.org/2000/svg",
20896
21060
  viewBox: "0 0 24 24",
20897
21061
  ...props,
20898
- children: /* @__PURE__ */ jsx120("path", {
21062
+ children: /* @__PURE__ */ jsx121("path", {
20899
21063
  fill: "currentColor",
20900
21064
  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"
20901
21065
  })
@@ -20903,13 +21067,13 @@ var TypeScriptIcon = (props) => {
20903
21067
  };
20904
21068
 
20905
21069
  // src/components/icons/tts.tsx
20906
- import { jsx as jsx121 } from "react/jsx-runtime";
21070
+ import { jsx as jsx123 } from "react/jsx-runtime";
20907
21071
  var TTSIcon = (props) => {
20908
- return /* @__PURE__ */ jsx121("svg", {
21072
+ return /* @__PURE__ */ jsx123("svg", {
20909
21073
  xmlns: "http://www.w3.org/2000/svg",
20910
21074
  viewBox: "0 0 512 512",
20911
21075
  ...props,
20912
- children: /* @__PURE__ */ jsx121("path", {
21076
+ children: /* @__PURE__ */ jsx123("path", {
20913
21077
  fill: "currentColor",
20914
21078
  d: "M256 31.1c-141.4 0-255.1 93.13-255.1 208c0 47.62 19.91 91.25 52.91 126.3c-14.87 39.5-45.87 72.88-46.37 73.25c-6.623 7-8.373 17.25-4.623 26C5.816 474.3 14.38 480 24 480c61.49 0 109.1-25.75 139.1-46.25c28.1 9 60.16 14.25 92.9 14.25c141.4 0 255.1-93.13 255.1-207.1S397.4 31.1 256 31.1zM256 416c-28.25 0-56.24-4.25-83.24-12.75c-9.516-3.068-19.92-1.461-28.07 4.338c-22.1 16.25-58.54 35.29-102.7 39.66c11.1-15.12 29.75-40.5 40.74-69.63l.1289-.3398c4.283-11.27 1.791-23.1-6.43-32.82C47.51 313.1 32.06 277.6 32.06 240c0-97 100.5-176 223.1-176c123.5 0 223.1 79 223.1 176S379.5 416 256 416zM272 272h-128c-8.801 0-16 7.199-16 15.1C127.1 296.8 135.2 304 144 304h128c8.801 0 15.1-7.204 15.1-16C287.1 279.2 280.8 272 272 272zM368 176h-224c-8.801 0-16 7.199-16 15.1C127.1 200.8 135.2 208 144 208h224c8.801 0 15.1-7.204 15.1-16C383.1 183.2 376.8 176 368 176z"
20915
21079
  })
@@ -20917,13 +21081,13 @@ var TTSIcon = (props) => {
20917
21081
  };
20918
21082
 
20919
21083
  // src/components/icons/waveform.tsx
20920
- import { jsx as jsx123 } from "react/jsx-runtime";
21084
+ import { jsx as jsx125 } from "react/jsx-runtime";
20921
21085
  var Waveform = (props) => {
20922
- return /* @__PURE__ */ jsx123("svg", {
21086
+ return /* @__PURE__ */ jsx125("svg", {
20923
21087
  xmlns: "http://www.w3.org/2000/svg",
20924
21088
  viewBox: "0 0 640 512",
20925
21089
  ...props,
20926
- children: /* @__PURE__ */ jsx123("path", {
21090
+ children: /* @__PURE__ */ jsx125("path", {
20927
21091
  fill: "currentColor",
20928
21092
  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"
20929
21093
  })
@@ -20931,17 +21095,17 @@ var Waveform = (props) => {
20931
21095
  };
20932
21096
 
20933
21097
  // src/components/homepage/IconForTemplate.tsx
20934
- import { jsx as jsx125 } from "react/jsx-runtime";
21098
+ import { jsx as jsx126 } from "react/jsx-runtime";
20935
21099
  var IconForTemplate = ({ template, scale: scale4 = 1 }) => {
20936
21100
  if (template.cliId === "hello-world") {
20937
- return /* @__PURE__ */ jsx125(TypeScriptIcon, {
21101
+ return /* @__PURE__ */ jsx126(TypeScriptIcon, {
20938
21102
  style: {
20939
21103
  height: scale4 * 48
20940
21104
  }
20941
21105
  });
20942
21106
  }
20943
21107
  if (template.cliId === "blank") {
20944
- return /* @__PURE__ */ jsx125(Blank, {
21108
+ return /* @__PURE__ */ jsx126(Blank, {
20945
21109
  style: {
20946
21110
  height: scale4 * 36,
20947
21111
  overflow: "visible"
@@ -20949,99 +21113,99 @@ var IconForTemplate = ({ template, scale: scale4 = 1 }) => {
20949
21113
  });
20950
21114
  }
20951
21115
  if (template.cliId === "javascript") {
20952
- return /* @__PURE__ */ jsx125(JSIcon, {
21116
+ return /* @__PURE__ */ jsx126(JSIcon, {
20953
21117
  style: {
20954
21118
  height: scale4 * 40
20955
21119
  }
20956
21120
  });
20957
21121
  }
20958
21122
  if (template.cliId === "three") {
20959
- return /* @__PURE__ */ jsx125(Cubes, {
21123
+ return /* @__PURE__ */ jsx126(Cubes, {
20960
21124
  style: {
20961
21125
  height: scale4 * 36
20962
21126
  }
20963
21127
  });
20964
21128
  }
20965
21129
  if (template.cliId === "still") {
20966
- return /* @__PURE__ */ jsx125(StillIcon, {
21130
+ return /* @__PURE__ */ jsx126(StillIcon, {
20967
21131
  style: {
20968
21132
  height: scale4 * 36
20969
21133
  }
20970
21134
  });
20971
21135
  }
20972
21136
  if (template.cliId === "audiogram") {
20973
- return /* @__PURE__ */ jsx125(Waveform, {
21137
+ return /* @__PURE__ */ jsx126(Waveform, {
20974
21138
  style: {
20975
21139
  height: scale4 * 36
20976
21140
  }
20977
21141
  });
20978
21142
  }
20979
21143
  if (template.cliId === "tts") {
20980
- return /* @__PURE__ */ jsx125(TTSIcon, {
21144
+ return /* @__PURE__ */ jsx126(TTSIcon, {
20981
21145
  style: {
20982
21146
  height: scale4 * 36
20983
21147
  }
20984
21148
  });
20985
21149
  }
20986
21150
  if (template.cliId === "google-tts") {
20987
- return /* @__PURE__ */ jsx125(TTSIcon, {
21151
+ return /* @__PURE__ */ jsx126(TTSIcon, {
20988
21152
  style: {
20989
21153
  height: scale4 * 36
20990
21154
  }
20991
21155
  });
20992
21156
  }
20993
21157
  if (template.cliId === "skia") {
20994
- return /* @__PURE__ */ jsx125(SkiaIcon, {
21158
+ return /* @__PURE__ */ jsx126(SkiaIcon, {
20995
21159
  style: {
20996
21160
  height: scale4 * 32
20997
21161
  }
20998
21162
  });
20999
21163
  }
21000
21164
  if (template.cliId === "music-visualization") {
21001
- return /* @__PURE__ */ jsx125(MusicIcon, {
21165
+ return /* @__PURE__ */ jsx126(MusicIcon, {
21002
21166
  style: {
21003
21167
  height: scale4 * 32
21004
21168
  }
21005
21169
  });
21006
21170
  }
21007
21171
  if (template.cliId === "react-router") {
21008
- return /* @__PURE__ */ jsx125(ReactRouterIcon, {
21172
+ return /* @__PURE__ */ jsx126(ReactRouterIcon, {
21009
21173
  style: {
21010
21174
  height: scale4 * 32
21011
21175
  }
21012
21176
  });
21013
21177
  }
21014
21178
  if (template.cliId === "overlay") {
21015
- return /* @__PURE__ */ jsx125(OverlayIcon, {
21179
+ return /* @__PURE__ */ jsx126(OverlayIcon, {
21016
21180
  style: { height: scale4 * 42 }
21017
21181
  });
21018
21182
  }
21019
21183
  if (template.cliId === "recorder") {
21020
- return /* @__PURE__ */ jsx125(Recorder, {
21184
+ return /* @__PURE__ */ jsx126(Recorder, {
21021
21185
  style: { height: scale4 * 36 }
21022
21186
  });
21023
21187
  }
21024
21188
  if (template.cliId === "next" || template.cliId === "next-tailwind" || template.cliId === "next-pages-dir") {
21025
- return /* @__PURE__ */ jsx125(NextIcon, {
21189
+ return /* @__PURE__ */ jsx126(NextIcon, {
21026
21190
  style: { height: scale4 * 36 }
21027
21191
  });
21028
21192
  }
21029
21193
  if (template.cliId === "stargazer") {
21030
- return /* @__PURE__ */ jsx125(Stargazer, {
21194
+ return /* @__PURE__ */ jsx126(Stargazer, {
21031
21195
  style: { height: scale4 * 36 }
21032
21196
  });
21033
21197
  }
21034
21198
  if (template.cliId === "tiktok") {
21035
- return /* @__PURE__ */ jsx125(TikTok, {
21199
+ return /* @__PURE__ */ jsx126(TikTok, {
21036
21200
  style: { height: scale4 * 36 }
21037
21201
  });
21038
21202
  }
21039
21203
  if (template.cliId === "code-hike") {
21040
- return /* @__PURE__ */ jsx125(CodeHike, {
21204
+ return /* @__PURE__ */ jsx126(CodeHike, {
21041
21205
  style: { height: scale4 * 36 }
21042
21206
  });
21043
21207
  }
21044
- return /* @__PURE__ */ jsx125(Blank, {
21208
+ return /* @__PURE__ */ jsx126(Blank, {
21045
21209
  style: {
21046
21210
  height: scale4 * 40
21047
21211
  }
@@ -21055,25 +21219,25 @@ var useMobileLayout = () => {
21055
21219
  };
21056
21220
 
21057
21221
  // src/components/homepage/MoreTemplatesButton.tsx
21058
- import { jsx as jsx126, jsxs as jsxs50 } from "react/jsx-runtime";
21222
+ import { jsx as jsx127, jsxs as jsxs51 } from "react/jsx-runtime";
21059
21223
  var icon6 = {
21060
21224
  height: 16,
21061
21225
  marginLeft: 10
21062
21226
  };
21063
21227
  var MoreTemplatesButton = () => {
21064
21228
  const mobileLayout = useMobileLayout();
21065
- return /* @__PURE__ */ jsx126("a", {
21229
+ return /* @__PURE__ */ jsx127("a", {
21066
21230
  href: "/templates",
21067
21231
  className: "no-underline text-inherit",
21068
- children: /* @__PURE__ */ jsxs50("div", {
21232
+ children: /* @__PURE__ */ jsxs51("div", {
21069
21233
  className: "right-0 border-2 rounded-full text-inherit px-4 py-2 fontbrand font-semibold text-sm flex flex-row items-center",
21070
21234
  children: [
21071
21235
  mobileLayout ? "Templates" : "Find a template",
21072
- /* @__PURE__ */ jsx126("svg", {
21236
+ /* @__PURE__ */ jsx127("svg", {
21073
21237
  style: icon6,
21074
21238
  xmlns: "http://www.w3.org/2000/svg",
21075
21239
  viewBox: "0 0 448 512",
21076
- children: /* @__PURE__ */ jsx126("path", {
21240
+ children: /* @__PURE__ */ jsx127("path", {
21077
21241
  fill: "currentColor",
21078
21242
  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"
21079
21243
  })
@@ -21084,7 +21248,7 @@ var MoreTemplatesButton = () => {
21084
21248
  };
21085
21249
 
21086
21250
  // src/components/homepage/TemplateIcon.tsx
21087
- import { jsx as jsx127, jsxs as jsxs51 } from "react/jsx-runtime";
21251
+ import { jsx as jsx128, jsxs as jsxs53 } from "react/jsx-runtime";
21088
21252
  var icon7 = {
21089
21253
  display: "flex",
21090
21254
  width: 36,
@@ -21105,14 +21269,14 @@ var outer = {
21105
21269
  };
21106
21270
  var TemplateIcon = ({ children, label: label3 }) => {
21107
21271
  const mobileLayout = useMobileLayout();
21108
- return /* @__PURE__ */ jsxs51("span", {
21272
+ return /* @__PURE__ */ jsxs53("span", {
21109
21273
  style: outer,
21110
21274
  children: [
21111
- /* @__PURE__ */ jsx127("div", {
21275
+ /* @__PURE__ */ jsx128("div", {
21112
21276
  style: icon7,
21113
21277
  children
21114
21278
  }),
21115
- mobileLayout ? null : /* @__PURE__ */ jsx127("div", {
21279
+ mobileLayout ? null : /* @__PURE__ */ jsx128("div", {
21116
21280
  className: "text-xs fontbrand",
21117
21281
  children: label3
21118
21282
  })
@@ -21121,19 +21285,19 @@ var TemplateIcon = ({ children, label: label3 }) => {
21121
21285
  };
21122
21286
 
21123
21287
  // src/components/homepage/ChooseTemplate.tsx
21124
- import { jsx as jsx128, jsxs as jsxs53 } from "react/jsx-runtime";
21288
+ import { jsx as jsx129, jsxs as jsxs55 } from "react/jsx-runtime";
21125
21289
  var ChooseTemplate = () => {
21126
- return /* @__PURE__ */ jsx128("div", {
21290
+ return /* @__PURE__ */ jsx129("div", {
21127
21291
  style: {
21128
21292
  display: "flex",
21129
21293
  flexDirection: "column"
21130
21294
  },
21131
- children: /* @__PURE__ */ jsx128("div", {
21295
+ children: /* @__PURE__ */ jsx129("div", {
21132
21296
  style: {
21133
21297
  position: "relative",
21134
21298
  textAlign: "center"
21135
21299
  },
21136
- children: /* @__PURE__ */ jsxs53("div", {
21300
+ children: /* @__PURE__ */ jsxs55("div", {
21137
21301
  className: "no-scroll-bar",
21138
21302
  style: {
21139
21303
  backgroundColor: "var(--plain-button)",
@@ -21149,19 +21313,19 @@ var ChooseTemplate = () => {
21149
21313
  },
21150
21314
  children: [
21151
21315
  CreateVideoInternals.FEATURED_TEMPLATES.filter((f) => f.featuredOnHomePage).map((template) => {
21152
- return /* @__PURE__ */ jsx128("a", {
21316
+ return /* @__PURE__ */ jsx129("a", {
21153
21317
  className: "text-inherit no-underline",
21154
21318
  href: `/templates/${template.cliId}`,
21155
- children: /* @__PURE__ */ jsx128(TemplateIcon, {
21319
+ children: /* @__PURE__ */ jsx129(TemplateIcon, {
21156
21320
  label: template.featuredOnHomePage,
21157
- children: /* @__PURE__ */ jsx128(IconForTemplate, {
21321
+ children: /* @__PURE__ */ jsx129(IconForTemplate, {
21158
21322
  scale: 0.7,
21159
21323
  template
21160
21324
  })
21161
21325
  })
21162
21326
  }, template.cliId);
21163
21327
  }),
21164
- /* @__PURE__ */ jsx128(MoreTemplatesButton, {})
21328
+ /* @__PURE__ */ jsx129(MoreTemplatesButton, {})
21165
21329
  ]
21166
21330
  })
21167
21331
  })
@@ -21172,28 +21336,28 @@ var ChooseTemplate = () => {
21172
21336
  import { useState as useState41 } from "react";
21173
21337
 
21174
21338
  // src/components/homepage/GitHubButton.tsx
21175
- import { jsx as jsx129, jsxs as jsxs55 } from "react/jsx-runtime";
21339
+ import { jsx as jsx130, jsxs as jsxs56 } from "react/jsx-runtime";
21176
21340
  var GithubIcon = () => {
21177
- return /* @__PURE__ */ jsx129("svg", {
21341
+ return /* @__PURE__ */ jsx130("svg", {
21178
21342
  viewBox: "0 0 496 512",
21179
21343
  style: { height: 24, marginRight: 8 },
21180
- children: /* @__PURE__ */ jsx129("path", {
21344
+ children: /* @__PURE__ */ jsx130("path", {
21181
21345
  fill: "currentColor",
21182
21346
  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"
21183
21347
  })
21184
21348
  });
21185
21349
  };
21186
21350
  var GithubButton = () => {
21187
- return /* @__PURE__ */ jsxs55("div", {
21351
+ return /* @__PURE__ */ jsxs56("div", {
21188
21352
  className: "flex flex-row items-center text-base",
21189
21353
  children: [
21190
- /* @__PURE__ */ jsx129(GithubIcon, {}),
21354
+ /* @__PURE__ */ jsx130(GithubIcon, {}),
21191
21355
  " ",
21192
- /* @__PURE__ */ jsx129("span", {
21356
+ /* @__PURE__ */ jsx130("span", {
21193
21357
  children: "GitHub"
21194
21358
  }),
21195
21359
  " ",
21196
- /* @__PURE__ */ jsx129("div", {
21360
+ /* @__PURE__ */ jsx130("div", {
21197
21361
  className: "text-xs inline-block ml-2 leading-none mt-[3px] self-center",
21198
21362
  children: "22k"
21199
21363
  })
@@ -21202,18 +21366,18 @@ var GithubButton = () => {
21202
21366
  };
21203
21367
 
21204
21368
  // src/components/homepage/GetStartedStrip.tsx
21205
- import { jsx as jsx130, jsxs as jsxs56 } from "react/jsx-runtime";
21369
+ import { jsx as jsx131, jsxs as jsxs57 } from "react/jsx-runtime";
21206
21370
  var GetStarted = () => {
21207
21371
  const [clicked, setClicked] = useState41(null);
21208
- return /* @__PURE__ */ jsxs56("div", {
21372
+ return /* @__PURE__ */ jsxs57("div", {
21209
21373
  className: "flex flex-col lg:flex-row items-center justify-center text-center w-full",
21210
21374
  children: [
21211
- /* @__PURE__ */ jsx130("div", {
21375
+ /* @__PURE__ */ jsx131("div", {
21212
21376
  className: "w-full lg:w-auto",
21213
- children: /* @__PURE__ */ jsxs56("div", {
21377
+ children: /* @__PURE__ */ jsxs57("div", {
21214
21378
  className: "flex flex-row w-full ",
21215
21379
  children: [
21216
- clicked ? /* @__PURE__ */ jsx130("div", {
21380
+ clicked ? /* @__PURE__ */ jsx131("div", {
21217
21381
  style: {
21218
21382
  animation: "click 0.7s linear",
21219
21383
  animationFillMode: "forwards"
@@ -21221,7 +21385,7 @@ var GetStarted = () => {
21221
21385
  className: "absolute z-0 top-0 font-mono text-sm text-center w-full",
21222
21386
  children: "Copied!"
21223
21387
  }, clicked) : null,
21224
- /* @__PURE__ */ jsx130("div", {
21388
+ /* @__PURE__ */ jsx131("div", {
21225
21389
  className: "bg-[#333] text-white rounded-lg px-4 font-mono hover:[#444] cursor-pointer justify-center items-center flex flex-1 min-h-12",
21226
21390
  onClick: () => {
21227
21391
  navigator.clipboard.writeText("npx create-video@latest");
@@ -21233,16 +21397,16 @@ var GetStarted = () => {
21233
21397
  ]
21234
21398
  })
21235
21399
  }),
21236
- /* @__PURE__ */ jsx130("div", {
21400
+ /* @__PURE__ */ jsx131("div", {
21237
21401
  className: "w-2 h-2"
21238
21402
  }),
21239
- /* @__PURE__ */ jsx130("div", {
21403
+ /* @__PURE__ */ jsx131("div", {
21240
21404
  className: "w-full lg:w-auto",
21241
- children: /* @__PURE__ */ jsx130("a", {
21405
+ children: /* @__PURE__ */ jsx131("a", {
21242
21406
  className: "no-underline w-full block",
21243
21407
  href: "https://www.youtube.com/watch?v=deg8bOoziaE",
21244
21408
  target: "_blank",
21245
- children: /* @__PURE__ */ jsx130(PlainButton, {
21409
+ children: /* @__PURE__ */ jsx131(PlainButton, {
21246
21410
  size: "sm",
21247
21411
  loading: false,
21248
21412
  className: "w-full",
@@ -21250,45 +21414,45 @@ var GetStarted = () => {
21250
21414
  })
21251
21415
  })
21252
21416
  }),
21253
- /* @__PURE__ */ jsx130("div", {
21417
+ /* @__PURE__ */ jsx131("div", {
21254
21418
  style: { width: 10, height: 10 }
21255
21419
  }),
21256
- /* @__PURE__ */ jsx130("a", {
21420
+ /* @__PURE__ */ jsx131("a", {
21257
21421
  className: "no-underline w-full lg:w-auto",
21258
21422
  href: "/docs",
21259
- children: /* @__PURE__ */ jsx130(PlainButton, {
21423
+ children: /* @__PURE__ */ jsx131(PlainButton, {
21260
21424
  size: "sm",
21261
21425
  loading: false,
21262
21426
  className: "w-full",
21263
21427
  children: "Docs"
21264
21428
  })
21265
21429
  }),
21266
- /* @__PURE__ */ jsx130("div", {
21430
+ /* @__PURE__ */ jsx131("div", {
21267
21431
  className: "w-2 h-2"
21268
21432
  }),
21269
- /* @__PURE__ */ jsx130("a", {
21433
+ /* @__PURE__ */ jsx131("a", {
21270
21434
  className: "no-underline w-full lg:w-auto",
21271
21435
  href: "https://remotion.dev/discord",
21272
21436
  target: "_blank",
21273
- children: /* @__PURE__ */ jsx130(PlainButton, {
21437
+ children: /* @__PURE__ */ jsx131(PlainButton, {
21274
21438
  size: "sm",
21275
21439
  loading: false,
21276
21440
  className: "w-full",
21277
21441
  children: "Discord"
21278
21442
  })
21279
21443
  }),
21280
- /* @__PURE__ */ jsx130("div", {
21444
+ /* @__PURE__ */ jsx131("div", {
21281
21445
  className: "w-2 h-2"
21282
21446
  }),
21283
- /* @__PURE__ */ jsx130("a", {
21447
+ /* @__PURE__ */ jsx131("a", {
21284
21448
  className: "no-underline w-full lg:w-auto",
21285
21449
  href: "https://github.com/remotion-dev/remotion",
21286
21450
  target: "_blank",
21287
- children: /* @__PURE__ */ jsx130(PlainButton, {
21451
+ children: /* @__PURE__ */ jsx131(PlainButton, {
21288
21452
  size: "sm",
21289
21453
  loading: false,
21290
21454
  className: "w-full",
21291
- children: /* @__PURE__ */ jsx130(GithubButton, {})
21455
+ children: /* @__PURE__ */ jsx131(GithubButton, {})
21292
21456
  })
21293
21457
  })
21294
21458
  ]
@@ -21296,105 +21460,109 @@ var GetStarted = () => {
21296
21460
  };
21297
21461
 
21298
21462
  // src/components/homepage/WriteInReact.tsx
21299
- import { jsx as jsx131, jsxs as jsxs57 } from "react/jsx-runtime";
21463
+ import { jsx as jsx133, jsxs as jsxs58 } from "react/jsx-runtime";
21300
21464
  var WriteInReact = () => {
21301
- return /* @__PURE__ */ jsxs57("div", {
21465
+ return /* @__PURE__ */ jsxs58("div", {
21302
21466
  children: [
21303
- /* @__PURE__ */ jsx131("h1", {
21467
+ /* @__PURE__ */ jsx133("h1", {
21304
21468
  className: "text-5xl lg:text-[5em] text-center fontbrand font-black leading-none ",
21305
21469
  style: {
21306
21470
  textShadow: "0 5px 30px var(--background)"
21307
21471
  },
21308
21472
  children: "Make videos programmatically."
21309
21473
  }),
21310
- /* @__PURE__ */ jsxs57("p", {
21474
+ /* @__PURE__ */ jsxs58("p", {
21311
21475
  style: {
21312
21476
  textShadow: "0 5px 30px var(--background)"
21313
21477
  },
21314
21478
  className: "font-medium text-center text-lg",
21315
21479
  children: [
21316
21480
  "Create real MP4 videos with React. ",
21317
- /* @__PURE__ */ jsx131("br", {}),
21481
+ /* @__PURE__ */ jsx133("br", {}),
21318
21482
  "Parametrize content, render server-side and build applications."
21319
21483
  ]
21320
21484
  }),
21321
- /* @__PURE__ */ jsx131("br", {}),
21322
- /* @__PURE__ */ jsx131("div", {
21323
- children: /* @__PURE__ */ jsx131(GetStarted, {})
21485
+ /* @__PURE__ */ jsx133("br", {}),
21486
+ /* @__PURE__ */ jsx133("div", {
21487
+ children: /* @__PURE__ */ jsx133(GetStarted, {})
21324
21488
  }),
21325
- /* @__PURE__ */ jsx131("br", {}),
21326
- /* @__PURE__ */ jsx131("br", {}),
21327
- /* @__PURE__ */ jsx131(ChooseTemplate, {})
21489
+ /* @__PURE__ */ jsx133("br", {}),
21490
+ /* @__PURE__ */ jsx133("br", {}),
21491
+ /* @__PURE__ */ jsx133(ChooseTemplate, {})
21328
21492
  ]
21329
21493
  });
21330
21494
  };
21331
21495
 
21332
21496
  // src/components/Homepage.tsx
21333
- import { jsx as jsx133, jsxs as jsxs58 } from "react/jsx-runtime";
21497
+ import { jsx as jsx135, jsxs as jsxs59 } from "react/jsx-runtime";
21334
21498
  "use client";
21335
21499
  var NewLanding = ({ colorMode, setColorMode }) => {
21336
- return /* @__PURE__ */ jsx133(ColorModeProvider, {
21500
+ return /* @__PURE__ */ jsx135(ColorModeProvider, {
21337
21501
  colorMode,
21338
21502
  setColorMode,
21339
- children: /* @__PURE__ */ jsx133("div", {
21503
+ children: /* @__PURE__ */ jsx135("div", {
21340
21504
  className: "bg-[var(--background)] relative",
21341
- children: /* @__PURE__ */ jsxs58("div", {
21505
+ children: /* @__PURE__ */ jsxs59("div", {
21342
21506
  style: { overflow: "hidden" },
21343
21507
  children: [
21344
- /* @__PURE__ */ jsx133("div", {
21345
- children: /* @__PURE__ */ jsx133(BackgroundAnimation, {})
21508
+ /* @__PURE__ */ jsx135("div", {
21509
+ children: /* @__PURE__ */ jsx135(BackgroundAnimation, {})
21346
21510
  }),
21347
- /* @__PURE__ */ jsx133("br", {}),
21348
- /* @__PURE__ */ jsx133("br", {}),
21349
- /* @__PURE__ */ jsx133("br", {}),
21350
- /* @__PURE__ */ jsx133("br", {}),
21351
- /* @__PURE__ */ jsxs58("div", {
21511
+ /* @__PURE__ */ jsx135("br", {}),
21512
+ /* @__PURE__ */ jsx135("br", {}),
21513
+ /* @__PURE__ */ jsx135("br", {}),
21514
+ /* @__PURE__ */ jsx135("br", {}),
21515
+ /* @__PURE__ */ jsxs59("div", {
21352
21516
  className: "max-w-[500px] lg:max-w-[1000px] m-auto pl-5 pr-5 overflow-x-clip md:overflow-x-visible relative",
21353
21517
  children: [
21354
- /* @__PURE__ */ jsx133(WriteInReact, {}),
21355
- /* @__PURE__ */ jsx133("br", {}),
21356
- /* @__PURE__ */ jsx133(IfYouKnowReact, {}),
21357
- /* @__PURE__ */ jsx133(ParameterizeAndEdit, {}),
21358
- /* @__PURE__ */ jsx133(RealMP4Videos, {}),
21359
- /* @__PURE__ */ jsx133("br", {}),
21360
- /* @__PURE__ */ jsx133("br", {}),
21361
- /* @__PURE__ */ jsx133("br", {}),
21362
- /* @__PURE__ */ jsx133(VideoAppsShowcase_default, {}),
21363
- /* @__PURE__ */ jsx133("br", {}),
21364
- /* @__PURE__ */ jsx133("br", {}),
21365
- /* @__PURE__ */ jsx133(Demo, {}),
21366
- /* @__PURE__ */ jsx133("br", {}),
21367
- /* @__PURE__ */ jsx133("br", {}),
21368
- /* @__PURE__ */ jsx133("br", {}),
21369
- /* @__PURE__ */ jsx133(SectionTitle, {
21518
+ /* @__PURE__ */ jsx135(WriteInReact, {}),
21519
+ /* @__PURE__ */ jsx135("br", {}),
21520
+ /* @__PURE__ */ jsx135(IfYouKnowReact, {}),
21521
+ /* @__PURE__ */ jsx135(ParameterizeAndEdit, {}),
21522
+ /* @__PURE__ */ jsx135(RealMP4Videos, {}),
21523
+ /* @__PURE__ */ jsx135("br", {}),
21524
+ /* @__PURE__ */ jsx135("br", {}),
21525
+ /* @__PURE__ */ jsx135("br", {}),
21526
+ /* @__PURE__ */ jsx135(VideoAppsShowcase_default, {}),
21527
+ /* @__PURE__ */ jsx135("br", {}),
21528
+ /* @__PURE__ */ jsx135("br", {}),
21529
+ /* @__PURE__ */ jsx135(Demo, {}),
21530
+ /* @__PURE__ */ jsx135("br", {}),
21531
+ /* @__PURE__ */ jsx135("br", {}),
21532
+ /* @__PURE__ */ jsx135("br", {}),
21533
+ /* @__PURE__ */ jsx135(SectionTitle, {
21370
21534
  children: "Pricing"
21371
21535
  }),
21372
- /* @__PURE__ */ jsx133(Pricing, {}),
21373
- /* @__PURE__ */ jsx133(TrustedByBanner_default, {}),
21374
- /* @__PURE__ */ jsx133("br", {}),
21375
- /* @__PURE__ */ jsx133(EvaluateRemotion_default, {}),
21376
- /* @__PURE__ */ jsx133("br", {}),
21377
- /* @__PURE__ */ jsx133("br", {}),
21378
- /* @__PURE__ */ jsx133("br", {}),
21379
- /* @__PURE__ */ jsx133(CommunityStats_default, {}),
21380
- /* @__PURE__ */ jsx133("br", {}),
21381
- /* @__PURE__ */ jsx133("br", {}),
21382
- /* @__PURE__ */ jsx133("br", {}),
21383
- /* @__PURE__ */ jsx133(SectionTitle, {
21536
+ /* @__PURE__ */ jsx135(Pricing, {}),
21537
+ /* @__PURE__ */ jsx135(TrustedByBanner_default, {}),
21538
+ /* @__PURE__ */ jsx135("br", {}),
21539
+ /* @__PURE__ */ jsx135(EvaluateRemotion_default, {}),
21540
+ /* @__PURE__ */ jsx135("br", {}),
21541
+ /* @__PURE__ */ jsx135("br", {}),
21542
+ /* @__PURE__ */ jsx135("br", {}),
21543
+ /* @__PURE__ */ jsx135(CommunityStats_default, {}),
21544
+ /* @__PURE__ */ jsx135("br", {}),
21545
+ /* @__PURE__ */ jsx135("br", {}),
21546
+ /* @__PURE__ */ jsx135("br", {}),
21547
+ /* @__PURE__ */ jsx135(EditorStarterSection_default, {}),
21548
+ /* @__PURE__ */ jsx135("br", {}),
21549
+ /* @__PURE__ */ jsx135("br", {}),
21550
+ /* @__PURE__ */ jsx135("br", {}),
21551
+ /* @__PURE__ */ jsx135(SectionTitle, {
21384
21552
  children: "Even more power to developers"
21385
21553
  }),
21386
- /* @__PURE__ */ jsx133("div", {
21554
+ /* @__PURE__ */ jsx135("div", {
21387
21555
  className: "fontbrand text-center mb-10 -mt-4",
21388
21556
  children: "Innovative video products that you might enjoy."
21389
21557
  }),
21390
- /* @__PURE__ */ jsx133(MoreVideoPowerSection, {}),
21391
- /* @__PURE__ */ jsx133("br", {}),
21392
- /* @__PURE__ */ jsx133("br", {}),
21393
- /* @__PURE__ */ jsx133("br", {}),
21394
- /* @__PURE__ */ jsx133(NewsletterButton, {}),
21395
- /* @__PURE__ */ jsx133("br", {}),
21396
- /* @__PURE__ */ jsx133("br", {}),
21397
- /* @__PURE__ */ jsx133("br", {})
21558
+ /* @__PURE__ */ jsx135(MoreVideoPowerSection, {}),
21559
+ /* @__PURE__ */ jsx135("br", {}),
21560
+ /* @__PURE__ */ jsx135("br", {}),
21561
+ /* @__PURE__ */ jsx135("br", {}),
21562
+ /* @__PURE__ */ jsx135(NewsletterButton, {}),
21563
+ /* @__PURE__ */ jsx135("br", {}),
21564
+ /* @__PURE__ */ jsx135("br", {}),
21565
+ /* @__PURE__ */ jsx135("br", {})
21398
21566
  ]
21399
21567
  })
21400
21568
  ]