@remotion/promo-pages 4.0.445 → 4.0.446
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 +61 -42
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/Homepage.js +101 -54
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/design.js +2 -2
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/experts.js +2 -2
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/homepage/Pricing.js +2 -2
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsGallery.js +2 -2
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsShow.js +2 -2
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsSubmit.js +2 -2
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/template-modal-content.js +2 -2
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/templates.js +4 -3
- package/dist/components/experts/experts-data.js +0 -13
- package/dist/components/homepage/CommunityStatsItems.js +4 -4
- package/dist/components/homepage/GitHubButton.js +1 -1
- package/dist/components/homepage/RealMp4Videos.js +1 -1
- package/dist/components/prompts/PromptsGallery.js +1 -1
- package/dist/components/prompts/PromptsSubmit.js +2 -2
- package/dist/components/team/TitleTeamCards.js +1 -1
- package/dist/components/team.js +1 -2
- package/dist/design.js +1 -1
- package/dist/experts.js +1 -1
- package/dist/homepage/Pricing.js +1 -1
- package/dist/prompts/PromptsGallery.js +1 -1
- package/dist/prompts/PromptsShow.js +1 -1
- package/dist/prompts/PromptsSubmit.js +1 -1
- package/dist/team.js +1 -1
- package/dist/template-modal-content.js +1 -1
- package/dist/templates.js +1 -1
- package/package.json +13 -13
package/dist/Homepage.js
CHANGED
|
@@ -2042,7 +2042,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
|
2042
2042
|
var addSequenceStackTraces = (component) => {
|
|
2043
2043
|
componentsToAddStacksTo.push(component);
|
|
2044
2044
|
};
|
|
2045
|
-
var VERSION = "4.0.
|
|
2045
|
+
var VERSION = "4.0.446";
|
|
2046
2046
|
var checkMultipleRemotionVersions = () => {
|
|
2047
2047
|
if (typeof globalThis === "undefined") {
|
|
2048
2048
|
return;
|
|
@@ -32993,22 +32993,33 @@ var audioSchema = {
|
|
|
32993
32993
|
loop: { type: "boolean", default: false, description: "Loop" }
|
|
32994
32994
|
};
|
|
32995
32995
|
var AudioInner = (props) => {
|
|
32996
|
-
const {
|
|
32996
|
+
const {
|
|
32997
|
+
name,
|
|
32998
|
+
stack,
|
|
32999
|
+
showInTimeline,
|
|
33000
|
+
controls,
|
|
33001
|
+
from,
|
|
33002
|
+
durationInFrames,
|
|
33003
|
+
...otherProps
|
|
33004
|
+
} = props;
|
|
32997
33005
|
const environment = useRemotionEnvironment();
|
|
32998
33006
|
if (typeof props.src !== "string") {
|
|
32999
33007
|
throw new TypeError(`The \`<Audio>\` tag requires a string for \`src\`, but got ${JSON.stringify(props.src)} instead.`);
|
|
33000
33008
|
}
|
|
33001
33009
|
validateMediaProps2({ playbackRate: props.playbackRate, volume: props.volume }, "Audio");
|
|
33002
|
-
|
|
33003
|
-
|
|
33010
|
+
return /* @__PURE__ */ jsx313(Sequence, {
|
|
33011
|
+
layout: "none",
|
|
33012
|
+
from: from ?? 0,
|
|
33013
|
+
durationInFrames: durationInFrames ?? Infinity,
|
|
33014
|
+
showInTimeline: false,
|
|
33015
|
+
children: environment.isRendering ? /* @__PURE__ */ jsx313(AudioForRendering2, {
|
|
33004
33016
|
...otherProps
|
|
33005
|
-
})
|
|
33006
|
-
|
|
33007
|
-
|
|
33008
|
-
|
|
33009
|
-
|
|
33010
|
-
|
|
33011
|
-
controls
|
|
33017
|
+
}) : /* @__PURE__ */ jsx313(AudioForPreview2, {
|
|
33018
|
+
name,
|
|
33019
|
+
...otherProps,
|
|
33020
|
+
stack: stack ?? null,
|
|
33021
|
+
controls
|
|
33022
|
+
})
|
|
33012
33023
|
});
|
|
33013
33024
|
};
|
|
33014
33025
|
var Audio2 = Internals.wrapInSchema(AudioInner, audioSchema);
|
|
@@ -33851,38 +33862,46 @@ var VideoInner = ({
|
|
|
33851
33862
|
onError,
|
|
33852
33863
|
credentials,
|
|
33853
33864
|
controls,
|
|
33854
|
-
objectFit
|
|
33865
|
+
objectFit,
|
|
33866
|
+
from,
|
|
33867
|
+
durationInFrames
|
|
33855
33868
|
}) => {
|
|
33856
33869
|
const fallbackLogLevel = Internals.useLogLevel();
|
|
33857
|
-
return /* @__PURE__ */ jsx65(
|
|
33858
|
-
|
|
33859
|
-
|
|
33860
|
-
|
|
33861
|
-
|
|
33862
|
-
|
|
33863
|
-
|
|
33864
|
-
|
|
33865
|
-
|
|
33866
|
-
|
|
33867
|
-
|
|
33868
|
-
|
|
33869
|
-
|
|
33870
|
-
|
|
33871
|
-
|
|
33872
|
-
|
|
33873
|
-
|
|
33874
|
-
|
|
33875
|
-
|
|
33876
|
-
|
|
33877
|
-
|
|
33878
|
-
|
|
33879
|
-
|
|
33880
|
-
|
|
33881
|
-
|
|
33882
|
-
|
|
33883
|
-
|
|
33884
|
-
|
|
33885
|
-
|
|
33870
|
+
return /* @__PURE__ */ jsx65(Sequence, {
|
|
33871
|
+
layout: "none",
|
|
33872
|
+
from: from ?? 0,
|
|
33873
|
+
durationInFrames: durationInFrames ?? Infinity,
|
|
33874
|
+
showInTimeline: false,
|
|
33875
|
+
children: /* @__PURE__ */ jsx65(InnerVideo, {
|
|
33876
|
+
audioStreamIndex: audioStreamIndex ?? 0,
|
|
33877
|
+
className: className2,
|
|
33878
|
+
delayRenderRetries: delayRenderRetries ?? null,
|
|
33879
|
+
delayRenderTimeoutInMilliseconds: delayRenderTimeoutInMilliseconds ?? null,
|
|
33880
|
+
disallowFallbackToOffthreadVideo: disallowFallbackToOffthreadVideo ?? false,
|
|
33881
|
+
fallbackOffthreadVideoProps: fallbackOffthreadVideoProps ?? {},
|
|
33882
|
+
logLevel: logLevel ?? fallbackLogLevel,
|
|
33883
|
+
loop: loop ?? false,
|
|
33884
|
+
loopVolumeCurveBehavior: loopVolumeCurveBehavior ?? "repeat",
|
|
33885
|
+
muted: muted ?? false,
|
|
33886
|
+
name,
|
|
33887
|
+
onVideoFrame,
|
|
33888
|
+
playbackRate: playbackRate ?? 1,
|
|
33889
|
+
showInTimeline: showInTimeline ?? true,
|
|
33890
|
+
src,
|
|
33891
|
+
style: style2 ?? {},
|
|
33892
|
+
trimAfter,
|
|
33893
|
+
trimBefore,
|
|
33894
|
+
volume: volume ?? 1,
|
|
33895
|
+
toneFrequency: toneFrequency ?? 1,
|
|
33896
|
+
stack,
|
|
33897
|
+
debugOverlay: debugOverlay ?? false,
|
|
33898
|
+
debugAudioScheduling: debugAudioScheduling ?? false,
|
|
33899
|
+
headless: headless ?? false,
|
|
33900
|
+
onError,
|
|
33901
|
+
credentials,
|
|
33902
|
+
controls,
|
|
33903
|
+
objectFit: objectFit ?? "contain"
|
|
33904
|
+
})
|
|
33886
33905
|
});
|
|
33887
33906
|
};
|
|
33888
33907
|
var Video = Internals.wrapInSchema(VideoInner, videoSchema);
|
|
@@ -35189,7 +35208,7 @@ import {
|
|
|
35189
35208
|
import { BufferTarget, StreamTarget } from "mediabunny";
|
|
35190
35209
|
|
|
35191
35210
|
// ../core/dist/esm/version.mjs
|
|
35192
|
-
var VERSION2 = "4.0.
|
|
35211
|
+
var VERSION2 = "4.0.446";
|
|
35193
35212
|
|
|
35194
35213
|
// ../web-renderer/dist/esm/index.mjs
|
|
35195
35214
|
import { AudioSample, VideoSample } from "mediabunny";
|
|
@@ -1003,7 +1003,7 @@ var useIsPlayer = () => {
|
|
|
1003
1003
|
function truthy(value) {
|
|
1004
1004
|
return Boolean(value);
|
|
1005
1005
|
}
|
|
1006
|
-
var VERSION = "4.0.
|
|
1006
|
+
var VERSION = "4.0.436";
|
|
1007
1007
|
var checkMultipleRemotionVersions = () => {
|
|
1008
1008
|
if (typeof globalThis === "undefined") {
|
|
1009
1009
|
return;
|
|
@@ -4081,7 +4081,7 @@ var useBasicMediaInTimeline = ({
|
|
|
4081
4081
|
const videoConfig = useVideoConfig();
|
|
4082
4082
|
const [initialVolume] = useState10(() => volume);
|
|
4083
4083
|
const mediaDuration = calculateMediaDuration({
|
|
4084
|
-
mediaDurationInFrames: videoConfig.durationInFrames,
|
|
4084
|
+
mediaDurationInFrames: videoConfig.durationInFrames + (trimBefore ?? 0),
|
|
4085
4085
|
playbackRate,
|
|
4086
4086
|
trimBefore,
|
|
4087
4087
|
trimAfter
|
|
@@ -23232,7 +23232,7 @@ var GitHubStars = () => {
|
|
|
23232
23232
|
width: "45px"
|
|
23233
23233
|
}),
|
|
23234
23234
|
/* @__PURE__ */ jsx50(StatItemContent, {
|
|
23235
|
-
content: "
|
|
23235
|
+
content: "39k",
|
|
23236
23236
|
width: "80px",
|
|
23237
23237
|
fontSize: "2.5rem",
|
|
23238
23238
|
fontWeight: "bold"
|
|
@@ -28459,7 +28459,12 @@ var setGlobalTimeAnchor = ({
|
|
|
28459
28459
|
}
|
|
28460
28460
|
audioSyncAnchor.value = newAnchor;
|
|
28461
28461
|
};
|
|
28462
|
-
var makeAudioIterator = (
|
|
28462
|
+
var makeAudioIterator = ({
|
|
28463
|
+
startFromSecond,
|
|
28464
|
+
maximumTimestamp,
|
|
28465
|
+
cache: cache2,
|
|
28466
|
+
debugAudioScheduling
|
|
28467
|
+
}) => {
|
|
28463
28468
|
let destroyed = false;
|
|
28464
28469
|
const iterator = cache2.makeIteratorOrUsePrewarmed(startFromSecond, maximumTimestamp);
|
|
28465
28470
|
const queuedAudioNodes = [];
|
|
@@ -28469,15 +28474,15 @@ var makeAudioIterator = (startFromSecond, maximumTimestamp, cache2, debugAudioSc
|
|
|
28469
28474
|
const cleanupAudioQueue = (audioContext) => {
|
|
28470
28475
|
for (const node of queuedAudioNodes) {
|
|
28471
28476
|
try {
|
|
28472
|
-
const
|
|
28473
|
-
const
|
|
28474
|
-
|
|
28475
|
-
const shouldKeep = isAlreadyPlaying;
|
|
28476
|
-
if (shouldKeep) {
|
|
28477
|
+
const isAlreadyPlaying = node.scheduledTime - ALLOWED_GLOBAL_TIME_ANCHOR_SHIFT < audioContext.audioContext.currentTime;
|
|
28478
|
+
const wasScheduledForThisAnchor = node.scheduledAtAnchor === audioContext.audioSyncAnchor.value;
|
|
28479
|
+
if (isAlreadyPlaying && wasScheduledForThisAnchor) {
|
|
28477
28480
|
continue;
|
|
28478
28481
|
}
|
|
28479
28482
|
if (debugAudioScheduling) {
|
|
28480
|
-
|
|
28483
|
+
const currentlyHearing = audioContext.audioContext.getOutputTimestamp().contextTime;
|
|
28484
|
+
const nodeEndTime = node.scheduledTime + node.buffer.duration / node.playbackRate;
|
|
28485
|
+
Internals.Log.info({ logLevel: "trace", tag: "audio-scheduling" }, `Stopping node ${node.timestamp.toFixed(3)}, currently hearing = ${currentlyHearing.toFixed(3)} currentTime = ${audioContext.audioContext.currentTime.toFixed(3)} nodeEndTime = ${nodeEndTime.toFixed(3)} scheduledTime = ${node.scheduledTime.toFixed(3)}`);
|
|
28481
28486
|
}
|
|
28482
28487
|
node.node.stop();
|
|
28483
28488
|
} catch {}
|
|
@@ -28638,14 +28643,16 @@ var makeAudioIterator = (startFromSecond, maximumTimestamp, cache2, debugAudioSc
|
|
|
28638
28643
|
timestamp,
|
|
28639
28644
|
buffer,
|
|
28640
28645
|
scheduledTime,
|
|
28641
|
-
playbackRate
|
|
28646
|
+
playbackRate,
|
|
28647
|
+
scheduledAtAnchor
|
|
28642
28648
|
}) => {
|
|
28643
28649
|
queuedAudioNodes.push({
|
|
28644
28650
|
node,
|
|
28645
28651
|
timestamp,
|
|
28646
28652
|
buffer,
|
|
28647
28653
|
scheduledTime,
|
|
28648
|
-
playbackRate
|
|
28654
|
+
playbackRate,
|
|
28655
|
+
scheduledAtAnchor
|
|
28649
28656
|
});
|
|
28650
28657
|
},
|
|
28651
28658
|
removeQueuedAudioNode: (node) => {
|
|
@@ -28884,8 +28891,8 @@ var audioIteratorManager = ({
|
|
|
28884
28891
|
}) => {
|
|
28885
28892
|
let muted = initialMuted;
|
|
28886
28893
|
let currentVolume = 1;
|
|
28887
|
-
const gainNode = sharedAudioContext.createGain();
|
|
28888
|
-
gainNode.connect(sharedAudioContext.destination);
|
|
28894
|
+
const gainNode = sharedAudioContext.audioContext.createGain();
|
|
28895
|
+
gainNode.connect(sharedAudioContext.audioContext.destination);
|
|
28889
28896
|
const audioSink = new AudioBufferSink(audioTrack);
|
|
28890
28897
|
const prewarmedAudioIteratorCache = makePrewarmedAudioIteratorCache(audioSink);
|
|
28891
28898
|
let audioBufferIterator = null;
|
|
@@ -28901,13 +28908,13 @@ var audioIteratorManager = ({
|
|
|
28901
28908
|
if (!audioBufferIterator) {
|
|
28902
28909
|
throw new Error("Audio buffer iterator not found");
|
|
28903
28910
|
}
|
|
28904
|
-
if (sharedAudioContext.state !== "running") {
|
|
28911
|
+
if (sharedAudioContext.audioContext.state !== "running") {
|
|
28905
28912
|
throw new Error("Tried to schedule node while audio context is not running");
|
|
28906
28913
|
}
|
|
28907
28914
|
if (muted) {
|
|
28908
28915
|
return;
|
|
28909
28916
|
}
|
|
28910
|
-
const node = sharedAudioContext.createBufferSource();
|
|
28917
|
+
const node = sharedAudioContext.audioContext.createBufferSource();
|
|
28911
28918
|
node.buffer = buffer;
|
|
28912
28919
|
node.playbackRate.value = playbackRate;
|
|
28913
28920
|
node.connect(gainNode);
|
|
@@ -28925,7 +28932,8 @@ var audioIteratorManager = ({
|
|
|
28925
28932
|
timestamp: mediaTimestamp,
|
|
28926
28933
|
buffer,
|
|
28927
28934
|
scheduledTime: started.scheduledTime,
|
|
28928
|
-
playbackRate
|
|
28935
|
+
playbackRate,
|
|
28936
|
+
scheduledAtAnchor: sharedAudioContext.audioSyncAnchor.value
|
|
28929
28937
|
});
|
|
28930
28938
|
node.onended = () => {
|
|
28931
28939
|
setTimeout(() => {
|
|
@@ -28972,7 +28980,7 @@ var audioIteratorManager = ({
|
|
|
28972
28980
|
if (buffer.timestamp >= endTime) {
|
|
28973
28981
|
return;
|
|
28974
28982
|
}
|
|
28975
|
-
if (getIsPlaying() && sharedAudioContext.state === "running" && (sharedAudioContext.getOutputTimestamp().contextTime ?? 0) > 0) {
|
|
28983
|
+
if (getIsPlaying() && sharedAudioContext.audioContext.state === "running" && (sharedAudioContext.audioContext.getOutputTimestamp().contextTime ?? 0) > 0) {
|
|
28976
28984
|
resumeScheduledAudioChunks({
|
|
28977
28985
|
playbackRate,
|
|
28978
28986
|
scheduleAudioNode,
|
|
@@ -29012,7 +29020,12 @@ var audioIteratorManager = ({
|
|
|
29012
29020
|
audioBufferIterator?.destroy(sharedAudioContext);
|
|
29013
29021
|
const delayHandle = __using(__stack, delayPlaybackHandleIfNotPremounting(), 0);
|
|
29014
29022
|
currentDelayHandle = delayHandle;
|
|
29015
|
-
const iterator = makeAudioIterator(
|
|
29023
|
+
const iterator = makeAudioIterator({
|
|
29024
|
+
startFromSecond,
|
|
29025
|
+
maximumTimestamp: getEndTime(),
|
|
29026
|
+
cache: prewarmedAudioIteratorCache,
|
|
29027
|
+
debugAudioScheduling
|
|
29028
|
+
});
|
|
29016
29029
|
audioIteratorsCreated++;
|
|
29017
29030
|
audioBufferIterator = iterator;
|
|
29018
29031
|
try {
|
|
@@ -29096,7 +29109,7 @@ var audioIteratorManager = ({
|
|
|
29096
29109
|
}
|
|
29097
29110
|
const queuedPeriod = audioBufferIterator.getQueuedPeriod();
|
|
29098
29111
|
const queuedPeriodMinusLatency = queuedPeriod ? {
|
|
29099
|
-
from: queuedPeriod.from - ALLOWED_GLOBAL_TIME_ANCHOR_SHIFT - sharedAudioContext.baseLatency - sharedAudioContext.outputLatency,
|
|
29112
|
+
from: queuedPeriod.from - ALLOWED_GLOBAL_TIME_ANCHOR_SHIFT - sharedAudioContext.audioContext.baseLatency - sharedAudioContext.audioContext.outputLatency,
|
|
29100
29113
|
until: queuedPeriod.until
|
|
29101
29114
|
} : null;
|
|
29102
29115
|
const currentTimeIsAlreadyQueued = isAlreadyQueued(newTime, queuedPeriodMinusLatency);
|
|
@@ -29521,7 +29534,8 @@ class MediaPlayer {
|
|
|
29521
29534
|
durationInFrames,
|
|
29522
29535
|
onVideoFrameCallback,
|
|
29523
29536
|
playing,
|
|
29524
|
-
sequenceOffset
|
|
29537
|
+
sequenceOffset,
|
|
29538
|
+
credentials
|
|
29525
29539
|
}) {
|
|
29526
29540
|
this.canvas = canvas ?? null;
|
|
29527
29541
|
this.src = src;
|
|
@@ -29545,7 +29559,9 @@ class MediaPlayer {
|
|
|
29545
29559
|
this.playing = playing;
|
|
29546
29560
|
this.sequenceOffset = sequenceOffset;
|
|
29547
29561
|
this.input = new Input2({
|
|
29548
|
-
source: new UrlSource(this.src
|
|
29562
|
+
source: new UrlSource(this.src, credentials ? {
|
|
29563
|
+
requestInit: { credentials }
|
|
29564
|
+
} : undefined),
|
|
29549
29565
|
formats: ALL_FORMATS
|
|
29550
29566
|
});
|
|
29551
29567
|
if (canvas) {
|
|
@@ -29659,7 +29675,7 @@ class MediaPlayer {
|
|
|
29659
29675
|
this.audioIteratorManager = audioIteratorManager({
|
|
29660
29676
|
audioTrack,
|
|
29661
29677
|
delayPlaybackHandleIfNotPremounting: this.delayPlaybackHandleIfNotPremounting,
|
|
29662
|
-
sharedAudioContext: this.sharedAudioContext
|
|
29678
|
+
sharedAudioContext: this.sharedAudioContext,
|
|
29663
29679
|
getIsLooping: () => this.loop,
|
|
29664
29680
|
getEndTime: () => this.getEndTime(),
|
|
29665
29681
|
getStartTime: () => this.getStartTime(),
|
|
@@ -30328,6 +30344,7 @@ var AudioForPreviewAssertedShowing = ({
|
|
|
30328
30344
|
fallbackHtml5AudioProps,
|
|
30329
30345
|
debugAudioScheduling,
|
|
30330
30346
|
onError,
|
|
30347
|
+
credentials,
|
|
30331
30348
|
controls
|
|
30332
30349
|
}) => {
|
|
30333
30350
|
const videoConfig = useUnsafeVideoConfig2();
|
|
@@ -30454,7 +30471,8 @@ var AudioForPreviewAssertedShowing = ({
|
|
|
30454
30471
|
durationInFrames: videoConfig.durationInFrames,
|
|
30455
30472
|
onVideoFrameCallback: null,
|
|
30456
30473
|
playing: initialPlaying.current,
|
|
30457
|
-
sequenceOffset: initialSequenceOffset.current
|
|
30474
|
+
sequenceOffset: initialSequenceOffset.current,
|
|
30475
|
+
credentials
|
|
30458
30476
|
});
|
|
30459
30477
|
mediaPlayerRef.current = player;
|
|
30460
30478
|
player.initialize(currentTimeRef.current, initialMuted.current).then((result) => {
|
|
@@ -30546,7 +30564,8 @@ var AudioForPreviewAssertedShowing = ({
|
|
|
30546
30564
|
debugAudioScheduling,
|
|
30547
30565
|
buffer,
|
|
30548
30566
|
onError,
|
|
30549
|
-
videoConfig.durationInFrames
|
|
30567
|
+
videoConfig.durationInFrames,
|
|
30568
|
+
credentials
|
|
30550
30569
|
]);
|
|
30551
30570
|
if (shouldFallbackToNativeAudio && !disallowFallbackToHtml5Audio) {
|
|
30552
30571
|
return /* @__PURE__ */ jsx58(Audio, {
|
|
@@ -30589,6 +30608,7 @@ var AudioForPreview2 = ({
|
|
|
30589
30608
|
fallbackHtml5AudioProps,
|
|
30590
30609
|
debugAudioScheduling,
|
|
30591
30610
|
onError,
|
|
30611
|
+
credentials,
|
|
30592
30612
|
controls
|
|
30593
30613
|
}) => {
|
|
30594
30614
|
const preloadedSrc = usePreload2(src);
|
|
@@ -30638,6 +30658,7 @@ var AudioForPreview2 = ({
|
|
|
30638
30658
|
toneFrequency,
|
|
30639
30659
|
debugAudioScheduling: debugAudioScheduling ?? false,
|
|
30640
30660
|
onError,
|
|
30661
|
+
credentials,
|
|
30641
30662
|
fallbackHtml5AudioProps,
|
|
30642
30663
|
controls
|
|
30643
30664
|
});
|
|
@@ -31732,11 +31753,12 @@ var getFormatOrNullOrNetworkError = async (input) => {
|
|
|
31732
31753
|
return null;
|
|
31733
31754
|
}
|
|
31734
31755
|
};
|
|
31735
|
-
var getSinks = async (src) => {
|
|
31756
|
+
var getSinks = async (src, credentials) => {
|
|
31736
31757
|
const input = new Input22({
|
|
31737
31758
|
formats: ALL_FORMATS2,
|
|
31738
31759
|
source: new UrlSource2(src, {
|
|
31739
|
-
getRetryDelay
|
|
31760
|
+
getRetryDelay,
|
|
31761
|
+
...credentials ? { requestInit: { credentials } } : undefined
|
|
31740
31762
|
})
|
|
31741
31763
|
});
|
|
31742
31764
|
const format = await getFormatOrNullOrNetworkError(input);
|
|
@@ -31816,15 +31838,16 @@ var getSinks = async (src) => {
|
|
|
31816
31838
|
};
|
|
31817
31839
|
};
|
|
31818
31840
|
var sinkPromises = {};
|
|
31819
|
-
var getSink = (src, logLevel) => {
|
|
31820
|
-
|
|
31841
|
+
var getSink = (src, logLevel, credentials) => {
|
|
31842
|
+
const cacheKey = credentials ? `${src}::${credentials}` : src;
|
|
31843
|
+
let promise = sinkPromises[cacheKey];
|
|
31821
31844
|
if (!promise) {
|
|
31822
31845
|
Internals.Log.verbose({
|
|
31823
31846
|
logLevel,
|
|
31824
31847
|
tag: "@remotion/media"
|
|
31825
31848
|
}, `Sink for ${src} was not found, creating new sink`);
|
|
31826
|
-
promise = getSinks(src);
|
|
31827
|
-
sinkPromises[
|
|
31849
|
+
promise = getSinks(src, credentials);
|
|
31850
|
+
sinkPromises[cacheKey] = promise;
|
|
31828
31851
|
}
|
|
31829
31852
|
return promise;
|
|
31830
31853
|
};
|
|
@@ -31839,9 +31862,10 @@ var extractAudioInternal = async ({
|
|
|
31839
31862
|
trimBefore,
|
|
31840
31863
|
trimAfter,
|
|
31841
31864
|
fps,
|
|
31842
|
-
maxCacheSize
|
|
31865
|
+
maxCacheSize,
|
|
31866
|
+
credentials
|
|
31843
31867
|
}) => {
|
|
31844
|
-
const { getAudio, actualMatroskaTimestamps, isMatroska, getDuration } = await getSink(src, logLevel);
|
|
31868
|
+
const { getAudio, actualMatroskaTimestamps, isMatroska, getDuration } = await getSink(src, logLevel, credentials);
|
|
31845
31869
|
let mediaDurationInSeconds = null;
|
|
31846
31870
|
if (loop) {
|
|
31847
31871
|
mediaDurationInSeconds = await getDuration();
|
|
@@ -31964,9 +31988,10 @@ var extractFrameInternal = async ({
|
|
|
31964
31988
|
trimBefore,
|
|
31965
31989
|
playbackRate,
|
|
31966
31990
|
fps,
|
|
31967
|
-
maxCacheSize
|
|
31991
|
+
maxCacheSize,
|
|
31992
|
+
credentials
|
|
31968
31993
|
}) => {
|
|
31969
|
-
const sink = await getSink(src, logLevel);
|
|
31994
|
+
const sink = await getSink(src, logLevel, credentials);
|
|
31970
31995
|
const [video, mediaDurationInSecondsRaw] = await Promise.all([
|
|
31971
31996
|
sink.getVideo(),
|
|
31972
31997
|
loop ? sink.getDuration() : Promise.resolve(null)
|
|
@@ -32088,7 +32113,8 @@ var extractFrameAndAudio = async ({
|
|
|
32088
32113
|
trimAfter,
|
|
32089
32114
|
trimBefore,
|
|
32090
32115
|
fps,
|
|
32091
|
-
maxCacheSize
|
|
32116
|
+
maxCacheSize,
|
|
32117
|
+
credentials
|
|
32092
32118
|
}) => {
|
|
32093
32119
|
try {
|
|
32094
32120
|
const [video, audio] = await Promise.all([
|
|
@@ -32101,7 +32127,8 @@ var extractFrameAndAudio = async ({
|
|
|
32101
32127
|
playbackRate,
|
|
32102
32128
|
trimBefore,
|
|
32103
32129
|
fps,
|
|
32104
|
-
maxCacheSize
|
|
32130
|
+
maxCacheSize,
|
|
32131
|
+
credentials
|
|
32105
32132
|
}) : null,
|
|
32106
32133
|
includeAudio ? extractAudio({
|
|
32107
32134
|
src,
|
|
@@ -32114,7 +32141,8 @@ var extractFrameAndAudio = async ({
|
|
|
32114
32141
|
trimAfter,
|
|
32115
32142
|
fps,
|
|
32116
32143
|
trimBefore,
|
|
32117
|
-
maxCacheSize
|
|
32144
|
+
maxCacheSize,
|
|
32145
|
+
credentials
|
|
32118
32146
|
}) : null
|
|
32119
32147
|
]);
|
|
32120
32148
|
if (video?.type === "cannot-decode") {
|
|
@@ -32195,7 +32223,8 @@ var addBroadcastChannelListener = () => {
|
|
|
32195
32223
|
trimAfter: data.trimAfter,
|
|
32196
32224
|
trimBefore: data.trimBefore,
|
|
32197
32225
|
fps: data.fps,
|
|
32198
|
-
maxCacheSize: data.maxCacheSize
|
|
32226
|
+
maxCacheSize: data.maxCacheSize,
|
|
32227
|
+
credentials: data.credentials
|
|
32199
32228
|
});
|
|
32200
32229
|
if (result.type === "cannot-decode") {
|
|
32201
32230
|
const cannotDecodeResponse = {
|
|
@@ -32290,7 +32319,8 @@ var extractFrameViaBroadcastChannel = async ({
|
|
|
32290
32319
|
trimAfter,
|
|
32291
32320
|
trimBefore,
|
|
32292
32321
|
fps,
|
|
32293
|
-
maxCacheSize
|
|
32322
|
+
maxCacheSize,
|
|
32323
|
+
credentials
|
|
32294
32324
|
}) => {
|
|
32295
32325
|
if (isClientSideRendering || window.remotion_isMainTab) {
|
|
32296
32326
|
return extractFrameAndAudio({
|
|
@@ -32306,7 +32336,8 @@ var extractFrameViaBroadcastChannel = async ({
|
|
|
32306
32336
|
trimAfter,
|
|
32307
32337
|
trimBefore,
|
|
32308
32338
|
fps,
|
|
32309
|
-
maxCacheSize
|
|
32339
|
+
maxCacheSize,
|
|
32340
|
+
credentials
|
|
32310
32341
|
});
|
|
32311
32342
|
}
|
|
32312
32343
|
await waitForMainTabToBeReady(window.remotion_broadcastChannel);
|
|
@@ -32383,7 +32414,8 @@ var extractFrameViaBroadcastChannel = async ({
|
|
|
32383
32414
|
trimAfter,
|
|
32384
32415
|
trimBefore,
|
|
32385
32416
|
fps,
|
|
32386
|
-
maxCacheSize
|
|
32417
|
+
maxCacheSize,
|
|
32418
|
+
credentials
|
|
32387
32419
|
};
|
|
32388
32420
|
window.remotion_broadcastChannel.postMessage(request);
|
|
32389
32421
|
let timeoutId;
|
|
@@ -32418,7 +32450,8 @@ var AudioForRendering2 = ({
|
|
|
32418
32450
|
toneFrequency,
|
|
32419
32451
|
trimAfter,
|
|
32420
32452
|
trimBefore,
|
|
32421
|
-
onError
|
|
32453
|
+
onError,
|
|
32454
|
+
credentials
|
|
32422
32455
|
}) => {
|
|
32423
32456
|
const defaultLogLevel = Internals.useLogLevel();
|
|
32424
32457
|
const logLevel = overriddenLogLevel ?? defaultLogLevel;
|
|
@@ -32482,7 +32515,8 @@ var AudioForRendering2 = ({
|
|
|
32482
32515
|
trimAfter,
|
|
32483
32516
|
trimBefore,
|
|
32484
32517
|
fps,
|
|
32485
|
-
maxCacheSize
|
|
32518
|
+
maxCacheSize,
|
|
32519
|
+
credentials
|
|
32486
32520
|
}).then((result) => {
|
|
32487
32521
|
const handleError = (error2, clientSideError, fallbackMessage) => {
|
|
32488
32522
|
const [action, errorToUse] = callOnErrorAndResolve({
|
|
@@ -32576,7 +32610,8 @@ var AudioForRendering2 = ({
|
|
|
32576
32610
|
replaceWithHtml5Audio,
|
|
32577
32611
|
maxCacheSize,
|
|
32578
32612
|
audioEnabled,
|
|
32579
|
-
onError
|
|
32613
|
+
onError,
|
|
32614
|
+
credentials
|
|
32580
32615
|
]);
|
|
32581
32616
|
if (replaceWithHtml5Audio) {
|
|
32582
32617
|
return /* @__PURE__ */ jsx216(Html5Audio, {
|
|
@@ -32676,6 +32711,7 @@ var VideoForPreviewAssertedShowing = ({
|
|
|
32676
32711
|
debugAudioScheduling,
|
|
32677
32712
|
headless,
|
|
32678
32713
|
onError,
|
|
32714
|
+
credentials,
|
|
32679
32715
|
controls
|
|
32680
32716
|
}) => {
|
|
32681
32717
|
const src = usePreload22(unpreloadedSrc);
|
|
@@ -32779,7 +32815,8 @@ var VideoForPreviewAssertedShowing = ({
|
|
|
32779
32815
|
durationInFrames: videoConfig.durationInFrames,
|
|
32780
32816
|
onVideoFrameCallback: initialOnVideoFrameRef.current ?? null,
|
|
32781
32817
|
playing: initialPlaying.current,
|
|
32782
|
-
sequenceOffset: initialSequenceOffset.current
|
|
32818
|
+
sequenceOffset: initialSequenceOffset.current,
|
|
32819
|
+
credentials
|
|
32783
32820
|
});
|
|
32784
32821
|
mediaPlayerRef.current = player;
|
|
32785
32822
|
player.initialize(currentTimeRef.current, initialMuted.current).then((result) => {
|
|
@@ -32869,7 +32906,8 @@ var VideoForPreviewAssertedShowing = ({
|
|
|
32869
32906
|
sharedAudioContext,
|
|
32870
32907
|
videoConfig.fps,
|
|
32871
32908
|
onError,
|
|
32872
|
-
videoConfig.durationInFrames
|
|
32909
|
+
videoConfig.durationInFrames,
|
|
32910
|
+
credentials
|
|
32873
32911
|
]);
|
|
32874
32912
|
const classNameValue = useMemo412(() => {
|
|
32875
32913
|
return [Internals.OBJECTFIT_CONTAIN_CLASS_NAME, className2].filter(Internals.truthy).join(" ");
|
|
@@ -33001,7 +33039,8 @@ var VideoForRendering2 = ({
|
|
|
33001
33039
|
trimAfterValue,
|
|
33002
33040
|
trimBeforeValue,
|
|
33003
33041
|
headless,
|
|
33004
|
-
onError
|
|
33042
|
+
onError,
|
|
33043
|
+
credentials
|
|
33005
33044
|
}) => {
|
|
33006
33045
|
if (!src) {
|
|
33007
33046
|
throw new TypeError("No `src` was passed to <Video>.");
|
|
@@ -33068,7 +33107,8 @@ var VideoForRendering2 = ({
|
|
|
33068
33107
|
trimAfter: trimAfterValue,
|
|
33069
33108
|
trimBefore: trimBeforeValue,
|
|
33070
33109
|
fps,
|
|
33071
|
-
maxCacheSize
|
|
33110
|
+
maxCacheSize,
|
|
33111
|
+
credentials
|
|
33072
33112
|
}).then((result) => {
|
|
33073
33113
|
const handleError = (err, clientSideError, fallbackMessage, mediaDurationInSeconds) => {
|
|
33074
33114
|
if (environment.isClientSideRendering) {
|
|
@@ -33200,7 +33240,8 @@ var VideoForRendering2 = ({
|
|
|
33200
33240
|
maxCacheSize,
|
|
33201
33241
|
cancelRender3,
|
|
33202
33242
|
headless,
|
|
33203
|
-
onError
|
|
33243
|
+
onError,
|
|
33244
|
+
credentials
|
|
33204
33245
|
]);
|
|
33205
33246
|
const classNameValue = useMemo53(() => {
|
|
33206
33247
|
return [Internals.OBJECTFIT_CONTAIN_CLASS_NAME, className2].filter(Internals.truthy).join(" ");
|
|
@@ -33339,6 +33380,7 @@ var InnerVideo = ({
|
|
|
33339
33380
|
debugAudioScheduling,
|
|
33340
33381
|
headless,
|
|
33341
33382
|
onError,
|
|
33383
|
+
credentials,
|
|
33342
33384
|
controls
|
|
33343
33385
|
}) => {
|
|
33344
33386
|
const environment = useRemotionEnvironment();
|
|
@@ -33381,7 +33423,8 @@ var InnerVideo = ({
|
|
|
33381
33423
|
trimAfterValue,
|
|
33382
33424
|
trimBeforeValue,
|
|
33383
33425
|
headless,
|
|
33384
|
-
onError
|
|
33426
|
+
onError,
|
|
33427
|
+
credentials
|
|
33385
33428
|
});
|
|
33386
33429
|
}
|
|
33387
33430
|
return /* @__PURE__ */ jsx65(VideoForPreview2, {
|
|
@@ -33407,6 +33450,7 @@ var InnerVideo = ({
|
|
|
33407
33450
|
debugAudioScheduling: debugAudioScheduling ?? false,
|
|
33408
33451
|
headless: headless ?? false,
|
|
33409
33452
|
onError,
|
|
33453
|
+
credentials,
|
|
33410
33454
|
controls
|
|
33411
33455
|
});
|
|
33412
33456
|
};
|
|
@@ -33436,6 +33480,7 @@ var VideoInner = ({
|
|
|
33436
33480
|
debugAudioScheduling,
|
|
33437
33481
|
headless,
|
|
33438
33482
|
onError,
|
|
33483
|
+
credentials,
|
|
33439
33484
|
controls
|
|
33440
33485
|
}) => {
|
|
33441
33486
|
const fallbackLogLevel = Internals.useLogLevel();
|
|
@@ -33465,6 +33510,7 @@ var VideoInner = ({
|
|
|
33465
33510
|
debugAudioScheduling: debugAudioScheduling ?? false,
|
|
33466
33511
|
headless: headless ?? false,
|
|
33467
33512
|
onError,
|
|
33513
|
+
credentials,
|
|
33468
33514
|
controls
|
|
33469
33515
|
});
|
|
33470
33516
|
};
|
|
@@ -34772,7 +34818,7 @@ import {
|
|
|
34772
34818
|
import { BufferTarget, StreamTarget } from "mediabunny";
|
|
34773
34819
|
|
|
34774
34820
|
// ../core/dist/esm/version.mjs
|
|
34775
|
-
var VERSION2 = "4.0.
|
|
34821
|
+
var VERSION2 = "4.0.436";
|
|
34776
34822
|
|
|
34777
34823
|
// ../web-renderer/dist/esm/index.mjs
|
|
34778
34824
|
import { AudioSample, VideoSample } from "mediabunny";
|
|
@@ -41123,6 +41169,7 @@ var listOfRemotionPackages = [
|
|
|
41123
41169
|
"@remotion/astro-example",
|
|
41124
41170
|
"@remotion/babel-loader",
|
|
41125
41171
|
"@remotion/bugs",
|
|
41172
|
+
"@remotion/brand",
|
|
41126
41173
|
"@remotion/bundler",
|
|
41127
41174
|
"@remotion/cli",
|
|
41128
41175
|
"@remotion/cloudrun",
|
|
@@ -41375,7 +41422,7 @@ var FEATURED_TEMPLATES = [
|
|
|
41375
41422
|
shortName: "Prompt to Motion Graphics SaaS Starter Kit",
|
|
41376
41423
|
org: "remotion-dev",
|
|
41377
41424
|
repoName: "template-prompt-to-motion-graphics-saas",
|
|
41378
|
-
description: "SaaS template for AI-powered
|
|
41425
|
+
description: "SaaS template for AI-powered animation generation",
|
|
41379
41426
|
longerDescription: 'A SaaS template for "Prompt to Motion Graphics" products. Generates Remotion code, streams it to the frontend, and compiles and previews it in the browser. See the <a href="/docs/ai/ai-saas-template">documentation page</a> for more details.',
|
|
41380
41427
|
promoBanner: {
|
|
41381
41428
|
width: 2880,
|
|
@@ -42416,7 +42463,7 @@ var GithubButton = () => {
|
|
|
42416
42463
|
" ",
|
|
42417
42464
|
/* @__PURE__ */ jsx161("div", {
|
|
42418
42465
|
className: "text-xs inline-block ml-2 leading-none mt-[3px] self-center",
|
|
42419
|
-
children: "
|
|
42466
|
+
children: "39k"
|
|
42420
42467
|
})
|
|
42421
42468
|
]
|
|
42422
42469
|
});
|
|
@@ -5977,7 +5977,7 @@ var useIsPlayer = () => {
|
|
|
5977
5977
|
function truthy2(value) {
|
|
5978
5978
|
return Boolean(value);
|
|
5979
5979
|
}
|
|
5980
|
-
var VERSION = "4.0.
|
|
5980
|
+
var VERSION = "4.0.436";
|
|
5981
5981
|
var checkMultipleRemotionVersions = () => {
|
|
5982
5982
|
if (typeof globalThis === "undefined") {
|
|
5983
5983
|
return;
|
|
@@ -9055,7 +9055,7 @@ var useBasicMediaInTimeline = ({
|
|
|
9055
9055
|
const videoConfig = useVideoConfig();
|
|
9056
9056
|
const [initialVolume] = useState10(() => volume);
|
|
9057
9057
|
const mediaDuration = calculateMediaDuration({
|
|
9058
|
-
mediaDurationInFrames: videoConfig.durationInFrames,
|
|
9058
|
+
mediaDurationInFrames: videoConfig.durationInFrames + (trimBefore ?? 0),
|
|
9059
9059
|
playbackRate,
|
|
9060
9060
|
trimBefore,
|
|
9061
9061
|
trimAfter
|
|
@@ -1003,7 +1003,7 @@ var useIsPlayer = () => {
|
|
|
1003
1003
|
function truthy(value) {
|
|
1004
1004
|
return Boolean(value);
|
|
1005
1005
|
}
|
|
1006
|
-
var VERSION = "4.0.
|
|
1006
|
+
var VERSION = "4.0.436";
|
|
1007
1007
|
var checkMultipleRemotionVersions = () => {
|
|
1008
1008
|
if (typeof globalThis === "undefined") {
|
|
1009
1009
|
return;
|
|
@@ -4081,7 +4081,7 @@ var useBasicMediaInTimeline = ({
|
|
|
4081
4081
|
const videoConfig = useVideoConfig();
|
|
4082
4082
|
const [initialVolume] = useState10(() => volume);
|
|
4083
4083
|
const mediaDuration = calculateMediaDuration({
|
|
4084
|
-
mediaDurationInFrames: videoConfig.durationInFrames,
|
|
4084
|
+
mediaDurationInFrames: videoConfig.durationInFrames + (trimBefore ?? 0),
|
|
4085
4085
|
playbackRate,
|
|
4086
4086
|
trimBefore,
|
|
4087
4087
|
trimAfter
|
|
@@ -5977,7 +5977,7 @@ var useIsPlayer = () => {
|
|
|
5977
5977
|
function truthy2(value) {
|
|
5978
5978
|
return Boolean(value);
|
|
5979
5979
|
}
|
|
5980
|
-
var VERSION = "4.0.
|
|
5980
|
+
var VERSION = "4.0.436";
|
|
5981
5981
|
var checkMultipleRemotionVersions = () => {
|
|
5982
5982
|
if (typeof globalThis === "undefined") {
|
|
5983
5983
|
return;
|
|
@@ -9055,7 +9055,7 @@ var useBasicMediaInTimeline = ({
|
|
|
9055
9055
|
const videoConfig = useVideoConfig();
|
|
9056
9056
|
const [initialVolume] = useState10(() => volume);
|
|
9057
9057
|
const mediaDuration = calculateMediaDuration({
|
|
9058
|
-
mediaDurationInFrames: videoConfig.durationInFrames,
|
|
9058
|
+
mediaDurationInFrames: videoConfig.durationInFrames + (trimBefore ?? 0),
|
|
9059
9059
|
playbackRate,
|
|
9060
9060
|
trimBefore,
|
|
9061
9061
|
trimAfter
|
package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsGallery.js
CHANGED
|
@@ -5977,7 +5977,7 @@ var useIsPlayer = () => {
|
|
|
5977
5977
|
function truthy2(value) {
|
|
5978
5978
|
return Boolean(value);
|
|
5979
5979
|
}
|
|
5980
|
-
var VERSION = "4.0.
|
|
5980
|
+
var VERSION = "4.0.436";
|
|
5981
5981
|
var checkMultipleRemotionVersions = () => {
|
|
5982
5982
|
if (typeof globalThis === "undefined") {
|
|
5983
5983
|
return;
|
|
@@ -9055,7 +9055,7 @@ var useBasicMediaInTimeline = ({
|
|
|
9055
9055
|
const videoConfig = useVideoConfig();
|
|
9056
9056
|
const [initialVolume] = useState10(() => volume);
|
|
9057
9057
|
const mediaDuration = calculateMediaDuration({
|
|
9058
|
-
mediaDurationInFrames: videoConfig.durationInFrames,
|
|
9058
|
+
mediaDurationInFrames: videoConfig.durationInFrames + (trimBefore ?? 0),
|
|
9059
9059
|
playbackRate,
|
|
9060
9060
|
trimBefore,
|
|
9061
9061
|
trimAfter
|
|
@@ -23311,7 +23311,7 @@ var useIsPlayer = () => {
|
|
|
23311
23311
|
function truthy2(value) {
|
|
23312
23312
|
return Boolean(value);
|
|
23313
23313
|
}
|
|
23314
|
-
var VERSION = "4.0.
|
|
23314
|
+
var VERSION = "4.0.436";
|
|
23315
23315
|
var checkMultipleRemotionVersions = () => {
|
|
23316
23316
|
if (typeof globalThis === "undefined") {
|
|
23317
23317
|
return;
|
|
@@ -26389,7 +26389,7 @@ var useBasicMediaInTimeline = ({
|
|
|
26389
26389
|
const videoConfig = useVideoConfig();
|
|
26390
26390
|
const [initialVolume] = useState10(() => volume);
|
|
26391
26391
|
const mediaDuration = calculateMediaDuration({
|
|
26392
|
-
mediaDurationInFrames: videoConfig.durationInFrames,
|
|
26392
|
+
mediaDurationInFrames: videoConfig.durationInFrames + (trimBefore ?? 0),
|
|
26393
26393
|
playbackRate,
|
|
26394
26394
|
trimBefore,
|
|
26395
26395
|
trimAfter
|
package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsSubmit.js
CHANGED
|
@@ -23311,7 +23311,7 @@ var useIsPlayer = () => {
|
|
|
23311
23311
|
function truthy2(value) {
|
|
23312
23312
|
return Boolean(value);
|
|
23313
23313
|
}
|
|
23314
|
-
var VERSION = "4.0.
|
|
23314
|
+
var VERSION = "4.0.436";
|
|
23315
23315
|
var checkMultipleRemotionVersions = () => {
|
|
23316
23316
|
if (typeof globalThis === "undefined") {
|
|
23317
23317
|
return;
|
|
@@ -26389,7 +26389,7 @@ var useBasicMediaInTimeline = ({
|
|
|
26389
26389
|
const videoConfig = useVideoConfig();
|
|
26390
26390
|
const [initialVolume] = useState10(() => volume);
|
|
26391
26391
|
const mediaDuration = calculateMediaDuration({
|
|
26392
|
-
mediaDurationInFrames: videoConfig.durationInFrames,
|
|
26392
|
+
mediaDurationInFrames: videoConfig.durationInFrames + (trimBefore ?? 0),
|
|
26393
26393
|
playbackRate,
|
|
26394
26394
|
trimBefore,
|
|
26395
26395
|
trimAfter
|
package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/template-modal-content.js
CHANGED
|
@@ -5977,7 +5977,7 @@ var useIsPlayer = () => {
|
|
|
5977
5977
|
function truthy2(value) {
|
|
5978
5978
|
return Boolean(value);
|
|
5979
5979
|
}
|
|
5980
|
-
var VERSION = "4.0.
|
|
5980
|
+
var VERSION = "4.0.436";
|
|
5981
5981
|
var checkMultipleRemotionVersions = () => {
|
|
5982
5982
|
if (typeof globalThis === "undefined") {
|
|
5983
5983
|
return;
|
|
@@ -9055,7 +9055,7 @@ var useBasicMediaInTimeline = ({
|
|
|
9055
9055
|
const videoConfig = useVideoConfig();
|
|
9056
9056
|
const [initialVolume] = useState10(() => volume);
|
|
9057
9057
|
const mediaDuration = calculateMediaDuration({
|
|
9058
|
-
mediaDurationInFrames: videoConfig.durationInFrames,
|
|
9058
|
+
mediaDurationInFrames: videoConfig.durationInFrames + (trimBefore ?? 0),
|
|
9059
9059
|
playbackRate,
|
|
9060
9060
|
trimBefore,
|
|
9061
9061
|
trimAfter
|
|
@@ -5977,7 +5977,7 @@ var useIsPlayer = () => {
|
|
|
5977
5977
|
function truthy2(value) {
|
|
5978
5978
|
return Boolean(value);
|
|
5979
5979
|
}
|
|
5980
|
-
var VERSION = "4.0.
|
|
5980
|
+
var VERSION = "4.0.436";
|
|
5981
5981
|
var checkMultipleRemotionVersions = () => {
|
|
5982
5982
|
if (typeof globalThis === "undefined") {
|
|
5983
5983
|
return;
|
|
@@ -9055,7 +9055,7 @@ var useBasicMediaInTimeline = ({
|
|
|
9055
9055
|
const videoConfig = useVideoConfig();
|
|
9056
9056
|
const [initialVolume] = useState10(() => volume);
|
|
9057
9057
|
const mediaDuration = calculateMediaDuration({
|
|
9058
|
-
mediaDurationInFrames: videoConfig.durationInFrames,
|
|
9058
|
+
mediaDurationInFrames: videoConfig.durationInFrames + (trimBefore ?? 0),
|
|
9059
9059
|
playbackRate,
|
|
9060
9060
|
trimBefore,
|
|
9061
9061
|
trimAfter
|
|
@@ -19911,6 +19911,7 @@ var listOfRemotionPackages = [
|
|
|
19911
19911
|
"@remotion/astro-example",
|
|
19912
19912
|
"@remotion/babel-loader",
|
|
19913
19913
|
"@remotion/bugs",
|
|
19914
|
+
"@remotion/brand",
|
|
19914
19915
|
"@remotion/bundler",
|
|
19915
19916
|
"@remotion/cli",
|
|
19916
19917
|
"@remotion/cloudrun",
|
|
@@ -20163,7 +20164,7 @@ var FEATURED_TEMPLATES = [
|
|
|
20163
20164
|
shortName: "Prompt to Motion Graphics SaaS Starter Kit",
|
|
20164
20165
|
org: "remotion-dev",
|
|
20165
20166
|
repoName: "template-prompt-to-motion-graphics-saas",
|
|
20166
|
-
description: "SaaS template for AI-powered
|
|
20167
|
+
description: "SaaS template for AI-powered animation generation",
|
|
20167
20168
|
longerDescription: 'A SaaS template for "Prompt to Motion Graphics" products. Generates Remotion code, streams it to the frontend, and compiles and previews it in the browser. See the <a href="/docs/ai/ai-saas-template">documentation page</a> for more details.',
|
|
20168
20169
|
promoBanner: {
|
|
20169
20170
|
width: 2880,
|
|
@@ -260,17 +260,4 @@ export const experts = [
|
|
|
260
260
|
since: new Date('2026-02-13').getTime(),
|
|
261
261
|
description: (_jsxs("div", { children: ["Creator of", ' ', _jsx("a", { target: '_blank', href: "https://react-video-editor-mu.vercel.app/", children: "Pablituuu Studio" }), ", a premium AI-powered video editor.", _jsx("br", {}), "I specialize in building complex Remotion applications integrated with AI services like Gemini (for video analysis and highlights) and Deepgram (for automated captions). I also focus on high-performance canvas interactions using Fabric.js and cost-effective AI workflows."] })),
|
|
262
262
|
},
|
|
263
|
-
{
|
|
264
|
-
slug: 'hai-nguyen',
|
|
265
|
-
name: 'Hai Nguyen',
|
|
266
|
-
image: '/img/freelancers/hai.jpg',
|
|
267
|
-
website: 'https://haingt.dev',
|
|
268
|
-
x: 'haingt_dev',
|
|
269
|
-
github: 'haingt-dev',
|
|
270
|
-
linkedin: 'in/haingt-dev/',
|
|
271
|
-
email: 'hai@haingt.dev',
|
|
272
|
-
videocall: null,
|
|
273
|
-
since: new Date('2026-04-02').getTime(),
|
|
274
|
-
description: (_jsxs("div", { children: ["Built a full", ' ', _jsx("a", { target: '_blank', href: "https://github.com/haingt-dev/Bookie/tree/master/projects/ai-book-video", children: "AI video production pipeline" }), ' ', "using Remotion 4.0 \u2014 orchestrating self-hosted TTS (viXTTS), Gemini API image generation, SRT-driven subtitle timing, and Ken Burns motion presets. The pipeline produces complete book-to-video content in about an hour (1-person operation) with editorial design overlays, cross-dissolve transitions, and audio spectrum visualization. GPU-accelerated rendering on Linux.", _jsx("br", {}), "Available for AI-powered video pipelines, multi-API media orchestration, and Remotion integrations with existing backend infrastructure."] })),
|
|
275
|
-
},
|
|
276
263
|
];
|
|
@@ -23,14 +23,14 @@ export const InstallsPerMonth = () => {
|
|
|
23
23
|
display: 'flex',
|
|
24
24
|
alignItems: 'center',
|
|
25
25
|
justifyContent: 'center',
|
|
26
|
-
}, children: [_jsx(StatItemContent, { content: "
|
|
26
|
+
}, children: [_jsx(StatItemContent, { content: "900K", width: "100px", fontSize: "2.5rem", fontWeight: "bold" }), _jsx(StatItemContent, { content: _jsx("svg", { width: "40", height: "40", viewBox: "0 0 25 25", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M12.6367 2.47534C12.5488 2.44116 12.4512 2.44116 12.3584 2.47534L3.10547 5.98608L12.5 9.67749L21.8945 5.98608L12.6367 2.47534ZM2.34375 18.4519C2.34375 18.613 2.44629 18.7595 2.59766 18.8181L11.3281 22.1287V11.738L2.34375 8.20776V18.4519ZM13.6719 22.1287L22.4023 18.8181C22.5537 18.7595 22.6562 18.613 22.6562 18.4519V8.20776L13.6719 11.738V22.1287ZM11.5283 0.287842C12.1533 0.048584 12.8418 0.048584 13.4668 0.287842L23.2324 3.9939C24.2969 4.39429 25 5.40991 25 6.54761V18.4519C25 19.5896 24.2969 20.6052 23.2373 21.0105L13.4717 24.7166C12.8467 24.9558 12.1582 24.9558 11.5332 24.7166L1.76758 21.0105C0.703125 20.6052 0 19.5896 0 18.4519V6.54761C0 5.40991 0.703125 4.39429 1.7627 3.98901L11.5283 0.282959V0.287842Z", fill: "var(--text-color)" }) }), width: "50px" })] }), _jsx(StatItemContent, { content: "installs per month", width: "75%", fontSize: "1.0rem", fontWeight: "bold" })] }));
|
|
27
27
|
};
|
|
28
28
|
export const PagesOfDocs = () => {
|
|
29
|
-
return (_jsxs(Pill, { className: "flex-col", children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center' }, children: [_jsx(StatItemContent, { content: _jsx("svg", { width: "28", height: "40", viewBox: "0 0 18 21", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M0 3.60938C0 1.61602 1.58304 0 3.53571 0H17.0357H18V0.984375V15.4219V16.4062H17.0357H16.7143V19.0312H17.0357H18V21H17.0357H3.21429C1.43839 21 0 19.5316 0 17.7188C0 17.608 0.00401786 17.4973 0.0160714 17.3906H0V3.60938ZM3.21429 16.4062C2.50312 16.4062 1.92857 16.9928 1.92857 17.7188C1.92857 18.4447 2.50312 19.0312 3.21429 19.0312H14.7857V16.4062H3.21429ZM1.92857 14.7123C2.32232 14.5359 2.75625 14.4375 3.21429 14.4375H16.0714V1.96875H3.53571C2.64777 1.96875 1.92857 2.70293 1.92857 3.60938V14.7123ZM6.10714 4.59375H13.1786H14.1429V6.5625H13.1786H6.10714H5.14286V4.59375H6.10714ZM6.10714 7.875H13.1786H14.1429V9.84375H13.1786H6.10714H5.14286V7.875H6.10714Z", fill: "var(--text-color)" }) }), width: "40px" }), _jsx(StatItemContent, { content: "
|
|
29
|
+
return (_jsxs(Pill, { className: "flex-col", children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center' }, children: [_jsx(StatItemContent, { content: _jsx("svg", { width: "28", height: "40", viewBox: "0 0 18 21", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M0 3.60938C0 1.61602 1.58304 0 3.53571 0H17.0357H18V0.984375V15.4219V16.4062H17.0357H16.7143V19.0312H17.0357H18V21H17.0357H3.21429C1.43839 21 0 19.5316 0 17.7188C0 17.608 0.00401786 17.4973 0.0160714 17.3906H0V3.60938ZM3.21429 16.4062C2.50312 16.4062 1.92857 16.9928 1.92857 17.7188C1.92857 18.4447 2.50312 19.0312 3.21429 19.0312H14.7857V16.4062H3.21429ZM1.92857 14.7123C2.32232 14.5359 2.75625 14.4375 3.21429 14.4375H16.0714V1.96875H3.53571C2.64777 1.96875 1.92857 2.70293 1.92857 3.60938V14.7123ZM6.10714 4.59375H13.1786H14.1429V6.5625H13.1786H6.10714H5.14286V4.59375H6.10714ZM6.10714 7.875H13.1786H14.1429V9.84375H13.1786H6.10714H5.14286V7.875H6.10714Z", fill: "var(--text-color)" }) }), width: "40px" }), _jsx(StatItemContent, { content: "700", width: "85px", maxWidth: "100px", fontSize: "2.5rem", fontWeight: "bold" })] }), _jsx(StatItemContent, { content: "pages of docs", width: "125px", fontSize: "1.0rem", fontWeight: "bold" })] }));
|
|
30
30
|
};
|
|
31
31
|
export const TemplatesAndExamples = () => (_jsxs(Pill, { className: "w-[30%] flex items-center flex-row", children: [_jsx(StatItemContent, { content: "35", width: "60px", fontSize: "2.7rem", fontWeight: "bold" }), _jsx(StatItemContent, { content: "templates & examples", width: "135px", fontSize: "1.35rem", fontWeight: "bold" })] }));
|
|
32
32
|
export const GitHubStars = () => {
|
|
33
|
-
return (_jsxs(Pill, { className: "w-[30%] flex-col", children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center' }, children: [_jsx(StatItemContent, { content: _jsx("svg", { width: "40", height: "40", viewBox: "0 0 26 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M12.9951 0C13.4424 0 13.8507 0.24375 14.0451 0.632812L17.3799 7.25625L24.8271 8.31562C25.2646 8.37656 25.6292 8.67188 25.7653 9.07969C25.9014 9.4875 25.7896 9.92812 25.4785 10.2281L20.0778 15.3937L21.3514 22.6875C21.4243 23.1094 21.2444 23.5359 20.8799 23.7891C20.5153 24.0422 20.0389 24.0703 19.65 23.8688L12.9903 20.4375L6.34027 23.8641C5.94652 24.0656 5.47014 24.0375 5.11041 23.7844C4.75069 23.5312 4.56597 23.1047 4.63889 22.6828L5.9125 15.3891L0.511803 10.2281C0.195831 9.92812 0.0888863 9.48281 0.224997 9.07969C0.361108 8.67656 0.725692 8.38125 1.16319 8.31562L8.61041 7.25625L11.9451 0.632812C12.1444 0.24375 12.5479 0 12.9951 0ZM12.9951 3.70312L10.4431 8.775C10.2729 9.10781 9.94722 9.34219 9.56319 9.39844L3.8125 10.2141L7.98819 14.2031C8.25555 14.4609 8.38194 14.8266 8.31875 15.1875L7.33194 20.7984L12.4458 18.1641C12.791 17.9859 13.2042 17.9859 13.5444 18.1641L18.6583 20.7984L17.6764 15.1922C17.6132 14.8313 17.7347 14.4656 18.0069 14.2078L22.1826 10.2188L16.4319 9.39844C16.0528 9.34219 15.7222 9.1125 15.5521 8.775L12.9951 3.70312Z", fill: "var(--text-color)" }) }), width: "45px" }), _jsx(StatItemContent, { content: "
|
|
33
|
+
return (_jsxs(Pill, { className: "w-[30%] flex-col", children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center' }, children: [_jsx(StatItemContent, { content: _jsx("svg", { width: "40", height: "40", viewBox: "0 0 26 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M12.9951 0C13.4424 0 13.8507 0.24375 14.0451 0.632812L17.3799 7.25625L24.8271 8.31562C25.2646 8.37656 25.6292 8.67188 25.7653 9.07969C25.9014 9.4875 25.7896 9.92812 25.4785 10.2281L20.0778 15.3937L21.3514 22.6875C21.4243 23.1094 21.2444 23.5359 20.8799 23.7891C20.5153 24.0422 20.0389 24.0703 19.65 23.8688L12.9903 20.4375L6.34027 23.8641C5.94652 24.0656 5.47014 24.0375 5.11041 23.7844C4.75069 23.5312 4.56597 23.1047 4.63889 22.6828L5.9125 15.3891L0.511803 10.2281C0.195831 9.92812 0.0888863 9.48281 0.224997 9.07969C0.361108 8.67656 0.725692 8.38125 1.16319 8.31562L8.61041 7.25625L11.9451 0.632812C12.1444 0.24375 12.5479 0 12.9951 0ZM12.9951 3.70312L10.4431 8.775C10.2729 9.10781 9.94722 9.34219 9.56319 9.39844L3.8125 10.2141L7.98819 14.2031C8.25555 14.4609 8.38194 14.8266 8.31875 15.1875L7.33194 20.7984L12.4458 18.1641C12.791 17.9859 13.2042 17.9859 13.5444 18.1641L18.6583 20.7984L17.6764 15.1922C17.6132 14.8313 17.7347 14.4656 18.0069 14.2078L22.1826 10.2188L16.4319 9.39844C16.0528 9.34219 15.7222 9.1125 15.5521 8.775L12.9951 3.70312Z", fill: "var(--text-color)" }) }), width: "45px" }), _jsx(StatItemContent, { content: "39k", width: "80px", fontSize: "2.5rem", fontWeight: "bold" })] }), _jsx(StatItemContent, { content: "GitHub stars", width: "125px", fontSize: "1.0rem", fontWeight: "bold" })] }));
|
|
34
34
|
};
|
|
35
35
|
export const DiscordMembers = () => {
|
|
36
36
|
return (_jsx(Pill, { className: 'w-[30%]', children: _jsxs("div", { style: {
|
|
@@ -43,7 +43,7 @@ export const DiscordMembers = () => {
|
|
|
43
43
|
flexDirection: 'column',
|
|
44
44
|
alignItems: 'center',
|
|
45
45
|
justifyContent: 'center',
|
|
46
|
-
}, children: [_jsx(StatItemContent, { content: "
|
|
46
|
+
}, children: [_jsx(StatItemContent, { content: "6000+", width: "142px", fontSize: "2.5rem", fontWeight: "bold" }), _jsx(StatItemContent, { content: "Discord members", width: "142px", fontSize: "1rem", fontWeight: "bold" })] }), _jsx("div", { style: {
|
|
47
47
|
display: 'flex',
|
|
48
48
|
justifyContent: 'center',
|
|
49
49
|
}, children: _jsx(StatItemContent, { content: _jsx("svg", { width: "61", height: "47", viewBox: "0 0 46 35", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M38.9978 2.95533C38.9843 2.93009 38.962 2.91064 38.9352 2.90065C35.955 1.53492 32.8101 0.560692 29.5791 0.00230404C29.55 -0.00300893 29.5201 0.00092017 29.4934 0.0135365C29.4667 0.0261528 29.4447 0.0468187 29.4304 0.0726144C29.0019 0.84938 28.6129 1.64724 28.2648 2.46316C24.7802 1.93495 21.2356 1.93495 17.7509 2.46316C17.4015 1.64523 17.0072 0.847165 16.5697 0.0726144C16.5546 0.0475873 16.5324 0.0275657 16.506 0.0150584C16.4795 0.00255114 16.45 -0.00188563 16.421 0.00230404C13.1844 0.558177 10.034 1.53248 7.04927 2.90065C7.0231 2.91173 7.00116 2.93089 6.98669 2.95533C1.02568 11.8535 -0.609293 20.5251 0.188637 29.0951C0.190896 29.1167 0.197628 29.1376 0.208402 29.1564C0.219177 29.1752 0.233759 29.1916 0.25122 29.2045C3.7235 31.7693 7.60667 33.7268 11.7352 34.9934C11.7648 35.0025 11.7966 35.0022 11.8261 34.9924C11.8556 34.9826 11.8812 34.9638 11.8994 34.9387C12.7852 33.7344 13.5702 32.4593 14.2463 31.1263C14.2553 31.108 14.2604 31.088 14.2613 31.0676C14.2622 31.0471 14.2589 31.0268 14.2516 31.0077C14.2442 30.9886 14.233 30.9713 14.2186 30.9567C14.2043 30.9422 14.1871 30.9308 14.1681 30.9232C12.9278 30.4486 11.7271 29.8765 10.5774 29.2123C10.5571 29.1999 10.54 29.1828 10.5277 29.1624C10.5154 29.142 10.5082 29.119 10.5067 29.0953C10.5051 29.0715 10.5093 29.0478 10.5189 29.026C10.5285 29.0042 10.5432 28.985 10.5617 28.9701C10.8042 28.7904 11.0468 28.6029 11.2736 28.4155C11.2936 28.3979 11.3182 28.3864 11.3445 28.3822C11.3708 28.3781 11.3978 28.3815 11.4222 28.392C18.9478 31.8216 27.0992 31.8216 34.5388 28.392C34.5625 28.3804 34.589 28.3757 34.6153 28.3785C34.6416 28.3813 34.6666 28.3914 34.6874 28.4076C34.9143 28.5951 35.1568 28.7904 35.3993 28.9701C35.4178 28.985 35.4325 29.0042 35.4421 29.026C35.4517 29.0478 35.4559 29.0715 35.4543 29.0953C35.4528 29.119 35.4456 29.142 35.4333 29.1624C35.421 29.1828 35.4039 29.1999 35.3836 29.2123C34.2369 29.8799 33.0357 30.4496 31.7929 30.9154C31.7739 30.923 31.7567 30.9344 31.7424 30.9489C31.728 30.9635 31.7168 30.9808 31.7095 30.9999C31.7021 31.019 31.6988 31.0393 31.6997 31.0597C31.7006 31.0801 31.7057 31.1001 31.7147 31.1185C32.4026 32.4449 33.187 33.7191 34.0616 34.9309C34.0798 34.956 34.1054 34.9748 34.1349 34.9846C34.1644 34.9944 34.1962 34.9947 34.2258 34.9856C38.3663 33.7246 42.2606 31.7669 45.7411 29.1967C45.7589 29.1841 45.7737 29.1679 45.7846 29.149C45.7954 29.1301 45.8019 29.109 45.8037 29.0873C46.758 19.1892 44.1922 10.5879 38.9978 2.95533ZM15.3728 23.8765C13.1042 23.8765 11.2423 21.7985 11.2423 19.2517C11.2423 16.7049 13.0729 14.619 15.3728 14.619C17.6962 14.619 19.5424 16.7127 19.5032 19.2439C19.5032 21.7985 17.6727 23.8765 15.3728 23.8765ZM30.6586 23.8765C28.39 23.8765 26.5282 21.7985 26.5282 19.2517C26.5282 16.7049 28.3509 14.619 30.6586 14.619C32.982 14.619 34.8282 16.7127 34.7891 19.2439C34.7891 21.7985 32.9742 23.8765 30.6586 23.8765Z", fill: "var(--text-color)" }) }), width: "45px" }) })] }) }));
|
|
@@ -3,5 +3,5 @@ const GithubIcon = () => {
|
|
|
3
3
|
return (_jsx("svg", { viewBox: "0 0 496 512", style: { height: 24, marginRight: 8 }, children: _jsx("path", { fill: "currentColor", d: "M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z" }) }));
|
|
4
4
|
};
|
|
5
5
|
export const GithubButton = () => {
|
|
6
|
-
return (_jsxs("div", { className: "flex flex-row items-center text-base", children: [_jsx(GithubIcon, {}), " ", _jsx("span", { children: "GitHub" }), ' ', _jsx("div", { className: "text-xs inline-block ml-2 leading-none mt-[3px] self-center", children: '
|
|
6
|
+
return (_jsxs("div", { className: "flex flex-row items-center text-base", children: [_jsx(GithubIcon, {}), " ", _jsx("span", { children: "GitHub" }), ' ', _jsx("div", { className: "text-xs inline-block ml-2 leading-none mt-[3px] self-center", children: '39k' })] }));
|
|
7
7
|
};
|
|
@@ -37,5 +37,5 @@ export const RealMP4Videos = () => {
|
|
|
37
37
|
maxWidth: '100%',
|
|
38
38
|
borderRadius: 7,
|
|
39
39
|
overflow: 'hidden',
|
|
40
|
-
}, className: "w-[550px] cursor-default! relative lg:translate-x-8 -mt-20 lg:mt-0" }) }), ' ', _jsxs("div", { className: "font-brand", children: [_jsxs("h2", { className: "text-4xl fontbrand", children: [_jsx("span", { className: 'text-brand', children: "Scalable" }), " rendering"] }), _jsxs("p", { className: "leading-relaxed", children: ["Render the video
|
|
40
|
+
}, className: "w-[550px] cursor-default! relative lg:translate-x-8 -mt-20 lg:mt-0" }) }), ' ', _jsxs("div", { className: "font-brand", children: [_jsxs("h2", { className: "text-4xl fontbrand", children: [_jsx("span", { className: 'text-brand', children: "Scalable" }), " rendering"] }), _jsxs("p", { className: "leading-relaxed", children: ["Render the video .mp4 or other formats. ", _jsx("br", {}), "Locally, on the server or serverless."] }), ' ', _jsx("div", { className: "h-4" }), _jsxs("div", { className: "leading-6", children: [_jsxs("a", { className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center", href: "/docs/render", children: ["Render options", ' ', _jsx("svg", { style: icon, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512", children: _jsx("path", { fill: "currentColor", d: "M438.6 278.6l-160 160C272.4 444.9 264.2 448 256 448s-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L338.8 288H32C14.33 288 .0016 273.7 .0016 256S14.33 224 32 224h306.8l-105.4-105.4c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160C451.1 245.9 451.1 266.1 438.6 278.6z" }) })] }), _jsx("br", {}), _jsxs("a", { className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center", href: "/lambda", children: ["Remotion Lambda", ' ', _jsx("svg", { style: icon, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512", children: _jsx("path", { fill: "currentColor", d: "M438.6 278.6l-160 160C272.4 444.9 264.2 448 256 448s-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L338.8 288H32C14.33 288 .0016 273.7 .0016 256S14.33 224 32 224h306.8l-105.4-105.4c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160C451.1 245.9 451.1 266.1 438.6 278.6z" }) })] })] })] })] }));
|
|
41
41
|
};
|
|
@@ -56,5 +56,5 @@ const Pagination = ({ currentPage, totalPages }) => {
|
|
|
56
56
|
: 'text-muted-foreground hover:text-text'}`, children: page }, page))) }), currentPage < totalPages ? (_jsx("a", { href: getPageUrl(currentPage + 1), className: "text-muted-foreground hover:text-text no-underline hover:no-underline", children: "Next \u2192" })) : (_jsx("span", { className: "text-gray-300 cursor-not-allowed", children: "Next \u2192" }))] }));
|
|
57
57
|
};
|
|
58
58
|
export const PromptsGalleryPage = ({ promptSubmissions, currentPage, totalPages }) => {
|
|
59
|
-
return (_jsx(Page, { className: "flex-col", children: _jsxs("div", { className: "m-auto max-w-[1200px] w-full px-4 py-12", children: [_jsxs("div", { className: "mb-8", children: [_jsx("h1", { className: "text-3xl font-brand font-black", children: "
|
|
59
|
+
return (_jsx(Page, { className: "flex-col", children: _jsxs("div", { className: "m-auto max-w-[1200px] w-full px-4 py-12", children: [_jsxs("div", { className: "mb-8", children: [_jsx("h1", { className: "text-3xl font-brand font-black", children: "Create a video with just a prompt" }), _jsxs("p", { className: "font-brand text-muted-foreground mt-4 max-w-[700px]", children: ["With", ' ', _jsx("a", { href: "/docs/ai/skills", className: "underline hover:text-text underline-offset-4", children: "Remotion Skills" }), ", you can create videos simply by giving a prompt to your coding agent, whether it's Claude Code, Codex, or OpenCode. Browse the gallery for inspiration!"] })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs(Button, { href: "/docs/ai/claude-code", className: "font-brand rounded-full bg-[#D97757] flex items-center text-white", children: [_jsx("svg", { width: "20", height: "20", viewBox: "0 0 149 149", fill: "none", xmlns: "http://www.w3.org/2000/svg", style: { marginRight: 8 }, children: _jsx("path", { d: "M29.05 98.54L58.19 82.19L58.68 80.77L58.19 79.98H56.77L51.9 79.68L35.25 79.23L20.81 78.63L6.82 77.88L3.3 77.13L0 72.78L0.340004 70.61L3.3 68.62L7.54 68.99L16.91 69.63L30.97 70.6L41.17 71.2L56.28 72.77H58.68L59.02 71.8L58.2 71.2L57.56 70.6L43.01 60.74L27.26 50.32L19.01 44.32L14.55 41.28L12.3 38.43L11.33 32.21L15.38 27.75L20.82 28.12L22.21 28.49L27.72 32.73L39.49 41.84L54.86 53.16L57.11 55.03L58.01 54.39L58.12 53.94L57.11 52.25L48.75 37.14L39.83 21.77L35.86 15.4L34.81 11.58C34.44 10.01 34.17 8.69 34.17 7.08L38.78 0.820007L41.33 0L47.48 0.820007L50.07 3.07001L53.89 11.81L60.08 25.57L69.68 44.28L72.49 49.83L73.99 54.97L74.55 56.54H75.52V55.64L76.31 45.1L77.77 32.16L79.19 15.51L79.68 10.82L82 5.2L86.61 2.16L90.21 3.88L93.17 8.12L92.76 10.86L91 22.3L87.55 40.22L85.3 52.22H86.61L88.11 50.72L94.18 42.66L104.38 29.91L108.88 24.85L114.13 19.26L117.5 16.6H123.87L128.56 23.57L126.46 30.77L119.9 39.09L114.46 46.14L106.66 56.64L101.79 65.04L102.24 65.71L103.4 65.6L121.02 61.85L130.54 60.13L141.9 58.18L147.04 60.58L147.6 63.02L145.58 68.01L133.43 71.01L119.18 73.86L97.96 78.88L97.7 79.07L98 79.44L107.56 80.34L111.65 80.56H121.66L140.3 81.95L145.17 85.17L148.09 89.11L147.6 92.11L140.1 95.93L129.98 93.53L106.36 87.91L98.26 85.89H97.14V86.56L103.89 93.16L116.26 104.33L131.75 118.73L132.54 122.29L130.55 125.1L128.45 124.8L114.84 114.56L109.59 109.95L97.7 99.94H96.91V100.99L99.65 105L114.12 126.75L114.87 133.42L113.82 135.59L110.07 136.9L105.95 136.15L97.48 124.26L88.74 110.87L81.69 98.87L80.83 99.36L76.67 144.17L74.72 146.46L70.22 148.18L66.47 145.33L64.48 140.72L66.47 131.61L68.87 119.72L70.82 110.27L72.58 98.53L73.63 94.63L73.56 94.37L72.7 94.48L63.85 106.63L50.39 124.82L39.74 136.22L37.19 137.23L32.77 134.94L33.18 130.85L35.65 127.21L50.39 108.46L59.28 96.84L65.02 90.13L64.98 89.16H64.64L25.49 114.58L18.52 115.48L15.52 112.67L15.89 108.06L17.31 106.56L29.08 98.46L29.04 98.5L29.05 98.54Z", fill: "#fff" }) }), _jsx("div", { className: "text-sm", children: "Create your own video" })] }), _jsx(Button, { href: "/prompts/submit", className: "font-brand rounded-full text-sm", children: "Submit a prompt" })] }), _jsx("div", { className: "h-12" }), _jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6", children: promptSubmissions.map((p) => (_jsx(PromptSubmissionCard, { promptSubmission: p }, p.id))) }), _jsx(Pagination, { currentPage: currentPage, totalPages: totalPages })] }) }));
|
|
60
60
|
};
|
|
@@ -159,11 +159,11 @@ export const PromptsSubmitPage = () => {
|
|
|
159
159
|
modelUsed,
|
|
160
160
|
]);
|
|
161
161
|
if (submitStatus.type === 'done') {
|
|
162
|
-
return (_jsx(Page, { className: "flex-col", children: _jsx("div", { className: "m-auto max-w-[800px] w-full", children: _jsxs("div", { className: "mx-4 px-8 py-8 mt-12 pt-8", children: [_jsx("h1", { className: "text-3xl font-brand font-black", children: "Submission received!" }), _jsxs("div", { className: "mt-4 text-muted-foreground font-brand", children: ["Thanks for submitting your prompt! Your prompt submission is pending review.", _jsx("br", {}), " Once approved, it will appear on the", ' ', _jsx("a", { href: "/prompts", className: "underline", children: "prompts
|
|
162
|
+
return (_jsx(Page, { className: "flex-col", children: _jsx("div", { className: "m-auto max-w-[800px] w-full", children: _jsxs("div", { className: "mx-4 px-8 py-8 mt-12 pt-8", children: [_jsx("h1", { className: "text-3xl font-brand font-black", children: "Submission received!" }), _jsxs("div", { className: "mt-4 text-muted-foreground font-brand", children: ["Thanks for submitting your prompt! Your prompt submission is pending review.", _jsx("br", {}), " Once approved, it will appear on the", ' ', _jsx("a", { href: "/prompts", className: "underline", children: "prompts gallery" }), "."] }), _jsx("div", { className: "mt-4 text-muted-foreground font-brand", children: "Note that this showcase is curated - we may reject submissions if they are repetitive or not up to our quality standards. In that case, we will not give notification or reason." }), _jsx(Button, { onClick: () => {
|
|
163
163
|
window.location.href = '/prompts';
|
|
164
164
|
}, className: "font-brand rounded-full mt-4", children: "Back to gallery" })] }) }) }));
|
|
165
165
|
}
|
|
166
|
-
return (_jsx(Page, { className: "flex-col", children: _jsx("div", { className: "m-auto max-w-[800px] w-full", children: _jsxs("div", { className: "mx-4 px-8 py-8 pt-8", children: [_jsx(NewBackButton, { text: "Back to gallery", link: "/prompts" }), _jsx("h1", { className: "text-3xl font-brand font-black", children: "
|
|
166
|
+
return (_jsx(Page, { className: "flex-col", children: _jsx("div", { className: "m-auto max-w-[800px] w-full", children: _jsxs("div", { className: "mx-4 px-8 py-8 pt-8", children: [_jsx(NewBackButton, { text: "Back to gallery", link: "/prompts" }), _jsx("h1", { className: "text-3xl font-brand font-black", children: "Submit a prompt" }), _jsxs("p", { className: "text-muted-foreground text-sm font-brand", children: ["Submit a prompt to be featured in the", ' ', _jsx("a", { href: "/prompts", className: "underline hover:text-text underline-offset-4", children: "prompt gallery." })] }), _jsx("p", { className: "text-muted-foreground text-sm font-brand", children: "Note that this showcase is curated - we may reject submissions if they are repetitive or not up to our quality standards. In that case, we will not give notification or reason." }), _jsx("h2", { className: "font-brand mt-5 font-bold", children: "Title *" }), _jsx("p", { className: "text-muted-foreground text-sm mb-0 font-brand", children: "A short title for your prompt (max 80 characters)." }), _jsx(Input, { name: "title", placeholder: "Newspaper highlighting animation", className: "font-brand mt-3", value: title, maxLength: 80, onChange: (e) => setTitle(e.target.value) }), _jsxs("p", { className: "text-muted-foreground text-xs mt-1 mb-0 font-brand", children: [title.length, "/80"] }), _jsx("h2", { className: "font-brand mt-5 font-bold", children: "Video *" }), _jsx("p", { className: "text-muted-foreground text-sm mb-0 font-brand", children: "Upload a video showing the result of your prompt." }), _jsx("input", { ref: fileInputRef, type: "file", accept: "video/*", onChange: onFileSelect, className: "hidden" }), _jsxs("div", { onDrop: onDrop, onDragOver: onDragOver, onDragEnter: onDragEnter, onDragLeave: onDragLeave, className: `flex flex-col items-center py-12 mt-3 rounded-lg border-2 border-dashed transition-colors ${isDragging
|
|
167
167
|
? 'border-brand bg-brand/10'
|
|
168
168
|
: 'border-muted-foreground/25'}`, children: [uploadState.type === 'idle' &&
|
|
169
169
|
(isDragging ? (_jsx("div", { className: "font-brand text-sm text-brand font-medium", children: "Drop your video here" })) : (_jsxs(_Fragment, { children: [_jsx(Button, { className: "font-brand rounded-full", onClick: () => { var _a; return (_a = fileInputRef.current) === null || _a === void 0 ? void 0 : _a.click(); }, children: "Choose video file" }), _jsx("div", { className: "font-brand text-sm mt-3 text-muted-foreground", children: "or drag and drop a video file here" })] }))), uploadState.type === 'uploading' && (_jsxs("div", { className: "text-muted-foreground font-brand font-medium text-sm", children: ["Uploading ", Math.round(uploadState.progress), "%"] })), uploadState.type === 'processing' && (_jsx("div", { className: "text-muted-foreground font-brand font-medium text-sm", children: "Processing video..." })), uploadState.type === 'ready' && (_jsxs("div", { className: "w-full flex flex-col items-center px-4 gap-4", children: [_jsx(MuxPlayer, { playbackId: uploadState.muxPlaybackId, title: title || 'Preview' }), _jsx("button", { type: "button", className: "font-brand text-sm text-muted-foreground hover:text-foreground transition-colors", onClick: () => setUploadState({ type: 'idle' }), children: "Remove video" })] })), uploadState.type === 'error' && (_jsx("div", { className: "text-red-500 font-brand font-medium text-sm", children: uploadState.message }))] }), _jsx("h2", { className: "font-brand mt-5 font-bold", children: "Prompt(s) *" }), _jsx("p", { className: "text-muted-foreground text-sm mb-0 font-brand", children: "The prompts you used to generate this video. Separate multiple prompts with an empty line." }), _jsx(Textarea, { name: "prompt", className: "font-brand mt-3", placeholder: "Enter your full prompt here", value: prompt, onChange: (e) => setPrompt(e.target.value) }), _jsx("h2", { className: "font-brand mt-5 font-bold", children: "Tool used" }), _jsx("p", { className: "text-muted-foreground text-sm mb-0 font-brand", children: "Which tool did you use to generate this video? (e.g. Claude Code, Cursor, Codex)" }), _jsx(Input, { name: "toolUsed", placeholder: "Claude Code", className: "font-brand mt-3", value: toolUsed, onChange: (e) => setToolUsed(e.target.value) }), _jsx("h2", { className: "font-brand mt-5 font-bold", children: "Model used" }), _jsx("p", { className: "text-muted-foreground text-sm mb-0 font-brand", children: "Which AI model did you use? (e.g. Opus 4.5, GPT-5.2)" }), _jsx(Input, { name: "modelUsed", placeholder: "Opus 4.5", className: "font-brand mt-3", value: modelUsed, onChange: (e) => setModelUsed(e.target.value) }), _jsx("h2", { className: "font-brand mt-5 font-bold", children: "How should we credit you? *" }), _jsxs(Tabs, { defaultValue: "github", className: "mt-3", onValueChange: (value) => {
|
|
@@ -2,5 +2,5 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { TeamPicture } from '../TeamPicture';
|
|
3
3
|
import { TeamCardsLayout } from './TeamCards';
|
|
4
4
|
export const TitleTeamCards = () => {
|
|
5
|
-
return (_jsxs("div", { children: [_jsx("h1", { className: "font-brand", children: "Team" }), _jsx(TeamPicture, {}), _jsx(TeamCardsLayout, {})] }));
|
|
5
|
+
return (_jsxs("div", { children: [_jsx("h1", { className: "font-brand", children: "Team" }), _jsx(TeamPicture, {}), _jsx(TeamCardsLayout, {}), _jsx("h1", { className: "font-brand mt-8", children: "Company" }), _jsxs("p", { className: "font-brand leading-normal", children: ["Wonder how we operate? If we are stable? Who is backing us? ", _jsx("br", {}), "Check our our", ' ', _jsx("a", { href: "/investors", className: "font-brand no-underline text-brand", children: "investors page" }), "!"] })] }));
|
|
6
6
|
};
|
package/dist/components/team.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { TitleTeamCards } from './team/TitleTeamCards';
|
|
3
|
-
import { TrustSection } from './team/TrustSection';
|
|
4
3
|
export const AboutUsHeader = () => {
|
|
5
4
|
return (_jsx("div", { className: "flex flex-row items-center md:flex-col pt-10", children: _jsxs("div", { className: "flex-1", children: [_jsxs("h1", { className: "text-3xl font-bold font-['GTPlanar'] leading-tight max-w-[1000px] md:text-5xl", children: [_jsx("svg", { className: "h-6 md:h-8 mr-3 md:mr-6", viewBox: "0 0 105 107", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M24.0635 0.00717926C21.8217 0.12886 20.0152 0.48455 18.1946 1.17721C17.2867 1.51886 15.7984 2.26301 14.9794 2.77782C11.5535 4.926 8.94203 8.15529 7.58011 11.9134C7.30866 12.6576 6.57388 15.0304 6.10119 16.6638C2.95146 27.5825 1.16365 39.5215 0.779884 52.1579C0.719043 54.1703 0.719043 58.9628 0.779884 60.9425C1.03729 69.3199 1.83759 76.883 3.28843 84.5958C3.87813 87.7175 4.82352 91.9109 5.37109 93.8157C6.48964 97.6861 8.77354 100.981 12.0216 103.396C14.1978 105.015 16.6689 106.101 19.4068 106.635C20.7266 106.892 22.4676 107.009 23.75 106.925C25.5237 106.808 29.0432 106.335 31.9027 105.825C44.7918 103.527 56.6981 99.4131 67.4951 93.5255C74.3328 89.7954 80.1783 85.7565 85.8178 80.8564C91.4386 75.9797 96.2311 70.7333 100.448 64.8457C101.426 63.4838 101.917 62.6881 102.409 61.6866C103.673 59.1032 104.267 56.5338 104.262 53.6602C104.262 50.9831 103.757 48.6056 102.666 46.172C102.142 44.9973 101.641 44.1548 100.518 42.5542C96.3809 36.662 91.7897 31.5278 86.1922 26.5388C77.5153 18.8073 67.2096 12.4657 55.7012 7.77151C53.2067 6.75593 50.7496 5.86202 47.7918 4.89323C41.5298 2.84802 33.7795 1.07425 27.2226 0.189705C26.193 0.0493011 24.7936 -0.0302582 24.0635 0.00717926Z", fill: "#0B84F3" }) }), "The programmatic video dream", ' '] }), _jsx("p", { className: "leading-relaxed text-balance font-brand", children: "Started as a side project in 2021, we are now a company in Zurich, Switzerland and are pushing to combine the powers of video editing and programming!" })] }) }));
|
|
6
5
|
};
|
|
@@ -11,5 +10,5 @@ const container = {
|
|
|
11
10
|
paddingRight: 16,
|
|
12
11
|
};
|
|
13
12
|
export const TeamPage = () => {
|
|
14
|
-
return (_jsx("div", { className: "bg-[var(--background)]", children: _jsxs("div", { style: container, children: [_jsx("br", {}), _jsx(AboutUsHeader, {}), _jsx("br", {}), _jsx(TitleTeamCards, {}), _jsx("br", {})
|
|
13
|
+
return (_jsx("div", { className: "bg-[var(--background)]", children: _jsxs("div", { style: container, children: [_jsx("br", {}), _jsx(AboutUsHeader, {}), _jsx("br", {}), _jsx(TitleTeamCards, {}), _jsx("br", {})] }) }));
|
|
15
14
|
};
|
package/dist/design.js
CHANGED
|
@@ -6989,7 +6989,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
|
6989
6989
|
var addSequenceStackTraces = (component) => {
|
|
6990
6990
|
componentsToAddStacksTo.push(component);
|
|
6991
6991
|
};
|
|
6992
|
-
var VERSION = "4.0.
|
|
6992
|
+
var VERSION = "4.0.446";
|
|
6993
6993
|
var checkMultipleRemotionVersions = () => {
|
|
6994
6994
|
if (typeof globalThis === "undefined") {
|
|
6995
6995
|
return;
|
package/dist/experts.js
CHANGED
|
@@ -2042,7 +2042,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
|
2042
2042
|
var addSequenceStackTraces = (component) => {
|
|
2043
2043
|
componentsToAddStacksTo.push(component);
|
|
2044
2044
|
};
|
|
2045
|
-
var VERSION = "4.0.
|
|
2045
|
+
var VERSION = "4.0.446";
|
|
2046
2046
|
var checkMultipleRemotionVersions = () => {
|
|
2047
2047
|
if (typeof globalThis === "undefined") {
|
|
2048
2048
|
return;
|
package/dist/homepage/Pricing.js
CHANGED
|
@@ -6989,7 +6989,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
|
6989
6989
|
var addSequenceStackTraces = (component) => {
|
|
6990
6990
|
componentsToAddStacksTo.push(component);
|
|
6991
6991
|
};
|
|
6992
|
-
var VERSION = "4.0.
|
|
6992
|
+
var VERSION = "4.0.446";
|
|
6993
6993
|
var checkMultipleRemotionVersions = () => {
|
|
6994
6994
|
if (typeof globalThis === "undefined") {
|
|
6995
6995
|
return;
|
|
@@ -6989,7 +6989,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
|
6989
6989
|
var addSequenceStackTraces = (component) => {
|
|
6990
6990
|
componentsToAddStacksTo.push(component);
|
|
6991
6991
|
};
|
|
6992
|
-
var VERSION = "4.0.
|
|
6992
|
+
var VERSION = "4.0.446";
|
|
6993
6993
|
var checkMultipleRemotionVersions = () => {
|
|
6994
6994
|
if (typeof globalThis === "undefined") {
|
|
6995
6995
|
return;
|
|
@@ -24323,7 +24323,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
|
24323
24323
|
var addSequenceStackTraces = (component) => {
|
|
24324
24324
|
componentsToAddStacksTo.push(component);
|
|
24325
24325
|
};
|
|
24326
|
-
var VERSION = "4.0.
|
|
24326
|
+
var VERSION = "4.0.446";
|
|
24327
24327
|
var checkMultipleRemotionVersions = () => {
|
|
24328
24328
|
if (typeof globalThis === "undefined") {
|
|
24329
24329
|
return;
|
|
@@ -24323,7 +24323,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
|
24323
24323
|
var addSequenceStackTraces = (component) => {
|
|
24324
24324
|
componentsToAddStacksTo.push(component);
|
|
24325
24325
|
};
|
|
24326
|
-
var VERSION = "4.0.
|
|
24326
|
+
var VERSION = "4.0.446";
|
|
24327
24327
|
var checkMultipleRemotionVersions = () => {
|
|
24328
24328
|
if (typeof globalThis === "undefined") {
|
|
24329
24329
|
return;
|
package/dist/team.js
CHANGED
|
@@ -7170,7 +7170,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
|
7170
7170
|
var addSequenceStackTraces = (component) => {
|
|
7171
7171
|
componentsToAddStacksTo.push(component);
|
|
7172
7172
|
};
|
|
7173
|
-
var VERSION = "4.0.
|
|
7173
|
+
var VERSION = "4.0.446";
|
|
7174
7174
|
var checkMultipleRemotionVersions = () => {
|
|
7175
7175
|
if (typeof globalThis === "undefined") {
|
|
7176
7176
|
return;
|
|
@@ -6989,7 +6989,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
|
6989
6989
|
var addSequenceStackTraces = (component) => {
|
|
6990
6990
|
componentsToAddStacksTo.push(component);
|
|
6991
6991
|
};
|
|
6992
|
-
var VERSION = "4.0.
|
|
6992
|
+
var VERSION = "4.0.446";
|
|
6993
6993
|
var checkMultipleRemotionVersions = () => {
|
|
6994
6994
|
if (typeof globalThis === "undefined") {
|
|
6995
6995
|
return;
|
package/dist/templates.js
CHANGED
|
@@ -6989,7 +6989,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
|
6989
6989
|
var addSequenceStackTraces = (component) => {
|
|
6990
6990
|
componentsToAddStacksTo.push(component);
|
|
6991
6991
|
};
|
|
6992
|
-
var VERSION = "4.0.
|
|
6992
|
+
var VERSION = "4.0.446";
|
|
6993
6993
|
var checkMultipleRemotionVersions = () => {
|
|
6994
6994
|
if (typeof globalThis === "undefined") {
|
|
6995
6995
|
return;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/promo-pages",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.446",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -11,19 +11,19 @@
|
|
|
11
11
|
},
|
|
12
12
|
"type": "module",
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@remotion/animated-emoji": "4.0.
|
|
15
|
-
"@remotion/design": "4.0.
|
|
16
|
-
"@remotion/web-renderer": "4.0.
|
|
17
|
-
"@remotion/lottie": "4.0.
|
|
18
|
-
"@remotion/paths": "4.0.
|
|
19
|
-
"@remotion/player": "4.0.
|
|
20
|
-
"@remotion/shapes": "4.0.
|
|
21
|
-
"@remotion/media": "4.0.
|
|
22
|
-
"@remotion/svg-3d-engine": "4.0.
|
|
23
|
-
"create-video": "4.0.
|
|
14
|
+
"@remotion/animated-emoji": "4.0.446",
|
|
15
|
+
"@remotion/design": "4.0.446",
|
|
16
|
+
"@remotion/web-renderer": "4.0.446",
|
|
17
|
+
"@remotion/lottie": "4.0.446",
|
|
18
|
+
"@remotion/paths": "4.0.446",
|
|
19
|
+
"@remotion/player": "4.0.446",
|
|
20
|
+
"@remotion/shapes": "4.0.446",
|
|
21
|
+
"@remotion/media": "4.0.446",
|
|
22
|
+
"@remotion/svg-3d-engine": "4.0.446",
|
|
23
|
+
"create-video": "4.0.446",
|
|
24
24
|
"hls.js": "1.5.19",
|
|
25
25
|
"polished": "4.3.1",
|
|
26
|
-
"remotion": "4.0.
|
|
26
|
+
"remotion": "4.0.446",
|
|
27
27
|
"zod": "4.3.6",
|
|
28
28
|
"@mux/upchunk": "^3.5.0",
|
|
29
29
|
"@vidstack/react": "1.12.13",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"@mediabunny/mp3-encoder": "1.39.2"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
37
|
+
"@remotion/eslint-config-internal": "4.0.446",
|
|
38
38
|
"@eslint/eslintrc": "3.1.0",
|
|
39
39
|
"@types/react": "19.2.7",
|
|
40
40
|
"@types/react-dom": "19.2.3",
|