@remotion/promo-pages 4.0.490 → 4.0.491
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 +729 -405
- package/dist/components/Homepage.js +8 -4
- package/dist/components/homepage/CanvasSectionTitle.d.ts +4 -0
- package/dist/components/homepage/CanvasSectionTitle.js +14 -0
- package/dist/components/homepage/CommunityStatsItems.js +1 -1
- package/dist/components/homepage/Demo/Card.d.ts +3 -3
- package/dist/components/homepage/Demo/DisplayedEmoji.js +9 -3
- package/dist/components/homepage/EditorStarterSection.d.ts +3 -0
- package/dist/components/homepage/EditorStarterSection.js +8 -0
- package/dist/components/homepage/Pricing.d.ts +3 -0
- package/dist/components/homepage/Pricing.js +8 -2
- package/dist/components/homepage/WriteInReact.js +1 -2
- package/dist/design.js +262 -147
- package/dist/experts.js +247 -132
- package/dist/homepage/Pricing.js +279 -164
- package/dist/prompts/PromptsGallery.js +259 -144
- package/dist/prompts/PromptsShow.js +265 -150
- package/dist/prompts/PromptsSubmit.js +251 -136
- package/dist/team.js +236 -121
- package/dist/template-modal-content.js +279 -164
- package/dist/templates.js +279 -162
- package/package.json +13 -13
package/dist/Homepage.js
CHANGED
|
@@ -1153,13 +1153,12 @@ import { jsx as jsx34 } from "react/jsx-runtime";
|
|
|
1153
1153
|
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
1154
1154
|
import React39, { useMemo as useMemo37 } from "react";
|
|
1155
1155
|
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
1156
|
-
import {
|
|
1157
|
-
Children,
|
|
1156
|
+
import React41, {
|
|
1158
1157
|
forwardRef as forwardRef14,
|
|
1159
1158
|
useMemo as useMemo38
|
|
1160
1159
|
} from "react";
|
|
1161
1160
|
import React40 from "react";
|
|
1162
|
-
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
1161
|
+
import { jsx as jsx37, jsxs as jsxs3, Fragment } from "react/jsx-runtime";
|
|
1163
1162
|
import React42 from "react";
|
|
1164
1163
|
import { forwardRef as forwardRef16, useCallback as useCallback25, useContext as useContext39 } from "react";
|
|
1165
1164
|
import {
|
|
@@ -2335,7 +2334,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
|
2335
2334
|
var addSequenceStackTraces = (component) => {
|
|
2336
2335
|
componentsToAddStacksTo.push(component);
|
|
2337
2336
|
};
|
|
2338
|
-
var VERSION = "4.0.
|
|
2337
|
+
var VERSION = "4.0.491";
|
|
2339
2338
|
var checkMultipleRemotionVersions = () => {
|
|
2340
2339
|
if (typeof globalThis === "undefined") {
|
|
2341
2340
|
return;
|
|
@@ -2948,7 +2947,7 @@ var SequenceManagerRefContext = React11.createContext({
|
|
|
2948
2947
|
current: []
|
|
2949
2948
|
});
|
|
2950
2949
|
var makeSequencePropsSubscriptionKey = (key) => {
|
|
2951
|
-
return `${key.nodePath.join(".")}
|
|
2950
|
+
return `${key.absolutePath}\x00${key.nodePath.join(".")}\x00${key.sequenceKeys.join(".")}\x00${key.effectKeys.map((keys) => keys.join(".")).join(".")}`;
|
|
2952
2951
|
};
|
|
2953
2952
|
var VisualModePropStatusesContext = React11.createContext({
|
|
2954
2953
|
propStatuses: {}
|
|
@@ -5561,6 +5560,7 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
5561
5560
|
src: isMedia.data.src,
|
|
5562
5561
|
getStack: () => stackRef.current,
|
|
5563
5562
|
startMediaFrom: startMediaFrom ?? isMedia.data.startMediaFrom,
|
|
5563
|
+
mediaFrameAtSequenceZero,
|
|
5564
5564
|
volume: isMedia.data.volumes,
|
|
5565
5565
|
refForOutline: refForOutline ?? null,
|
|
5566
5566
|
isInsideSeries,
|
|
@@ -5624,6 +5624,7 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
5624
5624
|
isInsideSeries,
|
|
5625
5625
|
registeredFrozenFrame,
|
|
5626
5626
|
startMediaFrom,
|
|
5627
|
+
mediaFrameAtSequenceZero,
|
|
5627
5628
|
frozenMediaFrame
|
|
5628
5629
|
]);
|
|
5629
5630
|
const endThreshold = Math.ceil(cumulatedFrom + from + durationInFrames - 1);
|
|
@@ -7574,7 +7575,9 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
7574
7575
|
return;
|
|
7575
7576
|
}
|
|
7576
7577
|
if (data === undefined) {
|
|
7577
|
-
current.src
|
|
7578
|
+
if (current.src !== EMPTY_AUDIO) {
|
|
7579
|
+
current.src = EMPTY_AUDIO;
|
|
7580
|
+
}
|
|
7578
7581
|
return;
|
|
7579
7582
|
}
|
|
7580
7583
|
if (!data) {
|
|
@@ -7643,7 +7646,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
7643
7646
|
if (prevA.id === id) {
|
|
7644
7647
|
const isTheSame = compareProps(aud, prevA.props) && prevA.premounting === premounting && prevA.postmounting === postmounting;
|
|
7645
7648
|
if (isTheSame) {
|
|
7646
|
-
return prevA;
|
|
7649
|
+
return prevA.audioMounted === audioMounted ? prevA : { ...prevA, audioMounted };
|
|
7647
7650
|
}
|
|
7648
7651
|
changed = true;
|
|
7649
7652
|
return {
|
|
@@ -7655,7 +7658,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
7655
7658
|
audioMounted
|
|
7656
7659
|
};
|
|
7657
7660
|
}
|
|
7658
|
-
return prevA;
|
|
7661
|
+
return prevA.audioMounted === audioMounted ? prevA : { ...prevA, audioMounted };
|
|
7659
7662
|
});
|
|
7660
7663
|
if (changed) {
|
|
7661
7664
|
rerenderAudios();
|
|
@@ -7694,16 +7697,19 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
7694
7697
|
unregisterAudio,
|
|
7695
7698
|
updateAudio
|
|
7696
7699
|
]);
|
|
7700
|
+
const sharedAudioTagElements = useMemo21(() => {
|
|
7701
|
+
return refs.map(({ id, ref }) => {
|
|
7702
|
+
return /* @__PURE__ */ jsx19("audio", {
|
|
7703
|
+
ref,
|
|
7704
|
+
preload: "metadata",
|
|
7705
|
+
src: EMPTY_AUDIO
|
|
7706
|
+
}, id);
|
|
7707
|
+
});
|
|
7708
|
+
}, [refs]);
|
|
7697
7709
|
return /* @__PURE__ */ jsxs22(SharedAudioTagsContext.Provider, {
|
|
7698
7710
|
value: audioTagsValue,
|
|
7699
7711
|
children: [
|
|
7700
|
-
|
|
7701
|
-
return /* @__PURE__ */ jsx19("audio", {
|
|
7702
|
-
ref,
|
|
7703
|
-
preload: "metadata",
|
|
7704
|
-
src: EMPTY_AUDIO
|
|
7705
|
-
}, id);
|
|
7706
|
-
}),
|
|
7712
|
+
sharedAudioTagElements,
|
|
7707
7713
|
children
|
|
7708
7714
|
]
|
|
7709
7715
|
});
|
|
@@ -8164,6 +8170,7 @@ var useMediaInTimeline = ({
|
|
|
8164
8170
|
showInTimeline: true,
|
|
8165
8171
|
nonce: nonce.get(),
|
|
8166
8172
|
startMediaFrom: 0 - startsAt,
|
|
8173
|
+
mediaFrameAtSequenceZero: null,
|
|
8167
8174
|
doesVolumeChange,
|
|
8168
8175
|
loopDisplay,
|
|
8169
8176
|
playbackRate,
|
|
@@ -9797,16 +9804,16 @@ var isMissingPaintRecordError = (error2) => {
|
|
|
9797
9804
|
return error2 instanceof DOMException && error2.name === "InvalidStateError";
|
|
9798
9805
|
};
|
|
9799
9806
|
var missingPaintRecordMessage = "HtmlInCanvas: Expected the element to be inside the viewport during rendering, but Chrome had no cached paint record for it.";
|
|
9800
|
-
var
|
|
9801
|
-
|
|
9807
|
+
var resizePaintTarget = ({
|
|
9808
|
+
target,
|
|
9802
9809
|
width,
|
|
9803
9810
|
height
|
|
9804
9811
|
}) => {
|
|
9805
|
-
if (
|
|
9806
|
-
|
|
9812
|
+
if (target.width !== width) {
|
|
9813
|
+
target.width = width;
|
|
9807
9814
|
}
|
|
9808
|
-
if (
|
|
9809
|
-
|
|
9815
|
+
if (target.height !== height) {
|
|
9816
|
+
target.height = height;
|
|
9810
9817
|
}
|
|
9811
9818
|
};
|
|
9812
9819
|
var defaultOnPaint = ({
|
|
@@ -9822,7 +9829,7 @@ var defaultOnPaint = ({
|
|
|
9822
9829
|
const transform = ctx.drawElementImage(elementImage, 0, 0);
|
|
9823
9830
|
element.style.transform = transform.toString();
|
|
9824
9831
|
};
|
|
9825
|
-
var HtmlInCanvasAncestorContext = createContext23(
|
|
9832
|
+
var HtmlInCanvasAncestorContext = createContext23(null);
|
|
9826
9833
|
var HtmlInCanvasContent = forwardRef9(({
|
|
9827
9834
|
width,
|
|
9828
9835
|
height,
|
|
@@ -9834,20 +9841,22 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
9834
9841
|
controls,
|
|
9835
9842
|
style
|
|
9836
9843
|
}, ref) => {
|
|
9837
|
-
const
|
|
9844
|
+
const ancestor = useContext31(HtmlInCanvasAncestorContext);
|
|
9838
9845
|
assertHtmlInCanvasDimensions(width, height);
|
|
9839
9846
|
const resolvedPixelDensity = resolveHtmlInCanvasPixelDensity(pixelDensity);
|
|
9840
9847
|
const canvasWidth = Math.ceil(width * resolvedPixelDensity);
|
|
9841
9848
|
const canvasHeight = Math.ceil(height * resolvedPixelDensity);
|
|
9842
9849
|
const { continueRender: continueRender2, cancelRender: cancelRender2 } = useDelayRender();
|
|
9843
|
-
const { isRendering } = useRemotionEnvironment();
|
|
9850
|
+
const { isClientSideRendering, isRendering } = useRemotionEnvironment();
|
|
9851
|
+
const canRetryMissingPaintRecord = !isRendering || isClientSideRendering;
|
|
9852
|
+
const usesDirectLayoutCanvas = onPaint === undefined && onInit === undefined;
|
|
9844
9853
|
if (!isHtmlInCanvasSupported()) {
|
|
9845
9854
|
cancelRender2(new Error(HTML_IN_CANVAS_UNSUPPORTED_MESSAGE));
|
|
9846
9855
|
}
|
|
9847
9856
|
const canvas2dRef = useRef22(null);
|
|
9848
|
-
const
|
|
9857
|
+
const paintTargetRef = useRef22(null);
|
|
9849
9858
|
const divRef = useRef22(null);
|
|
9850
|
-
const canvasSizeKey = `${width}x${height}@${resolvedPixelDensity}`;
|
|
9859
|
+
const canvasSizeKey = `${width}x${height}@${resolvedPixelDensity}-${usesDirectLayoutCanvas ? "direct" : "offscreen"}`;
|
|
9851
9860
|
const setLayoutCanvasRef = useCallback16((node) => {
|
|
9852
9861
|
canvas2dRef.current = node;
|
|
9853
9862
|
if (typeof ref === "function") {
|
|
@@ -9870,17 +9879,19 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
9870
9879
|
const initializedRef = useRef22(false);
|
|
9871
9880
|
const onInitCleanupRef = useRef22(null);
|
|
9872
9881
|
const unmountedRef = useRef22(false);
|
|
9882
|
+
const ancestorRef = useRef22(ancestor);
|
|
9883
|
+
ancestorRef.current = ancestor;
|
|
9873
9884
|
const onPaintCb = useCallback16(async () => {
|
|
9874
9885
|
const element = divRef.current;
|
|
9875
9886
|
if (!element) {
|
|
9876
9887
|
throw new Error("Canvas or scene element not found");
|
|
9877
9888
|
}
|
|
9878
|
-
const
|
|
9879
|
-
if (!
|
|
9880
|
-
throw new Error("HtmlInCanvas:
|
|
9889
|
+
const paintTarget = paintTargetRef.current;
|
|
9890
|
+
if (!paintTarget) {
|
|
9891
|
+
throw new Error("HtmlInCanvas: paint target is not ready because the canvas is remounting");
|
|
9881
9892
|
}
|
|
9882
|
-
|
|
9883
|
-
|
|
9893
|
+
resizePaintTarget({
|
|
9894
|
+
target: paintTarget,
|
|
9884
9895
|
width: canvasWidth,
|
|
9885
9896
|
height: canvasHeight
|
|
9886
9897
|
});
|
|
@@ -9891,22 +9902,30 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
9891
9902
|
}
|
|
9892
9903
|
const handle = delayRender("onPaint");
|
|
9893
9904
|
if (!initializedRef.current) {
|
|
9894
|
-
|
|
9895
|
-
|
|
9896
|
-
|
|
9897
|
-
}
|
|
9898
|
-
|
|
9899
|
-
|
|
9900
|
-
|
|
9905
|
+
const currentOnInit = onInitRef.current;
|
|
9906
|
+
if (!currentOnInit) {
|
|
9907
|
+
initializedRef.current = true;
|
|
9908
|
+
} else {
|
|
9909
|
+
let initImage;
|
|
9910
|
+
try {
|
|
9911
|
+
initImage = placeholderCanvas.captureElementImage(element);
|
|
9912
|
+
} catch (error2) {
|
|
9913
|
+
if (isMissingPaintRecordError(error2) && canRetryMissingPaintRecord) {
|
|
9914
|
+
continueRender2(handle);
|
|
9915
|
+
return;
|
|
9916
|
+
}
|
|
9917
|
+
if (isMissingPaintRecordError(error2)) {
|
|
9918
|
+
throw new Error(missingPaintRecordMessage);
|
|
9919
|
+
}
|
|
9901
9920
|
throw error2;
|
|
9902
9921
|
}
|
|
9903
|
-
}
|
|
9904
|
-
if (initImage) {
|
|
9905
9922
|
initializedRef.current = true;
|
|
9906
|
-
|
|
9907
|
-
|
|
9923
|
+
try {
|
|
9924
|
+
if (paintTarget instanceof HTMLCanvasElement) {
|
|
9925
|
+
throw new Error("HtmlInCanvas: onInit requires an OffscreenCanvas paint target");
|
|
9926
|
+
}
|
|
9908
9927
|
const cleanup = await currentOnInit({
|
|
9909
|
-
canvas:
|
|
9928
|
+
canvas: paintTarget,
|
|
9910
9929
|
element,
|
|
9911
9930
|
elementImage: initImage,
|
|
9912
9931
|
pixelDensity: resolvedPixelDensity
|
|
@@ -9919,15 +9938,16 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
9919
9938
|
} else {
|
|
9920
9939
|
onInitCleanupRef.current = cleanup;
|
|
9921
9940
|
}
|
|
9941
|
+
} finally {
|
|
9942
|
+
initImage.close();
|
|
9922
9943
|
}
|
|
9923
9944
|
}
|
|
9924
9945
|
}
|
|
9925
|
-
const handler = onPaintRef.current ?? defaultOnPaint;
|
|
9926
9946
|
let elImage;
|
|
9927
9947
|
try {
|
|
9928
9948
|
elImage = placeholderCanvas.captureElementImage(element);
|
|
9929
9949
|
} catch (error2) {
|
|
9930
|
-
if (isMissingPaintRecordError(error2) &&
|
|
9950
|
+
if (isMissingPaintRecordError(error2) && canRetryMissingPaintRecord) {
|
|
9931
9951
|
continueRender2(handle);
|
|
9932
9952
|
return;
|
|
9933
9953
|
}
|
|
@@ -9936,20 +9956,41 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
9936
9956
|
}
|
|
9937
9957
|
throw error2;
|
|
9938
9958
|
}
|
|
9939
|
-
|
|
9940
|
-
|
|
9941
|
-
|
|
9942
|
-
|
|
9943
|
-
|
|
9944
|
-
|
|
9945
|
-
|
|
9946
|
-
|
|
9947
|
-
|
|
9948
|
-
|
|
9949
|
-
|
|
9950
|
-
|
|
9951
|
-
|
|
9952
|
-
|
|
9959
|
+
try {
|
|
9960
|
+
const currentOnPaint = onPaintRef.current;
|
|
9961
|
+
if (currentOnPaint) {
|
|
9962
|
+
if (paintTarget instanceof HTMLCanvasElement) {
|
|
9963
|
+
throw new Error("HtmlInCanvas: onPaint requires an OffscreenCanvas paint target");
|
|
9964
|
+
}
|
|
9965
|
+
const paintResult = currentOnPaint({
|
|
9966
|
+
canvas: paintTarget,
|
|
9967
|
+
element,
|
|
9968
|
+
elementImage: elImage,
|
|
9969
|
+
pixelDensity: resolvedPixelDensity
|
|
9970
|
+
});
|
|
9971
|
+
if (paintResult) {
|
|
9972
|
+
await paintResult;
|
|
9973
|
+
}
|
|
9974
|
+
} else {
|
|
9975
|
+
defaultOnPaint({
|
|
9976
|
+
canvas: paintTarget,
|
|
9977
|
+
element,
|
|
9978
|
+
elementImage: elImage,
|
|
9979
|
+
pixelDensity: resolvedPixelDensity
|
|
9980
|
+
});
|
|
9981
|
+
}
|
|
9982
|
+
await runEffectChain({
|
|
9983
|
+
state: chainState.get(canvasWidth, canvasHeight),
|
|
9984
|
+
source: paintTarget,
|
|
9985
|
+
effects: effectsRef.current,
|
|
9986
|
+
output: paintTarget,
|
|
9987
|
+
width: canvasWidth,
|
|
9988
|
+
height: canvasHeight
|
|
9989
|
+
});
|
|
9990
|
+
} finally {
|
|
9991
|
+
elImage.close();
|
|
9992
|
+
}
|
|
9993
|
+
ancestorRef.current?.requestParentPaint();
|
|
9953
9994
|
continueRender2(handle);
|
|
9954
9995
|
} catch (error2) {
|
|
9955
9996
|
cancelRender2(error2);
|
|
@@ -9961,7 +10002,7 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
9961
10002
|
continueRender2,
|
|
9962
10003
|
cancelRender2,
|
|
9963
10004
|
resolvedPixelDensity,
|
|
9964
|
-
|
|
10005
|
+
canRetryMissingPaintRecord
|
|
9965
10006
|
]);
|
|
9966
10007
|
useLayoutEffect9(() => {
|
|
9967
10008
|
const placeholder = canvas2dRef.current;
|
|
@@ -9969,10 +10010,10 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
9969
10010
|
throw new Error("Canvas not found");
|
|
9970
10011
|
}
|
|
9971
10012
|
placeholder.layoutSubtree = true;
|
|
9972
|
-
const
|
|
9973
|
-
|
|
9974
|
-
|
|
9975
|
-
|
|
10013
|
+
const paintTarget = usesDirectLayoutCanvas ? placeholder : placeholder.transferControlToOffscreen();
|
|
10014
|
+
paintTargetRef.current = paintTarget;
|
|
10015
|
+
resizePaintTarget({
|
|
10016
|
+
target: paintTarget,
|
|
9976
10017
|
width: canvasWidth,
|
|
9977
10018
|
height: canvasHeight
|
|
9978
10019
|
});
|
|
@@ -9981,13 +10022,19 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
9981
10022
|
placeholder.addEventListener("paint", onPaintCb);
|
|
9982
10023
|
return () => {
|
|
9983
10024
|
placeholder.removeEventListener("paint", onPaintCb);
|
|
9984
|
-
|
|
10025
|
+
paintTargetRef.current = null;
|
|
9985
10026
|
initializedRef.current = false;
|
|
9986
10027
|
unmountedRef.current = true;
|
|
9987
10028
|
onInitCleanupRef.current?.();
|
|
9988
10029
|
onInitCleanupRef.current = null;
|
|
9989
10030
|
};
|
|
9990
|
-
}, [
|
|
10031
|
+
}, [
|
|
10032
|
+
onPaintCb,
|
|
10033
|
+
cancelRender2,
|
|
10034
|
+
canvasWidth,
|
|
10035
|
+
canvasHeight,
|
|
10036
|
+
usesDirectLayoutCanvas
|
|
10037
|
+
]);
|
|
9991
10038
|
const onPaintChangedRef = useRef22(false);
|
|
9992
10039
|
useLayoutEffect9(() => {
|
|
9993
10040
|
if (!onPaintChangedRef.current) {
|
|
@@ -10026,11 +10073,15 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
10026
10073
|
...style ?? {}
|
|
10027
10074
|
};
|
|
10028
10075
|
}, [height, style, width]);
|
|
10029
|
-
|
|
10030
|
-
|
|
10031
|
-
|
|
10076
|
+
const ancestorValue = useMemo30(() => {
|
|
10077
|
+
return {
|
|
10078
|
+
requestParentPaint: () => {
|
|
10079
|
+
canvas2dRef.current?.requestPaint?.();
|
|
10080
|
+
}
|
|
10081
|
+
};
|
|
10082
|
+
}, []);
|
|
10032
10083
|
return /* @__PURE__ */ jsx25(HtmlInCanvasAncestorContext.Provider, {
|
|
10033
|
-
value:
|
|
10084
|
+
value: ancestorValue,
|
|
10034
10085
|
children: /* @__PURE__ */ jsx25("canvas", {
|
|
10035
10086
|
ref: setLayoutCanvasRef,
|
|
10036
10087
|
width: canvasWidth,
|
|
@@ -12400,66 +12451,130 @@ var flattenChildren = (children) => {
|
|
|
12400
12451
|
return flatChildren;
|
|
12401
12452
|
}, []);
|
|
12402
12453
|
};
|
|
12403
|
-
var
|
|
12454
|
+
var seriesSequenceSchema = {
|
|
12455
|
+
durationInFrames: Interactive.baseSchema.durationInFrames,
|
|
12456
|
+
name: Interactive.sequenceSchema.name,
|
|
12457
|
+
hidden: Interactive.sequenceSchema.hidden,
|
|
12458
|
+
showInTimeline: Interactive.sequenceSchema.showInTimeline,
|
|
12459
|
+
freeze: Interactive.baseSchema.freeze,
|
|
12460
|
+
layout: Interactive.sequenceSchema.layout
|
|
12461
|
+
};
|
|
12462
|
+
var SeriesSequenceInner = forwardRef14(({
|
|
12463
|
+
offset = 0,
|
|
12464
|
+
className = "",
|
|
12465
|
+
stack = null,
|
|
12466
|
+
_remotionInternalRender = null,
|
|
12467
|
+
...props2
|
|
12468
|
+
}, ref) => {
|
|
12404
12469
|
useRequireToBeInsideSeries();
|
|
12470
|
+
if (_remotionInternalRender) {
|
|
12471
|
+
return _remotionInternalRender({ ...props2, offset, className: className || undefined, stack }, ref);
|
|
12472
|
+
}
|
|
12405
12473
|
return /* @__PURE__ */ jsx37(IsNotInsideSeriesProvider, {
|
|
12406
|
-
children
|
|
12474
|
+
children: props2.children
|
|
12407
12475
|
});
|
|
12408
|
-
};
|
|
12409
|
-
var SeriesSequence =
|
|
12476
|
+
});
|
|
12477
|
+
var SeriesSequence = Interactive.withSchema({
|
|
12478
|
+
Component: SeriesSequenceInner,
|
|
12479
|
+
componentName: "<Series.Sequence>",
|
|
12480
|
+
componentIdentity: "dev.remotion.remotion.Series.Sequence",
|
|
12481
|
+
schema: seriesSequenceSchema,
|
|
12482
|
+
supportsEffects: false
|
|
12483
|
+
});
|
|
12410
12484
|
var SequenceWithoutSchemaWithRef = SequenceWithoutSchema;
|
|
12485
|
+
var validateSeriesSequenceProps = ({
|
|
12486
|
+
durationInFrames,
|
|
12487
|
+
offset: offsetProp,
|
|
12488
|
+
index,
|
|
12489
|
+
childrenLength
|
|
12490
|
+
}) => {
|
|
12491
|
+
const debugInfo = `index = ${index}, duration = ${durationInFrames}`;
|
|
12492
|
+
if (index !== childrenLength - 1 || durationInFrames !== Infinity) {
|
|
12493
|
+
validateDurationInFrames(durationInFrames, {
|
|
12494
|
+
component: `of a <Series.Sequence /> component`,
|
|
12495
|
+
allowFloats: true
|
|
12496
|
+
});
|
|
12497
|
+
}
|
|
12498
|
+
const offset = offsetProp ?? 0;
|
|
12499
|
+
if (Number.isNaN(offset)) {
|
|
12500
|
+
throw new TypeError(`The "offset" property of a <Series.Sequence /> must not be NaN, but got NaN (${debugInfo}).`);
|
|
12501
|
+
}
|
|
12502
|
+
if (!Number.isFinite(offset)) {
|
|
12503
|
+
throw new TypeError(`The "offset" property of a <Series.Sequence /> must be finite, but got ${offset} (${debugInfo}).`);
|
|
12504
|
+
}
|
|
12505
|
+
if (offset % 1 !== 0) {
|
|
12506
|
+
throw new TypeError(`The "offset" property of a <Series.Sequence /> must be finite, but got ${offset} (${debugInfo}).`);
|
|
12507
|
+
}
|
|
12508
|
+
return offset;
|
|
12509
|
+
};
|
|
12411
12510
|
var SeriesInner = (props2) => {
|
|
12412
12511
|
const childrenValue = useMemo38(() => {
|
|
12413
|
-
let startFrame = 0;
|
|
12414
12512
|
const flattenedChildren = flattenChildren(props2.children);
|
|
12415
|
-
|
|
12513
|
+
const renderChildren = (i, startFrame) => {
|
|
12514
|
+
if (i === flattenedChildren.length) {
|
|
12515
|
+
return null;
|
|
12516
|
+
}
|
|
12517
|
+
const child = flattenedChildren[i];
|
|
12416
12518
|
const castedChild = child;
|
|
12417
12519
|
if (typeof castedChild === "string") {
|
|
12418
12520
|
if (castedChild.trim() === "") {
|
|
12419
|
-
return
|
|
12521
|
+
return renderChildren(i + 1, startFrame);
|
|
12420
12522
|
}
|
|
12421
12523
|
throw new TypeError(`The <Series /> component only accepts a list of <Series.Sequence /> components as its children, but you passed a string "${castedChild}"`);
|
|
12422
12524
|
}
|
|
12423
12525
|
if (castedChild.type !== SeriesSequence) {
|
|
12424
12526
|
throw new TypeError(`The <Series /> component only accepts a list of <Series.Sequence /> components as its children, but got ${castedChild} instead`);
|
|
12425
12527
|
}
|
|
12426
|
-
const
|
|
12427
|
-
|
|
12428
|
-
|
|
12429
|
-
|
|
12430
|
-
|
|
12431
|
-
|
|
12432
|
-
name,
|
|
12433
|
-
...passedProps
|
|
12434
|
-
} = castedChild.props;
|
|
12435
|
-
if (i !== flattenedChildren.length - 1 || durationInFramesProp !== Infinity) {
|
|
12436
|
-
validateDurationInFrames(durationInFramesProp, {
|
|
12437
|
-
component: `of a <Series.Sequence /> component`,
|
|
12438
|
-
allowFloats: true
|
|
12439
|
-
});
|
|
12440
|
-
}
|
|
12441
|
-
const offset = castedChild.props.offset ?? 0;
|
|
12442
|
-
if (Number.isNaN(offset)) {
|
|
12443
|
-
throw new TypeError(`The "offset" property of a <Series.Sequence /> must not be NaN, but got NaN (${debugInfo}).`);
|
|
12444
|
-
}
|
|
12445
|
-
if (!Number.isFinite(offset)) {
|
|
12446
|
-
throw new TypeError(`The "offset" property of a <Series.Sequence /> must be finite, but got ${offset} (${debugInfo}).`);
|
|
12447
|
-
}
|
|
12448
|
-
if (offset % 1 !== 0) {
|
|
12449
|
-
throw new TypeError(`The "offset" property of a <Series.Sequence /> must be finite, but got ${offset} (${debugInfo}).`);
|
|
12450
|
-
}
|
|
12451
|
-
const currentStartFrame = startFrame + offset;
|
|
12452
|
-
startFrame += durationInFramesProp + offset;
|
|
12453
|
-
return /* @__PURE__ */ jsx37(SequenceWithoutSchemaWithRef, {
|
|
12454
|
-
ref: castedChild.ref,
|
|
12455
|
-
name: name || "<Series.Sequence>",
|
|
12456
|
-
_remotionInternalDocumentationLink: name ? undefined : "https://www.remotion.dev/docs/series",
|
|
12457
|
-
from: currentStartFrame,
|
|
12458
|
-
durationInFrames: durationInFramesProp,
|
|
12459
|
-
...passedProps,
|
|
12460
|
-
children: child
|
|
12528
|
+
const castedElement = castedChild;
|
|
12529
|
+
validateSeriesSequenceProps({
|
|
12530
|
+
durationInFrames: castedElement.props.durationInFrames,
|
|
12531
|
+
offset: castedElement.props.offset,
|
|
12532
|
+
index: i,
|
|
12533
|
+
childrenLength: flattenedChildren.length
|
|
12461
12534
|
});
|
|
12462
|
-
|
|
12535
|
+
return React41.cloneElement(castedElement, {
|
|
12536
|
+
_remotionInternalRender: (resolvedProps, ref) => {
|
|
12537
|
+
const durationInFramesProp = resolvedProps.durationInFrames;
|
|
12538
|
+
const {
|
|
12539
|
+
durationInFrames: _durationInFrames,
|
|
12540
|
+
children: sequenceChildren,
|
|
12541
|
+
offset: offsetProp,
|
|
12542
|
+
controls,
|
|
12543
|
+
stack,
|
|
12544
|
+
from: _from,
|
|
12545
|
+
name,
|
|
12546
|
+
...passedProps
|
|
12547
|
+
} = resolvedProps;
|
|
12548
|
+
const offset = validateSeriesSequenceProps({
|
|
12549
|
+
durationInFrames: durationInFramesProp,
|
|
12550
|
+
offset: offsetProp,
|
|
12551
|
+
index: i,
|
|
12552
|
+
childrenLength: flattenedChildren.length
|
|
12553
|
+
});
|
|
12554
|
+
const currentStartFrame = startFrame + offset;
|
|
12555
|
+
const nextStartFrame = startFrame + durationInFramesProp + offset;
|
|
12556
|
+
return /* @__PURE__ */ jsxs3(Fragment, {
|
|
12557
|
+
children: [
|
|
12558
|
+
/* @__PURE__ */ jsx37(SequenceWithoutSchemaWithRef, {
|
|
12559
|
+
ref,
|
|
12560
|
+
name: name || "<Series.Sequence>",
|
|
12561
|
+
_remotionInternalDocumentationLink: name ? undefined : "https://www.remotion.dev/docs/series",
|
|
12562
|
+
_remotionInternalStack: stack ?? undefined,
|
|
12563
|
+
controls: controls ?? undefined,
|
|
12564
|
+
from: currentStartFrame,
|
|
12565
|
+
durationInFrames: durationInFramesProp,
|
|
12566
|
+
...passedProps,
|
|
12567
|
+
children: /* @__PURE__ */ jsx37(IsNotInsideSeriesProvider, {
|
|
12568
|
+
children: sequenceChildren
|
|
12569
|
+
})
|
|
12570
|
+
}),
|
|
12571
|
+
renderChildren(i + 1, nextStartFrame)
|
|
12572
|
+
]
|
|
12573
|
+
});
|
|
12574
|
+
}
|
|
12575
|
+
});
|
|
12576
|
+
};
|
|
12577
|
+
return renderChildren(0, 0);
|
|
12463
12578
|
}, [props2.children]);
|
|
12464
12579
|
return /* @__PURE__ */ jsx37(IsInsideSeriesContainer, {
|
|
12465
12580
|
children: /* @__PURE__ */ jsx37(Sequence, {
|
|
@@ -13058,7 +13173,7 @@ addSequenceStackTraces(Composition);
|
|
|
13058
13173
|
addSequenceStackTraces(Folder);
|
|
13059
13174
|
|
|
13060
13175
|
// src/components/team/TeamCards.tsx
|
|
13061
|
-
import { jsx as jsx40, jsxs as
|
|
13176
|
+
import { jsx as jsx40, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
13062
13177
|
var LinkedInLogo = () => {
|
|
13063
13178
|
return /* @__PURE__ */ jsx40("svg", {
|
|
13064
13179
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -13113,14 +13228,14 @@ var TeamMemberCard = ({
|
|
|
13113
13228
|
github,
|
|
13114
13229
|
email
|
|
13115
13230
|
}) => {
|
|
13116
|
-
return /* @__PURE__ */
|
|
13231
|
+
return /* @__PURE__ */ jsxs4("div", {
|
|
13117
13232
|
className: "flex-1 rounded-[15px] flex flex-col md:flex-row gap-2 md:gap-4",
|
|
13118
13233
|
children: [
|
|
13119
13234
|
/* @__PURE__ */ jsx40("img", {
|
|
13120
13235
|
src: image,
|
|
13121
13236
|
className: "w-[250px] h-[250px] rounded-xl border-effect"
|
|
13122
13237
|
}),
|
|
13123
|
-
/* @__PURE__ */
|
|
13238
|
+
/* @__PURE__ */ jsxs4("div", {
|
|
13124
13239
|
className: "flex flex-col border-effect px-4 py-3 bg-pane",
|
|
13125
13240
|
children: [
|
|
13126
13241
|
/* @__PURE__ */ jsx40("h2", {
|
|
@@ -13138,7 +13253,7 @@ var TeamMemberCard = ({
|
|
|
13138
13253
|
/* @__PURE__ */ jsx40("div", {
|
|
13139
13254
|
className: "flex-1"
|
|
13140
13255
|
}),
|
|
13141
|
-
/* @__PURE__ */
|
|
13256
|
+
/* @__PURE__ */ jsxs4("div", {
|
|
13142
13257
|
className: "gap-3 flex flex-row",
|
|
13143
13258
|
children: [
|
|
13144
13259
|
/* @__PURE__ */ jsx40("a", {
|
|
@@ -13173,7 +13288,7 @@ var TeamMemberCard = ({
|
|
|
13173
13288
|
});
|
|
13174
13289
|
};
|
|
13175
13290
|
var TeamCardsLayout = () => {
|
|
13176
|
-
return /* @__PURE__ */
|
|
13291
|
+
return /* @__PURE__ */ jsxs4("div", {
|
|
13177
13292
|
className: "flex flex-col gap-12 md:gap-4",
|
|
13178
13293
|
children: [
|
|
13179
13294
|
/* @__PURE__ */ jsx40(TeamMemberCard, {
|
|
@@ -13241,7 +13356,7 @@ var PersonalWebsite = () => {
|
|
|
13241
13356
|
};
|
|
13242
13357
|
|
|
13243
13358
|
// src/components/experts/ExpertsPage.tsx
|
|
13244
|
-
import { jsx as jsx43, jsxs as
|
|
13359
|
+
import { jsx as jsx43, jsxs as jsxs6, Fragment as Fragment2 } from "react/jsx-runtime";
|
|
13245
13360
|
var arrowIcon = {
|
|
13246
13361
|
height: 16,
|
|
13247
13362
|
marginLeft: 10
|
|
@@ -13272,7 +13387,7 @@ var wrapperStyle = {
|
|
|
13272
13387
|
paddingBottom: 100
|
|
13273
13388
|
};
|
|
13274
13389
|
var ExpertCard = ({ expert, Link }) => {
|
|
13275
|
-
return /* @__PURE__ */
|
|
13390
|
+
return /* @__PURE__ */ jsxs6("div", {
|
|
13276
13391
|
className: "flex-1 rounded-[15px] flex flex-col md:flex-row gap-2 md:gap-4",
|
|
13277
13392
|
children: [
|
|
13278
13393
|
/* @__PURE__ */ jsx43(Link, {
|
|
@@ -13284,7 +13399,7 @@ var ExpertCard = ({ expert, Link }) => {
|
|
|
13284
13399
|
className: "w-[250px] h-[250px] rounded-xl border-effect object-cover"
|
|
13285
13400
|
})
|
|
13286
13401
|
}),
|
|
13287
|
-
/* @__PURE__ */
|
|
13402
|
+
/* @__PURE__ */ jsxs6("div", {
|
|
13288
13403
|
className: "flex flex-col border-effect px-4 py-3 bg-pane flex-1",
|
|
13289
13404
|
children: [
|
|
13290
13405
|
/* @__PURE__ */ jsx43(Link, {
|
|
@@ -13299,10 +13414,10 @@ var ExpertCard = ({ expert, Link }) => {
|
|
|
13299
13414
|
className: "mt-2 mb-3 leading-normal font-brand",
|
|
13300
13415
|
children: expert.description
|
|
13301
13416
|
}),
|
|
13302
|
-
/* @__PURE__ */
|
|
13417
|
+
/* @__PURE__ */ jsxs6("div", {
|
|
13303
13418
|
className: "leading-6 mb-4",
|
|
13304
13419
|
children: [
|
|
13305
|
-
/* @__PURE__ */
|
|
13420
|
+
/* @__PURE__ */ jsxs6(Link, {
|
|
13306
13421
|
className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center",
|
|
13307
13422
|
href: `/experts/${expert.slug}`,
|
|
13308
13423
|
children: [
|
|
@@ -13319,10 +13434,10 @@ var ExpertCard = ({ expert, Link }) => {
|
|
|
13319
13434
|
})
|
|
13320
13435
|
]
|
|
13321
13436
|
}),
|
|
13322
|
-
expert.videocall ? /* @__PURE__ */
|
|
13437
|
+
expert.videocall ? /* @__PURE__ */ jsxs6(Fragment2, {
|
|
13323
13438
|
children: [
|
|
13324
13439
|
/* @__PURE__ */ jsx43("br", {}),
|
|
13325
|
-
/* @__PURE__ */
|
|
13440
|
+
/* @__PURE__ */ jsxs6("a", {
|
|
13326
13441
|
className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center",
|
|
13327
13442
|
target: "_blank",
|
|
13328
13443
|
href: expert.videocall,
|
|
@@ -13347,7 +13462,7 @@ var ExpertCard = ({ expert, Link }) => {
|
|
|
13347
13462
|
/* @__PURE__ */ jsx43("div", {
|
|
13348
13463
|
className: "flex-1"
|
|
13349
13464
|
}),
|
|
13350
|
-
/* @__PURE__ */
|
|
13465
|
+
/* @__PURE__ */ jsxs6("div", {
|
|
13351
13466
|
className: "gap-3 flex flex-row flex-wrap",
|
|
13352
13467
|
children: [
|
|
13353
13468
|
expert.website ? /* @__PURE__ */ jsx43("a", {
|
|
@@ -13403,14 +13518,14 @@ var ExpertsPageContent = ({ Link }) => {
|
|
|
13403
13518
|
}, []);
|
|
13404
13519
|
return /* @__PURE__ */ jsx43("div", {
|
|
13405
13520
|
className: "relative bg-[var(--background)]",
|
|
13406
|
-
children: /* @__PURE__ */
|
|
13521
|
+
children: /* @__PURE__ */ jsxs6("div", {
|
|
13407
13522
|
style: wrapperStyle,
|
|
13408
13523
|
children: [
|
|
13409
13524
|
/* @__PURE__ */ jsx43("h1", {
|
|
13410
13525
|
className: "experts-pagetitle",
|
|
13411
13526
|
children: "Find a Remotion Expert"
|
|
13412
13527
|
}),
|
|
13413
|
-
/* @__PURE__ */
|
|
13528
|
+
/* @__PURE__ */ jsxs6("p", {
|
|
13414
13529
|
className: "experts-tagline",
|
|
13415
13530
|
children: [
|
|
13416
13531
|
"Get help by booking a call or hiring these freelancers to work on your Remotion project.",
|
|
@@ -13428,16 +13543,16 @@ var ExpertsPageContent = ({ Link }) => {
|
|
|
13428
13543
|
})
|
|
13429
13544
|
})
|
|
13430
13545
|
}),
|
|
13431
|
-
/* @__PURE__ */
|
|
13546
|
+
/* @__PURE__ */ jsxs6("div", {
|
|
13432
13547
|
style: infoCard,
|
|
13433
13548
|
children: [
|
|
13434
|
-
/* @__PURE__ */
|
|
13549
|
+
/* @__PURE__ */ jsxs6("svg", {
|
|
13435
13550
|
viewBox: "0 0 661 512",
|
|
13436
13551
|
fill: "none",
|
|
13437
13552
|
xmlns: "http://www.w3.org/2000/svg",
|
|
13438
13553
|
style: cardIcon,
|
|
13439
13554
|
children: [
|
|
13440
|
-
/* @__PURE__ */
|
|
13555
|
+
/* @__PURE__ */ jsxs6("g", {
|
|
13441
13556
|
clipPath: "url(#clip0_1_2)",
|
|
13442
13557
|
children: [
|
|
13443
13558
|
/* @__PURE__ */ jsx43("path", {
|
|
@@ -13462,7 +13577,7 @@ var ExpertsPageContent = ({ Link }) => {
|
|
|
13462
13577
|
})
|
|
13463
13578
|
]
|
|
13464
13579
|
}),
|
|
13465
|
-
/* @__PURE__ */
|
|
13580
|
+
/* @__PURE__ */ jsxs6("div", {
|
|
13466
13581
|
style: { flex: 1 },
|
|
13467
13582
|
children: [
|
|
13468
13583
|
"Remotion Experts are independent freelancers with proven Remotion expertise and portfolios. However,",
|
|
@@ -17609,7 +17724,7 @@ var PathInternals = {
|
|
|
17609
17724
|
// ../shapes/dist/esm/index.mjs
|
|
17610
17725
|
import React3, { useCallback as useCallback26, useMemo as useMemo42, useRef as useRef29 } from "react";
|
|
17611
17726
|
import { version } from "react-dom";
|
|
17612
|
-
import { jsx as jsx44, jsxs as
|
|
17727
|
+
import { jsx as jsx44, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
17613
17728
|
import { jsx as jsx210 } from "react/jsx-runtime";
|
|
17614
17729
|
import { jsx as jsx310 } from "react/jsx-runtime";
|
|
17615
17730
|
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
@@ -17811,7 +17926,7 @@ var RenderSvg = ({
|
|
|
17811
17926
|
const memoizedEffectDefinitions = Internals.useMemoizedEffectDefinitions(effects);
|
|
17812
17927
|
const videoConfig = Internals.useUnsafeVideoConfig();
|
|
17813
17928
|
const reactSupportsTransformOrigin = doesReactSupportTransformOriginProperty(version);
|
|
17814
|
-
const svg = /* @__PURE__ */
|
|
17929
|
+
const svg = /* @__PURE__ */ jsxs7("svg", {
|
|
17815
17930
|
ref: effects.length === 0 || !videoConfig ? setSvgRef : undefined,
|
|
17816
17931
|
width,
|
|
17817
17932
|
height,
|
|
@@ -17837,7 +17952,7 @@ var RenderSvg = ({
|
|
|
17837
17952
|
}
|
|
17838
17953
|
const prevX = prevInstruction.x;
|
|
17839
17954
|
const prevY = prevInstruction.y;
|
|
17840
|
-
return /* @__PURE__ */
|
|
17955
|
+
return /* @__PURE__ */ jsxs7(React3.Fragment, {
|
|
17841
17956
|
children: [
|
|
17842
17957
|
/* @__PURE__ */ jsx44("path", {
|
|
17843
17958
|
d: `M ${prevX} ${prevY} ${i.cp1x} ${i.cp1y}`,
|
|
@@ -20518,8 +20633,8 @@ var extrudeAndTransformElement = (options) => {
|
|
|
20518
20633
|
};
|
|
20519
20634
|
|
|
20520
20635
|
// ../design/dist/esm/index.mjs
|
|
20521
|
-
import { jsx as jsx212, Fragment as
|
|
20522
|
-
import { jsx as jsx312, jsxs as
|
|
20636
|
+
import { jsx as jsx212, Fragment as Fragment32 } from "react/jsx-runtime";
|
|
20637
|
+
import { jsx as jsx312, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
20523
20638
|
import { useEffect as useEffect22, useMemo as useMemo210, useRef as useRef31 } from "react";
|
|
20524
20639
|
import { jsx as jsx47 } from "react/jsx-runtime";
|
|
20525
20640
|
import { jsx as jsx53, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
@@ -20582,7 +20697,7 @@ import { Fragment as Fragment8, jsx as jsx242, jsxs as jsxs42 } from "react/jsx-
|
|
|
20582
20697
|
import { forwardRef as forwardRef142, createElement as createElement7 } from "react";
|
|
20583
20698
|
import { forwardRef as forwardRef132, createElement as createElement6 } from "react";
|
|
20584
20699
|
import * as React372 from "react";
|
|
20585
|
-
import { jsx as jsx252, jsxs as
|
|
20700
|
+
import { jsx as jsx252, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
20586
20701
|
import { jsx as jsx262 } from "react/jsx-runtime";
|
|
20587
20702
|
import * as React49 from "react";
|
|
20588
20703
|
import * as React38 from "react";
|
|
@@ -20595,7 +20710,7 @@ import { jsx as jsx292 } from "react/jsx-runtime";
|
|
|
20595
20710
|
import React210 from "react";
|
|
20596
20711
|
import { jsx as jsx2102 } from "react/jsx-runtime";
|
|
20597
20712
|
import * as React422 from "react";
|
|
20598
|
-
import * as
|
|
20713
|
+
import * as React412 from "react";
|
|
20599
20714
|
import * as React43 from "react";
|
|
20600
20715
|
import * as ReactDOM5 from "react-dom";
|
|
20601
20716
|
import { jsx as jsx302 } from "react/jsx-runtime";
|
|
@@ -20943,7 +21058,7 @@ var useMousePosition = (ref) => {
|
|
|
20943
21058
|
return angle;
|
|
20944
21059
|
};
|
|
20945
21060
|
var Faces = ({ elements, ...svgProps }) => {
|
|
20946
|
-
return /* @__PURE__ */ jsx212(
|
|
21061
|
+
return /* @__PURE__ */ jsx212(Fragment32, {
|
|
20947
21062
|
children: elements.map(({ points, color, crispEdges }, idx) => {
|
|
20948
21063
|
return /* @__PURE__ */ jsx212("path", {
|
|
20949
21064
|
d: threeDIntoSvgPath(points),
|
|
@@ -21002,7 +21117,7 @@ var Outer = ({
|
|
|
21002
21117
|
description: "rect",
|
|
21003
21118
|
transformations: centerOriented
|
|
21004
21119
|
});
|
|
21005
|
-
return /* @__PURE__ */
|
|
21120
|
+
return /* @__PURE__ */ jsxs8("div", {
|
|
21006
21121
|
className: "relative",
|
|
21007
21122
|
style: { width, height },
|
|
21008
21123
|
children: [
|
|
@@ -26006,7 +26121,7 @@ var ChevronDown = createLucideIcon("ChevronDown", [
|
|
|
26006
26121
|
var ChevronUp = createLucideIcon("ChevronUp", [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]]);
|
|
26007
26122
|
var Select2 = Root222;
|
|
26008
26123
|
var SelectValue2 = Value;
|
|
26009
|
-
var SelectTrigger2 = React372.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
26124
|
+
var SelectTrigger2 = React372.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs5(Trigger, {
|
|
26010
26125
|
ref,
|
|
26011
26126
|
className: cn("flex h-10 w-full items-center justify-between rounded-md border-black border-2 border-b-4 bg-card-bg px-3 py-5 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 font-brand", className),
|
|
26012
26127
|
...props,
|
|
@@ -26040,7 +26155,7 @@ var SelectScrollDownButton2 = React372.forwardRef(({ className, ...props }, ref)
|
|
|
26040
26155
|
}));
|
|
26041
26156
|
SelectScrollDownButton2.displayName = ScrollDownButton.displayName;
|
|
26042
26157
|
var SelectContent2 = React372.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx252(Portal2, {
|
|
26043
|
-
children: /* @__PURE__ */
|
|
26158
|
+
children: /* @__PURE__ */ jsxs5(Content2, {
|
|
26044
26159
|
ref,
|
|
26045
26160
|
className: cn(" border-2 border-black relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md font-brand bg-card-bg text-text shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className),
|
|
26046
26161
|
position,
|
|
@@ -26062,7 +26177,7 @@ var SelectLabel2 = React372.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
26062
26177
|
...props
|
|
26063
26178
|
}));
|
|
26064
26179
|
SelectLabel2.displayName = Label.displayName;
|
|
26065
|
-
var SelectItem2 = React372.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
26180
|
+
var SelectItem2 = React372.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs5(Item, {
|
|
26066
26181
|
ref,
|
|
26067
26182
|
className: cn("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-slate-200 dark:focus:bg-white/10 data-disabled:pointer-events-none data-disabled:opacity-50 font-brand", className),
|
|
26068
26183
|
...props,
|
|
@@ -26604,7 +26719,7 @@ function toSafeIndex(array, index2) {
|
|
|
26604
26719
|
function toSafeInteger(number) {
|
|
26605
26720
|
return number !== number || number === 0 ? 0 : Math.trunc(number);
|
|
26606
26721
|
}
|
|
26607
|
-
var useLayoutEffect222 = globalThis?.document ?
|
|
26722
|
+
var useLayoutEffect222 = globalThis?.document ? React412.useLayoutEffect : () => {};
|
|
26608
26723
|
var useReactId2 = React422[" useId ".trim().toString()] || (() => {
|
|
26609
26724
|
return;
|
|
26610
26725
|
});
|
|
@@ -28540,7 +28655,7 @@ function cn2(...inputs) {
|
|
|
28540
28655
|
}
|
|
28541
28656
|
|
|
28542
28657
|
// src/components/homepage/PricingBulletPoint.tsx
|
|
28543
|
-
import { jsx as jsx48, jsxs as
|
|
28658
|
+
import { jsx as jsx48, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
28544
28659
|
var container3 = {
|
|
28545
28660
|
display: "flex",
|
|
28546
28661
|
flexDirection: "row",
|
|
@@ -28554,7 +28669,7 @@ var greyCircle = {
|
|
|
28554
28669
|
backgroundColor: "var(--footer-border)"
|
|
28555
28670
|
};
|
|
28556
28671
|
var PricingBulletPoint = ({ text, checked, children }) => {
|
|
28557
|
-
const checkmarkSVG = /* @__PURE__ */
|
|
28672
|
+
const checkmarkSVG = /* @__PURE__ */ jsxs9("svg", {
|
|
28558
28673
|
width: "20",
|
|
28559
28674
|
height: "20",
|
|
28560
28675
|
viewBox: "0 0 20 20",
|
|
@@ -28576,13 +28691,13 @@ var PricingBulletPoint = ({ text, checked, children }) => {
|
|
|
28576
28691
|
})
|
|
28577
28692
|
]
|
|
28578
28693
|
});
|
|
28579
|
-
return /* @__PURE__ */
|
|
28694
|
+
return /* @__PURE__ */ jsxs9("div", {
|
|
28580
28695
|
style: container3,
|
|
28581
28696
|
children: [
|
|
28582
28697
|
checked ? checkmarkSVG : /* @__PURE__ */ jsx48("div", {
|
|
28583
28698
|
style: greyCircle
|
|
28584
28699
|
}),
|
|
28585
|
-
/* @__PURE__ */
|
|
28700
|
+
/* @__PURE__ */ jsxs9("div", {
|
|
28586
28701
|
className: "fontbrand text-lg\t",
|
|
28587
28702
|
children: [
|
|
28588
28703
|
text,
|
|
@@ -28594,7 +28709,7 @@ var PricingBulletPoint = ({ text, checked, children }) => {
|
|
|
28594
28709
|
};
|
|
28595
28710
|
|
|
28596
28711
|
// src/components/homepage/FreePricing.tsx
|
|
28597
|
-
import { jsx as jsx49, jsxs as
|
|
28712
|
+
import { jsx as jsx49, jsxs as jsxs10, Fragment as Fragment11 } from "react/jsx-runtime";
|
|
28598
28713
|
var Container = ({
|
|
28599
28714
|
children
|
|
28600
28715
|
}) => {
|
|
@@ -28638,7 +28753,7 @@ var icon = {
|
|
|
28638
28753
|
};
|
|
28639
28754
|
var PricingSlider = ({ value, onChange, min: min2, max: max2, step = 1, "aria-label": ariaLabel }) => {
|
|
28640
28755
|
const percentage = (value - min2) / (max2 - min2) * 100;
|
|
28641
|
-
return /* @__PURE__ */
|
|
28756
|
+
return /* @__PURE__ */ jsxs10(Fragment11, {
|
|
28642
28757
|
children: [
|
|
28643
28758
|
/* @__PURE__ */ jsx49("style", {
|
|
28644
28759
|
children: `
|
|
@@ -28695,7 +28810,7 @@ var textUnitWrapper = {
|
|
|
28695
28810
|
flexDirection: "column"
|
|
28696
28811
|
};
|
|
28697
28812
|
var FreePricing = () => {
|
|
28698
|
-
return /* @__PURE__ */
|
|
28813
|
+
return /* @__PURE__ */ jsxs10(Container, {
|
|
28699
28814
|
children: [
|
|
28700
28815
|
/* @__PURE__ */ jsx49(Audience, {
|
|
28701
28816
|
children: "For individuals and companies of up to 3 people"
|
|
@@ -28726,7 +28841,7 @@ var FreePricing = () => {
|
|
|
28726
28841
|
...textUnitWrapper,
|
|
28727
28842
|
alignItems: "flex-end"
|
|
28728
28843
|
},
|
|
28729
|
-
children: /* @__PURE__ */
|
|
28844
|
+
children: /* @__PURE__ */ jsxs10("a", {
|
|
28730
28845
|
target: "_blank",
|
|
28731
28846
|
href: "https://www.remotion.dev/docs",
|
|
28732
28847
|
className: "font-brand text-brand flex flex-row items-center gap-1 no-underline",
|
|
@@ -28750,7 +28865,7 @@ var FreePricing = () => {
|
|
|
28750
28865
|
});
|
|
28751
28866
|
};
|
|
28752
28867
|
var EnterpriseLicense = () => {
|
|
28753
|
-
return /* @__PURE__ */
|
|
28868
|
+
return /* @__PURE__ */ jsxs10(Container, {
|
|
28754
28869
|
children: [
|
|
28755
28870
|
/* @__PURE__ */ jsx49(Audience, {
|
|
28756
28871
|
children: "For advanced needs"
|
|
@@ -28783,7 +28898,7 @@ var EnterpriseLicense = () => {
|
|
|
28783
28898
|
checked: true
|
|
28784
28899
|
}),
|
|
28785
28900
|
/* @__PURE__ */ jsx49(PricingBulletPoint, {
|
|
28786
|
-
text: /* @__PURE__ */
|
|
28901
|
+
text: /* @__PURE__ */ jsxs10("span", {
|
|
28787
28902
|
children: [
|
|
28788
28903
|
/* @__PURE__ */ jsx49("a", {
|
|
28789
28904
|
href: "https://www.remotion.dev/editor-starter",
|
|
@@ -28801,7 +28916,7 @@ var EnterpriseLicense = () => {
|
|
|
28801
28916
|
}),
|
|
28802
28917
|
/* @__PURE__ */ jsx49("div", {
|
|
28803
28918
|
className: "flex flex-row justify-end",
|
|
28804
|
-
children: /* @__PURE__ */
|
|
28919
|
+
children: /* @__PURE__ */ jsxs10("div", {
|
|
28805
28920
|
style: {
|
|
28806
28921
|
...textUnitWrapper,
|
|
28807
28922
|
alignItems: "flex-end"
|
|
@@ -28828,7 +28943,7 @@ var EnterpriseLicense = () => {
|
|
|
28828
28943
|
var SEAT_PRICE = 25;
|
|
28829
28944
|
var RENDER_UNIT_PRICE = 10;
|
|
28830
28945
|
var SectionCheckbox = ({ checked, onChange, title, subtitle, children }) => {
|
|
28831
|
-
return /* @__PURE__ */
|
|
28946
|
+
return /* @__PURE__ */ jsxs10("div", {
|
|
28832
28947
|
className: "flex flex-row gap-3 cursor-pointer select-none items-center",
|
|
28833
28948
|
onClick: () => onChange(!checked),
|
|
28834
28949
|
children: [
|
|
@@ -28837,10 +28952,10 @@ var SectionCheckbox = ({ checked, onChange, title, subtitle, children }) => {
|
|
|
28837
28952
|
onToggle: () => onChange(!checked),
|
|
28838
28953
|
"aria-label": title
|
|
28839
28954
|
}),
|
|
28840
|
-
/* @__PURE__ */
|
|
28955
|
+
/* @__PURE__ */ jsxs10("div", {
|
|
28841
28956
|
className: "flex flex-col",
|
|
28842
28957
|
children: [
|
|
28843
|
-
/* @__PURE__ */
|
|
28958
|
+
/* @__PURE__ */ jsxs10("div", {
|
|
28844
28959
|
className: "fontbrand font-bold text-lg flex flex-row items-center gap-1",
|
|
28845
28960
|
children: [
|
|
28846
28961
|
title,
|
|
@@ -28890,7 +29005,7 @@ var CompanyPricing = () => {
|
|
|
28890
29005
|
}, [formatPrice, totalPrice]);
|
|
28891
29006
|
const showMinimumMessage = automatorsSelected && creatorsPrice + automatorsPrice < 100;
|
|
28892
29007
|
const showEnterpriseMessage = totalPrice >= 500;
|
|
28893
|
-
return /* @__PURE__ */
|
|
29008
|
+
return /* @__PURE__ */ jsxs10(Container, {
|
|
28894
29009
|
children: [
|
|
28895
29010
|
/* @__PURE__ */ jsx49(Audience, {
|
|
28896
29011
|
children: "For collaborations and companies of 4+ people"
|
|
@@ -28933,14 +29048,14 @@ var CompanyPricing = () => {
|
|
|
28933
29048
|
transition: automatorsSelected ? "grid-template-rows 150ms ease-out, opacity 150ms ease-out 75ms" : "opacity 150ms ease-out, grid-template-rows 150ms ease-out 75ms"
|
|
28934
29049
|
},
|
|
28935
29050
|
inert: !automatorsSelected,
|
|
28936
|
-
children: /* @__PURE__ */
|
|
29051
|
+
children: /* @__PURE__ */ jsxs10("div", {
|
|
28937
29052
|
className: "overflow-hidden",
|
|
28938
29053
|
children: [
|
|
28939
29054
|
/* @__PURE__ */ jsx49("p", {
|
|
28940
29055
|
className: "text-sm text-muted fontbrand pt-3 pb-1",
|
|
28941
29056
|
children: "Intended for companies launching applications and systems; such as video editors, prompt-to-video apps, embedding the Remotion Player, or any other automated video creation. A $100/mo Minimum Spend applies. Developers working on automation projects do not require a Seat."
|
|
28942
29057
|
}),
|
|
28943
|
-
/* @__PURE__ */
|
|
29058
|
+
/* @__PURE__ */ jsxs10("div", {
|
|
28944
29059
|
className: "flex flex-row items-center gap-3 sm:gap-4 w-full pt-3 pb-1",
|
|
28945
29060
|
children: [
|
|
28946
29061
|
/* @__PURE__ */ jsx49("div", {
|
|
@@ -28954,14 +29069,14 @@ var CompanyPricing = () => {
|
|
|
28954
29069
|
"aria-label": "Number of renders"
|
|
28955
29070
|
})
|
|
28956
29071
|
}),
|
|
28957
|
-
/* @__PURE__ */
|
|
29072
|
+
/* @__PURE__ */ jsxs10("div", {
|
|
28958
29073
|
className: "fontbrand shrink-0 whitespace-nowrap w-[135px] sm:w-[150px] text-right tabular-nums",
|
|
28959
29074
|
children: [
|
|
28960
29075
|
new Intl.NumberFormat("en-US").format(cloudRenders),
|
|
28961
29076
|
" Renders"
|
|
28962
29077
|
]
|
|
28963
29078
|
}),
|
|
28964
|
-
/* @__PURE__ */
|
|
29079
|
+
/* @__PURE__ */ jsxs10("div", {
|
|
28965
29080
|
className: "fontbrand font-bold min-w-[60px] text-right shrink-0 whitespace-nowrap tabular-nums",
|
|
28966
29081
|
children: [
|
|
28967
29082
|
"$",
|
|
@@ -28990,14 +29105,14 @@ var CompanyPricing = () => {
|
|
|
28990
29105
|
transition: creatorsSelected ? "grid-template-rows 150ms ease-out, opacity 150ms ease-out 75ms" : "opacity 150ms ease-out, grid-template-rows 150ms ease-out 75ms"
|
|
28991
29106
|
},
|
|
28992
29107
|
inert: !creatorsSelected,
|
|
28993
|
-
children: /* @__PURE__ */
|
|
29108
|
+
children: /* @__PURE__ */ jsxs10("div", {
|
|
28994
29109
|
className: "overflow-hidden",
|
|
28995
29110
|
children: [
|
|
28996
29111
|
/* @__PURE__ */ jsx49("p", {
|
|
28997
29112
|
className: "text-sm text-muted fontbrand pt-3 pb-1",
|
|
28998
29113
|
children: "Intended for low volume video creations through coding and prompting, and building motion design systems in a local environment. Get 1 Seat per user."
|
|
28999
29114
|
}),
|
|
29000
|
-
/* @__PURE__ */
|
|
29115
|
+
/* @__PURE__ */ jsxs10("div", {
|
|
29001
29116
|
className: "flex flex-row items-center gap-3 sm:gap-4 w-full pt-3 pb-1",
|
|
29002
29117
|
children: [
|
|
29003
29118
|
/* @__PURE__ */ jsx49("div", {
|
|
@@ -29010,7 +29125,7 @@ var CompanyPricing = () => {
|
|
|
29010
29125
|
"aria-label": "Number of seats"
|
|
29011
29126
|
})
|
|
29012
29127
|
}),
|
|
29013
|
-
/* @__PURE__ */
|
|
29128
|
+
/* @__PURE__ */ jsxs10("div", {
|
|
29014
29129
|
className: "fontbrand shrink-0 whitespace-nowrap w-[135px] sm:w-[150px] text-center tabular-nums",
|
|
29015
29130
|
children: [
|
|
29016
29131
|
devSeatCount,
|
|
@@ -29018,7 +29133,7 @@ var CompanyPricing = () => {
|
|
|
29018
29133
|
devSeatCount === 1 ? "Seat" : "Seats"
|
|
29019
29134
|
]
|
|
29020
29135
|
}),
|
|
29021
|
-
/* @__PURE__ */
|
|
29136
|
+
/* @__PURE__ */ jsxs10("div", {
|
|
29022
29137
|
className: "fontbrand font-bold min-w-[60px] text-right shrink-0 whitespace-nowrap tabular-nums",
|
|
29023
29138
|
children: [
|
|
29024
29139
|
"$",
|
|
@@ -29035,14 +29150,14 @@ var CompanyPricing = () => {
|
|
|
29035
29150
|
/* @__PURE__ */ jsx49("div", {
|
|
29036
29151
|
style: { height: 14 }
|
|
29037
29152
|
}),
|
|
29038
|
-
/* @__PURE__ */
|
|
29153
|
+
/* @__PURE__ */ jsxs10("div", {
|
|
29039
29154
|
className: "flex flex-row items-baseline justify-end gap-2",
|
|
29040
29155
|
children: [
|
|
29041
29156
|
/* @__PURE__ */ jsx49("div", {
|
|
29042
29157
|
className: "fontbrand text-muted text-sm",
|
|
29043
29158
|
children: "Total"
|
|
29044
29159
|
}),
|
|
29045
|
-
/* @__PURE__ */
|
|
29160
|
+
/* @__PURE__ */ jsxs10(PriceTag, {
|
|
29046
29161
|
children: [
|
|
29047
29162
|
totalPriceString,
|
|
29048
29163
|
"/month"
|
|
@@ -29050,7 +29165,7 @@ var CompanyPricing = () => {
|
|
|
29050
29165
|
})
|
|
29051
29166
|
]
|
|
29052
29167
|
}),
|
|
29053
|
-
/* @__PURE__ */
|
|
29168
|
+
/* @__PURE__ */ jsxs10("div", {
|
|
29054
29169
|
className: "flex flex-col items-end",
|
|
29055
29170
|
children: [
|
|
29056
29171
|
/* @__PURE__ */ jsx49(BottomInfo, {
|
|
@@ -29058,7 +29173,7 @@ var CompanyPricing = () => {
|
|
|
29058
29173
|
className: "opacity-0 data-[visible=true]:opacity-100 transition-opacity mt-1",
|
|
29059
29174
|
children: "The minimum is $100 per month for Remotion for Automators"
|
|
29060
29175
|
}),
|
|
29061
|
-
/* @__PURE__ */
|
|
29176
|
+
/* @__PURE__ */ jsxs10(BottomInfo, {
|
|
29062
29177
|
"data-visible": showEnterpriseMessage,
|
|
29063
29178
|
className: "opacity-0 data-[visible=true]:opacity-100 transition-opacity mt-1",
|
|
29064
29179
|
children: [
|
|
@@ -29084,7 +29199,7 @@ var CompanyPricing = () => {
|
|
|
29084
29199
|
...textUnitWrapper,
|
|
29085
29200
|
alignItems: "flex-end"
|
|
29086
29201
|
},
|
|
29087
|
-
children: /* @__PURE__ */
|
|
29202
|
+
children: /* @__PURE__ */ jsxs10("a", {
|
|
29088
29203
|
href: "https://remotion.pro/dashboard",
|
|
29089
29204
|
className: "font-brand text-brand flex flex-row items-center gap-1 no-underline",
|
|
29090
29205
|
children: [
|
|
@@ -29108,12 +29223,12 @@ var CompanyPricing = () => {
|
|
|
29108
29223
|
};
|
|
29109
29224
|
|
|
29110
29225
|
// src/components/homepage/Pricing.tsx
|
|
29111
|
-
import { jsx as jsx50, jsxs as
|
|
29226
|
+
import { jsx as jsx50, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
29112
29227
|
var Pricing = ({
|
|
29113
29228
|
faqHref = "/docs/license/faq",
|
|
29114
29229
|
faqLabel = "License FAQ",
|
|
29115
29230
|
licenseHref = "https://github.com/remotion-dev/remotion/blob/main/LICENSE.md",
|
|
29116
|
-
termsHref = "
|
|
29231
|
+
termsHref = "/docs/license/terms"
|
|
29117
29232
|
}) => {
|
|
29118
29233
|
const faqLinkTarget = useMemo53(() => {
|
|
29119
29234
|
return faqHref.startsWith("http") ? "_blank" : undefined;
|
|
@@ -29124,7 +29239,7 @@ var Pricing = ({
|
|
|
29124
29239
|
const termsLinkTarget = useMemo53(() => {
|
|
29125
29240
|
return termsHref.startsWith("http") ? "_blank" : undefined;
|
|
29126
29241
|
}, [termsHref]);
|
|
29127
|
-
return /* @__PURE__ */
|
|
29242
|
+
return /* @__PURE__ */ jsxs11("div", {
|
|
29128
29243
|
style: {
|
|
29129
29244
|
display: "flex",
|
|
29130
29245
|
flexDirection: "column",
|
|
@@ -29140,7 +29255,7 @@ var Pricing = ({
|
|
|
29140
29255
|
justifyContent: "center",
|
|
29141
29256
|
display: "flex"
|
|
29142
29257
|
},
|
|
29143
|
-
children: /* @__PURE__ */
|
|
29258
|
+
children: /* @__PURE__ */ jsxs11("div", {
|
|
29144
29259
|
style: {
|
|
29145
29260
|
fontFamily: "GTPlanar"
|
|
29146
29261
|
},
|
|
@@ -29191,7 +29306,7 @@ var SectionTitle = ({
|
|
|
29191
29306
|
};
|
|
29192
29307
|
|
|
29193
29308
|
// src/components/homepage/AutomationsSection.tsx
|
|
29194
|
-
import { jsx as jsx54, jsxs as
|
|
29309
|
+
import { jsx as jsx54, jsxs as jsxs12, Fragment as Fragment12 } from "react/jsx-runtime";
|
|
29195
29310
|
var appPipeline = [
|
|
29196
29311
|
{
|
|
29197
29312
|
step: "01",
|
|
@@ -29212,7 +29327,7 @@ var appPipeline = [
|
|
|
29212
29327
|
{
|
|
29213
29328
|
step: "03",
|
|
29214
29329
|
title: "Preview and render",
|
|
29215
|
-
description: /* @__PURE__ */
|
|
29330
|
+
description: /* @__PURE__ */ jsxs12(Fragment12, {
|
|
29216
29331
|
children: [
|
|
29217
29332
|
"Use the",
|
|
29218
29333
|
" ",
|
|
@@ -29263,7 +29378,7 @@ var Arrow3 = () => /* @__PURE__ */ jsx54("svg", {
|
|
|
29263
29378
|
})
|
|
29264
29379
|
});
|
|
29265
29380
|
var InlineLink = ({ href, children }) => {
|
|
29266
|
-
return /* @__PURE__ */
|
|
29381
|
+
return /* @__PURE__ */ jsxs12("a", {
|
|
29267
29382
|
href,
|
|
29268
29383
|
className: "mt-3 inline-flex flex-row items-center font-brand text-base font-semibold text-text no-underline sm:text-sm",
|
|
29269
29384
|
children: [
|
|
@@ -29277,10 +29392,10 @@ var StudioIllustration = () => {
|
|
|
29277
29392
|
return /* @__PURE__ */ jsx54("div", {
|
|
29278
29393
|
className: illustrationFrame,
|
|
29279
29394
|
"aria-hidden": "true",
|
|
29280
|
-
children: /* @__PURE__ */
|
|
29395
|
+
children: /* @__PURE__ */ jsxs12("div", {
|
|
29281
29396
|
className: "relative w-full max-w-[220px] rounded-md bg-pane px-4 py-6 fontbrand",
|
|
29282
29397
|
children: [
|
|
29283
|
-
/* @__PURE__ */
|
|
29398
|
+
/* @__PURE__ */ jsxs12("div", {
|
|
29284
29399
|
className: "absolute bottom-5 left-1/2 top-3 flex -translate-x-1/2 flex-col items-center",
|
|
29285
29400
|
children: [
|
|
29286
29401
|
/* @__PURE__ */ jsx54("div", {
|
|
@@ -29291,10 +29406,10 @@ var StudioIllustration = () => {
|
|
|
29291
29406
|
})
|
|
29292
29407
|
]
|
|
29293
29408
|
}),
|
|
29294
|
-
/* @__PURE__ */
|
|
29409
|
+
/* @__PURE__ */ jsxs12("div", {
|
|
29295
29410
|
className: "space-y-4",
|
|
29296
29411
|
children: [
|
|
29297
|
-
/* @__PURE__ */
|
|
29412
|
+
/* @__PURE__ */ jsxs12("div", {
|
|
29298
29413
|
className: "grid grid-cols-[28px_1fr] items-center gap-3",
|
|
29299
29414
|
children: [
|
|
29300
29415
|
/* @__PURE__ */ jsx54("div", {
|
|
@@ -29305,7 +29420,7 @@ var StudioIllustration = () => {
|
|
|
29305
29420
|
})
|
|
29306
29421
|
]
|
|
29307
29422
|
}),
|
|
29308
|
-
/* @__PURE__ */
|
|
29423
|
+
/* @__PURE__ */ jsxs12("div", {
|
|
29309
29424
|
className: "grid grid-cols-[28px_1fr] items-center gap-3",
|
|
29310
29425
|
children: [
|
|
29311
29426
|
/* @__PURE__ */ jsx54("div", {
|
|
@@ -29316,7 +29431,7 @@ var StudioIllustration = () => {
|
|
|
29316
29431
|
})
|
|
29317
29432
|
]
|
|
29318
29433
|
}),
|
|
29319
|
-
/* @__PURE__ */
|
|
29434
|
+
/* @__PURE__ */ jsxs12("div", {
|
|
29320
29435
|
className: "grid grid-cols-[28px_1fr] items-center gap-3",
|
|
29321
29436
|
children: [
|
|
29322
29437
|
/* @__PURE__ */ jsx54("div", {
|
|
@@ -29337,7 +29452,7 @@ var PropsIllustration = () => {
|
|
|
29337
29452
|
return /* @__PURE__ */ jsx54("div", {
|
|
29338
29453
|
className: illustrationFrame,
|
|
29339
29454
|
"aria-hidden": "true",
|
|
29340
|
-
children: /* @__PURE__ */
|
|
29455
|
+
children: /* @__PURE__ */ jsxs12("div", {
|
|
29341
29456
|
className: "flex h-[124px] w-full max-w-[240px] flex-col justify-center whitespace-nowrap rounded-md bg-pane p-4 text-left font-mono text-base leading-6 text-text sm:text-sm sm:leading-5",
|
|
29342
29457
|
children: [
|
|
29343
29458
|
/* @__PURE__ */ jsx54("div", {
|
|
@@ -29368,12 +29483,12 @@ var PreviewIllustration = () => {
|
|
|
29368
29483
|
return /* @__PURE__ */ jsx54("div", {
|
|
29369
29484
|
className: illustrationFrame,
|
|
29370
29485
|
"aria-hidden": "true",
|
|
29371
|
-
children: /* @__PURE__ */
|
|
29486
|
+
children: /* @__PURE__ */ jsxs12("div", {
|
|
29372
29487
|
className: "w-full max-w-[240px] rounded-md border border-solid border-muted bg-card-bg p-2 fontbrand",
|
|
29373
29488
|
children: [
|
|
29374
29489
|
/* @__PURE__ */ jsx54("div", {
|
|
29375
29490
|
className: "relative flex h-[92px] items-center justify-center rounded-sm border border-solid border-muted bg-pane text-brand",
|
|
29376
|
-
children: /* @__PURE__ */
|
|
29491
|
+
children: /* @__PURE__ */ jsxs12("svg", {
|
|
29377
29492
|
className: "h-14 w-14 text-brand",
|
|
29378
29493
|
viewBox: "-11.5 -10.23174 23 20.46348",
|
|
29379
29494
|
fill: "none",
|
|
@@ -29413,7 +29528,7 @@ var PreviewIllustration = () => {
|
|
|
29413
29528
|
]
|
|
29414
29529
|
})
|
|
29415
29530
|
}),
|
|
29416
|
-
/* @__PURE__ */
|
|
29531
|
+
/* @__PURE__ */ jsxs12("div", {
|
|
29417
29532
|
className: "mt-2 flex items-center gap-2",
|
|
29418
29533
|
children: [
|
|
29419
29534
|
/* @__PURE__ */ jsx54("div", {
|
|
@@ -29462,7 +29577,7 @@ var PipelineIllustration = ({ kind }) => {
|
|
|
29462
29577
|
return /* @__PURE__ */ jsx54(RenderIllustration, {});
|
|
29463
29578
|
};
|
|
29464
29579
|
var AutomationsSection = () => {
|
|
29465
|
-
return /* @__PURE__ */
|
|
29580
|
+
return /* @__PURE__ */ jsxs12("div", {
|
|
29466
29581
|
children: [
|
|
29467
29582
|
/* @__PURE__ */ jsx54(SectionTitle, {
|
|
29468
29583
|
children: "Create video apps and automations"
|
|
@@ -29475,13 +29590,13 @@ var AutomationsSection = () => {
|
|
|
29475
29590
|
className: "py-4",
|
|
29476
29591
|
children: /* @__PURE__ */ jsx54("dl", {
|
|
29477
29592
|
className: "grid grid-cols-1 justify-items-stretch gap-5 lg:grid-cols-3 lg:justify-items-center lg:gap-0",
|
|
29478
|
-
children: appPipeline.map((item) => /* @__PURE__ */
|
|
29593
|
+
children: appPipeline.map((item) => /* @__PURE__ */ jsxs12("div", {
|
|
29479
29594
|
className: "flex w-full flex-col rounded-lg border border-solid border-text/10 bg-card-bg px-4 py-5 text-left sm:px-5 lg:max-w-[300px] lg:rounded-none lg:border-y-0 lg:border-r-0 lg:border-l lg:bg-transparent lg:px-6 lg:py-0 lg:first:border-l-0",
|
|
29480
29595
|
children: [
|
|
29481
29596
|
/* @__PURE__ */ jsx54(PipelineIllustration, {
|
|
29482
29597
|
kind: item.illustration
|
|
29483
29598
|
}),
|
|
29484
|
-
/* @__PURE__ */
|
|
29599
|
+
/* @__PURE__ */ jsxs12("div", {
|
|
29485
29600
|
className: "mb-2 flex items-center gap-2.5",
|
|
29486
29601
|
children: [
|
|
29487
29602
|
/* @__PURE__ */ jsx54("div", {
|
|
@@ -29506,7 +29621,7 @@ var AutomationsSection = () => {
|
|
|
29506
29621
|
}, item.step))
|
|
29507
29622
|
})
|
|
29508
29623
|
}),
|
|
29509
|
-
/* @__PURE__ */
|
|
29624
|
+
/* @__PURE__ */ jsxs12("div", {
|
|
29510
29625
|
className: "mt-8 flex flex-wrap justify-center gap-x-5 gap-y-2 fontbrand text-base text-muted sm:text-sm",
|
|
29511
29626
|
children: [
|
|
29512
29627
|
/* @__PURE__ */ jsx54("span", {
|
|
@@ -29527,7 +29642,7 @@ var AutomationsSection_default = AutomationsSection;
|
|
|
29527
29642
|
|
|
29528
29643
|
// src/components/homepage/BackgroundAnimation.tsx
|
|
29529
29644
|
import { useEffect as useEffect40 } from "react";
|
|
29530
|
-
import { jsx as jsx56, jsxs as
|
|
29645
|
+
import { jsx as jsx56, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
29531
29646
|
"use client";
|
|
29532
29647
|
var rx = 0.2;
|
|
29533
29648
|
var ry = 0.45;
|
|
@@ -29559,7 +29674,7 @@ var BackgroundAnimation = () => {
|
|
|
29559
29674
|
}, [css]);
|
|
29560
29675
|
return /* @__PURE__ */ jsx56("div", {
|
|
29561
29676
|
className: " w-full h-full min-w-0 m-auto lg:relative lg:min-w-[700px] lg:max-w-[1200px] lg:ml-auto lg:left-auto pointer-events-none",
|
|
29562
|
-
children: /* @__PURE__ */
|
|
29677
|
+
children: /* @__PURE__ */ jsxs13("svg", {
|
|
29563
29678
|
className: "translate-y-[-30%] lg:translate-y-[-50%]",
|
|
29564
29679
|
viewBox: "0 0 1 1",
|
|
29565
29680
|
style: {
|
|
@@ -29614,7 +29729,7 @@ var BackgroundAnimation = () => {
|
|
|
29614
29729
|
};
|
|
29615
29730
|
|
|
29616
29731
|
// src/components/homepage/CommunityStatsItems.tsx
|
|
29617
|
-
import { jsx as jsx57, jsxs as
|
|
29732
|
+
import { jsx as jsx57, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
29618
29733
|
var StatItemContent = ({
|
|
29619
29734
|
content,
|
|
29620
29735
|
width,
|
|
@@ -29647,10 +29762,10 @@ var Pill = ({ children, className }) => {
|
|
|
29647
29762
|
});
|
|
29648
29763
|
};
|
|
29649
29764
|
var InstallsPerMonth = () => {
|
|
29650
|
-
return /* @__PURE__ */
|
|
29765
|
+
return /* @__PURE__ */ jsxs14(Pill, {
|
|
29651
29766
|
className: "w-[30%] flex-col",
|
|
29652
29767
|
children: [
|
|
29653
|
-
/* @__PURE__ */
|
|
29768
|
+
/* @__PURE__ */ jsxs14("div", {
|
|
29654
29769
|
style: {
|
|
29655
29770
|
display: "flex",
|
|
29656
29771
|
alignItems: "center",
|
|
@@ -29658,7 +29773,7 @@ var InstallsPerMonth = () => {
|
|
|
29658
29773
|
},
|
|
29659
29774
|
children: [
|
|
29660
29775
|
/* @__PURE__ */ jsx57(StatItemContent, {
|
|
29661
|
-
content: "
|
|
29776
|
+
content: "5M+",
|
|
29662
29777
|
width: "100px",
|
|
29663
29778
|
fontSize: "2.5rem",
|
|
29664
29779
|
fontWeight: "bold"
|
|
@@ -29689,10 +29804,10 @@ var InstallsPerMonth = () => {
|
|
|
29689
29804
|
});
|
|
29690
29805
|
};
|
|
29691
29806
|
var PagesOfDocs = () => {
|
|
29692
|
-
return /* @__PURE__ */
|
|
29807
|
+
return /* @__PURE__ */ jsxs14(Pill, {
|
|
29693
29808
|
className: "flex-col",
|
|
29694
29809
|
children: [
|
|
29695
|
-
/* @__PURE__ */
|
|
29810
|
+
/* @__PURE__ */ jsxs14("div", {
|
|
29696
29811
|
style: { display: "flex", alignItems: "center", gap: 8 },
|
|
29697
29812
|
children: [
|
|
29698
29813
|
/* @__PURE__ */ jsx57(StatItemContent, {
|
|
@@ -29726,7 +29841,7 @@ var PagesOfDocs = () => {
|
|
|
29726
29841
|
]
|
|
29727
29842
|
});
|
|
29728
29843
|
};
|
|
29729
|
-
var TemplatesAndExamples = () => /* @__PURE__ */
|
|
29844
|
+
var TemplatesAndExamples = () => /* @__PURE__ */ jsxs14(Pill, {
|
|
29730
29845
|
className: "w-[30%] flex items-center flex-row",
|
|
29731
29846
|
children: [
|
|
29732
29847
|
/* @__PURE__ */ jsx57(StatItemContent, {
|
|
@@ -29744,10 +29859,10 @@ var TemplatesAndExamples = () => /* @__PURE__ */ jsxs12(Pill, {
|
|
|
29744
29859
|
]
|
|
29745
29860
|
});
|
|
29746
29861
|
var GitHubStars = () => {
|
|
29747
|
-
return /* @__PURE__ */
|
|
29862
|
+
return /* @__PURE__ */ jsxs14(Pill, {
|
|
29748
29863
|
className: "w-[30%] flex-col",
|
|
29749
29864
|
children: [
|
|
29750
|
-
/* @__PURE__ */
|
|
29865
|
+
/* @__PURE__ */ jsxs14("div", {
|
|
29751
29866
|
style: { display: "flex", alignItems: "center" },
|
|
29752
29867
|
children: [
|
|
29753
29868
|
/* @__PURE__ */ jsx57(StatItemContent, {
|
|
@@ -29784,7 +29899,7 @@ var GitHubStars = () => {
|
|
|
29784
29899
|
var DiscordMembers = () => {
|
|
29785
29900
|
return /* @__PURE__ */ jsx57(Pill, {
|
|
29786
29901
|
className: "w-[30%]",
|
|
29787
|
-
children: /* @__PURE__ */
|
|
29902
|
+
children: /* @__PURE__ */ jsxs14("div", {
|
|
29788
29903
|
style: {
|
|
29789
29904
|
width: "80%",
|
|
29790
29905
|
display: "flex",
|
|
@@ -29792,7 +29907,7 @@ var DiscordMembers = () => {
|
|
|
29792
29907
|
justifyContent: "center"
|
|
29793
29908
|
},
|
|
29794
29909
|
children: [
|
|
29795
|
-
/* @__PURE__ */
|
|
29910
|
+
/* @__PURE__ */ jsxs14("div", {
|
|
29796
29911
|
style: {
|
|
29797
29912
|
display: "flex",
|
|
29798
29913
|
flexDirection: "column",
|
|
@@ -29841,7 +29956,7 @@ var DiscordMembers = () => {
|
|
|
29841
29956
|
var Contributors = () => {
|
|
29842
29957
|
return /* @__PURE__ */ jsx57(Pill, {
|
|
29843
29958
|
className: "w-[30%]",
|
|
29844
|
-
children: /* @__PURE__ */
|
|
29959
|
+
children: /* @__PURE__ */ jsxs14("div", {
|
|
29845
29960
|
style: { display: "flex", justifyContent: "center" },
|
|
29846
29961
|
children: [
|
|
29847
29962
|
/* @__PURE__ */ jsx57("div", {
|
|
@@ -29861,7 +29976,7 @@ var Contributors = () => {
|
|
|
29861
29976
|
width: "65px"
|
|
29862
29977
|
})
|
|
29863
29978
|
}),
|
|
29864
|
-
/* @__PURE__ */
|
|
29979
|
+
/* @__PURE__ */ jsxs14("div", {
|
|
29865
29980
|
style: {
|
|
29866
29981
|
display: "flex",
|
|
29867
29982
|
flexDirection: "column",
|
|
@@ -29889,14 +30004,14 @@ var Contributors = () => {
|
|
|
29889
30004
|
};
|
|
29890
30005
|
|
|
29891
30006
|
// src/components/homepage/CommunityStats.tsx
|
|
29892
|
-
import { jsx as jsx58, jsxs as
|
|
30007
|
+
import { jsx as jsx58, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
29893
30008
|
var SectionLink = ({ href, children }) => /* @__PURE__ */ jsx58("a", {
|
|
29894
30009
|
target: "_blank",
|
|
29895
30010
|
href,
|
|
29896
30011
|
className: "no-underline text-inherit contents",
|
|
29897
30012
|
children
|
|
29898
30013
|
});
|
|
29899
|
-
var CommunityStats = () => /* @__PURE__ */
|
|
30014
|
+
var CommunityStats = () => /* @__PURE__ */ jsxs15("div", {
|
|
29900
30015
|
className: "m-auto max-w-[700px] text-center",
|
|
29901
30016
|
children: [
|
|
29902
30017
|
/* @__PURE__ */ jsx58(SectionTitle, {
|
|
@@ -29906,7 +30021,7 @@ var CommunityStats = () => /* @__PURE__ */ jsxs13("div", {
|
|
|
29906
30021
|
className: "fontbrand text-center mb-10 -mt-4",
|
|
29907
30022
|
children: "Join a thriving community of developers."
|
|
29908
30023
|
}),
|
|
29909
|
-
/* @__PURE__ */
|
|
30024
|
+
/* @__PURE__ */ jsxs15("div", {
|
|
29910
30025
|
className: "flex flex-wrap justify-between gap-4 w-full items-center",
|
|
29911
30026
|
children: [
|
|
29912
30027
|
/* @__PURE__ */ jsx58(SectionLink, {
|
|
@@ -29941,8 +30056,8 @@ var CommunityStats_default = CommunityStats;
|
|
|
29941
30056
|
|
|
29942
30057
|
// ../player/dist/esm/index.mjs
|
|
29943
30058
|
import { createContext as createContext32 } from "react";
|
|
29944
|
-
import { jsx as jsx59, jsxs as
|
|
29945
|
-
import { jsx as jsx214, jsxs as jsxs24, Fragment as
|
|
30059
|
+
import { jsx as jsx59, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
30060
|
+
import { jsx as jsx214, jsxs as jsxs24, Fragment as Fragment13 } from "react/jsx-runtime";
|
|
29946
30061
|
import React57 from "react";
|
|
29947
30062
|
import { useContext as useContext210, useEffect as useEffect41, useState as useState40 } from "react";
|
|
29948
30063
|
import { useContext as useContext46, useLayoutEffect as useLayoutEffect18 } from "react";
|
|
@@ -29986,7 +30101,7 @@ import { jsx as jsx74, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
|
29986
30101
|
import { jsx as jsx84, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
29987
30102
|
import { useCallback as useCallback52, useEffect as useEffect92, useMemo as useMemo55, useState as useState82 } from "react";
|
|
29988
30103
|
import { useEffect as useEffect83, useRef as useRef62, useState as useState72 } from "react";
|
|
29989
|
-
import { jsx as jsx94, jsxs as
|
|
30104
|
+
import { jsx as jsx94, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
29990
30105
|
import { useCallback as useCallback62, useEffect as useEffect102, useMemo as useMemo62, useRef as useRef72, useState as useState92 } from "react";
|
|
29991
30106
|
import { jsx as jsx104, jsxs as jsxs62 } from "react/jsx-runtime";
|
|
29992
30107
|
import { useMemo as useMemo72 } from "react";
|
|
@@ -29995,7 +30110,7 @@ import { useMemo as useMemo82 } from "react";
|
|
|
29995
30110
|
import { jsx as jsx114, jsxs as jsxs82, Fragment as Fragment23 } from "react/jsx-runtime";
|
|
29996
30111
|
import { useCallback as useCallback92, useMemo as useMemo112 } from "react";
|
|
29997
30112
|
import { useCallback as useCallback82, useMemo as useMemo102, useRef as useRef92 } from "react";
|
|
29998
|
-
import { jsx as jsx124, jsxs as jsxs92, Fragment as
|
|
30113
|
+
import { jsx as jsx124, jsxs as jsxs92, Fragment as Fragment33 } from "react/jsx-runtime";
|
|
29999
30114
|
import { useCallback as useCallback112, useMemo as useMemo132, useRef as useRef112, useState as useState122 } from "react";
|
|
30000
30115
|
import { jsx as jsx133 } from "react/jsx-runtime";
|
|
30001
30116
|
|
|
@@ -31542,7 +31657,7 @@ var PlayIcon = () => {
|
|
|
31542
31657
|
});
|
|
31543
31658
|
};
|
|
31544
31659
|
var PauseIcon = () => {
|
|
31545
|
-
return /* @__PURE__ */
|
|
31660
|
+
return /* @__PURE__ */ jsxs16("svg", {
|
|
31546
31661
|
viewBox: "0 0 100 100",
|
|
31547
31662
|
width: ICON_SIZE2,
|
|
31548
31663
|
height: ICON_SIZE2,
|
|
@@ -31576,7 +31691,7 @@ var FullscreenIcon = ({
|
|
|
31576
31691
|
const out = isFullscreen ? 0 : strokeWidth2 / 2;
|
|
31577
31692
|
const middleInset = isFullscreen ? strokeWidth2 * 1.6 : strokeWidth2 / 2;
|
|
31578
31693
|
const inset = isFullscreen ? strokeWidth2 * 1.6 : strokeWidth2 * 2;
|
|
31579
|
-
return /* @__PURE__ */
|
|
31694
|
+
return /* @__PURE__ */ jsxs16("svg", {
|
|
31580
31695
|
viewBox: `0 0 ${viewSize} ${viewSize}`,
|
|
31581
31696
|
height: fullscreenIconSize,
|
|
31582
31697
|
width: fullscreenIconSize,
|
|
@@ -31664,7 +31779,7 @@ var studioStyle = {
|
|
|
31664
31779
|
};
|
|
31665
31780
|
var BufferingIndicator = ({ type }) => {
|
|
31666
31781
|
const style = type === "player" ? playerStyle : studioStyle;
|
|
31667
|
-
return /* @__PURE__ */ jsxs24(
|
|
31782
|
+
return /* @__PURE__ */ jsxs24(Fragment13, {
|
|
31668
31783
|
children: [
|
|
31669
31784
|
/* @__PURE__ */ jsx214("style", {
|
|
31670
31785
|
type: "text/css",
|
|
@@ -33149,7 +33264,7 @@ var PlaybackrateOption = ({ rate, onSelect, selectedRate, keyboardSelectedRate }
|
|
|
33149
33264
|
backgroundColor: hovered || isFocused ? "#eee" : "transparent"
|
|
33150
33265
|
};
|
|
33151
33266
|
}, [hovered, isFocused]);
|
|
33152
|
-
return /* @__PURE__ */
|
|
33267
|
+
return /* @__PURE__ */ jsxs52("div", {
|
|
33153
33268
|
onPointerEnter: onMouseEnter,
|
|
33154
33269
|
onPointerLeave: onMouseLeave,
|
|
33155
33270
|
tabIndex: 0,
|
|
@@ -33276,13 +33391,13 @@ var PlaybackrateControl = ({ playbackRates, canvasSize }) => {
|
|
|
33276
33391
|
}, [setIsComponentVisible]);
|
|
33277
33392
|
return /* @__PURE__ */ jsx94("div", {
|
|
33278
33393
|
ref,
|
|
33279
|
-
children: /* @__PURE__ */
|
|
33394
|
+
children: /* @__PURE__ */ jsxs52("button", {
|
|
33280
33395
|
type: "button",
|
|
33281
33396
|
"aria-label": "Change playback rate",
|
|
33282
33397
|
style: button,
|
|
33283
33398
|
onClick,
|
|
33284
33399
|
children: [
|
|
33285
|
-
/* @__PURE__ */
|
|
33400
|
+
/* @__PURE__ */ jsxs52("div", {
|
|
33286
33401
|
style: label2,
|
|
33287
33402
|
children: [
|
|
33288
33403
|
playbackRate,
|
|
@@ -34265,7 +34380,7 @@ var PlayerUI = ({
|
|
|
34265
34380
|
showPosterWhenBufferingAndPaused && showBufferIndicator && !player.isPlaying()
|
|
34266
34381
|
].some(Boolean);
|
|
34267
34382
|
const { left, top, width, height, ...outerWithoutScale } = outer;
|
|
34268
|
-
const content = /* @__PURE__ */ jsxs92(
|
|
34383
|
+
const content = /* @__PURE__ */ jsxs92(Fragment33, {
|
|
34269
34384
|
children: [
|
|
34270
34385
|
/* @__PURE__ */ jsxs92("div", {
|
|
34271
34386
|
style: outer,
|
|
@@ -36984,6 +37099,7 @@ var makeStableFramePool = () => {
|
|
|
36984
37099
|
if (!context) {
|
|
36985
37100
|
throw new Error("Could not create canvas context");
|
|
36986
37101
|
}
|
|
37102
|
+
context.clearRect(0, 0, stableCanvas.width, stableCanvas.height);
|
|
36987
37103
|
context.drawImage(canvas, 0, 0);
|
|
36988
37104
|
let released = false;
|
|
36989
37105
|
const stableFrame = {
|
|
@@ -37670,6 +37786,9 @@ class MediaPlayer {
|
|
|
37670
37786
|
}
|
|
37671
37787
|
const canDecode = await videoTrack.canDecode();
|
|
37672
37788
|
if (!canDecode) {
|
|
37789
|
+
if (videoTrack.codec === "prores") {
|
|
37790
|
+
return { type: "cannot-decode-prores" };
|
|
37791
|
+
}
|
|
37673
37792
|
return { type: "cannot-decode" };
|
|
37674
37793
|
}
|
|
37675
37794
|
if (this.isDisposalError()) {
|
|
@@ -38379,6 +38498,9 @@ var AudioForPreviewAssertedShowing = ({
|
|
|
38379
38498
|
handleError(new Error(`No video or audio tracks found for ${preloadedSrc}.`), `No video or audio tracks found for ${preloadedSrc}, falling back to <Html5Audio>`);
|
|
38380
38499
|
return;
|
|
38381
38500
|
}
|
|
38501
|
+
if (result.type === "cannot-decode-prores") {
|
|
38502
|
+
throw new Error(`Encountered ProRes media for ${preloadedSrc}. But this should never happen, since you used the <Audio> tag. Please report this as a bug.`);
|
|
38503
|
+
}
|
|
38382
38504
|
if (result.type === "success") {
|
|
38383
38505
|
setMediaPlayerReady(true);
|
|
38384
38506
|
setMediaDurationInSeconds(result.durationInSeconds);
|
|
@@ -39686,6 +39808,9 @@ var getSinks = async (src, logLevel, credentials, requestInit) => {
|
|
|
39686
39808
|
}
|
|
39687
39809
|
const canDecode = await videoTrack.canDecode();
|
|
39688
39810
|
if (!canDecode) {
|
|
39811
|
+
if (videoTrack.codec === "prores") {
|
|
39812
|
+
return "cannot-decode-prores";
|
|
39813
|
+
}
|
|
39689
39814
|
return "cannot-decode";
|
|
39690
39815
|
}
|
|
39691
39816
|
const sampleSink = new VideoSampleSink(videoTrack);
|
|
@@ -39937,6 +40062,12 @@ var extractFrameInternal = async ({
|
|
|
39937
40062
|
if (video === "cannot-decode") {
|
|
39938
40063
|
return { type: "cannot-decode", durationInSeconds: mediaDurationInSeconds };
|
|
39939
40064
|
}
|
|
40065
|
+
if (video === "cannot-decode-prores") {
|
|
40066
|
+
return {
|
|
40067
|
+
type: "cannot-decode-prores",
|
|
40068
|
+
durationInSeconds: mediaDurationInSeconds
|
|
40069
|
+
};
|
|
40070
|
+
}
|
|
39940
40071
|
if (video === "unknown-container-format") {
|
|
39941
40072
|
return { type: "unknown-container-format" };
|
|
39942
40073
|
}
|
|
@@ -40088,6 +40219,12 @@ var extractFrameAndAudio = async ({
|
|
|
40088
40219
|
durationInSeconds: video.durationInSeconds
|
|
40089
40220
|
};
|
|
40090
40221
|
}
|
|
40222
|
+
if (video?.type === "cannot-decode-prores") {
|
|
40223
|
+
return {
|
|
40224
|
+
type: "cannot-decode-prores",
|
|
40225
|
+
durationInSeconds: video.durationInSeconds
|
|
40226
|
+
};
|
|
40227
|
+
}
|
|
40091
40228
|
if (video?.type === "unknown-container-format") {
|
|
40092
40229
|
return { type: "unknown-container-format" };
|
|
40093
40230
|
}
|
|
@@ -40173,6 +40310,15 @@ var addBroadcastChannelListener = () => {
|
|
|
40173
40310
|
window.remotion_broadcastChannel.postMessage(cannotDecodeResponse);
|
|
40174
40311
|
return;
|
|
40175
40312
|
}
|
|
40313
|
+
if (result.type === "cannot-decode-prores") {
|
|
40314
|
+
const cannotDecodeProresResponse = {
|
|
40315
|
+
type: "response-cannot-decode-prores",
|
|
40316
|
+
id: data.id,
|
|
40317
|
+
durationInSeconds: result.durationInSeconds
|
|
40318
|
+
};
|
|
40319
|
+
window.remotion_broadcastChannel.postMessage(cannotDecodeProresResponse);
|
|
40320
|
+
return;
|
|
40321
|
+
}
|
|
40176
40322
|
if (result.type === "cannot-decode-alpha") {
|
|
40177
40323
|
const cannotDecodeAlphaResponse = {
|
|
40178
40324
|
type: "response-cannot-decode-alpha",
|
|
@@ -40317,6 +40463,14 @@ var extractFrameViaBroadcastChannel = async ({
|
|
|
40317
40463
|
window.remotion_broadcastChannel.removeEventListener("message", onMessage);
|
|
40318
40464
|
return;
|
|
40319
40465
|
}
|
|
40466
|
+
if (data.type === "response-cannot-decode-prores") {
|
|
40467
|
+
resolve({
|
|
40468
|
+
type: "cannot-decode-prores",
|
|
40469
|
+
durationInSeconds: data.durationInSeconds
|
|
40470
|
+
});
|
|
40471
|
+
window.remotion_broadcastChannel.removeEventListener("message", onMessage);
|
|
40472
|
+
return;
|
|
40473
|
+
}
|
|
40320
40474
|
if (data.type === "response-network-error") {
|
|
40321
40475
|
resolve({ type: "network-error" });
|
|
40322
40476
|
window.remotion_broadcastChannel.removeEventListener("message", onMessage);
|
|
@@ -40487,6 +40641,9 @@ var AudioForRendering2 = ({
|
|
|
40487
40641
|
if (result.type === "cannot-decode-alpha") {
|
|
40488
40642
|
throw new Error(`Cannot decode alpha component for ${src}, and 'disallowFallbackToHtml5Audio' was set. But this should never happen, since you used the <Audio> tag. Please report this as a bug.`);
|
|
40489
40643
|
}
|
|
40644
|
+
if (result.type === "cannot-decode-prores") {
|
|
40645
|
+
throw new Error(`Encountered ProRes media for ${src}. But this should never happen, since you used the <Audio> tag. Please report this as a bug.`);
|
|
40646
|
+
}
|
|
40490
40647
|
if (result.type === "network-error") {
|
|
40491
40648
|
handleError(new Error(`Network error fetching ${src}.`), new Error(`Cannot render audio "${src}": Network error while fetching the audio (possibly CORS).`), `Network error fetching ${src}, falling back to <Html5Audio>`);
|
|
40492
40649
|
return;
|
|
@@ -40693,6 +40850,17 @@ var Audio2 = Interactive.withSchema({
|
|
|
40693
40850
|
schema: audioSchema,
|
|
40694
40851
|
supportsEffects: false
|
|
40695
40852
|
});
|
|
40853
|
+
var PRORES_DOCS_URL = "https://www.remotion.dev/docs/videos/prores";
|
|
40854
|
+
var proresDecoderNotEnabledMessage = (src) => {
|
|
40855
|
+
return `Cannot decode "${src}": it is encoded with Apple ProRes, which WebCodecs does not support natively. ` + `ProRes decoding is not enabled by default. Register the ProRes decoder by calling ` + `registerProresDecoder() from "@mediabunny/prores" in your entry point, before registerRoot(). ` + `See ${PRORES_DOCS_URL}. ` + `(This is required to decode a ProRes source for both preview and rendering — it is unrelated to exporting a video as ProRes.)`;
|
|
40856
|
+
};
|
|
40857
|
+
|
|
40858
|
+
class ProResDecoderNotEnabledError extends Error {
|
|
40859
|
+
constructor(src) {
|
|
40860
|
+
super(proresDecoderNotEnabledMessage(src));
|
|
40861
|
+
this.name = "ProResDecoderNotEnabledError";
|
|
40862
|
+
}
|
|
40863
|
+
}
|
|
40696
40864
|
var cache2 = new Map;
|
|
40697
40865
|
var cacheVideoFrame = (src, sourceCanvas) => {
|
|
40698
40866
|
const { width, height } = sourceCanvas;
|
|
@@ -40941,6 +41109,9 @@ var VideoForPreviewAssertedShowing = ({
|
|
|
40941
41109
|
handleError(new Error(`Cannot decode ${preloadedSrc}.`), `Cannot decode ${preloadedSrc}, falling back to <OffthreadVideo>`);
|
|
40942
41110
|
return;
|
|
40943
41111
|
}
|
|
41112
|
+
if (result.type === "cannot-decode-prores") {
|
|
41113
|
+
throw new ProResDecoderNotEnabledError(preloadedSrc);
|
|
41114
|
+
}
|
|
40944
41115
|
if (result.type === "no-tracks") {
|
|
40945
41116
|
handleError(new Error(`No video or audio tracks found for ${preloadedSrc}.`), `No video or audio tracks found for ${preloadedSrc}, falling back to <OffthreadVideo>`);
|
|
40946
41117
|
return;
|
|
@@ -40951,6 +41122,10 @@ var VideoForPreviewAssertedShowing = ({
|
|
|
40951
41122
|
hasDrawnRealFrameRef.current = true;
|
|
40952
41123
|
}
|
|
40953
41124
|
}).catch((error2) => {
|
|
41125
|
+
if (error2 instanceof ProResDecoderNotEnabledError) {
|
|
41126
|
+
onErrorRef.current?.(error2);
|
|
41127
|
+
throw error2;
|
|
41128
|
+
}
|
|
40954
41129
|
const [action, errorToUse] = callOnErrorAndResolve({
|
|
40955
41130
|
onError: onErrorRef.current,
|
|
40956
41131
|
error: error2,
|
|
@@ -41248,6 +41423,12 @@ var VideoForRendering2 = ({
|
|
|
41248
41423
|
handleError(new Error(`Cannot decode ${src}.`), new Error(`Cannot render video "${src}": The video could not be decoded by the browser.`), `Cannot decode ${src}, falling back to <OffthreadVideo>`, result.durationInSeconds);
|
|
41249
41424
|
return;
|
|
41250
41425
|
}
|
|
41426
|
+
if (result.type === "cannot-decode-prores") {
|
|
41427
|
+
const proresError = new ProResDecoderNotEnabledError(src);
|
|
41428
|
+
onError?.(proresError);
|
|
41429
|
+
cancelRender3(proresError);
|
|
41430
|
+
return;
|
|
41431
|
+
}
|
|
41251
41432
|
if (result.type === "cannot-decode-alpha") {
|
|
41252
41433
|
handleError(new Error(`Cannot decode alpha component for ${src}.`), new Error(`Cannot render video "${src}": The alpha channel could not be decoded by the browser.`), `Cannot decode alpha component for ${src}, falling back to <OffthreadVideo>`, result.durationInSeconds);
|
|
41253
41434
|
return;
|
|
@@ -41771,7 +41952,7 @@ var getIndexFromPosition = (clientX, clientY) => {
|
|
|
41771
41952
|
|
|
41772
41953
|
// src/components/homepage/Demo/Switcher.tsx
|
|
41773
41954
|
import { useCallback as useCallback41 } from "react";
|
|
41774
|
-
import { jsx as jsx66, jsxs as
|
|
41955
|
+
import { jsx as jsx66, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
41775
41956
|
var Switcher = ({ type, theme, onTap }) => {
|
|
41776
41957
|
const onPointerDown = useCallback41((e) => {
|
|
41777
41958
|
e.stopPropagation();
|
|
@@ -41796,7 +41977,7 @@ var Switcher = ({ type, theme, onTap }) => {
|
|
|
41796
41977
|
alignItems: "center",
|
|
41797
41978
|
display: "flex"
|
|
41798
41979
|
},
|
|
41799
|
-
children: /* @__PURE__ */
|
|
41980
|
+
children: /* @__PURE__ */ jsxs17("svg", {
|
|
41800
41981
|
style: { height: switcherSize / 2 },
|
|
41801
41982
|
viewBox: "0 0 320 512",
|
|
41802
41983
|
children: [
|
|
@@ -41814,7 +41995,7 @@ var Switcher = ({ type, theme, onTap }) => {
|
|
|
41814
41995
|
};
|
|
41815
41996
|
|
|
41816
41997
|
// src/components/homepage/Demo/Card.tsx
|
|
41817
|
-
import { jsx as jsx68, jsxs as
|
|
41998
|
+
import { jsx as jsx68, jsxs as jsxs18, Fragment as Fragment14 } from "react/jsx-runtime";
|
|
41818
41999
|
var arePositionsEqual = (a2, b2) => {
|
|
41819
42000
|
return a2.every((pos, i) => {
|
|
41820
42001
|
return pos.x === b2[i].x && pos.y === b2[i].y;
|
|
@@ -41991,7 +42172,7 @@ var Card2 = ({
|
|
|
41991
42172
|
borderRadius: 13,
|
|
41992
42173
|
cursor: "grab"
|
|
41993
42174
|
},
|
|
41994
|
-
children: /* @__PURE__ */
|
|
42175
|
+
children: /* @__PURE__ */ jsxs18(AbsoluteFill, {
|
|
41995
42176
|
style: {
|
|
41996
42177
|
backgroundColor: color,
|
|
41997
42178
|
borderRadius: 12
|
|
@@ -41999,7 +42180,7 @@ var Card2 = ({
|
|
|
41999
42180
|
className: "transition-opacity duration-200",
|
|
42000
42181
|
children: [
|
|
42001
42182
|
content,
|
|
42002
|
-
withSwitcher ? /* @__PURE__ */
|
|
42183
|
+
withSwitcher ? /* @__PURE__ */ jsxs18(Fragment14, {
|
|
42003
42184
|
children: [
|
|
42004
42185
|
/* @__PURE__ */ jsx68(Switcher, {
|
|
42005
42186
|
onTap: onClickLeft,
|
|
@@ -42019,7 +42200,7 @@ var Card2 = ({
|
|
|
42019
42200
|
};
|
|
42020
42201
|
|
|
42021
42202
|
// src/components/homepage/Demo/CurrentCountry.tsx
|
|
42022
|
-
import { jsx as jsx69, jsxs as
|
|
42203
|
+
import { jsx as jsx69, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
42023
42204
|
var CurrentCountry = ({ theme, countryPaths, countryLabel }) => {
|
|
42024
42205
|
const { fps } = useVideoConfig();
|
|
42025
42206
|
const frame = useCurrentFrame();
|
|
@@ -42034,7 +42215,7 @@ var CurrentCountry = ({ theme, countryPaths, countryLabel }) => {
|
|
|
42034
42215
|
frame,
|
|
42035
42216
|
delay: 10
|
|
42036
42217
|
});
|
|
42037
|
-
return /* @__PURE__ */
|
|
42218
|
+
return /* @__PURE__ */ jsxs19(AbsoluteFill, {
|
|
42038
42219
|
style: { overflow: "hidden" },
|
|
42039
42220
|
children: [
|
|
42040
42221
|
/* @__PURE__ */ jsx69(AbsoluteFill, {
|
|
@@ -42052,7 +42233,7 @@ var CurrentCountry = ({ theme, countryPaths, countryLabel }) => {
|
|
|
42052
42233
|
})
|
|
42053
42234
|
})
|
|
42054
42235
|
}),
|
|
42055
|
-
/* @__PURE__ */
|
|
42236
|
+
/* @__PURE__ */ jsxs19(AbsoluteFill, {
|
|
42056
42237
|
style: {
|
|
42057
42238
|
alignItems: "center",
|
|
42058
42239
|
justifyContent: "center"
|
|
@@ -42341,7 +42522,7 @@ var DisplayedEmoji = ({ emoji }) => {
|
|
|
42341
42522
|
};
|
|
42342
42523
|
|
|
42343
42524
|
// src/components/homepage/Demo/EmojiCard.tsx
|
|
42344
|
-
import { jsx as jsx75, jsxs as
|
|
42525
|
+
import { jsx as jsx75, jsxs as jsxs20, Fragment as Fragment15 } from "react/jsx-runtime";
|
|
42345
42526
|
var applyTransforms = ({ ref1, ref2, ref3, transforms }) => {
|
|
42346
42527
|
ref1.style.transform = `translateX(${transforms[0]}%)`;
|
|
42347
42528
|
ref2.style.transform = `translateX(${transforms[1]}%)`;
|
|
@@ -42437,7 +42618,7 @@ var EmojiCardRefFn = ({ emojiIndex }, ref) => {
|
|
|
42437
42618
|
});
|
|
42438
42619
|
}, []);
|
|
42439
42620
|
const env = useRemotionEnvironment();
|
|
42440
|
-
return /* @__PURE__ */
|
|
42621
|
+
return /* @__PURE__ */ jsxs20(AbsoluteFill, {
|
|
42441
42622
|
style: {
|
|
42442
42623
|
justifyContent: "center",
|
|
42443
42624
|
alignItems: "center",
|
|
@@ -42469,7 +42650,7 @@ var EmojiCardRefFn = ({ emojiIndex }, ref) => {
|
|
|
42469
42650
|
children: /* @__PURE__ */ jsx75(DisplayedEmoji, {
|
|
42470
42651
|
emoji: emojiIndex
|
|
42471
42652
|
})
|
|
42472
|
-
}) : /* @__PURE__ */
|
|
42653
|
+
}) : /* @__PURE__ */ jsxs20(Fragment15, {
|
|
42473
42654
|
children: [
|
|
42474
42655
|
/* @__PURE__ */ jsx75("div", {
|
|
42475
42656
|
ref: ref1,
|
|
@@ -42517,7 +42698,7 @@ var Minus = ({ leftOffset, minusSignOpacity }) => {
|
|
|
42517
42698
|
};
|
|
42518
42699
|
|
|
42519
42700
|
// src/components/homepage/Demo/DigitWheel.tsx
|
|
42520
|
-
import { jsx as jsx78, jsxs as
|
|
42701
|
+
import { jsx as jsx78, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
42521
42702
|
var DURATION = 25;
|
|
42522
42703
|
var items = 10;
|
|
42523
42704
|
var NUM_WIDTH = 36;
|
|
@@ -42561,7 +42742,7 @@ var Wheel = ({ delay: delay2, digits, renderDigit, isLeadingDigit, isNegative })
|
|
|
42561
42742
|
const rotation = progresses.map((p, i) => {
|
|
42562
42743
|
return p * offsets[i];
|
|
42563
42744
|
}).reduce((a2, b2) => a2 + b2, 0) + rotations[0];
|
|
42564
|
-
return /* @__PURE__ */
|
|
42745
|
+
return /* @__PURE__ */ jsxs21("div", {
|
|
42565
42746
|
style: {
|
|
42566
42747
|
position: "relative",
|
|
42567
42748
|
width: NUM_WIDTH,
|
|
@@ -42622,14 +42803,14 @@ var Wheel = ({ delay: delay2, digits, renderDigit, isLeadingDigit, isNegative })
|
|
|
42622
42803
|
};
|
|
42623
42804
|
|
|
42624
42805
|
// src/components/homepage/Demo/TemperatureNumber.tsx
|
|
42625
|
-
import { jsx as jsx79, jsxs as
|
|
42806
|
+
import { jsx as jsx79, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
42626
42807
|
var TemperatureNumber = ({ theme, temperatureInCelsius }) => {
|
|
42627
42808
|
const temperatureInFahrenheit = temperatureInCelsius * 9 / 5 + 32;
|
|
42628
42809
|
const celsiusDegree = Math.abs(temperatureInCelsius);
|
|
42629
42810
|
const fahrenheitDegree = Math.abs(temperatureInFahrenheit);
|
|
42630
42811
|
const paddedCelsiusDegree = String(celsiusDegree).padStart(fahrenheitDegree.toFixed(0).length, "0").split("");
|
|
42631
42812
|
const paddedFahrenheitDegree = fahrenheitDegree.toFixed(0).padStart(paddedCelsiusDegree.length, "0").split("");
|
|
42632
|
-
return /* @__PURE__ */
|
|
42813
|
+
return /* @__PURE__ */ jsxs25("div", {
|
|
42633
42814
|
style: {
|
|
42634
42815
|
lineHeight: 1.1,
|
|
42635
42816
|
fontFamily: "GTPlanar",
|
|
@@ -42677,13 +42858,13 @@ var TemperatureNumber = ({ theme, temperatureInCelsius }) => {
|
|
|
42677
42858
|
};
|
|
42678
42859
|
|
|
42679
42860
|
// src/components/homepage/Demo/Temperature.tsx
|
|
42680
|
-
import { jsx as jsx80, jsxs as
|
|
42861
|
+
import { jsx as jsx80, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
42681
42862
|
var Temperature = ({ theme, city, temperatureInCelsius }) => {
|
|
42682
42863
|
if (temperatureInCelsius === null) {
|
|
42683
42864
|
return null;
|
|
42684
42865
|
}
|
|
42685
42866
|
return /* @__PURE__ */ jsx80(AbsoluteFill, {
|
|
42686
|
-
children: /* @__PURE__ */
|
|
42867
|
+
children: /* @__PURE__ */ jsxs27(AbsoluteFill, {
|
|
42687
42868
|
style: {
|
|
42688
42869
|
alignItems: "center",
|
|
42689
42870
|
justifyContent: "center",
|
|
@@ -42691,7 +42872,7 @@ var Temperature = ({ theme, city, temperatureInCelsius }) => {
|
|
|
42691
42872
|
paddingRight: 20
|
|
42692
42873
|
},
|
|
42693
42874
|
children: [
|
|
42694
|
-
/* @__PURE__ */
|
|
42875
|
+
/* @__PURE__ */ jsxs27("div", {
|
|
42695
42876
|
style: {
|
|
42696
42877
|
color: "#0b84f3",
|
|
42697
42878
|
fontFamily: "GTPlanar",
|
|
@@ -42716,7 +42897,7 @@ var Temperature = ({ theme, city, temperatureInCelsius }) => {
|
|
|
42716
42897
|
|
|
42717
42898
|
// src/components/homepage/Demo/TrendingRepos.tsx
|
|
42718
42899
|
import { useMemo as useMemo60 } from "react";
|
|
42719
|
-
import { jsx as jsx81, jsxs as
|
|
42900
|
+
import { jsx as jsx81, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
42720
42901
|
var TrendingRepoItem = ({ repo, theme, number }) => {
|
|
42721
42902
|
const frame = useCurrentFrame();
|
|
42722
42903
|
const { fps } = useVideoConfig();
|
|
@@ -42738,7 +42919,7 @@ var TrendingRepoItem = ({ repo, theme, number }) => {
|
|
|
42738
42919
|
opacity: progress
|
|
42739
42920
|
};
|
|
42740
42921
|
}, [progress, theme]);
|
|
42741
|
-
return /* @__PURE__ */
|
|
42922
|
+
return /* @__PURE__ */ jsxs28("div", {
|
|
42742
42923
|
style: item,
|
|
42743
42924
|
children: [
|
|
42744
42925
|
number,
|
|
@@ -42769,7 +42950,7 @@ var TrendingRepos = ({ theme, trending }) => {
|
|
|
42769
42950
|
paddingLeft: 20,
|
|
42770
42951
|
paddingRight: 20
|
|
42771
42952
|
},
|
|
42772
|
-
children: /* @__PURE__ */
|
|
42953
|
+
children: /* @__PURE__ */ jsxs28("div", {
|
|
42773
42954
|
children: [
|
|
42774
42955
|
/* @__PURE__ */ jsx81("div", {
|
|
42775
42956
|
style: {
|
|
@@ -42902,7 +43083,7 @@ var Cards = ({
|
|
|
42902
43083
|
};
|
|
42903
43084
|
|
|
42904
43085
|
// src/components/homepage/Demo/Comp.tsx
|
|
42905
|
-
import { jsx as jsx87, jsxs as
|
|
43086
|
+
import { jsx as jsx87, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
42906
43087
|
var getDataAndProps = async () => {
|
|
42907
43088
|
const location = await fetch("https://utils.remotion.dev/location").then((res) => res.json());
|
|
42908
43089
|
const trending = await fetch(`https://bugs.remotion.dev/trending?lat=${location.latitude}&lng=${location.longitude}&country=${location.country}`).then((res) => res.json()).then((data) => {
|
|
@@ -42963,7 +43144,7 @@ var HomepageVideoComp = ({
|
|
|
42963
43144
|
c2.free();
|
|
42964
43145
|
};
|
|
42965
43146
|
}, []);
|
|
42966
|
-
return /* @__PURE__ */
|
|
43147
|
+
return /* @__PURE__ */ jsxs29(AbsoluteFill, {
|
|
42967
43148
|
style: {
|
|
42968
43149
|
backgroundColor: theme === "dark" ? "#222" : "#fafafa"
|
|
42969
43150
|
},
|
|
@@ -43029,7 +43210,7 @@ import {
|
|
|
43029
43210
|
import { BufferTarget, StreamTarget } from "mediabunny";
|
|
43030
43211
|
|
|
43031
43212
|
// ../core/dist/esm/version.mjs
|
|
43032
|
-
var VERSION2 = "4.0.
|
|
43213
|
+
var VERSION2 = "4.0.491";
|
|
43033
43214
|
|
|
43034
43215
|
// ../web-renderer/dist/esm/index.mjs
|
|
43035
43216
|
import { AudioSample, VideoSample } from "mediabunny";
|
|
@@ -43585,6 +43766,8 @@ var createAudioSampleSource = ({
|
|
|
43585
43766
|
});
|
|
43586
43767
|
return { audioSampleSource, [Symbol.dispose]: () => audioSampleSource.close() };
|
|
43587
43768
|
};
|
|
43769
|
+
var nestedHtmlInCanvasSupport = null;
|
|
43770
|
+
var forceDisableHtmlInCanvasForTesting = false;
|
|
43588
43771
|
var supportsNativeHtmlInCanvas = () => {
|
|
43589
43772
|
if (typeof document === "undefined") {
|
|
43590
43773
|
return false;
|
|
@@ -43592,6 +43775,121 @@ var supportsNativeHtmlInCanvas = () => {
|
|
|
43592
43775
|
const ctx = document.createElement("canvas").getContext("2d");
|
|
43593
43776
|
return typeof ctx?.drawElementImage === "function";
|
|
43594
43777
|
};
|
|
43778
|
+
var runNestedHtmlInCanvasProbe = () => {
|
|
43779
|
+
if (!supportsNativeHtmlInCanvas() || !document.body) {
|
|
43780
|
+
return Promise.resolve(false);
|
|
43781
|
+
}
|
|
43782
|
+
const outer = document.createElement("canvas");
|
|
43783
|
+
const inner2 = document.createElement("canvas");
|
|
43784
|
+
const outerTarget = document.createElement("div");
|
|
43785
|
+
const innerTarget = document.createElement("div");
|
|
43786
|
+
const outerCtx = outer.getContext("2d");
|
|
43787
|
+
const innerCtx = inner2.getContext("2d");
|
|
43788
|
+
if (!outerCtx || !innerCtx || typeof outer.requestPaint !== "function" || typeof inner2.requestPaint !== "function") {
|
|
43789
|
+
return Promise.resolve(false);
|
|
43790
|
+
}
|
|
43791
|
+
outer.layoutSubtree = true;
|
|
43792
|
+
inner2.layoutSubtree = true;
|
|
43793
|
+
outer.width = 4;
|
|
43794
|
+
outer.height = 4;
|
|
43795
|
+
inner2.width = 4;
|
|
43796
|
+
inner2.height = 4;
|
|
43797
|
+
Object.assign(outer.style, {
|
|
43798
|
+
display: "block",
|
|
43799
|
+
height: "4px",
|
|
43800
|
+
left: "0",
|
|
43801
|
+
pointerEvents: "none",
|
|
43802
|
+
position: "fixed",
|
|
43803
|
+
top: "0",
|
|
43804
|
+
visibility: "visible",
|
|
43805
|
+
width: "4px",
|
|
43806
|
+
zIndex: "2147483647"
|
|
43807
|
+
});
|
|
43808
|
+
Object.assign(inner2.style, {
|
|
43809
|
+
display: "block",
|
|
43810
|
+
height: "4px",
|
|
43811
|
+
width: "4px"
|
|
43812
|
+
});
|
|
43813
|
+
Object.assign(outerTarget.style, {
|
|
43814
|
+
display: "block",
|
|
43815
|
+
height: "4px",
|
|
43816
|
+
width: "4px"
|
|
43817
|
+
});
|
|
43818
|
+
Object.assign(innerTarget.style, {
|
|
43819
|
+
backgroundColor: "rgb(255, 0, 0)",
|
|
43820
|
+
display: "block",
|
|
43821
|
+
height: "4px",
|
|
43822
|
+
width: "4px"
|
|
43823
|
+
});
|
|
43824
|
+
inner2.appendChild(innerTarget);
|
|
43825
|
+
outerTarget.appendChild(inner2);
|
|
43826
|
+
outer.appendChild(outerTarget);
|
|
43827
|
+
document.body.appendChild(outer);
|
|
43828
|
+
return new Promise((resolve) => {
|
|
43829
|
+
let innerPainted = false;
|
|
43830
|
+
let settled = false;
|
|
43831
|
+
let timeout = null;
|
|
43832
|
+
const settle = (supported) => {
|
|
43833
|
+
if (settled) {
|
|
43834
|
+
return;
|
|
43835
|
+
}
|
|
43836
|
+
settled = true;
|
|
43837
|
+
if (timeout !== null) {
|
|
43838
|
+
window.clearTimeout(timeout);
|
|
43839
|
+
}
|
|
43840
|
+
outer.remove();
|
|
43841
|
+
resolve(supported);
|
|
43842
|
+
};
|
|
43843
|
+
timeout = window.setTimeout(() => settle(false), 1000);
|
|
43844
|
+
inner2.addEventListener("paint", () => {
|
|
43845
|
+
try {
|
|
43846
|
+
innerCtx.reset();
|
|
43847
|
+
const transform = innerCtx.drawElementImage(innerTarget, 0, 0, 4, 4);
|
|
43848
|
+
innerTarget.style.transform = transform.toString();
|
|
43849
|
+
innerPainted = true;
|
|
43850
|
+
requestAnimationFrame(() => outer.requestPaint());
|
|
43851
|
+
} catch {
|
|
43852
|
+
settle(false);
|
|
43853
|
+
}
|
|
43854
|
+
});
|
|
43855
|
+
outer.addEventListener("paint", () => {
|
|
43856
|
+
if (!innerPainted) {
|
|
43857
|
+
return;
|
|
43858
|
+
}
|
|
43859
|
+
try {
|
|
43860
|
+
outerCtx.reset();
|
|
43861
|
+
if (typeof outer.captureElementImage !== "function") {
|
|
43862
|
+
settle(false);
|
|
43863
|
+
return;
|
|
43864
|
+
}
|
|
43865
|
+
const elementImage = outer.captureElementImage(outerTarget);
|
|
43866
|
+
const transform = outerCtx.drawElementImage(elementImage, 0, 0, 4, 4);
|
|
43867
|
+
elementImage.close();
|
|
43868
|
+
outerTarget.style.transform = transform.toString();
|
|
43869
|
+
const pixel = outerCtx.getImageData(2, 2, 1, 1).data;
|
|
43870
|
+
settle(pixel[0] > 200 && pixel[1] < 20 && pixel[2] < 20 && pixel[3] > 200);
|
|
43871
|
+
} catch {
|
|
43872
|
+
settle(false);
|
|
43873
|
+
}
|
|
43874
|
+
});
|
|
43875
|
+
inner2.requestPaint();
|
|
43876
|
+
});
|
|
43877
|
+
};
|
|
43878
|
+
var supportsNestedHtmlInCanvas = () => {
|
|
43879
|
+
if (forceDisableHtmlInCanvasForTesting) {
|
|
43880
|
+
return Promise.resolve(false);
|
|
43881
|
+
}
|
|
43882
|
+
if (!nestedHtmlInCanvasSupport) {
|
|
43883
|
+
nestedHtmlInCanvasSupport = runNestedHtmlInCanvasProbe();
|
|
43884
|
+
}
|
|
43885
|
+
return nestedHtmlInCanvasSupport;
|
|
43886
|
+
};
|
|
43887
|
+
var countLayoutSubtreeCanvases = (element) => {
|
|
43888
|
+
return Array.from(element.querySelectorAll("canvas")).filter((canvas) => canvas.layoutSubtree === true).length;
|
|
43889
|
+
};
|
|
43890
|
+
var containsLayoutSubtreeCanvas = (element) => {
|
|
43891
|
+
return countLayoutSubtreeCanvases(element) > 0;
|
|
43892
|
+
};
|
|
43595
43893
|
var setupHtmlInCanvas = ({
|
|
43596
43894
|
wrapper,
|
|
43597
43895
|
div,
|
|
@@ -43633,14 +43931,36 @@ var drawWithHtmlInCanvas = async ({
|
|
|
43633
43931
|
htmlInCanvasContext,
|
|
43634
43932
|
element,
|
|
43635
43933
|
scaledWidth,
|
|
43636
|
-
scaledHeight
|
|
43934
|
+
scaledHeight,
|
|
43935
|
+
waitForRenderReady,
|
|
43936
|
+
useElementImage
|
|
43637
43937
|
}) => {
|
|
43638
43938
|
const { ctx, layoutCanvas } = htmlInCanvasContext;
|
|
43939
|
+
if (layoutCanvas.width !== scaledWidth || layoutCanvas.height !== scaledHeight) {
|
|
43940
|
+
layoutCanvas.width = scaledWidth;
|
|
43941
|
+
layoutCanvas.height = scaledHeight;
|
|
43942
|
+
}
|
|
43639
43943
|
await waitForPaint(layoutCanvas);
|
|
43640
|
-
|
|
43641
|
-
|
|
43944
|
+
const nestedPaintCycles = useElementImage ? countLayoutSubtreeCanvases(element) * 2 + 1 : 0;
|
|
43945
|
+
for (let i = 0;i < nestedPaintCycles; i++) {
|
|
43946
|
+
await new Promise((resolve) => requestAnimationFrame(() => resolve()));
|
|
43947
|
+
await waitForRenderReady();
|
|
43948
|
+
await waitForPaint(layoutCanvas);
|
|
43949
|
+
}
|
|
43642
43950
|
ctx.reset();
|
|
43643
|
-
|
|
43951
|
+
if (useElementImage) {
|
|
43952
|
+
if (typeof layoutCanvas.captureElementImage !== "function") {
|
|
43953
|
+
throw new Error("canvas.captureElementImage() is unavailable");
|
|
43954
|
+
}
|
|
43955
|
+
const elementImage = layoutCanvas.captureElementImage(element);
|
|
43956
|
+
try {
|
|
43957
|
+
ctx.drawElementImage(elementImage, 0, 0, scaledWidth, scaledHeight);
|
|
43958
|
+
} finally {
|
|
43959
|
+
elementImage.close();
|
|
43960
|
+
}
|
|
43961
|
+
} else {
|
|
43962
|
+
ctx.drawElementImage(element, 0, 0, scaledWidth, scaledHeight);
|
|
43963
|
+
}
|
|
43644
43964
|
const offscreen = new OffscreenCanvas(scaledWidth, scaledHeight);
|
|
43645
43965
|
const offCtx = offscreen.getContext("2d");
|
|
43646
43966
|
if (!offCtx) {
|
|
@@ -43772,7 +44092,7 @@ function createScaffold({
|
|
|
43772
44092
|
videoEnabled,
|
|
43773
44093
|
defaultCodec,
|
|
43774
44094
|
defaultOutName,
|
|
43775
|
-
|
|
44095
|
+
useHtmlInCanvas,
|
|
43776
44096
|
pixelDensity
|
|
43777
44097
|
}) {
|
|
43778
44098
|
if (!ReactDOM6.createRoot) {
|
|
@@ -43799,7 +44119,7 @@ function createScaffold({
|
|
|
43799
44119
|
const cleanupCSS = Internals.CSSUtils.injectCSS(Internals.CSSUtils.makeDefaultPreviewCSS(`.${scaffoldClassName}`, "white"));
|
|
43800
44120
|
wrapper.appendChild(div);
|
|
43801
44121
|
document.body.appendChild(wrapper);
|
|
43802
|
-
const htmlInCanvasContext =
|
|
44122
|
+
const htmlInCanvasContext = useHtmlInCanvas ? setupHtmlInCanvas({ wrapper, div, width: width2, height: height2 }) : null;
|
|
43803
44123
|
const errorHolder = { error: null };
|
|
43804
44124
|
const root = ReactDOM6.createRoot(div, {
|
|
43805
44125
|
onUncaughtError: (err, errorInfo) => {
|
|
@@ -44801,6 +45121,15 @@ var filterRequiresPrecompositing = (filter) => {
|
|
|
44801
45121
|
}
|
|
44802
45122
|
return null;
|
|
44803
45123
|
};
|
|
45124
|
+
var snapshotTransformStyle = (computedStyle) => {
|
|
45125
|
+
return {
|
|
45126
|
+
display: computedStyle.display,
|
|
45127
|
+
rotate: computedStyle.rotate,
|
|
45128
|
+
scale: computedStyle.scale,
|
|
45129
|
+
transform: computedStyle.transform,
|
|
45130
|
+
transformOrigin: computedStyle.transformOrigin
|
|
45131
|
+
};
|
|
45132
|
+
};
|
|
44804
45133
|
var isReplacedElement = (element) => {
|
|
44805
45134
|
return element instanceof HTMLImageElement || element instanceof HTMLVideoElement || element instanceof HTMLCanvasElement || element instanceof HTMLIFrameElement || element instanceof HTMLInputElement || element instanceof HTMLTextAreaElement || element instanceof HTMLSelectElement || element instanceof HTMLObjectElement || element instanceof HTMLEmbedElement;
|
|
44806
45135
|
};
|
|
@@ -44851,7 +45180,8 @@ var getGlobalTransformOrigin = ({ transform }) => {
|
|
|
44851
45180
|
};
|
|
44852
45181
|
var calculateTransforms = ({
|
|
44853
45182
|
element,
|
|
44854
|
-
rootElement
|
|
45183
|
+
rootElement,
|
|
45184
|
+
transformStyleCache
|
|
44855
45185
|
}) => {
|
|
44856
45186
|
let parent = element;
|
|
44857
45187
|
const transforms = [];
|
|
@@ -44861,10 +45191,19 @@ var calculateTransforms = ({
|
|
|
44861
45191
|
let maskImageInfo = null;
|
|
44862
45192
|
let filterForPrecompositing = null;
|
|
44863
45193
|
while (parent) {
|
|
45194
|
+
const cachedTransformStyle = transformStyleCache.get(parent);
|
|
45195
|
+
const shouldReadComputedStyle = parent === element || cachedTransformStyle === undefined;
|
|
44864
45196
|
const originalTransition = parent.style.transition;
|
|
44865
45197
|
parent.style.transition = "none";
|
|
44866
|
-
const computedStyle = getComputedStyle(parent);
|
|
45198
|
+
const computedStyle = shouldReadComputedStyle ? getComputedStyle(parent) : null;
|
|
45199
|
+
const transformStyle = computedStyle === null ? cachedTransformStyle : snapshotTransformStyle(computedStyle);
|
|
45200
|
+
if (computedStyle !== null) {
|
|
45201
|
+
transformStyleCache.set(parent, transformStyle);
|
|
45202
|
+
}
|
|
44867
45203
|
if (parent === element) {
|
|
45204
|
+
if (computedStyle === null) {
|
|
45205
|
+
throw new Error("Element computed style not found");
|
|
45206
|
+
}
|
|
44868
45207
|
elementComputedStyle = computedStyle;
|
|
44869
45208
|
opacity2 = parseFloat(computedStyle.opacity);
|
|
44870
45209
|
const maskImageValue = getMaskImageValue(computedStyle);
|
|
@@ -44887,9 +45226,9 @@ var calculateTransforms = ({
|
|
|
44887
45226
|
}
|
|
44888
45227
|
});
|
|
44889
45228
|
}
|
|
44890
|
-
const hasApplicableTransformCssValue = canApplyCssTransforms({ computedStyle, element: parent }) && hasAnyTransformCssValue(
|
|
45229
|
+
const hasApplicableTransformCssValue = canApplyCssTransforms({ computedStyle: transformStyle, element: parent }) && hasAnyTransformCssValue(transformStyle);
|
|
44891
45230
|
if (hasApplicableTransformCssValue || parent === element) {
|
|
44892
|
-
const toParse = hasApplicableTransformCssValue && hasTransformCssValue(
|
|
45231
|
+
const toParse = hasApplicableTransformCssValue && hasTransformCssValue(transformStyle) ? transformStyle.transform : undefined;
|
|
44893
45232
|
const matrix = new DOMMatrix(toParse);
|
|
44894
45233
|
const resetTransforms = makeTransformResetter(parent);
|
|
44895
45234
|
const { scale, rotate: rotate2 } = parent.style;
|
|
@@ -44904,7 +45243,7 @@ var calculateTransforms = ({
|
|
|
44904
45243
|
const cleanup = resetTransforms(hasApplicableTransformCssValue);
|
|
44905
45244
|
transforms.push({
|
|
44906
45245
|
element: parent,
|
|
44907
|
-
transformOrigin:
|
|
45246
|
+
transformOrigin: transformStyle.transformOrigin,
|
|
44908
45247
|
boundingClientRect: null,
|
|
44909
45248
|
matrices: additionalMatrices
|
|
44910
45249
|
});
|
|
@@ -45496,7 +45835,8 @@ var drawBackground = async ({
|
|
|
45496
45835
|
internalState,
|
|
45497
45836
|
scale,
|
|
45498
45837
|
onlyBackgroundClipText: true,
|
|
45499
|
-
waitForPageResponsiveness: null
|
|
45838
|
+
waitForPageResponsiveness: null,
|
|
45839
|
+
waitForRenderReady: () => Promise.resolve()
|
|
45500
45840
|
});
|
|
45501
45841
|
onlyBackgroundClipText.setTransform(new DOMMatrix().scale(scale, scale));
|
|
45502
45842
|
element.style.backgroundClip = originalBackgroundClip;
|
|
@@ -46650,13 +46990,15 @@ var processNode = async ({
|
|
|
46650
46990
|
internalState,
|
|
46651
46991
|
rootElement,
|
|
46652
46992
|
scale,
|
|
46653
|
-
waitForPageResponsiveness
|
|
46993
|
+
waitForPageResponsiveness,
|
|
46994
|
+
transformStyleCache
|
|
46654
46995
|
}) => {
|
|
46655
46996
|
let __stack = [];
|
|
46656
46997
|
try {
|
|
46657
46998
|
const transforms = __using2(__stack, calculateTransforms({
|
|
46658
46999
|
element,
|
|
46659
|
-
rootElement
|
|
47000
|
+
rootElement,
|
|
47001
|
+
transformStyleCache
|
|
46660
47002
|
}), 0);
|
|
46661
47003
|
const { opacity: opacity2, computedStyle, totalMatrix, dimensions, precompositing } = transforms;
|
|
46662
47004
|
if (opacity2 === 0) {
|
|
@@ -46715,7 +47057,8 @@ var processNode = async ({
|
|
|
46715
47057
|
internalState,
|
|
46716
47058
|
scale,
|
|
46717
47059
|
onlyBackgroundClipText: false,
|
|
46718
|
-
waitForPageResponsiveness
|
|
47060
|
+
waitForPageResponsiveness,
|
|
47061
|
+
waitForRenderReady: () => Promise.resolve()
|
|
46719
47062
|
});
|
|
46720
47063
|
if (waitForPageResponsiveness !== null) {
|
|
46721
47064
|
await waitForPageResponsiveness();
|
|
@@ -46816,29 +47159,25 @@ var applyTextTransform = (text, transform) => {
|
|
|
46816
47159
|
}
|
|
46817
47160
|
return text;
|
|
46818
47161
|
};
|
|
47162
|
+
var wordSegmenter = new Intl.Segmenter("en", { granularity: "word" });
|
|
46819
47163
|
var findWords = (span) => {
|
|
46820
47164
|
const originalText = span.textContent;
|
|
46821
|
-
const
|
|
46822
|
-
const segments = segmenter.segment(span.textContent);
|
|
46823
|
-
const words = Array.from(segments).map((s) => s.segment);
|
|
47165
|
+
const segments = Array.from(wordSegmenter.segment(originalText));
|
|
46824
47166
|
const tokens = [];
|
|
46825
|
-
for (
|
|
46826
|
-
const
|
|
46827
|
-
const
|
|
46828
|
-
const word = words[i];
|
|
46829
|
-
const wordsBeforeText = wordsBefore.join("");
|
|
46830
|
-
const wordsAfterText = wordsAfter.join("");
|
|
47167
|
+
for (const { index: index2, segment } of segments) {
|
|
47168
|
+
const wordsBeforeText = originalText.slice(0, index2);
|
|
47169
|
+
const wordsAfterText = originalText.slice(index2 + segment.length);
|
|
46831
47170
|
const beforeNode = document.createTextNode(wordsBeforeText);
|
|
46832
47171
|
const afterNode = document.createTextNode(wordsAfterText);
|
|
46833
47172
|
const interstitialNode = document.createElement("span");
|
|
46834
|
-
interstitialNode.textContent =
|
|
47173
|
+
interstitialNode.textContent = segment;
|
|
46835
47174
|
span.textContent = "";
|
|
46836
47175
|
span.appendChild(beforeNode);
|
|
46837
47176
|
span.appendChild(interstitialNode);
|
|
46838
47177
|
span.appendChild(afterNode);
|
|
46839
47178
|
const rect = interstitialNode.getBoundingClientRect();
|
|
46840
47179
|
span.textContent = originalText;
|
|
46841
|
-
tokens.push({ text:
|
|
47180
|
+
tokens.push({ text: segment, rect });
|
|
46842
47181
|
}
|
|
46843
47182
|
return tokens;
|
|
46844
47183
|
};
|
|
@@ -47127,10 +47466,10 @@ var drawText = ({
|
|
|
47127
47466
|
const ctm = contextToDraw.getTransform();
|
|
47128
47467
|
const blurScale = Math.hypot(ctm.a, ctm.b);
|
|
47129
47468
|
const { strokeFirst } = parsePaintOrder(paintOrder);
|
|
47469
|
+
const measurements = contextToDraw.measureText(originalText);
|
|
47470
|
+
const { fontBoundingBoxDescent, fontBoundingBoxAscent } = measurements;
|
|
47471
|
+
const fontHeight = fontBoundingBoxAscent + fontBoundingBoxDescent;
|
|
47130
47472
|
for (const token of tokens) {
|
|
47131
|
-
const measurements = contextToDraw.measureText(originalText);
|
|
47132
|
-
const { fontBoundingBoxDescent, fontBoundingBoxAscent } = measurements;
|
|
47133
|
-
const fontHeight = fontBoundingBoxAscent + fontBoundingBoxDescent;
|
|
47134
47473
|
const leading = token.rect.height - fontHeight;
|
|
47135
47474
|
const halfLeading = leading / 2;
|
|
47136
47475
|
const x = (isRTL2 ? token.rect.right : token.rect.left) - parentRect.x;
|
|
@@ -47185,7 +47524,8 @@ var handleTextNode = async ({
|
|
|
47185
47524
|
rootElement,
|
|
47186
47525
|
onlyBackgroundClipText,
|
|
47187
47526
|
scale,
|
|
47188
|
-
waitForPageResponsiveness
|
|
47527
|
+
waitForPageResponsiveness,
|
|
47528
|
+
transformStyleCache
|
|
47189
47529
|
}) => {
|
|
47190
47530
|
const span = document.createElement("span");
|
|
47191
47531
|
const parent = node.parentNode;
|
|
@@ -47203,7 +47543,8 @@ var handleTextNode = async ({
|
|
|
47203
47543
|
internalState,
|
|
47204
47544
|
rootElement,
|
|
47205
47545
|
scale,
|
|
47206
|
-
waitForPageResponsiveness
|
|
47546
|
+
waitForPageResponsiveness,
|
|
47547
|
+
transformStyleCache
|
|
47207
47548
|
});
|
|
47208
47549
|
parent.insertBefore(node, span);
|
|
47209
47550
|
parent.removeChild(span);
|
|
@@ -47218,7 +47559,8 @@ var walkOverNode = ({
|
|
|
47218
47559
|
rootElement,
|
|
47219
47560
|
onlyBackgroundClipText,
|
|
47220
47561
|
scale,
|
|
47221
|
-
waitForPageResponsiveness
|
|
47562
|
+
waitForPageResponsiveness,
|
|
47563
|
+
transformStyleCache
|
|
47222
47564
|
}) => {
|
|
47223
47565
|
if (node instanceof HTMLElement || node instanceof SVGElement) {
|
|
47224
47566
|
return processNode({
|
|
@@ -47230,7 +47572,8 @@ var walkOverNode = ({
|
|
|
47230
47572
|
internalState,
|
|
47231
47573
|
rootElement,
|
|
47232
47574
|
scale,
|
|
47233
|
-
waitForPageResponsiveness
|
|
47575
|
+
waitForPageResponsiveness,
|
|
47576
|
+
transformStyleCache
|
|
47234
47577
|
});
|
|
47235
47578
|
}
|
|
47236
47579
|
if (node instanceof Text) {
|
|
@@ -47243,7 +47586,8 @@ var walkOverNode = ({
|
|
|
47243
47586
|
rootElement,
|
|
47244
47587
|
onlyBackgroundClipText,
|
|
47245
47588
|
scale,
|
|
47246
|
-
waitForPageResponsiveness
|
|
47589
|
+
waitForPageResponsiveness,
|
|
47590
|
+
transformStyleCache
|
|
47247
47591
|
});
|
|
47248
47592
|
}
|
|
47249
47593
|
throw new Error("Unknown node type");
|
|
@@ -47274,6 +47618,7 @@ var compose = async ({
|
|
|
47274
47618
|
let __stack = [];
|
|
47275
47619
|
try {
|
|
47276
47620
|
const treeWalker = document.createTreeWalker(element, onlyBackgroundClipText ? NodeFilter.SHOW_TEXT : NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_TEXT, getFilterFunction);
|
|
47621
|
+
const transformStyleCache = new WeakMap;
|
|
47277
47622
|
if (onlyBackgroundClipText) {
|
|
47278
47623
|
treeWalker.nextNode();
|
|
47279
47624
|
if (!treeWalker.currentNode) {
|
|
@@ -47293,7 +47638,8 @@ var compose = async ({
|
|
|
47293
47638
|
rootElement: element,
|
|
47294
47639
|
onlyBackgroundClipText,
|
|
47295
47640
|
scale,
|
|
47296
|
-
waitForPageResponsiveness
|
|
47641
|
+
waitForPageResponsiveness,
|
|
47642
|
+
transformStyleCache
|
|
47297
47643
|
});
|
|
47298
47644
|
if (val.type === "skip-children") {
|
|
47299
47645
|
if (!skipToNextNonDescendant(treeWalker)) {
|
|
@@ -47326,17 +47672,21 @@ var createLayer = async ({
|
|
|
47326
47672
|
cutout,
|
|
47327
47673
|
htmlInCanvasContext,
|
|
47328
47674
|
onHtmlInCanvasLayerOutcome,
|
|
47329
|
-
waitForPageResponsiveness
|
|
47675
|
+
waitForPageResponsiveness,
|
|
47676
|
+
waitForRenderReady
|
|
47330
47677
|
}) => {
|
|
47331
47678
|
const scaledWidth = Math.ceil(cutout.width * scale);
|
|
47332
47679
|
const scaledHeight = Math.ceil(cutout.height * scale);
|
|
47333
47680
|
if (!onlyBackgroundClipText && element instanceof HTMLElement && htmlInCanvasContext && onHtmlInCanvasLayerOutcome) {
|
|
47681
|
+
const hasNestedHtmlInCanvas = containsLayoutSubtreeCanvas(element);
|
|
47334
47682
|
try {
|
|
47335
47683
|
const offCtx = await drawWithHtmlInCanvas({
|
|
47336
47684
|
htmlInCanvasContext,
|
|
47337
47685
|
element,
|
|
47338
47686
|
scaledWidth,
|
|
47339
|
-
scaledHeight
|
|
47687
|
+
scaledHeight,
|
|
47688
|
+
waitForRenderReady,
|
|
47689
|
+
useElementImage: hasNestedHtmlInCanvas
|
|
47340
47690
|
});
|
|
47341
47691
|
onHtmlInCanvasLayerOutcome({ native: true });
|
|
47342
47692
|
return offCtx;
|
|
@@ -47583,7 +47933,6 @@ var internalRenderMediaOnWeb = async ({
|
|
|
47583
47933
|
muted,
|
|
47584
47934
|
scale,
|
|
47585
47935
|
isProduction,
|
|
47586
|
-
allowHtmlInCanvas,
|
|
47587
47936
|
sampleRate
|
|
47588
47937
|
}) => {
|
|
47589
47938
|
let __stack2 = [];
|
|
@@ -47597,7 +47946,7 @@ var internalRenderMediaOnWeb = async ({
|
|
|
47597
47946
|
}
|
|
47598
47947
|
htmlInCanvasLayerOutcomeReported = true;
|
|
47599
47948
|
if (outcome.native) {
|
|
47600
|
-
Internals.Log.warn({ logLevel, tag: "@remotion/web-renderer" }, "Using Chromium experimental HTML-in-canvas (drawElementImage) for video frames. See https://
|
|
47949
|
+
Internals.Log.warn({ logLevel, tag: "@remotion/web-renderer" }, "Using Chromium experimental HTML-in-canvas (drawElementImage) for video frames. See https://remotion.dev/docs/client-side-rendering/html-in-canvas");
|
|
47601
47950
|
} else if (outcome.shouldWarn) {
|
|
47602
47951
|
Internals.Log.warn({ logLevel, tag: "@remotion/web-renderer" }, `Not using HTML-in-canvas: ${outcome.reason}`);
|
|
47603
47952
|
}
|
|
@@ -47651,6 +48000,7 @@ var internalRenderMediaOnWeb = async ({
|
|
|
47651
48000
|
if (signal?.aborted) {
|
|
47652
48001
|
return Promise.reject(new Error("renderMediaOnWeb() was cancelled"));
|
|
47653
48002
|
}
|
|
48003
|
+
const useHtmlInCanvas = await supportsNestedHtmlInCanvas();
|
|
47654
48004
|
const scaffold = __using2(__stack2, createScaffold({
|
|
47655
48005
|
width: resolved.width,
|
|
47656
48006
|
height: resolved.height,
|
|
@@ -47668,7 +48018,7 @@ var internalRenderMediaOnWeb = async ({
|
|
|
47668
48018
|
initialFrame: 0,
|
|
47669
48019
|
defaultCodec: resolved.defaultCodec,
|
|
47670
48020
|
defaultOutName: resolved.defaultOutName,
|
|
47671
|
-
|
|
48021
|
+
useHtmlInCanvas,
|
|
47672
48022
|
pixelDensity: scale
|
|
47673
48023
|
}), 0);
|
|
47674
48024
|
const {
|
|
@@ -47679,27 +48029,6 @@ var internalRenderMediaOnWeb = async ({
|
|
|
47679
48029
|
errorHolder,
|
|
47680
48030
|
htmlInCanvasContext
|
|
47681
48031
|
} = scaffold;
|
|
47682
|
-
if (allowHtmlInCanvas && !htmlInCanvasContext) {
|
|
47683
|
-
if (!supportsNativeHtmlInCanvas()) {
|
|
47684
|
-
onHtmlInCanvasLayerOutcome({
|
|
47685
|
-
native: false,
|
|
47686
|
-
reason: "This browser does not expose CanvasRenderingContext2D.prototype.drawElementImage. In Chromium, enable chrome://flags/#canvas-draw-element and use a version that ships the API.",
|
|
47687
|
-
shouldWarn: false
|
|
47688
|
-
});
|
|
47689
|
-
} else {
|
|
47690
|
-
onHtmlInCanvasLayerOutcome({
|
|
47691
|
-
native: false,
|
|
47692
|
-
reason: "drawElementImage is available but canvas.requestPaint() is missing. Use a Chromium version that ships requestPaint.",
|
|
47693
|
-
shouldWarn: true
|
|
47694
|
-
});
|
|
47695
|
-
}
|
|
47696
|
-
} else if (!allowHtmlInCanvas) {
|
|
47697
|
-
onHtmlInCanvasLayerOutcome({
|
|
47698
|
-
native: false,
|
|
47699
|
-
reason: "allowHtmlInCanvas is false; using the built-in DOM composer.",
|
|
47700
|
-
shouldWarn: false
|
|
47701
|
-
});
|
|
47702
|
-
}
|
|
47703
48032
|
const internalState = __using2(__stack2, makeInternalState(), 0);
|
|
47704
48033
|
const pageResponsivenessController = createPageResponsivenessController({
|
|
47705
48034
|
intervalInMilliseconds: pageResponsivenessIntervalInMilliseconds,
|
|
@@ -47718,6 +48047,17 @@ var internalRenderMediaOnWeb = async ({
|
|
|
47718
48047
|
fps: resolved.fps,
|
|
47719
48048
|
logLevel
|
|
47720
48049
|
}), 0);
|
|
48050
|
+
const waitForRenderReady = async () => {
|
|
48051
|
+
await waitForReady({
|
|
48052
|
+
timeoutInMilliseconds: delayRenderTimeoutInMilliseconds,
|
|
48053
|
+
scope: delayRenderScope,
|
|
48054
|
+
signal,
|
|
48055
|
+
apiName: "renderMediaOnWeb",
|
|
48056
|
+
internalState,
|
|
48057
|
+
keepalive
|
|
48058
|
+
});
|
|
48059
|
+
checkForError(errorHolder);
|
|
48060
|
+
};
|
|
47721
48061
|
const artifactsHandler = handleArtifacts();
|
|
47722
48062
|
const webFsTarget = outputTarget === "web-fs" ? await createWebFsTarget() : null;
|
|
47723
48063
|
const target = webFsTarget ? new StreamTarget(webFsTarget.stream) : new BufferTarget;
|
|
@@ -47736,15 +48076,7 @@ var internalRenderMediaOnWeb = async ({
|
|
|
47736
48076
|
if (signal?.aborted) {
|
|
47737
48077
|
throw new Error("renderMediaOnWeb() was cancelled");
|
|
47738
48078
|
}
|
|
47739
|
-
await
|
|
47740
|
-
timeoutInMilliseconds: delayRenderTimeoutInMilliseconds,
|
|
47741
|
-
scope: delayRenderScope,
|
|
47742
|
-
signal,
|
|
47743
|
-
apiName: "renderMediaOnWeb",
|
|
47744
|
-
internalState,
|
|
47745
|
-
keepalive
|
|
47746
|
-
});
|
|
47747
|
-
checkForError(errorHolder);
|
|
48079
|
+
await waitForRenderReady();
|
|
47748
48080
|
if (signal?.aborted) {
|
|
47749
48081
|
throw new Error("renderMediaOnWeb() was cancelled");
|
|
47750
48082
|
}
|
|
@@ -47802,15 +48134,7 @@ var internalRenderMediaOnWeb = async ({
|
|
|
47802
48134
|
throw new Error("renderMediaOnWeb() was cancelled");
|
|
47803
48135
|
}
|
|
47804
48136
|
timeUpdater.current?.update(frame);
|
|
47805
|
-
await
|
|
47806
|
-
timeoutInMilliseconds: delayRenderTimeoutInMilliseconds,
|
|
47807
|
-
scope: delayRenderScope,
|
|
47808
|
-
signal,
|
|
47809
|
-
apiName: "renderMediaOnWeb",
|
|
47810
|
-
keepalive,
|
|
47811
|
-
internalState
|
|
47812
|
-
});
|
|
47813
|
-
checkForError(errorHolder);
|
|
48137
|
+
await waitForRenderReady();
|
|
47814
48138
|
if (signal?.aborted) {
|
|
47815
48139
|
throw new Error("renderMediaOnWeb() was cancelled");
|
|
47816
48140
|
}
|
|
@@ -47828,7 +48152,8 @@ var internalRenderMediaOnWeb = async ({
|
|
|
47828
48152
|
cutout: new DOMRect(0, 0, resolved.width, resolved.height),
|
|
47829
48153
|
htmlInCanvasContext,
|
|
47830
48154
|
onHtmlInCanvasLayerOutcome: htmlInCanvasContext ? onHtmlInCanvasLayerOutcome : undefined,
|
|
47831
|
-
waitForPageResponsiveness
|
|
48155
|
+
waitForPageResponsiveness,
|
|
48156
|
+
waitForRenderReady
|
|
47832
48157
|
});
|
|
47833
48158
|
internalState.addCreateFrameTime(performance.now() - createFrameStart);
|
|
47834
48159
|
layerCanvas = layer.canvas;
|
|
@@ -47997,7 +48322,6 @@ var renderMediaOnWeb = (options2) => {
|
|
|
47997
48322
|
muted: options2.muted ?? false,
|
|
47998
48323
|
scale: options2.scale ?? 1,
|
|
47999
48324
|
isProduction: options2.isProduction ?? true,
|
|
48000
|
-
allowHtmlInCanvas: options2.allowHtmlInCanvas ?? false,
|
|
48001
48325
|
sampleRate: options2.sampleRate ?? 48000
|
|
48002
48326
|
}));
|
|
48003
48327
|
return onlyOneRenderAtATimeQueue.ref;
|
|
@@ -48036,7 +48360,7 @@ var DemoErrorIcon = () => {
|
|
|
48036
48360
|
};
|
|
48037
48361
|
|
|
48038
48362
|
// src/components/homepage/Demo/DoneCheckmark.tsx
|
|
48039
|
-
import { jsx as jsx91, jsxs as
|
|
48363
|
+
import { jsx as jsx91, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
48040
48364
|
var DoneCheckmark = () => {
|
|
48041
48365
|
return /* @__PURE__ */ jsx91("div", {
|
|
48042
48366
|
style: {
|
|
@@ -48049,7 +48373,7 @@ var DoneCheckmark = () => {
|
|
|
48049
48373
|
justifyContent: "center",
|
|
48050
48374
|
animation: "jump 0.2s ease-out"
|
|
48051
48375
|
},
|
|
48052
|
-
children: /* @__PURE__ */
|
|
48376
|
+
children: /* @__PURE__ */ jsxs30("svg", {
|
|
48053
48377
|
viewBox: "0 0 20 20",
|
|
48054
48378
|
fill: "none",
|
|
48055
48379
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -48078,7 +48402,7 @@ var DoneCheckmark = () => {
|
|
|
48078
48402
|
};
|
|
48079
48403
|
|
|
48080
48404
|
// src/components/homepage/Demo/Progress.tsx
|
|
48081
|
-
import { jsx as jsx95, jsxs as
|
|
48405
|
+
import { jsx as jsx95, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
48082
48406
|
var Progress = ({ progress }) => {
|
|
48083
48407
|
const inner2 = makeCircle({
|
|
48084
48408
|
radius: 10
|
|
@@ -48088,7 +48412,7 @@ var Progress = ({ progress }) => {
|
|
|
48088
48412
|
closePath: false,
|
|
48089
48413
|
radius: 10
|
|
48090
48414
|
});
|
|
48091
|
-
return /* @__PURE__ */
|
|
48415
|
+
return /* @__PURE__ */ jsxs31("svg", {
|
|
48092
48416
|
viewBox: `0 0 ${inner2.width} ${inner2.height}`,
|
|
48093
48417
|
style: { overflow: "visible", height: 22 },
|
|
48094
48418
|
children: [
|
|
@@ -48111,7 +48435,7 @@ var Progress = ({ progress }) => {
|
|
|
48111
48435
|
|
|
48112
48436
|
// src/components/homepage/Demo/Spinner.tsx
|
|
48113
48437
|
import { useMemo as useMemo64 } from "react";
|
|
48114
|
-
import { jsx as jsx97, jsxs as
|
|
48438
|
+
import { jsx as jsx97, jsxs as jsxs34, Fragment as Fragment16 } from "react/jsx-runtime";
|
|
48115
48439
|
var viewBox2 = 100;
|
|
48116
48440
|
var lines2 = 8;
|
|
48117
48441
|
var className2 = "__remotion_spinner_line";
|
|
@@ -48124,7 +48448,7 @@ var Spinner2 = ({ size: size4, duration }) => {
|
|
|
48124
48448
|
height: size4
|
|
48125
48449
|
};
|
|
48126
48450
|
}, [size4]);
|
|
48127
|
-
return /* @__PURE__ */
|
|
48451
|
+
return /* @__PURE__ */ jsxs34(Fragment16, {
|
|
48128
48452
|
children: [
|
|
48129
48453
|
/* @__PURE__ */ jsx97("style", {
|
|
48130
48454
|
type: "text/css",
|
|
@@ -48280,7 +48604,7 @@ var RenderButton = ({ renderData, onError, playerRef }) => {
|
|
|
48280
48604
|
};
|
|
48281
48605
|
|
|
48282
48606
|
// src/components/homepage/Demo/DownloadNudge.tsx
|
|
48283
|
-
import { jsx as jsx99, jsxs as
|
|
48607
|
+
import { jsx as jsx99, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
48284
48608
|
var origWidth = 77;
|
|
48285
48609
|
var scale = 0.4;
|
|
48286
48610
|
var Icon3 = () => {
|
|
@@ -48310,7 +48634,7 @@ var DownloadNudge = () => {
|
|
|
48310
48634
|
paddingRight: 24,
|
|
48311
48635
|
paddingTop: 18
|
|
48312
48636
|
},
|
|
48313
|
-
children: /* @__PURE__ */
|
|
48637
|
+
children: /* @__PURE__ */ jsxs36("div", {
|
|
48314
48638
|
children: [
|
|
48315
48639
|
/* @__PURE__ */ jsx99(Icon3, {}),
|
|
48316
48640
|
/* @__PURE__ */ jsx99("div", {
|
|
@@ -48330,7 +48654,7 @@ var DownloadNudge = () => {
|
|
|
48330
48654
|
};
|
|
48331
48655
|
|
|
48332
48656
|
// src/components/homepage/Demo/DragAndDropNudge.tsx
|
|
48333
|
-
import { jsx as jsx100, jsxs as
|
|
48657
|
+
import { jsx as jsx100, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
48334
48658
|
var origWidth2 = 37;
|
|
48335
48659
|
var scale2 = 0.4;
|
|
48336
48660
|
var Icon5 = () => {
|
|
@@ -48360,7 +48684,7 @@ var DragAndDropNudge = () => {
|
|
|
48360
48684
|
marginTop: 18
|
|
48361
48685
|
},
|
|
48362
48686
|
className: "ml-4 lg:-ml-5",
|
|
48363
|
-
children: /* @__PURE__ */
|
|
48687
|
+
children: /* @__PURE__ */ jsxs37("div", {
|
|
48364
48688
|
children: [
|
|
48365
48689
|
/* @__PURE__ */ jsx100("div", {
|
|
48366
48690
|
style: {
|
|
@@ -48425,7 +48749,7 @@ var useElementSize2 = (ref) => {
|
|
|
48425
48749
|
};
|
|
48426
48750
|
|
|
48427
48751
|
// src/components/homepage/Demo/PlayerSeekBar.tsx
|
|
48428
|
-
import { jsx as jsx101, jsxs as
|
|
48752
|
+
import { jsx as jsx101, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
48429
48753
|
var getFrameFromX2 = (clientX, durationInFrames, width2) => {
|
|
48430
48754
|
const pos = clientX;
|
|
48431
48755
|
const frame = Math.round(interpolate(pos, [0, width2], [0, durationInFrames - 1], {
|
|
@@ -48634,12 +48958,12 @@ var PlayerSeekBar2 = ({
|
|
|
48634
48958
|
position: "absolute"
|
|
48635
48959
|
};
|
|
48636
48960
|
}, [durationInFrames, inFrame, outFrame]);
|
|
48637
|
-
return /* @__PURE__ */
|
|
48961
|
+
return /* @__PURE__ */ jsxs38("div", {
|
|
48638
48962
|
ref: containerRef,
|
|
48639
48963
|
onPointerDown,
|
|
48640
48964
|
style: containerStyle3,
|
|
48641
48965
|
children: [
|
|
48642
|
-
/* @__PURE__ */
|
|
48966
|
+
/* @__PURE__ */ jsxs38("div", {
|
|
48643
48967
|
style: barBackground2,
|
|
48644
48968
|
children: [
|
|
48645
48969
|
/* @__PURE__ */ jsx101("div", {
|
|
@@ -48866,7 +49190,7 @@ var TimeDisplay = ({ fps, playerRef }) => {
|
|
|
48866
49190
|
};
|
|
48867
49191
|
|
|
48868
49192
|
// src/components/homepage/Demo/PlayerControls.tsx
|
|
48869
|
-
import { jsx as jsx110, jsxs as
|
|
49193
|
+
import { jsx as jsx110, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
48870
49194
|
var Separator2 = () => {
|
|
48871
49195
|
return /* @__PURE__ */ jsx110("div", {
|
|
48872
49196
|
style: {
|
|
@@ -48876,7 +49200,7 @@ var Separator2 = () => {
|
|
|
48876
49200
|
});
|
|
48877
49201
|
};
|
|
48878
49202
|
var PlayerControls = ({ playerRef, durationInFrames, fps, children }) => {
|
|
48879
|
-
return /* @__PURE__ */
|
|
49203
|
+
return /* @__PURE__ */ jsxs39("div", {
|
|
48880
49204
|
className: "flex flex-row items-center bg-pane",
|
|
48881
49205
|
children: [
|
|
48882
49206
|
/* @__PURE__ */ jsx110(PlayPauseButton, {
|
|
@@ -48920,7 +49244,7 @@ var PlayerControls = ({ playerRef, durationInFrames, fps, children }) => {
|
|
|
48920
49244
|
|
|
48921
49245
|
// src/components/homepage/Demo/ThemeNudge.tsx
|
|
48922
49246
|
import React77 from "react";
|
|
48923
|
-
import { jsx as jsx111, jsxs as
|
|
49247
|
+
import { jsx as jsx111, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
48924
49248
|
var origWidth3 = 37;
|
|
48925
49249
|
var scale3 = 0.4;
|
|
48926
49250
|
var Icon6 = () => {
|
|
@@ -48956,9 +49280,9 @@ var ThemeNudge = () => {
|
|
|
48956
49280
|
position: "absolute"
|
|
48957
49281
|
},
|
|
48958
49282
|
className: "lg:top-3 lg:-right-6 right-0 top-0",
|
|
48959
|
-
children: /* @__PURE__ */
|
|
49283
|
+
children: /* @__PURE__ */ jsxs40("div", {
|
|
48960
49284
|
children: [
|
|
48961
|
-
/* @__PURE__ */
|
|
49285
|
+
/* @__PURE__ */ jsxs40("div", {
|
|
48962
49286
|
style: {
|
|
48963
49287
|
fontFamily: FONTS.GTPLANAR,
|
|
48964
49288
|
fontSize: 15,
|
|
@@ -48969,7 +49293,7 @@ var ThemeNudge = () => {
|
|
|
48969
49293
|
marginTop: 5
|
|
48970
49294
|
},
|
|
48971
49295
|
children: [
|
|
48972
|
-
/* @__PURE__ */
|
|
49296
|
+
/* @__PURE__ */ jsxs40("a", {
|
|
48973
49297
|
href: "#",
|
|
48974
49298
|
onClick: toggleTheme,
|
|
48975
49299
|
className: "bluelink",
|
|
@@ -48991,7 +49315,7 @@ var ThemeNudge = () => {
|
|
|
48991
49315
|
};
|
|
48992
49316
|
|
|
48993
49317
|
// src/components/homepage/Demo/index.tsx
|
|
48994
|
-
import { jsx as jsx115, jsxs as
|
|
49318
|
+
import { jsx as jsx115, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
48995
49319
|
var style3 = {
|
|
48996
49320
|
width: "100%",
|
|
48997
49321
|
aspectRatio: "640 / 360",
|
|
@@ -49059,7 +49383,7 @@ var Demo = () => {
|
|
|
49059
49383
|
const onError = useCallback55(() => {
|
|
49060
49384
|
setError(true);
|
|
49061
49385
|
}, []);
|
|
49062
|
-
return /* @__PURE__ */
|
|
49386
|
+
return /* @__PURE__ */ jsxs41("div", {
|
|
49063
49387
|
id: "demo",
|
|
49064
49388
|
children: [
|
|
49065
49389
|
/* @__PURE__ */ jsx115("br", {}),
|
|
@@ -49067,17 +49391,17 @@ var Demo = () => {
|
|
|
49067
49391
|
/* @__PURE__ */ jsx115(SectionTitle, {
|
|
49068
49392
|
children: "Interactive demo"
|
|
49069
49393
|
}),
|
|
49070
|
-
/* @__PURE__ */
|
|
49394
|
+
/* @__PURE__ */ jsxs41("div", {
|
|
49071
49395
|
className: "max-w-[760px] mx-auto",
|
|
49072
49396
|
children: [
|
|
49073
|
-
/* @__PURE__ */
|
|
49397
|
+
/* @__PURE__ */ jsxs41("div", {
|
|
49074
49398
|
className: "h-[105px] relative",
|
|
49075
49399
|
children: [
|
|
49076
49400
|
/* @__PURE__ */ jsx115(DragAndDropNudge, {}),
|
|
49077
49401
|
/* @__PURE__ */ jsx115(ThemeNudge, {})
|
|
49078
49402
|
]
|
|
49079
49403
|
}),
|
|
49080
|
-
/* @__PURE__ */
|
|
49404
|
+
/* @__PURE__ */ jsxs41("div", {
|
|
49081
49405
|
style: playerWrapper,
|
|
49082
49406
|
children: [
|
|
49083
49407
|
/* @__PURE__ */ jsx115(Player, {
|
|
@@ -49166,7 +49490,7 @@ var BlueButton = (props) => {
|
|
|
49166
49490
|
};
|
|
49167
49491
|
|
|
49168
49492
|
// src/components/homepage/EvaluateRemotion.tsx
|
|
49169
|
-
import { jsx as jsx118, jsxs as
|
|
49493
|
+
import { jsx as jsx118, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
49170
49494
|
var EvaluateRemotionSection = () => {
|
|
49171
49495
|
const [dailyAvatars, setDailyAvatars] = useState57([]);
|
|
49172
49496
|
useEffect58(() => {
|
|
@@ -49179,10 +49503,10 @@ var EvaluateRemotionSection = () => {
|
|
|
49179
49503
|
}
|
|
49180
49504
|
setDailyAvatars(selectedAvatars);
|
|
49181
49505
|
}, []);
|
|
49182
|
-
return /* @__PURE__ */
|
|
49506
|
+
return /* @__PURE__ */ jsxs44("div", {
|
|
49183
49507
|
className: "flex flex-col lg:flex-row gap-2",
|
|
49184
49508
|
children: [
|
|
49185
|
-
/* @__PURE__ */
|
|
49509
|
+
/* @__PURE__ */ jsxs44("div", {
|
|
49186
49510
|
className: "card flex-1 flex flex-col",
|
|
49187
49511
|
children: [
|
|
49188
49512
|
/* @__PURE__ */ jsx118("div", {
|
|
@@ -49196,7 +49520,7 @@ var EvaluateRemotionSection = () => {
|
|
|
49196
49520
|
/* @__PURE__ */ jsx118("div", {
|
|
49197
49521
|
className: "flex-1"
|
|
49198
49522
|
}),
|
|
49199
|
-
/* @__PURE__ */
|
|
49523
|
+
/* @__PURE__ */ jsxs44("div", {
|
|
49200
49524
|
className: "flex flex-row flex-wrap gap-2",
|
|
49201
49525
|
children: [
|
|
49202
49526
|
/* @__PURE__ */ jsx118("a", {
|
|
@@ -49223,7 +49547,7 @@ var EvaluateRemotionSection = () => {
|
|
|
49223
49547
|
})
|
|
49224
49548
|
]
|
|
49225
49549
|
}),
|
|
49226
|
-
/* @__PURE__ */
|
|
49550
|
+
/* @__PURE__ */ jsxs44("div", {
|
|
49227
49551
|
className: "card flex-1 flex flex-col",
|
|
49228
49552
|
children: [
|
|
49229
49553
|
/* @__PURE__ */ jsx118("div", {
|
|
@@ -49237,7 +49561,7 @@ var EvaluateRemotionSection = () => {
|
|
|
49237
49561
|
/* @__PURE__ */ jsx118("div", {
|
|
49238
49562
|
className: "flex-1"
|
|
49239
49563
|
}),
|
|
49240
|
-
/* @__PURE__ */
|
|
49564
|
+
/* @__PURE__ */ jsxs44("div", {
|
|
49241
49565
|
className: "flex flex-row justify-between",
|
|
49242
49566
|
children: [
|
|
49243
49567
|
/* @__PURE__ */ jsx118("a", {
|
|
@@ -49270,13 +49594,13 @@ import { useEffect as useEffect59, useRef as useRef60 } from "react";
|
|
|
49270
49594
|
|
|
49271
49595
|
// src/components/homepage/MakeVideosLinks.tsx
|
|
49272
49596
|
import React80 from "react";
|
|
49273
|
-
import { jsx as jsx119, jsxs as
|
|
49597
|
+
import { jsx as jsx119, jsxs as jsxs46, Fragment as Fragment17 } from "react/jsx-runtime";
|
|
49274
49598
|
var icon3 = {
|
|
49275
49599
|
height: 16,
|
|
49276
49600
|
marginLeft: 10
|
|
49277
49601
|
};
|
|
49278
49602
|
var MakeVideosLinkItem = ({ href, label: label3 }) => {
|
|
49279
|
-
return /* @__PURE__ */
|
|
49603
|
+
return /* @__PURE__ */ jsxs46("a", {
|
|
49280
49604
|
className: "no-underline text-[var(--subtitle)] font-brand font-medium text-sm inline-flex flex-row items-center",
|
|
49281
49605
|
href,
|
|
49282
49606
|
children: [
|
|
@@ -49297,7 +49621,7 @@ var MakeVideosLinks = ({ links }) => {
|
|
|
49297
49621
|
if (links.length === 0) {
|
|
49298
49622
|
return null;
|
|
49299
49623
|
}
|
|
49300
|
-
return /* @__PURE__ */
|
|
49624
|
+
return /* @__PURE__ */ jsxs46(Fragment17, {
|
|
49301
49625
|
children: [
|
|
49302
49626
|
/* @__PURE__ */ jsx119("div", {
|
|
49303
49627
|
className: "h-4"
|
|
@@ -49305,7 +49629,7 @@ var MakeVideosLinks = ({ links }) => {
|
|
|
49305
49629
|
/* @__PURE__ */ jsx119("div", {
|
|
49306
49630
|
className: "leading-6",
|
|
49307
49631
|
children: links.map((link) => {
|
|
49308
|
-
return /* @__PURE__ */
|
|
49632
|
+
return /* @__PURE__ */ jsxs46(React80.Fragment, {
|
|
49309
49633
|
children: [
|
|
49310
49634
|
/* @__PURE__ */ jsx119(MakeVideosLinkItem, {
|
|
49311
49635
|
...link
|
|
@@ -49320,9 +49644,9 @@ var MakeVideosLinks = ({ links }) => {
|
|
|
49320
49644
|
};
|
|
49321
49645
|
|
|
49322
49646
|
// src/components/homepage/MakeVideosAgentically.tsx
|
|
49323
|
-
import { jsx as jsx120, jsxs as
|
|
49647
|
+
import { jsx as jsx120, jsxs as jsxs47, Fragment as Fragment18 } from "react/jsx-runtime";
|
|
49324
49648
|
var MakeVideosAgentically = ({
|
|
49325
|
-
title = /* @__PURE__ */
|
|
49649
|
+
title = /* @__PURE__ */ jsxs47(Fragment18, {
|
|
49326
49650
|
children: [
|
|
49327
49651
|
/* @__PURE__ */ jsx120("span", {
|
|
49328
49652
|
className: "text-[var(--subtitle)]",
|
|
@@ -49361,13 +49685,13 @@ var MakeVideosAgentically = ({
|
|
|
49361
49685
|
observer.observe(current);
|
|
49362
49686
|
return () => observer.unobserve(current);
|
|
49363
49687
|
}, []);
|
|
49364
|
-
return /* @__PURE__ */
|
|
49688
|
+
return /* @__PURE__ */ jsxs47("div", {
|
|
49365
49689
|
ref,
|
|
49366
49690
|
className: "flex min-w-0 basis-0 flex-col flex-1",
|
|
49367
49691
|
children: [
|
|
49368
49692
|
/* @__PURE__ */ jsx120("div", {
|
|
49369
49693
|
className: "flex aspect-square w-full items-start",
|
|
49370
|
-
children: showVideo ? /* @__PURE__ */
|
|
49694
|
+
children: showVideo ? /* @__PURE__ */ jsxs47("video", {
|
|
49371
49695
|
ref: videoRef,
|
|
49372
49696
|
muted: true,
|
|
49373
49697
|
autoPlay: true,
|
|
@@ -49394,7 +49718,7 @@ var MakeVideosAgentically = ({
|
|
|
49394
49718
|
]
|
|
49395
49719
|
}) : null
|
|
49396
49720
|
}),
|
|
49397
|
-
/* @__PURE__ */
|
|
49721
|
+
/* @__PURE__ */ jsxs47("div", {
|
|
49398
49722
|
className: "font-brand",
|
|
49399
49723
|
children: [
|
|
49400
49724
|
/* @__PURE__ */ jsx120("h2", {
|
|
@@ -49416,9 +49740,9 @@ var MakeVideosAgentically = ({
|
|
|
49416
49740
|
|
|
49417
49741
|
// src/components/homepage/MakeVideosInteractively.tsx
|
|
49418
49742
|
import { useRef as useRef61 } from "react";
|
|
49419
|
-
import { jsx as jsx121, jsxs as
|
|
49743
|
+
import { jsx as jsx121, jsxs as jsxs48, Fragment as Fragment19 } from "react/jsx-runtime";
|
|
49420
49744
|
var MakeVideosInteractively = ({
|
|
49421
|
-
title = /* @__PURE__ */
|
|
49745
|
+
title = /* @__PURE__ */ jsxs48(Fragment19, {
|
|
49422
49746
|
children: [
|
|
49423
49747
|
/* @__PURE__ */ jsx121("span", {
|
|
49424
49748
|
className: "text-[var(--subtitle)]",
|
|
@@ -49436,13 +49760,13 @@ var MakeVideosInteractively = ({
|
|
|
49436
49760
|
fallbackVideoSrc = "/img/editing-safari.mp4"
|
|
49437
49761
|
}) => {
|
|
49438
49762
|
const ref = useRef61(null);
|
|
49439
|
-
return /* @__PURE__ */
|
|
49763
|
+
return /* @__PURE__ */ jsxs48("div", {
|
|
49440
49764
|
ref,
|
|
49441
49765
|
className: "flex min-w-0 basis-0 flex-col justify-start items-start lg:mt-0 flex-1",
|
|
49442
49766
|
children: [
|
|
49443
49767
|
/* @__PURE__ */ jsx121("div", {
|
|
49444
49768
|
className: "flex aspect-square w-full items-start",
|
|
49445
|
-
children: showVideo ? /* @__PURE__ */
|
|
49769
|
+
children: showVideo ? /* @__PURE__ */ jsxs48("video", {
|
|
49446
49770
|
autoPlay: true,
|
|
49447
49771
|
muted: true,
|
|
49448
49772
|
playsInline: true,
|
|
@@ -49468,7 +49792,7 @@ var MakeVideosInteractively = ({
|
|
|
49468
49792
|
]
|
|
49469
49793
|
}) : null
|
|
49470
49794
|
}),
|
|
49471
|
-
/* @__PURE__ */
|
|
49795
|
+
/* @__PURE__ */ jsxs48("div", {
|
|
49472
49796
|
className: "font-brand",
|
|
49473
49797
|
children: [
|
|
49474
49798
|
/* @__PURE__ */ jsx121("h2", {
|
|
@@ -49489,9 +49813,9 @@ var MakeVideosInteractively = ({
|
|
|
49489
49813
|
};
|
|
49490
49814
|
|
|
49491
49815
|
// src/components/homepage/MakeVideosProgrammatically.tsx
|
|
49492
|
-
import { jsx as jsx125, jsxs as
|
|
49816
|
+
import { jsx as jsx125, jsxs as jsxs49, Fragment as Fragment20 } from "react/jsx-runtime";
|
|
49493
49817
|
var MakeVideosProgrammatically = ({
|
|
49494
|
-
title = /* @__PURE__ */
|
|
49818
|
+
title = /* @__PURE__ */ jsxs49(Fragment20, {
|
|
49495
49819
|
children: [
|
|
49496
49820
|
/* @__PURE__ */ jsx125("span", {
|
|
49497
49821
|
className: "text-[var(--subtitle)]",
|
|
@@ -49508,12 +49832,12 @@ var MakeVideosProgrammatically = ({
|
|
|
49508
49832
|
videoSrc = "/img/what-is-remotion.webm",
|
|
49509
49833
|
fallbackVideoSrc = "/img/what-is-remotion.mp4"
|
|
49510
49834
|
}) => {
|
|
49511
|
-
return /* @__PURE__ */
|
|
49835
|
+
return /* @__PURE__ */ jsxs49("div", {
|
|
49512
49836
|
className: "flex min-w-0 basis-0 flex-col flex-1",
|
|
49513
49837
|
children: [
|
|
49514
49838
|
/* @__PURE__ */ jsx125("div", {
|
|
49515
49839
|
className: "flex aspect-square w-full items-start",
|
|
49516
|
-
children: showVideo ? /* @__PURE__ */
|
|
49840
|
+
children: showVideo ? /* @__PURE__ */ jsxs49("video", {
|
|
49517
49841
|
muted: true,
|
|
49518
49842
|
autoPlay: true,
|
|
49519
49843
|
playsInline: true,
|
|
@@ -49532,7 +49856,7 @@ var MakeVideosProgrammatically = ({
|
|
|
49532
49856
|
]
|
|
49533
49857
|
}) : null
|
|
49534
49858
|
}),
|
|
49535
|
-
/* @__PURE__ */
|
|
49859
|
+
/* @__PURE__ */ jsxs49("div", {
|
|
49536
49860
|
className: "font-brand",
|
|
49537
49861
|
children: [
|
|
49538
49862
|
/* @__PURE__ */ jsx125("h2", {
|
|
@@ -49554,7 +49878,7 @@ var MakeVideosProgrammatically = ({
|
|
|
49554
49878
|
|
|
49555
49879
|
// src/components/homepage/NewsletterButton.tsx
|
|
49556
49880
|
import { useCallback as useCallback56, useState as useState58 } from "react";
|
|
49557
|
-
import { jsx as jsx127, jsxs as
|
|
49881
|
+
import { jsx as jsx127, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
49558
49882
|
var NewsletterButton = () => {
|
|
49559
49883
|
const [email, setEmail] = useState58("");
|
|
49560
49884
|
const [submitting, setSubmitting] = useState58(false);
|
|
@@ -49586,26 +49910,26 @@ var NewsletterButton = () => {
|
|
|
49586
49910
|
className: "flex flex-col",
|
|
49587
49911
|
children: /* @__PURE__ */ jsx127("div", {
|
|
49588
49912
|
className: "w-full",
|
|
49589
|
-
children: /* @__PURE__ */
|
|
49913
|
+
children: /* @__PURE__ */ jsxs50("div", {
|
|
49590
49914
|
className: "flex flex-col flex-1",
|
|
49591
49915
|
children: [
|
|
49592
49916
|
/* @__PURE__ */ jsx127(SectionTitle, {
|
|
49593
49917
|
children: "Newsletter"
|
|
49594
49918
|
}),
|
|
49595
|
-
/* @__PURE__ */
|
|
49919
|
+
/* @__PURE__ */ jsxs50("form", {
|
|
49596
49920
|
onSubmit: handleSubmit,
|
|
49597
49921
|
style: {
|
|
49598
49922
|
width: "100%"
|
|
49599
49923
|
},
|
|
49600
49924
|
children: [
|
|
49601
|
-
/* @__PURE__ */
|
|
49925
|
+
/* @__PURE__ */ jsxs50("div", {
|
|
49602
49926
|
className: "fontbrand text-center mb-10 -mt-4",
|
|
49603
49927
|
children: [
|
|
49604
49928
|
"Read about new features and noteworthy updates we have made on Remotion once in a while.",
|
|
49605
49929
|
" "
|
|
49606
49930
|
]
|
|
49607
49931
|
}),
|
|
49608
|
-
/* @__PURE__ */
|
|
49932
|
+
/* @__PURE__ */ jsxs50("div", {
|
|
49609
49933
|
className: "flex flex-col md:flex-row gap-2 justify-center",
|
|
49610
49934
|
children: [
|
|
49611
49935
|
/* @__PURE__ */ jsx127(Input, {
|
|
@@ -49641,7 +49965,7 @@ var NewsletterButton = () => {
|
|
|
49641
49965
|
};
|
|
49642
49966
|
|
|
49643
49967
|
// src/components/homepage/TrustedByBanner.tsx
|
|
49644
|
-
import { jsx as jsx128, jsxs as
|
|
49968
|
+
import { jsx as jsx128, jsxs as jsxs51, Fragment as Fragment21 } from "react/jsx-runtime";
|
|
49645
49969
|
var TrustedByBanner = () => {
|
|
49646
49970
|
const logos = [
|
|
49647
49971
|
{
|
|
@@ -49661,7 +49985,7 @@ var TrustedByBanner = () => {
|
|
|
49661
49985
|
{
|
|
49662
49986
|
id: "logo2",
|
|
49663
49987
|
url: "https://www.musixmatch.com/",
|
|
49664
|
-
light: /* @__PURE__ */
|
|
49988
|
+
light: /* @__PURE__ */ jsxs51("svg", {
|
|
49665
49989
|
height: "40",
|
|
49666
49990
|
viewBox: "0 0 229 48",
|
|
49667
49991
|
fill: "none",
|
|
@@ -49721,7 +50045,7 @@ var TrustedByBanner = () => {
|
|
|
49721
50045
|
{
|
|
49722
50046
|
id: "logo3",
|
|
49723
50047
|
url: "https://www.wistia.com/",
|
|
49724
|
-
light: /* @__PURE__ */
|
|
50048
|
+
light: /* @__PURE__ */ jsxs51("svg", {
|
|
49725
50049
|
height: "30",
|
|
49726
50050
|
viewBox: "0 0 165 36",
|
|
49727
50051
|
fill: "none",
|
|
@@ -49754,7 +50078,7 @@ var TrustedByBanner = () => {
|
|
|
49754
50078
|
})
|
|
49755
50079
|
}
|
|
49756
50080
|
];
|
|
49757
|
-
return /* @__PURE__ */
|
|
50081
|
+
return /* @__PURE__ */ jsxs51(Fragment21, {
|
|
49758
50082
|
children: [
|
|
49759
50083
|
/* @__PURE__ */ jsx128("h3", {
|
|
49760
50084
|
className: "text-center mt-20 mb-10",
|
|
@@ -49920,7 +50244,7 @@ var MuxVideoForward = ({ muxId, ...props }, ref) => {
|
|
|
49920
50244
|
var MuxVideo = forwardRef41(MuxVideoForward);
|
|
49921
50245
|
|
|
49922
50246
|
// src/components/homepage/VideoAppsShowcase.tsx
|
|
49923
|
-
import { jsx as jsx131, jsxs as
|
|
50247
|
+
import { jsx as jsx131, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
49924
50248
|
var tabs = [
|
|
49925
50249
|
"Music visualization",
|
|
49926
50250
|
"Captions",
|
|
@@ -50027,7 +50351,7 @@ var BuiltWithRemotionShowcase = () => {
|
|
|
50027
50351
|
setIsMuted(newMutedState);
|
|
50028
50352
|
}
|
|
50029
50353
|
};
|
|
50030
|
-
return /* @__PURE__ */
|
|
50354
|
+
return /* @__PURE__ */ jsxs53("div", {
|
|
50031
50355
|
ref: containerRef,
|
|
50032
50356
|
children: [
|
|
50033
50357
|
/* @__PURE__ */ jsx131(SectionTitle, {
|
|
@@ -50046,10 +50370,10 @@ var BuiltWithRemotionShowcase = () => {
|
|
|
50046
50370
|
/* @__PURE__ */ jsx131("div", {
|
|
50047
50371
|
className: "card flex p-0 overflow-hidden",
|
|
50048
50372
|
"data-nosnippet": true,
|
|
50049
|
-
children: /* @__PURE__ */
|
|
50373
|
+
children: /* @__PURE__ */ jsxs53("div", {
|
|
50050
50374
|
className: "flex-1 grid grid-cols-1 lg:grid-cols-2",
|
|
50051
50375
|
children: [
|
|
50052
|
-
/* @__PURE__ */
|
|
50376
|
+
/* @__PURE__ */ jsxs53("div", {
|
|
50053
50377
|
className: "w-full aspect-video lg:aspect-square relative overflow-hidden bg-[#eee] cursor-pointer",
|
|
50054
50378
|
onClick: handlePlayPause,
|
|
50055
50379
|
children: [
|
|
@@ -50113,7 +50437,7 @@ var BuiltWithRemotionShowcase = () => {
|
|
|
50113
50437
|
})
|
|
50114
50438
|
]
|
|
50115
50439
|
}),
|
|
50116
|
-
/* @__PURE__ */
|
|
50440
|
+
/* @__PURE__ */ jsxs53("div", {
|
|
50117
50441
|
className: "p-6 lg:p-10 flex min-w-0 flex-col justify-center",
|
|
50118
50442
|
children: [
|
|
50119
50443
|
/* @__PURE__ */ jsx131("div", {
|
|
@@ -50131,7 +50455,7 @@ var BuiltWithRemotionShowcase = () => {
|
|
|
50131
50455
|
/* @__PURE__ */ jsx131("div", {
|
|
50132
50456
|
className: "h-5"
|
|
50133
50457
|
}),
|
|
50134
|
-
/* @__PURE__ */
|
|
50458
|
+
/* @__PURE__ */ jsxs53("a", {
|
|
50135
50459
|
className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center",
|
|
50136
50460
|
href: videoApps[activeTab].link,
|
|
50137
50461
|
children: [
|
|
@@ -50150,7 +50474,7 @@ var BuiltWithRemotionShowcase = () => {
|
|
|
50150
50474
|
justifyContent: "center",
|
|
50151
50475
|
display: "flex"
|
|
50152
50476
|
},
|
|
50153
|
-
children: /* @__PURE__ */
|
|
50477
|
+
children: /* @__PURE__ */ jsxs53("div", {
|
|
50154
50478
|
style: {
|
|
50155
50479
|
fontFamily: "GTPlanar"
|
|
50156
50480
|
},
|
|
@@ -50174,7 +50498,7 @@ var BuiltWithRemotionShowcase = () => {
|
|
|
50174
50498
|
import { useState as useState61 } from "react";
|
|
50175
50499
|
|
|
50176
50500
|
// src/components/homepage/GitHubButton.tsx
|
|
50177
|
-
import { jsx as jsx134, jsxs as
|
|
50501
|
+
import { jsx as jsx134, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
50178
50502
|
var GithubIcon = () => {
|
|
50179
50503
|
return /* @__PURE__ */ jsx134("svg", {
|
|
50180
50504
|
viewBox: "0 0 496 512",
|
|
@@ -50186,7 +50510,7 @@ var GithubIcon = () => {
|
|
|
50186
50510
|
});
|
|
50187
50511
|
};
|
|
50188
50512
|
var GithubButton = () => {
|
|
50189
|
-
return /* @__PURE__ */
|
|
50513
|
+
return /* @__PURE__ */ jsxs55("div", {
|
|
50190
50514
|
className: "flex flex-row items-center text-base",
|
|
50191
50515
|
children: [
|
|
50192
50516
|
/* @__PURE__ */ jsx134(GithubIcon, {}),
|
|
@@ -50204,15 +50528,15 @@ var GithubButton = () => {
|
|
|
50204
50528
|
};
|
|
50205
50529
|
|
|
50206
50530
|
// src/components/homepage/GetStartedStrip.tsx
|
|
50207
|
-
import { jsx as jsx136, jsxs as
|
|
50531
|
+
import { jsx as jsx136, jsxs as jsxs56 } from "react/jsx-runtime";
|
|
50208
50532
|
var GetStarted = () => {
|
|
50209
50533
|
const [clicked, setClicked] = useState61(null);
|
|
50210
|
-
return /* @__PURE__ */
|
|
50534
|
+
return /* @__PURE__ */ jsxs56("div", {
|
|
50211
50535
|
className: "flex flex-col lg:flex-row items-center justify-center text-center w-full",
|
|
50212
50536
|
children: [
|
|
50213
50537
|
/* @__PURE__ */ jsx136("div", {
|
|
50214
50538
|
className: "w-full lg:w-auto",
|
|
50215
|
-
children: /* @__PURE__ */
|
|
50539
|
+
children: /* @__PURE__ */ jsxs56("div", {
|
|
50216
50540
|
className: "flex flex-row w-full relative",
|
|
50217
50541
|
children: [
|
|
50218
50542
|
clicked ? /* @__PURE__ */ jsx136("div", {
|
|
@@ -50275,9 +50599,9 @@ var GetStarted = () => {
|
|
|
50275
50599
|
};
|
|
50276
50600
|
|
|
50277
50601
|
// src/components/homepage/WriteInReact.tsx
|
|
50278
|
-
import { jsx as jsx137, jsxs as
|
|
50602
|
+
import { jsx as jsx137, jsxs as jsxs57 } from "react/jsx-runtime";
|
|
50279
50603
|
var WriteInReact = () => {
|
|
50280
|
-
return /* @__PURE__ */
|
|
50604
|
+
return /* @__PURE__ */ jsxs57("div", {
|
|
50281
50605
|
children: [
|
|
50282
50606
|
/* @__PURE__ */ jsx137("h1", {
|
|
50283
50607
|
className: "text-4xl sm:text-5xl lg:text-[5em] text-center fontbrand font-black leading-none text-balance",
|
|
@@ -50286,7 +50610,7 @@ var WriteInReact = () => {
|
|
|
50286
50610
|
},
|
|
50287
50611
|
children: "Make videos programmatically."
|
|
50288
50612
|
}),
|
|
50289
|
-
/* @__PURE__ */
|
|
50613
|
+
/* @__PURE__ */ jsxs57("p", {
|
|
50290
50614
|
style: {
|
|
50291
50615
|
textShadow: "0 5px 30px var(--background)"
|
|
50292
50616
|
},
|
|
@@ -50308,7 +50632,7 @@ var WriteInReact = () => {
|
|
|
50308
50632
|
};
|
|
50309
50633
|
|
|
50310
50634
|
// src/components/Homepage.tsx
|
|
50311
|
-
import { jsx as jsx138, jsxs as
|
|
50635
|
+
import { jsx as jsx138, jsxs as jsxs58 } from "react/jsx-runtime";
|
|
50312
50636
|
"use client";
|
|
50313
50637
|
var makeVideosRowClassName = "mt-4 md:mt-6 flex flex-col lg:flex-row gap-10";
|
|
50314
50638
|
var NewLanding = ({ colorMode, setColorMode }) => {
|
|
@@ -50317,7 +50641,7 @@ var NewLanding = ({ colorMode, setColorMode }) => {
|
|
|
50317
50641
|
setColorMode,
|
|
50318
50642
|
children: /* @__PURE__ */ jsx138("div", {
|
|
50319
50643
|
className: "w-full relative",
|
|
50320
|
-
children: /* @__PURE__ */
|
|
50644
|
+
children: /* @__PURE__ */ jsxs58("div", {
|
|
50321
50645
|
style: { overflow: "hidden" },
|
|
50322
50646
|
children: [
|
|
50323
50647
|
/* @__PURE__ */ jsx138("div", {
|
|
@@ -50327,12 +50651,12 @@ var NewLanding = ({ colorMode, setColorMode }) => {
|
|
|
50327
50651
|
/* @__PURE__ */ jsx138("br", {}),
|
|
50328
50652
|
/* @__PURE__ */ jsx138("br", {}),
|
|
50329
50653
|
/* @__PURE__ */ jsx138("br", {}),
|
|
50330
|
-
/* @__PURE__ */
|
|
50654
|
+
/* @__PURE__ */ jsxs58("div", {
|
|
50331
50655
|
className: "max-w-[500px] lg:max-w-[1000px] m-auto pl-5 pr-5 overflow-x-clip md:overflow-x-visible relative",
|
|
50332
50656
|
children: [
|
|
50333
50657
|
/* @__PURE__ */ jsx138(WriteInReact, {}),
|
|
50334
50658
|
/* @__PURE__ */ jsx138("br", {}),
|
|
50335
|
-
/* @__PURE__ */
|
|
50659
|
+
/* @__PURE__ */ jsxs58("div", {
|
|
50336
50660
|
className: makeVideosRowClassName,
|
|
50337
50661
|
children: [
|
|
50338
50662
|
/* @__PURE__ */ jsx138(MakeVideosAgentically, {
|