@remotion/promo-pages 4.0.357 → 4.0.358

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
@@ -740,7 +740,7 @@ var __defProp2, __export2 = (target, all) => {
740
740
  });
741
741
  }, useIsPlayer = () => {
742
742
  return useContext(IsPlayerContext);
743
- }, VERSION = "4.0.357", checkMultipleRemotionVersions = () => {
743
+ }, VERSION = "4.0.358", checkMultipleRemotionVersions = () => {
744
744
  if (typeof globalThis === "undefined") {
745
745
  return;
746
746
  }
@@ -2360,7 +2360,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
2360
2360
  return relativeSrc;
2361
2361
  }
2362
2362
  return new URL(relativeSrc, window.origin).href;
2363
- }, calculateLoopDuration = ({
2363
+ }, calculateMediaDuration = ({
2364
2364
  trimAfter,
2365
2365
  mediaDurationInFrames,
2366
2366
  playbackRate,
@@ -2957,7 +2957,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
2957
2957
  }
2958
2958
  const firstFreeAudio = takenAudios.current.findIndex((a) => a === false);
2959
2959
  if (firstFreeAudio === -1) {
2960
- throw new Error(`Tried to simultaneously mount ${numberOfAudioTags + 1} <Audio /> tags at the same time. With the current settings, the maximum amount of <Audio /> tags is limited to ${numberOfAudioTags} at the same time. Remotion pre-mounts silent audio tags to help avoid browser autoplay restrictions. See https://remotion.dev/docs/player/autoplay#using-the-numberofsharedaudiotags-prop for more information on how to increase this limit.`);
2960
+ throw new Error(`Tried to simultaneously mount ${numberOfAudioTags + 1} <Html5Audio /> tags at the same time. With the current settings, the maximum amount of <Html5Audio /> tags is limited to ${numberOfAudioTags} at the same time. Remotion pre-mounts silent audio tags to help avoid browser autoplay restrictions. See https://remotion.dev/docs/player/autoplay#using-the-numberofsharedaudiotags-prop for more information on how to increase this limit.`);
2961
2961
  }
2962
2962
  const { id, ref, mediaElementSourceNode } = refs[firstFreeAudio];
2963
2963
  const cloned = [...takenAudios.current];
@@ -3331,29 +3331,30 @@ Check that all your Remotion packages are on the same version. If your dependenc
3331
3331
  }
3332
3332
  console.warn(message);
3333
3333
  didWarn[message] = true;
3334
- }, useMediaInTimeline = ({
3334
+ }, useBasicMediaInTimeline = ({
3335
3335
  volume,
3336
3336
  mediaVolume,
3337
- src,
3338
3337
  mediaType,
3339
- playbackRate,
3338
+ src,
3340
3339
  displayName,
3341
- id,
3342
- stack,
3343
- showInTimeline,
3344
- premountDisplay,
3345
- postmountDisplay
3340
+ trimBefore,
3341
+ trimAfter,
3342
+ playbackRate
3346
3343
  }) => {
3347
- const videoConfig = useVideoConfig();
3348
- const parentSequence = useContext18(SequenceContext);
3349
- const actualFrom = parentSequence ? parentSequence.relativeFrom + parentSequence.cumulatedFrom : 0;
3344
+ if (!src) {
3345
+ throw new Error("No src passed");
3346
+ }
3350
3347
  const startsAt = useMediaStartsAt();
3351
- const { registerSequence, unregisterSequence } = useContext18(SequenceManager);
3348
+ const parentSequence = useContext18(SequenceContext);
3349
+ const videoConfig = useVideoConfig();
3352
3350
  const [initialVolume] = useState11(() => volume);
3353
- const nonce = useNonce();
3354
- const { rootId } = useContext18(TimelineContext);
3355
- const duration = parentSequence ? Math.min(parentSequence.durationInFrames, videoConfig.durationInFrames) : videoConfig.durationInFrames;
3356
- const doesVolumeChange = typeof volume === "function";
3351
+ const mediaDuration = calculateMediaDuration({
3352
+ mediaDurationInFrames: videoConfig.durationInFrames,
3353
+ playbackRate,
3354
+ trimBefore,
3355
+ trimAfter
3356
+ });
3357
+ const duration = parentSequence ? Math.min(parentSequence.durationInFrames, mediaDuration) : mediaDuration;
3357
3358
  const volumes = useMemo15(() => {
3358
3359
  if (typeof volume === "number") {
3359
3360
  return volume;
@@ -3371,12 +3372,59 @@ Check that all your Remotion packages are on the same version. If your dependenc
3371
3372
  warnOnce2(`Remotion: The ${mediaType} with src ${src} has changed it's volume. Prefer the callback syntax for setting volume to get better timeline display: https://www.remotion.dev/docs/audio/volume`);
3372
3373
  }
3373
3374
  }, [initialVolume, mediaType, src, volume]);
3375
+ const doesVolumeChange = typeof volume === "function";
3376
+ const nonce = useNonce();
3377
+ const { rootId } = useContext18(TimelineContext);
3374
3378
  const env = useRemotionEnvironment();
3379
+ return {
3380
+ volumes,
3381
+ duration,
3382
+ doesVolumeChange,
3383
+ nonce,
3384
+ rootId,
3385
+ isStudio: env.isStudio,
3386
+ finalDisplayName: displayName ?? getAssetDisplayName(src)
3387
+ };
3388
+ }, useMediaInTimeline = ({
3389
+ volume,
3390
+ mediaVolume,
3391
+ src,
3392
+ mediaType,
3393
+ playbackRate,
3394
+ displayName,
3395
+ id,
3396
+ stack,
3397
+ showInTimeline,
3398
+ premountDisplay,
3399
+ postmountDisplay,
3400
+ loopDisplay
3401
+ }) => {
3402
+ const parentSequence = useContext18(SequenceContext);
3403
+ const startsAt = useMediaStartsAt();
3404
+ const { registerSequence, unregisterSequence } = useContext18(SequenceManager);
3405
+ const {
3406
+ volumes,
3407
+ duration,
3408
+ doesVolumeChange,
3409
+ nonce,
3410
+ rootId,
3411
+ isStudio,
3412
+ finalDisplayName
3413
+ } = useBasicMediaInTimeline({
3414
+ volume,
3415
+ mediaVolume,
3416
+ mediaType,
3417
+ src,
3418
+ displayName,
3419
+ trimAfter: undefined,
3420
+ trimBefore: undefined,
3421
+ playbackRate
3422
+ });
3375
3423
  useEffect8(() => {
3376
3424
  if (!src) {
3377
3425
  throw new Error("No src passed");
3378
3426
  }
3379
- if (!env.isStudio && window.process?.env?.NODE_ENV !== "test") {
3427
+ if (!isStudio && window.process?.env?.NODE_ENV !== "test") {
3380
3428
  return;
3381
3429
  }
3382
3430
  if (!showInTimeline) {
@@ -3389,14 +3437,14 @@ Check that all your Remotion packages are on the same version. If your dependenc
3389
3437
  duration,
3390
3438
  from: 0,
3391
3439
  parent: parentSequence?.id ?? null,
3392
- displayName: displayName ?? getAssetDisplayName(src),
3440
+ displayName: finalDisplayName,
3393
3441
  rootId,
3394
3442
  volume: volumes,
3395
3443
  showInTimeline: true,
3396
3444
  nonce,
3397
3445
  startMediaFrom: 0 - startsAt,
3398
3446
  doesVolumeChange,
3399
- loopDisplay: undefined,
3447
+ loopDisplay,
3400
3448
  playbackRate,
3401
3449
  stack,
3402
3450
  premountDisplay,
@@ -3406,27 +3454,26 @@ Check that all your Remotion packages are on the same version. If your dependenc
3406
3454
  unregisterSequence(id);
3407
3455
  };
3408
3456
  }, [
3409
- actualFrom,
3410
3457
  duration,
3411
3458
  id,
3412
3459
  parentSequence,
3413
3460
  src,
3414
3461
  registerSequence,
3415
- rootId,
3416
3462
  unregisterSequence,
3417
- videoConfig,
3418
3463
  volumes,
3419
3464
  doesVolumeChange,
3420
3465
  nonce,
3421
3466
  mediaType,
3422
3467
  startsAt,
3423
3468
  playbackRate,
3424
- displayName,
3425
3469
  stack,
3426
3470
  showInTimeline,
3427
3471
  premountDisplay,
3428
3472
  postmountDisplay,
3429
- env.isStudio
3473
+ isStudio,
3474
+ loopDisplay,
3475
+ rootId,
3476
+ finalDisplayName
3430
3477
  ]);
3431
3478
  }, useBufferManager = (logLevel, mountTime) => {
3432
3479
  const [blocks, setBlocks] = useState12([]);
@@ -4022,7 +4069,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4022
4069
  }
4023
4070
  }, [mediaRef, playbackRate]);
4024
4071
  useEffect12(() => {
4025
- const tagName = mediaType === "audio" ? "<Audio>" : "<Video>";
4072
+ const tagName = mediaType === "audio" ? "<Html5Audio>" : "<Html5Video>";
4026
4073
  if (!mediaRef.current) {
4027
4074
  throw new Error(`No ${mediaType} ref found`);
4028
4075
  }
@@ -4245,7 +4292,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4245
4292
  const volumePropFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
4246
4293
  const { hidden } = useContext24(SequenceVisibilityToggleContext);
4247
4294
  if (!src) {
4248
- throw new TypeError("No 'src' was passed to <Audio>.");
4295
+ throw new TypeError("No 'src' was passed to <Html5Audio>.");
4249
4296
  }
4250
4297
  const preloadedSrc = usePreload(src);
4251
4298
  const sequenceContext = useContext24(SequenceContext);
@@ -4307,7 +4354,8 @@ Check that all your Remotion packages are on the same version. If your dependenc
4307
4354
  stack: _remotionInternalStack,
4308
4355
  showInTimeline,
4309
4356
  premountDisplay: sequenceContext?.premountDisplay ?? null,
4310
- postmountDisplay: sequenceContext?.postmountDisplay ?? null
4357
+ postmountDisplay: sequenceContext?.postmountDisplay ?? null,
4358
+ loopDisplay: undefined
4311
4359
  });
4312
4360
  useMediaPlayback({
4313
4361
  mediaRef: audioRef,
@@ -4459,7 +4507,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4459
4507
  if (!needsToRenderAudioTag) {
4460
4508
  return;
4461
4509
  }
4462
- const newHandle = delayRender2("Loading <Audio> duration with src=" + src, {
4510
+ const newHandle = delayRender2("Loading <Html5Audio> duration with src=" + src, {
4463
4511
  retries: delayRenderRetries ?? undefined,
4464
4512
  timeoutInMilliseconds: delayRenderTimeoutInMilliseconds ?? undefined
4465
4513
  });
@@ -4516,7 +4564,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4516
4564
  const environment = useRemotionEnvironment();
4517
4565
  const { durations, setDurations } = useContext26(DurationsContext);
4518
4566
  if (typeof props.src !== "string") {
4519
- throw new TypeError(`The \`<Audio>\` tag requires a string for \`src\`, but got ${JSON.stringify(props.src)} instead.`);
4567
+ throw new TypeError(`The \`<Html5Audio>\` tag requires a string for \`src\`, but got ${JSON.stringify(props.src)} instead.`);
4520
4568
  }
4521
4569
  const preloadedSrc = usePreload(props.src);
4522
4570
  const onError = useCallback11((e) => {
@@ -4546,7 +4594,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4546
4594
  });
4547
4595
  if (loop && durationFetched !== undefined) {
4548
4596
  if (!Number.isFinite(durationFetched)) {
4549
- return /* @__PURE__ */ jsx19(Audio, {
4597
+ return /* @__PURE__ */ jsx19(Html5Audio, {
4550
4598
  ...propsOtherThanLoop,
4551
4599
  ref,
4552
4600
  _remotionInternalNativeLoopPassed: true
@@ -4555,13 +4603,13 @@ Check that all your Remotion packages are on the same version. If your dependenc
4555
4603
  const duration = durationFetched * fps;
4556
4604
  return /* @__PURE__ */ jsx19(Loop, {
4557
4605
  layout: "none",
4558
- durationInFrames: calculateLoopDuration({
4606
+ durationInFrames: calculateMediaDuration({
4559
4607
  trimAfter: trimAfterValue,
4560
4608
  mediaDurationInFrames: duration,
4561
4609
  playbackRate: props.playbackRate ?? 1,
4562
4610
  trimBefore: trimBeforeValue
4563
4611
  }),
4564
- children: /* @__PURE__ */ jsx19(Audio, {
4612
+ children: /* @__PURE__ */ jsx19(Html5Audio, {
4565
4613
  ...propsOtherThanLoop,
4566
4614
  ref,
4567
4615
  _remotionInternalNativeLoopPassed: true
@@ -4575,7 +4623,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4575
4623
  showInTimeline: false,
4576
4624
  durationInFrames: trimAfterValue,
4577
4625
  name,
4578
- children: /* @__PURE__ */ jsx19(Audio, {
4626
+ children: /* @__PURE__ */ jsx19(Html5Audio, {
4579
4627
  _remotionInternalNeedsDurationCalculation: Boolean(loop),
4580
4628
  pauseWhenBuffering: pauseWhenBuffering ?? false,
4581
4629
  ...otherProps,
@@ -4583,7 +4631,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4583
4631
  })
4584
4632
  });
4585
4633
  }
4586
- validateMediaProps({ playbackRate: props.playbackRate, volume: props.volume }, "Audio");
4634
+ validateMediaProps({ playbackRate: props.playbackRate, volume: props.volume }, "Html5Audio");
4587
4635
  if (environment.isRendering) {
4588
4636
  return /* @__PURE__ */ jsx19(AudioForRendering, {
4589
4637
  onDuration,
@@ -4605,7 +4653,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4605
4653
  _remotionInternalNeedsDurationCalculation: Boolean(loop),
4606
4654
  showInTimeline: showInTimeline ?? true
4607
4655
  });
4608
- }, Audio, getRegex = () => /^([a-zA-Z0-9-\u4E00-\u9FFF])+$/g, invalidFolderNameErrorMessage, FolderContext, rotate, ICON_SIZE = 40, label, container3, Loading = () => {
4656
+ }, Html5Audio, getRegex = () => /^([a-zA-Z0-9-\u4E00-\u9FFF])+$/g, invalidFolderNameErrorMessage, FolderContext, rotate, ICON_SIZE = 40, label, container3, Loading = () => {
4609
4657
  return /* @__PURE__ */ jsxs22(AbsoluteFill, {
4610
4658
  style: container3,
4611
4659
  id: "remotion-comp-loading",
@@ -5640,7 +5688,8 @@ Check that all your Remotion packages are on the same version. If your dependenc
5640
5688
  stack: _remotionInternalStack,
5641
5689
  showInTimeline,
5642
5690
  premountDisplay: parentSequence?.premountDisplay ?? null,
5643
- postmountDisplay: parentSequence?.postmountDisplay ?? null
5691
+ postmountDisplay: parentSequence?.postmountDisplay ?? null,
5692
+ loopDisplay: undefined
5644
5693
  });
5645
5694
  useMediaPlayback({
5646
5695
  mediaRef: videoRef,
@@ -6370,7 +6419,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
6370
6419
  startFrom: -mediaStartsAt,
6371
6420
  fps: videoConfig.fps
6372
6421
  });
6373
- const handle = delayRender2(`Rendering <Video /> with src="${props2.src}" at time ${currentTime}`, {
6422
+ const handle = delayRender2(`Rendering <Html5Video /> with src="${props2.src}" at time ${currentTime}`, {
6374
6423
  retries: delayRenderRetries ?? undefined,
6375
6424
  timeoutInMilliseconds: delayRenderTimeoutInMilliseconds ?? undefined
6376
6425
  });
@@ -6444,7 +6493,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
6444
6493
  if (window.process?.env?.NODE_ENV === "test") {
6445
6494
  return;
6446
6495
  }
6447
- const newHandle = delayRender2("Loading <Video> duration with src=" + src, {
6496
+ const newHandle = delayRender2("Loading <Html5Video> duration with src=" + src, {
6448
6497
  retries: delayRenderRetries ?? undefined,
6449
6498
  timeoutInMilliseconds: delayRenderTimeoutInMilliseconds ?? undefined
6450
6499
  });
@@ -6501,7 +6550,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
6501
6550
  throw new Error("string refs are not supported");
6502
6551
  }
6503
6552
  if (typeof props2.src !== "string") {
6504
- throw new TypeError(`The \`<Video>\` tag requires a string for \`src\`, but got ${JSON.stringify(props2.src)} instead.`);
6553
+ throw new TypeError(`The \`<Html5Video>\` tag requires a string for \`src\`, but got ${JSON.stringify(props2.src)} instead.`);
6505
6554
  }
6506
6555
  const preloadedSrc = usePreload(props2.src);
6507
6556
  const onDuration = useCallback17((src, durationInSeconds) => {
@@ -6518,7 +6567,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
6518
6567
  });
6519
6568
  if (loop && durationFetched !== undefined) {
6520
6569
  if (!Number.isFinite(durationFetched)) {
6521
- return /* @__PURE__ */ jsx34(Video, {
6570
+ return /* @__PURE__ */ jsx34(Html5Video, {
6522
6571
  ...propsOtherThanLoop,
6523
6572
  ref,
6524
6573
  _remotionInternalNativeLoopPassed: true
@@ -6526,7 +6575,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
6526
6575
  }
6527
6576
  const mediaDuration = durationFetched * fps;
6528
6577
  return /* @__PURE__ */ jsx34(Loop, {
6529
- durationInFrames: calculateLoopDuration({
6578
+ durationInFrames: calculateMediaDuration({
6530
6579
  trimAfter: trimAfterValue,
6531
6580
  mediaDurationInFrames: mediaDuration,
6532
6581
  playbackRate: props2.playbackRate ?? 1,
@@ -6534,7 +6583,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
6534
6583
  }),
6535
6584
  layout: "none",
6536
6585
  name,
6537
- children: /* @__PURE__ */ jsx34(Video, {
6586
+ children: /* @__PURE__ */ jsx34(Html5Video, {
6538
6587
  ...propsOtherThanLoop,
6539
6588
  ref,
6540
6589
  _remotionInternalNativeLoopPassed: true
@@ -6548,14 +6597,14 @@ Check that all your Remotion packages are on the same version. If your dependenc
6548
6597
  showInTimeline: false,
6549
6598
  durationInFrames: trimAfterValue,
6550
6599
  name,
6551
- children: /* @__PURE__ */ jsx34(Video, {
6600
+ children: /* @__PURE__ */ jsx34(Html5Video, {
6552
6601
  pauseWhenBuffering: pauseWhenBuffering ?? false,
6553
6602
  ...otherProps,
6554
6603
  ref
6555
6604
  })
6556
6605
  });
6557
6606
  }
6558
- validateMediaProps({ playbackRate: props2.playbackRate, volume: props2.volume }, "Video");
6607
+ validateMediaProps({ playbackRate: props2.playbackRate, volume: props2.volume }, "Html5Video");
6559
6608
  if (environment.isRendering) {
6560
6609
  return /* @__PURE__ */ jsx34(VideoForRendering, {
6561
6610
  onDuration,
@@ -6576,7 +6625,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
6576
6625
  showInTimeline: showInTimeline ?? true,
6577
6626
  onAutoPlayError: onAutoPlayError ?? undefined
6578
6627
  });
6579
- }, Video, proxyObj, Config;
6628
+ }, Html5Video, proxyObj, Config;
6580
6629
  var init_esm = __esm(() => {
6581
6630
  __defProp2 = Object.defineProperty;
6582
6631
  if (typeof createContext !== "function") {
@@ -6879,8 +6928,8 @@ var init_esm = __esm(() => {
6879
6928
  });
6880
6929
  AudioForPreview = forwardRef4(AudioForDevelopmentForwardRefFunction);
6881
6930
  AudioForRendering = forwardRef5(AudioForRenderingRefForwardingFunction);
6882
- Audio = forwardRef6(AudioRefForwardingFunction);
6883
- addSequenceStackTraces(Audio);
6931
+ Html5Audio = forwardRef6(AudioRefForwardingFunction);
6932
+ addSequenceStackTraces(Html5Audio);
6884
6933
  invalidFolderNameErrorMessage = `Folder name must match ${String(getRegex())}`;
6885
6934
  FolderContext = createContext17({
6886
6935
  folderName: null,
@@ -6955,7 +7004,7 @@ var init_esm = __esm(() => {
6955
7004
  SharedAudioContext,
6956
7005
  SharedAudioContextProvider,
6957
7006
  invalidCompositionErrorMessage,
6958
- calculateLoopDuration,
7007
+ calculateMediaDuration,
6959
7008
  isCompositionIdValid,
6960
7009
  getPreviewDomElement,
6961
7010
  compositionsRef,
@@ -7003,7 +7052,8 @@ var init_esm = __esm(() => {
7003
7052
  warnAboutTooHighVolume,
7004
7053
  AudioForPreview,
7005
7054
  OBJECTFIT_CONTAIN_CLASS_NAME,
7006
- InnerOffthreadVideo
7055
+ InnerOffthreadVideo,
7056
+ useBasicMediaInTimeline
7007
7057
  };
7008
7058
  PERCENTAGE = NUMBER + "%";
7009
7059
  IsInsideSeriesContext = createContext19(false);
@@ -7040,8 +7090,8 @@ var init_esm = __esm(() => {
7040
7090
  };
7041
7091
  didWarn2 = {};
7042
7092
  VideoForRendering = forwardRef11(VideoForRenderingForwardFunction);
7043
- Video = forwardRef12(VideoForwardingFunction);
7044
- addSequenceStackTraces(Video);
7093
+ Html5Video = forwardRef12(VideoForwardingFunction);
7094
+ addSequenceStackTraces(Html5Video);
7045
7095
  checkMultipleRemotionVersions();
7046
7096
  proxyObj = {};
7047
7097
  Config = new Proxy(proxyObj, {
@@ -7245,7 +7295,7 @@ var init_esm2 = __esm(() => {
7245
7295
  // src/components/homepage/FreePricing.tsx
7246
7296
  import React2, { useCallback, useMemo } from "react";
7247
7297
 
7248
- // ../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
7298
+ // ../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
7249
7299
  function r(e) {
7250
7300
  var t, f, n = "";
7251
7301
  if (typeof e == "string" || typeof e == "number")
@@ -7266,7 +7316,7 @@ function clsx() {
7266
7316
  return n;
7267
7317
  }
7268
7318
 
7269
- // ../../node_modules/.pnpm/tailwind-merge@2.5.2/node_modules/tailwind-merge/dist/bundle-mjs.mjs
7319
+ // ../../node_modules/.bun/tailwind-merge@2.5.2/node_modules/tailwind-merge/dist/bundle-mjs.mjs
7270
7320
  var CLASS_PART_SEPARATOR = "-";
7271
7321
  var createClassGroupUtils = (config) => {
7272
7322
  const classMap = createClassMap(config);
@@ -8922,7 +8972,6 @@ var EnterpriseLicense = () => {
8922
8972
  };
8923
8973
  var SEAT_PRICE = 25;
8924
8974
  var RENDER_UNIT_PRICE = 10;
8925
- var WEBCODECS_UNIT_PRICE = 10;
8926
8975
  var icon = {
8927
8976
  height: 16,
8928
8977
  marginLeft: 4
@@ -8930,7 +8979,6 @@ var icon = {
8930
8979
  var CompanyPricing = () => {
8931
8980
  const [devSeatCount, setDevSeatCount] = React2.useState(1);
8932
8981
  const [cloudRenders, setCloudRenders] = React2.useState(1000);
8933
- const [creations, setCreations] = React2.useState(1000);
8934
8982
  const formatPrice = useCallback((price) => {
8935
8983
  const formatter = new Intl.NumberFormat("en-US", {
8936
8984
  style: "currency",
@@ -8940,8 +8988,8 @@ var CompanyPricing = () => {
8940
8988
  return formatter.format(price);
8941
8989
  }, []);
8942
8990
  const totalPrice = useMemo(() => {
8943
- return Math.max(100, devSeatCount * SEAT_PRICE + cloudRenders / 1000 * RENDER_UNIT_PRICE + creations / 1000 * WEBCODECS_UNIT_PRICE);
8944
- }, [cloudRenders, devSeatCount, creations]);
8991
+ return Math.max(100, devSeatCount * SEAT_PRICE + cloudRenders / 1000 * RENDER_UNIT_PRICE);
8992
+ }, [cloudRenders, devSeatCount]);
8945
8993
  const totalPriceString = useMemo(() => {
8946
8994
  return formatPrice(totalPrice);
8947
8995
  }, [formatPrice, totalPrice]);
@@ -9026,12 +9074,12 @@ var CompanyPricing = () => {
9026
9074
  children: [
9027
9075
  /* @__PURE__ */ jsx4("div", {
9028
9076
  className: "fontbrand font-bold text-lg",
9029
- children: "Server renders"
9077
+ children: "Video renders"
9030
9078
  }),
9031
9079
  /* @__PURE__ */ jsx4("div", {
9032
9080
  className: "text-muted fontbrand text-sm",
9033
9081
  children: /* @__PURE__ */ jsx4("a", {
9034
- href: "https://www.remotion.dev/docs/compare-ssr",
9082
+ href: "https://www.remotion.dev/docs/render",
9035
9083
  className: "underline underline-offset-4 text-inherit",
9036
9084
  children: "Renders per month (self-hosted)"
9037
9085
  })
@@ -9066,54 +9114,6 @@ var CompanyPricing = () => {
9066
9114
  /* @__PURE__ */ jsx4("div", {
9067
9115
  style: { height: 14 }
9068
9116
  }),
9069
- /* @__PURE__ */ jsxs4("div", {
9070
- className: "flex flex-col md:flex-row md:items-center",
9071
- children: [
9072
- /* @__PURE__ */ jsxs4("div", {
9073
- style: textUnitWrapper,
9074
- children: [
9075
- /* @__PURE__ */ jsx4("div", {
9076
- className: "fontbrand font-bold text-lg",
9077
- children: "WebCodecs video creations"
9078
- }),
9079
- /* @__PURE__ */ jsx4("div", {
9080
- className: "text-muted fontbrand text-sm",
9081
- children: /* @__PURE__ */ jsx4("a", {
9082
- className: "underline underline-offset-4 text-inherit",
9083
- href: "https://remotion.dev/webcodecs",
9084
- children: "Client-side video creations per month"
9085
- })
9086
- })
9087
- ]
9088
- }),
9089
- /* @__PURE__ */ jsx4("div", {
9090
- style: { flex: 3 },
9091
- className: "hidden md:block"
9092
- }),
9093
- /* @__PURE__ */ jsxs4("div", {
9094
- className: "flex flex-row items-center justify-between mt-3 md:mt-0",
9095
- children: [
9096
- /* @__PURE__ */ jsx4(Counter, {
9097
- count: creations,
9098
- setCount: setCreations,
9099
- minCount: 0,
9100
- step: 1000
9101
- }),
9102
- /* @__PURE__ */ jsxs4(SmallPriceTag, {
9103
- children: [
9104
- "$",
9105
- new Intl.NumberFormat("en-US", {
9106
- maximumFractionDigits: 0
9107
- }).format(creations / 1000 * WEBCODECS_UNIT_PRICE)
9108
- ]
9109
- })
9110
- ]
9111
- })
9112
- ]
9113
- }),
9114
- /* @__PURE__ */ jsx4("div", {
9115
- style: { height: 20 }
9116
- }),
9117
9117
  /* @__PURE__ */ jsx4("div", {
9118
9118
  className: "flex flex-row justify-end",
9119
9119
  children: /* @__PURE__ */ jsxs4("div", {
@@ -16260,7 +16260,7 @@ import {
16260
16260
  useState as useState33
16261
16261
  } from "react";
16262
16262
 
16263
- // ../../node_modules/.pnpm/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/extends.js
16263
+ // ../../node_modules/.bun/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/extends.js
16264
16264
  function _extends() {
16265
16265
  return _extends = Object.assign ? Object.assign.bind() : function(n) {
16266
16266
  for (var e = 1;e < arguments.length; e++) {
@@ -16272,33 +16272,33 @@ function _extends() {
16272
16272
  }, _extends.apply(null, arguments);
16273
16273
  }
16274
16274
 
16275
- // ../../node_modules/.pnpm/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
16275
+ // ../../node_modules/.bun/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
16276
16276
  function _assertThisInitialized(e) {
16277
16277
  if (e === undefined)
16278
16278
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
16279
16279
  return e;
16280
16280
  }
16281
16281
 
16282
- // ../../node_modules/.pnpm/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
16282
+ // ../../node_modules/.bun/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
16283
16283
  function _setPrototypeOf(t, e) {
16284
16284
  return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t2, e2) {
16285
16285
  return t2.__proto__ = e2, t2;
16286
16286
  }, _setPrototypeOf(t, e);
16287
16287
  }
16288
16288
 
16289
- // ../../node_modules/.pnpm/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
16289
+ // ../../node_modules/.bun/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
16290
16290
  function _inheritsLoose(t, o) {
16291
16291
  t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o);
16292
16292
  }
16293
16293
 
16294
- // ../../node_modules/.pnpm/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
16294
+ // ../../node_modules/.bun/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
16295
16295
  function _getPrototypeOf(t) {
16296
16296
  return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t2) {
16297
16297
  return t2.__proto__ || Object.getPrototypeOf(t2);
16298
16298
  }, _getPrototypeOf(t);
16299
16299
  }
16300
16300
 
16301
- // ../../node_modules/.pnpm/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js
16301
+ // ../../node_modules/.bun/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js
16302
16302
  function _isNativeFunction(t) {
16303
16303
  try {
16304
16304
  return Function.toString.call(t).indexOf("[native code]") !== -1;
@@ -16307,7 +16307,7 @@ function _isNativeFunction(t) {
16307
16307
  }
16308
16308
  }
16309
16309
 
16310
- // ../../node_modules/.pnpm/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js
16310
+ // ../../node_modules/.bun/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js
16311
16311
  function _isNativeReflectConstruct() {
16312
16312
  try {
16313
16313
  var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
@@ -16317,7 +16317,7 @@ function _isNativeReflectConstruct() {
16317
16317
  })();
16318
16318
  }
16319
16319
 
16320
- // ../../node_modules/.pnpm/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/construct.js
16320
+ // ../../node_modules/.bun/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/construct.js
16321
16321
  function _construct(t, e, r2) {
16322
16322
  if (_isNativeReflectConstruct())
16323
16323
  return Reflect.construct.apply(null, arguments);
@@ -16327,7 +16327,7 @@ function _construct(t, e, r2) {
16327
16327
  return r2 && _setPrototypeOf(p, r2.prototype), p;
16328
16328
  }
16329
16329
 
16330
- // ../../node_modules/.pnpm/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js
16330
+ // ../../node_modules/.bun/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js
16331
16331
  function _wrapNativeSuper(t) {
16332
16332
  var r2 = typeof Map == "function" ? new Map : undefined;
16333
16333
  return _wrapNativeSuper = function _wrapNativeSuper(t2) {
@@ -16354,7 +16354,7 @@ function _wrapNativeSuper(t) {
16354
16354
  }, _wrapNativeSuper(t);
16355
16355
  }
16356
16356
 
16357
- // ../../node_modules/.pnpm/polished@4.3.1/node_modules/polished/dist/polished.esm.js
16357
+ // ../../node_modules/.bun/polished@4.3.1/node_modules/polished/dist/polished.esm.js
16358
16358
  var PolishedError = /* @__PURE__ */ function(_Error) {
16359
16359
  _inheritsLoose(PolishedError2, _Error);
16360
16360
  function PolishedError2(code) {
@@ -18129,7 +18129,7 @@ var HomepageVideoComp = ({
18129
18129
  onRight: onClickRight,
18130
18130
  emojiName: emoji
18131
18131
  }, rerenders),
18132
- audioSrc ? /* @__PURE__ */ jsx56(Audio, {
18132
+ audioSrc ? /* @__PURE__ */ jsx56(Html5Audio, {
18133
18133
  src: audioSrc
18134
18134
  }) : null
18135
18135
  ]
@@ -20408,54 +20408,6 @@ var TrustedByBanner = () => {
20408
20408
  ]
20409
20409
  })
20410
20410
  },
20411
- {
20412
- id: "logo4",
20413
- url: "https://www.vicemediagroup.com/",
20414
- light: /* @__PURE__ */ jsxs43("svg", {
20415
- height: "20",
20416
- viewBox: "0 0 190 20",
20417
- fill: "none",
20418
- xmlns: "http://www.w3.org/2000/svg",
20419
- children: [
20420
- /* @__PURE__ */ jsx101("path", {
20421
- 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",
20422
- fill: "var(--text-color)"
20423
- }),
20424
- /* @__PURE__ */ jsx101("path", {
20425
- 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",
20426
- fill: "var(--text-color)"
20427
- }),
20428
- /* @__PURE__ */ jsx101("path", {
20429
- 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",
20430
- fill: "var(--text-color)"
20431
- }),
20432
- /* @__PURE__ */ jsx101("path", {
20433
- 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",
20434
- fill: "var(--text-color)"
20435
- }),
20436
- /* @__PURE__ */ jsx101("path", {
20437
- 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",
20438
- fill: "var(--text-color)"
20439
- }),
20440
- /* @__PURE__ */ jsx101("path", {
20441
- 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",
20442
- fill: "var(--text-color)"
20443
- }),
20444
- /* @__PURE__ */ jsx101("path", {
20445
- 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",
20446
- fill: "var(--text-color)"
20447
- }),
20448
- /* @__PURE__ */ jsx101("path", {
20449
- 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",
20450
- fill: "var(--text-color)"
20451
- }),
20452
- /* @__PURE__ */ jsx101("path", {
20453
- 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",
20454
- fill: "var(--text-color)"
20455
- })
20456
- ]
20457
- })
20458
- },
20459
20411
  {
20460
20412
  id: "logo5",
20461
20413
  url: "https://www.soundcloud.com/",