@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/design.js
CHANGED
|
@@ -36,7 +36,7 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
36
36
|
import * as React23 from "react";
|
|
37
37
|
import * as React3 from "react";
|
|
38
38
|
import { Fragment as Fragment2, jsx as jsx43 } from "react/jsx-runtime";
|
|
39
|
-
import React52, { useCallback as
|
|
39
|
+
import React52, { useCallback as useCallback27, useRef as useRef210, 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) {
|
|
@@ -4173,6 +4173,7 @@ import { useContext as useContext8, useMemo as useMemo7 } from "react";
|
|
|
4173
4173
|
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
4174
4174
|
import {
|
|
4175
4175
|
forwardRef as forwardRef3,
|
|
4176
|
+
useCallback as useCallback6,
|
|
4176
4177
|
useContext as useContext17,
|
|
4177
4178
|
useEffect as useEffect3,
|
|
4178
4179
|
useMemo as useMemo14,
|
|
@@ -4211,14 +4212,14 @@ import {
|
|
|
4211
4212
|
useRef as useRef9,
|
|
4212
4213
|
useState as useState6
|
|
4213
4214
|
} from "react";
|
|
4214
|
-
import React15, { useCallback as
|
|
4215
|
+
import React15, { useCallback as useCallback7, useImperativeHandle, useMemo as useMemo16, useRef as useRef8 } from "react";
|
|
4215
4216
|
import { useEffect as useEffect4, useMemo as useMemo15, useRef as useRef7 } from "react";
|
|
4216
4217
|
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
4217
4218
|
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
4218
4219
|
import { useContext as useContext18, useLayoutEffect as useLayoutEffect4, useState as useState8 } from "react";
|
|
4219
4220
|
import {
|
|
4220
4221
|
createContext as createContext17,
|
|
4221
|
-
useCallback as
|
|
4222
|
+
useCallback as useCallback8,
|
|
4222
4223
|
useImperativeHandle as useImperativeHandle3,
|
|
4223
4224
|
useLayoutEffect as useLayoutEffect3,
|
|
4224
4225
|
useMemo as useMemo17,
|
|
@@ -4226,7 +4227,7 @@ import {
|
|
|
4226
4227
|
useState as useState7
|
|
4227
4228
|
} from "react";
|
|
4228
4229
|
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
4229
|
-
import { forwardRef as forwardRef7, useCallback as
|
|
4230
|
+
import { forwardRef as forwardRef7, useCallback as useCallback14, useContext as useContext30 } from "react";
|
|
4230
4231
|
import React16, { createContext as createContext18, useMemo as useMemo18 } from "react";
|
|
4231
4232
|
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
4232
4233
|
import { useContext as useContext19 } from "react";
|
|
@@ -4234,7 +4235,7 @@ import { createContext as createContext19, useEffect as useEffect6, useState as
|
|
|
4234
4235
|
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
4235
4236
|
import { createContext as createContext20, useMemo as useMemo19, useReducer } from "react";
|
|
4236
4237
|
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
4237
|
-
import { useCallback as
|
|
4238
|
+
import { useCallback as useCallback13 } from "react";
|
|
4238
4239
|
import React22, {
|
|
4239
4240
|
forwardRef as forwardRef5,
|
|
4240
4241
|
useContext as useContext28,
|
|
@@ -4248,7 +4249,7 @@ import { useContext as useContext21, useLayoutEffect as useLayoutEffect5, useRef
|
|
|
4248
4249
|
import React19, {
|
|
4249
4250
|
createContext as createContext21,
|
|
4250
4251
|
createRef as createRef2,
|
|
4251
|
-
useCallback as
|
|
4252
|
+
useCallback as useCallback9,
|
|
4252
4253
|
useContext as useContext20,
|
|
4253
4254
|
useEffect as useEffect7,
|
|
4254
4255
|
useMemo as useMemo21,
|
|
@@ -4261,16 +4262,16 @@ import { useRef as useRef13 } from "react";
|
|
|
4261
4262
|
import { useContext as useContext23, useEffect as useEffect8, useMemo as useMemo22, useState as useState11 } from "react";
|
|
4262
4263
|
import { useContext as useContext22 } from "react";
|
|
4263
4264
|
import {
|
|
4264
|
-
useCallback as
|
|
4265
|
+
useCallback as useCallback12,
|
|
4265
4266
|
useContext as useContext26,
|
|
4266
4267
|
useEffect as useEffect12,
|
|
4267
4268
|
useLayoutEffect as useLayoutEffect7,
|
|
4268
4269
|
useRef as useRef18
|
|
4269
4270
|
} from "react";
|
|
4270
|
-
import { useCallback as
|
|
4271
|
+
import { useCallback as useCallback11, useMemo as useMemo25, useRef as useRef16 } from "react";
|
|
4271
4272
|
import { useContext as useContext25, useMemo as useMemo24 } from "react";
|
|
4272
4273
|
import React20, {
|
|
4273
|
-
useCallback as
|
|
4274
|
+
useCallback as useCallback10,
|
|
4274
4275
|
useContext as useContext24,
|
|
4275
4276
|
useEffect as useEffect9,
|
|
4276
4277
|
useLayoutEffect as useLayoutEffect6,
|
|
@@ -4298,7 +4299,7 @@ import { jsx as jsx22 } from "react/jsx-runtime";
|
|
|
4298
4299
|
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
4299
4300
|
import {
|
|
4300
4301
|
forwardRef as forwardRef8,
|
|
4301
|
-
useCallback as
|
|
4302
|
+
useCallback as useCallback15,
|
|
4302
4303
|
useEffect as useEffect16,
|
|
4303
4304
|
useImperativeHandle as useImperativeHandle6,
|
|
4304
4305
|
useMemo as useMemo29,
|
|
@@ -4309,7 +4310,7 @@ import { jsx as jsx24 } from "react/jsx-runtime";
|
|
|
4309
4310
|
import {
|
|
4310
4311
|
createContext as createContext23,
|
|
4311
4312
|
forwardRef as forwardRef9,
|
|
4312
|
-
useCallback as
|
|
4313
|
+
useCallback as useCallback16,
|
|
4313
4314
|
useContext as useContext31,
|
|
4314
4315
|
useLayoutEffect as useLayoutEffect9,
|
|
4315
4316
|
useMemo as useMemo30,
|
|
@@ -4318,7 +4319,7 @@ import {
|
|
|
4318
4319
|
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
4319
4320
|
import {
|
|
4320
4321
|
forwardRef as forwardRef10,
|
|
4321
|
-
useCallback as
|
|
4322
|
+
useCallback as useCallback17,
|
|
4322
4323
|
useContext as useContext32,
|
|
4323
4324
|
useEffect as useEffect17,
|
|
4324
4325
|
useImperativeHandle as useImperativeHandle7,
|
|
@@ -4327,16 +4328,16 @@ import {
|
|
|
4327
4328
|
useState as useState16
|
|
4328
4329
|
} from "react";
|
|
4329
4330
|
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
4330
|
-
import { forwardRef as forwardRef11, useCallback as
|
|
4331
|
+
import { forwardRef as forwardRef11, useCallback as useCallback18, useState as useState17 } from "react";
|
|
4331
4332
|
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
4332
|
-
import { useCallback as
|
|
4333
|
+
import { useCallback as useCallback19, useContext as useContext33, useLayoutEffect as useLayoutEffect10, useRef as useRef24 } from "react";
|
|
4333
4334
|
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
4334
|
-
import React29, { forwardRef as forwardRef12, useCallback as
|
|
4335
|
+
import React29, { forwardRef as forwardRef12, useCallback as useCallback20, useRef as useRef25 } from "react";
|
|
4335
4336
|
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
4336
4337
|
import { createRef as createRef3 } from "react";
|
|
4337
4338
|
import React30 from "react";
|
|
4338
4339
|
import {
|
|
4339
|
-
useCallback as
|
|
4340
|
+
useCallback as useCallback21,
|
|
4340
4341
|
useImperativeHandle as useImperativeHandle8,
|
|
4341
4342
|
useMemo as useMemo32,
|
|
4342
4343
|
useRef as useRef26,
|
|
@@ -4351,9 +4352,9 @@ import { jsx as jsx32 } from "react/jsx-runtime";
|
|
|
4351
4352
|
import React33 from "react";
|
|
4352
4353
|
import React34, { createContext as createContext25 } from "react";
|
|
4353
4354
|
import React35, { useContext as useContext35 } from "react";
|
|
4354
|
-
import { useCallback as
|
|
4355
|
+
import { useCallback as useCallback24 } from "react";
|
|
4355
4356
|
import {
|
|
4356
|
-
useCallback as
|
|
4357
|
+
useCallback as useCallback22,
|
|
4357
4358
|
useContext as useContext36,
|
|
4358
4359
|
useEffect as useEffect18,
|
|
4359
4360
|
useLayoutEffect as useLayoutEffect11,
|
|
@@ -4363,7 +4364,7 @@ import {
|
|
|
4363
4364
|
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
4364
4365
|
import React37, {
|
|
4365
4366
|
forwardRef as forwardRef13,
|
|
4366
|
-
useCallback as
|
|
4367
|
+
useCallback as useCallback23,
|
|
4367
4368
|
useContext as useContext37,
|
|
4368
4369
|
useEffect as useEffect20,
|
|
4369
4370
|
useImperativeHandle as useImperativeHandle9,
|
|
@@ -4384,7 +4385,7 @@ import {
|
|
|
4384
4385
|
import React40 from "react";
|
|
4385
4386
|
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
4386
4387
|
import React42 from "react";
|
|
4387
|
-
import { forwardRef as forwardRef16, useCallback as
|
|
4388
|
+
import { forwardRef as forwardRef16, useCallback as useCallback25, useContext as useContext39 } from "react";
|
|
4388
4389
|
import {
|
|
4389
4390
|
forwardRef as forwardRef15,
|
|
4390
4391
|
useContext as useContext38,
|
|
@@ -5564,7 +5565,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
|
5564
5565
|
var addSequenceStackTraces = (component) => {
|
|
5565
5566
|
componentsToAddStacksTo.push(component);
|
|
5566
5567
|
};
|
|
5567
|
-
var VERSION = "4.0.
|
|
5568
|
+
var VERSION = "4.0.478";
|
|
5568
5569
|
var checkMultipleRemotionVersions = () => {
|
|
5569
5570
|
if (typeof globalThis === "undefined") {
|
|
5570
5571
|
return;
|
|
@@ -6023,10 +6024,17 @@ var fromField = {
|
|
|
6023
6024
|
step: 1,
|
|
6024
6025
|
hiddenFromList: true
|
|
6025
6026
|
};
|
|
6027
|
+
var freezeField = {
|
|
6028
|
+
type: "number",
|
|
6029
|
+
default: null,
|
|
6030
|
+
step: 1,
|
|
6031
|
+
hiddenFromList: true
|
|
6032
|
+
};
|
|
6026
6033
|
var sequenceSchema = extendSchemaWithSequenceName({
|
|
6027
6034
|
hidden: hiddenField,
|
|
6028
6035
|
showInTimeline: showInTimelineField,
|
|
6029
6036
|
from: fromField,
|
|
6037
|
+
freeze: freezeField,
|
|
6030
6038
|
durationInFrames: durationInFramesField,
|
|
6031
6039
|
layout: {
|
|
6032
6040
|
type: "enum",
|
|
@@ -6041,6 +6049,7 @@ var sequenceSchema = extendSchemaWithSequenceName({
|
|
|
6041
6049
|
var sequenceSchemaWithoutFrom = extendSchemaWithSequenceName({
|
|
6042
6050
|
hidden: hiddenField,
|
|
6043
6051
|
showInTimeline: showInTimelineField,
|
|
6052
|
+
freeze: freezeField,
|
|
6044
6053
|
durationInFrames: durationInFramesField,
|
|
6045
6054
|
layout: sequenceSchema.layout
|
|
6046
6055
|
});
|
|
@@ -8232,6 +8241,7 @@ var mergeValues = ({
|
|
|
8232
8241
|
var stackToOverrideMap = {};
|
|
8233
8242
|
var wrapInSchema = ({
|
|
8234
8243
|
Component,
|
|
8244
|
+
componentIdentity,
|
|
8235
8245
|
schema,
|
|
8236
8246
|
supportsEffects
|
|
8237
8247
|
}) => {
|
|
@@ -8278,7 +8288,8 @@ var wrapInSchema = ({
|
|
|
8278
8288
|
schema: schemaWithSequenceName,
|
|
8279
8289
|
currentRuntimeValueDotNotation,
|
|
8280
8290
|
overrideId,
|
|
8281
|
-
supportsEffects
|
|
8291
|
+
supportsEffects,
|
|
8292
|
+
componentIdentity
|
|
8282
8293
|
};
|
|
8283
8294
|
}, [currentRuntimeValueDotNotation, overrideId]);
|
|
8284
8295
|
const { merged: valuesDotNotation, propsToDelete } = useMemo13(() => {
|
|
@@ -8315,6 +8326,7 @@ var wrapInSchema = ({
|
|
|
8315
8326
|
var EMPTY_EFFECTS = [];
|
|
8316
8327
|
var RegularSequenceRefForwardingFunction = ({
|
|
8317
8328
|
from = 0,
|
|
8329
|
+
freeze,
|
|
8318
8330
|
durationInFrames = Infinity,
|
|
8319
8331
|
children,
|
|
8320
8332
|
name,
|
|
@@ -8330,7 +8342,7 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
8330
8342
|
_remotionInternalPremountDisplay: premountDisplay,
|
|
8331
8343
|
_remotionInternalPostmountDisplay: postmountDisplay,
|
|
8332
8344
|
_remotionInternalIsMedia: isMedia,
|
|
8333
|
-
_remotionInternalRefForOutline:
|
|
8345
|
+
_remotionInternalRefForOutline: passedRefForOutline,
|
|
8334
8346
|
...other
|
|
8335
8347
|
}, ref) => {
|
|
8336
8348
|
const { layout = "absolute-fill" } = other;
|
|
@@ -8358,11 +8370,24 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
8358
8370
|
if (!Number.isFinite(from)) {
|
|
8359
8371
|
throw new TypeError(`The "from" prop of a sequence must be finite, but got ${from}.`);
|
|
8360
8372
|
}
|
|
8373
|
+
if (typeof freeze !== "undefined" && freeze !== null) {
|
|
8374
|
+
if (typeof freeze !== "number") {
|
|
8375
|
+
throw new TypeError(`The "freeze" prop of <Sequence /> must be a number, but is of type ${typeof freeze}.`);
|
|
8376
|
+
}
|
|
8377
|
+
if (Number.isNaN(freeze)) {
|
|
8378
|
+
throw new TypeError(`The "freeze" prop of <Sequence /> must be a real number, but it is NaN.`);
|
|
8379
|
+
}
|
|
8380
|
+
if (!Number.isFinite(freeze)) {
|
|
8381
|
+
throw new TypeError(`The "freeze" prop of <Sequence /> must be finite, but it is ${freeze}.`);
|
|
8382
|
+
}
|
|
8383
|
+
}
|
|
8361
8384
|
const absoluteFrame = useTimelinePosition();
|
|
8362
8385
|
const videoConfig = useVideoConfig();
|
|
8363
8386
|
const parentSequenceDuration = parentSequence ? Math.min(parentSequence.durationInFrames - from, durationInFrames) : durationInFrames;
|
|
8364
8387
|
const actualDurationInFrames = Math.max(0, Math.min(videoConfig.durationInFrames - from, parentSequenceDuration));
|
|
8365
8388
|
const { registerSequence, unregisterSequence } = useContext17(SequenceManager);
|
|
8389
|
+
const wrapperRefForOutline = useRef6(null);
|
|
8390
|
+
const refForOutline = other.layout === "none" ? passedRefForOutline ?? null : passedRefForOutline ?? wrapperRefForOutline;
|
|
8366
8391
|
const premounting = useMemo14(() => {
|
|
8367
8392
|
return parentSequence?.premounting || Boolean(other._remotionInternalIsPremounting);
|
|
8368
8393
|
}, [other._remotionInternalIsPremounting, parentSequence?.premounting]);
|
|
@@ -8414,6 +8439,11 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
8414
8439
|
const inheritedStack = other?.stack ?? null;
|
|
8415
8440
|
const stackRef = useRef6(null);
|
|
8416
8441
|
stackRef.current = stack ?? inheritedStack;
|
|
8442
|
+
const registeredFrozenFrame = typeof freeze === "number" ? freeze : null;
|
|
8443
|
+
const parentCumulatedNegativeFrom = parentSequence?.cumulatedNegativeFrom ?? 0;
|
|
8444
|
+
const startMediaFrom = isMedia && isMedia.type !== "image" ? isMedia.data.startMediaFrom + parentCumulatedNegativeFrom - cumulatedNegativeFrom : null;
|
|
8445
|
+
const mediaFrameAtSequenceZero = isMedia && isMedia.type !== "image" ? isMedia.data.startMediaFrom + parentCumulatedNegativeFrom : null;
|
|
8446
|
+
const frozenMediaFrame = isMedia && isMedia.type !== "image" && mediaFrameAtSequenceZero !== null ? registeredFrozenFrame === null ? null : mediaFrameAtSequenceZero + (loopDisplay ? registeredFrozenFrame % loopDisplay.durationInFrames : registeredFrozenFrame) * isMedia.data.playbackRate : null;
|
|
8417
8447
|
useEffect3(() => {
|
|
8418
8448
|
if (!env.isStudio) {
|
|
8419
8449
|
return;
|
|
@@ -8439,7 +8469,8 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
8439
8469
|
src: isMedia.src,
|
|
8440
8470
|
getStack: () => stackRef.current,
|
|
8441
8471
|
refForOutline: refForOutline ?? null,
|
|
8442
|
-
isInsideSeries
|
|
8472
|
+
isInsideSeries,
|
|
8473
|
+
frozenFrame: registeredFrozenFrame
|
|
8443
8474
|
});
|
|
8444
8475
|
} else {
|
|
8445
8476
|
registerSequence({
|
|
@@ -8462,10 +8493,12 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
8462
8493
|
showInTimeline,
|
|
8463
8494
|
src: isMedia.data.src,
|
|
8464
8495
|
getStack: () => stackRef.current,
|
|
8465
|
-
startMediaFrom: isMedia.data.startMediaFrom,
|
|
8496
|
+
startMediaFrom: startMediaFrom ?? isMedia.data.startMediaFrom,
|
|
8466
8497
|
volume: isMedia.data.volumes,
|
|
8467
8498
|
refForOutline: refForOutline ?? null,
|
|
8468
|
-
isInsideSeries
|
|
8499
|
+
isInsideSeries,
|
|
8500
|
+
frozenFrame: registeredFrozenFrame,
|
|
8501
|
+
frozenMediaFrame
|
|
8469
8502
|
});
|
|
8470
8503
|
}
|
|
8471
8504
|
return () => {
|
|
@@ -8490,7 +8523,8 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
8490
8523
|
controls: controls ?? null,
|
|
8491
8524
|
effects: _remotionInternalEffects ?? EMPTY_EFFECTS,
|
|
8492
8525
|
refForOutline: refForOutline ?? null,
|
|
8493
|
-
isInsideSeries
|
|
8526
|
+
isInsideSeries,
|
|
8527
|
+
frozenFrame: registeredFrozenFrame
|
|
8494
8528
|
});
|
|
8495
8529
|
return () => {
|
|
8496
8530
|
unregisterSequence(id);
|
|
@@ -8517,11 +8551,26 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
8517
8551
|
isMedia,
|
|
8518
8552
|
resolvedDocumentationLink,
|
|
8519
8553
|
refForOutline,
|
|
8520
|
-
isInsideSeries
|
|
8554
|
+
isInsideSeries,
|
|
8555
|
+
registeredFrozenFrame,
|
|
8556
|
+
startMediaFrom,
|
|
8557
|
+
frozenMediaFrame
|
|
8521
8558
|
]);
|
|
8522
8559
|
const endThreshold = Math.ceil(cumulatedFrom + from + durationInFrames - 1);
|
|
8523
8560
|
const content = absoluteFrame < cumulatedFrom + from ? null : absoluteFrame > endThreshold ? null : children;
|
|
8561
|
+
const frozenContent = content === null || typeof freeze === "undefined" || freeze === null ? content : /* @__PURE__ */ jsx12(Freeze, {
|
|
8562
|
+
frame: freeze,
|
|
8563
|
+
children: content
|
|
8564
|
+
});
|
|
8524
8565
|
const styleIfThere = other.layout === "none" ? undefined : other.style;
|
|
8566
|
+
const sequenceRef = useCallback6((node) => {
|
|
8567
|
+
wrapperRefForOutline.current = node;
|
|
8568
|
+
if (typeof ref === "function") {
|
|
8569
|
+
ref(node);
|
|
8570
|
+
} else if (ref) {
|
|
8571
|
+
ref.current = node;
|
|
8572
|
+
}
|
|
8573
|
+
}, [ref]);
|
|
8525
8574
|
const defaultStyle = useMemo14(() => {
|
|
8526
8575
|
return {
|
|
8527
8576
|
flexDirection: undefined,
|
|
@@ -8538,11 +8587,11 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
8538
8587
|
}
|
|
8539
8588
|
return /* @__PURE__ */ jsx12(SequenceContext.Provider, {
|
|
8540
8589
|
value: contextValue,
|
|
8541
|
-
children:
|
|
8542
|
-
ref,
|
|
8590
|
+
children: frozenContent === null ? null : other.layout === "none" ? frozenContent : /* @__PURE__ */ jsx12(AbsoluteFill, {
|
|
8591
|
+
ref: sequenceRef,
|
|
8543
8592
|
style: defaultStyle,
|
|
8544
8593
|
className: other.className,
|
|
8545
|
-
children:
|
|
8594
|
+
children: frozenContent
|
|
8546
8595
|
})
|
|
8547
8596
|
});
|
|
8548
8597
|
};
|
|
@@ -8622,11 +8671,13 @@ var SequenceInner = forwardRef3(SequenceRefForwardingFunction);
|
|
|
8622
8671
|
var SequenceWithoutSchema = SequenceInner;
|
|
8623
8672
|
var Sequence = wrapInSchema({
|
|
8624
8673
|
Component: SequenceInner,
|
|
8674
|
+
componentIdentity: "dev.remotion.remotion.Sequence",
|
|
8625
8675
|
schema: sequenceSchema,
|
|
8626
8676
|
supportsEffects: false
|
|
8627
8677
|
});
|
|
8628
8678
|
var SequenceWithoutFrom = wrapInSchema({
|
|
8629
8679
|
Component: SequenceInner,
|
|
8680
|
+
componentIdentity: null,
|
|
8630
8681
|
schema: sequenceSchemaWithoutFrom,
|
|
8631
8682
|
supportsEffects: false
|
|
8632
8683
|
});
|
|
@@ -8944,7 +8995,7 @@ var CanvasRefForwardingFunction = ({ width, height, fit, className, style, effec
|
|
|
8944
8995
|
}
|
|
8945
8996
|
return document.createElement("canvas");
|
|
8946
8997
|
}, []);
|
|
8947
|
-
const draw =
|
|
8998
|
+
const draw = useCallback7((imageData) => {
|
|
8948
8999
|
const canvas = canvasRef.current;
|
|
8949
9000
|
const canvasWidth = width ?? imageData.displayWidth;
|
|
8950
9001
|
const canvasHeight = height ?? imageData.displayHeight;
|
|
@@ -9165,6 +9216,7 @@ var resolveAnimatedImageSource = (src) => {
|
|
|
9165
9216
|
var animatedImageSchema = {
|
|
9166
9217
|
durationInFrames: durationInFramesField,
|
|
9167
9218
|
from: fromField,
|
|
9219
|
+
freeze: freezeField,
|
|
9168
9220
|
playbackRate: {
|
|
9169
9221
|
type: "number",
|
|
9170
9222
|
min: 0,
|
|
@@ -9364,6 +9416,7 @@ var AnimatedImageInner = ({
|
|
|
9364
9416
|
};
|
|
9365
9417
|
var AnimatedImage = wrapInSchema({
|
|
9366
9418
|
Component: AnimatedImageInner,
|
|
9419
|
+
componentIdentity: "dev.remotion.remotion.AnimatedImage",
|
|
9367
9420
|
schema: animatedImageSchema,
|
|
9368
9421
|
supportsEffects: true
|
|
9369
9422
|
});
|
|
@@ -9410,7 +9463,7 @@ var RenderAssetManager = createContext17({
|
|
|
9410
9463
|
var RenderAssetManagerProvider = ({ children, collectAssets }) => {
|
|
9411
9464
|
const [renderAssets, setRenderAssets] = useState7([]);
|
|
9412
9465
|
const renderAssetsRef = useRef10([]);
|
|
9413
|
-
const registerRenderAsset =
|
|
9466
|
+
const registerRenderAsset = useCallback8((renderAsset) => {
|
|
9414
9467
|
validateRenderAsset(renderAsset);
|
|
9415
9468
|
renderAssetsRef.current = [...renderAssetsRef.current, renderAsset];
|
|
9416
9469
|
setRenderAssets(renderAssetsRef.current);
|
|
@@ -9427,7 +9480,7 @@ var RenderAssetManagerProvider = ({ children, collectAssets }) => {
|
|
|
9427
9480
|
};
|
|
9428
9481
|
}, []);
|
|
9429
9482
|
}
|
|
9430
|
-
const unregisterRenderAsset =
|
|
9483
|
+
const unregisterRenderAsset = useCallback8((id) => {
|
|
9431
9484
|
renderAssetsRef.current = renderAssetsRef.current.filter((a2) => a2.id !== id);
|
|
9432
9485
|
setRenderAssets(renderAssetsRef.current);
|
|
9433
9486
|
}, []);
|
|
@@ -10232,7 +10285,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
|
|
|
10232
10285
|
}, []);
|
|
10233
10286
|
const prevEndTimes = useRef12({ scheduledEndTime: null, mediaEndTime: null });
|
|
10234
10287
|
const nodesToResume = useRef12(new Map);
|
|
10235
|
-
const unscheduleAudioNode =
|
|
10288
|
+
const unscheduleAudioNode = useCallback9((node) => {
|
|
10236
10289
|
nodesToResume.current.delete(node);
|
|
10237
10290
|
}, []);
|
|
10238
10291
|
const scheduleAudioNode = useMemo21(() => {
|
|
@@ -10286,7 +10339,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
|
|
|
10286
10339
|
};
|
|
10287
10340
|
};
|
|
10288
10341
|
}, [ctxAndGain, logLevel]);
|
|
10289
|
-
const resume =
|
|
10342
|
+
const resume = useCallback9(() => {
|
|
10290
10343
|
if (!ctxAndGain) {
|
|
10291
10344
|
return Promise.resolve();
|
|
10292
10345
|
}
|
|
@@ -10313,10 +10366,10 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
|
|
|
10313
10366
|
});
|
|
10314
10367
|
return resumePromise.catch(() => {});
|
|
10315
10368
|
}, [ctxAndGain, logLevel]);
|
|
10316
|
-
const getIsResumingAudioContext =
|
|
10369
|
+
const getIsResumingAudioContext = useCallback9(() => {
|
|
10317
10370
|
return isResuming.current;
|
|
10318
10371
|
}, []);
|
|
10319
|
-
const suspend =
|
|
10372
|
+
const suspend = useCallback9(() => {
|
|
10320
10373
|
if (!ctxAndGain) {
|
|
10321
10374
|
return Promise.resolve();
|
|
10322
10375
|
}
|
|
@@ -10390,7 +10443,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
10390
10443
|
};
|
|
10391
10444
|
}, [refs]);
|
|
10392
10445
|
const takenAudios = useRef12(new Array(numberOfAudioTags).fill(false));
|
|
10393
|
-
const rerenderAudios =
|
|
10446
|
+
const rerenderAudios = useCallback9(() => {
|
|
10394
10447
|
refs.forEach(({ ref, id }) => {
|
|
10395
10448
|
const data = audios.current?.find((a2) => a2.id === id);
|
|
10396
10449
|
const { current } = ref;
|
|
@@ -10411,7 +10464,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
10411
10464
|
});
|
|
10412
10465
|
});
|
|
10413
10466
|
}, [refs]);
|
|
10414
|
-
const registerAudio =
|
|
10467
|
+
const registerAudio = useCallback9((options) => {
|
|
10415
10468
|
const { aud, audioId, premounting, postmounting } = options;
|
|
10416
10469
|
const found = audios.current?.find((a2) => a2.audioId === audioId);
|
|
10417
10470
|
if (found) {
|
|
@@ -10440,7 +10493,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
10440
10493
|
rerenderAudios();
|
|
10441
10494
|
return newElem;
|
|
10442
10495
|
}, [numberOfAudioTags, refs, rerenderAudios]);
|
|
10443
|
-
const unregisterAudio =
|
|
10496
|
+
const unregisterAudio = useCallback9((id) => {
|
|
10444
10497
|
const cloned = [...takenAudios.current];
|
|
10445
10498
|
const index = refs.findIndex((r2) => r2.id === id);
|
|
10446
10499
|
if (index === -1) {
|
|
@@ -10451,7 +10504,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
10451
10504
|
audios.current = audios.current?.filter((a2) => a2.id !== id);
|
|
10452
10505
|
rerenderAudios();
|
|
10453
10506
|
}, [refs, rerenderAudios]);
|
|
10454
|
-
const updateAudio =
|
|
10507
|
+
const updateAudio = useCallback9(({
|
|
10455
10508
|
aud,
|
|
10456
10509
|
audioId,
|
|
10457
10510
|
id,
|
|
@@ -10485,7 +10538,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
10485
10538
|
rerenderAudios();
|
|
10486
10539
|
}
|
|
10487
10540
|
}, [rerenderAudios]);
|
|
10488
|
-
const playAllAudios =
|
|
10541
|
+
const playAllAudios = useCallback9(() => {
|
|
10489
10542
|
refs.forEach((ref) => {
|
|
10490
10543
|
const audio = audios.current.find((a2) => a2.el === ref.ref);
|
|
10491
10544
|
if (audio?.premounting) {
|
|
@@ -10996,7 +11049,9 @@ var useMediaInTimeline = ({
|
|
|
10996
11049
|
controls: null,
|
|
10997
11050
|
effects: [],
|
|
10998
11051
|
refForOutline,
|
|
10999
|
-
isInsideSeries: false
|
|
11052
|
+
isInsideSeries: false,
|
|
11053
|
+
frozenFrame: null,
|
|
11054
|
+
frozenMediaFrame: null
|
|
11000
11055
|
});
|
|
11001
11056
|
return () => {
|
|
11002
11057
|
unregisterSequence(id);
|
|
@@ -11033,7 +11088,7 @@ var useBufferManager = (logLevel, mountTime) => {
|
|
|
11033
11088
|
const env = useRemotionEnvironment();
|
|
11034
11089
|
const rendering = env.isRendering;
|
|
11035
11090
|
const buffering = useRef15(false);
|
|
11036
|
-
const addBlock =
|
|
11091
|
+
const addBlock = useCallback10((block) => {
|
|
11037
11092
|
if (rendering) {
|
|
11038
11093
|
return {
|
|
11039
11094
|
unblock: () => {
|
|
@@ -11059,7 +11114,7 @@ var useBufferManager = (logLevel, mountTime) => {
|
|
|
11059
11114
|
}
|
|
11060
11115
|
};
|
|
11061
11116
|
}, [rendering]);
|
|
11062
|
-
const listenForBuffering =
|
|
11117
|
+
const listenForBuffering = useCallback10((callback) => {
|
|
11063
11118
|
setOnBufferingCallbacks((c2) => [...c2, callback]);
|
|
11064
11119
|
return {
|
|
11065
11120
|
remove: () => {
|
|
@@ -11067,7 +11122,7 @@ var useBufferManager = (logLevel, mountTime) => {
|
|
|
11067
11122
|
}
|
|
11068
11123
|
};
|
|
11069
11124
|
}, []);
|
|
11070
|
-
const listenForResume =
|
|
11125
|
+
const listenForResume = useCallback10((callback) => {
|
|
11071
11126
|
setOnResumeCallbacks((c2) => [...c2, callback]);
|
|
11072
11127
|
return {
|
|
11073
11128
|
remove: () => {
|
|
@@ -11181,7 +11236,7 @@ var useBufferUntilFirstFrame = ({
|
|
|
11181
11236
|
}) => {
|
|
11182
11237
|
const bufferingRef = useRef16(false);
|
|
11183
11238
|
const { delayPlayback } = useBufferState();
|
|
11184
|
-
const bufferUntilFirstFrame =
|
|
11239
|
+
const bufferUntilFirstFrame = useCallback11((requestedTime) => {
|
|
11185
11240
|
if (mediaType !== "video") {
|
|
11186
11241
|
return;
|
|
11187
11242
|
}
|
|
@@ -11571,7 +11626,7 @@ var useMediaPlayback = ({
|
|
|
11571
11626
|
throw new Error("useMediaPlayback must be used inside a <BufferingContext>");
|
|
11572
11627
|
}
|
|
11573
11628
|
const isVariableFpsVideoMap = useRef18({});
|
|
11574
|
-
const onVariableFpsVideoDetected =
|
|
11629
|
+
const onVariableFpsVideoDetected = useCallback12(() => {
|
|
11575
11630
|
if (!src) {
|
|
11576
11631
|
return;
|
|
11577
11632
|
}
|
|
@@ -11962,7 +12017,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
11962
12017
|
premounting: Boolean(sequenceContext?.premounting),
|
|
11963
12018
|
postmounting: Boolean(sequenceContext?.postmounting)
|
|
11964
12019
|
});
|
|
11965
|
-
const getStack =
|
|
12020
|
+
const getStack = useCallback13(() => {
|
|
11966
12021
|
return _remotionInternalStack ?? null;
|
|
11967
12022
|
}, [_remotionInternalStack]);
|
|
11968
12023
|
useMediaInTimeline({
|
|
@@ -12208,7 +12263,7 @@ var AudioRefForwardingFunction = (props, ref) => {
|
|
|
12208
12263
|
throw new TypeError(`The \`<Html5Audio>\` tag requires a string for \`src\`, but got ${JSON.stringify(props.src)} instead.`);
|
|
12209
12264
|
}
|
|
12210
12265
|
const preloadedSrc = usePreload(props.src);
|
|
12211
|
-
const onError =
|
|
12266
|
+
const onError = useCallback14((e) => {
|
|
12212
12267
|
console.log(e.currentTarget.error);
|
|
12213
12268
|
const errMessage = `Could not play audio with src ${preloadedSrc}: ${e.currentTarget.error}. See https://remotion.dev/docs/media-playback-error for help.`;
|
|
12214
12269
|
if (loop) {
|
|
@@ -12222,7 +12277,7 @@ var AudioRefForwardingFunction = (props, ref) => {
|
|
|
12222
12277
|
console.warn(errMessage);
|
|
12223
12278
|
}
|
|
12224
12279
|
}, [loop, onRemotionError, preloadedSrc]);
|
|
12225
|
-
const onDuration =
|
|
12280
|
+
const onDuration = useCallback14((src, durationInSeconds) => {
|
|
12226
12281
|
setDurations({ type: "got-duration", durationInSeconds, src });
|
|
12227
12282
|
}, [setDurations]);
|
|
12228
12283
|
const durationFetched = durations[getAbsoluteSrc(preloadedSrc)] ?? durations[getAbsoluteSrc(props.src)];
|
|
@@ -12314,6 +12369,7 @@ var resolveSolidPixelDensity = (pixelDensity) => {
|
|
|
12314
12369
|
var solidSchema = {
|
|
12315
12370
|
durationInFrames: durationInFramesField,
|
|
12316
12371
|
from: fromField,
|
|
12372
|
+
freeze: freezeField,
|
|
12317
12373
|
color: {
|
|
12318
12374
|
type: "color",
|
|
12319
12375
|
default: "transparent",
|
|
@@ -12368,7 +12424,7 @@ var SolidInner = ({
|
|
|
12368
12424
|
return canvas;
|
|
12369
12425
|
}, []);
|
|
12370
12426
|
const chainState = useEffectChainState();
|
|
12371
|
-
const canvasRef =
|
|
12427
|
+
const canvasRef = useCallback15((canvas) => {
|
|
12372
12428
|
setOutputCanvas(canvas);
|
|
12373
12429
|
if (typeof reference === "function") {
|
|
12374
12430
|
reference(canvas);
|
|
@@ -12452,6 +12508,7 @@ var SolidOuter = forwardRef8(({
|
|
|
12452
12508
|
style,
|
|
12453
12509
|
name,
|
|
12454
12510
|
from,
|
|
12511
|
+
freeze,
|
|
12455
12512
|
hidden,
|
|
12456
12513
|
showInTimeline,
|
|
12457
12514
|
pixelDensity,
|
|
@@ -12465,6 +12522,7 @@ var SolidOuter = forwardRef8(({
|
|
|
12465
12522
|
return /* @__PURE__ */ jsx24(Sequence, {
|
|
12466
12523
|
layout: "none",
|
|
12467
12524
|
from,
|
|
12525
|
+
freeze,
|
|
12468
12526
|
hidden,
|
|
12469
12527
|
showInTimeline,
|
|
12470
12528
|
_experimentalControls: controls,
|
|
@@ -12489,6 +12547,7 @@ var SolidOuter = forwardRef8(({
|
|
|
12489
12547
|
});
|
|
12490
12548
|
var Solid = wrapInSchema({
|
|
12491
12549
|
Component: SolidOuter,
|
|
12550
|
+
componentIdentity: "dev.remotion.remotion.Solid",
|
|
12492
12551
|
schema: solidSchema,
|
|
12493
12552
|
supportsEffects: true
|
|
12494
12553
|
});
|
|
@@ -12578,7 +12637,7 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
12578
12637
|
const offscreenRef = useRef22(null);
|
|
12579
12638
|
const divRef = useRef22(null);
|
|
12580
12639
|
const canvasSizeKey = `${width}x${height}@${resolvedPixelDensity}`;
|
|
12581
|
-
const setLayoutCanvasRef =
|
|
12640
|
+
const setLayoutCanvasRef = useCallback16((node) => {
|
|
12582
12641
|
canvas2dRef.current = node;
|
|
12583
12642
|
if (typeof ref === "function") {
|
|
12584
12643
|
ref(node);
|
|
@@ -12600,7 +12659,7 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
12600
12659
|
const initializedRef = useRef22(false);
|
|
12601
12660
|
const onInitCleanupRef = useRef22(null);
|
|
12602
12661
|
const unmountedRef = useRef22(false);
|
|
12603
|
-
const onPaintCb =
|
|
12662
|
+
const onPaintCb = useCallback16(async () => {
|
|
12604
12663
|
const element = divRef.current;
|
|
12605
12664
|
if (!element) {
|
|
12606
12665
|
throw new Error("Canvas or scene element not found");
|
|
@@ -12773,7 +12832,7 @@ var HtmlInCanvasInner = forwardRef9(({
|
|
|
12773
12832
|
const resolvedDuration = durationInFrames ?? videoDuration;
|
|
12774
12833
|
const memoizedEffectDefinitions = useMemoizedEffectDefinitions(effects);
|
|
12775
12834
|
const actualRef = useRef22(null);
|
|
12776
|
-
const setCanvasRef =
|
|
12835
|
+
const setCanvasRef = useCallback16((node) => {
|
|
12777
12836
|
actualRef.current = node;
|
|
12778
12837
|
if (typeof ref === "function") {
|
|
12779
12838
|
ref(node);
|
|
@@ -12808,11 +12867,13 @@ HtmlInCanvasInner.displayName = "HtmlInCanvas";
|
|
|
12808
12867
|
var htmlInCanvasSchema = {
|
|
12809
12868
|
durationInFrames: durationInFramesField,
|
|
12810
12869
|
from: fromField,
|
|
12870
|
+
freeze: freezeField,
|
|
12811
12871
|
...sequenceVisualStyleSchema,
|
|
12812
12872
|
hidden: hiddenField
|
|
12813
12873
|
};
|
|
12814
12874
|
var HtmlInCanvasWrapped = wrapInSchema({
|
|
12815
12875
|
Component: HtmlInCanvasInner,
|
|
12876
|
+
componentIdentity: "dev.remotion.remotion.HtmlInCanvas",
|
|
12816
12877
|
schema: htmlInCanvasSchema,
|
|
12817
12878
|
supportsEffects: true
|
|
12818
12879
|
});
|
|
@@ -12830,6 +12891,7 @@ function truncateSrcForLabel(src) {
|
|
|
12830
12891
|
var canvasImageSchema = {
|
|
12831
12892
|
durationInFrames: durationInFramesField,
|
|
12832
12893
|
from: fromField,
|
|
12894
|
+
freeze: freezeField,
|
|
12833
12895
|
fit: {
|
|
12834
12896
|
type: "enum",
|
|
12835
12897
|
default: "fill",
|
|
@@ -12935,7 +12997,7 @@ var CanvasImageContent = forwardRef10(({
|
|
|
12935
12997
|
}
|
|
12936
12998
|
return document.createElement("canvas");
|
|
12937
12999
|
}, []);
|
|
12938
|
-
const canvasRef =
|
|
13000
|
+
const canvasRef = useCallback17((canvas) => {
|
|
12939
13001
|
setOutputCanvas(canvas);
|
|
12940
13002
|
if (refForOutline) {
|
|
12941
13003
|
refForOutline.current = canvas;
|
|
@@ -13082,6 +13144,7 @@ var CanvasImageInner = forwardRef10(({
|
|
|
13082
13144
|
delayRenderTimeoutInMilliseconds,
|
|
13083
13145
|
durationInFrames,
|
|
13084
13146
|
from,
|
|
13147
|
+
freeze,
|
|
13085
13148
|
hidden,
|
|
13086
13149
|
name,
|
|
13087
13150
|
showInTimeline,
|
|
@@ -13103,6 +13166,7 @@ var CanvasImageInner = forwardRef10(({
|
|
|
13103
13166
|
layout: "none",
|
|
13104
13167
|
from: from ?? 0,
|
|
13105
13168
|
durationInFrames: durationInFrames ?? Infinity,
|
|
13169
|
+
freeze,
|
|
13106
13170
|
hidden,
|
|
13107
13171
|
showInTimeline: showInTimeline ?? true,
|
|
13108
13172
|
name: name ?? "<CanvasImage>",
|
|
@@ -13135,6 +13199,7 @@ var CanvasImageInner = forwardRef10(({
|
|
|
13135
13199
|
});
|
|
13136
13200
|
var CanvasImage = wrapInSchema({
|
|
13137
13201
|
Component: CanvasImageInner,
|
|
13202
|
+
componentIdentity: "dev.remotion.remotion.CanvasImage",
|
|
13138
13203
|
schema: canvasImageSchema,
|
|
13139
13204
|
supportsEffects: true
|
|
13140
13205
|
});
|
|
@@ -13152,11 +13217,11 @@ var IFrameRefForwarding = ({
|
|
|
13152
13217
|
retries: delayRenderRetries ?? undefined,
|
|
13153
13218
|
timeoutInMilliseconds: delayRenderTimeoutInMilliseconds ?? undefined
|
|
13154
13219
|
}));
|
|
13155
|
-
const didLoad =
|
|
13220
|
+
const didLoad = useCallback18((e) => {
|
|
13156
13221
|
continueRender2(handle);
|
|
13157
13222
|
onLoad?.(e);
|
|
13158
13223
|
}, [handle, onLoad, continueRender2]);
|
|
13159
|
-
const didGetError =
|
|
13224
|
+
const didGetError = useCallback18((e) => {
|
|
13160
13225
|
continueRender2(handle);
|
|
13161
13226
|
if (onError) {
|
|
13162
13227
|
onError(e);
|
|
@@ -13198,7 +13263,7 @@ var ImgContent = ({
|
|
|
13198
13263
|
if (!_propsValid) {
|
|
13199
13264
|
throw new Error("typecheck error");
|
|
13200
13265
|
}
|
|
13201
|
-
const imageCallbackRef =
|
|
13266
|
+
const imageCallbackRef = useCallback19((img) => {
|
|
13202
13267
|
imageRef.current = img;
|
|
13203
13268
|
refForOutline.current = img;
|
|
13204
13269
|
if (typeof ref === "function") {
|
|
@@ -13208,7 +13273,7 @@ var ImgContent = ({
|
|
|
13208
13273
|
}
|
|
13209
13274
|
}, [ref, refForOutline]);
|
|
13210
13275
|
const actualSrc = usePreload(src);
|
|
13211
|
-
const retryIn =
|
|
13276
|
+
const retryIn = useCallback19((timeout) => {
|
|
13212
13277
|
if (!imageRef.current) {
|
|
13213
13278
|
return;
|
|
13214
13279
|
}
|
|
@@ -13226,7 +13291,7 @@ var ImgContent = ({
|
|
|
13226
13291
|
}, timeout);
|
|
13227
13292
|
}, []);
|
|
13228
13293
|
const { delayRender: delayRender2, continueRender: continueRender2, cancelRender: cancelRender2 } = useDelayRender();
|
|
13229
|
-
const didGetError =
|
|
13294
|
+
const didGetError = useCallback19((e) => {
|
|
13230
13295
|
if (!errors.current) {
|
|
13231
13296
|
return;
|
|
13232
13297
|
}
|
|
@@ -13336,6 +13401,7 @@ var NativeImgInner = ({
|
|
|
13336
13401
|
src,
|
|
13337
13402
|
from,
|
|
13338
13403
|
durationInFrames,
|
|
13404
|
+
freeze,
|
|
13339
13405
|
_experimentalControls: controls,
|
|
13340
13406
|
_remotionInternalRefForOutline: refForOutline,
|
|
13341
13407
|
...props2
|
|
@@ -13347,6 +13413,7 @@ var NativeImgInner = ({
|
|
|
13347
13413
|
layout: "none",
|
|
13348
13414
|
from: from ?? 0,
|
|
13349
13415
|
durationInFrames: durationInFrames ?? Infinity,
|
|
13416
|
+
freeze,
|
|
13350
13417
|
_remotionInternalStack: stack,
|
|
13351
13418
|
_remotionInternalDocumentationLink: "https://www.remotion.dev/docs/img",
|
|
13352
13419
|
_remotionInternalIsMedia: { type: "image", src },
|
|
@@ -13366,6 +13433,7 @@ var CanvasImageWithPrivateProps = CanvasImage;
|
|
|
13366
13433
|
var imgSchema = {
|
|
13367
13434
|
durationInFrames: durationInFramesField,
|
|
13368
13435
|
from: fromField,
|
|
13436
|
+
freeze: freezeField,
|
|
13369
13437
|
...sequenceVisualStyleSchema,
|
|
13370
13438
|
hidden: hiddenField
|
|
13371
13439
|
};
|
|
@@ -13421,6 +13489,7 @@ var ImgInner = ({
|
|
|
13421
13489
|
src,
|
|
13422
13490
|
from,
|
|
13423
13491
|
durationInFrames,
|
|
13492
|
+
freeze,
|
|
13424
13493
|
_experimentalControls: controls,
|
|
13425
13494
|
width,
|
|
13426
13495
|
height,
|
|
@@ -13445,6 +13514,7 @@ var ImgInner = ({
|
|
|
13445
13514
|
src,
|
|
13446
13515
|
from,
|
|
13447
13516
|
durationInFrames,
|
|
13517
|
+
freeze,
|
|
13448
13518
|
_experimentalControls: controls,
|
|
13449
13519
|
width,
|
|
13450
13520
|
height,
|
|
@@ -13486,6 +13556,7 @@ var ImgInner = ({
|
|
|
13486
13556
|
delayRenderTimeoutInMilliseconds,
|
|
13487
13557
|
from,
|
|
13488
13558
|
durationInFrames,
|
|
13559
|
+
freeze,
|
|
13489
13560
|
hidden,
|
|
13490
13561
|
name: name ?? "<Img>",
|
|
13491
13562
|
showInTimeline,
|
|
@@ -13498,6 +13569,7 @@ var ImgInner = ({
|
|
|
13498
13569
|
};
|
|
13499
13570
|
var Img = wrapInSchema({
|
|
13500
13571
|
Component: ImgInner,
|
|
13572
|
+
componentIdentity: "dev.remotion.remotion.Img",
|
|
13501
13573
|
schema: imgSchema,
|
|
13502
13574
|
supportsEffects: true
|
|
13503
13575
|
});
|
|
@@ -13505,6 +13577,7 @@ addSequenceStackTraces(Img);
|
|
|
13505
13577
|
var interactiveElementSchema = {
|
|
13506
13578
|
durationInFrames: durationInFramesField,
|
|
13507
13579
|
from: fromField,
|
|
13580
|
+
freeze: freezeField,
|
|
13508
13581
|
...sequenceVisualStyleSchema,
|
|
13509
13582
|
hidden: hiddenField
|
|
13510
13583
|
};
|
|
@@ -13520,6 +13593,7 @@ var makeInteractiveElement = (tag, displayName) => {
|
|
|
13520
13593
|
const {
|
|
13521
13594
|
durationInFrames,
|
|
13522
13595
|
from,
|
|
13596
|
+
freeze,
|
|
13523
13597
|
hidden,
|
|
13524
13598
|
name,
|
|
13525
13599
|
showInTimeline,
|
|
@@ -13528,7 +13602,7 @@ var makeInteractiveElement = (tag, displayName) => {
|
|
|
13528
13602
|
...props2
|
|
13529
13603
|
} = propsWithControls;
|
|
13530
13604
|
const refForOutline = useRef25(null);
|
|
13531
|
-
const callbackRef =
|
|
13605
|
+
const callbackRef = useCallback20((element) => {
|
|
13532
13606
|
refForOutline.current = element;
|
|
13533
13607
|
setRef(ref, element);
|
|
13534
13608
|
}, [ref]);
|
|
@@ -13536,6 +13610,7 @@ var makeInteractiveElement = (tag, displayName) => {
|
|
|
13536
13610
|
layout: "none",
|
|
13537
13611
|
from: from ?? 0,
|
|
13538
13612
|
durationInFrames: durationInFrames ?? Infinity,
|
|
13613
|
+
freeze,
|
|
13539
13614
|
hidden,
|
|
13540
13615
|
name: name ?? displayName,
|
|
13541
13616
|
showInTimeline: showInTimeline ?? true,
|
|
@@ -13552,6 +13627,7 @@ var makeInteractiveElement = (tag, displayName) => {
|
|
|
13552
13627
|
Inner.displayName = displayName;
|
|
13553
13628
|
const Wrapped = wrapInSchema({
|
|
13554
13629
|
Component: Inner,
|
|
13630
|
+
componentIdentity: `dev.remotion.remotion.${displayName.slice(1, -1)}`,
|
|
13555
13631
|
schema: interactiveElementSchema,
|
|
13556
13632
|
supportsEffects: false
|
|
13557
13633
|
});
|
|
@@ -13608,14 +13684,14 @@ var CompositionManagerProvider = ({
|
|
|
13608
13684
|
const [canvasContent, setCanvasContent] = useState18(initialCanvasContent);
|
|
13609
13685
|
const [compositions, setCompositions] = useState18(initialCompositions);
|
|
13610
13686
|
const currentcompositionsRef = useRef26(compositions);
|
|
13611
|
-
const updateCompositions =
|
|
13687
|
+
const updateCompositions = useCallback21((updateComps) => {
|
|
13612
13688
|
setCompositions((comps) => {
|
|
13613
13689
|
const updated = updateComps(comps);
|
|
13614
13690
|
currentcompositionsRef.current = updated;
|
|
13615
13691
|
return updated;
|
|
13616
13692
|
});
|
|
13617
13693
|
}, []);
|
|
13618
|
-
const registerComposition =
|
|
13694
|
+
const registerComposition = useCallback21((comp) => {
|
|
13619
13695
|
updateCompositions((comps) => {
|
|
13620
13696
|
if (comps.find((c2) => c2.id === comp.id)) {
|
|
13621
13697
|
throw new Error(`Multiple composition with id ${comp.id} are registered.`);
|
|
@@ -13623,12 +13699,12 @@ var CompositionManagerProvider = ({
|
|
|
13623
13699
|
return [...comps, comp];
|
|
13624
13700
|
});
|
|
13625
13701
|
}, [updateCompositions]);
|
|
13626
|
-
const unregisterComposition =
|
|
13702
|
+
const unregisterComposition = useCallback21((id) => {
|
|
13627
13703
|
setCompositions((comps) => {
|
|
13628
13704
|
return comps.filter((c2) => c2.id !== id);
|
|
13629
13705
|
});
|
|
13630
13706
|
}, []);
|
|
13631
|
-
const registerFolder =
|
|
13707
|
+
const registerFolder = useCallback21((name, parent, nonce, stack) => {
|
|
13632
13708
|
setFolders((prevFolders) => {
|
|
13633
13709
|
return [
|
|
13634
13710
|
...prevFolders,
|
|
@@ -13641,7 +13717,7 @@ var CompositionManagerProvider = ({
|
|
|
13641
13717
|
];
|
|
13642
13718
|
});
|
|
13643
13719
|
}, []);
|
|
13644
|
-
const unregisterFolder =
|
|
13720
|
+
const unregisterFolder = useCallback21((name, parent) => {
|
|
13645
13721
|
setFolders((prevFolders) => {
|
|
13646
13722
|
return prevFolders.filter((p) => !(p.name === name && p.parent === parent));
|
|
13647
13723
|
});
|
|
@@ -14280,7 +14356,7 @@ var OffthreadVideoForRendering = ({
|
|
|
14280
14356
|
continueRender2,
|
|
14281
14357
|
delayRender2
|
|
14282
14358
|
]);
|
|
14283
|
-
const onErr =
|
|
14359
|
+
const onErr = useCallback22(() => {
|
|
14284
14360
|
if (onError) {
|
|
14285
14361
|
onError?.(new Error("Failed to load image with src " + imageSrc));
|
|
14286
14362
|
} else {
|
|
@@ -14290,7 +14366,7 @@ var OffthreadVideoForRendering = ({
|
|
|
14290
14366
|
const className = useMemo35(() => {
|
|
14291
14367
|
return [OBJECTFIT_CONTAIN_CLASS_NAME, props2.className].filter(truthy).join(" ");
|
|
14292
14368
|
}, [props2.className]);
|
|
14293
|
-
const onImageFrame =
|
|
14369
|
+
const onImageFrame = useCallback22((img) => {
|
|
14294
14370
|
if (onVideoFrame) {
|
|
14295
14371
|
onVideoFrame(img);
|
|
14296
14372
|
}
|
|
@@ -14423,7 +14499,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
14423
14499
|
mediaVolume
|
|
14424
14500
|
});
|
|
14425
14501
|
warnAboutTooHighVolume(userPreferredVolume);
|
|
14426
|
-
const getStack =
|
|
14502
|
+
const getStack = useCallback23(() => {
|
|
14427
14503
|
return _remotionInternalStack ?? null;
|
|
14428
14504
|
}, [_remotionInternalStack]);
|
|
14429
14505
|
useMediaInTimeline({
|
|
@@ -14599,7 +14675,7 @@ var InnerOffthreadVideo = (props2) => {
|
|
|
14599
14675
|
if (environment.isClientSideRendering) {
|
|
14600
14676
|
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");
|
|
14601
14677
|
}
|
|
14602
|
-
const onDuration =
|
|
14678
|
+
const onDuration = useCallback24(() => {
|
|
14603
14679
|
return;
|
|
14604
14680
|
}, []);
|
|
14605
14681
|
if (typeof props2.src !== "string") {
|
|
@@ -14978,6 +15054,7 @@ var Internals = {
|
|
|
14978
15054
|
getEffectPropStatusesCtx,
|
|
14979
15055
|
hiddenField,
|
|
14980
15056
|
durationInFramesField,
|
|
15057
|
+
freezeField,
|
|
14981
15058
|
fromField
|
|
14982
15059
|
};
|
|
14983
15060
|
var flattenChildren = (children) => {
|
|
@@ -15063,6 +15140,7 @@ var SeriesInner = (props2) => {
|
|
|
15063
15140
|
};
|
|
15064
15141
|
var Series = Object.assign(wrapInSchema({
|
|
15065
15142
|
Component: SeriesInner,
|
|
15143
|
+
componentIdentity: "dev.remotion.remotion.Series",
|
|
15066
15144
|
schema: sequenceSchemaDefaultLayoutNone,
|
|
15067
15145
|
supportsEffects: false
|
|
15068
15146
|
}), {
|
|
@@ -15527,7 +15605,7 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
15527
15605
|
throw new TypeError(`The \`<Html5Video>\` tag requires a string for \`src\`, but got ${JSON.stringify(props2.src)} instead.`);
|
|
15528
15606
|
}
|
|
15529
15607
|
const preloadedSrc = usePreload(props2.src);
|
|
15530
|
-
const onDuration =
|
|
15608
|
+
const onDuration = useCallback25((src, durationInSeconds) => {
|
|
15531
15609
|
setDurations({ type: "got-duration", durationInSeconds, src });
|
|
15532
15610
|
}, [setDurations]);
|
|
15533
15611
|
const durationFetched = durations[getAbsoluteSrc(preloadedSrc)] ?? durations[getAbsoluteSrc(props2.src)];
|
|
@@ -15637,7 +15715,7 @@ addSequenceStackTraces(Composition);
|
|
|
15637
15715
|
addSequenceStackTraces(Folder);
|
|
15638
15716
|
|
|
15639
15717
|
// ../shapes/dist/esm/index.mjs
|
|
15640
|
-
import React, { useCallback as
|
|
15718
|
+
import React, { useCallback as useCallback26, useMemo as useMemo40, useRef as useRef29 } from "react";
|
|
15641
15719
|
import { version } from "react-dom";
|
|
15642
15720
|
import { jsx as jsx40, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
15643
15721
|
import { jsx as jsx210 } from "react/jsx-runtime";
|
|
@@ -15649,6 +15727,7 @@ import { jsx as jsx72 } from "react/jsx-runtime";
|
|
|
15649
15727
|
import { jsx as jsx82 } from "react/jsx-runtime";
|
|
15650
15728
|
import { jsx as jsx92 } from "react/jsx-runtime";
|
|
15651
15729
|
import { jsx as jsx102 } from "react/jsx-runtime";
|
|
15730
|
+
import { jsx as jsx112 } from "react/jsx-runtime";
|
|
15652
15731
|
var unitDir = (from, to) => {
|
|
15653
15732
|
const dx = to[0] - from[0];
|
|
15654
15733
|
const dy = to[1] - from[1];
|
|
@@ -15807,6 +15886,7 @@ var RenderSvg = ({
|
|
|
15807
15886
|
pixelDensity,
|
|
15808
15887
|
durationInFrames,
|
|
15809
15888
|
from,
|
|
15889
|
+
freeze,
|
|
15810
15890
|
hidden,
|
|
15811
15891
|
name,
|
|
15812
15892
|
showInTimeline,
|
|
@@ -15827,10 +15907,10 @@ var RenderSvg = ({
|
|
|
15827
15907
|
};
|
|
15828
15908
|
}, [pathStyle]);
|
|
15829
15909
|
const outlineRef = useRef29(null);
|
|
15830
|
-
const setSvgRef =
|
|
15910
|
+
const setSvgRef = useCallback26((node) => {
|
|
15831
15911
|
outlineRef.current = node;
|
|
15832
15912
|
}, []);
|
|
15833
|
-
const setCanvasRef =
|
|
15913
|
+
const setCanvasRef = useCallback26((canvas) => {
|
|
15834
15914
|
outlineRef.current = canvas;
|
|
15835
15915
|
}, []);
|
|
15836
15916
|
const memoizedEffectDefinitions = Internals.useMemoizedEffectDefinitions(effects);
|
|
@@ -15915,6 +15995,7 @@ var RenderSvg = ({
|
|
|
15915
15995
|
return /* @__PURE__ */ jsx40(Sequence, {
|
|
15916
15996
|
layout: "none",
|
|
15917
15997
|
from,
|
|
15998
|
+
freeze,
|
|
15918
15999
|
hidden,
|
|
15919
16000
|
showInTimeline,
|
|
15920
16001
|
_experimentalControls: controls,
|
|
@@ -15980,6 +16061,7 @@ var enumField = ({
|
|
|
15980
16061
|
var makeShapeSchema = (shapeFields) => {
|
|
15981
16062
|
return {
|
|
15982
16063
|
from: Internals.sequenceSchema.from,
|
|
16064
|
+
freeze: Internals.sequenceSchema.freeze,
|
|
15983
16065
|
durationInFrames: Internals.sequenceSchema.durationInFrames,
|
|
15984
16066
|
...shapeFields,
|
|
15985
16067
|
fill: colorField({
|
|
@@ -16047,10 +16129,435 @@ var ArrowInner = ({
|
|
|
16047
16129
|
};
|
|
16048
16130
|
var Arrow = Internals.wrapInSchema({
|
|
16049
16131
|
Component: ArrowInner,
|
|
16132
|
+
componentIdentity: "dev.remotion.shapes.Arrow",
|
|
16050
16133
|
schema: arrowSchema,
|
|
16051
16134
|
supportsEffects: true
|
|
16052
16135
|
});
|
|
16053
16136
|
Internals.addSequenceStackTraces(Arrow);
|
|
16137
|
+
var shortenVector = (vector, radius) => {
|
|
16138
|
+
const [x, y] = vector;
|
|
16139
|
+
const currentLength = Math.sqrt(x * x + y * y);
|
|
16140
|
+
const scalingFactor = (currentLength - radius) / currentLength;
|
|
16141
|
+
return [x * scalingFactor, y * scalingFactor];
|
|
16142
|
+
};
|
|
16143
|
+
var scaleVectorToLength = (vector, length2) => {
|
|
16144
|
+
const [x, y] = vector;
|
|
16145
|
+
const currentLength = Math.sqrt(x * x + y * y);
|
|
16146
|
+
const scalingFactor = length2 / currentLength;
|
|
16147
|
+
return [x * scalingFactor, y * scalingFactor];
|
|
16148
|
+
};
|
|
16149
|
+
var joinPoints = (points, {
|
|
16150
|
+
edgeRoundness,
|
|
16151
|
+
cornerRadius,
|
|
16152
|
+
roundCornerStrategy
|
|
16153
|
+
}) => {
|
|
16154
|
+
return points.map(([x, y], i) => {
|
|
16155
|
+
const prevPointIndex = i === 0 ? points.length - 2 : i - 1;
|
|
16156
|
+
const prevPoint = points[prevPointIndex];
|
|
16157
|
+
const nextPointIndex = i === points.length - 1 ? 1 : i + 1;
|
|
16158
|
+
const nextPoint = points[nextPointIndex];
|
|
16159
|
+
const middleOfLine = [(x + nextPoint[0]) / 2, (y + nextPoint[1]) / 2];
|
|
16160
|
+
const prevPointMiddleOfLine = [
|
|
16161
|
+
(x + prevPoint[0]) / 2,
|
|
16162
|
+
(y + prevPoint[1]) / 2
|
|
16163
|
+
];
|
|
16164
|
+
const prevVector = [x - prevPoint[0], y - prevPoint[1]];
|
|
16165
|
+
const nextVector = [nextPoint[0] - x, nextPoint[1] - y];
|
|
16166
|
+
if (i === 0) {
|
|
16167
|
+
if (edgeRoundness !== null) {
|
|
16168
|
+
return [
|
|
16169
|
+
{
|
|
16170
|
+
type: "M",
|
|
16171
|
+
x: middleOfLine[0],
|
|
16172
|
+
y: middleOfLine[1]
|
|
16173
|
+
}
|
|
16174
|
+
];
|
|
16175
|
+
}
|
|
16176
|
+
if (cornerRadius !== 0) {
|
|
16177
|
+
const computeRadius = shortenVector(nextVector, cornerRadius);
|
|
16178
|
+
return [
|
|
16179
|
+
{
|
|
16180
|
+
type: "M",
|
|
16181
|
+
x: computeRadius[0] + x,
|
|
16182
|
+
y: computeRadius[1] + y
|
|
16183
|
+
}
|
|
16184
|
+
];
|
|
16185
|
+
}
|
|
16186
|
+
return [
|
|
16187
|
+
{
|
|
16188
|
+
type: "M",
|
|
16189
|
+
x,
|
|
16190
|
+
y
|
|
16191
|
+
}
|
|
16192
|
+
];
|
|
16193
|
+
}
|
|
16194
|
+
if (cornerRadius && edgeRoundness !== null) {
|
|
16195
|
+
throw new Error(`"cornerRadius" and "edgeRoundness" cannot be specified at the same time.`);
|
|
16196
|
+
}
|
|
16197
|
+
if (edgeRoundness === null) {
|
|
16198
|
+
if (cornerRadius === 0) {
|
|
16199
|
+
return [
|
|
16200
|
+
{
|
|
16201
|
+
type: "L",
|
|
16202
|
+
x,
|
|
16203
|
+
y
|
|
16204
|
+
}
|
|
16205
|
+
];
|
|
16206
|
+
}
|
|
16207
|
+
const prevVectorMinusRadius = shortenVector(prevVector, cornerRadius);
|
|
16208
|
+
const prevVectorLength = scaleVectorToLength(prevVector, cornerRadius);
|
|
16209
|
+
const nextVectorMinusRadius = scaleVectorToLength(nextVector, cornerRadius);
|
|
16210
|
+
const firstDraw = [
|
|
16211
|
+
prevPoint[0] + prevVectorMinusRadius[0],
|
|
16212
|
+
prevPoint[1] + prevVectorMinusRadius[1]
|
|
16213
|
+
];
|
|
16214
|
+
return [
|
|
16215
|
+
{
|
|
16216
|
+
type: "L",
|
|
16217
|
+
x: firstDraw[0],
|
|
16218
|
+
y: firstDraw[1]
|
|
16219
|
+
},
|
|
16220
|
+
roundCornerStrategy === "arc" ? {
|
|
16221
|
+
type: "a",
|
|
16222
|
+
rx: cornerRadius,
|
|
16223
|
+
ry: cornerRadius,
|
|
16224
|
+
xAxisRotation: 0,
|
|
16225
|
+
dx: prevVectorLength[0] + nextVectorMinusRadius[0],
|
|
16226
|
+
dy: prevVectorLength[1] + nextVectorMinusRadius[1],
|
|
16227
|
+
largeArcFlag: false,
|
|
16228
|
+
sweepFlag: true
|
|
16229
|
+
} : {
|
|
16230
|
+
type: "C",
|
|
16231
|
+
x: firstDraw[0] + prevVectorLength[0] + nextVectorMinusRadius[0],
|
|
16232
|
+
y: firstDraw[1] + prevVectorLength[1] + nextVectorMinusRadius[1],
|
|
16233
|
+
cp1x: x,
|
|
16234
|
+
cp1y: y,
|
|
16235
|
+
cp2x: x,
|
|
16236
|
+
cp2y: y
|
|
16237
|
+
}
|
|
16238
|
+
];
|
|
16239
|
+
}
|
|
16240
|
+
const controlPoint1 = [
|
|
16241
|
+
prevPointMiddleOfLine[0] + prevVector[0] * edgeRoundness * 0.5,
|
|
16242
|
+
prevPointMiddleOfLine[1] + prevVector[1] * edgeRoundness * 0.5
|
|
16243
|
+
];
|
|
16244
|
+
const controlPoint2 = [
|
|
16245
|
+
middleOfLine[0] - nextVector[0] * edgeRoundness * 0.5,
|
|
16246
|
+
middleOfLine[1] - nextVector[1] * edgeRoundness * 0.5
|
|
16247
|
+
];
|
|
16248
|
+
return [
|
|
16249
|
+
{
|
|
16250
|
+
type: "C",
|
|
16251
|
+
cp1x: controlPoint1[0],
|
|
16252
|
+
cp1y: controlPoint1[1],
|
|
16253
|
+
cp2x: controlPoint2[0],
|
|
16254
|
+
cp2y: controlPoint2[1],
|
|
16255
|
+
x: middleOfLine[0],
|
|
16256
|
+
y: middleOfLine[1]
|
|
16257
|
+
}
|
|
16258
|
+
];
|
|
16259
|
+
}).flat(1);
|
|
16260
|
+
};
|
|
16261
|
+
var ensurePositive = (name, value) => {
|
|
16262
|
+
if (typeof value !== "number" || value <= 0) {
|
|
16263
|
+
throw new Error(`"${name}" must be a positive number, got ${value}`);
|
|
16264
|
+
}
|
|
16265
|
+
};
|
|
16266
|
+
var pointerInterval = ({
|
|
16267
|
+
availableLength,
|
|
16268
|
+
pointerBaseWidth,
|
|
16269
|
+
pointerPosition
|
|
16270
|
+
}) => {
|
|
16271
|
+
const center = availableLength * pointerPosition;
|
|
16272
|
+
const half = pointerBaseWidth / 2;
|
|
16273
|
+
return {
|
|
16274
|
+
center,
|
|
16275
|
+
start: Math.max(0, center - half),
|
|
16276
|
+
end: Math.min(availableLength, center + half)
|
|
16277
|
+
};
|
|
16278
|
+
};
|
|
16279
|
+
var areSamePoint = (a2, b2) => {
|
|
16280
|
+
return a2[0] === b2[0] && a2[1] === b2[1];
|
|
16281
|
+
};
|
|
16282
|
+
var normalizeClosedPoints = (points) => {
|
|
16283
|
+
const deduplicated = points.reduce((acc, entry) => {
|
|
16284
|
+
const previous = acc[acc.length - 1];
|
|
16285
|
+
if (previous && areSamePoint(previous.point, entry.point)) {
|
|
16286
|
+
acc[acc.length - 1] = {
|
|
16287
|
+
point: previous.point,
|
|
16288
|
+
round: previous.round && entry.round
|
|
16289
|
+
};
|
|
16290
|
+
return acc;
|
|
16291
|
+
}
|
|
16292
|
+
return [...acc, entry];
|
|
16293
|
+
}, []);
|
|
16294
|
+
if (deduplicated.length === 0) {
|
|
16295
|
+
return deduplicated;
|
|
16296
|
+
}
|
|
16297
|
+
const first = deduplicated[0];
|
|
16298
|
+
const last = deduplicated[deduplicated.length - 1];
|
|
16299
|
+
if (areSamePoint(first.point, last.point)) {
|
|
16300
|
+
const [firstEntry, ...rest] = deduplicated;
|
|
16301
|
+
const withoutLast = rest.slice(0, -1);
|
|
16302
|
+
const mergedFirst = {
|
|
16303
|
+
point: firstEntry.point,
|
|
16304
|
+
round: firstEntry.round && last.round
|
|
16305
|
+
};
|
|
16306
|
+
return [mergedFirst, ...withoutLast, mergedFirst];
|
|
16307
|
+
}
|
|
16308
|
+
return [...deduplicated, first];
|
|
16309
|
+
};
|
|
16310
|
+
var unitDir2 = (from, to) => {
|
|
16311
|
+
const dx = to[0] - from[0];
|
|
16312
|
+
const dy = to[1] - from[1];
|
|
16313
|
+
const len = Math.sqrt(dx * dx + dy * dy);
|
|
16314
|
+
if (len === 0) {
|
|
16315
|
+
return [0, 0];
|
|
16316
|
+
}
|
|
16317
|
+
return [dx / len, dy / len];
|
|
16318
|
+
};
|
|
16319
|
+
var makeInstructions2 = ({
|
|
16320
|
+
points,
|
|
16321
|
+
edgeRoundness,
|
|
16322
|
+
cornerRadius
|
|
16323
|
+
}) => {
|
|
16324
|
+
const rawPoints = points.map((p) => p.point);
|
|
16325
|
+
if (edgeRoundness !== null || cornerRadius === 0) {
|
|
16326
|
+
return [
|
|
16327
|
+
...joinPoints(rawPoints, {
|
|
16328
|
+
edgeRoundness,
|
|
16329
|
+
cornerRadius,
|
|
16330
|
+
roundCornerStrategy: "arc"
|
|
16331
|
+
}),
|
|
16332
|
+
{
|
|
16333
|
+
type: "Z"
|
|
16334
|
+
}
|
|
16335
|
+
];
|
|
16336
|
+
}
|
|
16337
|
+
const uniquePoints = areSamePoint(points[0].point, points[points.length - 1].point) ? points.slice(0, -1) : points;
|
|
16338
|
+
const firstPoint = uniquePoints[0];
|
|
16339
|
+
const startDir = firstPoint.round ? unitDir2(uniquePoints[0].point, uniquePoints[1].point) : null;
|
|
16340
|
+
const startPoint = startDir ? [
|
|
16341
|
+
firstPoint.point[0] + startDir[0] * cornerRadius,
|
|
16342
|
+
firstPoint.point[1] + startDir[1] * cornerRadius
|
|
16343
|
+
] : firstPoint.point;
|
|
16344
|
+
const instructions = [
|
|
16345
|
+
{ type: "M", x: startPoint[0], y: startPoint[1] }
|
|
16346
|
+
];
|
|
16347
|
+
for (let i = 1;i < uniquePoints.length; i++) {
|
|
16348
|
+
const current = uniquePoints[i];
|
|
16349
|
+
if (!current.round) {
|
|
16350
|
+
instructions.push({
|
|
16351
|
+
type: "L",
|
|
16352
|
+
x: current.point[0],
|
|
16353
|
+
y: current.point[1]
|
|
16354
|
+
});
|
|
16355
|
+
continue;
|
|
16356
|
+
}
|
|
16357
|
+
const previous = uniquePoints[i - 1].point;
|
|
16358
|
+
const next = uniquePoints[(i + 1) % uniquePoints.length].point;
|
|
16359
|
+
const incoming = unitDir2(previous, current.point);
|
|
16360
|
+
const outgoing = unitDir2(current.point, next);
|
|
16361
|
+
const arcStart = [
|
|
16362
|
+
current.point[0] - incoming[0] * cornerRadius,
|
|
16363
|
+
current.point[1] - incoming[1] * cornerRadius
|
|
16364
|
+
];
|
|
16365
|
+
instructions.push({
|
|
16366
|
+
type: "L",
|
|
16367
|
+
x: arcStart[0],
|
|
16368
|
+
y: arcStart[1]
|
|
16369
|
+
}, {
|
|
16370
|
+
type: "a",
|
|
16371
|
+
rx: cornerRadius,
|
|
16372
|
+
ry: cornerRadius,
|
|
16373
|
+
xAxisRotation: 0,
|
|
16374
|
+
dx: incoming[0] * cornerRadius + outgoing[0] * cornerRadius,
|
|
16375
|
+
dy: incoming[1] * cornerRadius + outgoing[1] * cornerRadius,
|
|
16376
|
+
largeArcFlag: false,
|
|
16377
|
+
sweepFlag: true
|
|
16378
|
+
});
|
|
16379
|
+
}
|
|
16380
|
+
if (firstPoint.round) {
|
|
16381
|
+
const previous = uniquePoints[uniquePoints.length - 1].point;
|
|
16382
|
+
const incoming = unitDir2(previous, firstPoint.point);
|
|
16383
|
+
instructions.push({
|
|
16384
|
+
type: "L",
|
|
16385
|
+
x: firstPoint.point[0] - incoming[0] * cornerRadius,
|
|
16386
|
+
y: firstPoint.point[1] - incoming[1] * cornerRadius
|
|
16387
|
+
}, {
|
|
16388
|
+
type: "a",
|
|
16389
|
+
rx: cornerRadius,
|
|
16390
|
+
ry: cornerRadius,
|
|
16391
|
+
xAxisRotation: 0,
|
|
16392
|
+
dx: incoming[0] * cornerRadius + startDir[0] * cornerRadius,
|
|
16393
|
+
dy: incoming[1] * cornerRadius + startDir[1] * cornerRadius,
|
|
16394
|
+
largeArcFlag: false,
|
|
16395
|
+
sweepFlag: true
|
|
16396
|
+
});
|
|
16397
|
+
}
|
|
16398
|
+
instructions.push({ type: "Z" });
|
|
16399
|
+
return instructions;
|
|
16400
|
+
};
|
|
16401
|
+
var makeCallout = ({
|
|
16402
|
+
width = 500,
|
|
16403
|
+
height = 200,
|
|
16404
|
+
pointerLength = 40,
|
|
16405
|
+
pointerBaseWidth = 60,
|
|
16406
|
+
pointerPosition = 0.5,
|
|
16407
|
+
pointerDirection = "down",
|
|
16408
|
+
edgeRoundness = null,
|
|
16409
|
+
cornerRadius = 0
|
|
16410
|
+
}) => {
|
|
16411
|
+
ensurePositive("width", width);
|
|
16412
|
+
ensurePositive("height", height);
|
|
16413
|
+
ensurePositive("pointerLength", pointerLength);
|
|
16414
|
+
ensurePositive("pointerBaseWidth", pointerBaseWidth);
|
|
16415
|
+
if (typeof pointerPosition !== "number" || pointerPosition < 0 || pointerPosition > 1) {
|
|
16416
|
+
throw new Error(`"pointerPosition" must be a number between 0 and 1, got ${pointerPosition}`);
|
|
16417
|
+
}
|
|
16418
|
+
const horizontalInterval = pointerInterval({
|
|
16419
|
+
availableLength: width,
|
|
16420
|
+
pointerBaseWidth,
|
|
16421
|
+
pointerPosition
|
|
16422
|
+
});
|
|
16423
|
+
const verticalInterval = pointerInterval({
|
|
16424
|
+
availableLength: height,
|
|
16425
|
+
pointerBaseWidth,
|
|
16426
|
+
pointerPosition
|
|
16427
|
+
});
|
|
16428
|
+
const pointsByDirection = {
|
|
16429
|
+
up: [
|
|
16430
|
+
{ point: [0, pointerLength], round: true },
|
|
16431
|
+
{ point: [horizontalInterval.start, pointerLength], round: false },
|
|
16432
|
+
{ point: [horizontalInterval.center, 0], round: false },
|
|
16433
|
+
{ point: [horizontalInterval.end, pointerLength], round: false },
|
|
16434
|
+
{ point: [width, pointerLength], round: true },
|
|
16435
|
+
{ point: [width, height + pointerLength], round: true },
|
|
16436
|
+
{ point: [0, height + pointerLength], round: true },
|
|
16437
|
+
{ point: [0, pointerLength], round: true }
|
|
16438
|
+
],
|
|
16439
|
+
down: [
|
|
16440
|
+
{ point: [0, 0], round: true },
|
|
16441
|
+
{ point: [width, 0], round: true },
|
|
16442
|
+
{ point: [width, height], round: true },
|
|
16443
|
+
{ point: [horizontalInterval.end, height], round: false },
|
|
16444
|
+
{
|
|
16445
|
+
point: [horizontalInterval.center, height + pointerLength],
|
|
16446
|
+
round: false
|
|
16447
|
+
},
|
|
16448
|
+
{ point: [horizontalInterval.start, height], round: false },
|
|
16449
|
+
{ point: [0, height], round: true },
|
|
16450
|
+
{ point: [0, 0], round: true }
|
|
16451
|
+
],
|
|
16452
|
+
left: [
|
|
16453
|
+
{ point: [pointerLength, 0], round: true },
|
|
16454
|
+
{ point: [width + pointerLength, 0], round: true },
|
|
16455
|
+
{ point: [width + pointerLength, height], round: true },
|
|
16456
|
+
{ point: [pointerLength, height], round: true },
|
|
16457
|
+
{ point: [pointerLength, verticalInterval.end], round: false },
|
|
16458
|
+
{ point: [0, verticalInterval.center], round: false },
|
|
16459
|
+
{ point: [pointerLength, verticalInterval.start], round: false },
|
|
16460
|
+
{ point: [pointerLength, 0], round: true }
|
|
16461
|
+
],
|
|
16462
|
+
right: [
|
|
16463
|
+
{ point: [0, 0], round: true },
|
|
16464
|
+
{ point: [width, 0], round: true },
|
|
16465
|
+
{ point: [width, verticalInterval.start], round: false },
|
|
16466
|
+
{ point: [width + pointerLength, verticalInterval.center], round: false },
|
|
16467
|
+
{ point: [width, verticalInterval.end], round: false },
|
|
16468
|
+
{ point: [width, height], round: true },
|
|
16469
|
+
{ point: [0, height], round: true },
|
|
16470
|
+
{ point: [0, 0], round: true }
|
|
16471
|
+
]
|
|
16472
|
+
};
|
|
16473
|
+
const points = normalizeClosedPoints(pointsByDirection[pointerDirection]);
|
|
16474
|
+
const instructions = makeInstructions2({ points, edgeRoundness, cornerRadius });
|
|
16475
|
+
const path = serializeInstructions(instructions);
|
|
16476
|
+
const shapeWidth = pointerDirection === "left" || pointerDirection === "right" ? width + pointerLength : width;
|
|
16477
|
+
const shapeHeight = pointerDirection === "up" || pointerDirection === "down" ? height + pointerLength : height;
|
|
16478
|
+
const bodyX = pointerDirection === "left" ? pointerLength : 0;
|
|
16479
|
+
const bodyY = pointerDirection === "up" ? pointerLength : 0;
|
|
16480
|
+
return {
|
|
16481
|
+
width: shapeWidth,
|
|
16482
|
+
height: shapeHeight,
|
|
16483
|
+
instructions,
|
|
16484
|
+
path,
|
|
16485
|
+
transformOrigin: `${bodyX + width / 2} ${bodyY + height / 2}`
|
|
16486
|
+
};
|
|
16487
|
+
};
|
|
16488
|
+
var calloutSchema = makeShapeSchema({
|
|
16489
|
+
width: numberField({
|
|
16490
|
+
defaultValue: 500,
|
|
16491
|
+
description: "Width",
|
|
16492
|
+
min: 1
|
|
16493
|
+
}),
|
|
16494
|
+
height: numberField({
|
|
16495
|
+
defaultValue: 200,
|
|
16496
|
+
description: "Height",
|
|
16497
|
+
min: 1
|
|
16498
|
+
}),
|
|
16499
|
+
pointerLength: numberField({
|
|
16500
|
+
defaultValue: 40,
|
|
16501
|
+
description: "Pointer Length",
|
|
16502
|
+
min: 1
|
|
16503
|
+
}),
|
|
16504
|
+
pointerBaseWidth: numberField({
|
|
16505
|
+
defaultValue: 60,
|
|
16506
|
+
description: "Pointer Base Width",
|
|
16507
|
+
min: 1
|
|
16508
|
+
}),
|
|
16509
|
+
pointerPosition: numberField({
|
|
16510
|
+
defaultValue: 0.5,
|
|
16511
|
+
description: "Pointer Position",
|
|
16512
|
+
min: 0,
|
|
16513
|
+
max: 1,
|
|
16514
|
+
step: 0.01
|
|
16515
|
+
}),
|
|
16516
|
+
pointerDirection: enumField({
|
|
16517
|
+
defaultValue: "down",
|
|
16518
|
+
description: "Pointer Direction",
|
|
16519
|
+
variants: ["up", "down", "left", "right"]
|
|
16520
|
+
}),
|
|
16521
|
+
cornerRadius: numberField({
|
|
16522
|
+
defaultValue: 0,
|
|
16523
|
+
description: "Corner Radius",
|
|
16524
|
+
min: 0
|
|
16525
|
+
})
|
|
16526
|
+
});
|
|
16527
|
+
var CalloutInner = ({
|
|
16528
|
+
width,
|
|
16529
|
+
height,
|
|
16530
|
+
pointerLength,
|
|
16531
|
+
pointerBaseWidth,
|
|
16532
|
+
pointerPosition,
|
|
16533
|
+
pointerDirection,
|
|
16534
|
+
edgeRoundness,
|
|
16535
|
+
cornerRadius,
|
|
16536
|
+
...props
|
|
16537
|
+
}) => {
|
|
16538
|
+
return /* @__PURE__ */ jsx310(RenderSvg, {
|
|
16539
|
+
defaultName: "<Callout>",
|
|
16540
|
+
documentationLink: "https://www.remotion.dev/docs/shapes/callout",
|
|
16541
|
+
...makeCallout({
|
|
16542
|
+
width,
|
|
16543
|
+
height,
|
|
16544
|
+
pointerLength,
|
|
16545
|
+
pointerBaseWidth,
|
|
16546
|
+
pointerPosition,
|
|
16547
|
+
pointerDirection,
|
|
16548
|
+
edgeRoundness,
|
|
16549
|
+
cornerRadius
|
|
16550
|
+
}),
|
|
16551
|
+
...props
|
|
16552
|
+
});
|
|
16553
|
+
};
|
|
16554
|
+
var Callout = Internals.wrapInSchema({
|
|
16555
|
+
Component: CalloutInner,
|
|
16556
|
+
componentIdentity: "dev.remotion.shapes.Callout",
|
|
16557
|
+
schema: calloutSchema,
|
|
16558
|
+
supportsEffects: true
|
|
16559
|
+
});
|
|
16560
|
+
Internals.addSequenceStackTraces(Callout);
|
|
16054
16561
|
var makeCircle = ({ radius }) => {
|
|
16055
16562
|
const instructions = [
|
|
16056
16563
|
{
|
|
@@ -16099,7 +16606,7 @@ var circleSchema = makeShapeSchema({
|
|
|
16099
16606
|
})
|
|
16100
16607
|
});
|
|
16101
16608
|
var CircleInner = ({ radius, ...props }) => {
|
|
16102
|
-
return /* @__PURE__ */
|
|
16609
|
+
return /* @__PURE__ */ jsx42(RenderSvg, {
|
|
16103
16610
|
defaultName: "<Circle>",
|
|
16104
16611
|
documentationLink: "https://www.remotion.dev/docs/shapes/circle",
|
|
16105
16612
|
...makeCircle({ radius }),
|
|
@@ -16108,6 +16615,7 @@ var CircleInner = ({ radius, ...props }) => {
|
|
|
16108
16615
|
};
|
|
16109
16616
|
var Circle = Internals.wrapInSchema({
|
|
16110
16617
|
Component: CircleInner,
|
|
16618
|
+
componentIdentity: "dev.remotion.shapes.Circle",
|
|
16111
16619
|
schema: circleSchema,
|
|
16112
16620
|
supportsEffects: true
|
|
16113
16621
|
});
|
|
@@ -16155,7 +16663,7 @@ var ellipseSchema = makeShapeSchema({
|
|
|
16155
16663
|
})
|
|
16156
16664
|
});
|
|
16157
16665
|
var EllipseInner = ({ rx, ry, ...props }) => {
|
|
16158
|
-
return /* @__PURE__ */
|
|
16666
|
+
return /* @__PURE__ */ jsx52(RenderSvg, {
|
|
16159
16667
|
defaultName: "<Ellipse>",
|
|
16160
16668
|
documentationLink: "https://www.remotion.dev/docs/shapes/ellipse",
|
|
16161
16669
|
...makeEllipse({ rx, ry }),
|
|
@@ -16164,6 +16672,7 @@ var EllipseInner = ({ rx, ry, ...props }) => {
|
|
|
16164
16672
|
};
|
|
16165
16673
|
var Ellipse = Internals.wrapInSchema({
|
|
16166
16674
|
Component: EllipseInner,
|
|
16675
|
+
componentIdentity: "dev.remotion.shapes.Ellipse",
|
|
16167
16676
|
schema: ellipseSchema,
|
|
16168
16677
|
supportsEffects: true
|
|
16169
16678
|
});
|
|
@@ -16287,7 +16796,7 @@ var HeartInner = ({
|
|
|
16287
16796
|
depthAdjustment = 0,
|
|
16288
16797
|
...props
|
|
16289
16798
|
}) => {
|
|
16290
|
-
return /* @__PURE__ */
|
|
16799
|
+
return /* @__PURE__ */ jsx62(RenderSvg, {
|
|
16291
16800
|
defaultName: "<Heart>",
|
|
16292
16801
|
documentationLink: "https://www.remotion.dev/docs/shapes/heart",
|
|
16293
16802
|
...makeHeart({
|
|
@@ -16301,6 +16810,7 @@ var HeartInner = ({
|
|
|
16301
16810
|
};
|
|
16302
16811
|
var Heart = Internals.wrapInSchema({
|
|
16303
16812
|
Component: HeartInner,
|
|
16813
|
+
componentIdentity: "dev.remotion.shapes.Heart",
|
|
16304
16814
|
schema: heartSchema,
|
|
16305
16815
|
supportsEffects: true
|
|
16306
16816
|
});
|
|
@@ -16445,7 +16955,7 @@ var PieInner = ({
|
|
|
16445
16955
|
rotation,
|
|
16446
16956
|
...props
|
|
16447
16957
|
}) => {
|
|
16448
|
-
return /* @__PURE__ */
|
|
16958
|
+
return /* @__PURE__ */ jsx72(RenderSvg, {
|
|
16449
16959
|
defaultName: "<Pie>",
|
|
16450
16960
|
documentationLink: "https://www.remotion.dev/docs/shapes/pie",
|
|
16451
16961
|
...makePie({ radius, progress, closePath, counterClockwise, rotation }),
|
|
@@ -16454,134 +16964,11 @@ var PieInner = ({
|
|
|
16454
16964
|
};
|
|
16455
16965
|
var Pie = Internals.wrapInSchema({
|
|
16456
16966
|
Component: PieInner,
|
|
16967
|
+
componentIdentity: "dev.remotion.shapes.Pie",
|
|
16457
16968
|
schema: pieSchema,
|
|
16458
16969
|
supportsEffects: true
|
|
16459
16970
|
});
|
|
16460
16971
|
Internals.addSequenceStackTraces(Pie);
|
|
16461
|
-
var shortenVector = (vector, radius) => {
|
|
16462
|
-
const [x, y] = vector;
|
|
16463
|
-
const currentLength = Math.sqrt(x * x + y * y);
|
|
16464
|
-
const scalingFactor = (currentLength - radius) / currentLength;
|
|
16465
|
-
return [x * scalingFactor, y * scalingFactor];
|
|
16466
|
-
};
|
|
16467
|
-
var scaleVectorToLength = (vector, length2) => {
|
|
16468
|
-
const [x, y] = vector;
|
|
16469
|
-
const currentLength = Math.sqrt(x * x + y * y);
|
|
16470
|
-
const scalingFactor = length2 / currentLength;
|
|
16471
|
-
return [x * scalingFactor, y * scalingFactor];
|
|
16472
|
-
};
|
|
16473
|
-
var joinPoints = (points, {
|
|
16474
|
-
edgeRoundness,
|
|
16475
|
-
cornerRadius,
|
|
16476
|
-
roundCornerStrategy
|
|
16477
|
-
}) => {
|
|
16478
|
-
return points.map(([x, y], i) => {
|
|
16479
|
-
const prevPointIndex = i === 0 ? points.length - 2 : i - 1;
|
|
16480
|
-
const prevPoint = points[prevPointIndex];
|
|
16481
|
-
const nextPointIndex = i === points.length - 1 ? 1 : i + 1;
|
|
16482
|
-
const nextPoint = points[nextPointIndex];
|
|
16483
|
-
const middleOfLine = [(x + nextPoint[0]) / 2, (y + nextPoint[1]) / 2];
|
|
16484
|
-
const prevPointMiddleOfLine = [
|
|
16485
|
-
(x + prevPoint[0]) / 2,
|
|
16486
|
-
(y + prevPoint[1]) / 2
|
|
16487
|
-
];
|
|
16488
|
-
const prevVector = [x - prevPoint[0], y - prevPoint[1]];
|
|
16489
|
-
const nextVector = [nextPoint[0] - x, nextPoint[1] - y];
|
|
16490
|
-
if (i === 0) {
|
|
16491
|
-
if (edgeRoundness !== null) {
|
|
16492
|
-
return [
|
|
16493
|
-
{
|
|
16494
|
-
type: "M",
|
|
16495
|
-
x: middleOfLine[0],
|
|
16496
|
-
y: middleOfLine[1]
|
|
16497
|
-
}
|
|
16498
|
-
];
|
|
16499
|
-
}
|
|
16500
|
-
if (cornerRadius !== 0) {
|
|
16501
|
-
const computeRadius = shortenVector(nextVector, cornerRadius);
|
|
16502
|
-
return [
|
|
16503
|
-
{
|
|
16504
|
-
type: "M",
|
|
16505
|
-
x: computeRadius[0] + x,
|
|
16506
|
-
y: computeRadius[1] + y
|
|
16507
|
-
}
|
|
16508
|
-
];
|
|
16509
|
-
}
|
|
16510
|
-
return [
|
|
16511
|
-
{
|
|
16512
|
-
type: "M",
|
|
16513
|
-
x,
|
|
16514
|
-
y
|
|
16515
|
-
}
|
|
16516
|
-
];
|
|
16517
|
-
}
|
|
16518
|
-
if (cornerRadius && edgeRoundness !== null) {
|
|
16519
|
-
throw new Error(`"cornerRadius" and "edgeRoundness" cannot be specified at the same time.`);
|
|
16520
|
-
}
|
|
16521
|
-
if (edgeRoundness === null) {
|
|
16522
|
-
if (cornerRadius === 0) {
|
|
16523
|
-
return [
|
|
16524
|
-
{
|
|
16525
|
-
type: "L",
|
|
16526
|
-
x,
|
|
16527
|
-
y
|
|
16528
|
-
}
|
|
16529
|
-
];
|
|
16530
|
-
}
|
|
16531
|
-
const prevVectorMinusRadius = shortenVector(prevVector, cornerRadius);
|
|
16532
|
-
const prevVectorLength = scaleVectorToLength(prevVector, cornerRadius);
|
|
16533
|
-
const nextVectorMinusRadius = scaleVectorToLength(nextVector, cornerRadius);
|
|
16534
|
-
const firstDraw = [
|
|
16535
|
-
prevPoint[0] + prevVectorMinusRadius[0],
|
|
16536
|
-
prevPoint[1] + prevVectorMinusRadius[1]
|
|
16537
|
-
];
|
|
16538
|
-
return [
|
|
16539
|
-
{
|
|
16540
|
-
type: "L",
|
|
16541
|
-
x: firstDraw[0],
|
|
16542
|
-
y: firstDraw[1]
|
|
16543
|
-
},
|
|
16544
|
-
roundCornerStrategy === "arc" ? {
|
|
16545
|
-
type: "a",
|
|
16546
|
-
rx: cornerRadius,
|
|
16547
|
-
ry: cornerRadius,
|
|
16548
|
-
xAxisRotation: 0,
|
|
16549
|
-
dx: prevVectorLength[0] + nextVectorMinusRadius[0],
|
|
16550
|
-
dy: prevVectorLength[1] + nextVectorMinusRadius[1],
|
|
16551
|
-
largeArcFlag: false,
|
|
16552
|
-
sweepFlag: true
|
|
16553
|
-
} : {
|
|
16554
|
-
type: "C",
|
|
16555
|
-
x: firstDraw[0] + prevVectorLength[0] + nextVectorMinusRadius[0],
|
|
16556
|
-
y: firstDraw[1] + prevVectorLength[1] + nextVectorMinusRadius[1],
|
|
16557
|
-
cp1x: x,
|
|
16558
|
-
cp1y: y,
|
|
16559
|
-
cp2x: x,
|
|
16560
|
-
cp2y: y
|
|
16561
|
-
}
|
|
16562
|
-
];
|
|
16563
|
-
}
|
|
16564
|
-
const controlPoint1 = [
|
|
16565
|
-
prevPointMiddleOfLine[0] + prevVector[0] * edgeRoundness * 0.5,
|
|
16566
|
-
prevPointMiddleOfLine[1] + prevVector[1] * edgeRoundness * 0.5
|
|
16567
|
-
];
|
|
16568
|
-
const controlPoint2 = [
|
|
16569
|
-
middleOfLine[0] - nextVector[0] * edgeRoundness * 0.5,
|
|
16570
|
-
middleOfLine[1] - nextVector[1] * edgeRoundness * 0.5
|
|
16571
|
-
];
|
|
16572
|
-
return [
|
|
16573
|
-
{
|
|
16574
|
-
type: "C",
|
|
16575
|
-
cp1x: controlPoint1[0],
|
|
16576
|
-
cp1y: controlPoint1[1],
|
|
16577
|
-
cp2x: controlPoint2[0],
|
|
16578
|
-
cp2y: controlPoint2[1],
|
|
16579
|
-
x: middleOfLine[0],
|
|
16580
|
-
y: middleOfLine[1]
|
|
16581
|
-
}
|
|
16582
|
-
];
|
|
16583
|
-
}).flat(1);
|
|
16584
|
-
};
|
|
16585
16972
|
function polygon({
|
|
16586
16973
|
points,
|
|
16587
16974
|
radius,
|
|
@@ -16662,7 +17049,7 @@ var PolygonInner = ({
|
|
|
16662
17049
|
edgeRoundness,
|
|
16663
17050
|
...props
|
|
16664
17051
|
}) => {
|
|
16665
|
-
return /* @__PURE__ */
|
|
17052
|
+
return /* @__PURE__ */ jsx82(RenderSvg, {
|
|
16666
17053
|
defaultName: "<Polygon>",
|
|
16667
17054
|
documentationLink: "https://www.remotion.dev/docs/shapes/polygon",
|
|
16668
17055
|
...makePolygon({
|
|
@@ -16676,6 +17063,7 @@ var PolygonInner = ({
|
|
|
16676
17063
|
};
|
|
16677
17064
|
var Polygon = Internals.wrapInSchema({
|
|
16678
17065
|
Component: PolygonInner,
|
|
17066
|
+
componentIdentity: "dev.remotion.shapes.Polygon",
|
|
16679
17067
|
schema: polygonSchema,
|
|
16680
17068
|
supportsEffects: true
|
|
16681
17069
|
});
|
|
@@ -16732,7 +17120,7 @@ var RectInner = ({
|
|
|
16732
17120
|
cornerRadius,
|
|
16733
17121
|
...props
|
|
16734
17122
|
}) => {
|
|
16735
|
-
return /* @__PURE__ */
|
|
17123
|
+
return /* @__PURE__ */ jsx92(RenderSvg, {
|
|
16736
17124
|
defaultName: "<Rect>",
|
|
16737
17125
|
documentationLink: "https://www.remotion.dev/docs/shapes/rect",
|
|
16738
17126
|
...makeRect({ height, width, edgeRoundness, cornerRadius }),
|
|
@@ -16741,6 +17129,7 @@ var RectInner = ({
|
|
|
16741
17129
|
};
|
|
16742
17130
|
var Rect = Internals.wrapInSchema({
|
|
16743
17131
|
Component: RectInner,
|
|
17132
|
+
componentIdentity: "dev.remotion.shapes.Rect",
|
|
16744
17133
|
schema: rectSchema,
|
|
16745
17134
|
supportsEffects: true
|
|
16746
17135
|
});
|
|
@@ -16835,7 +17224,7 @@ var StarInner = ({
|
|
|
16835
17224
|
edgeRoundness,
|
|
16836
17225
|
...props
|
|
16837
17226
|
}) => {
|
|
16838
|
-
return /* @__PURE__ */
|
|
17227
|
+
return /* @__PURE__ */ jsx102(RenderSvg, {
|
|
16839
17228
|
defaultName: "<Star>",
|
|
16840
17229
|
documentationLink: "https://www.remotion.dev/docs/shapes/star",
|
|
16841
17230
|
...makeStar({
|
|
@@ -16850,6 +17239,7 @@ var StarInner = ({
|
|
|
16850
17239
|
};
|
|
16851
17240
|
var Star = Internals.wrapInSchema({
|
|
16852
17241
|
Component: StarInner,
|
|
17242
|
+
componentIdentity: "dev.remotion.shapes.Star",
|
|
16853
17243
|
schema: starSchema,
|
|
16854
17244
|
supportsEffects: true
|
|
16855
17245
|
});
|
|
@@ -16946,7 +17336,7 @@ var TriangleInner = ({
|
|
|
16946
17336
|
cornerRadius,
|
|
16947
17337
|
...props
|
|
16948
17338
|
}) => {
|
|
16949
|
-
return /* @__PURE__ */
|
|
17339
|
+
return /* @__PURE__ */ jsx112(RenderSvg, {
|
|
16950
17340
|
defaultName: "<Triangle>",
|
|
16951
17341
|
documentationLink: "https://www.remotion.dev/docs/shapes/triangle",
|
|
16952
17342
|
...makeTriangle({ length: length2, direction, edgeRoundness, cornerRadius }),
|
|
@@ -16955,6 +17345,7 @@ var TriangleInner = ({
|
|
|
16955
17345
|
};
|
|
16956
17346
|
var Triangle = Internals.wrapInSchema({
|
|
16957
17347
|
Component: TriangleInner,
|
|
17348
|
+
componentIdentity: "dev.remotion.shapes.Triangle",
|
|
16958
17349
|
schema: triangleSchema,
|
|
16959
17350
|
supportsEffects: true
|
|
16960
17351
|
});
|
|
@@ -18035,7 +18426,7 @@ import { jsx as jsx83, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
|
18035
18426
|
import { jsx as jsx93 } from "react/jsx-runtime";
|
|
18036
18427
|
import React72 from "react";
|
|
18037
18428
|
import { jsx as jsx103 } from "react/jsx-runtime";
|
|
18038
|
-
import { jsx as
|
|
18429
|
+
import { jsx as jsx113 } from "react/jsx-runtime";
|
|
18039
18430
|
import { jsx as jsx122 } from "react/jsx-runtime";
|
|
18040
18431
|
import * as React36 from "react";
|
|
18041
18432
|
import * as ReactDOM4 from "react-dom";
|
|
@@ -18595,7 +18986,7 @@ var Button = ({
|
|
|
18595
18986
|
const [dimensions, setDimensions] = useState22(null);
|
|
18596
18987
|
const ref = useRef210(null);
|
|
18597
18988
|
const { isActive, progress } = useHoverTransforms(ref, Boolean(disabled || loading));
|
|
18598
|
-
const onPointerEnter =
|
|
18989
|
+
const onPointerEnter = useCallback27((e) => {
|
|
18599
18990
|
if (e.pointerType !== "mouse") {
|
|
18600
18991
|
return;
|
|
18601
18992
|
}
|
|
@@ -18632,7 +19023,7 @@ var Button = ({
|
|
|
18632
19023
|
const isDisabled = disabled || loading;
|
|
18633
19024
|
const isAnchor = !asChild && "href" in rest && rest.href !== undefined;
|
|
18634
19025
|
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);
|
|
18635
|
-
const preventInteraction =
|
|
19026
|
+
const preventInteraction = useCallback27((e) => {
|
|
18636
19027
|
e.preventDefault();
|
|
18637
19028
|
e.stopPropagation();
|
|
18638
19029
|
}, []);
|
|
@@ -18843,7 +19234,7 @@ var Link = ({
|
|
|
18843
19234
|
className,
|
|
18844
19235
|
...props
|
|
18845
19236
|
}) => {
|
|
18846
|
-
return /* @__PURE__ */
|
|
19237
|
+
return /* @__PURE__ */ jsx113("a", {
|
|
18847
19238
|
...props,
|
|
18848
19239
|
className: cn(className, "text-brand underline underline-offset-4"),
|
|
18849
19240
|
children: props.children
|
|
@@ -24726,10 +25117,10 @@ var Triangle22 = (props) => {
|
|
|
24726
25117
|
};
|
|
24727
25118
|
|
|
24728
25119
|
// src/components/design.tsx
|
|
24729
|
-
import { useCallback as
|
|
25120
|
+
import { useCallback as useCallback39, useState as useState39 } from "react";
|
|
24730
25121
|
|
|
24731
25122
|
// src/components/ManageTeamMembers.tsx
|
|
24732
|
-
import React53, { useCallback as
|
|
25123
|
+
import React53, { useCallback as useCallback38, useState as useState38 } from "react";
|
|
24733
25124
|
import { jsx as jsx45, jsxs as jsxs6, Fragment as Fragment9 } from "react/jsx-runtime";
|
|
24734
25125
|
function generateId() {
|
|
24735
25126
|
return Math.random().toString(36).substr(2, 9);
|
|
@@ -24775,7 +25166,7 @@ var Row = ({ value, onChange, onDelete, disableDelete }) => {
|
|
|
24775
25166
|
var ManageTeamMembers = () => {
|
|
24776
25167
|
const [members, setMembers] = useState38(initialMembers);
|
|
24777
25168
|
const displayedMembers = [...members, { id: "NEW", name: "" }];
|
|
24778
|
-
const updateMember =
|
|
25169
|
+
const updateMember = useCallback38((idx, value) => {
|
|
24779
25170
|
if (idx === members.length) {
|
|
24780
25171
|
if (value.trim() !== "") {
|
|
24781
25172
|
setMembers((prev) => [...prev, { id: generateId(), name: value }]);
|
|
@@ -24784,11 +25175,11 @@ var ManageTeamMembers = () => {
|
|
|
24784
25175
|
setMembers((prev) => prev.map((m, i) => i === idx ? { ...m, name: value } : m));
|
|
24785
25176
|
}
|
|
24786
25177
|
}, [members.length]);
|
|
24787
|
-
const deleteMember =
|
|
25178
|
+
const deleteMember = useCallback38((idx) => {
|
|
24788
25179
|
setMembers((prev) => prev.filter((_, i) => i !== idx));
|
|
24789
25180
|
}, []);
|
|
24790
25181
|
const [loading, setLoading] = useState38(false);
|
|
24791
|
-
const save =
|
|
25182
|
+
const save = useCallback38(() => {
|
|
24792
25183
|
setLoading(true);
|
|
24793
25184
|
setTimeout(() => {
|
|
24794
25185
|
setLoading(false);
|
|
@@ -24847,20 +25238,20 @@ var DesignPage = () => {
|
|
|
24847
25238
|
const [active, setActive] = useState39(false);
|
|
24848
25239
|
const [submitButtonActive, setSubmitButtonActive] = useState39(true);
|
|
24849
25240
|
const [submitButtonPrimaryActive, setSubmitButtonPrimaryActive] = useState39(true);
|
|
24850
|
-
const onClick =
|
|
25241
|
+
const onClick = useCallback39(() => {
|
|
24851
25242
|
setSubmitButtonActive(false);
|
|
24852
25243
|
setTimeout(() => {
|
|
24853
25244
|
setSubmitButtonActive(true);
|
|
24854
25245
|
}, 1000);
|
|
24855
25246
|
}, []);
|
|
24856
|
-
const onClickPrimary =
|
|
25247
|
+
const onClickPrimary = useCallback39(() => {
|
|
24857
25248
|
setSubmitButtonPrimaryActive(false);
|
|
24858
25249
|
setTimeout(() => {
|
|
24859
25250
|
setSubmitButtonPrimaryActive(true);
|
|
24860
25251
|
}, 1000);
|
|
24861
25252
|
}, []);
|
|
24862
25253
|
const [saving, setSaving] = useState39(false);
|
|
24863
|
-
const save =
|
|
25254
|
+
const save = useCallback39(() => {
|
|
24864
25255
|
setSaving(true);
|
|
24865
25256
|
setTimeout(() => {
|
|
24866
25257
|
setSaving(false);
|