@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/experts.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,",
|