@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/experts.js CHANGED
@@ -1091,8 +1091,8 @@ import {
1091
1091
  forwardRef as forwardRef10,
1092
1092
  useCallback as useCallback17,
1093
1093
  useContext as useContext32,
1094
- useEffect as useEffect17,
1095
1094
  useImperativeHandle as useImperativeHandle7,
1095
+ useLayoutEffect as useLayoutEffect10,
1096
1096
  useMemo as useMemo31,
1097
1097
  useRef as useRef23,
1098
1098
  useState as useState16
@@ -1100,7 +1100,7 @@ import {
1100
1100
  import { jsx as jsx26 } from "react/jsx-runtime";
1101
1101
  import { forwardRef as forwardRef11, useCallback as useCallback18, useState as useState17 } from "react";
1102
1102
  import { jsx as jsx27 } from "react/jsx-runtime";
1103
- import { useCallback as useCallback19, useContext as useContext33, useLayoutEffect as useLayoutEffect10, useRef as useRef24 } from "react";
1103
+ import { useCallback as useCallback19, useContext as useContext33, useLayoutEffect as useLayoutEffect11, useRef as useRef24 } from "react";
1104
1104
  import { jsx as jsx28 } from "react/jsx-runtime";
1105
1105
  import React29, { forwardRef as forwardRef12, useCallback as useCallback20, useRef as useRef25 } from "react";
1106
1106
  import { jsx as jsx29 } from "react/jsx-runtime";
@@ -1126,8 +1126,8 @@ import { useCallback as useCallback24 } from "react";
1126
1126
  import {
1127
1127
  useCallback as useCallback22,
1128
1128
  useContext as useContext36,
1129
- useEffect as useEffect18,
1130
- useLayoutEffect as useLayoutEffect11,
1129
+ useEffect as useEffect17,
1130
+ useLayoutEffect as useLayoutEffect12,
1131
1131
  useMemo as useMemo35,
1132
1132
  useState as useState19
1133
1133
  } from "react";
@@ -1136,13 +1136,13 @@ import React37, {
1136
1136
  forwardRef as forwardRef13,
1137
1137
  useCallback as useCallback23,
1138
1138
  useContext as useContext37,
1139
- useEffect as useEffect20,
1139
+ useEffect as useEffect19,
1140
1140
  useImperativeHandle as useImperativeHandle9,
1141
1141
  useMemo as useMemo36,
1142
1142
  useRef as useRef27,
1143
1143
  useState as useState20
1144
1144
  } from "react";
1145
- import { useEffect as useEffect19 } from "react";
1145
+ import { useEffect as useEffect18 } from "react";
1146
1146
  import { jsx as jsx34 } from "react/jsx-runtime";
1147
1147
  import { jsx as jsx35 } from "react/jsx-runtime";
1148
1148
  import React39, { useMemo as useMemo37 } from "react";
@@ -1159,9 +1159,9 @@ import { forwardRef as forwardRef16, useCallback as useCallback25, useContext as
1159
1159
  import {
1160
1160
  forwardRef as forwardRef15,
1161
1161
  useContext as useContext38,
1162
- useEffect as useEffect21,
1162
+ useEffect as useEffect20,
1163
1163
  useImperativeHandle as useImperativeHandle10,
1164
- useLayoutEffect as useLayoutEffect12,
1164
+ useLayoutEffect as useLayoutEffect13,
1165
1165
  useMemo as useMemo39,
1166
1166
  useRef as useRef28
1167
1167
  } from "react";
@@ -2335,7 +2335,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
2335
2335
  var addSequenceStackTraces = (component) => {
2336
2336
  componentsToAddStacksTo.push(component);
2337
2337
  };
2338
- var VERSION = "4.0.485";
2338
+ var VERSION = "4.0.486";
2339
2339
  var checkMultipleRemotionVersions = () => {
2340
2340
  if (typeof globalThis === "undefined") {
2341
2341
  return;
@@ -2741,6 +2741,12 @@ var textSchema = {
2741
2741
  default: undefined,
2742
2742
  description: "Color"
2743
2743
  },
2744
+ "style.fontFamily": {
2745
+ type: "font-family",
2746
+ default: undefined,
2747
+ description: "Font family",
2748
+ keyframable: false
2749
+ },
2744
2750
  "style.fontSize": {
2745
2751
  type: "number",
2746
2752
  default: undefined,
@@ -10071,6 +10077,18 @@ var loadImage = ({
10071
10077
  function exponentialBackoff(errorCount) {
10072
10078
  return 1000 * 2 ** (errorCount - 1);
10073
10079
  }
10080
+ var waitForNextFrame = ({
10081
+ onFrame
10082
+ }) => {
10083
+ if (typeof requestAnimationFrame === "undefined") {
10084
+ onFrame();
10085
+ return () => {
10086
+ return;
10087
+ };
10088
+ }
10089
+ const frame = requestAnimationFrame(onFrame);
10090
+ return () => cancelAnimationFrame(frame);
10091
+ };
10074
10092
  var CanvasImageContent = forwardRef10(({
10075
10093
  src,
10076
10094
  width,
@@ -10100,6 +10118,17 @@ var CanvasImageContent = forwardRef10(({
10100
10118
  overrideId: controls?.overrideId ?? null
10101
10119
  });
10102
10120
  const sequenceContext = useContext32(SequenceContext);
10121
+ const pendingLoadDelayRef = useRef23(null);
10122
+ const continuePendingLoadDelay = useCallback17(() => {
10123
+ const pending = pendingLoadDelayRef.current;
10124
+ if (!pending || pending.continued) {
10125
+ return;
10126
+ }
10127
+ pending.continued = true;
10128
+ pending.unblock();
10129
+ continueRender2(pending.handle);
10130
+ pendingLoadDelayRef.current = null;
10131
+ }, [continueRender2]);
10103
10132
  const sourceCanvas = useMemo31(() => {
10104
10133
  if (typeof document === "undefined") {
10105
10134
  return null;
@@ -10117,7 +10146,7 @@ var CanvasImageContent = forwardRef10(({
10117
10146
  ref.current = canvas;
10118
10147
  }
10119
10148
  }, [ref, refForOutline]);
10120
- useEffect17(() => {
10149
+ useLayoutEffect10(() => {
10121
10150
  const isPremounting = Boolean(sequenceContext?.premounting);
10122
10151
  const isPostmounting = Boolean(sequenceContext?.postmounting);
10123
10152
  const handle = delayRender2(`Rendering <CanvasImage> with src="${truncateSrcForLabel(actualSrc)}"`, {
@@ -10129,17 +10158,13 @@ var CanvasImageContent = forwardRef10(({
10129
10158
  };
10130
10159
  const controller = new AbortController;
10131
10160
  let cancelled = false;
10132
- let continued = false;
10133
10161
  let errorCount = 0;
10134
10162
  let timeoutId = null;
10135
10163
  setLoadedImage(null);
10136
- const continueRenderOnce = () => {
10137
- if (continued) {
10138
- return;
10139
- }
10140
- continued = true;
10141
- unblock();
10142
- continueRender2(handle);
10164
+ pendingLoadDelayRef.current = {
10165
+ handle,
10166
+ unblock,
10167
+ continued: false
10143
10168
  };
10144
10169
  const attemptLoad = () => {
10145
10170
  loadImage({ src: actualSrc, signal: controller.signal }).then((image) => {
@@ -10147,13 +10172,9 @@ var CanvasImageContent = forwardRef10(({
10147
10172
  return;
10148
10173
  }
10149
10174
  setLoadedImage(image);
10150
- }).then(() => {
10151
- if (!cancelled) {
10152
- continueRenderOnce();
10153
- }
10154
10175
  }).catch((err) => {
10155
10176
  if (err.name === "AbortError") {
10156
- continueRenderOnce();
10177
+ continuePendingLoadDelay();
10157
10178
  return;
10158
10179
  }
10159
10180
  errorCount++;
@@ -10167,7 +10188,7 @@ var CanvasImageContent = forwardRef10(({
10167
10188
  }, backoff);
10168
10189
  } else if (onError) {
10169
10190
  onError(err);
10170
- continueRenderOnce();
10191
+ continuePendingLoadDelay();
10171
10192
  } else {
10172
10193
  cancelRender2(err);
10173
10194
  }
@@ -10180,12 +10201,12 @@ var CanvasImageContent = forwardRef10(({
10180
10201
  clearTimeout(timeoutId);
10181
10202
  }
10182
10203
  controller.abort();
10183
- continueRenderOnce();
10204
+ continuePendingLoadDelay();
10184
10205
  };
10185
10206
  }, [
10186
10207
  actualSrc,
10187
10208
  cancelRender2,
10188
- continueRender2,
10209
+ continuePendingLoadDelay,
10189
10210
  delayPlayback,
10190
10211
  delayRender2,
10191
10212
  delayRenderRetries,
@@ -10196,13 +10217,16 @@ var CanvasImageContent = forwardRef10(({
10196
10217
  sequenceContext?.postmounting,
10197
10218
  sequenceContext?.premounting
10198
10219
  ]);
10199
- useEffect17(() => {
10220
+ useLayoutEffect10(() => {
10200
10221
  if (!loadedImage || !outputCanvas || !sourceCanvas) {
10201
10222
  return;
10202
10223
  }
10203
10224
  const handle = delayRender2(`Applying effects to <CanvasImage> with src="${truncateSrcForLabel(actualSrc)}"`);
10204
10225
  let cancelled = false;
10205
10226
  let continued = false;
10227
+ let cancelWaitForNextFrame = () => {
10228
+ return;
10229
+ };
10206
10230
  const continueRenderOnce = () => {
10207
10231
  if (continued) {
10208
10232
  return;
@@ -10237,7 +10261,15 @@ var CanvasImageContent = forwardRef10(({
10237
10261
  height: canvasHeight
10238
10262
  }).then((completed) => {
10239
10263
  if (completed && !cancelled) {
10240
- continueRenderOnce();
10264
+ cancelWaitForNextFrame = waitForNextFrame({
10265
+ onFrame: () => {
10266
+ if (cancelled) {
10267
+ return;
10268
+ }
10269
+ continueRenderOnce();
10270
+ continuePendingLoadDelay();
10271
+ }
10272
+ });
10241
10273
  }
10242
10274
  }).catch((err) => {
10243
10275
  if (cancelled) {
@@ -10246,12 +10278,14 @@ var CanvasImageContent = forwardRef10(({
10246
10278
  if (onError) {
10247
10279
  onError(err);
10248
10280
  continueRenderOnce();
10281
+ continuePendingLoadDelay();
10249
10282
  } else {
10250
10283
  cancelRender2(err);
10251
10284
  }
10252
10285
  });
10253
10286
  return () => {
10254
10287
  cancelled = true;
10288
+ cancelWaitForNextFrame();
10255
10289
  continueRenderOnce();
10256
10290
  };
10257
10291
  }, [
@@ -10259,6 +10293,7 @@ var CanvasImageContent = forwardRef10(({
10259
10293
  cancelRender2,
10260
10294
  chainState,
10261
10295
  continueRender2,
10296
+ continuePendingLoadDelay,
10262
10297
  delayRender2,
10263
10298
  fit,
10264
10299
  height,
@@ -10468,7 +10503,7 @@ var ImgContent = ({
10468
10503
  if (typeof window !== "undefined") {
10469
10504
  const isPremounting = Boolean(sequenceContext?.premounting);
10470
10505
  const isPostmounting = Boolean(sequenceContext?.postmounting);
10471
- useLayoutEffect10(() => {
10506
+ useLayoutEffect11(() => {
10472
10507
  if (window.process?.env?.NODE_ENV === "test") {
10473
10508
  if (imageRef.current) {
10474
10509
  imageRef.current.src = actualSrc;
@@ -11364,7 +11399,7 @@ var OffthreadVideoForRendering = ({
11364
11399
  mediaVolume: 1
11365
11400
  });
11366
11401
  warnAboutTooHighVolume(volume);
11367
- useEffect18(() => {
11402
+ useEffect17(() => {
11368
11403
  if (!src) {
11369
11404
  throw new Error("No src passed");
11370
11405
  }
@@ -11421,7 +11456,7 @@ var OffthreadVideoForRendering = ({
11421
11456
  }, [toneMapped, currentTime, src, transparent]);
11422
11457
  const [imageSrc, setImageSrc] = useState19(null);
11423
11458
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
11424
- useLayoutEffect11(() => {
11459
+ useLayoutEffect12(() => {
11425
11460
  if (!window.remotion_videoEnabled) {
11426
11461
  return;
11427
11462
  }
@@ -11525,7 +11560,7 @@ var useEmitVideoFrame = ({
11525
11560
  ref,
11526
11561
  onVideoFrame
11527
11562
  }) => {
11528
- useEffect19(() => {
11563
+ useEffect18(() => {
11529
11564
  const { current } = ref;
11530
11565
  if (!current) {
11531
11566
  return;
@@ -11700,7 +11735,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
11700
11735
  tag: "video",
11701
11736
  mountTime
11702
11737
  }));
11703
- useEffect20(() => {
11738
+ useEffect19(() => {
11704
11739
  const { current } = videoRef;
11705
11740
  if (!current) {
11706
11741
  return;
@@ -11743,7 +11778,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
11743
11778
  const currentOnDurationCallback = useRef27(onDuration);
11744
11779
  currentOnDurationCallback.current = onDuration;
11745
11780
  useEmitVideoFrame({ ref: videoRef, onVideoFrame });
11746
- useEffect20(() => {
11781
+ useEffect19(() => {
11747
11782
  const { current } = videoRef;
11748
11783
  if (!current) {
11749
11784
  return;
@@ -11760,7 +11795,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
11760
11795
  current.removeEventListener("loadedmetadata", onLoadedMetadata);
11761
11796
  };
11762
11797
  }, [src]);
11763
- useEffect20(() => {
11798
+ useEffect19(() => {
11764
11799
  const { current } = videoRef;
11765
11800
  if (!current) {
11766
11801
  return;
@@ -12541,7 +12576,7 @@ var VideoForRenderingForwardFunction = ({
12541
12576
  mediaVolume: 1
12542
12577
  });
12543
12578
  warnAboutTooHighVolume(volume);
12544
- useEffect21(() => {
12579
+ useEffect20(() => {
12545
12580
  if (!props2.src) {
12546
12581
  throw new Error("No src passed");
12547
12582
  }
@@ -12585,7 +12620,7 @@ var VideoForRenderingForwardFunction = ({
12585
12620
  return videoRef.current;
12586
12621
  }, []);
12587
12622
  useEmitVideoFrame({ ref: videoRef, onVideoFrame });
12588
- useEffect21(() => {
12623
+ useEffect20(() => {
12589
12624
  if (!window.remotion_videoEnabled) {
12590
12625
  return;
12591
12626
  }
@@ -12675,7 +12710,7 @@ var VideoForRenderingForwardFunction = ({
12675
12710
  ]);
12676
12711
  const { src } = props2;
12677
12712
  if (environment.isRendering) {
12678
- useLayoutEffect12(() => {
12713
+ useLayoutEffect13(() => {
12679
12714
  if (window.process?.env?.NODE_ENV === "test") {
12680
12715
  return;
12681
12716
  }