@remotion/promo-pages 4.0.485 → 4.0.486

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/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 useEffect22, useMemo as useMemo42, useState as useState21 } from "react";
1562
+ import React32, { useEffect as useEffect21, useMemo as useMemo42, useState as useState21 } from "react";
1563
1563
 
1564
1564
  // ../paths/dist/esm/index.mjs
1565
1565
  var cutLInstruction = ({
@@ -3665,6 +3665,94 @@ var getBoundingBox = (d) => {
3665
3665
  const unarced = removeATSHVQInstructions(normalizeInstructions(parsed));
3666
3666
  return getBoundingBoxFromInstructions(unarced);
3667
3667
  };
3668
+ var translateSegments = (segments, x, y) => {
3669
+ return segments.map((segment) => {
3670
+ if (segment.type === "a" || segment.type === "c" || segment.type === "v" || segment.type === "s" || segment.type === "h" || segment.type === "l" || segment.type === "m" || segment.type === "q" || segment.type === "t") {
3671
+ return segment;
3672
+ }
3673
+ if (segment.type === "V") {
3674
+ return {
3675
+ type: "V",
3676
+ y: segment.y + y
3677
+ };
3678
+ }
3679
+ if (segment.type === "H") {
3680
+ return {
3681
+ type: "H",
3682
+ x: segment.x + x
3683
+ };
3684
+ }
3685
+ if (segment.type === "A") {
3686
+ return {
3687
+ type: "A",
3688
+ rx: segment.rx,
3689
+ ry: segment.ry,
3690
+ largeArcFlag: segment.largeArcFlag,
3691
+ sweepFlag: segment.sweepFlag,
3692
+ xAxisRotation: segment.xAxisRotation,
3693
+ x: segment.x + x,
3694
+ y: segment.y + y
3695
+ };
3696
+ }
3697
+ if (segment.type === "Z") {
3698
+ return segment;
3699
+ }
3700
+ if (segment.type === "C") {
3701
+ return {
3702
+ type: "C",
3703
+ cp1x: segment.cp1x + x,
3704
+ cp1y: segment.cp1y + y,
3705
+ cp2x: segment.cp2x + x,
3706
+ cp2y: segment.cp2y + y,
3707
+ x: segment.x + x,
3708
+ y: segment.y + y
3709
+ };
3710
+ }
3711
+ if (segment.type === "Q") {
3712
+ return {
3713
+ type: "Q",
3714
+ cpx: segment.cpx + x,
3715
+ cpy: segment.cpy + y,
3716
+ x: segment.x + x,
3717
+ y: segment.y + y
3718
+ };
3719
+ }
3720
+ if (segment.type === "S") {
3721
+ return {
3722
+ type: "S",
3723
+ cpx: segment.cpx + x,
3724
+ cpy: segment.cpy + y,
3725
+ x: segment.x + x,
3726
+ y: segment.y + y
3727
+ };
3728
+ }
3729
+ if (segment.type === "T") {
3730
+ return {
3731
+ type: "T",
3732
+ x: segment.x + x,
3733
+ y: segment.y + y
3734
+ };
3735
+ }
3736
+ if (segment.type === "L") {
3737
+ return {
3738
+ type: "L",
3739
+ x: segment.x + x,
3740
+ y: segment.y + y
3741
+ };
3742
+ }
3743
+ if (segment.type === "M") {
3744
+ return {
3745
+ type: "M",
3746
+ x: segment.x + x,
3747
+ y: segment.y + y
3748
+ };
3749
+ }
3750
+ throw new Error(`Unknown segment type: ${segment.type}`);
3751
+ });
3752
+ };
3753
+ var translatePath = (path, x, y) => {
3754
+ return serializeInstructions(translateSegments(parsePath(path), x, y));
3755
+ };
3668
3756
  var mod = (x, m) => {
3669
3757
  return (x % m + m) % m;
3670
3758
  };
@@ -4226,94 +4314,6 @@ var getLength = (path) => {
4226
4314
  const constructucted = construct(path);
4227
4315
  return constructucted.totalLength;
4228
4316
  };
4229
- var translateSegments = (segments, x, y) => {
4230
- return segments.map((segment) => {
4231
- if (segment.type === "a" || segment.type === "c" || segment.type === "v" || segment.type === "s" || segment.type === "h" || segment.type === "l" || segment.type === "m" || segment.type === "q" || segment.type === "t") {
4232
- return segment;
4233
- }
4234
- if (segment.type === "V") {
4235
- return {
4236
- type: "V",
4237
- y: segment.y + y
4238
- };
4239
- }
4240
- if (segment.type === "H") {
4241
- return {
4242
- type: "H",
4243
- x: segment.x + x
4244
- };
4245
- }
4246
- if (segment.type === "A") {
4247
- return {
4248
- type: "A",
4249
- rx: segment.rx,
4250
- ry: segment.ry,
4251
- largeArcFlag: segment.largeArcFlag,
4252
- sweepFlag: segment.sweepFlag,
4253
- xAxisRotation: segment.xAxisRotation,
4254
- x: segment.x + x,
4255
- y: segment.y + y
4256
- };
4257
- }
4258
- if (segment.type === "Z") {
4259
- return segment;
4260
- }
4261
- if (segment.type === "C") {
4262
- return {
4263
- type: "C",
4264
- cp1x: segment.cp1x + x,
4265
- cp1y: segment.cp1y + y,
4266
- cp2x: segment.cp2x + x,
4267
- cp2y: segment.cp2y + y,
4268
- x: segment.x + x,
4269
- y: segment.y + y
4270
- };
4271
- }
4272
- if (segment.type === "Q") {
4273
- return {
4274
- type: "Q",
4275
- cpx: segment.cpx + x,
4276
- cpy: segment.cpy + y,
4277
- x: segment.x + x,
4278
- y: segment.y + y
4279
- };
4280
- }
4281
- if (segment.type === "S") {
4282
- return {
4283
- type: "S",
4284
- cpx: segment.cpx + x,
4285
- cpy: segment.cpy + y,
4286
- x: segment.x + x,
4287
- y: segment.y + y
4288
- };
4289
- }
4290
- if (segment.type === "T") {
4291
- return {
4292
- type: "T",
4293
- x: segment.x + x,
4294
- y: segment.y + y
4295
- };
4296
- }
4297
- if (segment.type === "L") {
4298
- return {
4299
- type: "L",
4300
- x: segment.x + x,
4301
- y: segment.y + y
4302
- };
4303
- }
4304
- if (segment.type === "M") {
4305
- return {
4306
- type: "M",
4307
- x: segment.x + x,
4308
- y: segment.y + y
4309
- };
4310
- }
4311
- throw new Error(`Unknown segment type: ${segment.type}`);
4312
- });
4313
- };
4314
- var translatePath = (path, x, y) => {
4315
- return serializeInstructions(translateSegments(parsePath(path), x, y));
4316
- };
4317
4317
  var resetPath = (d) => {
4318
4318
  const box = getBoundingBox(d);
4319
4319
  return translatePath(d, -box.x1, -box.y1);
@@ -4502,8 +4502,8 @@ import {
4502
4502
  forwardRef as forwardRef10,
4503
4503
  useCallback as useCallback17,
4504
4504
  useContext as useContext32,
4505
- useEffect as useEffect17,
4506
4505
  useImperativeHandle as useImperativeHandle7,
4506
+ useLayoutEffect as useLayoutEffect10,
4507
4507
  useMemo as useMemo31,
4508
4508
  useRef as useRef23,
4509
4509
  useState as useState16
@@ -4511,7 +4511,7 @@ 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 useLayoutEffect10, useRef as useRef24 } from "react";
4514
+ import { useCallback as useCallback19, useContext as useContext33, useLayoutEffect as useLayoutEffect11, useRef as useRef24 } from "react";
4515
4515
  import { jsx as jsx28 } from "react/jsx-runtime";
4516
4516
  import React29, { forwardRef as forwardRef12, useCallback as useCallback20, useRef as useRef25 } from "react";
4517
4517
  import { jsx as jsx29 } from "react/jsx-runtime";
@@ -4537,8 +4537,8 @@ import { useCallback as useCallback24 } from "react";
4537
4537
  import {
4538
4538
  useCallback as useCallback22,
4539
4539
  useContext as useContext36,
4540
- useEffect as useEffect18,
4541
- useLayoutEffect as useLayoutEffect11,
4540
+ useEffect as useEffect17,
4541
+ useLayoutEffect as useLayoutEffect12,
4542
4542
  useMemo as useMemo35,
4543
4543
  useState as useState19
4544
4544
  } from "react";
@@ -4547,13 +4547,13 @@ import React37, {
4547
4547
  forwardRef as forwardRef13,
4548
4548
  useCallback as useCallback23,
4549
4549
  useContext as useContext37,
4550
- useEffect as useEffect20,
4550
+ useEffect as useEffect19,
4551
4551
  useImperativeHandle as useImperativeHandle9,
4552
4552
  useMemo as useMemo36,
4553
4553
  useRef as useRef27,
4554
4554
  useState as useState20
4555
4555
  } from "react";
4556
- import { useEffect as useEffect19 } from "react";
4556
+ import { useEffect as useEffect18 } from "react";
4557
4557
  import { jsx as jsx34 } from "react/jsx-runtime";
4558
4558
  import { jsx as jsx35 } from "react/jsx-runtime";
4559
4559
  import React39, { useMemo as useMemo37 } from "react";
@@ -4570,9 +4570,9 @@ import { forwardRef as forwardRef16, useCallback as useCallback25, useContext as
4570
4570
  import {
4571
4571
  forwardRef as forwardRef15,
4572
4572
  useContext as useContext38,
4573
- useEffect as useEffect21,
4573
+ useEffect as useEffect20,
4574
4574
  useImperativeHandle as useImperativeHandle10,
4575
- useLayoutEffect as useLayoutEffect12,
4575
+ useLayoutEffect as useLayoutEffect13,
4576
4576
  useMemo as useMemo39,
4577
4577
  useRef as useRef28
4578
4578
  } from "react";
@@ -5746,7 +5746,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
5746
5746
  var addSequenceStackTraces = (component) => {
5747
5747
  componentsToAddStacksTo.push(component);
5748
5748
  };
5749
- var VERSION = "4.0.485";
5749
+ var VERSION = "4.0.486";
5750
5750
  var checkMultipleRemotionVersions = () => {
5751
5751
  if (typeof globalThis === "undefined") {
5752
5752
  return;
@@ -6152,6 +6152,12 @@ var textSchema = {
6152
6152
  default: undefined,
6153
6153
  description: "Color"
6154
6154
  },
6155
+ "style.fontFamily": {
6156
+ type: "font-family",
6157
+ default: undefined,
6158
+ description: "Font family",
6159
+ keyframable: false
6160
+ },
6155
6161
  "style.fontSize": {
6156
6162
  type: "number",
6157
6163
  default: undefined,
@@ -13482,6 +13488,18 @@ var loadImage = ({
13482
13488
  function exponentialBackoff(errorCount) {
13483
13489
  return 1000 * 2 ** (errorCount - 1);
13484
13490
  }
13491
+ var waitForNextFrame = ({
13492
+ onFrame
13493
+ }) => {
13494
+ if (typeof requestAnimationFrame === "undefined") {
13495
+ onFrame();
13496
+ return () => {
13497
+ return;
13498
+ };
13499
+ }
13500
+ const frame = requestAnimationFrame(onFrame);
13501
+ return () => cancelAnimationFrame(frame);
13502
+ };
13485
13503
  var CanvasImageContent = forwardRef10(({
13486
13504
  src,
13487
13505
  width,
@@ -13511,6 +13529,17 @@ var CanvasImageContent = forwardRef10(({
13511
13529
  overrideId: controls?.overrideId ?? null
13512
13530
  });
13513
13531
  const sequenceContext = useContext32(SequenceContext);
13532
+ const pendingLoadDelayRef = useRef23(null);
13533
+ const continuePendingLoadDelay = useCallback17(() => {
13534
+ const pending = pendingLoadDelayRef.current;
13535
+ if (!pending || pending.continued) {
13536
+ return;
13537
+ }
13538
+ pending.continued = true;
13539
+ pending.unblock();
13540
+ continueRender2(pending.handle);
13541
+ pendingLoadDelayRef.current = null;
13542
+ }, [continueRender2]);
13514
13543
  const sourceCanvas = useMemo31(() => {
13515
13544
  if (typeof document === "undefined") {
13516
13545
  return null;
@@ -13528,7 +13557,7 @@ var CanvasImageContent = forwardRef10(({
13528
13557
  ref.current = canvas;
13529
13558
  }
13530
13559
  }, [ref, refForOutline]);
13531
- useEffect17(() => {
13560
+ useLayoutEffect10(() => {
13532
13561
  const isPremounting = Boolean(sequenceContext?.premounting);
13533
13562
  const isPostmounting = Boolean(sequenceContext?.postmounting);
13534
13563
  const handle = delayRender2(`Rendering <CanvasImage> with src="${truncateSrcForLabel(actualSrc)}"`, {
@@ -13540,17 +13569,13 @@ var CanvasImageContent = forwardRef10(({
13540
13569
  };
13541
13570
  const controller = new AbortController;
13542
13571
  let cancelled = false;
13543
- let continued = false;
13544
13572
  let errorCount = 0;
13545
13573
  let timeoutId = null;
13546
13574
  setLoadedImage(null);
13547
- const continueRenderOnce = () => {
13548
- if (continued) {
13549
- return;
13550
- }
13551
- continued = true;
13552
- unblock();
13553
- continueRender2(handle);
13575
+ pendingLoadDelayRef.current = {
13576
+ handle,
13577
+ unblock,
13578
+ continued: false
13554
13579
  };
13555
13580
  const attemptLoad = () => {
13556
13581
  loadImage({ src: actualSrc, signal: controller.signal }).then((image) => {
@@ -13558,13 +13583,9 @@ var CanvasImageContent = forwardRef10(({
13558
13583
  return;
13559
13584
  }
13560
13585
  setLoadedImage(image);
13561
- }).then(() => {
13562
- if (!cancelled) {
13563
- continueRenderOnce();
13564
- }
13565
13586
  }).catch((err) => {
13566
13587
  if (err.name === "AbortError") {
13567
- continueRenderOnce();
13588
+ continuePendingLoadDelay();
13568
13589
  return;
13569
13590
  }
13570
13591
  errorCount++;
@@ -13578,7 +13599,7 @@ var CanvasImageContent = forwardRef10(({
13578
13599
  }, backoff);
13579
13600
  } else if (onError) {
13580
13601
  onError(err);
13581
- continueRenderOnce();
13602
+ continuePendingLoadDelay();
13582
13603
  } else {
13583
13604
  cancelRender2(err);
13584
13605
  }
@@ -13591,12 +13612,12 @@ var CanvasImageContent = forwardRef10(({
13591
13612
  clearTimeout(timeoutId);
13592
13613
  }
13593
13614
  controller.abort();
13594
- continueRenderOnce();
13615
+ continuePendingLoadDelay();
13595
13616
  };
13596
13617
  }, [
13597
13618
  actualSrc,
13598
13619
  cancelRender2,
13599
- continueRender2,
13620
+ continuePendingLoadDelay,
13600
13621
  delayPlayback,
13601
13622
  delayRender2,
13602
13623
  delayRenderRetries,
@@ -13607,13 +13628,16 @@ var CanvasImageContent = forwardRef10(({
13607
13628
  sequenceContext?.postmounting,
13608
13629
  sequenceContext?.premounting
13609
13630
  ]);
13610
- useEffect17(() => {
13631
+ useLayoutEffect10(() => {
13611
13632
  if (!loadedImage || !outputCanvas || !sourceCanvas) {
13612
13633
  return;
13613
13634
  }
13614
13635
  const handle = delayRender2(`Applying effects to <CanvasImage> with src="${truncateSrcForLabel(actualSrc)}"`);
13615
13636
  let cancelled = false;
13616
13637
  let continued = false;
13638
+ let cancelWaitForNextFrame = () => {
13639
+ return;
13640
+ };
13617
13641
  const continueRenderOnce = () => {
13618
13642
  if (continued) {
13619
13643
  return;
@@ -13648,7 +13672,15 @@ var CanvasImageContent = forwardRef10(({
13648
13672
  height: canvasHeight
13649
13673
  }).then((completed) => {
13650
13674
  if (completed && !cancelled) {
13651
- continueRenderOnce();
13675
+ cancelWaitForNextFrame = waitForNextFrame({
13676
+ onFrame: () => {
13677
+ if (cancelled) {
13678
+ return;
13679
+ }
13680
+ continueRenderOnce();
13681
+ continuePendingLoadDelay();
13682
+ }
13683
+ });
13652
13684
  }
13653
13685
  }).catch((err) => {
13654
13686
  if (cancelled) {
@@ -13657,12 +13689,14 @@ var CanvasImageContent = forwardRef10(({
13657
13689
  if (onError) {
13658
13690
  onError(err);
13659
13691
  continueRenderOnce();
13692
+ continuePendingLoadDelay();
13660
13693
  } else {
13661
13694
  cancelRender2(err);
13662
13695
  }
13663
13696
  });
13664
13697
  return () => {
13665
13698
  cancelled = true;
13699
+ cancelWaitForNextFrame();
13666
13700
  continueRenderOnce();
13667
13701
  };
13668
13702
  }, [
@@ -13670,6 +13704,7 @@ var CanvasImageContent = forwardRef10(({
13670
13704
  cancelRender2,
13671
13705
  chainState,
13672
13706
  continueRender2,
13707
+ continuePendingLoadDelay,
13673
13708
  delayRender2,
13674
13709
  fit,
13675
13710
  height,
@@ -13879,7 +13914,7 @@ var ImgContent = ({
13879
13914
  if (typeof window !== "undefined") {
13880
13915
  const isPremounting = Boolean(sequenceContext?.premounting);
13881
13916
  const isPostmounting = Boolean(sequenceContext?.postmounting);
13882
- useLayoutEffect10(() => {
13917
+ useLayoutEffect11(() => {
13883
13918
  if (window.process?.env?.NODE_ENV === "test") {
13884
13919
  if (imageRef.current) {
13885
13920
  imageRef.current.src = actualSrc;
@@ -14775,7 +14810,7 @@ var OffthreadVideoForRendering = ({
14775
14810
  mediaVolume: 1
14776
14811
  });
14777
14812
  warnAboutTooHighVolume(volume);
14778
- useEffect18(() => {
14813
+ useEffect17(() => {
14779
14814
  if (!src) {
14780
14815
  throw new Error("No src passed");
14781
14816
  }
@@ -14832,7 +14867,7 @@ var OffthreadVideoForRendering = ({
14832
14867
  }, [toneMapped, currentTime, src, transparent]);
14833
14868
  const [imageSrc, setImageSrc] = useState19(null);
14834
14869
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
14835
- useLayoutEffect11(() => {
14870
+ useLayoutEffect12(() => {
14836
14871
  if (!window.remotion_videoEnabled) {
14837
14872
  return;
14838
14873
  }
@@ -14936,7 +14971,7 @@ var useEmitVideoFrame = ({
14936
14971
  ref,
14937
14972
  onVideoFrame
14938
14973
  }) => {
14939
- useEffect19(() => {
14974
+ useEffect18(() => {
14940
14975
  const { current } = ref;
14941
14976
  if (!current) {
14942
14977
  return;
@@ -15111,7 +15146,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
15111
15146
  tag: "video",
15112
15147
  mountTime
15113
15148
  }));
15114
- useEffect20(() => {
15149
+ useEffect19(() => {
15115
15150
  const { current } = videoRef;
15116
15151
  if (!current) {
15117
15152
  return;
@@ -15154,7 +15189,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
15154
15189
  const currentOnDurationCallback = useRef27(onDuration);
15155
15190
  currentOnDurationCallback.current = onDuration;
15156
15191
  useEmitVideoFrame({ ref: videoRef, onVideoFrame });
15157
- useEffect20(() => {
15192
+ useEffect19(() => {
15158
15193
  const { current } = videoRef;
15159
15194
  if (!current) {
15160
15195
  return;
@@ -15171,7 +15206,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
15171
15206
  current.removeEventListener("loadedmetadata", onLoadedMetadata);
15172
15207
  };
15173
15208
  }, [src]);
15174
- useEffect20(() => {
15209
+ useEffect19(() => {
15175
15210
  const { current } = videoRef;
15176
15211
  if (!current) {
15177
15212
  return;
@@ -15952,7 +15987,7 @@ var VideoForRenderingForwardFunction = ({
15952
15987
  mediaVolume: 1
15953
15988
  });
15954
15989
  warnAboutTooHighVolume(volume);
15955
- useEffect21(() => {
15990
+ useEffect20(() => {
15956
15991
  if (!props2.src) {
15957
15992
  throw new Error("No src passed");
15958
15993
  }
@@ -15996,7 +16031,7 @@ var VideoForRenderingForwardFunction = ({
15996
16031
  return videoRef.current;
15997
16032
  }, []);
15998
16033
  useEmitVideoFrame({ ref: videoRef, onVideoFrame });
15999
- useEffect21(() => {
16034
+ useEffect20(() => {
16000
16035
  if (!window.remotion_videoEnabled) {
16001
16036
  return;
16002
16037
  }
@@ -16086,7 +16121,7 @@ var VideoForRenderingForwardFunction = ({
16086
16121
  ]);
16087
16122
  const { src } = props2;
16088
16123
  if (environment.isRendering) {
16089
- useLayoutEffect12(() => {
16124
+ useLayoutEffect13(() => {
16090
16125
  if (window.process?.env?.NODE_ENV === "test") {
16091
16126
  return;
16092
16127
  }
@@ -19190,7 +19225,7 @@ var extrudeAndTransformElement = (options) => {
19190
19225
  // ../design/dist/esm/index.mjs
19191
19226
  import { jsx as jsx212, Fragment as Fragment3 } from "react/jsx-runtime";
19192
19227
  import { jsx as jsx312, jsxs as jsxs5 } from "react/jsx-runtime";
19193
- import { useEffect as useEffect23, useMemo as useMemo210, useRef as useRef31 } from "react";
19228
+ import { useEffect as useEffect22, useMemo as useMemo210, useRef as useRef31 } from "react";
19194
19229
  import { jsx as jsx45 } from "react/jsx-runtime";
19195
19230
  import { jsx as jsx53, jsxs as jsxs23 } from "react/jsx-runtime";
19196
19231
  import React62 from "react";
@@ -19445,7 +19480,7 @@ var useHoverTransforms = (ref, disabled) => {
19445
19480
  isActive: false
19446
19481
  });
19447
19482
  const eventTarget = useMemo42(() => new EventTarget, []);
19448
- useEffect22(() => {
19483
+ useEffect21(() => {
19449
19484
  if (disabled) {
19450
19485
  eventTarget.dispatchEvent(new Event("disabled"));
19451
19486
  } else {
@@ -19592,7 +19627,7 @@ var getAngle = (ref, coordinates) => {
19592
19627
  var lastCoordinates = null;
19593
19628
  var useMousePosition = (ref) => {
19594
19629
  const [angle, setAngle] = useState21(getAngle(ref.current, lastCoordinates));
19595
- useEffect22(() => {
19630
+ useEffect21(() => {
19596
19631
  const element = ref.current;
19597
19632
  if (!element) {
19598
19633
  return;
@@ -19713,7 +19748,7 @@ var Spinner = ({ size, duration }) => {
19713
19748
  };
19714
19749
  }, [size]);
19715
19750
  const pathsRef = useRef31([]);
19716
- useEffect23(() => {
19751
+ useEffect22(() => {
19717
19752
  const animate = () => {
19718
19753
  const now = performance.now();
19719
19754
  for (let index = 0;index < lines; index++) {