@remotion/promo-pages 4.0.476 → 4.0.478
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 +1012 -599
- package/dist/components/homepage/CommunityStatsItems.js +4 -4
- package/dist/components/homepage/GitHubButton.js +1 -1
- package/dist/components/team/TrustSection.js +1 -1
- package/dist/design.js +611 -220
- package/dist/experts.js +150 -72
- package/dist/homepage/Pricing.js +605 -214
- package/dist/prompts/PromptsGallery.js +607 -216
- package/dist/prompts/PromptsShow.js +611 -220
- package/dist/prompts/PromptsSubmit.js +613 -222
- package/dist/team.js +608 -217
- package/dist/template-modal-content.js +610 -219
- package/dist/templates.js +603 -212
- package/package.json +13 -13
package/dist/team.js
CHANGED
|
@@ -217,7 +217,7 @@ var TitleTeamCards = () => {
|
|
|
217
217
|
import * as React23 from "react";
|
|
218
218
|
import * as React3 from "react";
|
|
219
219
|
import { Fragment as Fragment2, jsx as jsx44 } from "react/jsx-runtime";
|
|
220
|
-
import React52, { useCallback as
|
|
220
|
+
import React52, { useCallback as useCallback27, useRef as useRef210, useState as useState22 } from "react";
|
|
221
221
|
|
|
222
222
|
// ../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
|
|
223
223
|
function r(e) {
|
|
@@ -4354,6 +4354,7 @@ import { useContext as useContext8, useMemo as useMemo7 } from "react";
|
|
|
4354
4354
|
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
4355
4355
|
import {
|
|
4356
4356
|
forwardRef as forwardRef3,
|
|
4357
|
+
useCallback as useCallback6,
|
|
4357
4358
|
useContext as useContext17,
|
|
4358
4359
|
useEffect as useEffect3,
|
|
4359
4360
|
useMemo as useMemo14,
|
|
@@ -4392,14 +4393,14 @@ import {
|
|
|
4392
4393
|
useRef as useRef9,
|
|
4393
4394
|
useState as useState6
|
|
4394
4395
|
} from "react";
|
|
4395
|
-
import React15, { useCallback as
|
|
4396
|
+
import React15, { useCallback as useCallback7, useImperativeHandle, useMemo as useMemo16, useRef as useRef8 } from "react";
|
|
4396
4397
|
import { useEffect as useEffect4, useMemo as useMemo15, useRef as useRef7 } from "react";
|
|
4397
4398
|
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
4398
4399
|
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
4399
4400
|
import { useContext as useContext18, useLayoutEffect as useLayoutEffect4, useState as useState8 } from "react";
|
|
4400
4401
|
import {
|
|
4401
4402
|
createContext as createContext17,
|
|
4402
|
-
useCallback as
|
|
4403
|
+
useCallback as useCallback8,
|
|
4403
4404
|
useImperativeHandle as useImperativeHandle3,
|
|
4404
4405
|
useLayoutEffect as useLayoutEffect3,
|
|
4405
4406
|
useMemo as useMemo17,
|
|
@@ -4407,7 +4408,7 @@ import {
|
|
|
4407
4408
|
useState as useState7
|
|
4408
4409
|
} from "react";
|
|
4409
4410
|
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
4410
|
-
import { forwardRef as forwardRef7, useCallback as
|
|
4411
|
+
import { forwardRef as forwardRef7, useCallback as useCallback14, useContext as useContext30 } from "react";
|
|
4411
4412
|
import React16, { createContext as createContext18, useMemo as useMemo18 } from "react";
|
|
4412
4413
|
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
4413
4414
|
import { useContext as useContext19 } from "react";
|
|
@@ -4415,7 +4416,7 @@ import { createContext as createContext19, useEffect as useEffect6, useState as
|
|
|
4415
4416
|
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
4416
4417
|
import { createContext as createContext20, useMemo as useMemo19, useReducer } from "react";
|
|
4417
4418
|
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
4418
|
-
import { useCallback as
|
|
4419
|
+
import { useCallback as useCallback13 } from "react";
|
|
4419
4420
|
import React22, {
|
|
4420
4421
|
forwardRef as forwardRef5,
|
|
4421
4422
|
useContext as useContext28,
|
|
@@ -4429,7 +4430,7 @@ import { useContext as useContext21, useLayoutEffect as useLayoutEffect5, useRef
|
|
|
4429
4430
|
import React19, {
|
|
4430
4431
|
createContext as createContext21,
|
|
4431
4432
|
createRef as createRef2,
|
|
4432
|
-
useCallback as
|
|
4433
|
+
useCallback as useCallback9,
|
|
4433
4434
|
useContext as useContext20,
|
|
4434
4435
|
useEffect as useEffect7,
|
|
4435
4436
|
useMemo as useMemo21,
|
|
@@ -4442,16 +4443,16 @@ import { useRef as useRef13 } from "react";
|
|
|
4442
4443
|
import { useContext as useContext23, useEffect as useEffect8, useMemo as useMemo22, useState as useState11 } from "react";
|
|
4443
4444
|
import { useContext as useContext22 } from "react";
|
|
4444
4445
|
import {
|
|
4445
|
-
useCallback as
|
|
4446
|
+
useCallback as useCallback12,
|
|
4446
4447
|
useContext as useContext26,
|
|
4447
4448
|
useEffect as useEffect12,
|
|
4448
4449
|
useLayoutEffect as useLayoutEffect7,
|
|
4449
4450
|
useRef as useRef18
|
|
4450
4451
|
} from "react";
|
|
4451
|
-
import { useCallback as
|
|
4452
|
+
import { useCallback as useCallback11, useMemo as useMemo25, useRef as useRef16 } from "react";
|
|
4452
4453
|
import { useContext as useContext25, useMemo as useMemo24 } from "react";
|
|
4453
4454
|
import React20, {
|
|
4454
|
-
useCallback as
|
|
4455
|
+
useCallback as useCallback10,
|
|
4455
4456
|
useContext as useContext24,
|
|
4456
4457
|
useEffect as useEffect9,
|
|
4457
4458
|
useLayoutEffect as useLayoutEffect6,
|
|
@@ -4479,7 +4480,7 @@ import { jsx as jsx222 } from "react/jsx-runtime";
|
|
|
4479
4480
|
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
4480
4481
|
import {
|
|
4481
4482
|
forwardRef as forwardRef8,
|
|
4482
|
-
useCallback as
|
|
4483
|
+
useCallback as useCallback15,
|
|
4483
4484
|
useEffect as useEffect16,
|
|
4484
4485
|
useImperativeHandle as useImperativeHandle6,
|
|
4485
4486
|
useMemo as useMemo29,
|
|
@@ -4490,7 +4491,7 @@ import { jsx as jsx24 } from "react/jsx-runtime";
|
|
|
4490
4491
|
import {
|
|
4491
4492
|
createContext as createContext23,
|
|
4492
4493
|
forwardRef as forwardRef9,
|
|
4493
|
-
useCallback as
|
|
4494
|
+
useCallback as useCallback16,
|
|
4494
4495
|
useContext as useContext31,
|
|
4495
4496
|
useLayoutEffect as useLayoutEffect9,
|
|
4496
4497
|
useMemo as useMemo30,
|
|
@@ -4499,7 +4500,7 @@ import {
|
|
|
4499
4500
|
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
4500
4501
|
import {
|
|
4501
4502
|
forwardRef as forwardRef10,
|
|
4502
|
-
useCallback as
|
|
4503
|
+
useCallback as useCallback17,
|
|
4503
4504
|
useContext as useContext32,
|
|
4504
4505
|
useEffect as useEffect17,
|
|
4505
4506
|
useImperativeHandle as useImperativeHandle7,
|
|
@@ -4508,16 +4509,16 @@ import {
|
|
|
4508
4509
|
useState as useState16
|
|
4509
4510
|
} from "react";
|
|
4510
4511
|
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
4511
|
-
import { forwardRef as forwardRef11, useCallback as
|
|
4512
|
+
import { forwardRef as forwardRef11, useCallback as useCallback18, useState as useState17 } from "react";
|
|
4512
4513
|
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
4513
|
-
import { useCallback as
|
|
4514
|
+
import { useCallback as useCallback19, useContext as useContext33, useLayoutEffect as useLayoutEffect10, useRef as useRef24 } from "react";
|
|
4514
4515
|
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
4515
|
-
import React29, { forwardRef as forwardRef12, useCallback as
|
|
4516
|
+
import React29, { forwardRef as forwardRef12, useCallback as useCallback20, useRef as useRef25 } from "react";
|
|
4516
4517
|
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
4517
4518
|
import { createRef as createRef3 } from "react";
|
|
4518
4519
|
import React30 from "react";
|
|
4519
4520
|
import {
|
|
4520
|
-
useCallback as
|
|
4521
|
+
useCallback as useCallback21,
|
|
4521
4522
|
useImperativeHandle as useImperativeHandle8,
|
|
4522
4523
|
useMemo as useMemo32,
|
|
4523
4524
|
useRef as useRef26,
|
|
@@ -4532,9 +4533,9 @@ import { jsx as jsx322 } from "react/jsx-runtime";
|
|
|
4532
4533
|
import React33 from "react";
|
|
4533
4534
|
import React34, { createContext as createContext25 } from "react";
|
|
4534
4535
|
import React35, { useContext as useContext35 } from "react";
|
|
4535
|
-
import { useCallback as
|
|
4536
|
+
import { useCallback as useCallback24 } from "react";
|
|
4536
4537
|
import {
|
|
4537
|
-
useCallback as
|
|
4538
|
+
useCallback as useCallback22,
|
|
4538
4539
|
useContext as useContext36,
|
|
4539
4540
|
useEffect as useEffect18,
|
|
4540
4541
|
useLayoutEffect as useLayoutEffect11,
|
|
@@ -4544,7 +4545,7 @@ import {
|
|
|
4544
4545
|
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
4545
4546
|
import React37, {
|
|
4546
4547
|
forwardRef as forwardRef13,
|
|
4547
|
-
useCallback as
|
|
4548
|
+
useCallback as useCallback23,
|
|
4548
4549
|
useContext as useContext37,
|
|
4549
4550
|
useEffect as useEffect20,
|
|
4550
4551
|
useImperativeHandle as useImperativeHandle9,
|
|
@@ -4565,7 +4566,7 @@ import {
|
|
|
4565
4566
|
import React40 from "react";
|
|
4566
4567
|
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
4567
4568
|
import React42 from "react";
|
|
4568
|
-
import { forwardRef as forwardRef16, useCallback as
|
|
4569
|
+
import { forwardRef as forwardRef16, useCallback as useCallback25, useContext as useContext39 } from "react";
|
|
4569
4570
|
import {
|
|
4570
4571
|
forwardRef as forwardRef15,
|
|
4571
4572
|
useContext as useContext38,
|
|
@@ -5745,7 +5746,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
|
5745
5746
|
var addSequenceStackTraces = (component) => {
|
|
5746
5747
|
componentsToAddStacksTo.push(component);
|
|
5747
5748
|
};
|
|
5748
|
-
var VERSION = "4.0.
|
|
5749
|
+
var VERSION = "4.0.478";
|
|
5749
5750
|
var checkMultipleRemotionVersions = () => {
|
|
5750
5751
|
if (typeof globalThis === "undefined") {
|
|
5751
5752
|
return;
|
|
@@ -6204,10 +6205,17 @@ var fromField = {
|
|
|
6204
6205
|
step: 1,
|
|
6205
6206
|
hiddenFromList: true
|
|
6206
6207
|
};
|
|
6208
|
+
var freezeField = {
|
|
6209
|
+
type: "number",
|
|
6210
|
+
default: null,
|
|
6211
|
+
step: 1,
|
|
6212
|
+
hiddenFromList: true
|
|
6213
|
+
};
|
|
6207
6214
|
var sequenceSchema = extendSchemaWithSequenceName({
|
|
6208
6215
|
hidden: hiddenField,
|
|
6209
6216
|
showInTimeline: showInTimelineField,
|
|
6210
6217
|
from: fromField,
|
|
6218
|
+
freeze: freezeField,
|
|
6211
6219
|
durationInFrames: durationInFramesField,
|
|
6212
6220
|
layout: {
|
|
6213
6221
|
type: "enum",
|
|
@@ -6222,6 +6230,7 @@ var sequenceSchema = extendSchemaWithSequenceName({
|
|
|
6222
6230
|
var sequenceSchemaWithoutFrom = extendSchemaWithSequenceName({
|
|
6223
6231
|
hidden: hiddenField,
|
|
6224
6232
|
showInTimeline: showInTimelineField,
|
|
6233
|
+
freeze: freezeField,
|
|
6225
6234
|
durationInFrames: durationInFramesField,
|
|
6226
6235
|
layout: sequenceSchema.layout
|
|
6227
6236
|
});
|
|
@@ -8413,6 +8422,7 @@ var mergeValues = ({
|
|
|
8413
8422
|
var stackToOverrideMap = {};
|
|
8414
8423
|
var wrapInSchema = ({
|
|
8415
8424
|
Component,
|
|
8425
|
+
componentIdentity,
|
|
8416
8426
|
schema,
|
|
8417
8427
|
supportsEffects
|
|
8418
8428
|
}) => {
|
|
@@ -8459,7 +8469,8 @@ var wrapInSchema = ({
|
|
|
8459
8469
|
schema: schemaWithSequenceName,
|
|
8460
8470
|
currentRuntimeValueDotNotation,
|
|
8461
8471
|
overrideId,
|
|
8462
|
-
supportsEffects
|
|
8472
|
+
supportsEffects,
|
|
8473
|
+
componentIdentity
|
|
8463
8474
|
};
|
|
8464
8475
|
}, [currentRuntimeValueDotNotation, overrideId]);
|
|
8465
8476
|
const { merged: valuesDotNotation, propsToDelete } = useMemo13(() => {
|
|
@@ -8496,6 +8507,7 @@ var wrapInSchema = ({
|
|
|
8496
8507
|
var EMPTY_EFFECTS = [];
|
|
8497
8508
|
var RegularSequenceRefForwardingFunction = ({
|
|
8498
8509
|
from = 0,
|
|
8510
|
+
freeze,
|
|
8499
8511
|
durationInFrames = Infinity,
|
|
8500
8512
|
children,
|
|
8501
8513
|
name,
|
|
@@ -8511,7 +8523,7 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
8511
8523
|
_remotionInternalPremountDisplay: premountDisplay,
|
|
8512
8524
|
_remotionInternalPostmountDisplay: postmountDisplay,
|
|
8513
8525
|
_remotionInternalIsMedia: isMedia,
|
|
8514
|
-
_remotionInternalRefForOutline:
|
|
8526
|
+
_remotionInternalRefForOutline: passedRefForOutline,
|
|
8515
8527
|
...other
|
|
8516
8528
|
}, ref) => {
|
|
8517
8529
|
const { layout = "absolute-fill" } = other;
|
|
@@ -8539,11 +8551,24 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
8539
8551
|
if (!Number.isFinite(from)) {
|
|
8540
8552
|
throw new TypeError(`The "from" prop of a sequence must be finite, but got ${from}.`);
|
|
8541
8553
|
}
|
|
8554
|
+
if (typeof freeze !== "undefined" && freeze !== null) {
|
|
8555
|
+
if (typeof freeze !== "number") {
|
|
8556
|
+
throw new TypeError(`The "freeze" prop of <Sequence /> must be a number, but is of type ${typeof freeze}.`);
|
|
8557
|
+
}
|
|
8558
|
+
if (Number.isNaN(freeze)) {
|
|
8559
|
+
throw new TypeError(`The "freeze" prop of <Sequence /> must be a real number, but it is NaN.`);
|
|
8560
|
+
}
|
|
8561
|
+
if (!Number.isFinite(freeze)) {
|
|
8562
|
+
throw new TypeError(`The "freeze" prop of <Sequence /> must be finite, but it is ${freeze}.`);
|
|
8563
|
+
}
|
|
8564
|
+
}
|
|
8542
8565
|
const absoluteFrame = useTimelinePosition();
|
|
8543
8566
|
const videoConfig = useVideoConfig();
|
|
8544
8567
|
const parentSequenceDuration = parentSequence ? Math.min(parentSequence.durationInFrames - from, durationInFrames) : durationInFrames;
|
|
8545
8568
|
const actualDurationInFrames = Math.max(0, Math.min(videoConfig.durationInFrames - from, parentSequenceDuration));
|
|
8546
8569
|
const { registerSequence, unregisterSequence } = useContext17(SequenceManager);
|
|
8570
|
+
const wrapperRefForOutline = useRef6(null);
|
|
8571
|
+
const refForOutline = other.layout === "none" ? passedRefForOutline ?? null : passedRefForOutline ?? wrapperRefForOutline;
|
|
8547
8572
|
const premounting = useMemo14(() => {
|
|
8548
8573
|
return parentSequence?.premounting || Boolean(other._remotionInternalIsPremounting);
|
|
8549
8574
|
}, [other._remotionInternalIsPremounting, parentSequence?.premounting]);
|
|
@@ -8595,6 +8620,11 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
8595
8620
|
const inheritedStack = other?.stack ?? null;
|
|
8596
8621
|
const stackRef = useRef6(null);
|
|
8597
8622
|
stackRef.current = stack ?? inheritedStack;
|
|
8623
|
+
const registeredFrozenFrame = typeof freeze === "number" ? freeze : null;
|
|
8624
|
+
const parentCumulatedNegativeFrom = parentSequence?.cumulatedNegativeFrom ?? 0;
|
|
8625
|
+
const startMediaFrom = isMedia && isMedia.type !== "image" ? isMedia.data.startMediaFrom + parentCumulatedNegativeFrom - cumulatedNegativeFrom : null;
|
|
8626
|
+
const mediaFrameAtSequenceZero = isMedia && isMedia.type !== "image" ? isMedia.data.startMediaFrom + parentCumulatedNegativeFrom : null;
|
|
8627
|
+
const frozenMediaFrame = isMedia && isMedia.type !== "image" && mediaFrameAtSequenceZero !== null ? registeredFrozenFrame === null ? null : mediaFrameAtSequenceZero + (loopDisplay ? registeredFrozenFrame % loopDisplay.durationInFrames : registeredFrozenFrame) * isMedia.data.playbackRate : null;
|
|
8598
8628
|
useEffect3(() => {
|
|
8599
8629
|
if (!env.isStudio) {
|
|
8600
8630
|
return;
|
|
@@ -8620,7 +8650,8 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
8620
8650
|
src: isMedia.src,
|
|
8621
8651
|
getStack: () => stackRef.current,
|
|
8622
8652
|
refForOutline: refForOutline ?? null,
|
|
8623
|
-
isInsideSeries
|
|
8653
|
+
isInsideSeries,
|
|
8654
|
+
frozenFrame: registeredFrozenFrame
|
|
8624
8655
|
});
|
|
8625
8656
|
} else {
|
|
8626
8657
|
registerSequence({
|
|
@@ -8643,10 +8674,12 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
8643
8674
|
showInTimeline,
|
|
8644
8675
|
src: isMedia.data.src,
|
|
8645
8676
|
getStack: () => stackRef.current,
|
|
8646
|
-
startMediaFrom: isMedia.data.startMediaFrom,
|
|
8677
|
+
startMediaFrom: startMediaFrom ?? isMedia.data.startMediaFrom,
|
|
8647
8678
|
volume: isMedia.data.volumes,
|
|
8648
8679
|
refForOutline: refForOutline ?? null,
|
|
8649
|
-
isInsideSeries
|
|
8680
|
+
isInsideSeries,
|
|
8681
|
+
frozenFrame: registeredFrozenFrame,
|
|
8682
|
+
frozenMediaFrame
|
|
8650
8683
|
});
|
|
8651
8684
|
}
|
|
8652
8685
|
return () => {
|
|
@@ -8671,7 +8704,8 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
8671
8704
|
controls: controls ?? null,
|
|
8672
8705
|
effects: _remotionInternalEffects ?? EMPTY_EFFECTS,
|
|
8673
8706
|
refForOutline: refForOutline ?? null,
|
|
8674
|
-
isInsideSeries
|
|
8707
|
+
isInsideSeries,
|
|
8708
|
+
frozenFrame: registeredFrozenFrame
|
|
8675
8709
|
});
|
|
8676
8710
|
return () => {
|
|
8677
8711
|
unregisterSequence(id);
|
|
@@ -8698,11 +8732,26 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
8698
8732
|
isMedia,
|
|
8699
8733
|
resolvedDocumentationLink,
|
|
8700
8734
|
refForOutline,
|
|
8701
|
-
isInsideSeries
|
|
8735
|
+
isInsideSeries,
|
|
8736
|
+
registeredFrozenFrame,
|
|
8737
|
+
startMediaFrom,
|
|
8738
|
+
frozenMediaFrame
|
|
8702
8739
|
]);
|
|
8703
8740
|
const endThreshold = Math.ceil(cumulatedFrom + from + durationInFrames - 1);
|
|
8704
8741
|
const content = absoluteFrame < cumulatedFrom + from ? null : absoluteFrame > endThreshold ? null : children;
|
|
8742
|
+
const frozenContent = content === null || typeof freeze === "undefined" || freeze === null ? content : /* @__PURE__ */ jsx12(Freeze, {
|
|
8743
|
+
frame: freeze,
|
|
8744
|
+
children: content
|
|
8745
|
+
});
|
|
8705
8746
|
const styleIfThere = other.layout === "none" ? undefined : other.style;
|
|
8747
|
+
const sequenceRef = useCallback6((node) => {
|
|
8748
|
+
wrapperRefForOutline.current = node;
|
|
8749
|
+
if (typeof ref === "function") {
|
|
8750
|
+
ref(node);
|
|
8751
|
+
} else if (ref) {
|
|
8752
|
+
ref.current = node;
|
|
8753
|
+
}
|
|
8754
|
+
}, [ref]);
|
|
8706
8755
|
const defaultStyle = useMemo14(() => {
|
|
8707
8756
|
return {
|
|
8708
8757
|
flexDirection: undefined,
|
|
@@ -8719,11 +8768,11 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
8719
8768
|
}
|
|
8720
8769
|
return /* @__PURE__ */ jsx12(SequenceContext.Provider, {
|
|
8721
8770
|
value: contextValue,
|
|
8722
|
-
children:
|
|
8723
|
-
ref,
|
|
8771
|
+
children: frozenContent === null ? null : other.layout === "none" ? frozenContent : /* @__PURE__ */ jsx12(AbsoluteFill, {
|
|
8772
|
+
ref: sequenceRef,
|
|
8724
8773
|
style: defaultStyle,
|
|
8725
8774
|
className: other.className,
|
|
8726
|
-
children:
|
|
8775
|
+
children: frozenContent
|
|
8727
8776
|
})
|
|
8728
8777
|
});
|
|
8729
8778
|
};
|
|
@@ -8803,11 +8852,13 @@ var SequenceInner = forwardRef3(SequenceRefForwardingFunction);
|
|
|
8803
8852
|
var SequenceWithoutSchema = SequenceInner;
|
|
8804
8853
|
var Sequence = wrapInSchema({
|
|
8805
8854
|
Component: SequenceInner,
|
|
8855
|
+
componentIdentity: "dev.remotion.remotion.Sequence",
|
|
8806
8856
|
schema: sequenceSchema,
|
|
8807
8857
|
supportsEffects: false
|
|
8808
8858
|
});
|
|
8809
8859
|
var SequenceWithoutFrom = wrapInSchema({
|
|
8810
8860
|
Component: SequenceInner,
|
|
8861
|
+
componentIdentity: null,
|
|
8811
8862
|
schema: sequenceSchemaWithoutFrom,
|
|
8812
8863
|
supportsEffects: false
|
|
8813
8864
|
});
|
|
@@ -9125,7 +9176,7 @@ var CanvasRefForwardingFunction = ({ width, height, fit, className, style, effec
|
|
|
9125
9176
|
}
|
|
9126
9177
|
return document.createElement("canvas");
|
|
9127
9178
|
}, []);
|
|
9128
|
-
const draw =
|
|
9179
|
+
const draw = useCallback7((imageData) => {
|
|
9129
9180
|
const canvas = canvasRef.current;
|
|
9130
9181
|
const canvasWidth = width ?? imageData.displayWidth;
|
|
9131
9182
|
const canvasHeight = height ?? imageData.displayHeight;
|
|
@@ -9346,6 +9397,7 @@ var resolveAnimatedImageSource = (src) => {
|
|
|
9346
9397
|
var animatedImageSchema = {
|
|
9347
9398
|
durationInFrames: durationInFramesField,
|
|
9348
9399
|
from: fromField,
|
|
9400
|
+
freeze: freezeField,
|
|
9349
9401
|
playbackRate: {
|
|
9350
9402
|
type: "number",
|
|
9351
9403
|
min: 0,
|
|
@@ -9545,6 +9597,7 @@ var AnimatedImageInner = ({
|
|
|
9545
9597
|
};
|
|
9546
9598
|
var AnimatedImage = wrapInSchema({
|
|
9547
9599
|
Component: AnimatedImageInner,
|
|
9600
|
+
componentIdentity: "dev.remotion.remotion.AnimatedImage",
|
|
9548
9601
|
schema: animatedImageSchema,
|
|
9549
9602
|
supportsEffects: true
|
|
9550
9603
|
});
|
|
@@ -9591,7 +9644,7 @@ var RenderAssetManager = createContext17({
|
|
|
9591
9644
|
var RenderAssetManagerProvider = ({ children, collectAssets }) => {
|
|
9592
9645
|
const [renderAssets, setRenderAssets] = useState7([]);
|
|
9593
9646
|
const renderAssetsRef = useRef10([]);
|
|
9594
|
-
const registerRenderAsset =
|
|
9647
|
+
const registerRenderAsset = useCallback8((renderAsset) => {
|
|
9595
9648
|
validateRenderAsset(renderAsset);
|
|
9596
9649
|
renderAssetsRef.current = [...renderAssetsRef.current, renderAsset];
|
|
9597
9650
|
setRenderAssets(renderAssetsRef.current);
|
|
@@ -9608,7 +9661,7 @@ var RenderAssetManagerProvider = ({ children, collectAssets }) => {
|
|
|
9608
9661
|
};
|
|
9609
9662
|
}, []);
|
|
9610
9663
|
}
|
|
9611
|
-
const unregisterRenderAsset =
|
|
9664
|
+
const unregisterRenderAsset = useCallback8((id) => {
|
|
9612
9665
|
renderAssetsRef.current = renderAssetsRef.current.filter((a2) => a2.id !== id);
|
|
9613
9666
|
setRenderAssets(renderAssetsRef.current);
|
|
9614
9667
|
}, []);
|
|
@@ -10413,7 +10466,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
|
|
|
10413
10466
|
}, []);
|
|
10414
10467
|
const prevEndTimes = useRef12({ scheduledEndTime: null, mediaEndTime: null });
|
|
10415
10468
|
const nodesToResume = useRef12(new Map);
|
|
10416
|
-
const unscheduleAudioNode =
|
|
10469
|
+
const unscheduleAudioNode = useCallback9((node) => {
|
|
10417
10470
|
nodesToResume.current.delete(node);
|
|
10418
10471
|
}, []);
|
|
10419
10472
|
const scheduleAudioNode = useMemo21(() => {
|
|
@@ -10467,7 +10520,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
|
|
|
10467
10520
|
};
|
|
10468
10521
|
};
|
|
10469
10522
|
}, [ctxAndGain, logLevel]);
|
|
10470
|
-
const resume =
|
|
10523
|
+
const resume = useCallback9(() => {
|
|
10471
10524
|
if (!ctxAndGain) {
|
|
10472
10525
|
return Promise.resolve();
|
|
10473
10526
|
}
|
|
@@ -10494,10 +10547,10 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
|
|
|
10494
10547
|
});
|
|
10495
10548
|
return resumePromise.catch(() => {});
|
|
10496
10549
|
}, [ctxAndGain, logLevel]);
|
|
10497
|
-
const getIsResumingAudioContext =
|
|
10550
|
+
const getIsResumingAudioContext = useCallback9(() => {
|
|
10498
10551
|
return isResuming.current;
|
|
10499
10552
|
}, []);
|
|
10500
|
-
const suspend =
|
|
10553
|
+
const suspend = useCallback9(() => {
|
|
10501
10554
|
if (!ctxAndGain) {
|
|
10502
10555
|
return Promise.resolve();
|
|
10503
10556
|
}
|
|
@@ -10571,7 +10624,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
10571
10624
|
};
|
|
10572
10625
|
}, [refs]);
|
|
10573
10626
|
const takenAudios = useRef12(new Array(numberOfAudioTags).fill(false));
|
|
10574
|
-
const rerenderAudios =
|
|
10627
|
+
const rerenderAudios = useCallback9(() => {
|
|
10575
10628
|
refs.forEach(({ ref, id }) => {
|
|
10576
10629
|
const data = audios.current?.find((a2) => a2.id === id);
|
|
10577
10630
|
const { current } = ref;
|
|
@@ -10592,7 +10645,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
10592
10645
|
});
|
|
10593
10646
|
});
|
|
10594
10647
|
}, [refs]);
|
|
10595
|
-
const registerAudio =
|
|
10648
|
+
const registerAudio = useCallback9((options) => {
|
|
10596
10649
|
const { aud, audioId, premounting, postmounting } = options;
|
|
10597
10650
|
const found = audios.current?.find((a2) => a2.audioId === audioId);
|
|
10598
10651
|
if (found) {
|
|
@@ -10621,7 +10674,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
10621
10674
|
rerenderAudios();
|
|
10622
10675
|
return newElem;
|
|
10623
10676
|
}, [numberOfAudioTags, refs, rerenderAudios]);
|
|
10624
|
-
const unregisterAudio =
|
|
10677
|
+
const unregisterAudio = useCallback9((id) => {
|
|
10625
10678
|
const cloned = [...takenAudios.current];
|
|
10626
10679
|
const index = refs.findIndex((r2) => r2.id === id);
|
|
10627
10680
|
if (index === -1) {
|
|
@@ -10632,7 +10685,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
10632
10685
|
audios.current = audios.current?.filter((a2) => a2.id !== id);
|
|
10633
10686
|
rerenderAudios();
|
|
10634
10687
|
}, [refs, rerenderAudios]);
|
|
10635
|
-
const updateAudio =
|
|
10688
|
+
const updateAudio = useCallback9(({
|
|
10636
10689
|
aud,
|
|
10637
10690
|
audioId,
|
|
10638
10691
|
id,
|
|
@@ -10666,7 +10719,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
10666
10719
|
rerenderAudios();
|
|
10667
10720
|
}
|
|
10668
10721
|
}, [rerenderAudios]);
|
|
10669
|
-
const playAllAudios =
|
|
10722
|
+
const playAllAudios = useCallback9(() => {
|
|
10670
10723
|
refs.forEach((ref) => {
|
|
10671
10724
|
const audio = audios.current.find((a2) => a2.el === ref.ref);
|
|
10672
10725
|
if (audio?.premounting) {
|
|
@@ -11177,7 +11230,9 @@ var useMediaInTimeline = ({
|
|
|
11177
11230
|
controls: null,
|
|
11178
11231
|
effects: [],
|
|
11179
11232
|
refForOutline,
|
|
11180
|
-
isInsideSeries: false
|
|
11233
|
+
isInsideSeries: false,
|
|
11234
|
+
frozenFrame: null,
|
|
11235
|
+
frozenMediaFrame: null
|
|
11181
11236
|
});
|
|
11182
11237
|
return () => {
|
|
11183
11238
|
unregisterSequence(id);
|
|
@@ -11214,7 +11269,7 @@ var useBufferManager = (logLevel, mountTime) => {
|
|
|
11214
11269
|
const env = useRemotionEnvironment();
|
|
11215
11270
|
const rendering = env.isRendering;
|
|
11216
11271
|
const buffering = useRef15(false);
|
|
11217
|
-
const addBlock =
|
|
11272
|
+
const addBlock = useCallback10((block) => {
|
|
11218
11273
|
if (rendering) {
|
|
11219
11274
|
return {
|
|
11220
11275
|
unblock: () => {
|
|
@@ -11240,7 +11295,7 @@ var useBufferManager = (logLevel, mountTime) => {
|
|
|
11240
11295
|
}
|
|
11241
11296
|
};
|
|
11242
11297
|
}, [rendering]);
|
|
11243
|
-
const listenForBuffering =
|
|
11298
|
+
const listenForBuffering = useCallback10((callback) => {
|
|
11244
11299
|
setOnBufferingCallbacks((c2) => [...c2, callback]);
|
|
11245
11300
|
return {
|
|
11246
11301
|
remove: () => {
|
|
@@ -11248,7 +11303,7 @@ var useBufferManager = (logLevel, mountTime) => {
|
|
|
11248
11303
|
}
|
|
11249
11304
|
};
|
|
11250
11305
|
}, []);
|
|
11251
|
-
const listenForResume =
|
|
11306
|
+
const listenForResume = useCallback10((callback) => {
|
|
11252
11307
|
setOnResumeCallbacks((c2) => [...c2, callback]);
|
|
11253
11308
|
return {
|
|
11254
11309
|
remove: () => {
|
|
@@ -11362,7 +11417,7 @@ var useBufferUntilFirstFrame = ({
|
|
|
11362
11417
|
}) => {
|
|
11363
11418
|
const bufferingRef = useRef16(false);
|
|
11364
11419
|
const { delayPlayback } = useBufferState();
|
|
11365
|
-
const bufferUntilFirstFrame =
|
|
11420
|
+
const bufferUntilFirstFrame = useCallback11((requestedTime) => {
|
|
11366
11421
|
if (mediaType !== "video") {
|
|
11367
11422
|
return;
|
|
11368
11423
|
}
|
|
@@ -11752,7 +11807,7 @@ var useMediaPlayback = ({
|
|
|
11752
11807
|
throw new Error("useMediaPlayback must be used inside a <BufferingContext>");
|
|
11753
11808
|
}
|
|
11754
11809
|
const isVariableFpsVideoMap = useRef18({});
|
|
11755
|
-
const onVariableFpsVideoDetected =
|
|
11810
|
+
const onVariableFpsVideoDetected = useCallback12(() => {
|
|
11756
11811
|
if (!src) {
|
|
11757
11812
|
return;
|
|
11758
11813
|
}
|
|
@@ -12143,7 +12198,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
12143
12198
|
premounting: Boolean(sequenceContext?.premounting),
|
|
12144
12199
|
postmounting: Boolean(sequenceContext?.postmounting)
|
|
12145
12200
|
});
|
|
12146
|
-
const getStack =
|
|
12201
|
+
const getStack = useCallback13(() => {
|
|
12147
12202
|
return _remotionInternalStack ?? null;
|
|
12148
12203
|
}, [_remotionInternalStack]);
|
|
12149
12204
|
useMediaInTimeline({
|
|
@@ -12389,7 +12444,7 @@ var AudioRefForwardingFunction = (props, ref) => {
|
|
|
12389
12444
|
throw new TypeError(`The \`<Html5Audio>\` tag requires a string for \`src\`, but got ${JSON.stringify(props.src)} instead.`);
|
|
12390
12445
|
}
|
|
12391
12446
|
const preloadedSrc = usePreload(props.src);
|
|
12392
|
-
const onError =
|
|
12447
|
+
const onError = useCallback14((e) => {
|
|
12393
12448
|
console.log(e.currentTarget.error);
|
|
12394
12449
|
const errMessage = `Could not play audio with src ${preloadedSrc}: ${e.currentTarget.error}. See https://remotion.dev/docs/media-playback-error for help.`;
|
|
12395
12450
|
if (loop) {
|
|
@@ -12403,7 +12458,7 @@ var AudioRefForwardingFunction = (props, ref) => {
|
|
|
12403
12458
|
console.warn(errMessage);
|
|
12404
12459
|
}
|
|
12405
12460
|
}, [loop, onRemotionError, preloadedSrc]);
|
|
12406
|
-
const onDuration =
|
|
12461
|
+
const onDuration = useCallback14((src, durationInSeconds) => {
|
|
12407
12462
|
setDurations({ type: "got-duration", durationInSeconds, src });
|
|
12408
12463
|
}, [setDurations]);
|
|
12409
12464
|
const durationFetched = durations[getAbsoluteSrc(preloadedSrc)] ?? durations[getAbsoluteSrc(props.src)];
|
|
@@ -12495,6 +12550,7 @@ var resolveSolidPixelDensity = (pixelDensity) => {
|
|
|
12495
12550
|
var solidSchema = {
|
|
12496
12551
|
durationInFrames: durationInFramesField,
|
|
12497
12552
|
from: fromField,
|
|
12553
|
+
freeze: freezeField,
|
|
12498
12554
|
color: {
|
|
12499
12555
|
type: "color",
|
|
12500
12556
|
default: "transparent",
|
|
@@ -12549,7 +12605,7 @@ var SolidInner = ({
|
|
|
12549
12605
|
return canvas;
|
|
12550
12606
|
}, []);
|
|
12551
12607
|
const chainState = useEffectChainState();
|
|
12552
|
-
const canvasRef =
|
|
12608
|
+
const canvasRef = useCallback15((canvas) => {
|
|
12553
12609
|
setOutputCanvas(canvas);
|
|
12554
12610
|
if (typeof reference === "function") {
|
|
12555
12611
|
reference(canvas);
|
|
@@ -12633,6 +12689,7 @@ var SolidOuter = forwardRef8(({
|
|
|
12633
12689
|
style,
|
|
12634
12690
|
name,
|
|
12635
12691
|
from,
|
|
12692
|
+
freeze,
|
|
12636
12693
|
hidden,
|
|
12637
12694
|
showInTimeline,
|
|
12638
12695
|
pixelDensity,
|
|
@@ -12646,6 +12703,7 @@ var SolidOuter = forwardRef8(({
|
|
|
12646
12703
|
return /* @__PURE__ */ jsx24(Sequence, {
|
|
12647
12704
|
layout: "none",
|
|
12648
12705
|
from,
|
|
12706
|
+
freeze,
|
|
12649
12707
|
hidden,
|
|
12650
12708
|
showInTimeline,
|
|
12651
12709
|
_experimentalControls: controls,
|
|
@@ -12670,6 +12728,7 @@ var SolidOuter = forwardRef8(({
|
|
|
12670
12728
|
});
|
|
12671
12729
|
var Solid = wrapInSchema({
|
|
12672
12730
|
Component: SolidOuter,
|
|
12731
|
+
componentIdentity: "dev.remotion.remotion.Solid",
|
|
12673
12732
|
schema: solidSchema,
|
|
12674
12733
|
supportsEffects: true
|
|
12675
12734
|
});
|
|
@@ -12759,7 +12818,7 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
12759
12818
|
const offscreenRef = useRef22(null);
|
|
12760
12819
|
const divRef = useRef22(null);
|
|
12761
12820
|
const canvasSizeKey = `${width}x${height}@${resolvedPixelDensity}`;
|
|
12762
|
-
const setLayoutCanvasRef =
|
|
12821
|
+
const setLayoutCanvasRef = useCallback16((node) => {
|
|
12763
12822
|
canvas2dRef.current = node;
|
|
12764
12823
|
if (typeof ref === "function") {
|
|
12765
12824
|
ref(node);
|
|
@@ -12781,7 +12840,7 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
12781
12840
|
const initializedRef = useRef22(false);
|
|
12782
12841
|
const onInitCleanupRef = useRef22(null);
|
|
12783
12842
|
const unmountedRef = useRef22(false);
|
|
12784
|
-
const onPaintCb =
|
|
12843
|
+
const onPaintCb = useCallback16(async () => {
|
|
12785
12844
|
const element = divRef.current;
|
|
12786
12845
|
if (!element) {
|
|
12787
12846
|
throw new Error("Canvas or scene element not found");
|
|
@@ -12954,7 +13013,7 @@ var HtmlInCanvasInner = forwardRef9(({
|
|
|
12954
13013
|
const resolvedDuration = durationInFrames ?? videoDuration;
|
|
12955
13014
|
const memoizedEffectDefinitions = useMemoizedEffectDefinitions(effects);
|
|
12956
13015
|
const actualRef = useRef22(null);
|
|
12957
|
-
const setCanvasRef =
|
|
13016
|
+
const setCanvasRef = useCallback16((node) => {
|
|
12958
13017
|
actualRef.current = node;
|
|
12959
13018
|
if (typeof ref === "function") {
|
|
12960
13019
|
ref(node);
|
|
@@ -12989,11 +13048,13 @@ HtmlInCanvasInner.displayName = "HtmlInCanvas";
|
|
|
12989
13048
|
var htmlInCanvasSchema = {
|
|
12990
13049
|
durationInFrames: durationInFramesField,
|
|
12991
13050
|
from: fromField,
|
|
13051
|
+
freeze: freezeField,
|
|
12992
13052
|
...sequenceVisualStyleSchema,
|
|
12993
13053
|
hidden: hiddenField
|
|
12994
13054
|
};
|
|
12995
13055
|
var HtmlInCanvasWrapped = wrapInSchema({
|
|
12996
13056
|
Component: HtmlInCanvasInner,
|
|
13057
|
+
componentIdentity: "dev.remotion.remotion.HtmlInCanvas",
|
|
12997
13058
|
schema: htmlInCanvasSchema,
|
|
12998
13059
|
supportsEffects: true
|
|
12999
13060
|
});
|
|
@@ -13011,6 +13072,7 @@ function truncateSrcForLabel(src) {
|
|
|
13011
13072
|
var canvasImageSchema = {
|
|
13012
13073
|
durationInFrames: durationInFramesField,
|
|
13013
13074
|
from: fromField,
|
|
13075
|
+
freeze: freezeField,
|
|
13014
13076
|
fit: {
|
|
13015
13077
|
type: "enum",
|
|
13016
13078
|
default: "fill",
|
|
@@ -13116,7 +13178,7 @@ var CanvasImageContent = forwardRef10(({
|
|
|
13116
13178
|
}
|
|
13117
13179
|
return document.createElement("canvas");
|
|
13118
13180
|
}, []);
|
|
13119
|
-
const canvasRef =
|
|
13181
|
+
const canvasRef = useCallback17((canvas) => {
|
|
13120
13182
|
setOutputCanvas(canvas);
|
|
13121
13183
|
if (refForOutline) {
|
|
13122
13184
|
refForOutline.current = canvas;
|
|
@@ -13263,6 +13325,7 @@ var CanvasImageInner = forwardRef10(({
|
|
|
13263
13325
|
delayRenderTimeoutInMilliseconds,
|
|
13264
13326
|
durationInFrames,
|
|
13265
13327
|
from,
|
|
13328
|
+
freeze,
|
|
13266
13329
|
hidden,
|
|
13267
13330
|
name,
|
|
13268
13331
|
showInTimeline,
|
|
@@ -13284,6 +13347,7 @@ var CanvasImageInner = forwardRef10(({
|
|
|
13284
13347
|
layout: "none",
|
|
13285
13348
|
from: from ?? 0,
|
|
13286
13349
|
durationInFrames: durationInFrames ?? Infinity,
|
|
13350
|
+
freeze,
|
|
13287
13351
|
hidden,
|
|
13288
13352
|
showInTimeline: showInTimeline ?? true,
|
|
13289
13353
|
name: name ?? "<CanvasImage>",
|
|
@@ -13316,6 +13380,7 @@ var CanvasImageInner = forwardRef10(({
|
|
|
13316
13380
|
});
|
|
13317
13381
|
var CanvasImage = wrapInSchema({
|
|
13318
13382
|
Component: CanvasImageInner,
|
|
13383
|
+
componentIdentity: "dev.remotion.remotion.CanvasImage",
|
|
13319
13384
|
schema: canvasImageSchema,
|
|
13320
13385
|
supportsEffects: true
|
|
13321
13386
|
});
|
|
@@ -13333,11 +13398,11 @@ var IFrameRefForwarding = ({
|
|
|
13333
13398
|
retries: delayRenderRetries ?? undefined,
|
|
13334
13399
|
timeoutInMilliseconds: delayRenderTimeoutInMilliseconds ?? undefined
|
|
13335
13400
|
}));
|
|
13336
|
-
const didLoad =
|
|
13401
|
+
const didLoad = useCallback18((e) => {
|
|
13337
13402
|
continueRender2(handle);
|
|
13338
13403
|
onLoad?.(e);
|
|
13339
13404
|
}, [handle, onLoad, continueRender2]);
|
|
13340
|
-
const didGetError =
|
|
13405
|
+
const didGetError = useCallback18((e) => {
|
|
13341
13406
|
continueRender2(handle);
|
|
13342
13407
|
if (onError) {
|
|
13343
13408
|
onError(e);
|
|
@@ -13379,7 +13444,7 @@ var ImgContent = ({
|
|
|
13379
13444
|
if (!_propsValid) {
|
|
13380
13445
|
throw new Error("typecheck error");
|
|
13381
13446
|
}
|
|
13382
|
-
const imageCallbackRef =
|
|
13447
|
+
const imageCallbackRef = useCallback19((img) => {
|
|
13383
13448
|
imageRef.current = img;
|
|
13384
13449
|
refForOutline.current = img;
|
|
13385
13450
|
if (typeof ref === "function") {
|
|
@@ -13389,7 +13454,7 @@ var ImgContent = ({
|
|
|
13389
13454
|
}
|
|
13390
13455
|
}, [ref, refForOutline]);
|
|
13391
13456
|
const actualSrc = usePreload(src);
|
|
13392
|
-
const retryIn =
|
|
13457
|
+
const retryIn = useCallback19((timeout) => {
|
|
13393
13458
|
if (!imageRef.current) {
|
|
13394
13459
|
return;
|
|
13395
13460
|
}
|
|
@@ -13407,7 +13472,7 @@ var ImgContent = ({
|
|
|
13407
13472
|
}, timeout);
|
|
13408
13473
|
}, []);
|
|
13409
13474
|
const { delayRender: delayRender2, continueRender: continueRender2, cancelRender: cancelRender2 } = useDelayRender();
|
|
13410
|
-
const didGetError =
|
|
13475
|
+
const didGetError = useCallback19((e) => {
|
|
13411
13476
|
if (!errors.current) {
|
|
13412
13477
|
return;
|
|
13413
13478
|
}
|
|
@@ -13517,6 +13582,7 @@ var NativeImgInner = ({
|
|
|
13517
13582
|
src,
|
|
13518
13583
|
from,
|
|
13519
13584
|
durationInFrames,
|
|
13585
|
+
freeze,
|
|
13520
13586
|
_experimentalControls: controls,
|
|
13521
13587
|
_remotionInternalRefForOutline: refForOutline,
|
|
13522
13588
|
...props2
|
|
@@ -13528,6 +13594,7 @@ var NativeImgInner = ({
|
|
|
13528
13594
|
layout: "none",
|
|
13529
13595
|
from: from ?? 0,
|
|
13530
13596
|
durationInFrames: durationInFrames ?? Infinity,
|
|
13597
|
+
freeze,
|
|
13531
13598
|
_remotionInternalStack: stack,
|
|
13532
13599
|
_remotionInternalDocumentationLink: "https://www.remotion.dev/docs/img",
|
|
13533
13600
|
_remotionInternalIsMedia: { type: "image", src },
|
|
@@ -13547,6 +13614,7 @@ var CanvasImageWithPrivateProps = CanvasImage;
|
|
|
13547
13614
|
var imgSchema = {
|
|
13548
13615
|
durationInFrames: durationInFramesField,
|
|
13549
13616
|
from: fromField,
|
|
13617
|
+
freeze: freezeField,
|
|
13550
13618
|
...sequenceVisualStyleSchema,
|
|
13551
13619
|
hidden: hiddenField
|
|
13552
13620
|
};
|
|
@@ -13602,6 +13670,7 @@ var ImgInner = ({
|
|
|
13602
13670
|
src,
|
|
13603
13671
|
from,
|
|
13604
13672
|
durationInFrames,
|
|
13673
|
+
freeze,
|
|
13605
13674
|
_experimentalControls: controls,
|
|
13606
13675
|
width,
|
|
13607
13676
|
height,
|
|
@@ -13626,6 +13695,7 @@ var ImgInner = ({
|
|
|
13626
13695
|
src,
|
|
13627
13696
|
from,
|
|
13628
13697
|
durationInFrames,
|
|
13698
|
+
freeze,
|
|
13629
13699
|
_experimentalControls: controls,
|
|
13630
13700
|
width,
|
|
13631
13701
|
height,
|
|
@@ -13667,6 +13737,7 @@ var ImgInner = ({
|
|
|
13667
13737
|
delayRenderTimeoutInMilliseconds,
|
|
13668
13738
|
from,
|
|
13669
13739
|
durationInFrames,
|
|
13740
|
+
freeze,
|
|
13670
13741
|
hidden,
|
|
13671
13742
|
name: name ?? "<Img>",
|
|
13672
13743
|
showInTimeline,
|
|
@@ -13679,6 +13750,7 @@ var ImgInner = ({
|
|
|
13679
13750
|
};
|
|
13680
13751
|
var Img = wrapInSchema({
|
|
13681
13752
|
Component: ImgInner,
|
|
13753
|
+
componentIdentity: "dev.remotion.remotion.Img",
|
|
13682
13754
|
schema: imgSchema,
|
|
13683
13755
|
supportsEffects: true
|
|
13684
13756
|
});
|
|
@@ -13686,6 +13758,7 @@ addSequenceStackTraces(Img);
|
|
|
13686
13758
|
var interactiveElementSchema = {
|
|
13687
13759
|
durationInFrames: durationInFramesField,
|
|
13688
13760
|
from: fromField,
|
|
13761
|
+
freeze: freezeField,
|
|
13689
13762
|
...sequenceVisualStyleSchema,
|
|
13690
13763
|
hidden: hiddenField
|
|
13691
13764
|
};
|
|
@@ -13701,6 +13774,7 @@ var makeInteractiveElement = (tag, displayName) => {
|
|
|
13701
13774
|
const {
|
|
13702
13775
|
durationInFrames,
|
|
13703
13776
|
from,
|
|
13777
|
+
freeze,
|
|
13704
13778
|
hidden,
|
|
13705
13779
|
name,
|
|
13706
13780
|
showInTimeline,
|
|
@@ -13709,7 +13783,7 @@ var makeInteractiveElement = (tag, displayName) => {
|
|
|
13709
13783
|
...props2
|
|
13710
13784
|
} = propsWithControls;
|
|
13711
13785
|
const refForOutline = useRef25(null);
|
|
13712
|
-
const callbackRef =
|
|
13786
|
+
const callbackRef = useCallback20((element) => {
|
|
13713
13787
|
refForOutline.current = element;
|
|
13714
13788
|
setRef(ref, element);
|
|
13715
13789
|
}, [ref]);
|
|
@@ -13717,6 +13791,7 @@ var makeInteractiveElement = (tag, displayName) => {
|
|
|
13717
13791
|
layout: "none",
|
|
13718
13792
|
from: from ?? 0,
|
|
13719
13793
|
durationInFrames: durationInFrames ?? Infinity,
|
|
13794
|
+
freeze,
|
|
13720
13795
|
hidden,
|
|
13721
13796
|
name: name ?? displayName,
|
|
13722
13797
|
showInTimeline: showInTimeline ?? true,
|
|
@@ -13733,6 +13808,7 @@ var makeInteractiveElement = (tag, displayName) => {
|
|
|
13733
13808
|
Inner.displayName = displayName;
|
|
13734
13809
|
const Wrapped = wrapInSchema({
|
|
13735
13810
|
Component: Inner,
|
|
13811
|
+
componentIdentity: `dev.remotion.remotion.${displayName.slice(1, -1)}`,
|
|
13736
13812
|
schema: interactiveElementSchema,
|
|
13737
13813
|
supportsEffects: false
|
|
13738
13814
|
});
|
|
@@ -13789,14 +13865,14 @@ var CompositionManagerProvider = ({
|
|
|
13789
13865
|
const [canvasContent, setCanvasContent] = useState18(initialCanvasContent);
|
|
13790
13866
|
const [compositions, setCompositions] = useState18(initialCompositions);
|
|
13791
13867
|
const currentcompositionsRef = useRef26(compositions);
|
|
13792
|
-
const updateCompositions =
|
|
13868
|
+
const updateCompositions = useCallback21((updateComps) => {
|
|
13793
13869
|
setCompositions((comps) => {
|
|
13794
13870
|
const updated = updateComps(comps);
|
|
13795
13871
|
currentcompositionsRef.current = updated;
|
|
13796
13872
|
return updated;
|
|
13797
13873
|
});
|
|
13798
13874
|
}, []);
|
|
13799
|
-
const registerComposition =
|
|
13875
|
+
const registerComposition = useCallback21((comp) => {
|
|
13800
13876
|
updateCompositions((comps) => {
|
|
13801
13877
|
if (comps.find((c2) => c2.id === comp.id)) {
|
|
13802
13878
|
throw new Error(`Multiple composition with id ${comp.id} are registered.`);
|
|
@@ -13804,12 +13880,12 @@ var CompositionManagerProvider = ({
|
|
|
13804
13880
|
return [...comps, comp];
|
|
13805
13881
|
});
|
|
13806
13882
|
}, [updateCompositions]);
|
|
13807
|
-
const unregisterComposition =
|
|
13883
|
+
const unregisterComposition = useCallback21((id) => {
|
|
13808
13884
|
setCompositions((comps) => {
|
|
13809
13885
|
return comps.filter((c2) => c2.id !== id);
|
|
13810
13886
|
});
|
|
13811
13887
|
}, []);
|
|
13812
|
-
const registerFolder =
|
|
13888
|
+
const registerFolder = useCallback21((name, parent, nonce, stack) => {
|
|
13813
13889
|
setFolders((prevFolders) => {
|
|
13814
13890
|
return [
|
|
13815
13891
|
...prevFolders,
|
|
@@ -13822,7 +13898,7 @@ var CompositionManagerProvider = ({
|
|
|
13822
13898
|
];
|
|
13823
13899
|
});
|
|
13824
13900
|
}, []);
|
|
13825
|
-
const unregisterFolder =
|
|
13901
|
+
const unregisterFolder = useCallback21((name, parent) => {
|
|
13826
13902
|
setFolders((prevFolders) => {
|
|
13827
13903
|
return prevFolders.filter((p) => !(p.name === name && p.parent === parent));
|
|
13828
13904
|
});
|
|
@@ -14461,7 +14537,7 @@ var OffthreadVideoForRendering = ({
|
|
|
14461
14537
|
continueRender2,
|
|
14462
14538
|
delayRender2
|
|
14463
14539
|
]);
|
|
14464
|
-
const onErr =
|
|
14540
|
+
const onErr = useCallback22(() => {
|
|
14465
14541
|
if (onError) {
|
|
14466
14542
|
onError?.(new Error("Failed to load image with src " + imageSrc));
|
|
14467
14543
|
} else {
|
|
@@ -14471,7 +14547,7 @@ var OffthreadVideoForRendering = ({
|
|
|
14471
14547
|
const className = useMemo35(() => {
|
|
14472
14548
|
return [OBJECTFIT_CONTAIN_CLASS_NAME, props2.className].filter(truthy).join(" ");
|
|
14473
14549
|
}, [props2.className]);
|
|
14474
|
-
const onImageFrame =
|
|
14550
|
+
const onImageFrame = useCallback22((img) => {
|
|
14475
14551
|
if (onVideoFrame) {
|
|
14476
14552
|
onVideoFrame(img);
|
|
14477
14553
|
}
|
|
@@ -14604,7 +14680,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
14604
14680
|
mediaVolume
|
|
14605
14681
|
});
|
|
14606
14682
|
warnAboutTooHighVolume(userPreferredVolume);
|
|
14607
|
-
const getStack =
|
|
14683
|
+
const getStack = useCallback23(() => {
|
|
14608
14684
|
return _remotionInternalStack ?? null;
|
|
14609
14685
|
}, [_remotionInternalStack]);
|
|
14610
14686
|
useMediaInTimeline({
|
|
@@ -14780,7 +14856,7 @@ var InnerOffthreadVideo = (props2) => {
|
|
|
14780
14856
|
if (environment.isClientSideRendering) {
|
|
14781
14857
|
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");
|
|
14782
14858
|
}
|
|
14783
|
-
const onDuration =
|
|
14859
|
+
const onDuration = useCallback24(() => {
|
|
14784
14860
|
return;
|
|
14785
14861
|
}, []);
|
|
14786
14862
|
if (typeof props2.src !== "string") {
|
|
@@ -15159,6 +15235,7 @@ var Internals = {
|
|
|
15159
15235
|
getEffectPropStatusesCtx,
|
|
15160
15236
|
hiddenField,
|
|
15161
15237
|
durationInFramesField,
|
|
15238
|
+
freezeField,
|
|
15162
15239
|
fromField
|
|
15163
15240
|
};
|
|
15164
15241
|
var flattenChildren = (children) => {
|
|
@@ -15244,6 +15321,7 @@ var SeriesInner = (props2) => {
|
|
|
15244
15321
|
};
|
|
15245
15322
|
var Series = Object.assign(wrapInSchema({
|
|
15246
15323
|
Component: SeriesInner,
|
|
15324
|
+
componentIdentity: "dev.remotion.remotion.Series",
|
|
15247
15325
|
schema: sequenceSchemaDefaultLayoutNone,
|
|
15248
15326
|
supportsEffects: false
|
|
15249
15327
|
}), {
|
|
@@ -15708,7 +15786,7 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
15708
15786
|
throw new TypeError(`The \`<Html5Video>\` tag requires a string for \`src\`, but got ${JSON.stringify(props2.src)} instead.`);
|
|
15709
15787
|
}
|
|
15710
15788
|
const preloadedSrc = usePreload(props2.src);
|
|
15711
|
-
const onDuration =
|
|
15789
|
+
const onDuration = useCallback25((src, durationInSeconds) => {
|
|
15712
15790
|
setDurations({ type: "got-duration", durationInSeconds, src });
|
|
15713
15791
|
}, [setDurations]);
|
|
15714
15792
|
const durationFetched = durations[getAbsoluteSrc(preloadedSrc)] ?? durations[getAbsoluteSrc(props2.src)];
|
|
@@ -15818,7 +15896,7 @@ addSequenceStackTraces(Composition);
|
|
|
15818
15896
|
addSequenceStackTraces(Folder);
|
|
15819
15897
|
|
|
15820
15898
|
// ../shapes/dist/esm/index.mjs
|
|
15821
|
-
import React, { useCallback as
|
|
15899
|
+
import React, { useCallback as useCallback26, useMemo as useMemo40, useRef as useRef29 } from "react";
|
|
15822
15900
|
import { version } from "react-dom";
|
|
15823
15901
|
import { jsx as jsx40, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
15824
15902
|
import { jsx as jsx210 } from "react/jsx-runtime";
|
|
@@ -15830,6 +15908,7 @@ import { jsx as jsx72 } from "react/jsx-runtime";
|
|
|
15830
15908
|
import { jsx as jsx82 } from "react/jsx-runtime";
|
|
15831
15909
|
import { jsx as jsx92 } from "react/jsx-runtime";
|
|
15832
15910
|
import { jsx as jsx102 } from "react/jsx-runtime";
|
|
15911
|
+
import { jsx as jsx112 } from "react/jsx-runtime";
|
|
15833
15912
|
var unitDir = (from, to) => {
|
|
15834
15913
|
const dx = to[0] - from[0];
|
|
15835
15914
|
const dy = to[1] - from[1];
|
|
@@ -15988,6 +16067,7 @@ var RenderSvg = ({
|
|
|
15988
16067
|
pixelDensity,
|
|
15989
16068
|
durationInFrames,
|
|
15990
16069
|
from,
|
|
16070
|
+
freeze,
|
|
15991
16071
|
hidden,
|
|
15992
16072
|
name,
|
|
15993
16073
|
showInTimeline,
|
|
@@ -16008,10 +16088,10 @@ var RenderSvg = ({
|
|
|
16008
16088
|
};
|
|
16009
16089
|
}, [pathStyle]);
|
|
16010
16090
|
const outlineRef = useRef29(null);
|
|
16011
|
-
const setSvgRef =
|
|
16091
|
+
const setSvgRef = useCallback26((node) => {
|
|
16012
16092
|
outlineRef.current = node;
|
|
16013
16093
|
}, []);
|
|
16014
|
-
const setCanvasRef =
|
|
16094
|
+
const setCanvasRef = useCallback26((canvas) => {
|
|
16015
16095
|
outlineRef.current = canvas;
|
|
16016
16096
|
}, []);
|
|
16017
16097
|
const memoizedEffectDefinitions = Internals.useMemoizedEffectDefinitions(effects);
|
|
@@ -16096,6 +16176,7 @@ var RenderSvg = ({
|
|
|
16096
16176
|
return /* @__PURE__ */ jsx40(Sequence, {
|
|
16097
16177
|
layout: "none",
|
|
16098
16178
|
from,
|
|
16179
|
+
freeze,
|
|
16099
16180
|
hidden,
|
|
16100
16181
|
showInTimeline,
|
|
16101
16182
|
_experimentalControls: controls,
|
|
@@ -16161,6 +16242,7 @@ var enumField = ({
|
|
|
16161
16242
|
var makeShapeSchema = (shapeFields) => {
|
|
16162
16243
|
return {
|
|
16163
16244
|
from: Internals.sequenceSchema.from,
|
|
16245
|
+
freeze: Internals.sequenceSchema.freeze,
|
|
16164
16246
|
durationInFrames: Internals.sequenceSchema.durationInFrames,
|
|
16165
16247
|
...shapeFields,
|
|
16166
16248
|
fill: colorField({
|
|
@@ -16228,10 +16310,435 @@ var ArrowInner = ({
|
|
|
16228
16310
|
};
|
|
16229
16311
|
var Arrow = Internals.wrapInSchema({
|
|
16230
16312
|
Component: ArrowInner,
|
|
16313
|
+
componentIdentity: "dev.remotion.shapes.Arrow",
|
|
16231
16314
|
schema: arrowSchema,
|
|
16232
16315
|
supportsEffects: true
|
|
16233
16316
|
});
|
|
16234
16317
|
Internals.addSequenceStackTraces(Arrow);
|
|
16318
|
+
var shortenVector = (vector, radius) => {
|
|
16319
|
+
const [x, y] = vector;
|
|
16320
|
+
const currentLength = Math.sqrt(x * x + y * y);
|
|
16321
|
+
const scalingFactor = (currentLength - radius) / currentLength;
|
|
16322
|
+
return [x * scalingFactor, y * scalingFactor];
|
|
16323
|
+
};
|
|
16324
|
+
var scaleVectorToLength = (vector, length2) => {
|
|
16325
|
+
const [x, y] = vector;
|
|
16326
|
+
const currentLength = Math.sqrt(x * x + y * y);
|
|
16327
|
+
const scalingFactor = length2 / currentLength;
|
|
16328
|
+
return [x * scalingFactor, y * scalingFactor];
|
|
16329
|
+
};
|
|
16330
|
+
var joinPoints = (points, {
|
|
16331
|
+
edgeRoundness,
|
|
16332
|
+
cornerRadius,
|
|
16333
|
+
roundCornerStrategy
|
|
16334
|
+
}) => {
|
|
16335
|
+
return points.map(([x, y], i) => {
|
|
16336
|
+
const prevPointIndex = i === 0 ? points.length - 2 : i - 1;
|
|
16337
|
+
const prevPoint = points[prevPointIndex];
|
|
16338
|
+
const nextPointIndex = i === points.length - 1 ? 1 : i + 1;
|
|
16339
|
+
const nextPoint = points[nextPointIndex];
|
|
16340
|
+
const middleOfLine = [(x + nextPoint[0]) / 2, (y + nextPoint[1]) / 2];
|
|
16341
|
+
const prevPointMiddleOfLine = [
|
|
16342
|
+
(x + prevPoint[0]) / 2,
|
|
16343
|
+
(y + prevPoint[1]) / 2
|
|
16344
|
+
];
|
|
16345
|
+
const prevVector = [x - prevPoint[0], y - prevPoint[1]];
|
|
16346
|
+
const nextVector = [nextPoint[0] - x, nextPoint[1] - y];
|
|
16347
|
+
if (i === 0) {
|
|
16348
|
+
if (edgeRoundness !== null) {
|
|
16349
|
+
return [
|
|
16350
|
+
{
|
|
16351
|
+
type: "M",
|
|
16352
|
+
x: middleOfLine[0],
|
|
16353
|
+
y: middleOfLine[1]
|
|
16354
|
+
}
|
|
16355
|
+
];
|
|
16356
|
+
}
|
|
16357
|
+
if (cornerRadius !== 0) {
|
|
16358
|
+
const computeRadius = shortenVector(nextVector, cornerRadius);
|
|
16359
|
+
return [
|
|
16360
|
+
{
|
|
16361
|
+
type: "M",
|
|
16362
|
+
x: computeRadius[0] + x,
|
|
16363
|
+
y: computeRadius[1] + y
|
|
16364
|
+
}
|
|
16365
|
+
];
|
|
16366
|
+
}
|
|
16367
|
+
return [
|
|
16368
|
+
{
|
|
16369
|
+
type: "M",
|
|
16370
|
+
x,
|
|
16371
|
+
y
|
|
16372
|
+
}
|
|
16373
|
+
];
|
|
16374
|
+
}
|
|
16375
|
+
if (cornerRadius && edgeRoundness !== null) {
|
|
16376
|
+
throw new Error(`"cornerRadius" and "edgeRoundness" cannot be specified at the same time.`);
|
|
16377
|
+
}
|
|
16378
|
+
if (edgeRoundness === null) {
|
|
16379
|
+
if (cornerRadius === 0) {
|
|
16380
|
+
return [
|
|
16381
|
+
{
|
|
16382
|
+
type: "L",
|
|
16383
|
+
x,
|
|
16384
|
+
y
|
|
16385
|
+
}
|
|
16386
|
+
];
|
|
16387
|
+
}
|
|
16388
|
+
const prevVectorMinusRadius = shortenVector(prevVector, cornerRadius);
|
|
16389
|
+
const prevVectorLength = scaleVectorToLength(prevVector, cornerRadius);
|
|
16390
|
+
const nextVectorMinusRadius = scaleVectorToLength(nextVector, cornerRadius);
|
|
16391
|
+
const firstDraw = [
|
|
16392
|
+
prevPoint[0] + prevVectorMinusRadius[0],
|
|
16393
|
+
prevPoint[1] + prevVectorMinusRadius[1]
|
|
16394
|
+
];
|
|
16395
|
+
return [
|
|
16396
|
+
{
|
|
16397
|
+
type: "L",
|
|
16398
|
+
x: firstDraw[0],
|
|
16399
|
+
y: firstDraw[1]
|
|
16400
|
+
},
|
|
16401
|
+
roundCornerStrategy === "arc" ? {
|
|
16402
|
+
type: "a",
|
|
16403
|
+
rx: cornerRadius,
|
|
16404
|
+
ry: cornerRadius,
|
|
16405
|
+
xAxisRotation: 0,
|
|
16406
|
+
dx: prevVectorLength[0] + nextVectorMinusRadius[0],
|
|
16407
|
+
dy: prevVectorLength[1] + nextVectorMinusRadius[1],
|
|
16408
|
+
largeArcFlag: false,
|
|
16409
|
+
sweepFlag: true
|
|
16410
|
+
} : {
|
|
16411
|
+
type: "C",
|
|
16412
|
+
x: firstDraw[0] + prevVectorLength[0] + nextVectorMinusRadius[0],
|
|
16413
|
+
y: firstDraw[1] + prevVectorLength[1] + nextVectorMinusRadius[1],
|
|
16414
|
+
cp1x: x,
|
|
16415
|
+
cp1y: y,
|
|
16416
|
+
cp2x: x,
|
|
16417
|
+
cp2y: y
|
|
16418
|
+
}
|
|
16419
|
+
];
|
|
16420
|
+
}
|
|
16421
|
+
const controlPoint1 = [
|
|
16422
|
+
prevPointMiddleOfLine[0] + prevVector[0] * edgeRoundness * 0.5,
|
|
16423
|
+
prevPointMiddleOfLine[1] + prevVector[1] * edgeRoundness * 0.5
|
|
16424
|
+
];
|
|
16425
|
+
const controlPoint2 = [
|
|
16426
|
+
middleOfLine[0] - nextVector[0] * edgeRoundness * 0.5,
|
|
16427
|
+
middleOfLine[1] - nextVector[1] * edgeRoundness * 0.5
|
|
16428
|
+
];
|
|
16429
|
+
return [
|
|
16430
|
+
{
|
|
16431
|
+
type: "C",
|
|
16432
|
+
cp1x: controlPoint1[0],
|
|
16433
|
+
cp1y: controlPoint1[1],
|
|
16434
|
+
cp2x: controlPoint2[0],
|
|
16435
|
+
cp2y: controlPoint2[1],
|
|
16436
|
+
x: middleOfLine[0],
|
|
16437
|
+
y: middleOfLine[1]
|
|
16438
|
+
}
|
|
16439
|
+
];
|
|
16440
|
+
}).flat(1);
|
|
16441
|
+
};
|
|
16442
|
+
var ensurePositive = (name, value) => {
|
|
16443
|
+
if (typeof value !== "number" || value <= 0) {
|
|
16444
|
+
throw new Error(`"${name}" must be a positive number, got ${value}`);
|
|
16445
|
+
}
|
|
16446
|
+
};
|
|
16447
|
+
var pointerInterval = ({
|
|
16448
|
+
availableLength,
|
|
16449
|
+
pointerBaseWidth,
|
|
16450
|
+
pointerPosition
|
|
16451
|
+
}) => {
|
|
16452
|
+
const center = availableLength * pointerPosition;
|
|
16453
|
+
const half = pointerBaseWidth / 2;
|
|
16454
|
+
return {
|
|
16455
|
+
center,
|
|
16456
|
+
start: Math.max(0, center - half),
|
|
16457
|
+
end: Math.min(availableLength, center + half)
|
|
16458
|
+
};
|
|
16459
|
+
};
|
|
16460
|
+
var areSamePoint = (a2, b2) => {
|
|
16461
|
+
return a2[0] === b2[0] && a2[1] === b2[1];
|
|
16462
|
+
};
|
|
16463
|
+
var normalizeClosedPoints = (points) => {
|
|
16464
|
+
const deduplicated = points.reduce((acc, entry) => {
|
|
16465
|
+
const previous = acc[acc.length - 1];
|
|
16466
|
+
if (previous && areSamePoint(previous.point, entry.point)) {
|
|
16467
|
+
acc[acc.length - 1] = {
|
|
16468
|
+
point: previous.point,
|
|
16469
|
+
round: previous.round && entry.round
|
|
16470
|
+
};
|
|
16471
|
+
return acc;
|
|
16472
|
+
}
|
|
16473
|
+
return [...acc, entry];
|
|
16474
|
+
}, []);
|
|
16475
|
+
if (deduplicated.length === 0) {
|
|
16476
|
+
return deduplicated;
|
|
16477
|
+
}
|
|
16478
|
+
const first = deduplicated[0];
|
|
16479
|
+
const last = deduplicated[deduplicated.length - 1];
|
|
16480
|
+
if (areSamePoint(first.point, last.point)) {
|
|
16481
|
+
const [firstEntry, ...rest] = deduplicated;
|
|
16482
|
+
const withoutLast = rest.slice(0, -1);
|
|
16483
|
+
const mergedFirst = {
|
|
16484
|
+
point: firstEntry.point,
|
|
16485
|
+
round: firstEntry.round && last.round
|
|
16486
|
+
};
|
|
16487
|
+
return [mergedFirst, ...withoutLast, mergedFirst];
|
|
16488
|
+
}
|
|
16489
|
+
return [...deduplicated, first];
|
|
16490
|
+
};
|
|
16491
|
+
var unitDir2 = (from, to) => {
|
|
16492
|
+
const dx = to[0] - from[0];
|
|
16493
|
+
const dy = to[1] - from[1];
|
|
16494
|
+
const len = Math.sqrt(dx * dx + dy * dy);
|
|
16495
|
+
if (len === 0) {
|
|
16496
|
+
return [0, 0];
|
|
16497
|
+
}
|
|
16498
|
+
return [dx / len, dy / len];
|
|
16499
|
+
};
|
|
16500
|
+
var makeInstructions2 = ({
|
|
16501
|
+
points,
|
|
16502
|
+
edgeRoundness,
|
|
16503
|
+
cornerRadius
|
|
16504
|
+
}) => {
|
|
16505
|
+
const rawPoints = points.map((p) => p.point);
|
|
16506
|
+
if (edgeRoundness !== null || cornerRadius === 0) {
|
|
16507
|
+
return [
|
|
16508
|
+
...joinPoints(rawPoints, {
|
|
16509
|
+
edgeRoundness,
|
|
16510
|
+
cornerRadius,
|
|
16511
|
+
roundCornerStrategy: "arc"
|
|
16512
|
+
}),
|
|
16513
|
+
{
|
|
16514
|
+
type: "Z"
|
|
16515
|
+
}
|
|
16516
|
+
];
|
|
16517
|
+
}
|
|
16518
|
+
const uniquePoints = areSamePoint(points[0].point, points[points.length - 1].point) ? points.slice(0, -1) : points;
|
|
16519
|
+
const firstPoint = uniquePoints[0];
|
|
16520
|
+
const startDir = firstPoint.round ? unitDir2(uniquePoints[0].point, uniquePoints[1].point) : null;
|
|
16521
|
+
const startPoint = startDir ? [
|
|
16522
|
+
firstPoint.point[0] + startDir[0] * cornerRadius,
|
|
16523
|
+
firstPoint.point[1] + startDir[1] * cornerRadius
|
|
16524
|
+
] : firstPoint.point;
|
|
16525
|
+
const instructions = [
|
|
16526
|
+
{ type: "M", x: startPoint[0], y: startPoint[1] }
|
|
16527
|
+
];
|
|
16528
|
+
for (let i = 1;i < uniquePoints.length; i++) {
|
|
16529
|
+
const current = uniquePoints[i];
|
|
16530
|
+
if (!current.round) {
|
|
16531
|
+
instructions.push({
|
|
16532
|
+
type: "L",
|
|
16533
|
+
x: current.point[0],
|
|
16534
|
+
y: current.point[1]
|
|
16535
|
+
});
|
|
16536
|
+
continue;
|
|
16537
|
+
}
|
|
16538
|
+
const previous = uniquePoints[i - 1].point;
|
|
16539
|
+
const next = uniquePoints[(i + 1) % uniquePoints.length].point;
|
|
16540
|
+
const incoming = unitDir2(previous, current.point);
|
|
16541
|
+
const outgoing = unitDir2(current.point, next);
|
|
16542
|
+
const arcStart = [
|
|
16543
|
+
current.point[0] - incoming[0] * cornerRadius,
|
|
16544
|
+
current.point[1] - incoming[1] * cornerRadius
|
|
16545
|
+
];
|
|
16546
|
+
instructions.push({
|
|
16547
|
+
type: "L",
|
|
16548
|
+
x: arcStart[0],
|
|
16549
|
+
y: arcStart[1]
|
|
16550
|
+
}, {
|
|
16551
|
+
type: "a",
|
|
16552
|
+
rx: cornerRadius,
|
|
16553
|
+
ry: cornerRadius,
|
|
16554
|
+
xAxisRotation: 0,
|
|
16555
|
+
dx: incoming[0] * cornerRadius + outgoing[0] * cornerRadius,
|
|
16556
|
+
dy: incoming[1] * cornerRadius + outgoing[1] * cornerRadius,
|
|
16557
|
+
largeArcFlag: false,
|
|
16558
|
+
sweepFlag: true
|
|
16559
|
+
});
|
|
16560
|
+
}
|
|
16561
|
+
if (firstPoint.round) {
|
|
16562
|
+
const previous = uniquePoints[uniquePoints.length - 1].point;
|
|
16563
|
+
const incoming = unitDir2(previous, firstPoint.point);
|
|
16564
|
+
instructions.push({
|
|
16565
|
+
type: "L",
|
|
16566
|
+
x: firstPoint.point[0] - incoming[0] * cornerRadius,
|
|
16567
|
+
y: firstPoint.point[1] - incoming[1] * cornerRadius
|
|
16568
|
+
}, {
|
|
16569
|
+
type: "a",
|
|
16570
|
+
rx: cornerRadius,
|
|
16571
|
+
ry: cornerRadius,
|
|
16572
|
+
xAxisRotation: 0,
|
|
16573
|
+
dx: incoming[0] * cornerRadius + startDir[0] * cornerRadius,
|
|
16574
|
+
dy: incoming[1] * cornerRadius + startDir[1] * cornerRadius,
|
|
16575
|
+
largeArcFlag: false,
|
|
16576
|
+
sweepFlag: true
|
|
16577
|
+
});
|
|
16578
|
+
}
|
|
16579
|
+
instructions.push({ type: "Z" });
|
|
16580
|
+
return instructions;
|
|
16581
|
+
};
|
|
16582
|
+
var makeCallout = ({
|
|
16583
|
+
width = 500,
|
|
16584
|
+
height = 200,
|
|
16585
|
+
pointerLength = 40,
|
|
16586
|
+
pointerBaseWidth = 60,
|
|
16587
|
+
pointerPosition = 0.5,
|
|
16588
|
+
pointerDirection = "down",
|
|
16589
|
+
edgeRoundness = null,
|
|
16590
|
+
cornerRadius = 0
|
|
16591
|
+
}) => {
|
|
16592
|
+
ensurePositive("width", width);
|
|
16593
|
+
ensurePositive("height", height);
|
|
16594
|
+
ensurePositive("pointerLength", pointerLength);
|
|
16595
|
+
ensurePositive("pointerBaseWidth", pointerBaseWidth);
|
|
16596
|
+
if (typeof pointerPosition !== "number" || pointerPosition < 0 || pointerPosition > 1) {
|
|
16597
|
+
throw new Error(`"pointerPosition" must be a number between 0 and 1, got ${pointerPosition}`);
|
|
16598
|
+
}
|
|
16599
|
+
const horizontalInterval = pointerInterval({
|
|
16600
|
+
availableLength: width,
|
|
16601
|
+
pointerBaseWidth,
|
|
16602
|
+
pointerPosition
|
|
16603
|
+
});
|
|
16604
|
+
const verticalInterval = pointerInterval({
|
|
16605
|
+
availableLength: height,
|
|
16606
|
+
pointerBaseWidth,
|
|
16607
|
+
pointerPosition
|
|
16608
|
+
});
|
|
16609
|
+
const pointsByDirection = {
|
|
16610
|
+
up: [
|
|
16611
|
+
{ point: [0, pointerLength], round: true },
|
|
16612
|
+
{ point: [horizontalInterval.start, pointerLength], round: false },
|
|
16613
|
+
{ point: [horizontalInterval.center, 0], round: false },
|
|
16614
|
+
{ point: [horizontalInterval.end, pointerLength], round: false },
|
|
16615
|
+
{ point: [width, pointerLength], round: true },
|
|
16616
|
+
{ point: [width, height + pointerLength], round: true },
|
|
16617
|
+
{ point: [0, height + pointerLength], round: true },
|
|
16618
|
+
{ point: [0, pointerLength], round: true }
|
|
16619
|
+
],
|
|
16620
|
+
down: [
|
|
16621
|
+
{ point: [0, 0], round: true },
|
|
16622
|
+
{ point: [width, 0], round: true },
|
|
16623
|
+
{ point: [width, height], round: true },
|
|
16624
|
+
{ point: [horizontalInterval.end, height], round: false },
|
|
16625
|
+
{
|
|
16626
|
+
point: [horizontalInterval.center, height + pointerLength],
|
|
16627
|
+
round: false
|
|
16628
|
+
},
|
|
16629
|
+
{ point: [horizontalInterval.start, height], round: false },
|
|
16630
|
+
{ point: [0, height], round: true },
|
|
16631
|
+
{ point: [0, 0], round: true }
|
|
16632
|
+
],
|
|
16633
|
+
left: [
|
|
16634
|
+
{ point: [pointerLength, 0], round: true },
|
|
16635
|
+
{ point: [width + pointerLength, 0], round: true },
|
|
16636
|
+
{ point: [width + pointerLength, height], round: true },
|
|
16637
|
+
{ point: [pointerLength, height], round: true },
|
|
16638
|
+
{ point: [pointerLength, verticalInterval.end], round: false },
|
|
16639
|
+
{ point: [0, verticalInterval.center], round: false },
|
|
16640
|
+
{ point: [pointerLength, verticalInterval.start], round: false },
|
|
16641
|
+
{ point: [pointerLength, 0], round: true }
|
|
16642
|
+
],
|
|
16643
|
+
right: [
|
|
16644
|
+
{ point: [0, 0], round: true },
|
|
16645
|
+
{ point: [width, 0], round: true },
|
|
16646
|
+
{ point: [width, verticalInterval.start], round: false },
|
|
16647
|
+
{ point: [width + pointerLength, verticalInterval.center], round: false },
|
|
16648
|
+
{ point: [width, verticalInterval.end], round: false },
|
|
16649
|
+
{ point: [width, height], round: true },
|
|
16650
|
+
{ point: [0, height], round: true },
|
|
16651
|
+
{ point: [0, 0], round: true }
|
|
16652
|
+
]
|
|
16653
|
+
};
|
|
16654
|
+
const points = normalizeClosedPoints(pointsByDirection[pointerDirection]);
|
|
16655
|
+
const instructions = makeInstructions2({ points, edgeRoundness, cornerRadius });
|
|
16656
|
+
const path = serializeInstructions(instructions);
|
|
16657
|
+
const shapeWidth = pointerDirection === "left" || pointerDirection === "right" ? width + pointerLength : width;
|
|
16658
|
+
const shapeHeight = pointerDirection === "up" || pointerDirection === "down" ? height + pointerLength : height;
|
|
16659
|
+
const bodyX = pointerDirection === "left" ? pointerLength : 0;
|
|
16660
|
+
const bodyY = pointerDirection === "up" ? pointerLength : 0;
|
|
16661
|
+
return {
|
|
16662
|
+
width: shapeWidth,
|
|
16663
|
+
height: shapeHeight,
|
|
16664
|
+
instructions,
|
|
16665
|
+
path,
|
|
16666
|
+
transformOrigin: `${bodyX + width / 2} ${bodyY + height / 2}`
|
|
16667
|
+
};
|
|
16668
|
+
};
|
|
16669
|
+
var calloutSchema = makeShapeSchema({
|
|
16670
|
+
width: numberField({
|
|
16671
|
+
defaultValue: 500,
|
|
16672
|
+
description: "Width",
|
|
16673
|
+
min: 1
|
|
16674
|
+
}),
|
|
16675
|
+
height: numberField({
|
|
16676
|
+
defaultValue: 200,
|
|
16677
|
+
description: "Height",
|
|
16678
|
+
min: 1
|
|
16679
|
+
}),
|
|
16680
|
+
pointerLength: numberField({
|
|
16681
|
+
defaultValue: 40,
|
|
16682
|
+
description: "Pointer Length",
|
|
16683
|
+
min: 1
|
|
16684
|
+
}),
|
|
16685
|
+
pointerBaseWidth: numberField({
|
|
16686
|
+
defaultValue: 60,
|
|
16687
|
+
description: "Pointer Base Width",
|
|
16688
|
+
min: 1
|
|
16689
|
+
}),
|
|
16690
|
+
pointerPosition: numberField({
|
|
16691
|
+
defaultValue: 0.5,
|
|
16692
|
+
description: "Pointer Position",
|
|
16693
|
+
min: 0,
|
|
16694
|
+
max: 1,
|
|
16695
|
+
step: 0.01
|
|
16696
|
+
}),
|
|
16697
|
+
pointerDirection: enumField({
|
|
16698
|
+
defaultValue: "down",
|
|
16699
|
+
description: "Pointer Direction",
|
|
16700
|
+
variants: ["up", "down", "left", "right"]
|
|
16701
|
+
}),
|
|
16702
|
+
cornerRadius: numberField({
|
|
16703
|
+
defaultValue: 0,
|
|
16704
|
+
description: "Corner Radius",
|
|
16705
|
+
min: 0
|
|
16706
|
+
})
|
|
16707
|
+
});
|
|
16708
|
+
var CalloutInner = ({
|
|
16709
|
+
width,
|
|
16710
|
+
height,
|
|
16711
|
+
pointerLength,
|
|
16712
|
+
pointerBaseWidth,
|
|
16713
|
+
pointerPosition,
|
|
16714
|
+
pointerDirection,
|
|
16715
|
+
edgeRoundness,
|
|
16716
|
+
cornerRadius,
|
|
16717
|
+
...props
|
|
16718
|
+
}) => {
|
|
16719
|
+
return /* @__PURE__ */ jsx310(RenderSvg, {
|
|
16720
|
+
defaultName: "<Callout>",
|
|
16721
|
+
documentationLink: "https://www.remotion.dev/docs/shapes/callout",
|
|
16722
|
+
...makeCallout({
|
|
16723
|
+
width,
|
|
16724
|
+
height,
|
|
16725
|
+
pointerLength,
|
|
16726
|
+
pointerBaseWidth,
|
|
16727
|
+
pointerPosition,
|
|
16728
|
+
pointerDirection,
|
|
16729
|
+
edgeRoundness,
|
|
16730
|
+
cornerRadius
|
|
16731
|
+
}),
|
|
16732
|
+
...props
|
|
16733
|
+
});
|
|
16734
|
+
};
|
|
16735
|
+
var Callout = Internals.wrapInSchema({
|
|
16736
|
+
Component: CalloutInner,
|
|
16737
|
+
componentIdentity: "dev.remotion.shapes.Callout",
|
|
16738
|
+
schema: calloutSchema,
|
|
16739
|
+
supportsEffects: true
|
|
16740
|
+
});
|
|
16741
|
+
Internals.addSequenceStackTraces(Callout);
|
|
16235
16742
|
var makeCircle = ({ radius }) => {
|
|
16236
16743
|
const instructions = [
|
|
16237
16744
|
{
|
|
@@ -16280,7 +16787,7 @@ var circleSchema = makeShapeSchema({
|
|
|
16280
16787
|
})
|
|
16281
16788
|
});
|
|
16282
16789
|
var CircleInner = ({ radius, ...props }) => {
|
|
16283
|
-
return /* @__PURE__ */
|
|
16790
|
+
return /* @__PURE__ */ jsx43(RenderSvg, {
|
|
16284
16791
|
defaultName: "<Circle>",
|
|
16285
16792
|
documentationLink: "https://www.remotion.dev/docs/shapes/circle",
|
|
16286
16793
|
...makeCircle({ radius }),
|
|
@@ -16289,6 +16796,7 @@ var CircleInner = ({ radius, ...props }) => {
|
|
|
16289
16796
|
};
|
|
16290
16797
|
var Circle = Internals.wrapInSchema({
|
|
16291
16798
|
Component: CircleInner,
|
|
16799
|
+
componentIdentity: "dev.remotion.shapes.Circle",
|
|
16292
16800
|
schema: circleSchema,
|
|
16293
16801
|
supportsEffects: true
|
|
16294
16802
|
});
|
|
@@ -16336,7 +16844,7 @@ var ellipseSchema = makeShapeSchema({
|
|
|
16336
16844
|
})
|
|
16337
16845
|
});
|
|
16338
16846
|
var EllipseInner = ({ rx, ry, ...props }) => {
|
|
16339
|
-
return /* @__PURE__ */
|
|
16847
|
+
return /* @__PURE__ */ jsx52(RenderSvg, {
|
|
16340
16848
|
defaultName: "<Ellipse>",
|
|
16341
16849
|
documentationLink: "https://www.remotion.dev/docs/shapes/ellipse",
|
|
16342
16850
|
...makeEllipse({ rx, ry }),
|
|
@@ -16345,6 +16853,7 @@ var EllipseInner = ({ rx, ry, ...props }) => {
|
|
|
16345
16853
|
};
|
|
16346
16854
|
var Ellipse = Internals.wrapInSchema({
|
|
16347
16855
|
Component: EllipseInner,
|
|
16856
|
+
componentIdentity: "dev.remotion.shapes.Ellipse",
|
|
16348
16857
|
schema: ellipseSchema,
|
|
16349
16858
|
supportsEffects: true
|
|
16350
16859
|
});
|
|
@@ -16468,7 +16977,7 @@ var HeartInner = ({
|
|
|
16468
16977
|
depthAdjustment = 0,
|
|
16469
16978
|
...props
|
|
16470
16979
|
}) => {
|
|
16471
|
-
return /* @__PURE__ */
|
|
16980
|
+
return /* @__PURE__ */ jsx62(RenderSvg, {
|
|
16472
16981
|
defaultName: "<Heart>",
|
|
16473
16982
|
documentationLink: "https://www.remotion.dev/docs/shapes/heart",
|
|
16474
16983
|
...makeHeart({
|
|
@@ -16482,6 +16991,7 @@ var HeartInner = ({
|
|
|
16482
16991
|
};
|
|
16483
16992
|
var Heart = Internals.wrapInSchema({
|
|
16484
16993
|
Component: HeartInner,
|
|
16994
|
+
componentIdentity: "dev.remotion.shapes.Heart",
|
|
16485
16995
|
schema: heartSchema,
|
|
16486
16996
|
supportsEffects: true
|
|
16487
16997
|
});
|
|
@@ -16626,7 +17136,7 @@ var PieInner = ({
|
|
|
16626
17136
|
rotation,
|
|
16627
17137
|
...props
|
|
16628
17138
|
}) => {
|
|
16629
|
-
return /* @__PURE__ */
|
|
17139
|
+
return /* @__PURE__ */ jsx72(RenderSvg, {
|
|
16630
17140
|
defaultName: "<Pie>",
|
|
16631
17141
|
documentationLink: "https://www.remotion.dev/docs/shapes/pie",
|
|
16632
17142
|
...makePie({ radius, progress, closePath, counterClockwise, rotation }),
|
|
@@ -16635,134 +17145,11 @@ var PieInner = ({
|
|
|
16635
17145
|
};
|
|
16636
17146
|
var Pie = Internals.wrapInSchema({
|
|
16637
17147
|
Component: PieInner,
|
|
17148
|
+
componentIdentity: "dev.remotion.shapes.Pie",
|
|
16638
17149
|
schema: pieSchema,
|
|
16639
17150
|
supportsEffects: true
|
|
16640
17151
|
});
|
|
16641
17152
|
Internals.addSequenceStackTraces(Pie);
|
|
16642
|
-
var shortenVector = (vector, radius) => {
|
|
16643
|
-
const [x, y] = vector;
|
|
16644
|
-
const currentLength = Math.sqrt(x * x + y * y);
|
|
16645
|
-
const scalingFactor = (currentLength - radius) / currentLength;
|
|
16646
|
-
return [x * scalingFactor, y * scalingFactor];
|
|
16647
|
-
};
|
|
16648
|
-
var scaleVectorToLength = (vector, length2) => {
|
|
16649
|
-
const [x, y] = vector;
|
|
16650
|
-
const currentLength = Math.sqrt(x * x + y * y);
|
|
16651
|
-
const scalingFactor = length2 / currentLength;
|
|
16652
|
-
return [x * scalingFactor, y * scalingFactor];
|
|
16653
|
-
};
|
|
16654
|
-
var joinPoints = (points, {
|
|
16655
|
-
edgeRoundness,
|
|
16656
|
-
cornerRadius,
|
|
16657
|
-
roundCornerStrategy
|
|
16658
|
-
}) => {
|
|
16659
|
-
return points.map(([x, y], i) => {
|
|
16660
|
-
const prevPointIndex = i === 0 ? points.length - 2 : i - 1;
|
|
16661
|
-
const prevPoint = points[prevPointIndex];
|
|
16662
|
-
const nextPointIndex = i === points.length - 1 ? 1 : i + 1;
|
|
16663
|
-
const nextPoint = points[nextPointIndex];
|
|
16664
|
-
const middleOfLine = [(x + nextPoint[0]) / 2, (y + nextPoint[1]) / 2];
|
|
16665
|
-
const prevPointMiddleOfLine = [
|
|
16666
|
-
(x + prevPoint[0]) / 2,
|
|
16667
|
-
(y + prevPoint[1]) / 2
|
|
16668
|
-
];
|
|
16669
|
-
const prevVector = [x - prevPoint[0], y - prevPoint[1]];
|
|
16670
|
-
const nextVector = [nextPoint[0] - x, nextPoint[1] - y];
|
|
16671
|
-
if (i === 0) {
|
|
16672
|
-
if (edgeRoundness !== null) {
|
|
16673
|
-
return [
|
|
16674
|
-
{
|
|
16675
|
-
type: "M",
|
|
16676
|
-
x: middleOfLine[0],
|
|
16677
|
-
y: middleOfLine[1]
|
|
16678
|
-
}
|
|
16679
|
-
];
|
|
16680
|
-
}
|
|
16681
|
-
if (cornerRadius !== 0) {
|
|
16682
|
-
const computeRadius = shortenVector(nextVector, cornerRadius);
|
|
16683
|
-
return [
|
|
16684
|
-
{
|
|
16685
|
-
type: "M",
|
|
16686
|
-
x: computeRadius[0] + x,
|
|
16687
|
-
y: computeRadius[1] + y
|
|
16688
|
-
}
|
|
16689
|
-
];
|
|
16690
|
-
}
|
|
16691
|
-
return [
|
|
16692
|
-
{
|
|
16693
|
-
type: "M",
|
|
16694
|
-
x,
|
|
16695
|
-
y
|
|
16696
|
-
}
|
|
16697
|
-
];
|
|
16698
|
-
}
|
|
16699
|
-
if (cornerRadius && edgeRoundness !== null) {
|
|
16700
|
-
throw new Error(`"cornerRadius" and "edgeRoundness" cannot be specified at the same time.`);
|
|
16701
|
-
}
|
|
16702
|
-
if (edgeRoundness === null) {
|
|
16703
|
-
if (cornerRadius === 0) {
|
|
16704
|
-
return [
|
|
16705
|
-
{
|
|
16706
|
-
type: "L",
|
|
16707
|
-
x,
|
|
16708
|
-
y
|
|
16709
|
-
}
|
|
16710
|
-
];
|
|
16711
|
-
}
|
|
16712
|
-
const prevVectorMinusRadius = shortenVector(prevVector, cornerRadius);
|
|
16713
|
-
const prevVectorLength = scaleVectorToLength(prevVector, cornerRadius);
|
|
16714
|
-
const nextVectorMinusRadius = scaleVectorToLength(nextVector, cornerRadius);
|
|
16715
|
-
const firstDraw = [
|
|
16716
|
-
prevPoint[0] + prevVectorMinusRadius[0],
|
|
16717
|
-
prevPoint[1] + prevVectorMinusRadius[1]
|
|
16718
|
-
];
|
|
16719
|
-
return [
|
|
16720
|
-
{
|
|
16721
|
-
type: "L",
|
|
16722
|
-
x: firstDraw[0],
|
|
16723
|
-
y: firstDraw[1]
|
|
16724
|
-
},
|
|
16725
|
-
roundCornerStrategy === "arc" ? {
|
|
16726
|
-
type: "a",
|
|
16727
|
-
rx: cornerRadius,
|
|
16728
|
-
ry: cornerRadius,
|
|
16729
|
-
xAxisRotation: 0,
|
|
16730
|
-
dx: prevVectorLength[0] + nextVectorMinusRadius[0],
|
|
16731
|
-
dy: prevVectorLength[1] + nextVectorMinusRadius[1],
|
|
16732
|
-
largeArcFlag: false,
|
|
16733
|
-
sweepFlag: true
|
|
16734
|
-
} : {
|
|
16735
|
-
type: "C",
|
|
16736
|
-
x: firstDraw[0] + prevVectorLength[0] + nextVectorMinusRadius[0],
|
|
16737
|
-
y: firstDraw[1] + prevVectorLength[1] + nextVectorMinusRadius[1],
|
|
16738
|
-
cp1x: x,
|
|
16739
|
-
cp1y: y,
|
|
16740
|
-
cp2x: x,
|
|
16741
|
-
cp2y: y
|
|
16742
|
-
}
|
|
16743
|
-
];
|
|
16744
|
-
}
|
|
16745
|
-
const controlPoint1 = [
|
|
16746
|
-
prevPointMiddleOfLine[0] + prevVector[0] * edgeRoundness * 0.5,
|
|
16747
|
-
prevPointMiddleOfLine[1] + prevVector[1] * edgeRoundness * 0.5
|
|
16748
|
-
];
|
|
16749
|
-
const controlPoint2 = [
|
|
16750
|
-
middleOfLine[0] - nextVector[0] * edgeRoundness * 0.5,
|
|
16751
|
-
middleOfLine[1] - nextVector[1] * edgeRoundness * 0.5
|
|
16752
|
-
];
|
|
16753
|
-
return [
|
|
16754
|
-
{
|
|
16755
|
-
type: "C",
|
|
16756
|
-
cp1x: controlPoint1[0],
|
|
16757
|
-
cp1y: controlPoint1[1],
|
|
16758
|
-
cp2x: controlPoint2[0],
|
|
16759
|
-
cp2y: controlPoint2[1],
|
|
16760
|
-
x: middleOfLine[0],
|
|
16761
|
-
y: middleOfLine[1]
|
|
16762
|
-
}
|
|
16763
|
-
];
|
|
16764
|
-
}).flat(1);
|
|
16765
|
-
};
|
|
16766
17153
|
function polygon({
|
|
16767
17154
|
points,
|
|
16768
17155
|
radius,
|
|
@@ -16843,7 +17230,7 @@ var PolygonInner = ({
|
|
|
16843
17230
|
edgeRoundness,
|
|
16844
17231
|
...props
|
|
16845
17232
|
}) => {
|
|
16846
|
-
return /* @__PURE__ */
|
|
17233
|
+
return /* @__PURE__ */ jsx82(RenderSvg, {
|
|
16847
17234
|
defaultName: "<Polygon>",
|
|
16848
17235
|
documentationLink: "https://www.remotion.dev/docs/shapes/polygon",
|
|
16849
17236
|
...makePolygon({
|
|
@@ -16857,6 +17244,7 @@ var PolygonInner = ({
|
|
|
16857
17244
|
};
|
|
16858
17245
|
var Polygon = Internals.wrapInSchema({
|
|
16859
17246
|
Component: PolygonInner,
|
|
17247
|
+
componentIdentity: "dev.remotion.shapes.Polygon",
|
|
16860
17248
|
schema: polygonSchema,
|
|
16861
17249
|
supportsEffects: true
|
|
16862
17250
|
});
|
|
@@ -16913,7 +17301,7 @@ var RectInner = ({
|
|
|
16913
17301
|
cornerRadius,
|
|
16914
17302
|
...props
|
|
16915
17303
|
}) => {
|
|
16916
|
-
return /* @__PURE__ */
|
|
17304
|
+
return /* @__PURE__ */ jsx92(RenderSvg, {
|
|
16917
17305
|
defaultName: "<Rect>",
|
|
16918
17306
|
documentationLink: "https://www.remotion.dev/docs/shapes/rect",
|
|
16919
17307
|
...makeRect({ height, width, edgeRoundness, cornerRadius }),
|
|
@@ -16922,6 +17310,7 @@ var RectInner = ({
|
|
|
16922
17310
|
};
|
|
16923
17311
|
var Rect = Internals.wrapInSchema({
|
|
16924
17312
|
Component: RectInner,
|
|
17313
|
+
componentIdentity: "dev.remotion.shapes.Rect",
|
|
16925
17314
|
schema: rectSchema,
|
|
16926
17315
|
supportsEffects: true
|
|
16927
17316
|
});
|
|
@@ -17016,7 +17405,7 @@ var StarInner = ({
|
|
|
17016
17405
|
edgeRoundness,
|
|
17017
17406
|
...props
|
|
17018
17407
|
}) => {
|
|
17019
|
-
return /* @__PURE__ */
|
|
17408
|
+
return /* @__PURE__ */ jsx102(RenderSvg, {
|
|
17020
17409
|
defaultName: "<Star>",
|
|
17021
17410
|
documentationLink: "https://www.remotion.dev/docs/shapes/star",
|
|
17022
17411
|
...makeStar({
|
|
@@ -17031,6 +17420,7 @@ var StarInner = ({
|
|
|
17031
17420
|
};
|
|
17032
17421
|
var Star = Internals.wrapInSchema({
|
|
17033
17422
|
Component: StarInner,
|
|
17423
|
+
componentIdentity: "dev.remotion.shapes.Star",
|
|
17034
17424
|
schema: starSchema,
|
|
17035
17425
|
supportsEffects: true
|
|
17036
17426
|
});
|
|
@@ -17127,7 +17517,7 @@ var TriangleInner = ({
|
|
|
17127
17517
|
cornerRadius,
|
|
17128
17518
|
...props
|
|
17129
17519
|
}) => {
|
|
17130
|
-
return /* @__PURE__ */
|
|
17520
|
+
return /* @__PURE__ */ jsx112(RenderSvg, {
|
|
17131
17521
|
defaultName: "<Triangle>",
|
|
17132
17522
|
documentationLink: "https://www.remotion.dev/docs/shapes/triangle",
|
|
17133
17523
|
...makeTriangle({ length: length2, direction, edgeRoundness, cornerRadius }),
|
|
@@ -17136,6 +17526,7 @@ var TriangleInner = ({
|
|
|
17136
17526
|
};
|
|
17137
17527
|
var Triangle = Internals.wrapInSchema({
|
|
17138
17528
|
Component: TriangleInner,
|
|
17529
|
+
componentIdentity: "dev.remotion.shapes.Triangle",
|
|
17139
17530
|
schema: triangleSchema,
|
|
17140
17531
|
supportsEffects: true
|
|
17141
17532
|
});
|
|
@@ -18216,7 +18607,7 @@ import { jsx as jsx83, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
|
18216
18607
|
import { jsx as jsx93 } from "react/jsx-runtime";
|
|
18217
18608
|
import React72 from "react";
|
|
18218
18609
|
import { jsx as jsx103 } from "react/jsx-runtime";
|
|
18219
|
-
import { jsx as
|
|
18610
|
+
import { jsx as jsx113 } from "react/jsx-runtime";
|
|
18220
18611
|
import { jsx as jsx122 } from "react/jsx-runtime";
|
|
18221
18612
|
import * as React36 from "react";
|
|
18222
18613
|
import * as ReactDOM4 from "react-dom";
|
|
@@ -18776,7 +19167,7 @@ var Button = ({
|
|
|
18776
19167
|
const [dimensions, setDimensions] = useState22(null);
|
|
18777
19168
|
const ref = useRef210(null);
|
|
18778
19169
|
const { isActive, progress } = useHoverTransforms(ref, Boolean(disabled || loading));
|
|
18779
|
-
const onPointerEnter =
|
|
19170
|
+
const onPointerEnter = useCallback27((e) => {
|
|
18780
19171
|
if (e.pointerType !== "mouse") {
|
|
18781
19172
|
return;
|
|
18782
19173
|
}
|
|
@@ -18813,7 +19204,7 @@ var Button = ({
|
|
|
18813
19204
|
const isDisabled = disabled || loading;
|
|
18814
19205
|
const isAnchor = !asChild && "href" in rest && rest.href !== undefined;
|
|
18815
19206
|
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);
|
|
18816
|
-
const preventInteraction =
|
|
19207
|
+
const preventInteraction = useCallback27((e) => {
|
|
18817
19208
|
e.preventDefault();
|
|
18818
19209
|
e.stopPropagation();
|
|
18819
19210
|
}, []);
|
|
@@ -19024,7 +19415,7 @@ var Link = ({
|
|
|
19024
19415
|
className,
|
|
19025
19416
|
...props
|
|
19026
19417
|
}) => {
|
|
19027
|
-
return /* @__PURE__ */
|
|
19418
|
+
return /* @__PURE__ */ jsx113("a", {
|
|
19028
19419
|
...props,
|
|
19029
19420
|
className: cn(className, "text-brand underline underline-offset-4"),
|
|
19030
19421
|
children: props.children
|
|
@@ -25104,7 +25495,7 @@ var TrustSection = () => {
|
|
|
25104
25495
|
}),
|
|
25105
25496
|
/* @__PURE__ */ jsx46("div", {
|
|
25106
25497
|
className: "font-brand",
|
|
25107
|
-
children: "
|
|
25498
|
+
children: "We, the founders, own the company. And we just want one thing: Make programmatic video glorious."
|
|
25108
25499
|
})
|
|
25109
25500
|
]
|
|
25110
25501
|
})
|
|
@@ -25170,11 +25561,11 @@ var TrustSection = () => {
|
|
|
25170
25561
|
}),
|
|
25171
25562
|
/* @__PURE__ */ jsx46("div", {
|
|
25172
25563
|
className: "font-brand font-bold text-2xl mb-2",
|
|
25173
|
-
children: "
|
|
25564
|
+
children: "300+ customers"
|
|
25174
25565
|
}),
|
|
25175
25566
|
/* @__PURE__ */ jsx46("div", {
|
|
25176
25567
|
className: "font-brand",
|
|
25177
|
-
children: "More than
|
|
25568
|
+
children: "More than 300 companies trust Remotion, from small businesses to FAANG."
|
|
25178
25569
|
})
|
|
25179
25570
|
]
|
|
25180
25571
|
})
|
|
@@ -25212,7 +25603,7 @@ var TrustSection = () => {
|
|
|
25212
25603
|
}),
|
|
25213
25604
|
/* @__PURE__ */ jsx46("div", {
|
|
25214
25605
|
className: "font-brand font-bold text-2xl mb-2",
|
|
25215
|
-
children: "
|
|
25606
|
+
children: "2M+ videos/month"
|
|
25216
25607
|
}),
|
|
25217
25608
|
/* @__PURE__ */ jsx46("div", {
|
|
25218
25609
|
className: "font-brand",
|
|
@@ -25229,7 +25620,7 @@ var TrustSection = () => {
|
|
|
25229
25620
|
}),
|
|
25230
25621
|
/* @__PURE__ */ jsx46("div", {
|
|
25231
25622
|
className: "font-brand font-bold text-2xl mb-2",
|
|
25232
|
-
children: "
|
|
25623
|
+
children: "50,000+ GitHub stars"
|
|
25233
25624
|
}),
|
|
25234
25625
|
/* @__PURE__ */ jsx46("div", {
|
|
25235
25626
|
className: "font-brand",
|