@remotion/promo-pages 4.0.487 → 4.0.488

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.
Files changed (33) hide show
  1. package/dist/Homepage.js +246 -196
  2. package/dist/components/Homepage.js +21 -5
  3. package/dist/components/homepage/CanvasSectionTitle.d.ts +4 -0
  4. package/dist/components/homepage/CanvasSectionTitle.js +14 -0
  5. package/dist/components/homepage/CommunityStatsItems.js +2 -2
  6. package/dist/components/homepage/Demo/DemoRender.d.ts +1 -1
  7. package/dist/components/homepage/Demo/DisplayedEmoji.js +3 -5
  8. package/dist/components/homepage/Demo/math.d.ts +1 -1
  9. package/dist/components/homepage/EditorStarterSection.d.ts +3 -0
  10. package/dist/components/homepage/EditorStarterSection.js +8 -0
  11. package/dist/components/homepage/GitHubButton.js +1 -1
  12. package/dist/components/homepage/MakeVideosAgentically.d.ts +10 -0
  13. package/dist/components/homepage/MakeVideosAgentically.js +37 -0
  14. package/dist/components/homepage/MakeVideosInteractively.d.ts +9 -0
  15. package/dist/components/homepage/MakeVideosInteractively.js +16 -0
  16. package/dist/components/homepage/MakeVideosLinks.d.ts +9 -0
  17. package/dist/components/homepage/MakeVideosLinks.js +17 -0
  18. package/dist/components/homepage/MakeVideosProgrammatically.d.ts +9 -0
  19. package/dist/components/homepage/MakeVideosProgrammatically.js +8 -0
  20. package/dist/components/homepage/Pricing.d.ts +1 -3
  21. package/dist/components/homepage/Pricing.js +2 -6
  22. package/dist/components/homepage/WriteInReact.js +1 -2
  23. package/dist/components/team/TrustSection.js +1 -1
  24. package/dist/design.js +89 -55
  25. package/dist/experts.js +78 -44
  26. package/dist/homepage/Pricing.js +80 -46
  27. package/dist/prompts/PromptsGallery.js +89 -55
  28. package/dist/prompts/PromptsShow.js +95 -61
  29. package/dist/prompts/PromptsSubmit.js +80 -46
  30. package/dist/team.js +80 -46
  31. package/dist/template-modal-content.js +86 -52
  32. package/dist/templates.js +80 -46
  33. package/package.json +17 -17
package/dist/team.js CHANGED
@@ -1559,7 +1559,7 @@ var getDefaultConfig = () => {
1559
1559
  var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
1560
1560
 
1561
1561
  // ../design/dist/esm/index.mjs
1562
- import React32, { useEffect as useEffect21, useMemo as useMemo42, useState as useState21 } from "react";
1562
+ import React32, { useEffect as useEffect21, useMemo as useMemo42, useState as useState23 } from "react";
1563
1563
 
1564
1564
  // ../paths/dist/esm/index.mjs
1565
1565
  var cutLInstruction = ({
@@ -4511,7 +4511,13 @@ import {
4511
4511
  import { jsx as jsx26 } from "react/jsx-runtime";
4512
4512
  import { forwardRef as forwardRef11, useCallback as useCallback18, useState as useState17 } from "react";
4513
4513
  import { jsx as jsx27 } from "react/jsx-runtime";
4514
- import { useCallback as useCallback19, useContext as useContext33, useLayoutEffect as useLayoutEffect11, useRef as useRef24 } from "react";
4514
+ import {
4515
+ useCallback as useCallback19,
4516
+ useContext as useContext33,
4517
+ useLayoutEffect as useLayoutEffect11,
4518
+ useRef as useRef24,
4519
+ useState as useState18
4520
+ } from "react";
4515
4521
  import { jsx as jsx28 } from "react/jsx-runtime";
4516
4522
  import React29, { forwardRef as forwardRef12, useCallback as useCallback20, useRef as useRef25 } from "react";
4517
4523
  import { jsx as jsx29 } from "react/jsx-runtime";
@@ -4522,7 +4528,7 @@ import {
4522
4528
  useImperativeHandle as useImperativeHandle8,
4523
4529
  useMemo as useMemo32,
4524
4530
  useRef as useRef26,
4525
- useState as useState18
4531
+ useState as useState19
4526
4532
  } from "react";
4527
4533
  import { jsx as jsx30 } from "react/jsx-runtime";
4528
4534
  import React31 from "react";
@@ -4540,7 +4546,7 @@ import {
4540
4546
  useEffect as useEffect17,
4541
4547
  useLayoutEffect as useLayoutEffect12,
4542
4548
  useMemo as useMemo35,
4543
- useState as useState19
4549
+ useState as useState20
4544
4550
  } from "react";
4545
4551
  import { jsx as jsx33 } from "react/jsx-runtime";
4546
4552
  import React37, {
@@ -4551,7 +4557,7 @@ import React37, {
4551
4557
  useImperativeHandle as useImperativeHandle9,
4552
4558
  useMemo as useMemo36,
4553
4559
  useRef as useRef27,
4554
- useState as useState20
4560
+ useState as useState21
4555
4561
  } from "react";
4556
4562
  import { useEffect as useEffect18 } from "react";
4557
4563
  import { jsx as jsx34 } from "react/jsx-runtime";
@@ -5746,7 +5752,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
5746
5752
  var addSequenceStackTraces = (component) => {
5747
5753
  componentsToAddStacksTo.push(component);
5748
5754
  };
5749
- var VERSION = "4.0.487";
5755
+ var VERSION = "4.0.488";
5750
5756
  var checkMultipleRemotionVersions = () => {
5751
5757
  if (typeof globalThis === "undefined") {
5752
5758
  return;
@@ -9430,7 +9436,7 @@ var useEffectChainState = () => {
9430
9436
  }
9431
9437
  }), []);
9432
9438
  };
9433
- var CanvasRefForwardingFunction = ({ width, height, fit, className, style, effects }, ref) => {
9439
+ var CanvasRefForwardingFunction = ({ width, height, fit, className, style, effects, ...props }, ref) => {
9434
9440
  const canvasRef = useRef8(null);
9435
9441
  const chainState = useEffectChainState();
9436
9442
  const sourceCanvas = useMemo16(() => {
@@ -9494,7 +9500,8 @@ var CanvasRefForwardingFunction = ({ width, height, fit, className, style, effec
9494
9500
  return /* @__PURE__ */ jsx13("canvas", {
9495
9501
  ref: canvasRef,
9496
9502
  className,
9497
- style
9503
+ style,
9504
+ ...props
9498
9505
  });
9499
9506
  };
9500
9507
  var Canvas = React15.forwardRef(CanvasRefForwardingFunction);
@@ -9671,6 +9678,16 @@ var animatedImageSchema = {
9671
9678
  },
9672
9679
  ...transformSchema
9673
9680
  };
9681
+ var getCanvasPropsFromSequenceProps = (props) => {
9682
+ const canvasProps = {};
9683
+ const mutableCanvasProps = canvasProps;
9684
+ for (const key in props) {
9685
+ if (Object.prototype.hasOwnProperty.call(props, key) && (key.startsWith("data-") || key.startsWith("aria-"))) {
9686
+ mutableCanvasProps[key] = props[key];
9687
+ }
9688
+ }
9689
+ return canvasProps;
9690
+ };
9674
9691
  var AnimatedImageContent = forwardRef4(({
9675
9692
  src,
9676
9693
  width,
@@ -9825,6 +9842,7 @@ var AnimatedImageInner = ({
9825
9842
  useImperativeHandle2(ref, () => {
9826
9843
  return actualRef.current;
9827
9844
  }, []);
9845
+ const canvasProps = getCanvasPropsFromSequenceProps(sequenceProps);
9828
9846
  const animatedImageProps = {
9829
9847
  src,
9830
9848
  width,
@@ -9836,7 +9854,8 @@ var AnimatedImageInner = ({
9836
9854
  id,
9837
9855
  className,
9838
9856
  style,
9839
- requestInit
9857
+ requestInit,
9858
+ ...canvasProps
9840
9859
  };
9841
9860
  return /* @__PURE__ */ jsx14(Sequence, {
9842
9861
  layout: "none",
@@ -10773,6 +10792,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
10773
10792
  return ({
10774
10793
  node,
10775
10794
  mediaTimestamp,
10795
+ sourceOffset,
10776
10796
  scheduledTime,
10777
10797
  duration,
10778
10798
  offset,
@@ -10801,7 +10821,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
10801
10821
  }
10802
10822
  }
10803
10823
  const scheduledEndTime = scheduledTime + duration / node.playbackRate.value;
10804
- const mediaTime = mediaTimestamp + offset;
10824
+ const mediaTime = mediaTimestamp + offset - sourceOffset;
10805
10825
  const mediaEndTime = mediaTime + duration;
10806
10826
  const latency = ctxAndGain.audioContext.baseLatency + ctxAndGain.audioContext.outputLatency;
10807
10827
  const timeDiff = scheduledTime - ctxAndGain.audioContext.currentTime;
@@ -13598,13 +13618,18 @@ var CanvasImageContent = forwardRef10(({
13598
13618
  });
13599
13619
  const sequenceContext = useContext32(SequenceContext);
13600
13620
  const pendingLoadDelayRef = useRef23(null);
13601
- const continuePendingLoadDelay = useCallback17(() => {
13621
+ const [isLoadPending, setIsLoadPending] = useState16(false);
13622
+ const isPremounting = Boolean(sequenceContext?.premounting);
13623
+ const isPostmounting = Boolean(sequenceContext?.postmounting);
13624
+ const continuePendingLoadDelay = useCallback17(({ markAsReady }) => {
13602
13625
  const pending = pendingLoadDelayRef.current;
13603
13626
  if (!pending || pending.continued) {
13604
13627
  return;
13605
13628
  }
13606
13629
  pending.continued = true;
13607
- pending.unblock();
13630
+ if (markAsReady) {
13631
+ setIsLoadPending(false);
13632
+ }
13608
13633
  continueRender2(pending.handle);
13609
13634
  pendingLoadDelayRef.current = null;
13610
13635
  }, [continueRender2]);
@@ -13626,23 +13651,30 @@ var CanvasImageContent = forwardRef10(({
13626
13651
  }
13627
13652
  }, [ref, refForOutline]);
13628
13653
  useLayoutEffect10(() => {
13629
- const isPremounting = Boolean(sequenceContext?.premounting);
13630
- const isPostmounting = Boolean(sequenceContext?.postmounting);
13654
+ if (!pauseWhenLoading || !isLoadPending || isPremounting || isPostmounting) {
13655
+ return;
13656
+ }
13657
+ return delayPlayback().unblock;
13658
+ }, [
13659
+ delayPlayback,
13660
+ isLoadPending,
13661
+ isPostmounting,
13662
+ isPremounting,
13663
+ pauseWhenLoading
13664
+ ]);
13665
+ useLayoutEffect10(() => {
13631
13666
  const handle = delayRender2(`Rendering <CanvasImage> with src="${truncateSrcForLabel(actualSrc)}"`, {
13632
13667
  retries: delayRenderRetries ?? undefined,
13633
13668
  timeoutInMilliseconds: delayRenderTimeoutInMilliseconds ?? undefined
13634
13669
  });
13635
- const unblock = pauseWhenLoading && !isPremounting && !isPostmounting ? delayPlayback().unblock : () => {
13636
- return;
13637
- };
13638
13670
  const controller = new AbortController;
13639
13671
  let cancelled = false;
13640
13672
  let errorCount = 0;
13641
13673
  let timeoutId = null;
13642
13674
  setLoadedImage(null);
13675
+ setIsLoadPending(true);
13643
13676
  pendingLoadDelayRef.current = {
13644
13677
  handle,
13645
- unblock,
13646
13678
  continued: false
13647
13679
  };
13648
13680
  const attemptLoad = () => {
@@ -13653,7 +13685,7 @@ var CanvasImageContent = forwardRef10(({
13653
13685
  setLoadedImage(image);
13654
13686
  }).catch((err) => {
13655
13687
  if (err.name === "AbortError") {
13656
- continuePendingLoadDelay();
13688
+ continuePendingLoadDelay({ markAsReady: false });
13657
13689
  return;
13658
13690
  }
13659
13691
  errorCount++;
@@ -13667,7 +13699,7 @@ var CanvasImageContent = forwardRef10(({
13667
13699
  }, backoff);
13668
13700
  } else if (onError) {
13669
13701
  onError(err);
13670
- continuePendingLoadDelay();
13702
+ continuePendingLoadDelay({ markAsReady: true });
13671
13703
  } else {
13672
13704
  cancelRender2(err);
13673
13705
  }
@@ -13680,21 +13712,17 @@ var CanvasImageContent = forwardRef10(({
13680
13712
  clearTimeout(timeoutId);
13681
13713
  }
13682
13714
  controller.abort();
13683
- continuePendingLoadDelay();
13715
+ continuePendingLoadDelay({ markAsReady: false });
13684
13716
  };
13685
13717
  }, [
13686
13718
  actualSrc,
13687
13719
  cancelRender2,
13688
13720
  continuePendingLoadDelay,
13689
- delayPlayback,
13690
13721
  delayRender2,
13691
13722
  delayRenderRetries,
13692
13723
  delayRenderTimeoutInMilliseconds,
13693
13724
  maxRetries,
13694
- onError,
13695
- pauseWhenLoading,
13696
- sequenceContext?.postmounting,
13697
- sequenceContext?.premounting
13725
+ onError
13698
13726
  ]);
13699
13727
  useLayoutEffect10(() => {
13700
13728
  if (!loadedImage || !outputCanvas || !sourceCanvas) {
@@ -13746,7 +13774,7 @@ var CanvasImageContent = forwardRef10(({
13746
13774
  return;
13747
13775
  }
13748
13776
  continueRenderOnce();
13749
- continuePendingLoadDelay();
13777
+ continuePendingLoadDelay({ markAsReady: true });
13750
13778
  }
13751
13779
  });
13752
13780
  }
@@ -13757,7 +13785,7 @@ var CanvasImageContent = forwardRef10(({
13757
13785
  if (onError) {
13758
13786
  onError(err);
13759
13787
  continueRenderOnce();
13760
- continuePendingLoadDelay();
13788
+ continuePendingLoadDelay({ markAsReady: true });
13761
13789
  } else {
13762
13790
  cancelRender2(err);
13763
13791
  }
@@ -13928,6 +13956,7 @@ var ImgContent = ({
13928
13956
  const errors = useRef24({});
13929
13957
  const { delayPlayback } = useBufferState();
13930
13958
  const sequenceContext = useContext33(SequenceContext);
13959
+ const [isLoading, setIsLoading] = useState18(false);
13931
13960
  const _propsValid = true;
13932
13961
  if (!_propsValid) {
13933
13962
  throw new Error("typecheck error");
@@ -13960,6 +13989,8 @@ var ImgContent = ({
13960
13989
  }, timeout);
13961
13990
  }, []);
13962
13991
  const { delayRender: delayRender2, continueRender: continueRender2, cancelRender: cancelRender2 } = useDelayRender();
13992
+ const isPremounting = Boolean(sequenceContext?.premounting);
13993
+ const isPostmounting = Boolean(sequenceContext?.postmounting);
13963
13994
  const didGetError = useCallback19((e) => {
13964
13995
  if (!errors.current) {
13965
13996
  return;
@@ -13980,8 +14011,18 @@ var ImgContent = ({
13980
14011
  } catch {}
13981
14012
  }, [cancelRender2, maxRetries, onError, retryIn]);
13982
14013
  if (typeof window !== "undefined") {
13983
- const isPremounting = Boolean(sequenceContext?.premounting);
13984
- const isPostmounting = Boolean(sequenceContext?.postmounting);
14014
+ useLayoutEffect11(() => {
14015
+ if (!pauseWhenLoading || !isLoading || isPremounting || isPostmounting) {
14016
+ return;
14017
+ }
14018
+ return delayPlayback().unblock;
14019
+ }, [
14020
+ delayPlayback,
14021
+ isLoading,
14022
+ isPostmounting,
14023
+ isPremounting,
14024
+ pauseWhenLoading
14025
+ ]);
13985
14026
  useLayoutEffect11(() => {
13986
14027
  if (window.process?.env?.NODE_ENV === "test") {
13987
14028
  if (imageRef.current) {
@@ -13993,13 +14034,11 @@ var ImgContent = ({
13993
14034
  if (!current) {
13994
14035
  return;
13995
14036
  }
14037
+ setIsLoading(true);
13996
14038
  const newHandle = delayRender2("Loading <Img> with src=" + truncateSrcForLabel(actualSrc), {
13997
14039
  retries: delayRenderRetries ?? undefined,
13998
14040
  timeoutInMilliseconds: delayRenderTimeoutInMilliseconds ?? undefined
13999
14041
  });
14000
- const unblock = pauseWhenLoading && !isPremounting && !isPostmounting ? delayPlayback().unblock : () => {
14001
- return;
14002
- };
14003
14042
  let unmounted = false;
14004
14043
  const onComplete = () => {
14005
14044
  if (unmounted) {
@@ -14013,7 +14052,7 @@ var ImgContent = ({
14013
14052
  if (current) {
14014
14053
  onImageFrame?.(current);
14015
14054
  }
14016
- unblock();
14055
+ setIsLoading(false);
14017
14056
  continueRender2(newHandle);
14018
14057
  };
14019
14058
  if (!imageRef.current) {
@@ -14032,17 +14071,12 @@ var ImgContent = ({
14032
14071
  return () => {
14033
14072
  unmounted = true;
14034
14073
  current.removeEventListener("load", onComplete);
14035
- unblock();
14036
14074
  continueRender2(newHandle);
14037
14075
  };
14038
14076
  }, [
14039
14077
  actualSrc,
14040
- delayPlayback,
14041
14078
  delayRenderRetries,
14042
14079
  delayRenderTimeoutInMilliseconds,
14043
- pauseWhenLoading,
14044
- isPremounting,
14045
- isPostmounting,
14046
14080
  onImageFrame,
14047
14081
  continueRender2,
14048
14082
  delayRender2
@@ -14360,9 +14394,9 @@ var CompositionManagerProvider = ({
14360
14394
  initialCompositions,
14361
14395
  initialCanvasContent
14362
14396
  }) => {
14363
- const [folders, setFolders] = useState18([]);
14364
- const [canvasContent, setCanvasContent] = useState18(initialCanvasContent);
14365
- const [compositions, setCompositions] = useState18(initialCompositions);
14397
+ const [folders, setFolders] = useState19([]);
14398
+ const [canvasContent, setCanvasContent] = useState19(initialCanvasContent);
14399
+ const [compositions, setCompositions] = useState19(initialCompositions);
14366
14400
  const currentcompositionsRef = useRef26(compositions);
14367
14401
  const updateCompositions = useCallback21((updateComps) => {
14368
14402
  setCompositions((comps) => {
@@ -14933,7 +14967,7 @@ var OffthreadVideoForRendering = ({
14933
14967
  toneMapped
14934
14968
  });
14935
14969
  }, [toneMapped, currentTime, src, transparent]);
14936
- const [imageSrc, setImageSrc] = useState19(null);
14970
+ const [imageSrc, setImageSrc] = useState20(null);
14937
14971
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
14938
14972
  useLayoutEffect12(() => {
14939
14973
  if (!window.remotion_videoEnabled) {
@@ -15137,7 +15171,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
15137
15171
  const parentSequence = useContext37(SequenceContext);
15138
15172
  const logLevel = useLogLevel();
15139
15173
  const mountTime = useMountTime();
15140
- const [timelineId] = useState20(() => String(Math.random()));
15174
+ const [timelineId] = useState21(() => String(Math.random()));
15141
15175
  if (typeof acceptableTimeShift !== "undefined") {
15142
15176
  throw new Error("acceptableTimeShift has been removed. Use acceptableTimeShiftInSeconds instead.");
15143
15177
  }
@@ -15208,7 +15242,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
15208
15242
  useImperativeHandle9(ref, () => {
15209
15243
  return videoRef.current;
15210
15244
  }, []);
15211
- useState20(() => playbackLogging({
15245
+ useState21(() => playbackLogging({
15212
15246
  logLevel,
15213
15247
  message: `Mounting video with source = ${actualSrc}, v=${VERSION}, user agent=${typeof navigator === "undefined" ? "server" : navigator.userAgent}`,
15214
15248
  tag: "video",
@@ -19703,7 +19737,7 @@ var getAngle = (ref, coordinates) => {
19703
19737
  };
19704
19738
  var lastCoordinates = null;
19705
19739
  var useMousePosition = (ref) => {
19706
- const [angle, setAngle] = useState21(getAngle(ref.current, lastCoordinates));
19740
+ const [angle, setAngle] = useState23(getAngle(ref.current, lastCoordinates));
19707
19741
  useEffect21(() => {
19708
19742
  const element = ref.current;
19709
19743
  if (!element) {