@remotion/promo-pages 4.0.466 → 4.0.468
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 +2349 -1743
- package/dist/design.js +760 -402
- package/dist/experts.js +673 -315
- package/dist/homepage/Pricing.js +697 -339
- package/dist/prompts/PromptsGallery.js +661 -303
- package/dist/prompts/PromptsShow.js +818 -460
- package/dist/prompts/PromptsSubmit.js +839 -481
- package/dist/tailwind.css +46 -28
- package/dist/team.js +686 -328
- package/dist/template-modal-content.js +739 -381
- package/dist/templates.js +757 -399
- package/package.json +13 -13
package/dist/design.js
CHANGED
|
@@ -35,8 +35,8 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
35
35
|
// ../design/dist/esm/index.mjs
|
|
36
36
|
import * as React24 from "react";
|
|
37
37
|
import * as React3 from "react";
|
|
38
|
-
import { Fragment as Fragment2, jsx as
|
|
39
|
-
import React52, { useCallback as
|
|
38
|
+
import { Fragment as Fragment2, jsx as jsx39 } from "react/jsx-runtime";
|
|
39
|
+
import React52, { useCallback as useCallback25, useRef as useRef25, 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) {
|
|
@@ -1378,7 +1378,7 @@ var getDefaultConfig = () => {
|
|
|
1378
1378
|
var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
|
|
1379
1379
|
|
|
1380
1380
|
// ../design/dist/esm/index.mjs
|
|
1381
|
-
import React33, { useEffect as
|
|
1381
|
+
import React33, { useEffect as useEffect21, useMemo as useMemo40, useState as useState21 } from "react";
|
|
1382
1382
|
|
|
1383
1383
|
// ../paths/dist/esm/index.mjs
|
|
1384
1384
|
var cutLInstruction = ({
|
|
@@ -5748,9 +5748,9 @@ import {
|
|
|
5748
5748
|
useContext as useContext17,
|
|
5749
5749
|
useEffect as useEffect3,
|
|
5750
5750
|
useMemo as useMemo14,
|
|
5751
|
+
useRef as useRef6,
|
|
5751
5752
|
useState as useState5
|
|
5752
5753
|
} from "react";
|
|
5753
|
-
import { useRef as useRef6 } from "react";
|
|
5754
5754
|
import { useContext as useContext14, useMemo as useMemo11 } from "react";
|
|
5755
5755
|
import { createContext as createContext12 } from "react";
|
|
5756
5756
|
import { useContext as useContext10, useMemo as useMemo9 } from "react";
|
|
@@ -5883,76 +5883,85 @@ import {
|
|
|
5883
5883
|
} from "react";
|
|
5884
5884
|
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
5885
5885
|
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
5886
|
-
import { forwardRef as forwardRef10, useCallback as useCallback16, useState as useState16 } from "react";
|
|
5887
|
-
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
5888
5886
|
import {
|
|
5887
|
+
forwardRef as forwardRef10,
|
|
5889
5888
|
useCallback as useCallback17,
|
|
5889
|
+
useContext as useContext33,
|
|
5890
|
+
useEffect as useEffect16,
|
|
5891
|
+
useMemo as useMemo31,
|
|
5892
|
+
useState as useState16
|
|
5893
|
+
} from "react";
|
|
5894
|
+
import {
|
|
5895
|
+
useCallback as useCallback16,
|
|
5890
5896
|
useContext as useContext32,
|
|
5891
5897
|
useImperativeHandle as useImperativeHandle6,
|
|
5892
5898
|
useLayoutEffect as useLayoutEffect10,
|
|
5893
5899
|
useRef as useRef21
|
|
5894
5900
|
} from "react";
|
|
5901
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
5895
5902
|
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
5903
|
+
import { forwardRef as forwardRef11, useCallback as useCallback18, useState as useState17 } from "react";
|
|
5904
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
5896
5905
|
import { createRef as createRef3 } from "react";
|
|
5897
5906
|
import React28 from "react";
|
|
5898
5907
|
import {
|
|
5899
|
-
useCallback as
|
|
5908
|
+
useCallback as useCallback19,
|
|
5900
5909
|
useImperativeHandle as useImperativeHandle7,
|
|
5901
|
-
useMemo as
|
|
5910
|
+
useMemo as useMemo322,
|
|
5902
5911
|
useRef as useRef22,
|
|
5903
|
-
useState as
|
|
5912
|
+
useState as useState18
|
|
5904
5913
|
} from "react";
|
|
5905
|
-
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
5906
|
-
import React29 from "react";
|
|
5907
|
-
import { useMemo as useMemo33 } from "react";
|
|
5908
|
-
import { createContext as createContext23, useContext as useContext33, useMemo as useMemo322 } from "react";
|
|
5909
5914
|
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
5915
|
+
import React29 from "react";
|
|
5916
|
+
import { useMemo as useMemo34 } from "react";
|
|
5917
|
+
import { createContext as createContext23, useContext as useContext34, useMemo as useMemo33 } from "react";
|
|
5910
5918
|
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
5919
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
5911
5920
|
import React31 from "react";
|
|
5912
5921
|
import React32, { createContext as createContext24 } from "react";
|
|
5913
|
-
import { useCallback as
|
|
5922
|
+
import { useCallback as useCallback22 } from "react";
|
|
5914
5923
|
import {
|
|
5915
|
-
useCallback as
|
|
5916
|
-
useContext as
|
|
5917
|
-
useEffect as
|
|
5924
|
+
useCallback as useCallback20,
|
|
5925
|
+
useContext as useContext35,
|
|
5926
|
+
useEffect as useEffect17,
|
|
5918
5927
|
useLayoutEffect as useLayoutEffect11,
|
|
5919
|
-
useMemo as
|
|
5920
|
-
useState as
|
|
5928
|
+
useMemo as useMemo35,
|
|
5929
|
+
useState as useState19
|
|
5921
5930
|
} from "react";
|
|
5922
|
-
import { jsx as
|
|
5931
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
5923
5932
|
import React34, {
|
|
5924
|
-
forwardRef as
|
|
5925
|
-
useContext as
|
|
5926
|
-
useEffect as
|
|
5933
|
+
forwardRef as forwardRef12,
|
|
5934
|
+
useContext as useContext36,
|
|
5935
|
+
useEffect as useEffect19,
|
|
5927
5936
|
useImperativeHandle as useImperativeHandle8,
|
|
5928
|
-
useMemo as
|
|
5937
|
+
useMemo as useMemo36,
|
|
5929
5938
|
useRef as useRef23,
|
|
5930
|
-
useState as
|
|
5931
|
-
useCallback as
|
|
5939
|
+
useState as useState20,
|
|
5940
|
+
useCallback as useCallback21
|
|
5932
5941
|
} from "react";
|
|
5933
|
-
import { useEffect as
|
|
5934
|
-
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
5942
|
+
import { useEffect as useEffect18 } from "react";
|
|
5935
5943
|
import { jsx as jsx322 } from "react/jsx-runtime";
|
|
5936
|
-
import React36, { useMemo as useMemo36 } from "react";
|
|
5937
5944
|
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
5938
|
-
import
|
|
5945
|
+
import React36, { useMemo as useMemo37 } from "react";
|
|
5946
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
5947
|
+
import { Children, forwardRef as forwardRef13, useMemo as useMemo38 } from "react";
|
|
5939
5948
|
import React37 from "react";
|
|
5940
5949
|
import React38, { createContext as createContext25 } from "react";
|
|
5941
|
-
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
5942
5950
|
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
5951
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
5943
5952
|
import React40 from "react";
|
|
5944
|
-
import { forwardRef as
|
|
5953
|
+
import { forwardRef as forwardRef15, useCallback as useCallback23, useContext as useContext38 } from "react";
|
|
5945
5954
|
import {
|
|
5946
|
-
forwardRef as
|
|
5947
|
-
useContext as
|
|
5948
|
-
useEffect as
|
|
5955
|
+
forwardRef as forwardRef14,
|
|
5956
|
+
useContext as useContext37,
|
|
5957
|
+
useEffect as useEffect20,
|
|
5949
5958
|
useImperativeHandle as useImperativeHandle9,
|
|
5950
5959
|
useLayoutEffect as useLayoutEffect12,
|
|
5951
|
-
useMemo as
|
|
5960
|
+
useMemo as useMemo39,
|
|
5952
5961
|
useRef as useRef24
|
|
5953
5962
|
} from "react";
|
|
5954
|
-
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
5955
5963
|
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
5964
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
5956
5965
|
var __defProp2 = Object.defineProperty;
|
|
5957
5966
|
var __export2 = (target, all) => {
|
|
5958
5967
|
for (var name in all)
|
|
@@ -7075,7 +7084,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
|
7075
7084
|
var addSequenceStackTraces = (component) => {
|
|
7076
7085
|
componentsToAddStacksTo.push(component);
|
|
7077
7086
|
};
|
|
7078
|
-
var VERSION = "4.0.
|
|
7087
|
+
var VERSION = "4.0.468";
|
|
7079
7088
|
var checkMultipleRemotionVersions = () => {
|
|
7080
7089
|
if (typeof globalThis === "undefined") {
|
|
7081
7090
|
return;
|
|
@@ -8164,10 +8173,16 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
8164
8173
|
const postmounting = useMemo14(() => {
|
|
8165
8174
|
return parentSequence?.postmounting || Boolean(other._remotionInternalIsPostmounting);
|
|
8166
8175
|
}, [other._remotionInternalIsPostmounting, parentSequence?.postmounting]);
|
|
8176
|
+
const currentSequenceStart = cumulatedFrom + from;
|
|
8177
|
+
const parentSequenceStart = parentSequence ? parentSequence.cumulatedFrom + parentSequence.relativeFrom : 0;
|
|
8178
|
+
const parentFirstFrame = parentSequence ? parentSequenceStart - parentSequence.cumulatedNegativeFrom : 0;
|
|
8179
|
+
const firstFrame = Math.max(0, parentFirstFrame, currentSequenceStart);
|
|
8180
|
+
const cumulatedNegativeFrom = currentSequenceStart - firstFrame;
|
|
8167
8181
|
const contextValue = useMemo14(() => {
|
|
8168
8182
|
return {
|
|
8169
8183
|
cumulatedFrom,
|
|
8170
8184
|
relativeFrom: from,
|
|
8185
|
+
cumulatedNegativeFrom,
|
|
8171
8186
|
durationInFrames: actualDurationInFrames,
|
|
8172
8187
|
parentFrom: parentSequence?.relativeFrom ?? 0,
|
|
8173
8188
|
id,
|
|
@@ -8189,7 +8204,8 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
8189
8204
|
premounting,
|
|
8190
8205
|
postmounting,
|
|
8191
8206
|
premountDisplay,
|
|
8192
|
-
postmountDisplay
|
|
8207
|
+
postmountDisplay,
|
|
8208
|
+
cumulatedNegativeFrom
|
|
8193
8209
|
]);
|
|
8194
8210
|
const timelineClipName = useMemo14(() => {
|
|
8195
8211
|
return name ?? "";
|
|
@@ -8397,6 +8413,54 @@ var SequenceRefForwardingFunction = (props, ref) => {
|
|
|
8397
8413
|
};
|
|
8398
8414
|
var SequenceInner = forwardRef3(SequenceRefForwardingFunction);
|
|
8399
8415
|
var Sequence = wrapInSchema(SequenceInner, sequenceSchema);
|
|
8416
|
+
var calculateImageFit = (fit, imageSize, canvasSize) => {
|
|
8417
|
+
switch (fit) {
|
|
8418
|
+
case "fill": {
|
|
8419
|
+
return [
|
|
8420
|
+
0,
|
|
8421
|
+
0,
|
|
8422
|
+
imageSize.width,
|
|
8423
|
+
imageSize.height,
|
|
8424
|
+
0,
|
|
8425
|
+
0,
|
|
8426
|
+
canvasSize.width,
|
|
8427
|
+
canvasSize.height
|
|
8428
|
+
];
|
|
8429
|
+
}
|
|
8430
|
+
case "contain": {
|
|
8431
|
+
const ratio = Math.min(canvasSize.width / imageSize.width, canvasSize.height / imageSize.height);
|
|
8432
|
+
const centerX = (canvasSize.width - imageSize.width * ratio) / 2;
|
|
8433
|
+
const centerY = (canvasSize.height - imageSize.height * ratio) / 2;
|
|
8434
|
+
return [
|
|
8435
|
+
0,
|
|
8436
|
+
0,
|
|
8437
|
+
imageSize.width,
|
|
8438
|
+
imageSize.height,
|
|
8439
|
+
centerX,
|
|
8440
|
+
centerY,
|
|
8441
|
+
imageSize.width * ratio,
|
|
8442
|
+
imageSize.height * ratio
|
|
8443
|
+
];
|
|
8444
|
+
}
|
|
8445
|
+
case "cover": {
|
|
8446
|
+
const ratio = Math.max(canvasSize.width / imageSize.width, canvasSize.height / imageSize.height);
|
|
8447
|
+
const centerX = (canvasSize.width - imageSize.width * ratio) / 2;
|
|
8448
|
+
const centerY = (canvasSize.height - imageSize.height * ratio) / 2;
|
|
8449
|
+
return [
|
|
8450
|
+
0,
|
|
8451
|
+
0,
|
|
8452
|
+
imageSize.width,
|
|
8453
|
+
imageSize.height,
|
|
8454
|
+
centerX,
|
|
8455
|
+
centerY,
|
|
8456
|
+
imageSize.width * ratio,
|
|
8457
|
+
imageSize.height * ratio
|
|
8458
|
+
];
|
|
8459
|
+
}
|
|
8460
|
+
default:
|
|
8461
|
+
throw new Error("Unknown fit: " + fit);
|
|
8462
|
+
}
|
|
8463
|
+
};
|
|
8400
8464
|
var WEBGL_CONTEXT_DOCS_URL = "https://remotion.dev/docs/troubleshooting/webgl2-context";
|
|
8401
8465
|
var webGlContextErrorMessage = (versionLabel, effectName) => `Failed to acquire ${versionLabel} context for ${effectName}. ` + 'Pass --gl=angle when using the CLI, set chromiumOptions: { gl: "angle" } when using SSR APIs, ' + 'or set "OpenGL render backend" to "angle" in the Advanced section when rendering in the Studio. ' + `See ${WEBGL_CONTEXT_DOCS_URL}`;
|
|
8402
8466
|
var createWebGLContextError = (effectName) => new Error(webGlContextErrorMessage("WebGL", effectName));
|
|
@@ -8649,54 +8713,6 @@ var useEffectChainState = () => {
|
|
|
8649
8713
|
}
|
|
8650
8714
|
}), []);
|
|
8651
8715
|
};
|
|
8652
|
-
var calcArgs = (fit, frameSize, canvasSize) => {
|
|
8653
|
-
switch (fit) {
|
|
8654
|
-
case "fill": {
|
|
8655
|
-
return [
|
|
8656
|
-
0,
|
|
8657
|
-
0,
|
|
8658
|
-
frameSize.width,
|
|
8659
|
-
frameSize.height,
|
|
8660
|
-
0,
|
|
8661
|
-
0,
|
|
8662
|
-
canvasSize.width,
|
|
8663
|
-
canvasSize.height
|
|
8664
|
-
];
|
|
8665
|
-
}
|
|
8666
|
-
case "contain": {
|
|
8667
|
-
const ratio = Math.min(canvasSize.width / frameSize.width, canvasSize.height / frameSize.height);
|
|
8668
|
-
const centerX = (canvasSize.width - frameSize.width * ratio) / 2;
|
|
8669
|
-
const centerY = (canvasSize.height - frameSize.height * ratio) / 2;
|
|
8670
|
-
return [
|
|
8671
|
-
0,
|
|
8672
|
-
0,
|
|
8673
|
-
frameSize.width,
|
|
8674
|
-
frameSize.height,
|
|
8675
|
-
centerX,
|
|
8676
|
-
centerY,
|
|
8677
|
-
frameSize.width * ratio,
|
|
8678
|
-
frameSize.height * ratio
|
|
8679
|
-
];
|
|
8680
|
-
}
|
|
8681
|
-
case "cover": {
|
|
8682
|
-
const ratio = Math.max(canvasSize.width / frameSize.width, canvasSize.height / frameSize.height);
|
|
8683
|
-
const centerX = (canvasSize.width - frameSize.width * ratio) / 2;
|
|
8684
|
-
const centerY = (canvasSize.height - frameSize.height * ratio) / 2;
|
|
8685
|
-
return [
|
|
8686
|
-
0,
|
|
8687
|
-
0,
|
|
8688
|
-
frameSize.width,
|
|
8689
|
-
frameSize.height,
|
|
8690
|
-
centerX,
|
|
8691
|
-
centerY,
|
|
8692
|
-
frameSize.width * ratio,
|
|
8693
|
-
frameSize.height * ratio
|
|
8694
|
-
];
|
|
8695
|
-
}
|
|
8696
|
-
default:
|
|
8697
|
-
throw new Error("Unknown fit: " + fit);
|
|
8698
|
-
}
|
|
8699
|
-
};
|
|
8700
8716
|
var CanvasRefForwardingFunction = ({ width, height, fit, className, style, effects }, ref) => {
|
|
8701
8717
|
const canvasRef = useRef8(null);
|
|
8702
8718
|
const chainState = useEffectChainState();
|
|
@@ -8706,7 +8722,7 @@ var CanvasRefForwardingFunction = ({ width, height, fit, className, style, effec
|
|
|
8706
8722
|
}
|
|
8707
8723
|
return document.createElement("canvas");
|
|
8708
8724
|
}, []);
|
|
8709
|
-
const draw = useCallback6(
|
|
8725
|
+
const draw = useCallback6((imageData) => {
|
|
8710
8726
|
const canvas = canvasRef.current;
|
|
8711
8727
|
const canvasWidth = width ?? imageData.displayWidth;
|
|
8712
8728
|
const canvasHeight = height ?? imageData.displayHeight;
|
|
@@ -8722,7 +8738,7 @@ var CanvasRefForwardingFunction = ({ width, height, fit, className, style, effec
|
|
|
8722
8738
|
if (!sourceCtx) {
|
|
8723
8739
|
throw new Error("Could not get 2d context for source canvas");
|
|
8724
8740
|
}
|
|
8725
|
-
sourceCtx.drawImage(imageData, ...
|
|
8741
|
+
sourceCtx.drawImage(imageData, ...calculateImageFit(fit, {
|
|
8726
8742
|
height: imageData.displayHeight,
|
|
8727
8743
|
width: imageData.displayWidth
|
|
8728
8744
|
}, {
|
|
@@ -10230,9 +10246,43 @@ var useSingletonAudioContext = ({
|
|
|
10230
10246
|
gainNode.connect(audioContext.destination);
|
|
10231
10247
|
Log.trace({ logLevel, tag: "audio" }, "Creating new audio context");
|
|
10232
10248
|
audioContext.suspend();
|
|
10249
|
+
let transitionTarget = null;
|
|
10250
|
+
const getState = () => {
|
|
10251
|
+
const nativeState = audioContext.state;
|
|
10252
|
+
if (transitionTarget === "running" && nativeState !== "running") {
|
|
10253
|
+
return "suspended-to-running";
|
|
10254
|
+
}
|
|
10255
|
+
if (transitionTarget === "suspended" && nativeState !== "suspended") {
|
|
10256
|
+
return "running-to-suspended";
|
|
10257
|
+
}
|
|
10258
|
+
return nativeState;
|
|
10259
|
+
};
|
|
10260
|
+
const resume = () => {
|
|
10261
|
+
transitionTarget = "running";
|
|
10262
|
+
const promise = audioContext.resume();
|
|
10263
|
+
promise.finally(() => {
|
|
10264
|
+
if (transitionTarget === "running") {
|
|
10265
|
+
transitionTarget = null;
|
|
10266
|
+
}
|
|
10267
|
+
});
|
|
10268
|
+
return promise;
|
|
10269
|
+
};
|
|
10270
|
+
const suspend = () => {
|
|
10271
|
+
transitionTarget = "suspended";
|
|
10272
|
+
const promise = audioContext.suspend();
|
|
10273
|
+
promise.finally(() => {
|
|
10274
|
+
if (transitionTarget === "suspended") {
|
|
10275
|
+
transitionTarget = null;
|
|
10276
|
+
}
|
|
10277
|
+
});
|
|
10278
|
+
return promise;
|
|
10279
|
+
};
|
|
10233
10280
|
return {
|
|
10234
10281
|
audioContext,
|
|
10235
|
-
gainNode
|
|
10282
|
+
gainNode,
|
|
10283
|
+
getState,
|
|
10284
|
+
resume,
|
|
10285
|
+
suspend
|
|
10236
10286
|
};
|
|
10237
10287
|
}, [logLevel, latencyHint, env.isRendering, audioEnabled]);
|
|
10238
10288
|
return context;
|
|
@@ -10285,6 +10335,15 @@ var didPropChange = (key, newProp, prevProp) => {
|
|
|
10285
10335
|
};
|
|
10286
10336
|
var SharedAudioContext = createContext21(null);
|
|
10287
10337
|
var SharedAudioTagsContext = createContext21(null);
|
|
10338
|
+
var shouldSaveForLater = (state) => {
|
|
10339
|
+
if (state === "suspended" || state === "running-to-suspended" || state === "interrupted") {
|
|
10340
|
+
return true;
|
|
10341
|
+
}
|
|
10342
|
+
if (state === "running" || state === "suspended-to-running") {
|
|
10343
|
+
return false;
|
|
10344
|
+
}
|
|
10345
|
+
throw new Error(`Unexpected audio context state: ${state}`);
|
|
10346
|
+
};
|
|
10288
10347
|
var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled }) => {
|
|
10289
10348
|
const logLevel = useLogLevel();
|
|
10290
10349
|
const ctxAndGain = useSingletonAudioContext({
|
|
@@ -10320,7 +10379,6 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
|
|
|
10320
10379
|
return ({
|
|
10321
10380
|
node,
|
|
10322
10381
|
mediaTimestamp,
|
|
10323
|
-
currentTime,
|
|
10324
10382
|
scheduledTime,
|
|
10325
10383
|
duration,
|
|
10326
10384
|
offset,
|
|
@@ -10329,7 +10387,14 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
|
|
|
10329
10387
|
if (!ctxAndGain) {
|
|
10330
10388
|
throw new Error("Audio context not found");
|
|
10331
10389
|
}
|
|
10332
|
-
const
|
|
10390
|
+
const currentState = ctxAndGain.getState();
|
|
10391
|
+
if (currentState === "closed") {
|
|
10392
|
+
return {
|
|
10393
|
+
type: "not-started",
|
|
10394
|
+
reason: "audio context is closed"
|
|
10395
|
+
};
|
|
10396
|
+
}
|
|
10397
|
+
const saveForLater = shouldSaveForLater(currentState);
|
|
10333
10398
|
if (duration > 0) {
|
|
10334
10399
|
if (saveForLater) {
|
|
10335
10400
|
nodesToResume.current.set(node, {
|
|
@@ -10349,7 +10414,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
|
|
|
10349
10414
|
const prev = prevEndTimes.current;
|
|
10350
10415
|
const scheduledMismatch = prev.scheduledEndTime !== null && Math.abs(scheduledTime - prev.scheduledEndTime) > 0.001;
|
|
10351
10416
|
const mediaMismatch = prev.mediaEndTime !== null && Math.abs(mediaTime - prev.mediaEndTime) > 0.001;
|
|
10352
|
-
Log.verbose({ logLevel, tag: "audio-scheduling" }, "scheduled %c%s%c %s %c%s%c %s %c%s%c %s %s %s %s %s", scheduledMismatch ? "color: red; font-weight: bold" : "", scheduledTime.toFixed(4), "", scheduledEndTime.toFixed(4), mediaMismatch ? "color: red; font-weight: bold" : "", mediaTime.toFixed(4), "", mediaEndTime.toFixed(4), duration < 0 ? "color: red; font-weight: bold" : timeDiff < 0 ? "color: red; font-weight: bold" : "color: blue; font-weight: bold", duration < 0 ? "missed " + Math.abs(offset).toFixed(2) + "s" : Math.abs(timeDiff).toFixed(2) + (timeDiff < 0 ? " delay" : " ahead"), "", "current=" +
|
|
10417
|
+
Log.verbose({ logLevel, tag: "audio-scheduling" }, "scheduled %c%s%c %s %c%s%c %s %c%s%c %s %s %s %s %s", scheduledMismatch ? "color: red; font-weight: bold" : "", scheduledTime.toFixed(4), "", scheduledEndTime.toFixed(4), mediaMismatch ? "color: red; font-weight: bold" : "", mediaTime.toFixed(4), "", mediaEndTime.toFixed(4), duration < 0 ? "color: red; font-weight: bold" : timeDiff < 0 ? "color: red; font-weight: bold" : "color: blue; font-weight: bold", duration < 0 ? "missed " + Math.abs(offset).toFixed(2) + "s" : Math.abs(timeDiff).toFixed(2) + (timeDiff < 0 ? " delay" : " ahead"), "", "current=" + ctxAndGain.audioContext.currentTime.toFixed(4), "offset=" + offset.toFixed(4), "latency=" + latency.toFixed(4), "state=" + ctxAndGain.audioContext.state, originalUnloopedMediaTimestamp !== mediaTime ? "original_ts=" + originalUnloopedMediaTimestamp.toFixed(4) : "", "action=" + (saveForLater ? "schedule" : "start"), "");
|
|
10353
10418
|
prev.scheduledEndTime = scheduledEndTime;
|
|
10354
10419
|
prev.mediaEndTime = mediaEndTime;
|
|
10355
10420
|
return duration > 0 ? {
|
|
@@ -10376,7 +10441,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
|
|
|
10376
10441
|
node.start(r2.scheduledTime, r2.offset, r2.duration);
|
|
10377
10442
|
});
|
|
10378
10443
|
nodesToResume.current.clear();
|
|
10379
|
-
const resumePromise = ctxAndGain.
|
|
10444
|
+
const resumePromise = ctxAndGain.resume();
|
|
10380
10445
|
isResuming.current = new Promise((resolve) => {
|
|
10381
10446
|
waitUntilActuallyResumed(ctxAndGain.audioContext, logLevel).then(resolve);
|
|
10382
10447
|
resumePromise.catch((err) => {
|
|
@@ -10393,17 +10458,18 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
|
|
|
10393
10458
|
}, []);
|
|
10394
10459
|
const suspend = useCallback10(() => {
|
|
10395
10460
|
if (!ctxAndGain) {
|
|
10396
|
-
return;
|
|
10461
|
+
return Promise.resolve();
|
|
10397
10462
|
}
|
|
10398
10463
|
if (!audioContextIsPlayingEventually.current) {
|
|
10399
|
-
return;
|
|
10464
|
+
return Promise.resolve();
|
|
10400
10465
|
}
|
|
10401
10466
|
audioContextIsPlayingEventually.current = false;
|
|
10402
|
-
ctxAndGain.
|
|
10467
|
+
return ctxAndGain.suspend();
|
|
10403
10468
|
}, [ctxAndGain]);
|
|
10404
10469
|
const audioContextValue = useMemo23(() => {
|
|
10405
10470
|
return {
|
|
10406
10471
|
audioContext: ctxAndGain?.audioContext ?? null,
|
|
10472
|
+
getAudioContextState: () => ctxAndGain?.getState() ?? null,
|
|
10407
10473
|
gainNode: ctxAndGain?.gainNode ?? null,
|
|
10408
10474
|
audioSyncAnchor,
|
|
10409
10475
|
audioSyncAnchorEmitter,
|
|
@@ -10858,8 +10924,7 @@ var useVolume = ({
|
|
|
10858
10924
|
};
|
|
10859
10925
|
var useMediaStartsAt = () => {
|
|
10860
10926
|
const parentSequence = useContext23(SequenceContext);
|
|
10861
|
-
|
|
10862
|
-
return startsAt;
|
|
10927
|
+
return parentSequence?.cumulatedNegativeFrom ?? 0;
|
|
10863
10928
|
};
|
|
10864
10929
|
var useFrameForVolumeProp = (behavior) => {
|
|
10865
10930
|
const loop = Loop.useLoop();
|
|
@@ -10895,7 +10960,8 @@ var getTimelineDuration = ({
|
|
|
10895
10960
|
trimAfter
|
|
10896
10961
|
});
|
|
10897
10962
|
if (parentSequenceDurationInFrames !== null) {
|
|
10898
|
-
|
|
10963
|
+
const cappedDuration = Math.min(parentSequenceDurationInFrames * playbackRate, mediaDuration);
|
|
10964
|
+
return Number(cappedDuration.toFixed(10));
|
|
10899
10965
|
}
|
|
10900
10966
|
return mediaDuration;
|
|
10901
10967
|
};
|
|
@@ -12310,7 +12376,7 @@ var AudioForRenderingRefForwardingFunction = (props, ref) => {
|
|
|
12310
12376
|
mediaFrame: frame,
|
|
12311
12377
|
playbackRate: props.playbackRate ?? 1,
|
|
12312
12378
|
toneFrequency: toneFrequency ?? 1,
|
|
12313
|
-
audioStartFrame: Math.max(0, -(sequenceContext?.
|
|
12379
|
+
audioStartFrame: Math.max(0, -(sequenceContext?.cumulatedNegativeFrom ?? 0)),
|
|
12314
12380
|
audioStreamIndex: audioStreamIndex ?? 0
|
|
12315
12381
|
});
|
|
12316
12382
|
return () => unregisterRenderAsset(id);
|
|
@@ -12327,7 +12393,7 @@ var AudioForRenderingRefForwardingFunction = (props, ref) => {
|
|
|
12327
12393
|
playbackRate,
|
|
12328
12394
|
props.playbackRate,
|
|
12329
12395
|
toneFrequency,
|
|
12330
|
-
sequenceContext?.
|
|
12396
|
+
sequenceContext?.cumulatedNegativeFrom,
|
|
12331
12397
|
audioStreamIndex
|
|
12332
12398
|
]);
|
|
12333
12399
|
const { src } = props;
|
|
@@ -12498,41 +12564,6 @@ var AudioRefForwardingFunction = (props, ref) => {
|
|
|
12498
12564
|
var Html5Audio = forwardRef9(AudioRefForwardingFunction);
|
|
12499
12565
|
addSequenceStackTraces(Html5Audio);
|
|
12500
12566
|
var Audio = Html5Audio;
|
|
12501
|
-
var kSplineTableSize = 11;
|
|
12502
|
-
var kSampleStepSize = 1 / (kSplineTableSize - 1);
|
|
12503
|
-
var IFrameRefForwarding = ({
|
|
12504
|
-
onLoad,
|
|
12505
|
-
onError,
|
|
12506
|
-
delayRenderRetries,
|
|
12507
|
-
delayRenderTimeoutInMilliseconds,
|
|
12508
|
-
...props2
|
|
12509
|
-
}, ref) => {
|
|
12510
|
-
const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
|
|
12511
|
-
const [handle] = useState16(() => delayRender2(`Loading <IFrame> with source ${props2.src}`, {
|
|
12512
|
-
retries: delayRenderRetries ?? undefined,
|
|
12513
|
-
timeoutInMilliseconds: delayRenderTimeoutInMilliseconds ?? undefined
|
|
12514
|
-
}));
|
|
12515
|
-
const didLoad = useCallback16((e) => {
|
|
12516
|
-
continueRender2(handle);
|
|
12517
|
-
onLoad?.(e);
|
|
12518
|
-
}, [handle, onLoad, continueRender2]);
|
|
12519
|
-
const didGetError = useCallback16((e) => {
|
|
12520
|
-
continueRender2(handle);
|
|
12521
|
-
if (onError) {
|
|
12522
|
-
onError(e);
|
|
12523
|
-
} else {
|
|
12524
|
-
console.error("Error loading iframe:", e, "Handle the event using the onError() prop to make this message disappear.");
|
|
12525
|
-
}
|
|
12526
|
-
}, [handle, onError, continueRender2]);
|
|
12527
|
-
return /* @__PURE__ */ jsx25("iframe", {
|
|
12528
|
-
referrerPolicy: "strict-origin-when-cross-origin",
|
|
12529
|
-
...props2,
|
|
12530
|
-
ref,
|
|
12531
|
-
onError: didGetError,
|
|
12532
|
-
onLoad: didLoad
|
|
12533
|
-
});
|
|
12534
|
-
};
|
|
12535
|
-
var IFrame = forwardRef10(IFrameRefForwarding);
|
|
12536
12567
|
function exponentialBackoff(errorCount) {
|
|
12537
12568
|
return 1000 * 2 ** (errorCount - 1);
|
|
12538
12569
|
}
|
|
@@ -12551,6 +12582,7 @@ var ImgContent = ({
|
|
|
12551
12582
|
delayRenderTimeoutInMilliseconds,
|
|
12552
12583
|
onImageFrame,
|
|
12553
12584
|
crossOrigin,
|
|
12585
|
+
decoding,
|
|
12554
12586
|
ref,
|
|
12555
12587
|
...props2
|
|
12556
12588
|
}) => {
|
|
@@ -12566,7 +12598,7 @@ var ImgContent = ({
|
|
|
12566
12598
|
return imageRef.current;
|
|
12567
12599
|
}, []);
|
|
12568
12600
|
const actualSrc = usePreload(src);
|
|
12569
|
-
const retryIn =
|
|
12601
|
+
const retryIn = useCallback16((timeout) => {
|
|
12570
12602
|
if (!imageRef.current) {
|
|
12571
12603
|
return;
|
|
12572
12604
|
}
|
|
@@ -12584,7 +12616,7 @@ var ImgContent = ({
|
|
|
12584
12616
|
}, timeout);
|
|
12585
12617
|
}, []);
|
|
12586
12618
|
const { delayRender: delayRender2, continueRender: continueRender2, cancelRender: cancelRender2 } = useDelayRender();
|
|
12587
|
-
const didGetError =
|
|
12619
|
+
const didGetError = useCallback16((e) => {
|
|
12588
12620
|
if (!errors.current) {
|
|
12589
12621
|
return;
|
|
12590
12622
|
}
|
|
@@ -12672,18 +12704,18 @@ var ImgContent = ({
|
|
|
12672
12704
|
delayRender2
|
|
12673
12705
|
]);
|
|
12674
12706
|
}
|
|
12675
|
-
const { isClientSideRendering } = useRemotionEnvironment();
|
|
12707
|
+
const { isClientSideRendering, isRendering } = useRemotionEnvironment();
|
|
12676
12708
|
const crossOriginValue = getCrossOriginValue({
|
|
12677
12709
|
crossOrigin,
|
|
12678
12710
|
requestsVideoFrame: false,
|
|
12679
12711
|
isClientSideRendering
|
|
12680
12712
|
});
|
|
12681
|
-
return /* @__PURE__ */
|
|
12713
|
+
return /* @__PURE__ */ jsx25("img", {
|
|
12682
12714
|
...props2,
|
|
12683
12715
|
ref: imageRef,
|
|
12684
12716
|
crossOrigin: crossOriginValue,
|
|
12685
12717
|
onError: didGetError,
|
|
12686
|
-
decoding: "sync"
|
|
12718
|
+
decoding: isRendering ? "sync" : decoding
|
|
12687
12719
|
});
|
|
12688
12720
|
};
|
|
12689
12721
|
var ImgInner = ({
|
|
@@ -12700,7 +12732,7 @@ var ImgInner = ({
|
|
|
12700
12732
|
if (!src) {
|
|
12701
12733
|
throw new Error('No "src" prop was passed to <Img>.');
|
|
12702
12734
|
}
|
|
12703
|
-
return /* @__PURE__ */
|
|
12735
|
+
return /* @__PURE__ */ jsx25(Sequence, {
|
|
12704
12736
|
layout: "none",
|
|
12705
12737
|
from: from ?? 0,
|
|
12706
12738
|
durationInFrames: durationInFrames ?? Infinity,
|
|
@@ -12711,7 +12743,7 @@ var ImgInner = ({
|
|
|
12711
12743
|
_experimentalControls: controls,
|
|
12712
12744
|
showInTimeline: showInTimeline ?? true,
|
|
12713
12745
|
hidden,
|
|
12714
|
-
children: /* @__PURE__ */
|
|
12746
|
+
children: /* @__PURE__ */ jsx25(ImgContent, {
|
|
12715
12747
|
src,
|
|
12716
12748
|
...props2
|
|
12717
12749
|
})
|
|
@@ -12723,6 +12755,331 @@ var imgSchema = {
|
|
|
12723
12755
|
};
|
|
12724
12756
|
var Img = wrapInSchema(ImgInner, imgSchema);
|
|
12725
12757
|
addSequenceStackTraces(Img);
|
|
12758
|
+
var canvasImageSchema = {
|
|
12759
|
+
fit: {
|
|
12760
|
+
type: "enum",
|
|
12761
|
+
default: "fill",
|
|
12762
|
+
description: "Fit",
|
|
12763
|
+
variants: {
|
|
12764
|
+
fill: {},
|
|
12765
|
+
contain: {},
|
|
12766
|
+
cover: {}
|
|
12767
|
+
}
|
|
12768
|
+
},
|
|
12769
|
+
...sequenceVisualStyleSchema,
|
|
12770
|
+
hidden: hiddenField
|
|
12771
|
+
};
|
|
12772
|
+
var makeAbortError = () => {
|
|
12773
|
+
if (typeof DOMException !== "undefined") {
|
|
12774
|
+
return new DOMException("Image loading was aborted", "AbortError");
|
|
12775
|
+
}
|
|
12776
|
+
const error2 = new Error("Image loading was aborted");
|
|
12777
|
+
error2.name = "AbortError";
|
|
12778
|
+
return error2;
|
|
12779
|
+
};
|
|
12780
|
+
var loadImage = ({
|
|
12781
|
+
src,
|
|
12782
|
+
signal
|
|
12783
|
+
}) => {
|
|
12784
|
+
return new Promise((resolve, reject) => {
|
|
12785
|
+
const image = new Image;
|
|
12786
|
+
let settled = false;
|
|
12787
|
+
function cleanup() {
|
|
12788
|
+
image.onload = null;
|
|
12789
|
+
image.onerror = null;
|
|
12790
|
+
}
|
|
12791
|
+
function settle(callback) {
|
|
12792
|
+
if (settled) {
|
|
12793
|
+
return;
|
|
12794
|
+
}
|
|
12795
|
+
settled = true;
|
|
12796
|
+
cleanup();
|
|
12797
|
+
callback();
|
|
12798
|
+
}
|
|
12799
|
+
function onAbort() {
|
|
12800
|
+
settle(() => reject(makeAbortError()));
|
|
12801
|
+
}
|
|
12802
|
+
image.onload = () => {
|
|
12803
|
+
Promise.resolve(image.decode?.()).catch(() => {
|
|
12804
|
+
return;
|
|
12805
|
+
}).then(() => {
|
|
12806
|
+
const imageWidth = image.naturalWidth || image.width;
|
|
12807
|
+
const imageHeight = image.naturalHeight || image.height;
|
|
12808
|
+
if (imageWidth <= 0 || imageHeight <= 0) {
|
|
12809
|
+
settle(() => reject(new Error(`Could not determine dimensions for <CanvasImage> with src="${truncateSrcForLabel(src)}"`)));
|
|
12810
|
+
return;
|
|
12811
|
+
}
|
|
12812
|
+
settle(() => resolve({ element: image, width: imageWidth, height: imageHeight }));
|
|
12813
|
+
});
|
|
12814
|
+
};
|
|
12815
|
+
image.onerror = () => {
|
|
12816
|
+
settle(() => reject(new Error(`Could not load <CanvasImage> with src="${truncateSrcForLabel(src)}"`)));
|
|
12817
|
+
};
|
|
12818
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
12819
|
+
if (signal.aborted) {
|
|
12820
|
+
onAbort();
|
|
12821
|
+
return;
|
|
12822
|
+
}
|
|
12823
|
+
image.crossOrigin = "anonymous";
|
|
12824
|
+
image.src = src;
|
|
12825
|
+
});
|
|
12826
|
+
};
|
|
12827
|
+
function exponentialBackoff2(errorCount) {
|
|
12828
|
+
return 1000 * 2 ** (errorCount - 1);
|
|
12829
|
+
}
|
|
12830
|
+
var CanvasImageContent = forwardRef10(({
|
|
12831
|
+
src,
|
|
12832
|
+
width,
|
|
12833
|
+
height,
|
|
12834
|
+
fit = "fill",
|
|
12835
|
+
effects,
|
|
12836
|
+
controls,
|
|
12837
|
+
onError,
|
|
12838
|
+
className,
|
|
12839
|
+
style,
|
|
12840
|
+
id,
|
|
12841
|
+
pauseWhenLoading,
|
|
12842
|
+
maxRetries = 2,
|
|
12843
|
+
delayRenderRetries,
|
|
12844
|
+
delayRenderTimeoutInMilliseconds
|
|
12845
|
+
}, ref) => {
|
|
12846
|
+
const { delayRender: delayRender2, continueRender: continueRender2, cancelRender: cancelRender2 } = useDelayRender();
|
|
12847
|
+
const { delayPlayback } = useBufferState();
|
|
12848
|
+
const [outputCanvas, setOutputCanvas] = useState16(null);
|
|
12849
|
+
const actualSrc = usePreload(src);
|
|
12850
|
+
const chainState = useEffectChainState();
|
|
12851
|
+
const memoizedEffects = useMemoizedEffects({
|
|
12852
|
+
effects,
|
|
12853
|
+
overrideId: controls?.overrideId ?? null
|
|
12854
|
+
});
|
|
12855
|
+
const sequenceContext = useContext33(SequenceContext);
|
|
12856
|
+
const sourceCanvas = useMemo31(() => {
|
|
12857
|
+
if (typeof document === "undefined") {
|
|
12858
|
+
return null;
|
|
12859
|
+
}
|
|
12860
|
+
return document.createElement("canvas");
|
|
12861
|
+
}, []);
|
|
12862
|
+
const canvasRef = useCallback17((canvas) => {
|
|
12863
|
+
setOutputCanvas(canvas);
|
|
12864
|
+
if (typeof ref === "function") {
|
|
12865
|
+
ref(canvas);
|
|
12866
|
+
} else if (ref) {
|
|
12867
|
+
ref.current = canvas;
|
|
12868
|
+
}
|
|
12869
|
+
}, [ref]);
|
|
12870
|
+
useEffect16(() => {
|
|
12871
|
+
if (!outputCanvas || !sourceCanvas) {
|
|
12872
|
+
return;
|
|
12873
|
+
}
|
|
12874
|
+
const isPremounting = Boolean(sequenceContext?.premounting);
|
|
12875
|
+
const isPostmounting = Boolean(sequenceContext?.postmounting);
|
|
12876
|
+
const handle = delayRender2(`Rendering <CanvasImage> with src="${truncateSrcForLabel(actualSrc)}"`, {
|
|
12877
|
+
retries: delayRenderRetries ?? undefined,
|
|
12878
|
+
timeoutInMilliseconds: delayRenderTimeoutInMilliseconds ?? undefined
|
|
12879
|
+
});
|
|
12880
|
+
const unblock = pauseWhenLoading && !isPremounting && !isPostmounting ? delayPlayback().unblock : () => {
|
|
12881
|
+
return;
|
|
12882
|
+
};
|
|
12883
|
+
const controller = new AbortController;
|
|
12884
|
+
let cancelled = false;
|
|
12885
|
+
let continued = false;
|
|
12886
|
+
let errorCount = 0;
|
|
12887
|
+
let timeoutId = null;
|
|
12888
|
+
const continueRenderOnce = () => {
|
|
12889
|
+
if (continued) {
|
|
12890
|
+
return;
|
|
12891
|
+
}
|
|
12892
|
+
continued = true;
|
|
12893
|
+
unblock();
|
|
12894
|
+
continueRender2(handle);
|
|
12895
|
+
};
|
|
12896
|
+
const attemptLoad = () => {
|
|
12897
|
+
loadImage({ src: actualSrc, signal: controller.signal }).then((image) => {
|
|
12898
|
+
if (cancelled) {
|
|
12899
|
+
return;
|
|
12900
|
+
}
|
|
12901
|
+
const canvasWidth = width ?? image.width;
|
|
12902
|
+
const canvasHeight = height ?? image.height;
|
|
12903
|
+
const sourceContext = sourceCanvas.getContext("2d", {
|
|
12904
|
+
colorSpace: "srgb"
|
|
12905
|
+
});
|
|
12906
|
+
if (!sourceContext) {
|
|
12907
|
+
throw new Error("Could not get 2D context for <CanvasImage> source canvas");
|
|
12908
|
+
}
|
|
12909
|
+
sourceCanvas.width = canvasWidth;
|
|
12910
|
+
sourceCanvas.height = canvasHeight;
|
|
12911
|
+
outputCanvas.width = canvasWidth;
|
|
12912
|
+
outputCanvas.height = canvasHeight;
|
|
12913
|
+
sourceContext.clearRect(0, 0, canvasWidth, canvasHeight);
|
|
12914
|
+
sourceContext.drawImage(image.element, ...calculateImageFit(fit, { width: image.width, height: image.height }, { width: canvasWidth, height: canvasHeight }));
|
|
12915
|
+
return runEffectChain({
|
|
12916
|
+
state: chainState.get(canvasWidth, canvasHeight),
|
|
12917
|
+
source: sourceCanvas,
|
|
12918
|
+
effects: memoizedEffects,
|
|
12919
|
+
output: outputCanvas,
|
|
12920
|
+
width: canvasWidth,
|
|
12921
|
+
height: canvasHeight
|
|
12922
|
+
});
|
|
12923
|
+
}).then((completed) => {
|
|
12924
|
+
if (completed && !cancelled) {
|
|
12925
|
+
continueRenderOnce();
|
|
12926
|
+
}
|
|
12927
|
+
}).catch((err) => {
|
|
12928
|
+
if (err.name === "AbortError") {
|
|
12929
|
+
continueRenderOnce();
|
|
12930
|
+
return;
|
|
12931
|
+
}
|
|
12932
|
+
errorCount++;
|
|
12933
|
+
if (errorCount <= maxRetries) {
|
|
12934
|
+
const backoff = exponentialBackoff2(errorCount);
|
|
12935
|
+
console.warn(`Could not load <CanvasImage> with src="${truncateSrcForLabel(actualSrc)}", retrying in ${backoff}ms`);
|
|
12936
|
+
timeoutId = setTimeout(() => {
|
|
12937
|
+
if (!cancelled) {
|
|
12938
|
+
attemptLoad();
|
|
12939
|
+
}
|
|
12940
|
+
}, backoff);
|
|
12941
|
+
} else if (onError) {
|
|
12942
|
+
onError(err);
|
|
12943
|
+
continueRenderOnce();
|
|
12944
|
+
} else {
|
|
12945
|
+
cancelRender2(err);
|
|
12946
|
+
}
|
|
12947
|
+
});
|
|
12948
|
+
};
|
|
12949
|
+
attemptLoad();
|
|
12950
|
+
return () => {
|
|
12951
|
+
cancelled = true;
|
|
12952
|
+
if (timeoutId !== null) {
|
|
12953
|
+
clearTimeout(timeoutId);
|
|
12954
|
+
}
|
|
12955
|
+
controller.abort();
|
|
12956
|
+
continueRenderOnce();
|
|
12957
|
+
};
|
|
12958
|
+
}, [
|
|
12959
|
+
actualSrc,
|
|
12960
|
+
cancelRender2,
|
|
12961
|
+
chainState,
|
|
12962
|
+
continueRender2,
|
|
12963
|
+
delayPlayback,
|
|
12964
|
+
delayRender2,
|
|
12965
|
+
delayRenderRetries,
|
|
12966
|
+
delayRenderTimeoutInMilliseconds,
|
|
12967
|
+
fit,
|
|
12968
|
+
height,
|
|
12969
|
+
maxRetries,
|
|
12970
|
+
memoizedEffects,
|
|
12971
|
+
onError,
|
|
12972
|
+
outputCanvas,
|
|
12973
|
+
pauseWhenLoading,
|
|
12974
|
+
sequenceContext?.postmounting,
|
|
12975
|
+
sequenceContext?.premounting,
|
|
12976
|
+
sourceCanvas,
|
|
12977
|
+
width
|
|
12978
|
+
]);
|
|
12979
|
+
return /* @__PURE__ */ jsx26("canvas", {
|
|
12980
|
+
ref: canvasRef,
|
|
12981
|
+
width,
|
|
12982
|
+
height,
|
|
12983
|
+
className,
|
|
12984
|
+
style,
|
|
12985
|
+
id
|
|
12986
|
+
});
|
|
12987
|
+
});
|
|
12988
|
+
CanvasImageContent.displayName = "CanvasImageContent";
|
|
12989
|
+
var CanvasImageInner = forwardRef10(({
|
|
12990
|
+
src,
|
|
12991
|
+
width,
|
|
12992
|
+
height,
|
|
12993
|
+
fit,
|
|
12994
|
+
effects = [],
|
|
12995
|
+
className,
|
|
12996
|
+
style,
|
|
12997
|
+
id,
|
|
12998
|
+
onError,
|
|
12999
|
+
pauseWhenLoading,
|
|
13000
|
+
maxRetries,
|
|
13001
|
+
delayRenderRetries,
|
|
13002
|
+
delayRenderTimeoutInMilliseconds,
|
|
13003
|
+
durationInFrames,
|
|
13004
|
+
from,
|
|
13005
|
+
hidden,
|
|
13006
|
+
name,
|
|
13007
|
+
showInTimeline,
|
|
13008
|
+
stack,
|
|
13009
|
+
_experimentalControls: controls
|
|
13010
|
+
}, ref) => {
|
|
13011
|
+
if (!src) {
|
|
13012
|
+
throw new Error('No "src" prop was passed to <CanvasImage>.');
|
|
13013
|
+
}
|
|
13014
|
+
const memoizedEffectDefinitions = useMemoizedEffectDefinitions(effects);
|
|
13015
|
+
return /* @__PURE__ */ jsx26(Sequence, {
|
|
13016
|
+
layout: "none",
|
|
13017
|
+
from: from ?? 0,
|
|
13018
|
+
durationInFrames: durationInFrames ?? Infinity,
|
|
13019
|
+
hidden,
|
|
13020
|
+
showInTimeline: showInTimeline ?? true,
|
|
13021
|
+
name: name ?? "<CanvasImage>",
|
|
13022
|
+
_experimentalControls: controls,
|
|
13023
|
+
_remotionInternalEffects: memoizedEffectDefinitions,
|
|
13024
|
+
_remotionInternalIsMedia: { type: "image", src },
|
|
13025
|
+
_remotionInternalStack: stack,
|
|
13026
|
+
children: /* @__PURE__ */ jsx26(CanvasImageContent, {
|
|
13027
|
+
ref,
|
|
13028
|
+
src,
|
|
13029
|
+
width,
|
|
13030
|
+
height,
|
|
13031
|
+
fit,
|
|
13032
|
+
effects,
|
|
13033
|
+
controls,
|
|
13034
|
+
className,
|
|
13035
|
+
style,
|
|
13036
|
+
id,
|
|
13037
|
+
onError,
|
|
13038
|
+
pauseWhenLoading,
|
|
13039
|
+
maxRetries,
|
|
13040
|
+
delayRenderRetries,
|
|
13041
|
+
delayRenderTimeoutInMilliseconds
|
|
13042
|
+
})
|
|
13043
|
+
});
|
|
13044
|
+
});
|
|
13045
|
+
var CanvasImage = wrapInSchema(CanvasImageInner, canvasImageSchema);
|
|
13046
|
+
CanvasImage.displayName = "CanvasImage";
|
|
13047
|
+
addSequenceStackTraces(CanvasImage);
|
|
13048
|
+
var kSplineTableSize = 11;
|
|
13049
|
+
var kSampleStepSize = 1 / (kSplineTableSize - 1);
|
|
13050
|
+
var IFrameRefForwarding = ({
|
|
13051
|
+
onLoad,
|
|
13052
|
+
onError,
|
|
13053
|
+
delayRenderRetries,
|
|
13054
|
+
delayRenderTimeoutInMilliseconds,
|
|
13055
|
+
...props2
|
|
13056
|
+
}, ref) => {
|
|
13057
|
+
const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
|
|
13058
|
+
const [handle] = useState17(() => delayRender2(`Loading <IFrame> with source ${props2.src}`, {
|
|
13059
|
+
retries: delayRenderRetries ?? undefined,
|
|
13060
|
+
timeoutInMilliseconds: delayRenderTimeoutInMilliseconds ?? undefined
|
|
13061
|
+
}));
|
|
13062
|
+
const didLoad = useCallback18((e) => {
|
|
13063
|
+
continueRender2(handle);
|
|
13064
|
+
onLoad?.(e);
|
|
13065
|
+
}, [handle, onLoad, continueRender2]);
|
|
13066
|
+
const didGetError = useCallback18((e) => {
|
|
13067
|
+
continueRender2(handle);
|
|
13068
|
+
if (onError) {
|
|
13069
|
+
onError(e);
|
|
13070
|
+
} else {
|
|
13071
|
+
console.error("Error loading iframe:", e, "Handle the event using the onError() prop to make this message disappear.");
|
|
13072
|
+
}
|
|
13073
|
+
}, [handle, onError, continueRender2]);
|
|
13074
|
+
return /* @__PURE__ */ jsx27("iframe", {
|
|
13075
|
+
referrerPolicy: "strict-origin-when-cross-origin",
|
|
13076
|
+
...props2,
|
|
13077
|
+
ref,
|
|
13078
|
+
onError: didGetError,
|
|
13079
|
+
onLoad: didLoad
|
|
13080
|
+
});
|
|
13081
|
+
};
|
|
13082
|
+
var IFrame = forwardRef11(IFrameRefForwarding);
|
|
12726
13083
|
var compositionsRef = React28.createRef();
|
|
12727
13084
|
var CompositionManagerProvider = ({
|
|
12728
13085
|
children,
|
|
@@ -12731,18 +13088,18 @@ var CompositionManagerProvider = ({
|
|
|
12731
13088
|
initialCompositions,
|
|
12732
13089
|
initialCanvasContent
|
|
12733
13090
|
}) => {
|
|
12734
|
-
const [folders, setFolders] =
|
|
12735
|
-
const [canvasContent, setCanvasContent] =
|
|
12736
|
-
const [compositions, setCompositions] =
|
|
13091
|
+
const [folders, setFolders] = useState18([]);
|
|
13092
|
+
const [canvasContent, setCanvasContent] = useState18(initialCanvasContent);
|
|
13093
|
+
const [compositions, setCompositions] = useState18(initialCompositions);
|
|
12737
13094
|
const currentcompositionsRef = useRef22(compositions);
|
|
12738
|
-
const updateCompositions =
|
|
13095
|
+
const updateCompositions = useCallback19((updateComps) => {
|
|
12739
13096
|
setCompositions((comps) => {
|
|
12740
13097
|
const updated = updateComps(comps);
|
|
12741
13098
|
currentcompositionsRef.current = updated;
|
|
12742
13099
|
return updated;
|
|
12743
13100
|
});
|
|
12744
13101
|
}, []);
|
|
12745
|
-
const registerComposition =
|
|
13102
|
+
const registerComposition = useCallback19((comp) => {
|
|
12746
13103
|
updateCompositions((comps) => {
|
|
12747
13104
|
if (comps.find((c2) => c2.id === comp.id)) {
|
|
12748
13105
|
throw new Error(`Multiple composition with id ${comp.id} are registered.`);
|
|
@@ -12750,12 +13107,12 @@ var CompositionManagerProvider = ({
|
|
|
12750
13107
|
return [...comps, comp];
|
|
12751
13108
|
});
|
|
12752
13109
|
}, [updateCompositions]);
|
|
12753
|
-
const unregisterComposition =
|
|
13110
|
+
const unregisterComposition = useCallback19((id) => {
|
|
12754
13111
|
setCompositions((comps) => {
|
|
12755
13112
|
return comps.filter((c2) => c2.id !== id);
|
|
12756
13113
|
});
|
|
12757
13114
|
}, []);
|
|
12758
|
-
const registerFolder =
|
|
13115
|
+
const registerFolder = useCallback19((name, parent, nonce) => {
|
|
12759
13116
|
setFolders((prevFolders) => {
|
|
12760
13117
|
return [
|
|
12761
13118
|
...prevFolders,
|
|
@@ -12767,7 +13124,7 @@ var CompositionManagerProvider = ({
|
|
|
12767
13124
|
];
|
|
12768
13125
|
});
|
|
12769
13126
|
}, []);
|
|
12770
|
-
const unregisterFolder =
|
|
13127
|
+
const unregisterFolder = useCallback19((name, parent) => {
|
|
12771
13128
|
setFolders((prevFolders) => {
|
|
12772
13129
|
return prevFolders.filter((p) => !(p.name === name && p.parent === parent));
|
|
12773
13130
|
});
|
|
@@ -12777,7 +13134,7 @@ var CompositionManagerProvider = ({
|
|
|
12777
13134
|
getCompositions: () => currentcompositionsRef.current
|
|
12778
13135
|
};
|
|
12779
13136
|
}, []);
|
|
12780
|
-
const compositionManagerSetters =
|
|
13137
|
+
const compositionManagerSetters = useMemo322(() => {
|
|
12781
13138
|
return {
|
|
12782
13139
|
registerComposition,
|
|
12783
13140
|
unregisterComposition,
|
|
@@ -12793,7 +13150,7 @@ var CompositionManagerProvider = ({
|
|
|
12793
13150
|
unregisterFolder,
|
|
12794
13151
|
onlyRenderComposition
|
|
12795
13152
|
]);
|
|
12796
|
-
const compositionManagerContextValue =
|
|
13153
|
+
const compositionManagerContextValue = useMemo322(() => {
|
|
12797
13154
|
return {
|
|
12798
13155
|
compositions,
|
|
12799
13156
|
folders,
|
|
@@ -12801,9 +13158,9 @@ var CompositionManagerProvider = ({
|
|
|
12801
13158
|
canvasContent
|
|
12802
13159
|
};
|
|
12803
13160
|
}, [compositions, folders, currentCompositionMetadata, canvasContent]);
|
|
12804
|
-
return /* @__PURE__ */
|
|
13161
|
+
return /* @__PURE__ */ jsx28(CompositionManager.Provider, {
|
|
12805
13162
|
value: compositionManagerContextValue,
|
|
12806
|
-
children: /* @__PURE__ */
|
|
13163
|
+
children: /* @__PURE__ */ jsx28(CompositionSetters.Provider, {
|
|
12807
13164
|
value: compositionManagerSetters,
|
|
12808
13165
|
children
|
|
12809
13166
|
})
|
|
@@ -12921,7 +13278,7 @@ var waitForRoot = (fn) => {
|
|
|
12921
13278
|
};
|
|
12922
13279
|
var MediaEnabledContext = createContext23(null);
|
|
12923
13280
|
var useVideoEnabled = () => {
|
|
12924
|
-
const context =
|
|
13281
|
+
const context = useContext34(MediaEnabledContext);
|
|
12925
13282
|
if (!context) {
|
|
12926
13283
|
return window.remotion_videoEnabled;
|
|
12927
13284
|
}
|
|
@@ -12931,7 +13288,7 @@ var useVideoEnabled = () => {
|
|
|
12931
13288
|
return context.videoEnabled;
|
|
12932
13289
|
};
|
|
12933
13290
|
var useAudioEnabled = () => {
|
|
12934
|
-
const context =
|
|
13291
|
+
const context = useContext34(MediaEnabledContext);
|
|
12935
13292
|
if (!context) {
|
|
12936
13293
|
return window.remotion_audioEnabled;
|
|
12937
13294
|
}
|
|
@@ -12945,8 +13302,8 @@ var MediaEnabledProvider = ({
|
|
|
12945
13302
|
videoEnabled,
|
|
12946
13303
|
audioEnabled
|
|
12947
13304
|
}) => {
|
|
12948
|
-
const value =
|
|
12949
|
-
return /* @__PURE__ */
|
|
13305
|
+
const value = useMemo33(() => ({ videoEnabled, audioEnabled }), [videoEnabled, audioEnabled]);
|
|
13306
|
+
return /* @__PURE__ */ jsx29(MediaEnabledContext.Provider, {
|
|
12950
13307
|
value,
|
|
12951
13308
|
children
|
|
12952
13309
|
});
|
|
@@ -12960,33 +13317,33 @@ var RemotionRootContexts = ({
|
|
|
12960
13317
|
audioEnabled,
|
|
12961
13318
|
frameState
|
|
12962
13319
|
}) => {
|
|
12963
|
-
const nonceContext =
|
|
13320
|
+
const nonceContext = useMemo34(() => {
|
|
12964
13321
|
let counter = 0;
|
|
12965
13322
|
return {
|
|
12966
13323
|
getNonce: () => counter++
|
|
12967
13324
|
};
|
|
12968
13325
|
}, []);
|
|
12969
|
-
const logging =
|
|
13326
|
+
const logging = useMemo34(() => {
|
|
12970
13327
|
return { logLevel, mountTime: Date.now() };
|
|
12971
13328
|
}, [logLevel]);
|
|
12972
|
-
return /* @__PURE__ */
|
|
13329
|
+
return /* @__PURE__ */ jsx30(LogLevelContext.Provider, {
|
|
12973
13330
|
value: logging,
|
|
12974
|
-
children: /* @__PURE__ */
|
|
13331
|
+
children: /* @__PURE__ */ jsx30(NonceContext.Provider, {
|
|
12975
13332
|
value: nonceContext,
|
|
12976
|
-
children: /* @__PURE__ */
|
|
13333
|
+
children: /* @__PURE__ */ jsx30(TimelineContextProvider, {
|
|
12977
13334
|
frameState,
|
|
12978
|
-
children: /* @__PURE__ */
|
|
13335
|
+
children: /* @__PURE__ */ jsx30(MediaEnabledProvider, {
|
|
12979
13336
|
videoEnabled,
|
|
12980
13337
|
audioEnabled,
|
|
12981
|
-
children: /* @__PURE__ */
|
|
12982
|
-
children: /* @__PURE__ */
|
|
12983
|
-
children: /* @__PURE__ */
|
|
12984
|
-
children: /* @__PURE__ */
|
|
12985
|
-
children: /* @__PURE__ */
|
|
12986
|
-
children: /* @__PURE__ */
|
|
13338
|
+
children: /* @__PURE__ */ jsx30(EditorPropsProvider, {
|
|
13339
|
+
children: /* @__PURE__ */ jsx30(PrefetchProvider, {
|
|
13340
|
+
children: /* @__PURE__ */ jsx30(SequenceManagerProvider, {
|
|
13341
|
+
children: /* @__PURE__ */ jsx30(DurationsContextProvider, {
|
|
13342
|
+
children: /* @__PURE__ */ jsx30(BufferingProvider, {
|
|
13343
|
+
children: /* @__PURE__ */ jsx30(SharedAudioContextProvider, {
|
|
12987
13344
|
audioLatencyHint,
|
|
12988
13345
|
audioEnabled,
|
|
12989
|
-
children: /* @__PURE__ */
|
|
13346
|
+
children: /* @__PURE__ */ jsx30(SharedAudioTagsContextProvider, {
|
|
12990
13347
|
numberOfAudioTags,
|
|
12991
13348
|
children
|
|
12992
13349
|
})
|
|
@@ -13254,13 +13611,13 @@ var OffthreadVideoForRendering = ({
|
|
|
13254
13611
|
const frame = useCurrentFrame();
|
|
13255
13612
|
const volumePropsFrame = useFrameForVolumeProp(loopVolumeCurveBehavior);
|
|
13256
13613
|
const videoConfig = useUnsafeVideoConfig();
|
|
13257
|
-
const sequenceContext =
|
|
13614
|
+
const sequenceContext = useContext35(SequenceContext);
|
|
13258
13615
|
const mediaStartsAt = useMediaStartsAt();
|
|
13259
|
-
const { registerRenderAsset, unregisterRenderAsset } =
|
|
13616
|
+
const { registerRenderAsset, unregisterRenderAsset } = useContext35(RenderAssetManager);
|
|
13260
13617
|
if (!src) {
|
|
13261
13618
|
throw new TypeError("No `src` was passed to <OffthreadVideo>.");
|
|
13262
13619
|
}
|
|
13263
|
-
const id =
|
|
13620
|
+
const id = useMemo35(() => `offthreadvideo-${random(src)}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
|
|
13264
13621
|
src,
|
|
13265
13622
|
sequenceContext?.cumulatedFrom,
|
|
13266
13623
|
sequenceContext?.relativeFrom,
|
|
@@ -13275,7 +13632,7 @@ var OffthreadVideoForRendering = ({
|
|
|
13275
13632
|
mediaVolume: 1
|
|
13276
13633
|
});
|
|
13277
13634
|
warnAboutTooHighVolume(volume);
|
|
13278
|
-
|
|
13635
|
+
useEffect17(() => {
|
|
13279
13636
|
if (!src) {
|
|
13280
13637
|
throw new Error("No src passed");
|
|
13281
13638
|
}
|
|
@@ -13297,7 +13654,7 @@ var OffthreadVideoForRendering = ({
|
|
|
13297
13654
|
mediaFrame: frame,
|
|
13298
13655
|
playbackRate,
|
|
13299
13656
|
toneFrequency,
|
|
13300
|
-
audioStartFrame: Math.max(0, -(sequenceContext?.
|
|
13657
|
+
audioStartFrame: Math.max(0, -(sequenceContext?.cumulatedNegativeFrom ?? 0)),
|
|
13301
13658
|
audioStreamIndex
|
|
13302
13659
|
});
|
|
13303
13660
|
return () => unregisterRenderAsset(id);
|
|
@@ -13312,17 +13669,17 @@ var OffthreadVideoForRendering = ({
|
|
|
13312
13669
|
absoluteFrame,
|
|
13313
13670
|
playbackRate,
|
|
13314
13671
|
toneFrequency,
|
|
13315
|
-
sequenceContext?.
|
|
13672
|
+
sequenceContext?.cumulatedNegativeFrom,
|
|
13316
13673
|
audioStreamIndex
|
|
13317
13674
|
]);
|
|
13318
|
-
const currentTime =
|
|
13675
|
+
const currentTime = useMemo35(() => {
|
|
13319
13676
|
return getExpectedMediaFrameUncorrected({
|
|
13320
13677
|
frame,
|
|
13321
13678
|
playbackRate: playbackRate || 1,
|
|
13322
13679
|
startFrom: -mediaStartsAt
|
|
13323
13680
|
}) / videoConfig.fps;
|
|
13324
13681
|
}, [frame, mediaStartsAt, playbackRate, videoConfig.fps]);
|
|
13325
|
-
const actualSrc =
|
|
13682
|
+
const actualSrc = useMemo35(() => {
|
|
13326
13683
|
return getOffthreadVideoSource({
|
|
13327
13684
|
src,
|
|
13328
13685
|
currentTime,
|
|
@@ -13330,7 +13687,7 @@ var OffthreadVideoForRendering = ({
|
|
|
13330
13687
|
toneMapped
|
|
13331
13688
|
});
|
|
13332
13689
|
}, [toneMapped, currentTime, src, transparent]);
|
|
13333
|
-
const [imageSrc, setImageSrc] =
|
|
13690
|
+
const [imageSrc, setImageSrc] = useState19(null);
|
|
13334
13691
|
const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
|
|
13335
13692
|
useLayoutEffect11(() => {
|
|
13336
13693
|
if (!window.remotion_videoEnabled) {
|
|
@@ -13403,17 +13760,17 @@ var OffthreadVideoForRendering = ({
|
|
|
13403
13760
|
continueRender2,
|
|
13404
13761
|
delayRender2
|
|
13405
13762
|
]);
|
|
13406
|
-
const onErr =
|
|
13763
|
+
const onErr = useCallback20(() => {
|
|
13407
13764
|
if (onError) {
|
|
13408
13765
|
onError?.(new Error("Failed to load image with src " + imageSrc));
|
|
13409
13766
|
} else {
|
|
13410
13767
|
cancelRender("Failed to load image with src " + imageSrc);
|
|
13411
13768
|
}
|
|
13412
13769
|
}, [imageSrc, onError]);
|
|
13413
|
-
const className =
|
|
13770
|
+
const className = useMemo35(() => {
|
|
13414
13771
|
return [OBJECTFIT_CONTAIN_CLASS_NAME, props2.className].filter(truthy2).join(" ");
|
|
13415
13772
|
}, [props2.className]);
|
|
13416
|
-
const onImageFrame =
|
|
13773
|
+
const onImageFrame = useCallback20((img) => {
|
|
13417
13774
|
if (onVideoFrame) {
|
|
13418
13775
|
onVideoFrame(img);
|
|
13419
13776
|
}
|
|
@@ -13422,7 +13779,7 @@ var OffthreadVideoForRendering = ({
|
|
|
13422
13779
|
return null;
|
|
13423
13780
|
}
|
|
13424
13781
|
continueRender2(imageSrc.handle);
|
|
13425
|
-
return /* @__PURE__ */
|
|
13782
|
+
return /* @__PURE__ */ jsx31(Img, {
|
|
13426
13783
|
src: imageSrc.src,
|
|
13427
13784
|
delayRenderRetries,
|
|
13428
13785
|
delayRenderTimeoutInMilliseconds,
|
|
@@ -13436,7 +13793,7 @@ var useEmitVideoFrame = ({
|
|
|
13436
13793
|
ref,
|
|
13437
13794
|
onVideoFrame
|
|
13438
13795
|
}) => {
|
|
13439
|
-
|
|
13796
|
+
useEffect18(() => {
|
|
13440
13797
|
const { current } = ref;
|
|
13441
13798
|
if (!current) {
|
|
13442
13799
|
return;
|
|
@@ -13468,12 +13825,12 @@ class MediaPlaybackError extends Error {
|
|
|
13468
13825
|
}
|
|
13469
13826
|
}
|
|
13470
13827
|
var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
13471
|
-
const context =
|
|
13828
|
+
const context = useContext36(SharedAudioContext);
|
|
13472
13829
|
if (!context) {
|
|
13473
13830
|
throw new Error("SharedAudioContext not found");
|
|
13474
13831
|
}
|
|
13475
13832
|
const videoRef = useRef23(null);
|
|
13476
|
-
const sharedSource =
|
|
13833
|
+
const sharedSource = useMemo36(() => {
|
|
13477
13834
|
if (!context.audioContext) {
|
|
13478
13835
|
return null;
|
|
13479
13836
|
}
|
|
@@ -13525,10 +13882,10 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
13525
13882
|
}
|
|
13526
13883
|
const volumePropFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
|
|
13527
13884
|
const { fps, durationInFrames } = useVideoConfig();
|
|
13528
|
-
const parentSequence =
|
|
13885
|
+
const parentSequence = useContext36(SequenceContext);
|
|
13529
13886
|
const logLevel = useLogLevel();
|
|
13530
13887
|
const mountTime = useMountTime();
|
|
13531
|
-
const [timelineId] =
|
|
13888
|
+
const [timelineId] = useState20(() => String(Math.random()));
|
|
13532
13889
|
if (typeof acceptableTimeShift !== "undefined") {
|
|
13533
13890
|
throw new Error("acceptableTimeShift has been removed. Use acceptableTimeShiftInSeconds instead.");
|
|
13534
13891
|
}
|
|
@@ -13540,7 +13897,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
13540
13897
|
mediaVolume
|
|
13541
13898
|
});
|
|
13542
13899
|
warnAboutTooHighVolume(userPreferredVolume);
|
|
13543
|
-
const getStack =
|
|
13900
|
+
const getStack = useCallback21(() => {
|
|
13544
13901
|
return _remotionInternalStack ?? null;
|
|
13545
13902
|
}, [_remotionInternalStack]);
|
|
13546
13903
|
useMediaInTimeline({
|
|
@@ -13598,13 +13955,13 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
13598
13955
|
useImperativeHandle8(ref, () => {
|
|
13599
13956
|
return videoRef.current;
|
|
13600
13957
|
}, []);
|
|
13601
|
-
|
|
13958
|
+
useState20(() => playbackLogging({
|
|
13602
13959
|
logLevel,
|
|
13603
13960
|
message: `Mounting video with source = ${actualSrc}, v=${VERSION}, user agent=${typeof navigator === "undefined" ? "server" : navigator.userAgent}`,
|
|
13604
13961
|
tag: "video",
|
|
13605
13962
|
mountTime
|
|
13606
13963
|
}));
|
|
13607
|
-
|
|
13964
|
+
useEffect19(() => {
|
|
13608
13965
|
const { current } = videoRef;
|
|
13609
13966
|
if (!current) {
|
|
13610
13967
|
return;
|
|
@@ -13647,7 +14004,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
13647
14004
|
const currentOnDurationCallback = useRef23(onDuration);
|
|
13648
14005
|
currentOnDurationCallback.current = onDuration;
|
|
13649
14006
|
useEmitVideoFrame({ ref: videoRef, onVideoFrame });
|
|
13650
|
-
|
|
14007
|
+
useEffect19(() => {
|
|
13651
14008
|
const { current } = videoRef;
|
|
13652
14009
|
if (!current) {
|
|
13653
14010
|
return;
|
|
@@ -13664,7 +14021,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
13664
14021
|
current.removeEventListener("loadedmetadata", onLoadedMetadata);
|
|
13665
14022
|
};
|
|
13666
14023
|
}, [src]);
|
|
13667
|
-
|
|
14024
|
+
useEffect19(() => {
|
|
13668
14025
|
const { current } = videoRef;
|
|
13669
14026
|
if (!current) {
|
|
13670
14027
|
return;
|
|
@@ -13675,7 +14032,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
13675
14032
|
current.preload = "auto";
|
|
13676
14033
|
}
|
|
13677
14034
|
}, []);
|
|
13678
|
-
const actualStyle =
|
|
14035
|
+
const actualStyle = useMemo36(() => {
|
|
13679
14036
|
return {
|
|
13680
14037
|
...style
|
|
13681
14038
|
};
|
|
@@ -13685,7 +14042,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
13685
14042
|
requestsVideoFrame: Boolean(onVideoFrame),
|
|
13686
14043
|
isClientSideRendering: false
|
|
13687
14044
|
});
|
|
13688
|
-
return /* @__PURE__ */
|
|
14045
|
+
return /* @__PURE__ */ jsx322("video", {
|
|
13689
14046
|
ref: videoRef,
|
|
13690
14047
|
muted: muted || mediaMuted || userPreferredVolume <= 0,
|
|
13691
14048
|
playsInline: true,
|
|
@@ -13697,7 +14054,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
13697
14054
|
...nativeProps
|
|
13698
14055
|
});
|
|
13699
14056
|
};
|
|
13700
|
-
var VideoForPreview =
|
|
14057
|
+
var VideoForPreview = forwardRef12(VideoForDevelopmentRefForwardingFunction);
|
|
13701
14058
|
var InnerOffthreadVideo = (props2) => {
|
|
13702
14059
|
const {
|
|
13703
14060
|
startFrom,
|
|
@@ -13714,7 +14071,7 @@ var InnerOffthreadVideo = (props2) => {
|
|
|
13714
14071
|
if (environment.isClientSideRendering) {
|
|
13715
14072
|
throw new Error("<OffthreadVideo> is not supported in @remotion/web-renderer. Use <Video> from @remotion/media instead. See https://remotion.dev/docs/client-side-rendering/limitations");
|
|
13716
14073
|
}
|
|
13717
|
-
const onDuration =
|
|
14074
|
+
const onDuration = useCallback22(() => {
|
|
13718
14075
|
return;
|
|
13719
14076
|
}, []);
|
|
13720
14077
|
if (typeof props2.src !== "string") {
|
|
@@ -13728,13 +14085,13 @@ var InnerOffthreadVideo = (props2) => {
|
|
|
13728
14085
|
trimAfter
|
|
13729
14086
|
});
|
|
13730
14087
|
if (typeof trimBeforeValue !== "undefined" || typeof trimAfterValue !== "undefined") {
|
|
13731
|
-
return /* @__PURE__ */
|
|
14088
|
+
return /* @__PURE__ */ jsx33(Sequence, {
|
|
13732
14089
|
layout: "none",
|
|
13733
14090
|
from: 0 - (trimBeforeValue ?? 0),
|
|
13734
14091
|
showInTimeline: false,
|
|
13735
14092
|
durationInFrames: trimAfterValue,
|
|
13736
14093
|
name,
|
|
13737
|
-
children: /* @__PURE__ */
|
|
14094
|
+
children: /* @__PURE__ */ jsx33(InnerOffthreadVideo, {
|
|
13738
14095
|
pauseWhenBuffering: pauseWhenBuffering ?? false,
|
|
13739
14096
|
...otherProps,
|
|
13740
14097
|
trimAfter: undefined,
|
|
@@ -13749,7 +14106,7 @@ var InnerOffthreadVideo = (props2) => {
|
|
|
13749
14106
|
}
|
|
13750
14107
|
validateMediaProps(props2, "Video");
|
|
13751
14108
|
if (environment.isRendering) {
|
|
13752
|
-
return /* @__PURE__ */
|
|
14109
|
+
return /* @__PURE__ */ jsx33(OffthreadVideoForRendering, {
|
|
13753
14110
|
pauseWhenBuffering: pauseWhenBuffering ?? false,
|
|
13754
14111
|
...otherProps,
|
|
13755
14112
|
trimAfter: undefined,
|
|
@@ -13771,7 +14128,7 @@ var InnerOffthreadVideo = (props2) => {
|
|
|
13771
14128
|
delayRenderTimeoutInMilliseconds,
|
|
13772
14129
|
...propsForPreview
|
|
13773
14130
|
} = otherProps;
|
|
13774
|
-
return /* @__PURE__ */
|
|
14131
|
+
return /* @__PURE__ */ jsx33(VideoForPreview, {
|
|
13775
14132
|
_remotionInternalStack: stack ?? null,
|
|
13776
14133
|
onDuration,
|
|
13777
14134
|
onlyWarnForMediaSeekingError: true,
|
|
@@ -13821,7 +14178,7 @@ var OffthreadVideo = ({
|
|
|
13821
14178
|
if (imageFormat) {
|
|
13822
14179
|
throw new TypeError(`The \`<OffthreadVideo>\` tag does no longer accept \`imageFormat\`. Use the \`transparent\` prop if you want to render a transparent video.`);
|
|
13823
14180
|
}
|
|
13824
|
-
return /* @__PURE__ */
|
|
14181
|
+
return /* @__PURE__ */ jsx33(InnerOffthreadVideo, {
|
|
13825
14182
|
acceptableTimeShiftInSeconds,
|
|
13826
14183
|
allowAmplificationDuringRender: allowAmplificationDuringRender ?? true,
|
|
13827
14184
|
audioStreamIndex: audioStreamIndex ?? 0,
|
|
@@ -13870,7 +14227,7 @@ function useRemotionContexts() {
|
|
|
13870
14227
|
const sequenceManagerContext = React36.useContext(SequenceManager);
|
|
13871
14228
|
const bufferManagerContext = React36.useContext(BufferingContextReact);
|
|
13872
14229
|
const logLevelContext = React36.useContext(LogLevelContext);
|
|
13873
|
-
return
|
|
14230
|
+
return useMemo37(() => ({
|
|
13874
14231
|
compositionManagerCtx,
|
|
13875
14232
|
timelineContext,
|
|
13876
14233
|
setTimelineContext,
|
|
@@ -13900,29 +14257,29 @@ function useRemotionContexts() {
|
|
|
13900
14257
|
}
|
|
13901
14258
|
var RemotionContextProvider = (props2) => {
|
|
13902
14259
|
const { children, contexts } = props2;
|
|
13903
|
-
return /* @__PURE__ */
|
|
14260
|
+
return /* @__PURE__ */ jsx34(LogLevelContext.Provider, {
|
|
13904
14261
|
value: contexts.logLevelContext,
|
|
13905
|
-
children: /* @__PURE__ */
|
|
14262
|
+
children: /* @__PURE__ */ jsx34(CanUseRemotionHooks.Provider, {
|
|
13906
14263
|
value: contexts.canUseRemotionHooksContext,
|
|
13907
|
-
children: /* @__PURE__ */
|
|
14264
|
+
children: /* @__PURE__ */ jsx34(NonceContext.Provider, {
|
|
13908
14265
|
value: contexts.nonceContext,
|
|
13909
|
-
children: /* @__PURE__ */
|
|
14266
|
+
children: /* @__PURE__ */ jsx34(PreloadContext.Provider, {
|
|
13910
14267
|
value: contexts.preloadContext,
|
|
13911
|
-
children: /* @__PURE__ */
|
|
14268
|
+
children: /* @__PURE__ */ jsx34(CompositionManager.Provider, {
|
|
13912
14269
|
value: contexts.compositionManagerCtx,
|
|
13913
|
-
children: /* @__PURE__ */
|
|
14270
|
+
children: /* @__PURE__ */ jsx34(SequenceManager.Provider, {
|
|
13914
14271
|
value: contexts.sequenceManagerContext,
|
|
13915
|
-
children: /* @__PURE__ */
|
|
14272
|
+
children: /* @__PURE__ */ jsx34(RenderAssetManager.Provider, {
|
|
13916
14273
|
value: contexts.renderAssetManagerContext,
|
|
13917
|
-
children: /* @__PURE__ */
|
|
14274
|
+
children: /* @__PURE__ */ jsx34(ResolveCompositionContext.Provider, {
|
|
13918
14275
|
value: contexts.resolveCompositionContext,
|
|
13919
|
-
children: /* @__PURE__ */
|
|
14276
|
+
children: /* @__PURE__ */ jsx34(TimelineContext.Provider, {
|
|
13920
14277
|
value: contexts.timelineContext,
|
|
13921
|
-
children: /* @__PURE__ */
|
|
14278
|
+
children: /* @__PURE__ */ jsx34(SetTimelineContext.Provider, {
|
|
13922
14279
|
value: contexts.setTimelineContext,
|
|
13923
|
-
children: /* @__PURE__ */
|
|
14280
|
+
children: /* @__PURE__ */ jsx34(SequenceContext.Provider, {
|
|
13924
14281
|
value: contexts.sequenceContext,
|
|
13925
|
-
children: /* @__PURE__ */
|
|
14282
|
+
children: /* @__PURE__ */ jsx34(BufferingContextReact.Provider, {
|
|
13926
14283
|
value: contexts.bufferManagerContext,
|
|
13927
14284
|
children
|
|
13928
14285
|
})
|
|
@@ -13947,6 +14304,7 @@ var Internals = {
|
|
|
13947
14304
|
useAbsoluteTimelinePosition,
|
|
13948
14305
|
evaluateVolume,
|
|
13949
14306
|
getAbsoluteSrc,
|
|
14307
|
+
getAssetDisplayName,
|
|
13950
14308
|
Timeline: exports_timeline_position_state,
|
|
13951
14309
|
validateMediaTrimProps,
|
|
13952
14310
|
validateMediaProps,
|
|
@@ -14107,13 +14465,13 @@ var flattenChildren = (children) => {
|
|
|
14107
14465
|
};
|
|
14108
14466
|
var IsInsideSeriesContext = createContext25(false);
|
|
14109
14467
|
var IsInsideSeriesContainer = ({ children }) => {
|
|
14110
|
-
return /* @__PURE__ */
|
|
14468
|
+
return /* @__PURE__ */ jsx35(IsInsideSeriesContext.Provider, {
|
|
14111
14469
|
value: true,
|
|
14112
14470
|
children
|
|
14113
14471
|
});
|
|
14114
14472
|
};
|
|
14115
14473
|
var IsNotInsideSeriesProvider = ({ children }) => {
|
|
14116
|
-
return /* @__PURE__ */
|
|
14474
|
+
return /* @__PURE__ */ jsx35(IsInsideSeriesContext.Provider, {
|
|
14117
14475
|
value: false,
|
|
14118
14476
|
children
|
|
14119
14477
|
});
|
|
@@ -14126,13 +14484,13 @@ var useRequireToBeInsideSeries = () => {
|
|
|
14126
14484
|
};
|
|
14127
14485
|
var SeriesSequenceRefForwardingFunction = ({ children }, _ref) => {
|
|
14128
14486
|
useRequireToBeInsideSeries();
|
|
14129
|
-
return /* @__PURE__ */
|
|
14487
|
+
return /* @__PURE__ */ jsx36(IsNotInsideSeriesProvider, {
|
|
14130
14488
|
children
|
|
14131
14489
|
});
|
|
14132
14490
|
};
|
|
14133
|
-
var SeriesSequence =
|
|
14491
|
+
var SeriesSequence = forwardRef13(SeriesSequenceRefForwardingFunction);
|
|
14134
14492
|
var SeriesInner = (props2) => {
|
|
14135
|
-
const childrenValue =
|
|
14493
|
+
const childrenValue = useMemo38(() => {
|
|
14136
14494
|
let startFrame = 0;
|
|
14137
14495
|
const flattenedChildren = flattenChildren(props2.children);
|
|
14138
14496
|
return Children.map(flattenedChildren, (child, i) => {
|
|
@@ -14173,7 +14531,7 @@ var SeriesInner = (props2) => {
|
|
|
14173
14531
|
}
|
|
14174
14532
|
const currentStartFrame = startFrame + offset;
|
|
14175
14533
|
startFrame += durationInFramesProp + offset;
|
|
14176
|
-
return /* @__PURE__ */
|
|
14534
|
+
return /* @__PURE__ */ jsx36(Sequence, {
|
|
14177
14535
|
name: name || "<Series.Sequence>",
|
|
14178
14536
|
_remotionInternalDocumentationLink: name ? undefined : "https://www.remotion.dev/docs/series",
|
|
14179
14537
|
from: currentStartFrame,
|
|
@@ -14184,8 +14542,8 @@ var SeriesInner = (props2) => {
|
|
|
14184
14542
|
});
|
|
14185
14543
|
});
|
|
14186
14544
|
}, [props2.children]);
|
|
14187
|
-
return /* @__PURE__ */
|
|
14188
|
-
children: /* @__PURE__ */
|
|
14545
|
+
return /* @__PURE__ */ jsx36(IsInsideSeriesContainer, {
|
|
14546
|
+
children: /* @__PURE__ */ jsx36(Sequence, {
|
|
14189
14547
|
layout: "none",
|
|
14190
14548
|
name: "<Series>",
|
|
14191
14549
|
_remotionInternalDocumentationLink: "https://www.remotion.dev/docs/series",
|
|
@@ -14665,14 +15023,14 @@ var VideoForRenderingForwardFunction = ({
|
|
|
14665
15023
|
const volumePropsFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
|
|
14666
15024
|
const videoConfig = useUnsafeVideoConfig();
|
|
14667
15025
|
const videoRef = useRef24(null);
|
|
14668
|
-
const sequenceContext =
|
|
15026
|
+
const sequenceContext = useContext37(SequenceContext);
|
|
14669
15027
|
const mediaStartsAt = useMediaStartsAt();
|
|
14670
15028
|
const environment = useRemotionEnvironment();
|
|
14671
15029
|
const logLevel = useLogLevel();
|
|
14672
15030
|
const mountTime = useMountTime();
|
|
14673
15031
|
const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
|
|
14674
|
-
const { registerRenderAsset, unregisterRenderAsset } =
|
|
14675
|
-
const id =
|
|
15032
|
+
const { registerRenderAsset, unregisterRenderAsset } = useContext37(RenderAssetManager);
|
|
15033
|
+
const id = useMemo39(() => `video-${random(props2.src ?? "")}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
|
|
14676
15034
|
props2.src,
|
|
14677
15035
|
sequenceContext?.cumulatedFrom,
|
|
14678
15036
|
sequenceContext?.relativeFrom,
|
|
@@ -14687,7 +15045,7 @@ var VideoForRenderingForwardFunction = ({
|
|
|
14687
15045
|
mediaVolume: 1
|
|
14688
15046
|
});
|
|
14689
15047
|
warnAboutTooHighVolume(volume);
|
|
14690
|
-
|
|
15048
|
+
useEffect20(() => {
|
|
14691
15049
|
if (!props2.src) {
|
|
14692
15050
|
throw new Error("No src passed");
|
|
14693
15051
|
}
|
|
@@ -14709,7 +15067,7 @@ var VideoForRenderingForwardFunction = ({
|
|
|
14709
15067
|
mediaFrame: frame,
|
|
14710
15068
|
playbackRate: playbackRate ?? 1,
|
|
14711
15069
|
toneFrequency: toneFrequency ?? 1,
|
|
14712
|
-
audioStartFrame: Math.max(0, -(sequenceContext?.
|
|
15070
|
+
audioStartFrame: Math.max(0, -(sequenceContext?.cumulatedNegativeFrom ?? 0)),
|
|
14713
15071
|
audioStreamIndex: audioStreamIndex ?? 0
|
|
14714
15072
|
});
|
|
14715
15073
|
return () => unregisterRenderAsset(id);
|
|
@@ -14724,13 +15082,13 @@ var VideoForRenderingForwardFunction = ({
|
|
|
14724
15082
|
absoluteFrame,
|
|
14725
15083
|
playbackRate,
|
|
14726
15084
|
toneFrequency,
|
|
14727
|
-
sequenceContext?.
|
|
15085
|
+
sequenceContext?.cumulatedNegativeFrom,
|
|
14728
15086
|
audioStreamIndex
|
|
14729
15087
|
]);
|
|
14730
15088
|
useImperativeHandle9(ref, () => {
|
|
14731
15089
|
return videoRef.current;
|
|
14732
15090
|
}, []);
|
|
14733
|
-
|
|
15091
|
+
useEffect20(() => {
|
|
14734
15092
|
if (!window.remotion_videoEnabled) {
|
|
14735
15093
|
return;
|
|
14736
15094
|
}
|
|
@@ -14854,13 +15212,13 @@ var VideoForRenderingForwardFunction = ({
|
|
|
14854
15212
|
delayRender2
|
|
14855
15213
|
]);
|
|
14856
15214
|
}
|
|
14857
|
-
return /* @__PURE__ */
|
|
15215
|
+
return /* @__PURE__ */ jsx37("video", {
|
|
14858
15216
|
ref: videoRef,
|
|
14859
15217
|
disableRemotePlayback: true,
|
|
14860
15218
|
...props2
|
|
14861
15219
|
});
|
|
14862
15220
|
};
|
|
14863
|
-
var VideoForRendering =
|
|
15221
|
+
var VideoForRendering = forwardRef14(VideoForRenderingForwardFunction);
|
|
14864
15222
|
var VideoForwardingFunction = (props2, ref) => {
|
|
14865
15223
|
const {
|
|
14866
15224
|
startFrom,
|
|
@@ -14881,7 +15239,7 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
14881
15239
|
if (environment.isClientSideRendering) {
|
|
14882
15240
|
throw new Error("<Html5Video> is not supported in @remotion/web-renderer. Use <Video> from @remotion/media instead. See https://remotion.dev/docs/client-side-rendering/limitations");
|
|
14883
15241
|
}
|
|
14884
|
-
const { durations, setDurations } =
|
|
15242
|
+
const { durations, setDurations } = useContext38(DurationsContext);
|
|
14885
15243
|
if (typeof ref === "string") {
|
|
14886
15244
|
throw new Error("string refs are not supported");
|
|
14887
15245
|
}
|
|
@@ -14889,10 +15247,10 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
14889
15247
|
throw new TypeError(`The \`<Html5Video>\` tag requires a string for \`src\`, but got ${JSON.stringify(props2.src)} instead.`);
|
|
14890
15248
|
}
|
|
14891
15249
|
const preloadedSrc = usePreload(props2.src);
|
|
14892
|
-
const onDuration =
|
|
15250
|
+
const onDuration = useCallback23((src, durationInSeconds) => {
|
|
14893
15251
|
setDurations({ type: "got-duration", durationInSeconds, src });
|
|
14894
15252
|
}, [setDurations]);
|
|
14895
|
-
const onVideoFrame =
|
|
15253
|
+
const onVideoFrame = useCallback23(() => {}, []);
|
|
14896
15254
|
const durationFetched = durations[getAbsoluteSrc(preloadedSrc)] ?? durations[getAbsoluteSrc(props2.src)];
|
|
14897
15255
|
validateMediaTrimProps({ startFrom, endAt, trimBefore, trimAfter });
|
|
14898
15256
|
const { trimBeforeValue, trimAfterValue } = resolveTrimProps({
|
|
@@ -14903,7 +15261,7 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
14903
15261
|
});
|
|
14904
15262
|
if (loop && durationFetched !== undefined) {
|
|
14905
15263
|
if (!Number.isFinite(durationFetched)) {
|
|
14906
|
-
return /* @__PURE__ */
|
|
15264
|
+
return /* @__PURE__ */ jsx38(Html5Video, {
|
|
14907
15265
|
...propsOtherThanLoop,
|
|
14908
15266
|
ref,
|
|
14909
15267
|
stack,
|
|
@@ -14911,7 +15269,7 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
14911
15269
|
});
|
|
14912
15270
|
}
|
|
14913
15271
|
const mediaDuration = durationFetched * fps;
|
|
14914
|
-
return /* @__PURE__ */
|
|
15272
|
+
return /* @__PURE__ */ jsx38(Loop, {
|
|
14915
15273
|
durationInFrames: calculateMediaDuration({
|
|
14916
15274
|
trimAfter: trimAfterValue,
|
|
14917
15275
|
mediaDurationInFrames: mediaDuration,
|
|
@@ -14921,7 +15279,7 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
14921
15279
|
layout: "none",
|
|
14922
15280
|
name,
|
|
14923
15281
|
showInTimeline: false,
|
|
14924
|
-
children: /* @__PURE__ */
|
|
15282
|
+
children: /* @__PURE__ */ jsx38(Html5Video, {
|
|
14925
15283
|
...propsOtherThanLoop,
|
|
14926
15284
|
ref,
|
|
14927
15285
|
stack,
|
|
@@ -14930,13 +15288,13 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
14930
15288
|
});
|
|
14931
15289
|
}
|
|
14932
15290
|
if (typeof trimBeforeValue !== "undefined" || typeof trimAfterValue !== "undefined") {
|
|
14933
|
-
return /* @__PURE__ */
|
|
15291
|
+
return /* @__PURE__ */ jsx38(Sequence, {
|
|
14934
15292
|
layout: "none",
|
|
14935
15293
|
from: 0 - (trimBeforeValue ?? 0),
|
|
14936
15294
|
showInTimeline: false,
|
|
14937
15295
|
durationInFrames: trimAfterValue === undefined ? undefined : trimAfterValue / (props2.playbackRate ?? 1),
|
|
14938
15296
|
name,
|
|
14939
|
-
children: /* @__PURE__ */
|
|
15297
|
+
children: /* @__PURE__ */ jsx38(Html5Video, {
|
|
14940
15298
|
pauseWhenBuffering: pauseWhenBuffering ?? false,
|
|
14941
15299
|
...otherProps,
|
|
14942
15300
|
ref,
|
|
@@ -14950,14 +15308,14 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
14950
15308
|
volume: props2.volume
|
|
14951
15309
|
}, "Html5Video");
|
|
14952
15310
|
if (environment.isRendering) {
|
|
14953
|
-
return /* @__PURE__ */
|
|
15311
|
+
return /* @__PURE__ */ jsx38(VideoForRendering, {
|
|
14954
15312
|
onDuration,
|
|
14955
15313
|
onVideoFrame: onVideoFrame ?? null,
|
|
14956
15314
|
...otherProps,
|
|
14957
15315
|
ref
|
|
14958
15316
|
});
|
|
14959
15317
|
}
|
|
14960
|
-
return /* @__PURE__ */
|
|
15318
|
+
return /* @__PURE__ */ jsx38(VideoForPreview, {
|
|
14961
15319
|
onlyWarnForMediaSeekingError: false,
|
|
14962
15320
|
...otherProps,
|
|
14963
15321
|
ref,
|
|
@@ -14970,7 +15328,7 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
14970
15328
|
onAutoPlayError: onAutoPlayError ?? undefined
|
|
14971
15329
|
});
|
|
14972
15330
|
};
|
|
14973
|
-
var Html5Video =
|
|
15331
|
+
var Html5Video = forwardRef15(VideoForwardingFunction);
|
|
14974
15332
|
addSequenceStackTraces(Html5Video);
|
|
14975
15333
|
checkMultipleRemotionVersions();
|
|
14976
15334
|
var proxyObj = {};
|
|
@@ -14999,7 +15357,7 @@ addSequenceStackTraces(Composition);
|
|
|
14999
15357
|
|
|
15000
15358
|
// ../design/dist/esm/index.mjs
|
|
15001
15359
|
import { jsx as jsx210, Fragment as Fragment3 } from "react/jsx-runtime";
|
|
15002
|
-
import { jsx as
|
|
15360
|
+
import { jsx as jsx310, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
15003
15361
|
import { useEffect as useEffect22, useMemo as useMemo210, useRef as useRef26 } from "react";
|
|
15004
15362
|
import { jsx as jsx43 } from "react/jsx-runtime";
|
|
15005
15363
|
import { jsx as jsx53, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
@@ -15155,9 +15513,9 @@ function createSlot(ownerName) {
|
|
|
15155
15513
|
return child;
|
|
15156
15514
|
}
|
|
15157
15515
|
});
|
|
15158
|
-
return /* @__PURE__ */
|
|
15516
|
+
return /* @__PURE__ */ jsx39(SlotClone, { ...slotProps, ref: forwardedRef, children: React24.isValidElement(newElement) ? React24.cloneElement(newElement, undefined, newChildren) : null });
|
|
15159
15517
|
}
|
|
15160
|
-
return /* @__PURE__ */
|
|
15518
|
+
return /* @__PURE__ */ jsx39(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
|
15161
15519
|
});
|
|
15162
15520
|
Slot2.displayName = `${ownerName}.Slot`;
|
|
15163
15521
|
return Slot2;
|
|
@@ -15185,7 +15543,7 @@ function createSlotClone(ownerName) {
|
|
|
15185
15543
|
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
|
15186
15544
|
function createSlottable(ownerName) {
|
|
15187
15545
|
const Slottable2 = ({ children }) => {
|
|
15188
|
-
return /* @__PURE__ */
|
|
15546
|
+
return /* @__PURE__ */ jsx39(Fragment2, { children });
|
|
15189
15547
|
};
|
|
15190
15548
|
Slottable2.displayName = `${ownerName}.Slottable`;
|
|
15191
15549
|
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
|
|
@@ -15254,8 +15612,8 @@ var useHoverTransforms = (ref, disabled) => {
|
|
|
15254
15612
|
progress: 0,
|
|
15255
15613
|
isActive: false
|
|
15256
15614
|
});
|
|
15257
|
-
const eventTarget =
|
|
15258
|
-
|
|
15615
|
+
const eventTarget = useMemo40(() => new EventTarget, []);
|
|
15616
|
+
useEffect21(() => {
|
|
15259
15617
|
if (disabled) {
|
|
15260
15618
|
eventTarget.dispatchEvent(new Event("disabled"));
|
|
15261
15619
|
} else {
|
|
@@ -15401,8 +15759,8 @@ var getAngle = (ref, coordinates) => {
|
|
|
15401
15759
|
};
|
|
15402
15760
|
var lastCoordinates = null;
|
|
15403
15761
|
var useMousePosition = (ref) => {
|
|
15404
|
-
const [angle, setAngle] =
|
|
15405
|
-
|
|
15762
|
+
const [angle, setAngle] = useState21(getAngle(ref.current, lastCoordinates));
|
|
15763
|
+
useEffect21(() => {
|
|
15406
15764
|
const element = ref.current;
|
|
15407
15765
|
if (!element) {
|
|
15408
15766
|
return;
|
|
@@ -15486,7 +15844,7 @@ var Outer = ({
|
|
|
15486
15844
|
className: "relative",
|
|
15487
15845
|
style: { width, height },
|
|
15488
15846
|
children: [
|
|
15489
|
-
/* @__PURE__ */
|
|
15847
|
+
/* @__PURE__ */ jsx310("svg", {
|
|
15490
15848
|
viewBox,
|
|
15491
15849
|
style: {
|
|
15492
15850
|
overflow: "visible",
|
|
@@ -15497,11 +15855,11 @@ var Outer = ({
|
|
|
15497
15855
|
left: 0
|
|
15498
15856
|
},
|
|
15499
15857
|
pointerEvents: "none",
|
|
15500
|
-
children: /* @__PURE__ */
|
|
15858
|
+
children: /* @__PURE__ */ jsx310(Faces, {
|
|
15501
15859
|
elements: inbetween
|
|
15502
15860
|
})
|
|
15503
15861
|
}),
|
|
15504
|
-
/* @__PURE__ */
|
|
15862
|
+
/* @__PURE__ */ jsx310("div", {
|
|
15505
15863
|
style: {
|
|
15506
15864
|
transform: makeMatrix3dTransform(frontFace),
|
|
15507
15865
|
width,
|
|
@@ -15570,7 +15928,7 @@ var Button = ({
|
|
|
15570
15928
|
const [dimensions, setDimensions] = useState22(null);
|
|
15571
15929
|
const ref = useRef25(null);
|
|
15572
15930
|
const { isActive, progress } = useHoverTransforms(ref, Boolean(disabled || loading));
|
|
15573
|
-
const onPointerEnter =
|
|
15931
|
+
const onPointerEnter = useCallback25((e) => {
|
|
15574
15932
|
if (e.pointerType !== "mouse") {
|
|
15575
15933
|
return;
|
|
15576
15934
|
}
|
|
@@ -15607,7 +15965,7 @@ var Button = ({
|
|
|
15607
15965
|
const isDisabled = disabled || loading;
|
|
15608
15966
|
const isAnchor = !asChild && "href" in rest && rest.href !== undefined;
|
|
15609
15967
|
const sharedClasses = cn("text-text", "inline-flex", "justify-center", "bg-button-bg", "items-center", "font-brand", "border-solid", "text-[1em]", "rounded-lg", "border-black", "border-2", "border-b-4", "cursor-pointer", "px-4", "h-12", "flex-row", "items-center", "relative", "overflow-hidden", isDisabled && "cursor-default opacity-50", className);
|
|
15610
|
-
const preventInteraction =
|
|
15968
|
+
const preventInteraction = useCallback25((e) => {
|
|
15611
15969
|
e.preventDefault();
|
|
15612
15970
|
e.stopPropagation();
|
|
15613
15971
|
}, []);
|
|
@@ -21701,11 +22059,11 @@ var Triangle2 = (props) => {
|
|
|
21701
22059
|
};
|
|
21702
22060
|
|
|
21703
22061
|
// src/components/design.tsx
|
|
21704
|
-
import { useCallback as
|
|
22062
|
+
import { useCallback as useCallback36, useState as useState39 } from "react";
|
|
21705
22063
|
|
|
21706
22064
|
// src/components/ManageTeamMembers.tsx
|
|
21707
|
-
import React53, { useCallback as
|
|
21708
|
-
import { jsx as
|
|
22065
|
+
import React53, { useCallback as useCallback35, useState as useState38 } from "react";
|
|
22066
|
+
import { jsx as jsx41, jsxs as jsxs6, Fragment as Fragment9 } from "react/jsx-runtime";
|
|
21709
22067
|
function generateId() {
|
|
21710
22068
|
return Math.random().toString(36).substr(2, 9);
|
|
21711
22069
|
}
|
|
@@ -21717,26 +22075,26 @@ var Row = ({ value, onChange, onDelete, disableDelete }) => {
|
|
|
21717
22075
|
return /* @__PURE__ */ jsxs6("div", {
|
|
21718
22076
|
className: "flex flex-row gap-2 items-center",
|
|
21719
22077
|
children: [
|
|
21720
|
-
/* @__PURE__ */
|
|
22078
|
+
/* @__PURE__ */ jsx41(Input, {
|
|
21721
22079
|
placeholder: "Enter username",
|
|
21722
22080
|
className: "w-full block flex-1",
|
|
21723
22081
|
value,
|
|
21724
22082
|
onChange: (e) => onChange(e.target.value)
|
|
21725
22083
|
}),
|
|
21726
|
-
/* @__PURE__ */
|
|
22084
|
+
/* @__PURE__ */ jsx41(Button, {
|
|
21727
22085
|
className: "hover:text-white hover:bg-warn transition-colors w-10 h-10 p-0 rounded-full",
|
|
21728
22086
|
onClick: onDelete,
|
|
21729
22087
|
type: "button",
|
|
21730
22088
|
disabled: disableDelete,
|
|
21731
22089
|
"aria-label": "Delete member",
|
|
21732
22090
|
depth: 0.5,
|
|
21733
|
-
children: /* @__PURE__ */
|
|
22091
|
+
children: /* @__PURE__ */ jsx41("svg", {
|
|
21734
22092
|
width: "16",
|
|
21735
22093
|
height: "16",
|
|
21736
22094
|
viewBox: "0 0 10 10",
|
|
21737
22095
|
fill: "none",
|
|
21738
22096
|
xmlns: "http://www.w3.org/2000/svg",
|
|
21739
|
-
children: /* @__PURE__ */
|
|
22097
|
+
children: /* @__PURE__ */ jsx41("path", {
|
|
21740
22098
|
d: "M1 1L9 9M1 9L9 1",
|
|
21741
22099
|
stroke: "currentColor",
|
|
21742
22100
|
strokeWidth: "1.5",
|
|
@@ -21748,9 +22106,9 @@ var Row = ({ value, onChange, onDelete, disableDelete }) => {
|
|
|
21748
22106
|
});
|
|
21749
22107
|
};
|
|
21750
22108
|
var ManageTeamMembers = () => {
|
|
21751
|
-
const [members, setMembers] =
|
|
22109
|
+
const [members, setMembers] = useState38(initialMembers);
|
|
21752
22110
|
const displayedMembers = [...members, { id: "NEW", name: "" }];
|
|
21753
|
-
const updateMember =
|
|
22111
|
+
const updateMember = useCallback35((idx, value) => {
|
|
21754
22112
|
if (idx === members.length) {
|
|
21755
22113
|
if (value.trim() !== "") {
|
|
21756
22114
|
setMembers((prev) => [...prev, { id: generateId(), name: value }]);
|
|
@@ -21759,11 +22117,11 @@ var ManageTeamMembers = () => {
|
|
|
21759
22117
|
setMembers((prev) => prev.map((m, i) => i === idx ? { ...m, name: value } : m));
|
|
21760
22118
|
}
|
|
21761
22119
|
}, [members.length]);
|
|
21762
|
-
const deleteMember =
|
|
22120
|
+
const deleteMember = useCallback35((idx) => {
|
|
21763
22121
|
setMembers((prev) => prev.filter((_, i) => i !== idx));
|
|
21764
22122
|
}, []);
|
|
21765
|
-
const [loading, setLoading] =
|
|
21766
|
-
const save =
|
|
22123
|
+
const [loading, setLoading] = useState38(false);
|
|
22124
|
+
const save = useCallback35(() => {
|
|
21767
22125
|
setLoading(true);
|
|
21768
22126
|
setTimeout(() => {
|
|
21769
22127
|
setLoading(false);
|
|
@@ -21771,32 +22129,32 @@ var ManageTeamMembers = () => {
|
|
|
21771
22129
|
}, []);
|
|
21772
22130
|
return /* @__PURE__ */ jsxs6(Fragment9, {
|
|
21773
22131
|
children: [
|
|
21774
|
-
/* @__PURE__ */
|
|
22132
|
+
/* @__PURE__ */ jsx41("h2", {
|
|
21775
22133
|
children: "Manage team members"
|
|
21776
22134
|
}),
|
|
21777
|
-
/* @__PURE__ */
|
|
22135
|
+
/* @__PURE__ */ jsx41("p", {
|
|
21778
22136
|
className: "font-brand",
|
|
21779
22137
|
children: "Add a new team member to your team."
|
|
21780
22138
|
}),
|
|
21781
22139
|
displayedMembers.map((member, idx) => /* @__PURE__ */ jsxs6(React53.Fragment, {
|
|
21782
22140
|
children: [
|
|
21783
|
-
/* @__PURE__ */
|
|
22141
|
+
/* @__PURE__ */ jsx41(Row, {
|
|
21784
22142
|
value: member.name,
|
|
21785
22143
|
onChange: (val) => updateMember(idx, val),
|
|
21786
22144
|
onDelete: idx < members.length ? () => deleteMember(idx) : undefined,
|
|
21787
22145
|
disableDelete: idx >= members.length
|
|
21788
22146
|
}),
|
|
21789
|
-
/* @__PURE__ */
|
|
22147
|
+
/* @__PURE__ */ jsx41("div", {
|
|
21790
22148
|
className: "h-2"
|
|
21791
22149
|
})
|
|
21792
22150
|
]
|
|
21793
22151
|
}, idx)),
|
|
21794
|
-
/* @__PURE__ */
|
|
22152
|
+
/* @__PURE__ */ jsx41("div", {
|
|
21795
22153
|
className: "h-4"
|
|
21796
22154
|
}),
|
|
21797
|
-
/* @__PURE__ */
|
|
22155
|
+
/* @__PURE__ */ jsx41("div", {
|
|
21798
22156
|
className: "flex flex-row justify-end",
|
|
21799
|
-
children: /* @__PURE__ */
|
|
22157
|
+
children: /* @__PURE__ */ jsx41(Button, {
|
|
21800
22158
|
className: "bg-brand text-white",
|
|
21801
22159
|
loading,
|
|
21802
22160
|
onClick: save,
|
|
@@ -21808,67 +22166,67 @@ var ManageTeamMembers = () => {
|
|
|
21808
22166
|
};
|
|
21809
22167
|
|
|
21810
22168
|
// src/components/design.tsx
|
|
21811
|
-
import { jsx as
|
|
22169
|
+
import { jsx as jsx44, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
21812
22170
|
var Explainer = ({ children }) => {
|
|
21813
|
-
return /* @__PURE__ */
|
|
21814
|
-
children: /* @__PURE__ */
|
|
22171
|
+
return /* @__PURE__ */ jsx44("div", {
|
|
22172
|
+
children: /* @__PURE__ */ jsx44("div", {
|
|
21815
22173
|
className: "text-gray-500 font-brand text-sm mb-2",
|
|
21816
22174
|
children
|
|
21817
22175
|
})
|
|
21818
22176
|
});
|
|
21819
22177
|
};
|
|
21820
22178
|
var DesignPage = () => {
|
|
21821
|
-
const [count4, setCount] =
|
|
21822
|
-
const [active, setActive] =
|
|
21823
|
-
const [submitButtonActive, setSubmitButtonActive] =
|
|
21824
|
-
const [submitButtonPrimaryActive, setSubmitButtonPrimaryActive] =
|
|
21825
|
-
const onClick =
|
|
22179
|
+
const [count4, setCount] = useState39(10);
|
|
22180
|
+
const [active, setActive] = useState39(false);
|
|
22181
|
+
const [submitButtonActive, setSubmitButtonActive] = useState39(true);
|
|
22182
|
+
const [submitButtonPrimaryActive, setSubmitButtonPrimaryActive] = useState39(true);
|
|
22183
|
+
const onClick = useCallback36(() => {
|
|
21826
22184
|
setSubmitButtonActive(false);
|
|
21827
22185
|
setTimeout(() => {
|
|
21828
22186
|
setSubmitButtonActive(true);
|
|
21829
22187
|
}, 1000);
|
|
21830
22188
|
}, []);
|
|
21831
|
-
const onClickPrimary =
|
|
22189
|
+
const onClickPrimary = useCallback36(() => {
|
|
21832
22190
|
setSubmitButtonPrimaryActive(false);
|
|
21833
22191
|
setTimeout(() => {
|
|
21834
22192
|
setSubmitButtonPrimaryActive(true);
|
|
21835
22193
|
}, 1000);
|
|
21836
22194
|
}, []);
|
|
21837
|
-
const [saving, setSaving] =
|
|
21838
|
-
const save =
|
|
22195
|
+
const [saving, setSaving] = useState39(false);
|
|
22196
|
+
const save = useCallback36(() => {
|
|
21839
22197
|
setSaving(true);
|
|
21840
22198
|
setTimeout(() => {
|
|
21841
22199
|
setSaving(false);
|
|
21842
22200
|
}, 1000);
|
|
21843
22201
|
}, []);
|
|
21844
|
-
return /* @__PURE__ */
|
|
22202
|
+
return /* @__PURE__ */ jsx44("div", {
|
|
21845
22203
|
className: "bg-[var(--background)] relative",
|
|
21846
22204
|
children: /* @__PURE__ */ jsxs8("div", {
|
|
21847
22205
|
className: "max-w-[800px] mx-auto pt-10 pb-10 px-4",
|
|
21848
22206
|
children: [
|
|
21849
|
-
/* @__PURE__ */
|
|
22207
|
+
/* @__PURE__ */ jsx44("h1", {
|
|
21850
22208
|
children: "@remotion/design"
|
|
21851
22209
|
}),
|
|
21852
|
-
/* @__PURE__ */
|
|
22210
|
+
/* @__PURE__ */ jsx44("a", {
|
|
21853
22211
|
href: "https://github.com/remotion-dev/remotion/blob/main/packages/promo-pages/src/components/design.tsx",
|
|
21854
22212
|
className: "font-brand text-brand",
|
|
21855
22213
|
target: "_blank",
|
|
21856
22214
|
children: "View source"
|
|
21857
22215
|
}),
|
|
21858
|
-
/* @__PURE__ */
|
|
21859
|
-
/* @__PURE__ */
|
|
21860
|
-
/* @__PURE__ */
|
|
22216
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22217
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22218
|
+
/* @__PURE__ */ jsx44("h2", {
|
|
21861
22219
|
className: "text-brand",
|
|
21862
22220
|
children: "<Button />"
|
|
21863
22221
|
}),
|
|
21864
|
-
/* @__PURE__ */
|
|
22222
|
+
/* @__PURE__ */ jsx44(Explainer, {
|
|
21865
22223
|
children: "Button with label"
|
|
21866
22224
|
}),
|
|
21867
|
-
/* @__PURE__ */
|
|
22225
|
+
/* @__PURE__ */ jsx44(Button, {
|
|
21868
22226
|
children: "Click me"
|
|
21869
22227
|
}),
|
|
21870
|
-
/* @__PURE__ */
|
|
21871
|
-
/* @__PURE__ */
|
|
22228
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22229
|
+
/* @__PURE__ */ jsx44(Explainer, {
|
|
21872
22230
|
children: "Disabled"
|
|
21873
22231
|
}),
|
|
21874
22232
|
/* @__PURE__ */ jsxs8(Button, {
|
|
@@ -21878,101 +22236,101 @@ var DesignPage = () => {
|
|
|
21878
22236
|
" click me"
|
|
21879
22237
|
]
|
|
21880
22238
|
}),
|
|
21881
|
-
/* @__PURE__ */
|
|
21882
|
-
/* @__PURE__ */
|
|
22239
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22240
|
+
/* @__PURE__ */ jsx44(Explainer, {
|
|
21883
22241
|
children: "Primary"
|
|
21884
22242
|
}),
|
|
21885
|
-
/* @__PURE__ */
|
|
22243
|
+
/* @__PURE__ */ jsx44(Button, {
|
|
21886
22244
|
className: "bg-brand text-white",
|
|
21887
22245
|
children: "Primary"
|
|
21888
22246
|
}),
|
|
21889
|
-
/* @__PURE__ */
|
|
21890
|
-
/* @__PURE__ */
|
|
22247
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22248
|
+
/* @__PURE__ */ jsx44(Explainer, {
|
|
21891
22249
|
children: "Click to disable"
|
|
21892
22250
|
}),
|
|
21893
|
-
/* @__PURE__ */
|
|
22251
|
+
/* @__PURE__ */ jsx44(Button, {
|
|
21894
22252
|
onClick,
|
|
21895
22253
|
loading: !submitButtonActive,
|
|
21896
22254
|
children: "Submit"
|
|
21897
22255
|
}),
|
|
21898
|
-
/* @__PURE__ */
|
|
21899
|
-
/* @__PURE__ */
|
|
22256
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22257
|
+
/* @__PURE__ */ jsx44(Explainer, {
|
|
21900
22258
|
children: "Click to disable (primary)"
|
|
21901
22259
|
}),
|
|
21902
|
-
/* @__PURE__ */
|
|
22260
|
+
/* @__PURE__ */ jsx44(Button, {
|
|
21903
22261
|
onClick: onClickPrimary,
|
|
21904
22262
|
className: "bg-brand text-white",
|
|
21905
22263
|
loading: !submitButtonPrimaryActive,
|
|
21906
22264
|
children: "Submit"
|
|
21907
22265
|
}),
|
|
21908
|
-
/* @__PURE__ */
|
|
21909
|
-
/* @__PURE__ */
|
|
22266
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22267
|
+
/* @__PURE__ */ jsx44(Explainer, {
|
|
21910
22268
|
children: "Loading state"
|
|
21911
22269
|
}),
|
|
21912
|
-
/* @__PURE__ */
|
|
22270
|
+
/* @__PURE__ */ jsx44(Button, {
|
|
21913
22271
|
onClick,
|
|
21914
22272
|
loading: true,
|
|
21915
22273
|
children: "Loading"
|
|
21916
22274
|
}),
|
|
21917
|
-
/* @__PURE__ */
|
|
21918
|
-
/* @__PURE__ */
|
|
22275
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22276
|
+
/* @__PURE__ */ jsx44(Explainer, {
|
|
21919
22277
|
children: "Loading state (primary)"
|
|
21920
22278
|
}),
|
|
21921
|
-
/* @__PURE__ */
|
|
22279
|
+
/* @__PURE__ */ jsx44(Button, {
|
|
21922
22280
|
onClick,
|
|
21923
22281
|
className: "bg-brand text-white",
|
|
21924
22282
|
loading: true,
|
|
21925
22283
|
children: "Loading"
|
|
21926
22284
|
}),
|
|
21927
|
-
/* @__PURE__ */
|
|
21928
|
-
/* @__PURE__ */
|
|
22285
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22286
|
+
/* @__PURE__ */ jsx44(Explainer, {
|
|
21929
22287
|
children: "Rounded"
|
|
21930
22288
|
}),
|
|
21931
|
-
/* @__PURE__ */
|
|
22289
|
+
/* @__PURE__ */ jsx44(Button, {
|
|
21932
22290
|
className: "rounded-full",
|
|
21933
22291
|
children: "Rounded"
|
|
21934
22292
|
}),
|
|
21935
|
-
/* @__PURE__ */
|
|
21936
|
-
/* @__PURE__ */
|
|
22293
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22294
|
+
/* @__PURE__ */ jsx44(Explainer, {
|
|
21937
22295
|
children: "Full width"
|
|
21938
22296
|
}),
|
|
21939
|
-
/* @__PURE__ */
|
|
22297
|
+
/* @__PURE__ */ jsx44(Button, {
|
|
21940
22298
|
className: "w-full",
|
|
21941
22299
|
children: "Choose a template"
|
|
21942
22300
|
}),
|
|
21943
|
-
/* @__PURE__ */
|
|
21944
|
-
/* @__PURE__ */
|
|
22301
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22302
|
+
/* @__PURE__ */ jsx44(Explainer, {
|
|
21945
22303
|
children: "Full width rounded"
|
|
21946
22304
|
}),
|
|
21947
|
-
/* @__PURE__ */
|
|
22305
|
+
/* @__PURE__ */ jsx44(Button, {
|
|
21948
22306
|
className: "w-full rounded-full",
|
|
21949
22307
|
children: "Fully rounded"
|
|
21950
22308
|
}),
|
|
21951
|
-
/* @__PURE__ */
|
|
22309
|
+
/* @__PURE__ */ jsx44("div", {
|
|
21952
22310
|
className: "h-8"
|
|
21953
22311
|
}),
|
|
21954
|
-
/* @__PURE__ */
|
|
22312
|
+
/* @__PURE__ */ jsx44(Explainer, {
|
|
21955
22313
|
children: "Circular"
|
|
21956
22314
|
}),
|
|
21957
|
-
/* @__PURE__ */
|
|
22315
|
+
/* @__PURE__ */ jsx44(Button, {
|
|
21958
22316
|
className: "rounded-full bg-brand w-12 h-12"
|
|
21959
22317
|
}),
|
|
21960
|
-
/* @__PURE__ */
|
|
22318
|
+
/* @__PURE__ */ jsx44("div", {
|
|
21961
22319
|
className: "h-8"
|
|
21962
22320
|
}),
|
|
21963
|
-
/* @__PURE__ */
|
|
22321
|
+
/* @__PURE__ */ jsx44(Explainer, {
|
|
21964
22322
|
children: "Remove"
|
|
21965
22323
|
}),
|
|
21966
|
-
/* @__PURE__ */
|
|
22324
|
+
/* @__PURE__ */ jsx44(Button, {
|
|
21967
22325
|
className: "hover:text-white hover:bg-warn transition-colors w-10 h-10 p-0 rounded-full",
|
|
21968
22326
|
depth: 0.5,
|
|
21969
|
-
children: /* @__PURE__ */
|
|
22327
|
+
children: /* @__PURE__ */ jsx44("svg", {
|
|
21970
22328
|
width: "16",
|
|
21971
22329
|
height: "16",
|
|
21972
22330
|
viewBox: "0 0 10 10",
|
|
21973
22331
|
fill: "none",
|
|
21974
22332
|
xmlns: "http://www.w3.org/2000/svg",
|
|
21975
|
-
children: /* @__PURE__ */
|
|
22333
|
+
children: /* @__PURE__ */ jsx44("path", {
|
|
21976
22334
|
d: "M1 1L9 9M1 9L9 1",
|
|
21977
22335
|
stroke: "currentColor",
|
|
21978
22336
|
strokeWidth: "1.5",
|
|
@@ -21980,56 +22338,56 @@ var DesignPage = () => {
|
|
|
21980
22338
|
})
|
|
21981
22339
|
})
|
|
21982
22340
|
}),
|
|
21983
|
-
/* @__PURE__ */
|
|
22341
|
+
/* @__PURE__ */ jsx44("div", {
|
|
21984
22342
|
className: "h-8"
|
|
21985
22343
|
}),
|
|
21986
|
-
/* @__PURE__ */
|
|
22344
|
+
/* @__PURE__ */ jsx44(Explainer, {
|
|
21987
22345
|
children: "Link button"
|
|
21988
22346
|
}),
|
|
21989
|
-
/* @__PURE__ */
|
|
22347
|
+
/* @__PURE__ */ jsx44(Button, {
|
|
21990
22348
|
href: "/design",
|
|
21991
22349
|
children: "Link button"
|
|
21992
22350
|
}),
|
|
21993
|
-
/* @__PURE__ */
|
|
22351
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
21994
22352
|
/* @__PURE__ */ jsxs8(Explainer, {
|
|
21995
22353
|
children: [
|
|
21996
22354
|
"Link button with ",
|
|
21997
|
-
/* @__PURE__ */
|
|
22355
|
+
/* @__PURE__ */ jsx44("code", {
|
|
21998
22356
|
children: "<span>"
|
|
21999
22357
|
})
|
|
22000
22358
|
]
|
|
22001
22359
|
}),
|
|
22002
|
-
/* @__PURE__ */
|
|
22360
|
+
/* @__PURE__ */ jsx44(Button, {
|
|
22003
22361
|
href: "/design",
|
|
22004
|
-
children: /* @__PURE__ */
|
|
22362
|
+
children: /* @__PURE__ */ jsx44("span", {
|
|
22005
22363
|
children: "Link button with span child"
|
|
22006
22364
|
})
|
|
22007
22365
|
}),
|
|
22008
|
-
/* @__PURE__ */
|
|
22009
|
-
/* @__PURE__ */
|
|
22366
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22367
|
+
/* @__PURE__ */ jsx44(Explainer, {
|
|
22010
22368
|
children: "External link button"
|
|
22011
22369
|
}),
|
|
22012
|
-
/* @__PURE__ */
|
|
22370
|
+
/* @__PURE__ */ jsx44(Button, {
|
|
22013
22371
|
href: "https://github.com/remotion-dev/remotion",
|
|
22014
22372
|
target: "_blank",
|
|
22015
22373
|
children: "GitHub"
|
|
22016
22374
|
}),
|
|
22017
|
-
/* @__PURE__ */
|
|
22375
|
+
/* @__PURE__ */ jsx44("div", {
|
|
22018
22376
|
className: "h-8"
|
|
22019
22377
|
}),
|
|
22020
|
-
/* @__PURE__ */
|
|
22378
|
+
/* @__PURE__ */ jsx44(Explainer, {
|
|
22021
22379
|
children: "Remove (small)"
|
|
22022
22380
|
}),
|
|
22023
|
-
/* @__PURE__ */
|
|
22381
|
+
/* @__PURE__ */ jsx44(Button, {
|
|
22024
22382
|
className: "hover:text-white hover:bg-warn transition-colors w-6 h-6 p-0 rounded-full",
|
|
22025
22383
|
depth: 0.5,
|
|
22026
|
-
children: /* @__PURE__ */
|
|
22384
|
+
children: /* @__PURE__ */ jsx44("svg", {
|
|
22027
22385
|
width: "10",
|
|
22028
22386
|
height: "10",
|
|
22029
22387
|
viewBox: "0 0 10 10",
|
|
22030
22388
|
fill: "none",
|
|
22031
22389
|
xmlns: "http://www.w3.org/2000/svg",
|
|
22032
|
-
children: /* @__PURE__ */
|
|
22390
|
+
children: /* @__PURE__ */ jsx44("path", {
|
|
22033
22391
|
d: "M1 1L9 9M1 9L9 1",
|
|
22034
22392
|
stroke: "currentColor",
|
|
22035
22393
|
strokeWidth: "1.5",
|
|
@@ -22037,74 +22395,74 @@ var DesignPage = () => {
|
|
|
22037
22395
|
})
|
|
22038
22396
|
})
|
|
22039
22397
|
}),
|
|
22040
|
-
/* @__PURE__ */
|
|
22398
|
+
/* @__PURE__ */ jsx44("div", {
|
|
22041
22399
|
className: "h-8"
|
|
22042
22400
|
}),
|
|
22043
|
-
/* @__PURE__ */
|
|
22401
|
+
/* @__PURE__ */ jsx44("h2", {
|
|
22044
22402
|
className: "text-brand",
|
|
22045
22403
|
children: "<Counter />"
|
|
22046
22404
|
}),
|
|
22047
|
-
/* @__PURE__ */
|
|
22405
|
+
/* @__PURE__ */ jsx44(Counter, {
|
|
22048
22406
|
count: count4,
|
|
22049
22407
|
setCount,
|
|
22050
22408
|
minCount: 1,
|
|
22051
22409
|
step: 1,
|
|
22052
22410
|
incrementStep: 1
|
|
22053
22411
|
}),
|
|
22054
|
-
/* @__PURE__ */
|
|
22412
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22055
22413
|
" ",
|
|
22056
|
-
/* @__PURE__ */
|
|
22414
|
+
/* @__PURE__ */ jsx44("h2", {
|
|
22057
22415
|
className: "text-brand",
|
|
22058
22416
|
children: "<Switch />"
|
|
22059
22417
|
}),
|
|
22060
|
-
/* @__PURE__ */
|
|
22418
|
+
/* @__PURE__ */ jsx44(Switch, {
|
|
22061
22419
|
active,
|
|
22062
22420
|
onToggle: () => setActive((e) => !e)
|
|
22063
22421
|
}),
|
|
22064
|
-
/* @__PURE__ */
|
|
22422
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22065
22423
|
" ",
|
|
22066
|
-
/* @__PURE__ */
|
|
22424
|
+
/* @__PURE__ */ jsx44("h2", {
|
|
22067
22425
|
className: "text-brand",
|
|
22068
22426
|
children: "<Card />"
|
|
22069
22427
|
}),
|
|
22070
22428
|
/* @__PURE__ */ jsxs8(Card, {
|
|
22071
22429
|
className: "px-4 py-4",
|
|
22072
22430
|
children: [
|
|
22073
|
-
/* @__PURE__ */
|
|
22431
|
+
/* @__PURE__ */ jsx44("h3", {
|
|
22074
22432
|
className: "text-text",
|
|
22075
22433
|
children: "Card"
|
|
22076
22434
|
}),
|
|
22077
|
-
/* @__PURE__ */
|
|
22435
|
+
/* @__PURE__ */ jsx44("div", {
|
|
22078
22436
|
className: "text-gray-500",
|
|
22079
22437
|
children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
|
|
22080
22438
|
})
|
|
22081
22439
|
]
|
|
22082
22440
|
}),
|
|
22083
|
-
/* @__PURE__ */
|
|
22084
|
-
/* @__PURE__ */
|
|
22441
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22442
|
+
/* @__PURE__ */ jsx44("h2", {
|
|
22085
22443
|
className: "text-brand",
|
|
22086
22444
|
children: "<Select />"
|
|
22087
22445
|
}),
|
|
22088
22446
|
/* @__PURE__ */ jsxs8(Select2, {
|
|
22089
22447
|
defaultValue: "option1",
|
|
22090
22448
|
children: [
|
|
22091
|
-
/* @__PURE__ */
|
|
22449
|
+
/* @__PURE__ */ jsx44(SelectTrigger2, {
|
|
22092
22450
|
style: { width: "200px" },
|
|
22093
|
-
children: /* @__PURE__ */
|
|
22451
|
+
children: /* @__PURE__ */ jsx44(SelectValue2, {
|
|
22094
22452
|
placeholder: "Select an option"
|
|
22095
22453
|
})
|
|
22096
22454
|
}),
|
|
22097
22455
|
/* @__PURE__ */ jsxs8(SelectContent2, {
|
|
22098
22456
|
children: [
|
|
22099
|
-
/* @__PURE__ */
|
|
22457
|
+
/* @__PURE__ */ jsx44(SelectItem2, {
|
|
22100
22458
|
value: "option1",
|
|
22101
22459
|
children: "Option 1"
|
|
22102
22460
|
}),
|
|
22103
|
-
/* @__PURE__ */
|
|
22461
|
+
/* @__PURE__ */ jsx44(SelectItem2, {
|
|
22104
22462
|
value: "option2",
|
|
22105
22463
|
children: "Option 2"
|
|
22106
22464
|
}),
|
|
22107
|
-
/* @__PURE__ */
|
|
22465
|
+
/* @__PURE__ */ jsx44(SelectItem2, {
|
|
22108
22466
|
value: "option3",
|
|
22109
22467
|
children: "Option 3"
|
|
22110
22468
|
})
|
|
@@ -22112,8 +22470,8 @@ var DesignPage = () => {
|
|
|
22112
22470
|
})
|
|
22113
22471
|
]
|
|
22114
22472
|
}),
|
|
22115
|
-
/* @__PURE__ */
|
|
22116
|
-
/* @__PURE__ */
|
|
22473
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22474
|
+
/* @__PURE__ */ jsx44("h2", {
|
|
22117
22475
|
className: "text-brand",
|
|
22118
22476
|
children: "<Tabs />"
|
|
22119
22477
|
}),
|
|
@@ -22122,63 +22480,63 @@ var DesignPage = () => {
|
|
|
22122
22480
|
children: [
|
|
22123
22481
|
/* @__PURE__ */ jsxs8(TabsList2, {
|
|
22124
22482
|
children: [
|
|
22125
|
-
/* @__PURE__ */
|
|
22483
|
+
/* @__PURE__ */ jsx44(TabsTrigger2, {
|
|
22126
22484
|
value: "tab1",
|
|
22127
22485
|
children: "Tab 1"
|
|
22128
22486
|
}),
|
|
22129
|
-
/* @__PURE__ */
|
|
22487
|
+
/* @__PURE__ */ jsx44(TabsTrigger2, {
|
|
22130
22488
|
value: "tab2",
|
|
22131
22489
|
children: "Tab 2"
|
|
22132
22490
|
}),
|
|
22133
|
-
/* @__PURE__ */
|
|
22491
|
+
/* @__PURE__ */ jsx44(TabsTrigger2, {
|
|
22134
22492
|
value: "tab3",
|
|
22135
22493
|
children: "Tab 3"
|
|
22136
22494
|
})
|
|
22137
22495
|
]
|
|
22138
22496
|
}),
|
|
22139
|
-
/* @__PURE__ */
|
|
22497
|
+
/* @__PURE__ */ jsx44(TabsContent2, {
|
|
22140
22498
|
value: "tab1",
|
|
22141
|
-
children: /* @__PURE__ */
|
|
22499
|
+
children: /* @__PURE__ */ jsx44("div", {
|
|
22142
22500
|
className: "font-brand",
|
|
22143
22501
|
children: "Content for Tab 1"
|
|
22144
22502
|
})
|
|
22145
22503
|
}),
|
|
22146
|
-
/* @__PURE__ */
|
|
22504
|
+
/* @__PURE__ */ jsx44(TabsContent2, {
|
|
22147
22505
|
value: "tab2",
|
|
22148
|
-
children: /* @__PURE__ */
|
|
22506
|
+
children: /* @__PURE__ */ jsx44("div", {
|
|
22149
22507
|
className: "font-brand",
|
|
22150
22508
|
children: "Content for Tab 2"
|
|
22151
22509
|
})
|
|
22152
22510
|
}),
|
|
22153
|
-
/* @__PURE__ */
|
|
22511
|
+
/* @__PURE__ */ jsx44(TabsContent2, {
|
|
22154
22512
|
value: "tab3",
|
|
22155
|
-
children: /* @__PURE__ */
|
|
22513
|
+
children: /* @__PURE__ */ jsx44("div", {
|
|
22156
22514
|
className: "font-brand",
|
|
22157
22515
|
children: "Content for Tab 3"
|
|
22158
22516
|
})
|
|
22159
22517
|
})
|
|
22160
22518
|
]
|
|
22161
22519
|
}),
|
|
22162
|
-
/* @__PURE__ */
|
|
22163
|
-
/* @__PURE__ */
|
|
22520
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22521
|
+
/* @__PURE__ */ jsx44("h2", {
|
|
22164
22522
|
className: "text-brand",
|
|
22165
22523
|
children: "<Input />"
|
|
22166
22524
|
}),
|
|
22167
|
-
/* @__PURE__ */
|
|
22525
|
+
/* @__PURE__ */ jsx44(Input, {
|
|
22168
22526
|
placeholder: "Enter your email"
|
|
22169
22527
|
}),
|
|
22170
|
-
/* @__PURE__ */
|
|
22171
|
-
/* @__PURE__ */
|
|
22172
|
-
/* @__PURE__ */
|
|
22528
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22529
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22530
|
+
/* @__PURE__ */ jsx44("h2", {
|
|
22173
22531
|
className: "text-brand",
|
|
22174
22532
|
children: "<Textarea />"
|
|
22175
22533
|
}),
|
|
22176
|
-
/* @__PURE__ */
|
|
22534
|
+
/* @__PURE__ */ jsx44(Textarea, {
|
|
22177
22535
|
placeholder: "Enter your message"
|
|
22178
22536
|
}),
|
|
22179
|
-
/* @__PURE__ */
|
|
22180
|
-
/* @__PURE__ */
|
|
22181
|
-
/* @__PURE__ */
|
|
22537
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22538
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22539
|
+
/* @__PURE__ */ jsx44("h2", {
|
|
22182
22540
|
className: "text-brand",
|
|
22183
22541
|
children: "<InlineCode />"
|
|
22184
22542
|
}),
|
|
@@ -22186,18 +22544,18 @@ var DesignPage = () => {
|
|
|
22186
22544
|
className: "font-brand",
|
|
22187
22545
|
children: [
|
|
22188
22546
|
"Use ",
|
|
22189
|
-
/* @__PURE__ */
|
|
22547
|
+
/* @__PURE__ */ jsx44(InlineCode, {
|
|
22190
22548
|
children: "useCurrentFrame()"
|
|
22191
22549
|
}),
|
|
22192
22550
|
" to get the current frame and ",
|
|
22193
|
-
/* @__PURE__ */
|
|
22551
|
+
/* @__PURE__ */ jsx44(InlineCode, {
|
|
22194
22552
|
children: "useVideoConfig()"
|
|
22195
22553
|
}),
|
|
22196
22554
|
" to get the video configuration."
|
|
22197
22555
|
]
|
|
22198
22556
|
}),
|
|
22199
|
-
/* @__PURE__ */
|
|
22200
|
-
/* @__PURE__ */
|
|
22557
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22558
|
+
/* @__PURE__ */ jsx44("h2", {
|
|
22201
22559
|
className: "text-brand",
|
|
22202
22560
|
children: "<Link />"
|
|
22203
22561
|
}),
|
|
@@ -22206,7 +22564,7 @@ var DesignPage = () => {
|
|
|
22206
22564
|
children: [
|
|
22207
22565
|
"See the",
|
|
22208
22566
|
" ",
|
|
22209
|
-
/* @__PURE__ */
|
|
22567
|
+
/* @__PURE__ */ jsx44(Link, {
|
|
22210
22568
|
href: "https://www.remotion.dev/docs",
|
|
22211
22569
|
target: "_blank",
|
|
22212
22570
|
rel: "noopener noreferrer",
|
|
@@ -22216,38 +22574,38 @@ var DesignPage = () => {
|
|
|
22216
22574
|
"for more information."
|
|
22217
22575
|
]
|
|
22218
22576
|
}),
|
|
22219
|
-
/* @__PURE__ */
|
|
22220
|
-
/* @__PURE__ */
|
|
22221
|
-
/* @__PURE__ */
|
|
22577
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22578
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22579
|
+
/* @__PURE__ */ jsx44("h1", {
|
|
22222
22580
|
children: "Example form set"
|
|
22223
22581
|
}),
|
|
22224
|
-
/* @__PURE__ */
|
|
22225
|
-
/* @__PURE__ */
|
|
22582
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22583
|
+
/* @__PURE__ */ jsx44("h2", {
|
|
22226
22584
|
children: "Change email"
|
|
22227
22585
|
}),
|
|
22228
|
-
/* @__PURE__ */
|
|
22586
|
+
/* @__PURE__ */ jsx44("p", {
|
|
22229
22587
|
className: "font-brand",
|
|
22230
22588
|
children: "A email will be sent to the new email address. You will need to click on the link in the email to confirm the change."
|
|
22231
22589
|
}),
|
|
22232
|
-
/* @__PURE__ */
|
|
22590
|
+
/* @__PURE__ */ jsx44(Input, {
|
|
22233
22591
|
placeholder: "Enter your email",
|
|
22234
22592
|
className: "w-full block"
|
|
22235
22593
|
}),
|
|
22236
|
-
/* @__PURE__ */
|
|
22594
|
+
/* @__PURE__ */ jsx44("div", {
|
|
22237
22595
|
className: "h-2"
|
|
22238
22596
|
}),
|
|
22239
|
-
/* @__PURE__ */
|
|
22597
|
+
/* @__PURE__ */ jsx44("div", {
|
|
22240
22598
|
className: "flex flex-row justify-end",
|
|
22241
|
-
children: /* @__PURE__ */
|
|
22599
|
+
children: /* @__PURE__ */ jsx44(Button, {
|
|
22242
22600
|
className: "bg-brand text-white",
|
|
22243
22601
|
loading: saving,
|
|
22244
22602
|
onClick: save,
|
|
22245
22603
|
children: "Change"
|
|
22246
22604
|
})
|
|
22247
22605
|
}),
|
|
22248
|
-
/* @__PURE__ */
|
|
22249
|
-
/* @__PURE__ */
|
|
22250
|
-
/* @__PURE__ */
|
|
22606
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22607
|
+
/* @__PURE__ */ jsx44("br", {}),
|
|
22608
|
+
/* @__PURE__ */ jsx44(ManageTeamMembers, {})
|
|
22251
22609
|
]
|
|
22252
22610
|
})
|
|
22253
22611
|
});
|