@remotion/promo-pages 4.0.490 → 4.0.492
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 +1026 -618
- 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 +520 -359
- package/dist/experts.js +358 -197
- package/dist/homepage/Pricing.js +537 -376
- package/dist/prompts/PromptsGallery.js +517 -356
- package/dist/prompts/PromptsShow.js +523 -362
- package/dist/prompts/PromptsSubmit.js +509 -348
- package/dist/team.js +496 -335
- package/dist/template-modal-content.js +537 -376
- package/dist/templates.js +537 -374
- package/package.json +13 -13
package/dist/experts.js
CHANGED
|
@@ -941,6 +941,7 @@ import * as React6 from "react";
|
|
|
941
941
|
import React7, { useMemo as useMemo6, useRef as useRef2 } from "react";
|
|
942
942
|
import { useContext as useContext8, useMemo as useMemo7 } from "react";
|
|
943
943
|
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
944
|
+
import React9 from "react";
|
|
944
945
|
import {
|
|
945
946
|
forwardRef as forwardRef3,
|
|
946
947
|
useCallback as useCallback6,
|
|
@@ -966,11 +967,11 @@ import { useContext as useContext13 } from "react";
|
|
|
966
967
|
import { useContext as useContext12, useMemo as useMemo10 } from "react";
|
|
967
968
|
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
968
969
|
import { createContext as createContext14 } from "react";
|
|
969
|
-
import
|
|
970
|
+
import React12, { useCallback as useCallback5, useMemo as useMemo12, useRef as useRef4, useState as useState3 } from "react";
|
|
970
971
|
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
971
|
-
import
|
|
972
|
+
import React13, { createContext as createContext15 } from "react";
|
|
972
973
|
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
973
|
-
import
|
|
974
|
+
import React14, { forwardRef as forwardRef2, useContext as useContext16, useMemo as useMemo13, useState as useState4 } from "react";
|
|
974
975
|
import { useContext as useContext15, useRef as useRef5 } from "react";
|
|
975
976
|
import { createContext as createContext16 } from "react";
|
|
976
977
|
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
@@ -982,7 +983,7 @@ import {
|
|
|
982
983
|
useRef as useRef9,
|
|
983
984
|
useState as useState6
|
|
984
985
|
} from "react";
|
|
985
|
-
import
|
|
986
|
+
import React16, { useCallback as useCallback7, useImperativeHandle, useMemo as useMemo16, useRef as useRef8 } from "react";
|
|
986
987
|
import { useEffect as useEffect4, useMemo as useMemo15, useRef as useRef7 } from "react";
|
|
987
988
|
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
988
989
|
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
@@ -998,7 +999,7 @@ import {
|
|
|
998
999
|
} from "react";
|
|
999
1000
|
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
1000
1001
|
import { forwardRef as forwardRef7, useCallback as useCallback14, useContext as useContext30 } from "react";
|
|
1001
|
-
import
|
|
1002
|
+
import React17, { createContext as createContext18, useMemo as useMemo18 } from "react";
|
|
1002
1003
|
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
1003
1004
|
import { useContext as useContext19 } from "react";
|
|
1004
1005
|
import { createContext as createContext19, useEffect as useEffect6, useState as useState9 } from "react";
|
|
@@ -1006,7 +1007,7 @@ import { jsx as jsx17 } from "react/jsx-runtime";
|
|
|
1006
1007
|
import { createContext as createContext20, useMemo as useMemo19, useReducer } from "react";
|
|
1007
1008
|
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
1008
1009
|
import { useCallback as useCallback13 } from "react";
|
|
1009
|
-
import
|
|
1010
|
+
import React23, {
|
|
1010
1011
|
forwardRef as forwardRef5,
|
|
1011
1012
|
useContext as useContext28,
|
|
1012
1013
|
useEffect as useEffect14,
|
|
@@ -1016,7 +1017,7 @@ import React22, {
|
|
|
1016
1017
|
useState as useState14
|
|
1017
1018
|
} from "react";
|
|
1018
1019
|
import { useContext as useContext21, useLayoutEffect as useLayoutEffect5, useRef as useRef14 } from "react";
|
|
1019
|
-
import
|
|
1020
|
+
import React20, {
|
|
1020
1021
|
createContext as createContext21,
|
|
1021
1022
|
createRef as createRef2,
|
|
1022
1023
|
useCallback as useCallback9,
|
|
@@ -1040,7 +1041,7 @@ import {
|
|
|
1040
1041
|
} from "react";
|
|
1041
1042
|
import { useCallback as useCallback11, useMemo as useMemo25, useRef as useRef16 } from "react";
|
|
1042
1043
|
import { useContext as useContext25, useMemo as useMemo24 } from "react";
|
|
1043
|
-
import
|
|
1044
|
+
import React21, {
|
|
1044
1045
|
useCallback as useCallback10,
|
|
1045
1046
|
useContext as useContext24,
|
|
1046
1047
|
useEffect as useEffect9,
|
|
@@ -1050,7 +1051,7 @@ import React20, {
|
|
|
1050
1051
|
useState as useState12
|
|
1051
1052
|
} from "react";
|
|
1052
1053
|
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
1053
|
-
import
|
|
1054
|
+
import React22 from "react";
|
|
1054
1055
|
import { useEffect as useEffect10, useState as useState13 } from "react";
|
|
1055
1056
|
import { useEffect as useEffect11, useRef as useRef17 } from "react";
|
|
1056
1057
|
import { useEffect as useEffect13 } from "react";
|
|
@@ -1108,10 +1109,10 @@ import {
|
|
|
1108
1109
|
useState as useState18
|
|
1109
1110
|
} from "react";
|
|
1110
1111
|
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
1111
|
-
import
|
|
1112
|
+
import React30, { forwardRef as forwardRef12, useCallback as useCallback20, useRef as useRef25 } from "react";
|
|
1112
1113
|
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
1113
1114
|
import { createRef as createRef3 } from "react";
|
|
1114
|
-
import
|
|
1115
|
+
import React31 from "react";
|
|
1115
1116
|
import {
|
|
1116
1117
|
useCallback as useCallback21,
|
|
1117
1118
|
useImperativeHandle as useImperativeHandle8,
|
|
@@ -1120,14 +1121,14 @@ import {
|
|
|
1120
1121
|
useState as useState19
|
|
1121
1122
|
} from "react";
|
|
1122
1123
|
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
1123
|
-
import
|
|
1124
|
+
import React32 from "react";
|
|
1124
1125
|
import { useMemo as useMemo34 } from "react";
|
|
1125
1126
|
import { createContext as createContext24, useContext as useContext34, useMemo as useMemo33 } from "react";
|
|
1126
1127
|
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
1127
1128
|
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
1128
|
-
import
|
|
1129
|
-
import
|
|
1130
|
-
import
|
|
1129
|
+
import React34 from "react";
|
|
1130
|
+
import React35, { createContext as createContext25 } from "react";
|
|
1131
|
+
import React36, { useContext as useContext35 } from "react";
|
|
1131
1132
|
import { useCallback as useCallback24 } from "react";
|
|
1132
1133
|
import {
|
|
1133
1134
|
useCallback as useCallback22,
|
|
@@ -1138,7 +1139,7 @@ import {
|
|
|
1138
1139
|
useState as useState20
|
|
1139
1140
|
} from "react";
|
|
1140
1141
|
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
1141
|
-
import
|
|
1142
|
+
import React38, {
|
|
1142
1143
|
forwardRef as forwardRef13,
|
|
1143
1144
|
useCallback as useCallback23,
|
|
1144
1145
|
useContext as useContext37,
|
|
@@ -1151,16 +1152,15 @@ import React37, {
|
|
|
1151
1152
|
import { useEffect as useEffect18 } from "react";
|
|
1152
1153
|
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
1153
1154
|
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
1154
|
-
import
|
|
1155
|
+
import React40, { useMemo as useMemo37 } from "react";
|
|
1155
1156
|
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
1156
|
-
import {
|
|
1157
|
-
Children,
|
|
1157
|
+
import React42, {
|
|
1158
1158
|
forwardRef as forwardRef14,
|
|
1159
1159
|
useMemo as useMemo38
|
|
1160
1160
|
} from "react";
|
|
1161
|
-
import
|
|
1162
|
-
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
1163
|
-
import
|
|
1161
|
+
import React41 from "react";
|
|
1162
|
+
import { jsx as jsx37, jsxs as jsxs3, Fragment } from "react/jsx-runtime";
|
|
1163
|
+
import React43 from "react";
|
|
1164
1164
|
import { forwardRef as forwardRef16, useCallback as useCallback25, useContext as useContext39 } from "react";
|
|
1165
1165
|
import {
|
|
1166
1166
|
forwardRef as forwardRef15,
|
|
@@ -2238,6 +2238,7 @@ var InnerComposition = ({
|
|
|
2238
2238
|
}
|
|
2239
2239
|
const { folderName, parentName } = useContext9(FolderContext);
|
|
2240
2240
|
const stack = compProps.stack ?? null;
|
|
2241
|
+
const componentFromProps = "component" in compProps ? compProps.component : null;
|
|
2241
2242
|
useEffect2(() => {
|
|
2242
2243
|
if (!id) {
|
|
2243
2244
|
throw new Error("No id for composition passed.");
|
|
@@ -2255,6 +2256,7 @@ var InnerComposition = ({
|
|
|
2255
2256
|
defaultProps: serializeThenDeserializeInStudio(defaultProps ?? {}),
|
|
2256
2257
|
nonce: nonce.get(),
|
|
2257
2258
|
parentFolderName: parentName,
|
|
2259
|
+
componentFromProps,
|
|
2258
2260
|
schema: schema ?? null,
|
|
2259
2261
|
calculateMetadata: compProps.calculateMetadata ?? null,
|
|
2260
2262
|
stack
|
|
@@ -2273,6 +2275,7 @@ var InnerComposition = ({
|
|
|
2273
2275
|
width,
|
|
2274
2276
|
nonce,
|
|
2275
2277
|
parentName,
|
|
2278
|
+
componentFromProps,
|
|
2276
2279
|
schema,
|
|
2277
2280
|
compProps.calculateMetadata,
|
|
2278
2281
|
stack,
|
|
@@ -2331,11 +2334,30 @@ var Composition = (props) => {
|
|
|
2331
2334
|
});
|
|
2332
2335
|
};
|
|
2333
2336
|
var componentsToAddStacksTo = [];
|
|
2337
|
+
var sequenceComponent = null;
|
|
2334
2338
|
var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
2335
2339
|
var addSequenceStackTraces = (component) => {
|
|
2336
2340
|
componentsToAddStacksTo.push(component);
|
|
2337
2341
|
};
|
|
2338
|
-
var
|
|
2342
|
+
var setSequenceComponent = (component) => {
|
|
2343
|
+
sequenceComponent = component;
|
|
2344
|
+
};
|
|
2345
|
+
var getSequenceComponent = () => sequenceComponent;
|
|
2346
|
+
var getSingleChildComponent = (children) => {
|
|
2347
|
+
const mountedChildren = React9.Children.toArray(children);
|
|
2348
|
+
if (mountedChildren.length !== 1) {
|
|
2349
|
+
return null;
|
|
2350
|
+
}
|
|
2351
|
+
const child = mountedChildren[0];
|
|
2352
|
+
if (!React9.isValidElement(child)) {
|
|
2353
|
+
return null;
|
|
2354
|
+
}
|
|
2355
|
+
if (typeof child.type !== "function" && typeof child.type !== "object") {
|
|
2356
|
+
return null;
|
|
2357
|
+
}
|
|
2358
|
+
return child.type;
|
|
2359
|
+
};
|
|
2360
|
+
var VERSION = "4.0.492";
|
|
2339
2361
|
var checkMultipleRemotionVersions = () => {
|
|
2340
2362
|
if (typeof globalThis === "undefined") {
|
|
2341
2363
|
return;
|
|
@@ -2935,7 +2957,7 @@ var sequenceSchemaDefaultLayoutNone = {
|
|
|
2935
2957
|
var PremountContext = createContext14({
|
|
2936
2958
|
premountFramesRemaining: 0
|
|
2937
2959
|
});
|
|
2938
|
-
var SequenceManager =
|
|
2960
|
+
var SequenceManager = React12.createContext({
|
|
2939
2961
|
registerSequence: () => {
|
|
2940
2962
|
throw new Error("SequenceManagerContext not initialized");
|
|
2941
2963
|
},
|
|
@@ -2944,19 +2966,19 @@ var SequenceManager = React11.createContext({
|
|
|
2944
2966
|
},
|
|
2945
2967
|
sequences: []
|
|
2946
2968
|
});
|
|
2947
|
-
var SequenceManagerRefContext =
|
|
2969
|
+
var SequenceManagerRefContext = React12.createContext({
|
|
2948
2970
|
current: []
|
|
2949
2971
|
});
|
|
2950
2972
|
var makeSequencePropsSubscriptionKey = (key) => {
|
|
2951
|
-
return `${key.nodePath.join(".")}
|
|
2973
|
+
return `${key.absolutePath}\x00${key.nodePath.join(".")}\x00${key.sequenceKeys.join(".")}\x00${key.effectKeys.map((keys) => keys.join(".")).join(".")}`;
|
|
2952
2974
|
};
|
|
2953
|
-
var VisualModePropStatusesContext =
|
|
2975
|
+
var VisualModePropStatusesContext = React12.createContext({
|
|
2954
2976
|
propStatuses: {}
|
|
2955
2977
|
});
|
|
2956
|
-
var VisualModePropStatusesRefContext =
|
|
2978
|
+
var VisualModePropStatusesRefContext = React12.createContext({
|
|
2957
2979
|
current: {}
|
|
2958
2980
|
});
|
|
2959
|
-
var VisualModeDragOverridesContext =
|
|
2981
|
+
var VisualModeDragOverridesContext = React12.createContext({
|
|
2960
2982
|
getDragOverrides: () => {
|
|
2961
2983
|
throw new Error("VisualModeDragOverridesContext not initialized");
|
|
2962
2984
|
},
|
|
@@ -2964,7 +2986,7 @@ var VisualModeDragOverridesContext = React11.createContext({
|
|
|
2964
2986
|
throw new Error("VisualModeDragOverridesContext not initialized");
|
|
2965
2987
|
}
|
|
2966
2988
|
});
|
|
2967
|
-
var VisualModeSettersContext =
|
|
2989
|
+
var VisualModeSettersContext = React12.createContext({
|
|
2968
2990
|
setDragOverrides: () => {
|
|
2969
2991
|
throw new Error("VisualModeSettersContext not initialized");
|
|
2970
2992
|
},
|
|
@@ -3128,7 +3150,7 @@ var IsNotInsideSeriesProvider = ({ children }) => {
|
|
|
3128
3150
|
});
|
|
3129
3151
|
};
|
|
3130
3152
|
var useRequireToBeInsideSeries = () => {
|
|
3131
|
-
const isInsideSeries =
|
|
3153
|
+
const isInsideSeries = React13.useContext(IsInsideSeriesContext);
|
|
3132
3154
|
if (!isInsideSeries) {
|
|
3133
3155
|
throw new Error("This component must be inside a <Series /> component.");
|
|
3134
3156
|
}
|
|
@@ -5197,6 +5219,9 @@ var computeEffectiveSchemaValuesDotNotation = ({
|
|
|
5197
5219
|
shouldResortToDefaultValueIfUndefined: false
|
|
5198
5220
|
});
|
|
5199
5221
|
}
|
|
5222
|
+
if (field?.type === "asset" && typeof value === "string" && value.startsWith(FILE_TOKEN)) {
|
|
5223
|
+
value = `${window.remotion_staticBase}/${value.slice(FILE_TOKEN.length)}`;
|
|
5224
|
+
}
|
|
5200
5225
|
if (value === undefined) {
|
|
5201
5226
|
propsToDelete.add(key);
|
|
5202
5227
|
}
|
|
@@ -5295,7 +5320,7 @@ var withInteractivitySchema = ({
|
|
|
5295
5320
|
const Wrapped = forwardRef2((props, ref) => {
|
|
5296
5321
|
const env = useRemotionEnvironment();
|
|
5297
5322
|
if (!env.isStudio || env.isReadOnlyStudio || env.isRendering) {
|
|
5298
|
-
return
|
|
5323
|
+
return React14.createElement(Component, {
|
|
5299
5324
|
...props,
|
|
5300
5325
|
controls: null,
|
|
5301
5326
|
ref
|
|
@@ -5306,7 +5331,7 @@ var withInteractivitySchema = ({
|
|
|
5306
5331
|
const nodePathMapping = useContext16(OverrideIdsToNodePathsGettersContext);
|
|
5307
5332
|
const frame = useCurrentFrame();
|
|
5308
5333
|
if (props.controls) {
|
|
5309
|
-
return
|
|
5334
|
+
return React14.createElement(Component, {
|
|
5310
5335
|
...props,
|
|
5311
5336
|
ref
|
|
5312
5337
|
});
|
|
@@ -5364,7 +5389,7 @@ var withInteractivitySchema = ({
|
|
|
5364
5389
|
schemaKeys: activeKeys,
|
|
5365
5390
|
propsToDelete
|
|
5366
5391
|
});
|
|
5367
|
-
return
|
|
5392
|
+
return React14.createElement(Component, {
|
|
5368
5393
|
...mergedProps,
|
|
5369
5394
|
controls,
|
|
5370
5395
|
ref
|
|
@@ -5390,6 +5415,7 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
5390
5415
|
_remotionInternalLoopDisplay: loopDisplay,
|
|
5391
5416
|
_remotionInternalStack: stack,
|
|
5392
5417
|
_remotionInternalDocumentationLink: documentationLink,
|
|
5418
|
+
_remotionInternalSingleChildComponent: singleChildComponent,
|
|
5393
5419
|
_remotionInternalPremountDisplay: premountDisplay,
|
|
5394
5420
|
_remotionInternalPostmountDisplay: postmountDisplay,
|
|
5395
5421
|
_remotionInternalIsMedia: isMedia,
|
|
@@ -5536,7 +5562,8 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
5536
5562
|
getStack: () => stackRef.current,
|
|
5537
5563
|
refForOutline: refForOutline ?? null,
|
|
5538
5564
|
isInsideSeries,
|
|
5539
|
-
frozenFrame: registeredFrozenFrame
|
|
5565
|
+
frozenFrame: registeredFrozenFrame,
|
|
5566
|
+
singleChildComponent: singleChildComponent ?? null
|
|
5540
5567
|
});
|
|
5541
5568
|
} else {
|
|
5542
5569
|
registerSequence({
|
|
@@ -5561,11 +5588,13 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
5561
5588
|
src: isMedia.data.src,
|
|
5562
5589
|
getStack: () => stackRef.current,
|
|
5563
5590
|
startMediaFrom: startMediaFrom ?? isMedia.data.startMediaFrom,
|
|
5591
|
+
mediaFrameAtSequenceZero,
|
|
5564
5592
|
volume: isMedia.data.volumes,
|
|
5565
5593
|
refForOutline: refForOutline ?? null,
|
|
5566
5594
|
isInsideSeries,
|
|
5567
5595
|
frozenFrame: registeredFrozenFrame,
|
|
5568
|
-
frozenMediaFrame
|
|
5596
|
+
frozenMediaFrame,
|
|
5597
|
+
singleChildComponent: singleChildComponent ?? null
|
|
5569
5598
|
});
|
|
5570
5599
|
}
|
|
5571
5600
|
return () => {
|
|
@@ -5592,7 +5621,8 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
5592
5621
|
effects: _remotionInternalEffects ?? EMPTY_EFFECTS,
|
|
5593
5622
|
refForOutline: refForOutline ?? null,
|
|
5594
5623
|
isInsideSeries,
|
|
5595
|
-
frozenFrame: registeredFrozenFrame
|
|
5624
|
+
frozenFrame: registeredFrozenFrame,
|
|
5625
|
+
singleChildComponent: singleChildComponent ?? null
|
|
5596
5626
|
});
|
|
5597
5627
|
return () => {
|
|
5598
5628
|
unregisterSequence(id);
|
|
@@ -5624,7 +5654,9 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
5624
5654
|
isInsideSeries,
|
|
5625
5655
|
registeredFrozenFrame,
|
|
5626
5656
|
startMediaFrom,
|
|
5627
|
-
|
|
5657
|
+
mediaFrameAtSequenceZero,
|
|
5658
|
+
frozenMediaFrame,
|
|
5659
|
+
singleChildComponent
|
|
5628
5660
|
]);
|
|
5629
5661
|
const endThreshold = Math.ceil(cumulatedFrom + from + durationInFrames - 1);
|
|
5630
5662
|
const content = absoluteFrame < cumulatedFrom + from ? null : absoluteFrame > endThreshold ? null : children;
|
|
@@ -6126,7 +6158,7 @@ var CanvasRefForwardingFunction = ({ width, height, fit, className, style, effec
|
|
|
6126
6158
|
...props
|
|
6127
6159
|
});
|
|
6128
6160
|
};
|
|
6129
|
-
var Canvas =
|
|
6161
|
+
var Canvas = React16.forwardRef(CanvasRefForwardingFunction);
|
|
6130
6162
|
var CACHE_SIZE = 5;
|
|
6131
6163
|
var getActualTime = ({
|
|
6132
6164
|
loopBehavior,
|
|
@@ -6287,6 +6319,12 @@ var resolveAnimatedImageSource = (src) => {
|
|
|
6287
6319
|
return new URL(src, window.origin).href;
|
|
6288
6320
|
};
|
|
6289
6321
|
var animatedImageSchema = {
|
|
6322
|
+
src: {
|
|
6323
|
+
type: "asset",
|
|
6324
|
+
default: undefined,
|
|
6325
|
+
description: "Source",
|
|
6326
|
+
keyframable: false
|
|
6327
|
+
},
|
|
6290
6328
|
...baseSchema,
|
|
6291
6329
|
playbackRate: {
|
|
6292
6330
|
type: "number",
|
|
@@ -6704,7 +6742,7 @@ var calculateMediaDuration = ({
|
|
|
6704
6742
|
};
|
|
6705
6743
|
var LoopContext = createContext18(null);
|
|
6706
6744
|
var useLoop = () => {
|
|
6707
|
-
return
|
|
6745
|
+
return React17.useContext(LoopContext);
|
|
6708
6746
|
};
|
|
6709
6747
|
var Loop = ({
|
|
6710
6748
|
durationInFrames,
|
|
@@ -7555,7 +7593,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
7555
7593
|
};
|
|
7556
7594
|
});
|
|
7557
7595
|
}, [audioContext, numberOfAudioTags]);
|
|
7558
|
-
const effectToUse =
|
|
7596
|
+
const effectToUse = React20.useInsertionEffect ?? React20.useLayoutEffect;
|
|
7559
7597
|
effectToUse(() => {
|
|
7560
7598
|
return () => {
|
|
7561
7599
|
requestAnimationFrame(() => {
|
|
@@ -7574,7 +7612,9 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
7574
7612
|
return;
|
|
7575
7613
|
}
|
|
7576
7614
|
if (data === undefined) {
|
|
7577
|
-
current.src
|
|
7615
|
+
if (current.src !== EMPTY_AUDIO) {
|
|
7616
|
+
current.src = EMPTY_AUDIO;
|
|
7617
|
+
}
|
|
7578
7618
|
return;
|
|
7579
7619
|
}
|
|
7580
7620
|
if (!data) {
|
|
@@ -7643,7 +7683,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
7643
7683
|
if (prevA.id === id) {
|
|
7644
7684
|
const isTheSame = compareProps(aud, prevA.props) && prevA.premounting === premounting && prevA.postmounting === postmounting;
|
|
7645
7685
|
if (isTheSame) {
|
|
7646
|
-
return prevA;
|
|
7686
|
+
return prevA.audioMounted === audioMounted ? prevA : { ...prevA, audioMounted };
|
|
7647
7687
|
}
|
|
7648
7688
|
changed = true;
|
|
7649
7689
|
return {
|
|
@@ -7655,7 +7695,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
7655
7695
|
audioMounted
|
|
7656
7696
|
};
|
|
7657
7697
|
}
|
|
7658
|
-
return prevA;
|
|
7698
|
+
return prevA.audioMounted === audioMounted ? prevA : { ...prevA, audioMounted };
|
|
7659
7699
|
});
|
|
7660
7700
|
if (changed) {
|
|
7661
7701
|
rerenderAudios();
|
|
@@ -7694,16 +7734,19 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
7694
7734
|
unregisterAudio,
|
|
7695
7735
|
updateAudio
|
|
7696
7736
|
]);
|
|
7737
|
+
const sharedAudioTagElements = useMemo21(() => {
|
|
7738
|
+
return refs.map(({ id, ref }) => {
|
|
7739
|
+
return /* @__PURE__ */ jsx19("audio", {
|
|
7740
|
+
ref,
|
|
7741
|
+
preload: "metadata",
|
|
7742
|
+
src: EMPTY_AUDIO
|
|
7743
|
+
}, id);
|
|
7744
|
+
});
|
|
7745
|
+
}, [refs]);
|
|
7697
7746
|
return /* @__PURE__ */ jsxs22(SharedAudioTagsContext.Provider, {
|
|
7698
7747
|
value: audioTagsValue,
|
|
7699
7748
|
children: [
|
|
7700
|
-
|
|
7701
|
-
return /* @__PURE__ */ jsx19("audio", {
|
|
7702
|
-
ref,
|
|
7703
|
-
preload: "metadata",
|
|
7704
|
-
src: EMPTY_AUDIO
|
|
7705
|
-
}, id);
|
|
7706
|
-
}),
|
|
7749
|
+
sharedAudioTagElements,
|
|
7707
7750
|
children
|
|
7708
7751
|
]
|
|
7709
7752
|
});
|
|
@@ -7720,7 +7763,7 @@ var useSharedAudio = ({
|
|
|
7720
7763
|
if (tagsCtx && tagsCtx.numberOfAudioTags > 0) {
|
|
7721
7764
|
return tagsCtx.registerAudio({ aud, audioId, premounting, postmounting });
|
|
7722
7765
|
}
|
|
7723
|
-
const el =
|
|
7766
|
+
const el = React20.createRef();
|
|
7724
7767
|
const mediaElementSourceNode = audioCtx?.audioContext ? makeSharedElementSourceNode({
|
|
7725
7768
|
audioContext: audioCtx.audioContext,
|
|
7726
7769
|
ref: el
|
|
@@ -7739,7 +7782,7 @@ var useSharedAudio = ({
|
|
|
7739
7782
|
}
|
|
7740
7783
|
};
|
|
7741
7784
|
});
|
|
7742
|
-
const effectToUse =
|
|
7785
|
+
const effectToUse = React20.useInsertionEffect ?? React20.useLayoutEffect;
|
|
7743
7786
|
if (typeof document !== "undefined") {
|
|
7744
7787
|
effectToUse(() => {
|
|
7745
7788
|
if (tagsCtx && tagsCtx.numberOfAudioTags > 0) {
|
|
@@ -8164,6 +8207,7 @@ var useMediaInTimeline = ({
|
|
|
8164
8207
|
showInTimeline: true,
|
|
8165
8208
|
nonce: nonce.get(),
|
|
8166
8209
|
startMediaFrom: 0 - startsAt,
|
|
8210
|
+
mediaFrameAtSequenceZero: null,
|
|
8167
8211
|
doesVolumeChange,
|
|
8168
8212
|
loopDisplay,
|
|
8169
8213
|
playbackRate,
|
|
@@ -8290,7 +8334,7 @@ var useBufferManager = (logLevel, mountTime) => {
|
|
|
8290
8334
|
return { addBlock, listenForBuffering, listenForResume, buffering };
|
|
8291
8335
|
}, [addBlock, buffering, listenForBuffering, listenForResume]);
|
|
8292
8336
|
};
|
|
8293
|
-
var BufferingContextReact =
|
|
8337
|
+
var BufferingContextReact = React21.createContext(null);
|
|
8294
8338
|
var BufferingProvider = ({ children }) => {
|
|
8295
8339
|
const { logLevel, mountTime } = useContext24(LogLevelContext);
|
|
8296
8340
|
const bufferManager = useBufferManager(logLevel ?? "info", mountTime);
|
|
@@ -8503,7 +8547,7 @@ var getMediaSyncAction = (input) => {
|
|
|
8503
8547
|
return { type: "none" };
|
|
8504
8548
|
};
|
|
8505
8549
|
var useCurrentTimeOfMediaTagWithUpdateTimeStamp = (mediaRef) => {
|
|
8506
|
-
const lastUpdate =
|
|
8550
|
+
const lastUpdate = React22.useRef({
|
|
8507
8551
|
time: mediaRef.current?.currentTime ?? 0,
|
|
8508
8552
|
lastUpdate: performance.now()
|
|
8509
8553
|
});
|
|
@@ -9256,7 +9300,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
9256
9300
|
volume: userPreferredVolume,
|
|
9257
9301
|
shouldUseWebAudioApi: useWebAudioApi ?? false
|
|
9258
9302
|
});
|
|
9259
|
-
const effectToUse =
|
|
9303
|
+
const effectToUse = React23.useInsertionEffect ?? React23.useLayoutEffect;
|
|
9260
9304
|
effectToUse(() => {
|
|
9261
9305
|
return () => {
|
|
9262
9306
|
requestAnimationFrame(() => {
|
|
@@ -9797,16 +9841,16 @@ var isMissingPaintRecordError = (error2) => {
|
|
|
9797
9841
|
return error2 instanceof DOMException && error2.name === "InvalidStateError";
|
|
9798
9842
|
};
|
|
9799
9843
|
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
|
-
|
|
9844
|
+
var resizePaintTarget = ({
|
|
9845
|
+
target,
|
|
9802
9846
|
width,
|
|
9803
9847
|
height
|
|
9804
9848
|
}) => {
|
|
9805
|
-
if (
|
|
9806
|
-
|
|
9849
|
+
if (target.width !== width) {
|
|
9850
|
+
target.width = width;
|
|
9807
9851
|
}
|
|
9808
|
-
if (
|
|
9809
|
-
|
|
9852
|
+
if (target.height !== height) {
|
|
9853
|
+
target.height = height;
|
|
9810
9854
|
}
|
|
9811
9855
|
};
|
|
9812
9856
|
var defaultOnPaint = ({
|
|
@@ -9822,7 +9866,7 @@ var defaultOnPaint = ({
|
|
|
9822
9866
|
const transform = ctx.drawElementImage(elementImage, 0, 0);
|
|
9823
9867
|
element.style.transform = transform.toString();
|
|
9824
9868
|
};
|
|
9825
|
-
var HtmlInCanvasAncestorContext = createContext23(
|
|
9869
|
+
var HtmlInCanvasAncestorContext = createContext23(null);
|
|
9826
9870
|
var HtmlInCanvasContent = forwardRef9(({
|
|
9827
9871
|
width,
|
|
9828
9872
|
height,
|
|
@@ -9834,20 +9878,22 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
9834
9878
|
controls,
|
|
9835
9879
|
style
|
|
9836
9880
|
}, ref) => {
|
|
9837
|
-
const
|
|
9881
|
+
const ancestor = useContext31(HtmlInCanvasAncestorContext);
|
|
9838
9882
|
assertHtmlInCanvasDimensions(width, height);
|
|
9839
9883
|
const resolvedPixelDensity = resolveHtmlInCanvasPixelDensity(pixelDensity);
|
|
9840
9884
|
const canvasWidth = Math.ceil(width * resolvedPixelDensity);
|
|
9841
9885
|
const canvasHeight = Math.ceil(height * resolvedPixelDensity);
|
|
9842
9886
|
const { continueRender: continueRender2, cancelRender: cancelRender2 } = useDelayRender();
|
|
9843
|
-
const { isRendering } = useRemotionEnvironment();
|
|
9887
|
+
const { isClientSideRendering, isRendering } = useRemotionEnvironment();
|
|
9888
|
+
const canRetryMissingPaintRecord = !isRendering || isClientSideRendering;
|
|
9889
|
+
const usesDirectLayoutCanvas = onPaint === undefined && onInit === undefined;
|
|
9844
9890
|
if (!isHtmlInCanvasSupported()) {
|
|
9845
9891
|
cancelRender2(new Error(HTML_IN_CANVAS_UNSUPPORTED_MESSAGE));
|
|
9846
9892
|
}
|
|
9847
9893
|
const canvas2dRef = useRef22(null);
|
|
9848
|
-
const
|
|
9894
|
+
const paintTargetRef = useRef22(null);
|
|
9849
9895
|
const divRef = useRef22(null);
|
|
9850
|
-
const canvasSizeKey = `${width}x${height}@${resolvedPixelDensity}`;
|
|
9896
|
+
const canvasSizeKey = `${width}x${height}@${resolvedPixelDensity}-${usesDirectLayoutCanvas ? "direct" : "offscreen"}`;
|
|
9851
9897
|
const setLayoutCanvasRef = useCallback16((node) => {
|
|
9852
9898
|
canvas2dRef.current = node;
|
|
9853
9899
|
if (typeof ref === "function") {
|
|
@@ -9870,17 +9916,19 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
9870
9916
|
const initializedRef = useRef22(false);
|
|
9871
9917
|
const onInitCleanupRef = useRef22(null);
|
|
9872
9918
|
const unmountedRef = useRef22(false);
|
|
9919
|
+
const ancestorRef = useRef22(ancestor);
|
|
9920
|
+
ancestorRef.current = ancestor;
|
|
9873
9921
|
const onPaintCb = useCallback16(async () => {
|
|
9874
9922
|
const element = divRef.current;
|
|
9875
9923
|
if (!element) {
|
|
9876
9924
|
throw new Error("Canvas or scene element not found");
|
|
9877
9925
|
}
|
|
9878
|
-
const
|
|
9879
|
-
if (!
|
|
9880
|
-
throw new Error("HtmlInCanvas:
|
|
9926
|
+
const paintTarget = paintTargetRef.current;
|
|
9927
|
+
if (!paintTarget) {
|
|
9928
|
+
throw new Error("HtmlInCanvas: paint target is not ready because the canvas is remounting");
|
|
9881
9929
|
}
|
|
9882
|
-
|
|
9883
|
-
|
|
9930
|
+
resizePaintTarget({
|
|
9931
|
+
target: paintTarget,
|
|
9884
9932
|
width: canvasWidth,
|
|
9885
9933
|
height: canvasHeight
|
|
9886
9934
|
});
|
|
@@ -9891,22 +9939,30 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
9891
9939
|
}
|
|
9892
9940
|
const handle = delayRender("onPaint");
|
|
9893
9941
|
if (!initializedRef.current) {
|
|
9894
|
-
|
|
9895
|
-
|
|
9896
|
-
|
|
9897
|
-
}
|
|
9898
|
-
|
|
9899
|
-
|
|
9900
|
-
|
|
9942
|
+
const currentOnInit = onInitRef.current;
|
|
9943
|
+
if (!currentOnInit) {
|
|
9944
|
+
initializedRef.current = true;
|
|
9945
|
+
} else {
|
|
9946
|
+
let initImage;
|
|
9947
|
+
try {
|
|
9948
|
+
initImage = placeholderCanvas.captureElementImage(element);
|
|
9949
|
+
} catch (error2) {
|
|
9950
|
+
if (isMissingPaintRecordError(error2) && canRetryMissingPaintRecord) {
|
|
9951
|
+
continueRender2(handle);
|
|
9952
|
+
return;
|
|
9953
|
+
}
|
|
9954
|
+
if (isMissingPaintRecordError(error2)) {
|
|
9955
|
+
throw new Error(missingPaintRecordMessage);
|
|
9956
|
+
}
|
|
9901
9957
|
throw error2;
|
|
9902
9958
|
}
|
|
9903
|
-
}
|
|
9904
|
-
if (initImage) {
|
|
9905
9959
|
initializedRef.current = true;
|
|
9906
|
-
|
|
9907
|
-
|
|
9960
|
+
try {
|
|
9961
|
+
if (paintTarget instanceof HTMLCanvasElement) {
|
|
9962
|
+
throw new Error("HtmlInCanvas: onInit requires an OffscreenCanvas paint target");
|
|
9963
|
+
}
|
|
9908
9964
|
const cleanup = await currentOnInit({
|
|
9909
|
-
canvas:
|
|
9965
|
+
canvas: paintTarget,
|
|
9910
9966
|
element,
|
|
9911
9967
|
elementImage: initImage,
|
|
9912
9968
|
pixelDensity: resolvedPixelDensity
|
|
@@ -9919,15 +9975,16 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
9919
9975
|
} else {
|
|
9920
9976
|
onInitCleanupRef.current = cleanup;
|
|
9921
9977
|
}
|
|
9978
|
+
} finally {
|
|
9979
|
+
initImage.close();
|
|
9922
9980
|
}
|
|
9923
9981
|
}
|
|
9924
9982
|
}
|
|
9925
|
-
const handler = onPaintRef.current ?? defaultOnPaint;
|
|
9926
9983
|
let elImage;
|
|
9927
9984
|
try {
|
|
9928
9985
|
elImage = placeholderCanvas.captureElementImage(element);
|
|
9929
9986
|
} catch (error2) {
|
|
9930
|
-
if (isMissingPaintRecordError(error2) &&
|
|
9987
|
+
if (isMissingPaintRecordError(error2) && canRetryMissingPaintRecord) {
|
|
9931
9988
|
continueRender2(handle);
|
|
9932
9989
|
return;
|
|
9933
9990
|
}
|
|
@@ -9936,20 +9993,41 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
9936
9993
|
}
|
|
9937
9994
|
throw error2;
|
|
9938
9995
|
}
|
|
9939
|
-
|
|
9940
|
-
|
|
9941
|
-
|
|
9942
|
-
|
|
9943
|
-
|
|
9944
|
-
|
|
9945
|
-
|
|
9946
|
-
|
|
9947
|
-
|
|
9948
|
-
|
|
9949
|
-
|
|
9950
|
-
|
|
9951
|
-
|
|
9952
|
-
|
|
9996
|
+
try {
|
|
9997
|
+
const currentOnPaint = onPaintRef.current;
|
|
9998
|
+
if (currentOnPaint) {
|
|
9999
|
+
if (paintTarget instanceof HTMLCanvasElement) {
|
|
10000
|
+
throw new Error("HtmlInCanvas: onPaint requires an OffscreenCanvas paint target");
|
|
10001
|
+
}
|
|
10002
|
+
const paintResult = currentOnPaint({
|
|
10003
|
+
canvas: paintTarget,
|
|
10004
|
+
element,
|
|
10005
|
+
elementImage: elImage,
|
|
10006
|
+
pixelDensity: resolvedPixelDensity
|
|
10007
|
+
});
|
|
10008
|
+
if (paintResult) {
|
|
10009
|
+
await paintResult;
|
|
10010
|
+
}
|
|
10011
|
+
} else {
|
|
10012
|
+
defaultOnPaint({
|
|
10013
|
+
canvas: paintTarget,
|
|
10014
|
+
element,
|
|
10015
|
+
elementImage: elImage,
|
|
10016
|
+
pixelDensity: resolvedPixelDensity
|
|
10017
|
+
});
|
|
10018
|
+
}
|
|
10019
|
+
await runEffectChain({
|
|
10020
|
+
state: chainState.get(canvasWidth, canvasHeight),
|
|
10021
|
+
source: paintTarget,
|
|
10022
|
+
effects: effectsRef.current,
|
|
10023
|
+
output: paintTarget,
|
|
10024
|
+
width: canvasWidth,
|
|
10025
|
+
height: canvasHeight
|
|
10026
|
+
});
|
|
10027
|
+
} finally {
|
|
10028
|
+
elImage.close();
|
|
10029
|
+
}
|
|
10030
|
+
ancestorRef.current?.requestParentPaint();
|
|
9953
10031
|
continueRender2(handle);
|
|
9954
10032
|
} catch (error2) {
|
|
9955
10033
|
cancelRender2(error2);
|
|
@@ -9961,7 +10039,7 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
9961
10039
|
continueRender2,
|
|
9962
10040
|
cancelRender2,
|
|
9963
10041
|
resolvedPixelDensity,
|
|
9964
|
-
|
|
10042
|
+
canRetryMissingPaintRecord
|
|
9965
10043
|
]);
|
|
9966
10044
|
useLayoutEffect9(() => {
|
|
9967
10045
|
const placeholder = canvas2dRef.current;
|
|
@@ -9969,10 +10047,10 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
9969
10047
|
throw new Error("Canvas not found");
|
|
9970
10048
|
}
|
|
9971
10049
|
placeholder.layoutSubtree = true;
|
|
9972
|
-
const
|
|
9973
|
-
|
|
9974
|
-
|
|
9975
|
-
|
|
10050
|
+
const paintTarget = usesDirectLayoutCanvas ? placeholder : placeholder.transferControlToOffscreen();
|
|
10051
|
+
paintTargetRef.current = paintTarget;
|
|
10052
|
+
resizePaintTarget({
|
|
10053
|
+
target: paintTarget,
|
|
9976
10054
|
width: canvasWidth,
|
|
9977
10055
|
height: canvasHeight
|
|
9978
10056
|
});
|
|
@@ -9981,13 +10059,19 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
9981
10059
|
placeholder.addEventListener("paint", onPaintCb);
|
|
9982
10060
|
return () => {
|
|
9983
10061
|
placeholder.removeEventListener("paint", onPaintCb);
|
|
9984
|
-
|
|
10062
|
+
paintTargetRef.current = null;
|
|
9985
10063
|
initializedRef.current = false;
|
|
9986
10064
|
unmountedRef.current = true;
|
|
9987
10065
|
onInitCleanupRef.current?.();
|
|
9988
10066
|
onInitCleanupRef.current = null;
|
|
9989
10067
|
};
|
|
9990
|
-
}, [
|
|
10068
|
+
}, [
|
|
10069
|
+
onPaintCb,
|
|
10070
|
+
cancelRender2,
|
|
10071
|
+
canvasWidth,
|
|
10072
|
+
canvasHeight,
|
|
10073
|
+
usesDirectLayoutCanvas
|
|
10074
|
+
]);
|
|
9991
10075
|
const onPaintChangedRef = useRef22(false);
|
|
9992
10076
|
useLayoutEffect9(() => {
|
|
9993
10077
|
if (!onPaintChangedRef.current) {
|
|
@@ -10026,11 +10110,15 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
10026
10110
|
...style ?? {}
|
|
10027
10111
|
};
|
|
10028
10112
|
}, [height, style, width]);
|
|
10029
|
-
|
|
10030
|
-
|
|
10031
|
-
|
|
10113
|
+
const ancestorValue = useMemo30(() => {
|
|
10114
|
+
return {
|
|
10115
|
+
requestParentPaint: () => {
|
|
10116
|
+
canvas2dRef.current?.requestPaint?.();
|
|
10117
|
+
}
|
|
10118
|
+
};
|
|
10119
|
+
}, []);
|
|
10032
10120
|
return /* @__PURE__ */ jsx25(HtmlInCanvasAncestorContext.Provider, {
|
|
10033
|
-
value:
|
|
10121
|
+
value: ancestorValue,
|
|
10034
10122
|
children: /* @__PURE__ */ jsx25("canvas", {
|
|
10035
10123
|
ref: setLayoutCanvasRef,
|
|
10036
10124
|
width: canvasWidth,
|
|
@@ -10758,6 +10846,12 @@ var NativeImgInner = ({
|
|
|
10758
10846
|
};
|
|
10759
10847
|
var CanvasImageWithPrivateProps = CanvasImage;
|
|
10760
10848
|
var imgSchema = {
|
|
10849
|
+
src: {
|
|
10850
|
+
type: "asset",
|
|
10851
|
+
default: undefined,
|
|
10852
|
+
description: "Source",
|
|
10853
|
+
keyframable: false
|
|
10854
|
+
},
|
|
10761
10855
|
...baseSchema,
|
|
10762
10856
|
...transformSchema
|
|
10763
10857
|
};
|
|
@@ -10968,7 +11062,7 @@ var makeInteractiveElement = (tag, displayName) => {
|
|
|
10968
11062
|
_remotionInternalStack: stack,
|
|
10969
11063
|
_remotionInternalDocumentationLink: "https://www.remotion.dev/docs/interactive",
|
|
10970
11064
|
outlineRef: refForOutline,
|
|
10971
|
-
children:
|
|
11065
|
+
children: React30.createElement(tag, {
|
|
10972
11066
|
...props2,
|
|
10973
11067
|
ref: callbackRef
|
|
10974
11068
|
})
|
|
@@ -11032,7 +11126,7 @@ var Interactive = {
|
|
|
11032
11126
|
Text: makeInteractiveElement("text", "<Interactive.Text>"),
|
|
11033
11127
|
Ul: makeInteractiveElement("ul", "<Interactive.Ul>")
|
|
11034
11128
|
};
|
|
11035
|
-
var compositionsRef =
|
|
11129
|
+
var compositionsRef = React31.createRef();
|
|
11036
11130
|
var CompositionManagerProvider = ({
|
|
11037
11131
|
children,
|
|
11038
11132
|
onlyRenderComposition,
|
|
@@ -11181,7 +11275,7 @@ var REMOTION_STUDIO_CONTAINER_ELEMENT = "__remotion-studio-container";
|
|
|
11181
11275
|
var getPreviewDomElement = () => {
|
|
11182
11276
|
return document.getElementById(REMOTION_STUDIO_CONTAINER_ELEMENT);
|
|
11183
11277
|
};
|
|
11184
|
-
var MaxMediaCacheSizeContext =
|
|
11278
|
+
var MaxMediaCacheSizeContext = React32.createContext(null);
|
|
11185
11279
|
var Root = null;
|
|
11186
11280
|
var listeners = [];
|
|
11187
11281
|
var getRoot = () => {
|
|
@@ -11454,7 +11548,7 @@ var resolveVideoConfigOrCatch = (params) => {
|
|
|
11454
11548
|
};
|
|
11455
11549
|
}
|
|
11456
11550
|
};
|
|
11457
|
-
var SequenceStackTracesUpdateContext =
|
|
11551
|
+
var SequenceStackTracesUpdateContext = React34.createContext(() => {});
|
|
11458
11552
|
var getEnvVariables = () => {
|
|
11459
11553
|
if (getRemotionEnvironment().isRendering) {
|
|
11460
11554
|
const param = window.remotion_envVariables;
|
|
@@ -11480,7 +11574,7 @@ var setupEnvVariables = () => {
|
|
|
11480
11574
|
window.process.env[key] = env[key];
|
|
11481
11575
|
});
|
|
11482
11576
|
};
|
|
11483
|
-
var CurrentScaleContext =
|
|
11577
|
+
var CurrentScaleContext = React35.createContext(null);
|
|
11484
11578
|
var PreviewSizeContext = createContext25({
|
|
11485
11579
|
setSize: () => {
|
|
11486
11580
|
return;
|
|
@@ -11504,7 +11598,7 @@ var calculateScale = ({
|
|
|
11504
11598
|
}
|
|
11505
11599
|
return Number(previewSize);
|
|
11506
11600
|
};
|
|
11507
|
-
var PixelDensityContext =
|
|
11601
|
+
var PixelDensityContext = React36.createContext(null);
|
|
11508
11602
|
var getOffthreadVideoSource = ({
|
|
11509
11603
|
src,
|
|
11510
11604
|
transparent,
|
|
@@ -11771,7 +11865,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
11771
11865
|
ref: videoRef
|
|
11772
11866
|
});
|
|
11773
11867
|
}, [context.audioContext]);
|
|
11774
|
-
const effectToUse =
|
|
11868
|
+
const effectToUse = React38.useInsertionEffect ?? React38.useLayoutEffect;
|
|
11775
11869
|
effectToUse(() => {
|
|
11776
11870
|
return () => {
|
|
11777
11871
|
requestAnimationFrame(() => {
|
|
@@ -12147,20 +12241,20 @@ var OffthreadVideo = ({
|
|
|
12147
12241
|
addSequenceStackTraces(OffthreadVideo);
|
|
12148
12242
|
var WATCH_REMOTION_STATIC_FILES = "remotion_staticFilesChanged";
|
|
12149
12243
|
function useRemotionContexts() {
|
|
12150
|
-
const compositionManagerCtx =
|
|
12151
|
-
const timelineContext =
|
|
12152
|
-
const setTimelineContext =
|
|
12153
|
-
const sequenceContext =
|
|
12154
|
-
const nonceContext =
|
|
12155
|
-
const canUseRemotionHooksContext =
|
|
12156
|
-
const preloadContext =
|
|
12157
|
-
const resolveCompositionContext =
|
|
12158
|
-
const renderAssetManagerContext =
|
|
12159
|
-
const sequenceManagerContext =
|
|
12160
|
-
const sequenceManagerRefContext =
|
|
12161
|
-
const visualModePropStatusesRefContext =
|
|
12162
|
-
const bufferManagerContext =
|
|
12163
|
-
const logLevelContext =
|
|
12244
|
+
const compositionManagerCtx = React40.useContext(CompositionManager);
|
|
12245
|
+
const timelineContext = React40.useContext(TimelineContext);
|
|
12246
|
+
const setTimelineContext = React40.useContext(SetTimelineContext);
|
|
12247
|
+
const sequenceContext = React40.useContext(SequenceContext);
|
|
12248
|
+
const nonceContext = React40.useContext(NonceContext);
|
|
12249
|
+
const canUseRemotionHooksContext = React40.useContext(CanUseRemotionHooks);
|
|
12250
|
+
const preloadContext = React40.useContext(PreloadContext);
|
|
12251
|
+
const resolveCompositionContext = React40.useContext(ResolveCompositionContext);
|
|
12252
|
+
const renderAssetManagerContext = React40.useContext(RenderAssetManager);
|
|
12253
|
+
const sequenceManagerContext = React40.useContext(SequenceManager);
|
|
12254
|
+
const sequenceManagerRefContext = React40.useContext(SequenceManagerRefContext);
|
|
12255
|
+
const visualModePropStatusesRefContext = React40.useContext(VisualModePropStatusesRefContext);
|
|
12256
|
+
const bufferManagerContext = React40.useContext(BufferingContextReact);
|
|
12257
|
+
const logLevelContext = React40.useContext(LogLevelContext);
|
|
12164
12258
|
return useMemo37(() => ({
|
|
12165
12259
|
compositionManagerCtx,
|
|
12166
12260
|
timelineContext,
|
|
@@ -12334,6 +12428,8 @@ var Internals = {
|
|
|
12334
12428
|
BufferingProvider,
|
|
12335
12429
|
BufferingContextReact,
|
|
12336
12430
|
getComponentsToAddStacksTo,
|
|
12431
|
+
getSequenceComponent,
|
|
12432
|
+
getSingleChildComponent,
|
|
12337
12433
|
CurrentScaleContext,
|
|
12338
12434
|
PixelDensityContext,
|
|
12339
12435
|
PreviewSizeContext,
|
|
@@ -12391,75 +12487,139 @@ var Internals = {
|
|
|
12391
12487
|
fromField
|
|
12392
12488
|
};
|
|
12393
12489
|
var flattenChildren = (children) => {
|
|
12394
|
-
const childrenArray =
|
|
12490
|
+
const childrenArray = React41.Children.toArray(children);
|
|
12395
12491
|
return childrenArray.reduce((flatChildren, child) => {
|
|
12396
|
-
if (child.type ===
|
|
12492
|
+
if (child.type === React41.Fragment) {
|
|
12397
12493
|
return flatChildren.concat(flattenChildren(child.props.children));
|
|
12398
12494
|
}
|
|
12399
12495
|
flatChildren.push(child);
|
|
12400
12496
|
return flatChildren;
|
|
12401
12497
|
}, []);
|
|
12402
12498
|
};
|
|
12403
|
-
var
|
|
12499
|
+
var seriesSequenceSchema = {
|
|
12500
|
+
durationInFrames: Interactive.baseSchema.durationInFrames,
|
|
12501
|
+
name: Interactive.sequenceSchema.name,
|
|
12502
|
+
hidden: Interactive.sequenceSchema.hidden,
|
|
12503
|
+
showInTimeline: Interactive.sequenceSchema.showInTimeline,
|
|
12504
|
+
freeze: Interactive.baseSchema.freeze,
|
|
12505
|
+
layout: Interactive.sequenceSchema.layout
|
|
12506
|
+
};
|
|
12507
|
+
var SeriesSequenceInner = forwardRef14(({
|
|
12508
|
+
offset = 0,
|
|
12509
|
+
className = "",
|
|
12510
|
+
stack = null,
|
|
12511
|
+
_remotionInternalRender = null,
|
|
12512
|
+
...props2
|
|
12513
|
+
}, ref) => {
|
|
12404
12514
|
useRequireToBeInsideSeries();
|
|
12515
|
+
if (_remotionInternalRender) {
|
|
12516
|
+
return _remotionInternalRender({ ...props2, offset, className: className || undefined, stack }, ref);
|
|
12517
|
+
}
|
|
12405
12518
|
return /* @__PURE__ */ jsx37(IsNotInsideSeriesProvider, {
|
|
12406
|
-
children
|
|
12519
|
+
children: props2.children
|
|
12407
12520
|
});
|
|
12408
|
-
};
|
|
12409
|
-
var SeriesSequence =
|
|
12521
|
+
});
|
|
12522
|
+
var SeriesSequence = Interactive.withSchema({
|
|
12523
|
+
Component: SeriesSequenceInner,
|
|
12524
|
+
componentName: "<Series.Sequence>",
|
|
12525
|
+
componentIdentity: "dev.remotion.remotion.Series.Sequence",
|
|
12526
|
+
schema: seriesSequenceSchema,
|
|
12527
|
+
supportsEffects: false
|
|
12528
|
+
});
|
|
12410
12529
|
var SequenceWithoutSchemaWithRef = SequenceWithoutSchema;
|
|
12530
|
+
var validateSeriesSequenceProps = ({
|
|
12531
|
+
durationInFrames,
|
|
12532
|
+
offset: offsetProp,
|
|
12533
|
+
index,
|
|
12534
|
+
childrenLength
|
|
12535
|
+
}) => {
|
|
12536
|
+
const debugInfo = `index = ${index}, duration = ${durationInFrames}`;
|
|
12537
|
+
if (index !== childrenLength - 1 || durationInFrames !== Infinity) {
|
|
12538
|
+
validateDurationInFrames(durationInFrames, {
|
|
12539
|
+
component: `of a <Series.Sequence /> component`,
|
|
12540
|
+
allowFloats: true
|
|
12541
|
+
});
|
|
12542
|
+
}
|
|
12543
|
+
const offset = offsetProp ?? 0;
|
|
12544
|
+
if (Number.isNaN(offset)) {
|
|
12545
|
+
throw new TypeError(`The "offset" property of a <Series.Sequence /> must not be NaN, but got NaN (${debugInfo}).`);
|
|
12546
|
+
}
|
|
12547
|
+
if (!Number.isFinite(offset)) {
|
|
12548
|
+
throw new TypeError(`The "offset" property of a <Series.Sequence /> must be finite, but got ${offset} (${debugInfo}).`);
|
|
12549
|
+
}
|
|
12550
|
+
if (offset % 1 !== 0) {
|
|
12551
|
+
throw new TypeError(`The "offset" property of a <Series.Sequence /> must be finite, but got ${offset} (${debugInfo}).`);
|
|
12552
|
+
}
|
|
12553
|
+
return offset;
|
|
12554
|
+
};
|
|
12411
12555
|
var SeriesInner = (props2) => {
|
|
12412
12556
|
const childrenValue = useMemo38(() => {
|
|
12413
|
-
let startFrame = 0;
|
|
12414
12557
|
const flattenedChildren = flattenChildren(props2.children);
|
|
12415
|
-
|
|
12558
|
+
const renderChildren = (i, startFrame) => {
|
|
12559
|
+
if (i === flattenedChildren.length) {
|
|
12560
|
+
return null;
|
|
12561
|
+
}
|
|
12562
|
+
const child = flattenedChildren[i];
|
|
12416
12563
|
const castedChild = child;
|
|
12417
12564
|
if (typeof castedChild === "string") {
|
|
12418
12565
|
if (castedChild.trim() === "") {
|
|
12419
|
-
return
|
|
12566
|
+
return renderChildren(i + 1, startFrame);
|
|
12420
12567
|
}
|
|
12421
12568
|
throw new TypeError(`The <Series /> component only accepts a list of <Series.Sequence /> components as its children, but you passed a string "${castedChild}"`);
|
|
12422
12569
|
}
|
|
12423
12570
|
if (castedChild.type !== SeriesSequence) {
|
|
12424
12571
|
throw new TypeError(`The <Series /> component only accepts a list of <Series.Sequence /> components as its children, but got ${castedChild} instead`);
|
|
12425
12572
|
}
|
|
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
|
|
12573
|
+
const castedElement = castedChild;
|
|
12574
|
+
validateSeriesSequenceProps({
|
|
12575
|
+
durationInFrames: castedElement.props.durationInFrames,
|
|
12576
|
+
offset: castedElement.props.offset,
|
|
12577
|
+
index: i,
|
|
12578
|
+
childrenLength: flattenedChildren.length
|
|
12461
12579
|
});
|
|
12462
|
-
|
|
12580
|
+
return React42.cloneElement(castedElement, {
|
|
12581
|
+
_remotionInternalRender: (resolvedProps, ref) => {
|
|
12582
|
+
const durationInFramesProp = resolvedProps.durationInFrames;
|
|
12583
|
+
const {
|
|
12584
|
+
durationInFrames: _durationInFrames,
|
|
12585
|
+
children: sequenceChildren,
|
|
12586
|
+
offset: offsetProp,
|
|
12587
|
+
controls,
|
|
12588
|
+
stack,
|
|
12589
|
+
from: _from,
|
|
12590
|
+
name,
|
|
12591
|
+
...passedProps
|
|
12592
|
+
} = resolvedProps;
|
|
12593
|
+
const offset = validateSeriesSequenceProps({
|
|
12594
|
+
durationInFrames: durationInFramesProp,
|
|
12595
|
+
offset: offsetProp,
|
|
12596
|
+
index: i,
|
|
12597
|
+
childrenLength: flattenedChildren.length
|
|
12598
|
+
});
|
|
12599
|
+
const currentStartFrame = startFrame + offset;
|
|
12600
|
+
const nextStartFrame = startFrame + durationInFramesProp + offset;
|
|
12601
|
+
return /* @__PURE__ */ jsxs3(Fragment, {
|
|
12602
|
+
children: [
|
|
12603
|
+
/* @__PURE__ */ jsx37(SequenceWithoutSchemaWithRef, {
|
|
12604
|
+
ref,
|
|
12605
|
+
name: name || "<Series.Sequence>",
|
|
12606
|
+
_remotionInternalDocumentationLink: name ? undefined : "https://www.remotion.dev/docs/series",
|
|
12607
|
+
_remotionInternalStack: stack ?? undefined,
|
|
12608
|
+
controls: controls ?? undefined,
|
|
12609
|
+
from: currentStartFrame,
|
|
12610
|
+
durationInFrames: durationInFramesProp,
|
|
12611
|
+
...passedProps,
|
|
12612
|
+
children: /* @__PURE__ */ jsx37(IsNotInsideSeriesProvider, {
|
|
12613
|
+
children: sequenceChildren
|
|
12614
|
+
})
|
|
12615
|
+
}),
|
|
12616
|
+
renderChildren(i + 1, nextStartFrame)
|
|
12617
|
+
]
|
|
12618
|
+
});
|
|
12619
|
+
}
|
|
12620
|
+
});
|
|
12621
|
+
};
|
|
12622
|
+
return renderChildren(0, 0);
|
|
12463
12623
|
}, [props2.children]);
|
|
12464
12624
|
return /* @__PURE__ */ jsx37(IsInsideSeriesContainer, {
|
|
12465
12625
|
children: /* @__PURE__ */ jsx37(Sequence, {
|
|
@@ -12575,7 +12735,7 @@ var Still = (props2) => {
|
|
|
12575
12735
|
durationInFrames: 1,
|
|
12576
12736
|
fps: 1
|
|
12577
12737
|
};
|
|
12578
|
-
return
|
|
12738
|
+
return React43.createElement(Composition, newProps);
|
|
12579
12739
|
};
|
|
12580
12740
|
addSequenceStackTraces(Still);
|
|
12581
12741
|
var roundTo6Commas = (num) => {
|
|
@@ -13054,11 +13214,12 @@ var Config = new Proxy(proxyObj, {
|
|
|
13054
13214
|
});
|
|
13055
13215
|
Sequence.displayName = "Sequence";
|
|
13056
13216
|
addSequenceStackTraces(Sequence);
|
|
13217
|
+
setSequenceComponent(Sequence);
|
|
13057
13218
|
addSequenceStackTraces(Composition);
|
|
13058
13219
|
addSequenceStackTraces(Folder);
|
|
13059
13220
|
|
|
13060
13221
|
// src/components/team/TeamCards.tsx
|
|
13061
|
-
import { jsx as jsx40, jsxs as
|
|
13222
|
+
import { jsx as jsx40, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
13062
13223
|
var LinkedInLogo = () => {
|
|
13063
13224
|
return /* @__PURE__ */ jsx40("svg", {
|
|
13064
13225
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -13113,14 +13274,14 @@ var TeamMemberCard = ({
|
|
|
13113
13274
|
github,
|
|
13114
13275
|
email
|
|
13115
13276
|
}) => {
|
|
13116
|
-
return /* @__PURE__ */
|
|
13277
|
+
return /* @__PURE__ */ jsxs4("div", {
|
|
13117
13278
|
className: "flex-1 rounded-[15px] flex flex-col md:flex-row gap-2 md:gap-4",
|
|
13118
13279
|
children: [
|
|
13119
13280
|
/* @__PURE__ */ jsx40("img", {
|
|
13120
13281
|
src: image,
|
|
13121
13282
|
className: "w-[250px] h-[250px] rounded-xl border-effect"
|
|
13122
13283
|
}),
|
|
13123
|
-
/* @__PURE__ */
|
|
13284
|
+
/* @__PURE__ */ jsxs4("div", {
|
|
13124
13285
|
className: "flex flex-col border-effect px-4 py-3 bg-pane",
|
|
13125
13286
|
children: [
|
|
13126
13287
|
/* @__PURE__ */ jsx40("h2", {
|
|
@@ -13138,7 +13299,7 @@ var TeamMemberCard = ({
|
|
|
13138
13299
|
/* @__PURE__ */ jsx40("div", {
|
|
13139
13300
|
className: "flex-1"
|
|
13140
13301
|
}),
|
|
13141
|
-
/* @__PURE__ */
|
|
13302
|
+
/* @__PURE__ */ jsxs4("div", {
|
|
13142
13303
|
className: "gap-3 flex flex-row",
|
|
13143
13304
|
children: [
|
|
13144
13305
|
/* @__PURE__ */ jsx40("a", {
|
|
@@ -13173,7 +13334,7 @@ var TeamMemberCard = ({
|
|
|
13173
13334
|
});
|
|
13174
13335
|
};
|
|
13175
13336
|
var TeamCardsLayout = () => {
|
|
13176
|
-
return /* @__PURE__ */
|
|
13337
|
+
return /* @__PURE__ */ jsxs4("div", {
|
|
13177
13338
|
className: "flex flex-col gap-12 md:gap-4",
|
|
13178
13339
|
children: [
|
|
13179
13340
|
/* @__PURE__ */ jsx40(TeamMemberCard, {
|
|
@@ -13241,7 +13402,7 @@ var PersonalWebsite = () => {
|
|
|
13241
13402
|
};
|
|
13242
13403
|
|
|
13243
13404
|
// src/components/experts/ExpertsPage.tsx
|
|
13244
|
-
import { jsx as jsx43, jsxs as
|
|
13405
|
+
import { jsx as jsx43, jsxs as jsxs6, Fragment as Fragment2 } from "react/jsx-runtime";
|
|
13245
13406
|
var arrowIcon = {
|
|
13246
13407
|
height: 16,
|
|
13247
13408
|
marginLeft: 10
|
|
@@ -13272,7 +13433,7 @@ var wrapperStyle = {
|
|
|
13272
13433
|
paddingBottom: 100
|
|
13273
13434
|
};
|
|
13274
13435
|
var ExpertCard = ({ expert, Link }) => {
|
|
13275
|
-
return /* @__PURE__ */
|
|
13436
|
+
return /* @__PURE__ */ jsxs6("div", {
|
|
13276
13437
|
className: "flex-1 rounded-[15px] flex flex-col md:flex-row gap-2 md:gap-4",
|
|
13277
13438
|
children: [
|
|
13278
13439
|
/* @__PURE__ */ jsx43(Link, {
|
|
@@ -13284,7 +13445,7 @@ var ExpertCard = ({ expert, Link }) => {
|
|
|
13284
13445
|
className: "w-[250px] h-[250px] rounded-xl border-effect object-cover"
|
|
13285
13446
|
})
|
|
13286
13447
|
}),
|
|
13287
|
-
/* @__PURE__ */
|
|
13448
|
+
/* @__PURE__ */ jsxs6("div", {
|
|
13288
13449
|
className: "flex flex-col border-effect px-4 py-3 bg-pane flex-1",
|
|
13289
13450
|
children: [
|
|
13290
13451
|
/* @__PURE__ */ jsx43(Link, {
|
|
@@ -13299,10 +13460,10 @@ var ExpertCard = ({ expert, Link }) => {
|
|
|
13299
13460
|
className: "mt-2 mb-3 leading-normal font-brand",
|
|
13300
13461
|
children: expert.description
|
|
13301
13462
|
}),
|
|
13302
|
-
/* @__PURE__ */
|
|
13463
|
+
/* @__PURE__ */ jsxs6("div", {
|
|
13303
13464
|
className: "leading-6 mb-4",
|
|
13304
13465
|
children: [
|
|
13305
|
-
/* @__PURE__ */
|
|
13466
|
+
/* @__PURE__ */ jsxs6(Link, {
|
|
13306
13467
|
className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center",
|
|
13307
13468
|
href: `/experts/${expert.slug}`,
|
|
13308
13469
|
children: [
|
|
@@ -13319,10 +13480,10 @@ var ExpertCard = ({ expert, Link }) => {
|
|
|
13319
13480
|
})
|
|
13320
13481
|
]
|
|
13321
13482
|
}),
|
|
13322
|
-
expert.videocall ? /* @__PURE__ */
|
|
13483
|
+
expert.videocall ? /* @__PURE__ */ jsxs6(Fragment2, {
|
|
13323
13484
|
children: [
|
|
13324
13485
|
/* @__PURE__ */ jsx43("br", {}),
|
|
13325
|
-
/* @__PURE__ */
|
|
13486
|
+
/* @__PURE__ */ jsxs6("a", {
|
|
13326
13487
|
className: "no-underline text-brand font-brand font-bold inline-flex flex-row items-center",
|
|
13327
13488
|
target: "_blank",
|
|
13328
13489
|
href: expert.videocall,
|
|
@@ -13347,7 +13508,7 @@ var ExpertCard = ({ expert, Link }) => {
|
|
|
13347
13508
|
/* @__PURE__ */ jsx43("div", {
|
|
13348
13509
|
className: "flex-1"
|
|
13349
13510
|
}),
|
|
13350
|
-
/* @__PURE__ */
|
|
13511
|
+
/* @__PURE__ */ jsxs6("div", {
|
|
13351
13512
|
className: "gap-3 flex flex-row flex-wrap",
|
|
13352
13513
|
children: [
|
|
13353
13514
|
expert.website ? /* @__PURE__ */ jsx43("a", {
|
|
@@ -13403,14 +13564,14 @@ var ExpertsPageContent = ({ Link }) => {
|
|
|
13403
13564
|
}, []);
|
|
13404
13565
|
return /* @__PURE__ */ jsx43("div", {
|
|
13405
13566
|
className: "relative bg-[var(--background)]",
|
|
13406
|
-
children: /* @__PURE__ */
|
|
13567
|
+
children: /* @__PURE__ */ jsxs6("div", {
|
|
13407
13568
|
style: wrapperStyle,
|
|
13408
13569
|
children: [
|
|
13409
13570
|
/* @__PURE__ */ jsx43("h1", {
|
|
13410
13571
|
className: "experts-pagetitle",
|
|
13411
13572
|
children: "Find a Remotion Expert"
|
|
13412
13573
|
}),
|
|
13413
|
-
/* @__PURE__ */
|
|
13574
|
+
/* @__PURE__ */ jsxs6("p", {
|
|
13414
13575
|
className: "experts-tagline",
|
|
13415
13576
|
children: [
|
|
13416
13577
|
"Get help by booking a call or hiring these freelancers to work on your Remotion project.",
|
|
@@ -13428,16 +13589,16 @@ var ExpertsPageContent = ({ Link }) => {
|
|
|
13428
13589
|
})
|
|
13429
13590
|
})
|
|
13430
13591
|
}),
|
|
13431
|
-
/* @__PURE__ */
|
|
13592
|
+
/* @__PURE__ */ jsxs6("div", {
|
|
13432
13593
|
style: infoCard,
|
|
13433
13594
|
children: [
|
|
13434
|
-
/* @__PURE__ */
|
|
13595
|
+
/* @__PURE__ */ jsxs6("svg", {
|
|
13435
13596
|
viewBox: "0 0 661 512",
|
|
13436
13597
|
fill: "none",
|
|
13437
13598
|
xmlns: "http://www.w3.org/2000/svg",
|
|
13438
13599
|
style: cardIcon,
|
|
13439
13600
|
children: [
|
|
13440
|
-
/* @__PURE__ */
|
|
13601
|
+
/* @__PURE__ */ jsxs6("g", {
|
|
13441
13602
|
clipPath: "url(#clip0_1_2)",
|
|
13442
13603
|
children: [
|
|
13443
13604
|
/* @__PURE__ */ jsx43("path", {
|
|
@@ -13462,7 +13623,7 @@ var ExpertsPageContent = ({ Link }) => {
|
|
|
13462
13623
|
})
|
|
13463
13624
|
]
|
|
13464
13625
|
}),
|
|
13465
|
-
/* @__PURE__ */
|
|
13626
|
+
/* @__PURE__ */ jsxs6("div", {
|
|
13466
13627
|
style: { flex: 1 },
|
|
13467
13628
|
children: [
|
|
13468
13629
|
"Remotion Experts are independent freelancers with proven Remotion expertise and portfolios. However,",
|