@remotion/promo-pages 4.0.470 → 4.0.471

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/design.js CHANGED
@@ -36,7 +36,7 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
36
36
  import * as React22 from "react";
37
37
  import * as React3 from "react";
38
38
  import { Fragment as Fragment2, jsx as jsx39 } from "react/jsx-runtime";
39
- import React52, { useCallback as useCallback25, useRef as useRef27, useState as useState22 } from "react";
39
+ import React52, { useCallback as useCallback25, useRef as useRef28, useState as useState22 } from "react";
40
40
 
41
41
  // ../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
42
42
  function r(e) {
@@ -5891,19 +5891,15 @@ import {
5891
5891
  useCallback as useCallback16,
5892
5892
  useContext as useContext32,
5893
5893
  useEffect as useEffect17,
5894
+ useImperativeHandle as useImperativeHandle7,
5894
5895
  useMemo as useMemo31,
5896
+ useRef as useRef23,
5895
5897
  useState as useState16
5896
5898
  } from "react";
5897
5899
  import { jsx as jsx25 } from "react/jsx-runtime";
5898
5900
  import { forwardRef as forwardRef11, useCallback as useCallback17, useState as useState17 } from "react";
5899
5901
  import { jsx as jsx26 } from "react/jsx-runtime";
5900
- import {
5901
- useCallback as useCallback18,
5902
- useContext as useContext33,
5903
- useImperativeHandle as useImperativeHandle7,
5904
- useLayoutEffect as useLayoutEffect10,
5905
- useRef as useRef23
5906
- } from "react";
5902
+ import { useCallback as useCallback18, useContext as useContext33, useLayoutEffect as useLayoutEffect10, useRef as useRef24 } from "react";
5907
5903
  import { jsx as jsx27 } from "react/jsx-runtime";
5908
5904
  import { createRef as createRef3 } from "react";
5909
5905
  import React28 from "react";
@@ -5911,7 +5907,7 @@ import {
5911
5907
  useCallback as useCallback19,
5912
5908
  useImperativeHandle as useImperativeHandle8,
5913
5909
  useMemo as useMemo322,
5914
- useRef as useRef24,
5910
+ useRef as useRef25,
5915
5911
  useState as useState18
5916
5912
  } from "react";
5917
5913
  import { jsx as jsx28 } from "react/jsx-runtime";
@@ -5938,7 +5934,7 @@ import React34, {
5938
5934
  useEffect as useEffect20,
5939
5935
  useImperativeHandle as useImperativeHandle9,
5940
5936
  useMemo as useMemo36,
5941
- useRef as useRef25,
5937
+ useRef as useRef26,
5942
5938
  useState as useState20,
5943
5939
  useCallback as useCallback21
5944
5940
  } from "react";
@@ -5961,7 +5957,7 @@ import {
5961
5957
  useImperativeHandle as useImperativeHandle10,
5962
5958
  useLayoutEffect as useLayoutEffect12,
5963
5959
  useMemo as useMemo39,
5964
- useRef as useRef26
5960
+ useRef as useRef27
5965
5961
  } from "react";
5966
5962
  import { jsx as jsx37 } from "react/jsx-runtime";
5967
5963
  import { jsx as jsx38 } from "react/jsx-runtime";
@@ -7087,7 +7083,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
7087
7083
  var addSequenceStackTraces = (component) => {
7088
7084
  componentsToAddStacksTo.push(component);
7089
7085
  };
7090
- var VERSION = "4.0.470";
7086
+ var VERSION = "4.0.471";
7091
7087
  var checkMultipleRemotionVersions = () => {
7092
7088
  if (typeof globalThis === "undefined") {
7093
7089
  return;
@@ -9690,13 +9686,14 @@ var getActualTime = ({
9690
9686
  var decodeImage = async ({
9691
9687
  resolvedSrc,
9692
9688
  signal,
9689
+ requestInit,
9693
9690
  currentTime,
9694
9691
  initialLoopBehavior
9695
9692
  }) => {
9696
9693
  if (typeof ImageDecoder === "undefined") {
9697
9694
  throw new Error("Your browser does not support the WebCodecs ImageDecoder API.");
9698
9695
  }
9699
- const res = await fetch(resolvedSrc, { signal });
9696
+ const res = await fetch(resolvedSrc, { ...requestInit, signal });
9700
9697
  const { body } = res;
9701
9698
  if (!body) {
9702
9699
  throw new Error("Got no body");
@@ -9819,6 +9816,18 @@ var decodeImage = async ({
9819
9816
  frameCount: selectedTrack.frameCount
9820
9817
  };
9821
9818
  };
9819
+ var serializeRequestInit = (requestInit) => {
9820
+ if (!requestInit) {
9821
+ return null;
9822
+ }
9823
+ const requestInitWithoutSignal = { ...requestInit };
9824
+ delete requestInitWithoutSignal.signal;
9825
+ const { headers, ...rest } = requestInitWithoutSignal;
9826
+ return JSON.stringify({
9827
+ ...rest,
9828
+ headers: headers ? Array.from(new Headers(headers).entries()) : null
9829
+ });
9830
+ };
9822
9831
  var resolveAnimatedImageSource = (src) => {
9823
9832
  if (typeof window === "undefined") {
9824
9833
  return src;
@@ -9845,6 +9854,7 @@ var AnimatedImageContent = forwardRef4(({
9845
9854
  loopBehavior = "loop",
9846
9855
  playbackRate = 1,
9847
9856
  fit = "fill",
9857
+ requestInit,
9848
9858
  effects,
9849
9859
  controls,
9850
9860
  ...props
@@ -9858,6 +9868,9 @@ var AnimatedImageContent = forwardRef4(({
9858
9868
  const currentTime = frame / playbackRate / fps;
9859
9869
  const currentTimeRef = useRef9(currentTime);
9860
9870
  currentTimeRef.current = currentTime;
9871
+ const requestInitKey = serializeRequestInit(requestInit);
9872
+ const requestInitRef = useRef9(requestInit);
9873
+ requestInitRef.current = requestInit;
9861
9874
  const ref = useRef9(null);
9862
9875
  const memoizedEffects = useMemoizedEffects({
9863
9876
  effects,
@@ -9876,6 +9889,7 @@ var AnimatedImageContent = forwardRef4(({
9876
9889
  decodeImage({
9877
9890
  resolvedSrc,
9878
9891
  signal: controller.signal,
9892
+ requestInit: requestInitRef.current,
9879
9893
  currentTime: currentTimeRef.current,
9880
9894
  initialLoopBehavior
9881
9895
  }).then((d) => {
@@ -9900,6 +9914,7 @@ var AnimatedImageContent = forwardRef4(({
9900
9914
  resolvedSrc,
9901
9915
  decodeHandle,
9902
9916
  onError,
9917
+ requestInitKey,
9903
9918
  initialLoopBehavior,
9904
9919
  continueRender2
9905
9920
  ]);
@@ -9972,6 +9987,7 @@ var AnimatedImageInner = ({
9972
9987
  className,
9973
9988
  style,
9974
9989
  durationInFrames,
9990
+ requestInit,
9975
9991
  effects = [],
9976
9992
  _experimentalControls: controls,
9977
9993
  ref,
@@ -9979,7 +9995,11 @@ var AnimatedImageInner = ({
9979
9995
  }) => {
9980
9996
  const { durationInFrames: videoDuration } = useVideoConfig();
9981
9997
  const resolvedDuration = durationInFrames ?? videoDuration;
9998
+ const actualRef = useRef9(null);
9982
9999
  const memoizedEffectDefinitions = useMemoizedEffectDefinitions(effects);
10000
+ useImperativeHandle2(ref, () => {
10001
+ return actualRef.current;
10002
+ }, []);
9983
10003
  const animatedImageProps = {
9984
10004
  src,
9985
10005
  width,
@@ -9990,7 +10010,8 @@ var AnimatedImageInner = ({
9990
10010
  loopBehavior,
9991
10011
  id,
9992
10012
  className,
9993
- style
10013
+ style,
10014
+ requestInit
9994
10015
  };
9995
10016
  return /* @__PURE__ */ jsx13(Sequence, {
9996
10017
  layout: "none",
@@ -10000,9 +10021,10 @@ var AnimatedImageInner = ({
10000
10021
  _experimentalControls: controls,
10001
10022
  _remotionInternalEffects: memoizedEffectDefinitions,
10002
10023
  ...sequenceProps,
10024
+ _remotionInternalRefForOutline: actualRef,
10003
10025
  children: /* @__PURE__ */ jsx13(AnimatedImageContent, {
10004
10026
  ...animatedImageProps,
10005
- ref,
10027
+ ref: actualRef,
10006
10028
  effects,
10007
10029
  controls
10008
10030
  })
@@ -13326,16 +13348,26 @@ var HtmlInCanvasInner = forwardRef9(({
13326
13348
  const { durationInFrames: videoDuration } = useVideoConfig();
13327
13349
  const resolvedDuration = durationInFrames ?? videoDuration;
13328
13350
  const memoizedEffectDefinitions = useMemoizedEffectDefinitions(effects);
13351
+ const actualRef = useRef22(null);
13352
+ const setCanvasRef = useCallback15((node) => {
13353
+ actualRef.current = node;
13354
+ if (typeof ref === "function") {
13355
+ ref(node);
13356
+ } else if (ref) {
13357
+ ref.current = node;
13358
+ }
13359
+ }, [ref]);
13329
13360
  return /* @__PURE__ */ jsx24(Sequence, {
13330
13361
  durationInFrames: resolvedDuration,
13331
13362
  name: name ?? "<HtmlInCanvas>",
13332
13363
  _remotionInternalDocumentationLink: name === undefined ? "https://www.remotion.dev/docs/remotion/html-in-canvas" : undefined,
13333
13364
  _experimentalControls: controls,
13334
13365
  _remotionInternalEffects: memoizedEffectDefinitions,
13366
+ _remotionInternalRefForOutline: actualRef,
13335
13367
  layout: "none",
13336
13368
  ...sequenceProps,
13337
13369
  children: /* @__PURE__ */ jsx24(HtmlInCanvasContent, {
13338
- ref,
13370
+ ref: setCanvasRef,
13339
13371
  width,
13340
13372
  height,
13341
13373
  effects,
@@ -13451,6 +13483,7 @@ var CanvasImageContent = forwardRef10(({
13451
13483
  maxRetries = 2,
13452
13484
  delayRenderRetries,
13453
13485
  delayRenderTimeoutInMilliseconds,
13486
+ refForOutline,
13454
13487
  ...canvasProps
13455
13488
  }, ref) => {
13456
13489
  const { delayRender: delayRender2, continueRender: continueRender2, cancelRender: cancelRender2 } = useDelayRender();
@@ -13471,12 +13504,15 @@ var CanvasImageContent = forwardRef10(({
13471
13504
  }, []);
13472
13505
  const canvasRef = useCallback16((canvas) => {
13473
13506
  setOutputCanvas(canvas);
13507
+ if (refForOutline) {
13508
+ refForOutline.current = canvas;
13509
+ }
13474
13510
  if (typeof ref === "function") {
13475
13511
  ref(canvas);
13476
13512
  } else if (ref) {
13477
13513
  ref.current = canvas;
13478
13514
  }
13479
- }, [ref]);
13515
+ }, [ref, refForOutline]);
13480
13516
  useEffect17(() => {
13481
13517
  if (!outputCanvas || !sourceCanvas) {
13482
13518
  return;
@@ -13619,12 +13655,17 @@ var CanvasImageInner = forwardRef10(({
13619
13655
  stack,
13620
13656
  _experimentalControls: controls,
13621
13657
  _remotionInternalDocumentationLink,
13658
+ _remotionInternalRefForOutline,
13622
13659
  ...canvasProps
13623
13660
  }, ref) => {
13624
13661
  if (!src) {
13625
13662
  throw new Error('No "src" prop was passed to <CanvasImage>.');
13626
13663
  }
13627
13664
  const memoizedEffectDefinitions = useMemoizedEffectDefinitions(effects);
13665
+ const actualRef = useRef23(null);
13666
+ useImperativeHandle7(ref, () => {
13667
+ return actualRef.current;
13668
+ }, []);
13628
13669
  return /* @__PURE__ */ jsx25(Sequence, {
13629
13670
  layout: "none",
13630
13671
  from: from ?? 0,
@@ -13637,8 +13678,9 @@ var CanvasImageInner = forwardRef10(({
13637
13678
  _remotionInternalEffects: memoizedEffectDefinitions,
13638
13679
  _remotionInternalIsMedia: { type: "image", src },
13639
13680
  _remotionInternalStack: stack,
13681
+ _remotionInternalRefForOutline: _remotionInternalRefForOutline ?? actualRef,
13640
13682
  children: /* @__PURE__ */ jsx25(CanvasImageContent, {
13641
- ref,
13683
+ ref: actualRef,
13642
13684
  src,
13643
13685
  width,
13644
13686
  height,
@@ -13653,6 +13695,7 @@ var CanvasImageInner = forwardRef10(({
13653
13695
  maxRetries,
13654
13696
  delayRenderRetries,
13655
13697
  delayRenderTimeoutInMilliseconds,
13698
+ refForOutline: _remotionInternalRefForOutline ?? null,
13656
13699
  ...canvasProps
13657
13700
  })
13658
13701
  });
@@ -13707,19 +13750,26 @@ var ImgContent = ({
13707
13750
  crossOrigin,
13708
13751
  decoding,
13709
13752
  ref,
13753
+ refForOutline,
13710
13754
  ...props2
13711
13755
  }) => {
13712
- const imageRef = useRef23(null);
13713
- const errors = useRef23({});
13756
+ const imageRef = useRef24(null);
13757
+ const errors = useRef24({});
13714
13758
  const { delayPlayback } = useBufferState();
13715
13759
  const sequenceContext = useContext33(SequenceContext);
13716
13760
  const _propsValid = true;
13717
13761
  if (!_propsValid) {
13718
13762
  throw new Error("typecheck error");
13719
13763
  }
13720
- useImperativeHandle7(ref, () => {
13721
- return imageRef.current;
13722
- }, []);
13764
+ const imageCallbackRef = useCallback18((img) => {
13765
+ imageRef.current = img;
13766
+ refForOutline.current = img;
13767
+ if (typeof ref === "function") {
13768
+ ref(img);
13769
+ } else if (ref) {
13770
+ ref.current = img;
13771
+ }
13772
+ }, [ref, refForOutline]);
13723
13773
  const actualSrc = usePreload(src);
13724
13774
  const retryIn = useCallback18((timeout) => {
13725
13775
  if (!imageRef.current) {
@@ -13835,7 +13885,7 @@ var ImgContent = ({
13835
13885
  });
13836
13886
  return /* @__PURE__ */ jsx27("img", {
13837
13887
  ...props2,
13838
- ref: imageRef,
13888
+ ref: imageCallbackRef,
13839
13889
  crossOrigin: crossOriginValue,
13840
13890
  onError: didGetError,
13841
13891
  decoding: isRendering ? "sync" : decoding
@@ -13850,6 +13900,7 @@ var NativeImgInner = ({
13850
13900
  from,
13851
13901
  durationInFrames,
13852
13902
  _experimentalControls: controls,
13903
+ _remotionInternalRefForOutline: refForOutline,
13853
13904
  ...props2
13854
13905
  }) => {
13855
13906
  if (!src) {
@@ -13866,8 +13917,10 @@ var NativeImgInner = ({
13866
13917
  _experimentalControls: controls,
13867
13918
  showInTimeline: showInTimeline ?? true,
13868
13919
  hidden,
13920
+ _remotionInternalRefForOutline: refForOutline,
13869
13921
  children: /* @__PURE__ */ jsx27(ImgContent, {
13870
13922
  src,
13923
+ refForOutline,
13871
13924
  ...props2
13872
13925
  })
13873
13926
  });
@@ -13941,6 +13994,7 @@ var ImgInner = ({
13941
13994
  delayRenderTimeoutInMilliseconds,
13942
13995
  ...props2
13943
13996
  }) => {
13997
+ const refForOutline = useRef24(null);
13944
13998
  if (effects.length === 0) {
13945
13999
  return /* @__PURE__ */ jsx27(NativeImgInner, {
13946
14000
  ...props2,
@@ -13961,7 +14015,8 @@ var ImgInner = ({
13961
14015
  pauseWhenLoading,
13962
14016
  maxRetries,
13963
14017
  delayRenderRetries,
13964
- delayRenderTimeoutInMilliseconds
14018
+ delayRenderTimeoutInMilliseconds,
14019
+ _remotionInternalRefForOutline: refForOutline
13965
14020
  });
13966
14021
  }
13967
14022
  if (!src) {
@@ -13998,6 +14053,7 @@ var ImgInner = ({
13998
14053
  stack,
13999
14054
  _remotionInternalDocumentationLink: name === undefined ? "https://www.remotion.dev/docs/img" : undefined,
14000
14055
  _experimentalControls: controls,
14056
+ _remotionInternalRefForOutline: refForOutline,
14001
14057
  ...canvasProps
14002
14058
  });
14003
14059
  };
@@ -14014,7 +14070,7 @@ var CompositionManagerProvider = ({
14014
14070
  const [folders, setFolders] = useState18([]);
14015
14071
  const [canvasContent, setCanvasContent] = useState18(initialCanvasContent);
14016
14072
  const [compositions, setCompositions] = useState18(initialCompositions);
14017
- const currentcompositionsRef = useRef24(compositions);
14073
+ const currentcompositionsRef = useRef25(compositions);
14018
14074
  const updateCompositions = useCallback19((updateComps) => {
14019
14075
  setCompositions((comps) => {
14020
14076
  const updated = updateComps(comps);
@@ -14754,7 +14810,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
14754
14810
  if (!context) {
14755
14811
  throw new Error("SharedAudioContext not found");
14756
14812
  }
14757
- const videoRef = useRef25(null);
14813
+ const videoRef = useRef26(null);
14758
14814
  const sharedSource = useMemo36(() => {
14759
14815
  if (!context.audioContext) {
14760
14816
  return null;
@@ -14927,7 +14983,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
14927
14983
  current.removeEventListener("error", errorHandler);
14928
14984
  };
14929
14985
  }, [onError, src]);
14930
- const currentOnDurationCallback = useRef25(onDuration);
14986
+ const currentOnDurationCallback = useRef26(onDuration);
14931
14987
  currentOnDurationCallback.current = onDuration;
14932
14988
  useEmitVideoFrame({ ref: videoRef, onVideoFrame });
14933
14989
  useEffect20(() => {
@@ -15949,7 +16005,7 @@ var VideoForRenderingForwardFunction = ({
15949
16005
  const frame = useCurrentFrame();
15950
16006
  const volumePropsFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
15951
16007
  const videoConfig = useUnsafeVideoConfig();
15952
- const videoRef = useRef26(null);
16008
+ const videoRef = useRef27(null);
15953
16009
  const sequenceContext = useContext37(SequenceContext);
15954
16010
  const mediaStartsAt = useMediaStartsAt();
15955
16011
  const environment = useRemotionEnvironment();
@@ -16285,7 +16341,7 @@ addSequenceStackTraces(Composition);
16285
16341
  // ../design/dist/esm/index.mjs
16286
16342
  import { jsx as jsx210, Fragment as Fragment3 } from "react/jsx-runtime";
16287
16343
  import { jsx as jsx310, jsxs as jsxs3 } from "react/jsx-runtime";
16288
- import { useEffect as useEffect23, useMemo as useMemo210, useRef as useRef28 } from "react";
16344
+ import { useEffect as useEffect23, useMemo as useMemo210, useRef as useRef29 } from "react";
16289
16345
  import { jsx as jsx43 } from "react/jsx-runtime";
16290
16346
  import { jsx as jsx53, jsxs as jsxs23 } from "react/jsx-runtime";
16291
16347
  import React62 from "react";
@@ -16807,7 +16863,7 @@ var Spinner = ({ size, duration }) => {
16807
16863
  height: size
16808
16864
  };
16809
16865
  }, [size]);
16810
- const pathsRef = useRef28([]);
16866
+ const pathsRef = useRef29([]);
16811
16867
  useEffect23(() => {
16812
16868
  const animate = () => {
16813
16869
  const now = performance.now();
@@ -16853,7 +16909,7 @@ var Button = ({
16853
16909
  ...rest
16854
16910
  }) => {
16855
16911
  const [dimensions, setDimensions] = useState22(null);
16856
- const ref = useRef27(null);
16912
+ const ref = useRef28(null);
16857
16913
  const { isActive, progress } = useHoverTransforms(ref, Boolean(disabled || loading));
16858
16914
  const onPointerEnter = useCallback25((e) => {
16859
16915
  if (e.pointerType !== "mouse") {