@remotion/promo-pages 4.0.499 → 4.0.500
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 +1076 -930
- package/dist/design.js +407 -141
- package/dist/experts.js +404 -138
- package/dist/homepage/Pricing.js +416 -150
- package/dist/prompts/PromptsGallery.js +407 -141
- package/dist/prompts/PromptsShow.js +407 -141
- package/dist/prompts/PromptsSubmit.js +407 -141
- package/dist/tailwind.css +3 -200
- package/dist/team.js +407 -141
- package/dist/template-modal-content.js +409 -143
- package/dist/templates.js +407 -141
- package/package.json +14 -14
- package/public/img/applications.mp4 +0 -0
- package/public/img/applications.webm +0 -0
- package/public/img/design-systems.mp4 +0 -0
- package/public/img/design-systems.webm +0 -0
- package/public/img/render-progress.mp4 +0 -0
- package/public/img/render-progress.webm +0 -0
package/dist/Homepage.js
CHANGED
|
@@ -911,7 +911,7 @@ var experts = [
|
|
|
911
911
|
}
|
|
912
912
|
];
|
|
913
913
|
// src/components/experts/ExpertsPage.tsx
|
|
914
|
-
import { useMemo as
|
|
914
|
+
import { useMemo as useMemo42 } from "react";
|
|
915
915
|
|
|
916
916
|
// ../core/dist/esm/index.mjs
|
|
917
917
|
import { createContext } from "react";
|
|
@@ -984,8 +984,9 @@ import {
|
|
|
984
984
|
useRef as useRef9,
|
|
985
985
|
useState as useState6
|
|
986
986
|
} from "react";
|
|
987
|
-
import
|
|
988
|
-
import {
|
|
987
|
+
import { useMemo as useMemo16 } from "react";
|
|
988
|
+
import React16, { useCallback as useCallback7, useImperativeHandle, useMemo as useMemo18, useRef as useRef8 } from "react";
|
|
989
|
+
import { useEffect as useEffect4, useMemo as useMemo17, useRef as useRef7 } from "react";
|
|
989
990
|
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
990
991
|
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
991
992
|
import { useContext as useContext19, useLayoutEffect as useLayoutEffect4, useState as useState8 } from "react";
|
|
@@ -994,18 +995,18 @@ import {
|
|
|
994
995
|
useCallback as useCallback8,
|
|
995
996
|
useImperativeHandle as useImperativeHandle3,
|
|
996
997
|
useLayoutEffect as useLayoutEffect3,
|
|
997
|
-
useMemo as
|
|
998
|
+
useMemo as useMemo19,
|
|
998
999
|
useRef as useRef10,
|
|
999
1000
|
useState as useState7
|
|
1000
1001
|
} from "react";
|
|
1001
1002
|
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
1002
1003
|
import { forwardRef as forwardRef7, useCallback as useCallback14, useContext as useContext31 } from "react";
|
|
1003
|
-
import React17, { createContext as createContext18, useMemo as
|
|
1004
|
+
import React17, { createContext as createContext18, useMemo as useMemo20 } from "react";
|
|
1004
1005
|
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
1005
1006
|
import { useContext as useContext20 } from "react";
|
|
1006
1007
|
import { createContext as createContext19, useEffect as useEffect6, useState as useState9 } from "react";
|
|
1007
1008
|
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
1008
|
-
import { createContext as createContext20, useMemo as
|
|
1009
|
+
import { createContext as createContext20, useMemo as useMemo21, useReducer } from "react";
|
|
1009
1010
|
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
1010
1011
|
import { useCallback as useCallback13 } from "react";
|
|
1011
1012
|
import React23, {
|
|
@@ -1013,7 +1014,7 @@ import React23, {
|
|
|
1013
1014
|
useContext as useContext29,
|
|
1014
1015
|
useEffect as useEffect14,
|
|
1015
1016
|
useImperativeHandle as useImperativeHandle4,
|
|
1016
|
-
useMemo as
|
|
1017
|
+
useMemo as useMemo29,
|
|
1017
1018
|
useRef as useRef19,
|
|
1018
1019
|
useState as useState14
|
|
1019
1020
|
} from "react";
|
|
@@ -1024,14 +1025,14 @@ import React20, {
|
|
|
1024
1025
|
useCallback as useCallback9,
|
|
1025
1026
|
useContext as useContext21,
|
|
1026
1027
|
useEffect as useEffect7,
|
|
1027
|
-
useMemo as
|
|
1028
|
+
useMemo as useMemo23,
|
|
1028
1029
|
useRef as useRef12,
|
|
1029
1030
|
useState as useState10
|
|
1030
1031
|
} from "react";
|
|
1031
|
-
import { useMemo as
|
|
1032
|
+
import { useMemo as useMemo22, useRef as useRef11 } from "react";
|
|
1032
1033
|
import { jsx as jsx19, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
1033
1034
|
import { useRef as useRef13 } from "react";
|
|
1034
|
-
import { useContext as useContext24, useEffect as useEffect8, useMemo as
|
|
1035
|
+
import { useContext as useContext24, useEffect as useEffect8, useMemo as useMemo24, useState as useState11 } from "react";
|
|
1035
1036
|
import { useContext as useContext23 } from "react";
|
|
1036
1037
|
import {
|
|
1037
1038
|
useCallback as useCallback12,
|
|
@@ -1040,14 +1041,14 @@ import {
|
|
|
1040
1041
|
useLayoutEffect as useLayoutEffect7,
|
|
1041
1042
|
useRef as useRef18
|
|
1042
1043
|
} from "react";
|
|
1043
|
-
import { useCallback as useCallback11, useMemo as
|
|
1044
|
-
import { useContext as useContext26, useMemo as
|
|
1044
|
+
import { useCallback as useCallback11, useMemo as useMemo27, useRef as useRef16 } from "react";
|
|
1045
|
+
import { useContext as useContext26, useMemo as useMemo26 } from "react";
|
|
1045
1046
|
import React21, {
|
|
1046
1047
|
useCallback as useCallback10,
|
|
1047
1048
|
useContext as useContext25,
|
|
1048
1049
|
useEffect as useEffect9,
|
|
1049
1050
|
useLayoutEffect as useLayoutEffect6,
|
|
1050
|
-
useMemo as
|
|
1051
|
+
useMemo as useMemo25,
|
|
1051
1052
|
useRef as useRef15,
|
|
1052
1053
|
useState as useState12
|
|
1053
1054
|
} from "react";
|
|
@@ -1056,7 +1057,7 @@ import React22 from "react";
|
|
|
1056
1057
|
import { useEffect as useEffect10, useState as useState13 } from "react";
|
|
1057
1058
|
import { useEffect as useEffect11, useRef as useRef17 } from "react";
|
|
1058
1059
|
import { useEffect as useEffect13 } from "react";
|
|
1059
|
-
import { createContext as createContext22, useContext as useContext28, useMemo as
|
|
1060
|
+
import { createContext as createContext22, useContext as useContext28, useMemo as useMemo28 } from "react";
|
|
1060
1061
|
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
1061
1062
|
import {
|
|
1062
1063
|
forwardRef as forwardRef6,
|
|
@@ -1064,7 +1065,7 @@ import {
|
|
|
1064
1065
|
useEffect as useEffect15,
|
|
1065
1066
|
useImperativeHandle as useImperativeHandle5,
|
|
1066
1067
|
useLayoutEffect as useLayoutEffect8,
|
|
1067
|
-
useMemo as
|
|
1068
|
+
useMemo as useMemo30,
|
|
1068
1069
|
useRef as useRef20
|
|
1069
1070
|
} from "react";
|
|
1070
1071
|
import { jsx as jsx222 } from "react/jsx-runtime";
|
|
@@ -1074,7 +1075,7 @@ import {
|
|
|
1074
1075
|
useCallback as useCallback15,
|
|
1075
1076
|
useEffect as useEffect16,
|
|
1076
1077
|
useImperativeHandle as useImperativeHandle6,
|
|
1077
|
-
useMemo as
|
|
1078
|
+
useMemo as useMemo31,
|
|
1078
1079
|
useRef as useRef21,
|
|
1079
1080
|
useState as useState15
|
|
1080
1081
|
} from "react";
|
|
@@ -1085,7 +1086,7 @@ import {
|
|
|
1085
1086
|
useCallback as useCallback16,
|
|
1086
1087
|
useContext as useContext32,
|
|
1087
1088
|
useLayoutEffect as useLayoutEffect9,
|
|
1088
|
-
useMemo as
|
|
1089
|
+
useMemo as useMemo32,
|
|
1089
1090
|
useRef as useRef22
|
|
1090
1091
|
} from "react";
|
|
1091
1092
|
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
@@ -1095,7 +1096,7 @@ import {
|
|
|
1095
1096
|
useContext as useContext33,
|
|
1096
1097
|
useImperativeHandle as useImperativeHandle7,
|
|
1097
1098
|
useLayoutEffect as useLayoutEffect10,
|
|
1098
|
-
useMemo as
|
|
1099
|
+
useMemo as useMemo33,
|
|
1099
1100
|
useRef as useRef23,
|
|
1100
1101
|
useState as useState16
|
|
1101
1102
|
} from "react";
|
|
@@ -1117,14 +1118,14 @@ import React31 from "react";
|
|
|
1117
1118
|
import {
|
|
1118
1119
|
useCallback as useCallback21,
|
|
1119
1120
|
useImperativeHandle as useImperativeHandle8,
|
|
1120
|
-
useMemo as
|
|
1121
|
+
useMemo as useMemo34,
|
|
1121
1122
|
useRef as useRef26,
|
|
1122
1123
|
useState as useState19
|
|
1123
1124
|
} from "react";
|
|
1124
1125
|
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
1125
1126
|
import React32 from "react";
|
|
1126
|
-
import { useMemo as
|
|
1127
|
-
import { createContext as createContext24, useContext as useContext35, useMemo as
|
|
1127
|
+
import { useMemo as useMemo36 } from "react";
|
|
1128
|
+
import { createContext as createContext24, useContext as useContext35, useMemo as useMemo35 } from "react";
|
|
1128
1129
|
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
1129
1130
|
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
1130
1131
|
import React34 from "react";
|
|
@@ -1136,7 +1137,7 @@ import {
|
|
|
1136
1137
|
useContext as useContext37,
|
|
1137
1138
|
useEffect as useEffect17,
|
|
1138
1139
|
useLayoutEffect as useLayoutEffect12,
|
|
1139
|
-
useMemo as
|
|
1140
|
+
useMemo as useMemo37,
|
|
1140
1141
|
useState as useState20
|
|
1141
1142
|
} from "react";
|
|
1142
1143
|
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
@@ -1146,18 +1147,18 @@ import React38, {
|
|
|
1146
1147
|
useContext as useContext38,
|
|
1147
1148
|
useEffect as useEffect19,
|
|
1148
1149
|
useImperativeHandle as useImperativeHandle9,
|
|
1149
|
-
useMemo as
|
|
1150
|
+
useMemo as useMemo38,
|
|
1150
1151
|
useRef as useRef27,
|
|
1151
1152
|
useState as useState21
|
|
1152
1153
|
} from "react";
|
|
1153
1154
|
import { useEffect as useEffect18 } from "react";
|
|
1154
1155
|
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
1155
1156
|
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
1156
|
-
import React40, { useMemo as
|
|
1157
|
+
import React40, { useMemo as useMemo39 } from "react";
|
|
1157
1158
|
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
1158
1159
|
import React42, {
|
|
1159
1160
|
forwardRef as forwardRef14,
|
|
1160
|
-
useMemo as
|
|
1161
|
+
useMemo as useMemo40
|
|
1161
1162
|
} from "react";
|
|
1162
1163
|
import React41 from "react";
|
|
1163
1164
|
import { jsx as jsx37, jsxs as jsxs3, Fragment } from "react/jsx-runtime";
|
|
@@ -1169,7 +1170,7 @@ import {
|
|
|
1169
1170
|
useEffect as useEffect20,
|
|
1170
1171
|
useImperativeHandle as useImperativeHandle10,
|
|
1171
1172
|
useLayoutEffect as useLayoutEffect13,
|
|
1172
|
-
useMemo as
|
|
1173
|
+
useMemo as useMemo41,
|
|
1173
1174
|
useRef as useRef28
|
|
1174
1175
|
} from "react";
|
|
1175
1176
|
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
@@ -2349,7 +2350,7 @@ var getSingleChildComponent = (children) => {
|
|
|
2349
2350
|
}
|
|
2350
2351
|
return child.type;
|
|
2351
2352
|
};
|
|
2352
|
-
var VERSION = "4.0.
|
|
2353
|
+
var VERSION = "4.0.500";
|
|
2353
2354
|
var checkMultipleRemotionVersions = () => {
|
|
2354
2355
|
if (typeof globalThis === "undefined") {
|
|
2355
2356
|
return;
|
|
@@ -2391,38 +2392,6 @@ __export2(exports_timeline_position_state, {
|
|
|
2391
2392
|
getFrameForComposition: () => getFrameForComposition,
|
|
2392
2393
|
clampFrameToCompositionRange: () => clampFrameToCompositionRange
|
|
2393
2394
|
});
|
|
2394
|
-
function mulberry32(a) {
|
|
2395
|
-
let t = a + 1831565813;
|
|
2396
|
-
t = Math.imul(t ^ t >>> 15, t | 1);
|
|
2397
|
-
t ^= t + Math.imul(t ^ t >>> 7, t | 61);
|
|
2398
|
-
return ((t ^ t >>> 14) >>> 0) / 4294967296;
|
|
2399
|
-
}
|
|
2400
|
-
function hashCode(str) {
|
|
2401
|
-
let i = 0;
|
|
2402
|
-
let chr = 0;
|
|
2403
|
-
let hash = 0;
|
|
2404
|
-
for (i = 0;i < str.length; i++) {
|
|
2405
|
-
chr = str.charCodeAt(i);
|
|
2406
|
-
hash = (hash << 5) - hash + chr;
|
|
2407
|
-
hash |= 0;
|
|
2408
|
-
}
|
|
2409
|
-
return hash;
|
|
2410
|
-
}
|
|
2411
|
-
var random = (seed, dummy) => {
|
|
2412
|
-
if (dummy !== undefined) {
|
|
2413
|
-
throw new TypeError("random() takes only one argument");
|
|
2414
|
-
}
|
|
2415
|
-
if (seed === null) {
|
|
2416
|
-
return Math.random();
|
|
2417
|
-
}
|
|
2418
|
-
if (typeof seed === "string") {
|
|
2419
|
-
return mulberry32(hashCode(seed));
|
|
2420
|
-
}
|
|
2421
|
-
if (typeof seed === "number") {
|
|
2422
|
-
return mulberry32(seed * 10000000000);
|
|
2423
|
-
}
|
|
2424
|
-
throw new Error("random() argument must be a number or a string");
|
|
2425
|
-
};
|
|
2426
2395
|
var SetTimelineContext = createContext13({
|
|
2427
2396
|
setFrame: () => {
|
|
2428
2397
|
throw new Error("default");
|
|
@@ -2439,7 +2408,6 @@ var TimelineContextProvider = ({ children, frameState }) => {
|
|
|
2439
2408
|
const imperativePlaying = useRef3(false);
|
|
2440
2409
|
const [playbackRate, setPlaybackRate] = useState2(1);
|
|
2441
2410
|
const audioAndVideoTags = useRef3([]);
|
|
2442
|
-
const [remotionRootId] = useState2(() => String(random(null)));
|
|
2443
2411
|
const [_frame, setFrame] = useState2(() => getInitialFrameState());
|
|
2444
2412
|
const frame = frameState ?? _frame;
|
|
2445
2413
|
const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
|
|
@@ -2474,10 +2442,9 @@ var TimelineContextProvider = ({ children, frameState }) => {
|
|
|
2474
2442
|
frame,
|
|
2475
2443
|
playing,
|
|
2476
2444
|
imperativePlaying,
|
|
2477
|
-
rootId: remotionRootId,
|
|
2478
2445
|
audioAndVideoTags
|
|
2479
2446
|
};
|
|
2480
|
-
}, [frame, playing
|
|
2447
|
+
}, [frame, playing]);
|
|
2481
2448
|
const playbackRateContextValue = useMemo8(() => {
|
|
2482
2449
|
return {
|
|
2483
2450
|
playbackRate,
|
|
@@ -2866,6 +2833,29 @@ var backgroundSchema = {
|
|
|
2866
2833
|
description: "Color"
|
|
2867
2834
|
}
|
|
2868
2835
|
};
|
|
2836
|
+
var svgStrokeSchema = {
|
|
2837
|
+
stroke: {
|
|
2838
|
+
type: "color",
|
|
2839
|
+
default: "none",
|
|
2840
|
+
description: "Stroke"
|
|
2841
|
+
},
|
|
2842
|
+
strokeWidth: {
|
|
2843
|
+
type: "number",
|
|
2844
|
+
default: 1,
|
|
2845
|
+
description: "Stroke width",
|
|
2846
|
+
min: 0,
|
|
2847
|
+
step: 1,
|
|
2848
|
+
hiddenFromList: false
|
|
2849
|
+
}
|
|
2850
|
+
};
|
|
2851
|
+
var svgPaintSchema = {
|
|
2852
|
+
fill: {
|
|
2853
|
+
type: "color",
|
|
2854
|
+
default: undefined,
|
|
2855
|
+
description: "Fill"
|
|
2856
|
+
},
|
|
2857
|
+
...svgStrokeSchema
|
|
2858
|
+
};
|
|
2869
2859
|
var textContentSchema = {
|
|
2870
2860
|
children: {
|
|
2871
2861
|
type: "text-content",
|
|
@@ -2896,7 +2886,51 @@ var premountSchema = {
|
|
|
2896
2886
|
var sequencePremountSchema = {
|
|
2897
2887
|
...premountSchema
|
|
2898
2888
|
};
|
|
2889
|
+
var cropSchema = {
|
|
2890
|
+
cropLeft: {
|
|
2891
|
+
type: "number",
|
|
2892
|
+
default: 0,
|
|
2893
|
+
description: "Crop left",
|
|
2894
|
+
min: 0,
|
|
2895
|
+
max: 1,
|
|
2896
|
+
step: 0.01,
|
|
2897
|
+
hiddenFromList: false,
|
|
2898
|
+
keyframable: true
|
|
2899
|
+
},
|
|
2900
|
+
cropRight: {
|
|
2901
|
+
type: "number",
|
|
2902
|
+
default: 0,
|
|
2903
|
+
description: "Crop right",
|
|
2904
|
+
min: 0,
|
|
2905
|
+
max: 1,
|
|
2906
|
+
step: 0.01,
|
|
2907
|
+
hiddenFromList: false,
|
|
2908
|
+
keyframable: true
|
|
2909
|
+
},
|
|
2910
|
+
cropTop: {
|
|
2911
|
+
type: "number",
|
|
2912
|
+
default: 0,
|
|
2913
|
+
description: "Crop top",
|
|
2914
|
+
min: 0,
|
|
2915
|
+
max: 1,
|
|
2916
|
+
step: 0.01,
|
|
2917
|
+
hiddenFromList: false,
|
|
2918
|
+
keyframable: true
|
|
2919
|
+
},
|
|
2920
|
+
cropBottom: {
|
|
2921
|
+
type: "number",
|
|
2922
|
+
default: 0,
|
|
2923
|
+
description: "Crop bottom",
|
|
2924
|
+
min: 0,
|
|
2925
|
+
max: 1,
|
|
2926
|
+
step: 0.01,
|
|
2927
|
+
hiddenFromList: false,
|
|
2928
|
+
keyframable: true
|
|
2929
|
+
}
|
|
2930
|
+
};
|
|
2931
|
+
var sequenceCropSchema = cropSchema;
|
|
2899
2932
|
var sequenceStyleSchema = {
|
|
2933
|
+
...sequenceCropSchema,
|
|
2900
2934
|
...transformSchema,
|
|
2901
2935
|
...backgroundSchema,
|
|
2902
2936
|
...borderSchema,
|
|
@@ -2985,6 +3019,54 @@ var sequenceSchemaDefaultLayoutNone = {
|
|
|
2985
3019
|
default: "none"
|
|
2986
3020
|
}
|
|
2987
3021
|
};
|
|
3022
|
+
var clampCrop = (value) => {
|
|
3023
|
+
return Math.min(1, Math.max(0, value ?? 0));
|
|
3024
|
+
};
|
|
3025
|
+
var resolveAxis = (start, end) => {
|
|
3026
|
+
const resolvedStart = clampCrop(start);
|
|
3027
|
+
const resolvedEnd = clampCrop(end);
|
|
3028
|
+
if (resolvedStart + resolvedEnd > 1) {
|
|
3029
|
+
return [0.5, 0.5];
|
|
3030
|
+
}
|
|
3031
|
+
return [resolvedStart, resolvedEnd];
|
|
3032
|
+
};
|
|
3033
|
+
var resolveSequenceCrop = ({
|
|
3034
|
+
cropLeft,
|
|
3035
|
+
cropRight,
|
|
3036
|
+
cropTop,
|
|
3037
|
+
cropBottom
|
|
3038
|
+
}) => {
|
|
3039
|
+
const [left, right] = resolveAxis(cropLeft, cropRight);
|
|
3040
|
+
const [top, bottom] = resolveAxis(cropTop, cropBottom);
|
|
3041
|
+
return { left, right, top, bottom };
|
|
3042
|
+
};
|
|
3043
|
+
var getSequenceCropClipPath = ({
|
|
3044
|
+
left,
|
|
3045
|
+
right,
|
|
3046
|
+
top,
|
|
3047
|
+
bottom,
|
|
3048
|
+
borderRadius
|
|
3049
|
+
}) => {
|
|
3050
|
+
if (left === 0 && right === 0 && top === 0 && bottom === 0) {
|
|
3051
|
+
return null;
|
|
3052
|
+
}
|
|
3053
|
+
const serializedBorderRadius = typeof borderRadius === "number" ? `${borderRadius}px` : borderRadius;
|
|
3054
|
+
const rounded = serializedBorderRadius ? ` round ${serializedBorderRadius}` : "";
|
|
3055
|
+
return `inset(${top * 100}% ${right * 100}% ${bottom * 100}% ${left * 100}%${rounded})`;
|
|
3056
|
+
};
|
|
3057
|
+
var validateSequenceCrop = (crop, componentName = "<Sequence />") => {
|
|
3058
|
+
for (const [name, value] of Object.entries(crop)) {
|
|
3059
|
+
if (value === undefined) {
|
|
3060
|
+
continue;
|
|
3061
|
+
}
|
|
3062
|
+
if (typeof value !== "number" || !Number.isFinite(value)) {
|
|
3063
|
+
throw new TypeError(`The "${name}" prop of ${componentName} must be a finite number, but got ${String(value)}.`);
|
|
3064
|
+
}
|
|
3065
|
+
if (value < 0 || value > 1) {
|
|
3066
|
+
throw new RangeError(`The "${name}" prop of ${componentName} must be between 0 and 1, but got ${value}.`);
|
|
3067
|
+
}
|
|
3068
|
+
}
|
|
3069
|
+
};
|
|
2988
3070
|
var SequenceManager = React12.createContext({
|
|
2989
3071
|
registerSequence: () => {
|
|
2990
3072
|
throw new Error("SequenceManagerContext not initialized");
|
|
@@ -5404,7 +5486,7 @@ var withInteractivitySchema = ({
|
|
|
5404
5486
|
const flatKeys = Object.keys(flatSchema);
|
|
5405
5487
|
const Wrapped = forwardRef2((props, ref) => {
|
|
5406
5488
|
const env = useRemotionEnvironment();
|
|
5407
|
-
if (!env.isStudio || env.
|
|
5489
|
+
if (!env.isStudio || env.isRendering) {
|
|
5408
5490
|
return React14.createElement(Component, {
|
|
5409
5491
|
...props,
|
|
5410
5492
|
controls: null,
|
|
@@ -5434,7 +5516,7 @@ var withInteractivitySchema = ({
|
|
|
5434
5516
|
stackToOverrideMap[stack] = newOverrideId;
|
|
5435
5517
|
return newOverrideId;
|
|
5436
5518
|
});
|
|
5437
|
-
const nodePath = nodePathMapping.overrideIdToNodePathMappings[overrideId] ?? null;
|
|
5519
|
+
const nodePath = env.isReadOnlyStudio ? null : nodePathMapping.overrideIdToNodePathMappings[overrideId] ?? null;
|
|
5438
5520
|
const runtimeValues = flatKeys.map((key) => getRuntimeValueForSchemaKey({
|
|
5439
5521
|
flatSchema,
|
|
5440
5522
|
key,
|
|
@@ -5505,17 +5587,32 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
5505
5587
|
_remotionInternalPostmountDisplay: postmountDisplay,
|
|
5506
5588
|
_remotionInternalIsMedia: isMedia,
|
|
5507
5589
|
outlineRef: passedRefForOutline,
|
|
5590
|
+
cropLeft,
|
|
5591
|
+
cropRight,
|
|
5592
|
+
cropTop,
|
|
5593
|
+
cropBottom,
|
|
5508
5594
|
...other
|
|
5509
5595
|
}, ref) => {
|
|
5510
5596
|
const { layout = "absolute-fill" } = other;
|
|
5511
5597
|
const [id] = useState5(() => String(Math.random()));
|
|
5512
5598
|
const parentSequence = useContext18(SequenceContext);
|
|
5513
|
-
const { rootId } = useTimelineContext();
|
|
5514
5599
|
const cumulatedFrom = parentSequence ? parentSequence.cumulatedFrom + parentSequence.relativeFrom : 0;
|
|
5515
5600
|
const nonce = useNonce();
|
|
5516
5601
|
if (layout !== "absolute-fill" && layout !== "none") {
|
|
5517
5602
|
throw new TypeError(`The layout prop of <Sequence /> expects either "absolute-fill" or "none", but you passed: ${layout}`);
|
|
5518
5603
|
}
|
|
5604
|
+
const cropProps = { cropLeft, cropRight, cropTop, cropBottom };
|
|
5605
|
+
const hasCropProp = Object.values(cropProps).some((value) => value !== undefined);
|
|
5606
|
+
if (layout === "none" && hasCropProp) {
|
|
5607
|
+
throw new TypeError('The cropLeft, cropRight, cropTop and cropBottom props of <Sequence /> are only supported with layout="absolute-fill".');
|
|
5608
|
+
}
|
|
5609
|
+
validateSequenceCrop(cropProps);
|
|
5610
|
+
const {
|
|
5611
|
+
left: resolvedCropLeft,
|
|
5612
|
+
right: resolvedCropRight,
|
|
5613
|
+
top: resolvedCropTop,
|
|
5614
|
+
bottom: resolvedCropBottom
|
|
5615
|
+
} = resolveSequenceCrop(cropProps);
|
|
5519
5616
|
if (layout === "none" && typeof other.style !== "undefined") {
|
|
5520
5617
|
throw new TypeError('If layout="none", you may not pass a style. Passed: ' + JSON.stringify(other.style));
|
|
5521
5618
|
}
|
|
@@ -5641,7 +5738,6 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
5641
5738
|
parent: parentSequence?.id ?? null,
|
|
5642
5739
|
postmountDisplay: postmountDisplay ?? null,
|
|
5643
5740
|
premountDisplay: premountDisplay ?? null,
|
|
5644
|
-
rootId,
|
|
5645
5741
|
showInTimeline,
|
|
5646
5742
|
src: isMedia.src,
|
|
5647
5743
|
getStack: () => stackRef.current,
|
|
@@ -5668,7 +5764,6 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
5668
5764
|
playbackRate: isMedia.data.playbackRate,
|
|
5669
5765
|
postmountDisplay: postmountDisplay ?? null,
|
|
5670
5766
|
premountDisplay: premountDisplay ?? null,
|
|
5671
|
-
rootId,
|
|
5672
5767
|
showInTimeline,
|
|
5673
5768
|
src: isMedia.data.src,
|
|
5674
5769
|
getStack: () => stackRef.current,
|
|
@@ -5695,7 +5790,6 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
5695
5790
|
documentationLink: resolvedDocumentationLink,
|
|
5696
5791
|
parent: parentSequence?.id ?? null,
|
|
5697
5792
|
type: "sequence",
|
|
5698
|
-
rootId,
|
|
5699
5793
|
showInTimeline,
|
|
5700
5794
|
nonce: nonce.get(),
|
|
5701
5795
|
loopDisplay,
|
|
@@ -5721,7 +5815,6 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
5721
5815
|
unregisterSequence,
|
|
5722
5816
|
parentSequence?.id,
|
|
5723
5817
|
actualDurationInFrames,
|
|
5724
|
-
rootId,
|
|
5725
5818
|
from,
|
|
5726
5819
|
trimBefore,
|
|
5727
5820
|
registeredTrimBefore,
|
|
@@ -5750,6 +5843,13 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
5750
5843
|
children: content
|
|
5751
5844
|
});
|
|
5752
5845
|
const styleIfThere = other.layout === "none" ? undefined : other.style;
|
|
5846
|
+
const cropClipPath = getSequenceCropClipPath({
|
|
5847
|
+
left: resolvedCropLeft,
|
|
5848
|
+
right: resolvedCropRight,
|
|
5849
|
+
top: resolvedCropTop,
|
|
5850
|
+
bottom: resolvedCropBottom,
|
|
5851
|
+
borderRadius: styleIfThere?.borderRadius
|
|
5852
|
+
});
|
|
5753
5853
|
const sequenceRef = useCallback6((node) => {
|
|
5754
5854
|
wrapperRefForOutline.current = node;
|
|
5755
5855
|
if (typeof ref === "function") {
|
|
@@ -5763,9 +5863,12 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
5763
5863
|
flexDirection: undefined,
|
|
5764
5864
|
...width ? { width } : {},
|
|
5765
5865
|
...height ? { height } : {},
|
|
5766
|
-
...styleIfThere ?? {}
|
|
5866
|
+
...styleIfThere ?? {},
|
|
5867
|
+
...cropClipPath ? {
|
|
5868
|
+
clipPath: cropClipPath
|
|
5869
|
+
} : {}
|
|
5767
5870
|
};
|
|
5768
|
-
}, [height, styleIfThere, width]);
|
|
5871
|
+
}, [cropClipPath, height, styleIfThere, width]);
|
|
5769
5872
|
if (ref !== null && layout === "none") {
|
|
5770
5873
|
throw new TypeError('It is not supported to pass both a `ref` and `layout="none"` to <Sequence />.');
|
|
5771
5874
|
}
|
|
@@ -5864,6 +5967,26 @@ var SequenceWithoutFrom = withInteractivitySchema({
|
|
|
5864
5967
|
schema: sequenceSchemaWithoutFrom,
|
|
5865
5968
|
supportsEffects: false
|
|
5866
5969
|
});
|
|
5970
|
+
var useCropStyle = ({
|
|
5971
|
+
cropLeft,
|
|
5972
|
+
cropRight,
|
|
5973
|
+
cropTop,
|
|
5974
|
+
cropBottom,
|
|
5975
|
+
style,
|
|
5976
|
+
componentName
|
|
5977
|
+
}) => {
|
|
5978
|
+
validateSequenceCrop({ cropLeft, cropRight, cropTop, cropBottom }, componentName);
|
|
5979
|
+
return useMemo16(() => {
|
|
5980
|
+
const cropClipPath = getSequenceCropClipPath({
|
|
5981
|
+
...resolveSequenceCrop({ cropLeft, cropRight, cropTop, cropBottom }),
|
|
5982
|
+
borderRadius: style?.borderRadius
|
|
5983
|
+
});
|
|
5984
|
+
if (cropClipPath === null) {
|
|
5985
|
+
return style;
|
|
5986
|
+
}
|
|
5987
|
+
return { ...style, clipPath: cropClipPath };
|
|
5988
|
+
}, [cropBottom, cropLeft, cropRight, cropTop, style]);
|
|
5989
|
+
};
|
|
5867
5990
|
var calculateImageFit = (fit, imageSize, canvasSize) => {
|
|
5868
5991
|
switch (fit) {
|
|
5869
5992
|
case "fill": {
|
|
@@ -6156,7 +6279,7 @@ var useEffectChainState = () => {
|
|
|
6156
6279
|
}
|
|
6157
6280
|
};
|
|
6158
6281
|
}, []);
|
|
6159
|
-
return
|
|
6282
|
+
return useMemo17(() => ({
|
|
6160
6283
|
get: (width, height) => {
|
|
6161
6284
|
if (!sizeRef.current || sizeRef.current.width !== width || sizeRef.current.height !== height) {
|
|
6162
6285
|
if (chainStateRef.current) {
|
|
@@ -6172,7 +6295,7 @@ var useEffectChainState = () => {
|
|
|
6172
6295
|
var CanvasRefForwardingFunction = ({ width, height, fit, className, style, effects, ...props }, ref) => {
|
|
6173
6296
|
const canvasRef = useRef8(null);
|
|
6174
6297
|
const chainState = useEffectChainState();
|
|
6175
|
-
const sourceCanvas =
|
|
6298
|
+
const sourceCanvas = useMemo18(() => {
|
|
6176
6299
|
if (typeof document === "undefined") {
|
|
6177
6300
|
return null;
|
|
6178
6301
|
}
|
|
@@ -6434,6 +6557,7 @@ var animatedImageSchema = {
|
|
|
6434
6557
|
keyframable: false
|
|
6435
6558
|
},
|
|
6436
6559
|
...baseSchema,
|
|
6560
|
+
...cropSchema,
|
|
6437
6561
|
...premountSchema,
|
|
6438
6562
|
playbackRate: {
|
|
6439
6563
|
type: "number",
|
|
@@ -6628,6 +6752,10 @@ var AnimatedImageInner = ({
|
|
|
6628
6752
|
postmountFor,
|
|
6629
6753
|
styleWhilePremounted,
|
|
6630
6754
|
styleWhilePostmounted,
|
|
6755
|
+
cropLeft,
|
|
6756
|
+
cropRight,
|
|
6757
|
+
cropTop,
|
|
6758
|
+
cropBottom,
|
|
6631
6759
|
requestInit,
|
|
6632
6760
|
effects = [],
|
|
6633
6761
|
controls,
|
|
@@ -6657,6 +6785,14 @@ var AnimatedImageInner = ({
|
|
|
6657
6785
|
styleWhilePostmounted: styleWhilePostmounted ?? null,
|
|
6658
6786
|
hideWhilePremounted: "display-none"
|
|
6659
6787
|
});
|
|
6788
|
+
const croppedStyle = useCropStyle({
|
|
6789
|
+
cropLeft,
|
|
6790
|
+
cropRight,
|
|
6791
|
+
cropTop,
|
|
6792
|
+
cropBottom,
|
|
6793
|
+
style: premountingStyle,
|
|
6794
|
+
componentName: "<AnimatedImage />"
|
|
6795
|
+
});
|
|
6660
6796
|
const canvasProps = getCanvasPropsFromSequenceProps(sequenceProps);
|
|
6661
6797
|
const animatedImageProps = {
|
|
6662
6798
|
src,
|
|
@@ -6668,7 +6804,7 @@ var AnimatedImageInner = ({
|
|
|
6668
6804
|
loopBehavior,
|
|
6669
6805
|
id,
|
|
6670
6806
|
className,
|
|
6671
|
-
style:
|
|
6807
|
+
style: croppedStyle ?? undefined,
|
|
6672
6808
|
requestInit,
|
|
6673
6809
|
...canvasProps
|
|
6674
6810
|
};
|
|
@@ -6809,7 +6945,7 @@ var RenderAssetManagerProvider = ({ children, collectAssets }) => {
|
|
|
6809
6945
|
};
|
|
6810
6946
|
}
|
|
6811
6947
|
}, []);
|
|
6812
|
-
const contextValue =
|
|
6948
|
+
const contextValue = useMemo19(() => {
|
|
6813
6949
|
return {
|
|
6814
6950
|
registerRenderAsset,
|
|
6815
6951
|
unregisterRenderAsset,
|
|
@@ -6938,14 +7074,14 @@ var Loop = ({
|
|
|
6938
7074
|
const iteration = Math.floor(currentFrame / durationInFrames);
|
|
6939
7075
|
const start = iteration * durationInFrames;
|
|
6940
7076
|
const from = Math.min(start, maxFrame);
|
|
6941
|
-
const loopDisplay =
|
|
7077
|
+
const loopDisplay = useMemo20(() => {
|
|
6942
7078
|
return {
|
|
6943
7079
|
numberOfTimes: Math.min(compDuration / durationInFrames, times),
|
|
6944
7080
|
startOffset: -from,
|
|
6945
7081
|
durationInFrames
|
|
6946
7082
|
};
|
|
6947
7083
|
}, [compDuration, durationInFrames, from, times]);
|
|
6948
|
-
const loopContext =
|
|
7084
|
+
const loopContext = useMemo20(() => {
|
|
6949
7085
|
return {
|
|
6950
7086
|
iteration: Math.floor(currentFrame / durationInFrames),
|
|
6951
7087
|
durationInFrames
|
|
@@ -7317,7 +7453,7 @@ var DurationsContext = createContext20({
|
|
|
7317
7453
|
});
|
|
7318
7454
|
var DurationsContextProvider = ({ children }) => {
|
|
7319
7455
|
const [durations, setDurations] = useReducer(durationReducer, {});
|
|
7320
|
-
const value =
|
|
7456
|
+
const value = useMemo21(() => {
|
|
7321
7457
|
return {
|
|
7322
7458
|
durations,
|
|
7323
7459
|
setDurations
|
|
@@ -7344,6 +7480,38 @@ var getCrossOriginValue = ({
|
|
|
7344
7480
|
}
|
|
7345
7481
|
return;
|
|
7346
7482
|
};
|
|
7483
|
+
function mulberry32(a2) {
|
|
7484
|
+
let t = a2 + 1831565813;
|
|
7485
|
+
t = Math.imul(t ^ t >>> 15, t | 1);
|
|
7486
|
+
t ^= t + Math.imul(t ^ t >>> 7, t | 61);
|
|
7487
|
+
return ((t ^ t >>> 14) >>> 0) / 4294967296;
|
|
7488
|
+
}
|
|
7489
|
+
function hashCode(str) {
|
|
7490
|
+
let i = 0;
|
|
7491
|
+
let chr = 0;
|
|
7492
|
+
let hash = 0;
|
|
7493
|
+
for (i = 0;i < str.length; i++) {
|
|
7494
|
+
chr = str.charCodeAt(i);
|
|
7495
|
+
hash = (hash << 5) - hash + chr;
|
|
7496
|
+
hash |= 0;
|
|
7497
|
+
}
|
|
7498
|
+
return hash;
|
|
7499
|
+
}
|
|
7500
|
+
var random = (seed, dummy) => {
|
|
7501
|
+
if (dummy !== undefined) {
|
|
7502
|
+
throw new TypeError("random() takes only one argument");
|
|
7503
|
+
}
|
|
7504
|
+
if (seed === null) {
|
|
7505
|
+
return Math.random();
|
|
7506
|
+
}
|
|
7507
|
+
if (typeof seed === "string") {
|
|
7508
|
+
return mulberry32(hashCode(seed));
|
|
7509
|
+
}
|
|
7510
|
+
if (typeof seed === "number") {
|
|
7511
|
+
return mulberry32(seed * 10000000000);
|
|
7512
|
+
}
|
|
7513
|
+
throw new Error("random() argument must be a number or a string");
|
|
7514
|
+
};
|
|
7347
7515
|
var playAndHandleNotAllowedError = ({
|
|
7348
7516
|
mediaRef,
|
|
7349
7517
|
mediaType,
|
|
@@ -7460,7 +7628,7 @@ var useSingletonAudioContext = ({
|
|
|
7460
7628
|
if (sampleRate !== initialSampleRate.current) {
|
|
7461
7629
|
throw new Error(`Changing the AudioContext sample rate dynamically is not supported. The sample rate was initialized with ${initialSampleRate.current} Hz, but ${sampleRate} Hz was passed later.`);
|
|
7462
7630
|
}
|
|
7463
|
-
const context =
|
|
7631
|
+
const context = useMemo22(() => {
|
|
7464
7632
|
if (env.isRendering) {
|
|
7465
7633
|
return null;
|
|
7466
7634
|
}
|
|
@@ -7594,9 +7762,9 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
|
|
|
7594
7762
|
});
|
|
7595
7763
|
const audioContextIsPlayingEventually = useRef12(false);
|
|
7596
7764
|
const isResuming = useRef12(null);
|
|
7597
|
-
const audioSyncAnchor =
|
|
7765
|
+
const audioSyncAnchor = useMemo23(() => ({ value: 0 }), []);
|
|
7598
7766
|
const audioSyncAnchorListeners = useRef12([]);
|
|
7599
|
-
const audioSyncAnchorEmitter =
|
|
7767
|
+
const audioSyncAnchorEmitter = useMemo23(() => {
|
|
7600
7768
|
return {
|
|
7601
7769
|
dispatch: (event) => {
|
|
7602
7770
|
audioSyncAnchorListeners.current.forEach((l) => l(event));
|
|
@@ -7616,7 +7784,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
|
|
|
7616
7784
|
const unscheduleAudioNode = useCallback9((node) => {
|
|
7617
7785
|
nodesToResume.current.delete(node);
|
|
7618
7786
|
}, []);
|
|
7619
|
-
const scheduleAudioNode =
|
|
7787
|
+
const scheduleAudioNode = useMemo23(() => {
|
|
7620
7788
|
return ({
|
|
7621
7789
|
node,
|
|
7622
7790
|
mediaTimestamp,
|
|
@@ -7708,7 +7876,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
|
|
|
7708
7876
|
audioContextIsPlayingEventually.current = false;
|
|
7709
7877
|
return ctxAndGain.suspend();
|
|
7710
7878
|
}, [ctxAndGain]);
|
|
7711
|
-
const audioContextValue =
|
|
7879
|
+
const audioContextValue = useMemo23(() => {
|
|
7712
7880
|
return {
|
|
7713
7881
|
audioContext: ctxAndGain?.audioContext ?? null,
|
|
7714
7882
|
getAudioContextState: () => ctxAndGain?.getState() ?? null,
|
|
@@ -7890,7 +8058,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
7890
8058
|
});
|
|
7891
8059
|
resume?.();
|
|
7892
8060
|
}, [logLevel, mountTime, refs, env.isPlayer, resume]);
|
|
7893
|
-
const audioTagsValue =
|
|
8061
|
+
const audioTagsValue = useMemo23(() => {
|
|
7894
8062
|
return {
|
|
7895
8063
|
registerAudio,
|
|
7896
8064
|
unregisterAudio,
|
|
@@ -7905,7 +8073,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
7905
8073
|
unregisterAudio,
|
|
7906
8074
|
updateAudio
|
|
7907
8075
|
]);
|
|
7908
|
-
const sharedAudioTagElements =
|
|
8076
|
+
const sharedAudioTagElements = useMemo23(() => {
|
|
7909
8077
|
return refs.map(({ id, ref }) => {
|
|
7910
8078
|
return /* @__PURE__ */ jsx19("audio", {
|
|
7911
8079
|
ref,
|
|
@@ -8273,7 +8441,7 @@ var useBasicMediaInTimeline = ({
|
|
|
8273
8441
|
parentSequenceDurationInFrames: parentSequence?.durationInFrames ?? null,
|
|
8274
8442
|
loop
|
|
8275
8443
|
});
|
|
8276
|
-
const volumes =
|
|
8444
|
+
const volumes = useMemo24(() => {
|
|
8277
8445
|
if (typeof volume === "number") {
|
|
8278
8446
|
return volume;
|
|
8279
8447
|
}
|
|
@@ -8292,15 +8460,13 @@ var useBasicMediaInTimeline = ({
|
|
|
8292
8460
|
}, [initialVolume, mediaType, src, volume]);
|
|
8293
8461
|
const doesVolumeChange = typeof volume === "function";
|
|
8294
8462
|
const nonce = useNonce();
|
|
8295
|
-
const { rootId } = useTimelineContext();
|
|
8296
8463
|
const startMediaFrom = 0 - mediaStartsAt + (trimBefore ?? 0);
|
|
8297
|
-
const memoizedResult =
|
|
8464
|
+
const memoizedResult = useMemo24(() => {
|
|
8298
8465
|
return {
|
|
8299
8466
|
volumes,
|
|
8300
8467
|
duration,
|
|
8301
8468
|
doesVolumeChange,
|
|
8302
8469
|
nonce,
|
|
8303
|
-
rootId,
|
|
8304
8470
|
finalDisplayName: displayName ?? getAssetDisplayName(src),
|
|
8305
8471
|
startMediaFrom,
|
|
8306
8472
|
src,
|
|
@@ -8311,7 +8477,6 @@ var useBasicMediaInTimeline = ({
|
|
|
8311
8477
|
duration,
|
|
8312
8478
|
doesVolumeChange,
|
|
8313
8479
|
nonce,
|
|
8314
|
-
rootId,
|
|
8315
8480
|
displayName,
|
|
8316
8481
|
src,
|
|
8317
8482
|
startMediaFrom,
|
|
@@ -8340,7 +8505,7 @@ var useMediaInTimeline = ({
|
|
|
8340
8505
|
const { registerSequence, unregisterSequence } = useContext24(SequenceManager);
|
|
8341
8506
|
const { durationInFrames } = useVideoConfig();
|
|
8342
8507
|
const mediaStartsAt = useMediaStartsAt();
|
|
8343
|
-
const { volumes, duration, doesVolumeChange, nonce,
|
|
8508
|
+
const { volumes, duration, doesVolumeChange, nonce, finalDisplayName } = useBasicMediaInTimeline({
|
|
8344
8509
|
volume,
|
|
8345
8510
|
mediaVolume,
|
|
8346
8511
|
mediaType,
|
|
@@ -8374,7 +8539,6 @@ var useMediaInTimeline = ({
|
|
|
8374
8539
|
parent: parentSequence?.id ?? null,
|
|
8375
8540
|
displayName: finalDisplayName,
|
|
8376
8541
|
documentationLink,
|
|
8377
|
-
rootId,
|
|
8378
8542
|
volume: volumes,
|
|
8379
8543
|
showInTimeline: true,
|
|
8380
8544
|
nonce: nonce.get(),
|
|
@@ -8415,7 +8579,6 @@ var useMediaInTimeline = ({
|
|
|
8415
8579
|
postmountDisplay,
|
|
8416
8580
|
loopDisplay,
|
|
8417
8581
|
documentationLink,
|
|
8418
|
-
rootId,
|
|
8419
8582
|
finalDisplayName,
|
|
8420
8583
|
isStudio,
|
|
8421
8584
|
refForOutline
|
|
@@ -8502,7 +8665,7 @@ var useBufferManager = (logLevel, mountTime) => {
|
|
|
8502
8665
|
}
|
|
8503
8666
|
}, [blocks]);
|
|
8504
8667
|
}
|
|
8505
|
-
return
|
|
8668
|
+
return useMemo25(() => {
|
|
8506
8669
|
return { addBlock, listenForBuffering, listenForResume, buffering };
|
|
8507
8670
|
}, [addBlock, buffering, listenForBuffering, listenForResume]);
|
|
8508
8671
|
};
|
|
@@ -8537,7 +8700,7 @@ var useBufferState = () => {
|
|
|
8537
8700
|
const buffer = useContext26(BufferingContextReact);
|
|
8538
8701
|
const logLevel = useLogLevel();
|
|
8539
8702
|
const addBlock = buffer ? buffer.addBlock : null;
|
|
8540
|
-
return
|
|
8703
|
+
return useMemo26(() => ({
|
|
8541
8704
|
delayPlayback: () => {
|
|
8542
8705
|
if (!addBlock) {
|
|
8543
8706
|
throw new Error("Tried to enable the buffering state, but a Remotion context was not found. This API can only be called in a component that was passed to the Remotion Player or a <Composition>. Or you might have experienced a version mismatch - run `npx remotion versions` and ensure all packages have the same version. This error is thrown by the buffer state https://remotion.dev/docs/player/buffer-state");
|
|
@@ -8645,7 +8808,7 @@ var useBufferUntilFirstFrame = ({
|
|
|
8645
8808
|
onVariableFpsVideoDetected,
|
|
8646
8809
|
pauseWhenBuffering
|
|
8647
8810
|
]);
|
|
8648
|
-
return
|
|
8811
|
+
return useMemo27(() => {
|
|
8649
8812
|
return {
|
|
8650
8813
|
isBuffering: () => bufferingRef.current,
|
|
8651
8814
|
bufferUntilFirstFrame
|
|
@@ -9316,14 +9479,14 @@ var SetMediaVolumeContext = createContext22({
|
|
|
9316
9479
|
var useMediaVolumeState = () => {
|
|
9317
9480
|
const { mediaVolume } = useContext28(MediaVolumeContext);
|
|
9318
9481
|
const { setMediaVolume } = useContext28(SetMediaVolumeContext);
|
|
9319
|
-
return
|
|
9482
|
+
return useMemo28(() => {
|
|
9320
9483
|
return [mediaVolume, setMediaVolume];
|
|
9321
9484
|
}, [mediaVolume, setMediaVolume]);
|
|
9322
9485
|
};
|
|
9323
9486
|
var usePlayerMutedState = () => {
|
|
9324
9487
|
const { playerMuted } = useContext28(MediaVolumeContext);
|
|
9325
9488
|
const { setPlayerMuted } = useContext28(SetMediaVolumeContext);
|
|
9326
|
-
return
|
|
9489
|
+
return useMemo28(() => {
|
|
9327
9490
|
return [playerMuted, setPlayerMuted];
|
|
9328
9491
|
}, [playerMuted, setPlayerMuted]);
|
|
9329
9492
|
};
|
|
@@ -9390,7 +9553,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
9390
9553
|
requestsVideoFrame: false,
|
|
9391
9554
|
isClientSideRendering: false
|
|
9392
9555
|
});
|
|
9393
|
-
const propsToPass =
|
|
9556
|
+
const propsToPass = useMemo29(() => {
|
|
9394
9557
|
return {
|
|
9395
9558
|
muted: muted || playerMuted || userPreferredVolume <= 0,
|
|
9396
9559
|
src: preloadedSrc,
|
|
@@ -9407,7 +9570,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
9407
9570
|
userPreferredVolume,
|
|
9408
9571
|
crossOriginValue
|
|
9409
9572
|
]);
|
|
9410
|
-
const id =
|
|
9573
|
+
const id = useMemo29(() => `audio-${random(src ?? "")}-${sequenceContext?.relativeFrom}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.durationInFrames}-muted:${props.muted}-loop:${props.loop}`, [
|
|
9411
9574
|
src,
|
|
9412
9575
|
sequenceContext?.relativeFrom,
|
|
9413
9576
|
sequenceContext?.cumulatedFrom,
|
|
@@ -9540,7 +9703,7 @@ var AudioForRenderingRefForwardingFunction = (props, ref) => {
|
|
|
9540
9703
|
const sequenceContext = useContext30(SequenceContext);
|
|
9541
9704
|
const { registerRenderAsset, unregisterRenderAsset } = useContext30(RenderAssetManager);
|
|
9542
9705
|
const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
|
|
9543
|
-
const id =
|
|
9706
|
+
const id = useMemo30(() => `audio-${random(props.src ?? "")}-${sequenceContext?.relativeFrom}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.durationInFrames}`, [
|
|
9544
9707
|
props.src,
|
|
9545
9708
|
sequenceContext?.relativeFrom,
|
|
9546
9709
|
sequenceContext?.cumulatedFrom,
|
|
@@ -9814,7 +9977,8 @@ var solidSchema = {
|
|
|
9814
9977
|
},
|
|
9815
9978
|
...transformSchema,
|
|
9816
9979
|
...backgroundSchema,
|
|
9817
|
-
...borderSchema
|
|
9980
|
+
...borderSchema,
|
|
9981
|
+
...cropSchema
|
|
9818
9982
|
};
|
|
9819
9983
|
var SolidInner = ({
|
|
9820
9984
|
color,
|
|
@@ -9836,7 +10000,7 @@ var SolidInner = ({
|
|
|
9836
10000
|
effects,
|
|
9837
10001
|
overrideId: overrideId ?? null
|
|
9838
10002
|
});
|
|
9839
|
-
const sourceCanvas =
|
|
10003
|
+
const sourceCanvas = useMemo31(() => {
|
|
9840
10004
|
if (typeof document === "undefined") {
|
|
9841
10005
|
return null;
|
|
9842
10006
|
}
|
|
@@ -9904,7 +10068,7 @@ var SolidInner = ({
|
|
|
9904
10068
|
cancelRender2,
|
|
9905
10069
|
memoizedEffects
|
|
9906
10070
|
]);
|
|
9907
|
-
const canvasStyle =
|
|
10071
|
+
const canvasStyle = useMemo31(() => {
|
|
9908
10072
|
return {
|
|
9909
10073
|
width,
|
|
9910
10074
|
height,
|
|
@@ -9935,6 +10099,10 @@ var SolidOuter = forwardRef8(({
|
|
|
9935
10099
|
hidden,
|
|
9936
10100
|
showInTimeline,
|
|
9937
10101
|
pixelDensity,
|
|
10102
|
+
cropLeft,
|
|
10103
|
+
cropRight,
|
|
10104
|
+
cropTop,
|
|
10105
|
+
cropBottom,
|
|
9938
10106
|
...props2
|
|
9939
10107
|
}, ref) => {
|
|
9940
10108
|
const memoizedEffectDefinitions = useMemoizedEffectDefinitions(effects);
|
|
@@ -9942,6 +10110,14 @@ var SolidOuter = forwardRef8(({
|
|
|
9942
10110
|
useImperativeHandle6(ref, () => {
|
|
9943
10111
|
return actualRef.current;
|
|
9944
10112
|
}, []);
|
|
10113
|
+
const croppedStyle = useCropStyle({
|
|
10114
|
+
cropLeft,
|
|
10115
|
+
cropRight,
|
|
10116
|
+
cropTop,
|
|
10117
|
+
cropBottom,
|
|
10118
|
+
style: style ?? null,
|
|
10119
|
+
componentName: "<Solid />"
|
|
10120
|
+
});
|
|
9945
10121
|
return /* @__PURE__ */ jsx24(Sequence, {
|
|
9946
10122
|
layout: "none",
|
|
9947
10123
|
from,
|
|
@@ -9963,7 +10139,7 @@ var SolidOuter = forwardRef8(({
|
|
|
9963
10139
|
height,
|
|
9964
10140
|
width,
|
|
9965
10141
|
className,
|
|
9966
|
-
style,
|
|
10142
|
+
style: croppedStyle ?? undefined,
|
|
9967
10143
|
effects,
|
|
9968
10144
|
pixelDensity
|
|
9969
10145
|
})
|
|
@@ -9992,6 +10168,17 @@ var isHtmlInCanvasSupported = () => {
|
|
|
9992
10168
|
return cachedSupport;
|
|
9993
10169
|
};
|
|
9994
10170
|
var HTML_IN_CANVAS_UNSUPPORTED_MESSAGE = "HTML in Canvas is not supported. Two common causes: Chrome is older than version 148 (update Chrome), or the HTML-in-Canvas flag is disabled at chrome://flags/#canvas-draw-element (enable it and restart Chrome).";
|
|
10171
|
+
var MINIMUM_CHROME_VERSION_FOR_NESTED_HTML_IN_CANVAS = 152;
|
|
10172
|
+
var getChromeMajorVersion = () => {
|
|
10173
|
+
if (typeof navigator === "undefined") {
|
|
10174
|
+
return null;
|
|
10175
|
+
}
|
|
10176
|
+
const match = navigator.userAgent.match(/\b(?:HeadlessChrome|Chrome)\/(\d+)/);
|
|
10177
|
+
if (!match) {
|
|
10178
|
+
return null;
|
|
10179
|
+
}
|
|
10180
|
+
return Number(match[1]);
|
|
10181
|
+
};
|
|
9995
10182
|
function assertHtmlInCanvasDimensions(width, height) {
|
|
9996
10183
|
if (typeof width !== "number" || typeof height !== "number") {
|
|
9997
10184
|
throw new Error(`HtmlInCanvas: \`width\` and \`height\` must be numbers. Received width=${String(width)}, height=${String(height)}.`);
|
|
@@ -10055,6 +10242,10 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
10055
10242
|
}, ref) => {
|
|
10056
10243
|
const ancestor = useContext32(HtmlInCanvasAncestorContext);
|
|
10057
10244
|
assertHtmlInCanvasDimensions(width, height);
|
|
10245
|
+
const chromeMajorVersion = getChromeMajorVersion();
|
|
10246
|
+
if (ancestor && chromeMajorVersion !== null && chromeMajorVersion < MINIMUM_CHROME_VERSION_FOR_NESTED_HTML_IN_CANVAS) {
|
|
10247
|
+
throw new Error(`Nested <HtmlInCanvas> components require Chrome ${MINIMUM_CHROME_VERSION_FOR_NESTED_HTML_IN_CANVAS} or newer, but the current browser is Chrome ${chromeMajorVersion}. Upgrade Chrome or avoid nesting components that use <HtmlInCanvas>, such as shapes with effects.`);
|
|
10248
|
+
}
|
|
10058
10249
|
const resolvedPixelDensity = resolveHtmlInCanvasPixelDensity(pixelDensity);
|
|
10059
10250
|
const canvasWidth = Math.ceil(width * resolvedPixelDensity);
|
|
10060
10251
|
const canvasHeight = Math.ceil(height * resolvedPixelDensity);
|
|
@@ -10273,20 +10464,20 @@ var HtmlInCanvasContent = forwardRef9(({
|
|
|
10273
10464
|
continueRender2(handle);
|
|
10274
10465
|
};
|
|
10275
10466
|
}, [width, height, continueRender2, delayRender2, canvasSizeKey]);
|
|
10276
|
-
const innerStyle =
|
|
10467
|
+
const innerStyle = useMemo32(() => {
|
|
10277
10468
|
return {
|
|
10278
10469
|
width,
|
|
10279
10470
|
height
|
|
10280
10471
|
};
|
|
10281
10472
|
}, [width, height]);
|
|
10282
|
-
const canvasStyle =
|
|
10473
|
+
const canvasStyle = useMemo32(() => {
|
|
10283
10474
|
return {
|
|
10284
10475
|
width,
|
|
10285
10476
|
height,
|
|
10286
10477
|
...style ?? {}
|
|
10287
10478
|
};
|
|
10288
10479
|
}, [height, style, width]);
|
|
10289
|
-
const ancestorValue =
|
|
10480
|
+
const ancestorValue = useMemo32(() => {
|
|
10290
10481
|
return {
|
|
10291
10482
|
requestParentPaint: () => {
|
|
10292
10483
|
canvas2dRef.current?.requestPaint?.();
|
|
@@ -10319,6 +10510,10 @@ var HtmlInCanvasInner = forwardRef9(({
|
|
|
10319
10510
|
pixelDensity,
|
|
10320
10511
|
controls,
|
|
10321
10512
|
style,
|
|
10513
|
+
cropLeft,
|
|
10514
|
+
cropRight,
|
|
10515
|
+
cropTop,
|
|
10516
|
+
cropBottom,
|
|
10322
10517
|
durationInFrames,
|
|
10323
10518
|
name,
|
|
10324
10519
|
...sequenceProps
|
|
@@ -10333,6 +10528,14 @@ var HtmlInCanvasInner = forwardRef9(({
|
|
|
10333
10528
|
ref.current = node;
|
|
10334
10529
|
}
|
|
10335
10530
|
}, [ref]);
|
|
10531
|
+
const croppedStyle = useCropStyle({
|
|
10532
|
+
cropLeft,
|
|
10533
|
+
cropRight,
|
|
10534
|
+
cropTop,
|
|
10535
|
+
cropBottom,
|
|
10536
|
+
style: style ?? null,
|
|
10537
|
+
componentName: "<HtmlInCanvas />"
|
|
10538
|
+
});
|
|
10336
10539
|
return /* @__PURE__ */ jsx25(Sequence, {
|
|
10337
10540
|
durationInFrames,
|
|
10338
10541
|
name: name ?? "<HtmlInCanvas>",
|
|
@@ -10351,7 +10554,7 @@ var HtmlInCanvasInner = forwardRef9(({
|
|
|
10351
10554
|
onInit,
|
|
10352
10555
|
pixelDensity,
|
|
10353
10556
|
controls,
|
|
10354
|
-
style,
|
|
10557
|
+
style: croppedStyle ?? undefined,
|
|
10355
10558
|
children
|
|
10356
10559
|
})
|
|
10357
10560
|
});
|
|
@@ -10370,7 +10573,8 @@ var htmlInCanvasSchema = {
|
|
|
10370
10573
|
},
|
|
10371
10574
|
...transformSchema,
|
|
10372
10575
|
...backgroundSchema,
|
|
10373
|
-
...borderSchema
|
|
10576
|
+
...borderSchema,
|
|
10577
|
+
...cropSchema
|
|
10374
10578
|
};
|
|
10375
10579
|
var HtmlInCanvasWrapped = withInteractivitySchema({
|
|
10376
10580
|
Component: HtmlInCanvasInner,
|
|
@@ -10392,6 +10596,7 @@ function truncateSrcForLabel(src) {
|
|
|
10392
10596
|
}
|
|
10393
10597
|
var canvasImageSchema = {
|
|
10394
10598
|
...baseSchema,
|
|
10599
|
+
...cropSchema,
|
|
10395
10600
|
...premountSchema,
|
|
10396
10601
|
fit: {
|
|
10397
10602
|
type: "enum",
|
|
@@ -10522,7 +10727,7 @@ var CanvasImageContent = forwardRef10(({
|
|
|
10522
10727
|
continueRender2(pending.handle);
|
|
10523
10728
|
pendingLoadDelayRef.current = null;
|
|
10524
10729
|
}, [continueRender2]);
|
|
10525
|
-
const sourceCanvas =
|
|
10730
|
+
const sourceCanvas = useMemo33(() => {
|
|
10526
10731
|
if (typeof document === "undefined") {
|
|
10527
10732
|
return null;
|
|
10528
10733
|
}
|
|
@@ -10736,9 +10941,14 @@ var CanvasImageInner = forwardRef10(({
|
|
|
10736
10941
|
hidden,
|
|
10737
10942
|
name,
|
|
10738
10943
|
showInTimeline,
|
|
10944
|
+
cropLeft,
|
|
10945
|
+
cropRight,
|
|
10946
|
+
cropTop,
|
|
10947
|
+
cropBottom,
|
|
10739
10948
|
stack,
|
|
10740
10949
|
controls,
|
|
10741
10950
|
_remotionInternalDocumentationLink,
|
|
10951
|
+
_remotionInternalCropComponentName,
|
|
10742
10952
|
outlineRef,
|
|
10743
10953
|
...canvasProps
|
|
10744
10954
|
}, ref) => {
|
|
@@ -10768,6 +10978,14 @@ var CanvasImageInner = forwardRef10(({
|
|
|
10768
10978
|
styleWhilePostmounted: styleWhilePostmounted ?? null,
|
|
10769
10979
|
hideWhilePremounted: "display-none"
|
|
10770
10980
|
});
|
|
10981
|
+
const croppedStyle = useCropStyle({
|
|
10982
|
+
cropLeft,
|
|
10983
|
+
cropRight,
|
|
10984
|
+
cropTop,
|
|
10985
|
+
cropBottom,
|
|
10986
|
+
style: premountingStyle,
|
|
10987
|
+
componentName: _remotionInternalCropComponentName ?? "<CanvasImage />"
|
|
10988
|
+
});
|
|
10771
10989
|
return /* @__PURE__ */ jsx26(Freeze, {
|
|
10772
10990
|
frame: freezeFrame,
|
|
10773
10991
|
active: isPremountingOrPostmounting,
|
|
@@ -10799,7 +11017,7 @@ var CanvasImageInner = forwardRef10(({
|
|
|
10799
11017
|
effects,
|
|
10800
11018
|
controls,
|
|
10801
11019
|
className,
|
|
10802
|
-
style:
|
|
11020
|
+
style: croppedStyle ?? undefined,
|
|
10803
11021
|
id,
|
|
10804
11022
|
onError,
|
|
10805
11023
|
pauseWhenLoading,
|
|
@@ -11030,6 +11248,10 @@ var NativeImgInner = ({
|
|
|
11030
11248
|
style,
|
|
11031
11249
|
styleWhilePremounted,
|
|
11032
11250
|
styleWhilePostmounted,
|
|
11251
|
+
cropLeft,
|
|
11252
|
+
cropRight,
|
|
11253
|
+
cropTop,
|
|
11254
|
+
cropBottom,
|
|
11033
11255
|
controls,
|
|
11034
11256
|
outlineRef: refForOutline,
|
|
11035
11257
|
...props2
|
|
@@ -11055,6 +11277,14 @@ var NativeImgInner = ({
|
|
|
11055
11277
|
styleWhilePostmounted: styleWhilePostmounted ?? null,
|
|
11056
11278
|
hideWhilePremounted: "display-none"
|
|
11057
11279
|
});
|
|
11280
|
+
const croppedStyle = useCropStyle({
|
|
11281
|
+
cropLeft,
|
|
11282
|
+
cropRight,
|
|
11283
|
+
cropTop,
|
|
11284
|
+
cropBottom,
|
|
11285
|
+
style: premountingStyle,
|
|
11286
|
+
componentName: "<Img />"
|
|
11287
|
+
});
|
|
11058
11288
|
return /* @__PURE__ */ jsx28(Freeze, {
|
|
11059
11289
|
frame: freezeFrame,
|
|
11060
11290
|
active: isPremountingOrPostmounting,
|
|
@@ -11079,7 +11309,7 @@ var NativeImgInner = ({
|
|
|
11079
11309
|
children: /* @__PURE__ */ jsx28(ImgContent, {
|
|
11080
11310
|
src,
|
|
11081
11311
|
refForOutline,
|
|
11082
|
-
style:
|
|
11312
|
+
style: croppedStyle ?? undefined,
|
|
11083
11313
|
...props2
|
|
11084
11314
|
})
|
|
11085
11315
|
})
|
|
@@ -11094,6 +11324,7 @@ var imgSchema = {
|
|
|
11094
11324
|
keyframable: false
|
|
11095
11325
|
},
|
|
11096
11326
|
...baseSchema,
|
|
11327
|
+
...cropSchema,
|
|
11097
11328
|
...premountSchema,
|
|
11098
11329
|
...transformSchema,
|
|
11099
11330
|
...backgroundSchema,
|
|
@@ -11162,6 +11393,10 @@ var ImgInner = ({
|
|
|
11162
11393
|
height,
|
|
11163
11394
|
className,
|
|
11164
11395
|
style,
|
|
11396
|
+
cropLeft,
|
|
11397
|
+
cropRight,
|
|
11398
|
+
cropTop,
|
|
11399
|
+
cropBottom,
|
|
11165
11400
|
id,
|
|
11166
11401
|
pauseWhenLoading,
|
|
11167
11402
|
maxRetries,
|
|
@@ -11193,6 +11428,10 @@ var ImgInner = ({
|
|
|
11193
11428
|
height,
|
|
11194
11429
|
className,
|
|
11195
11430
|
style,
|
|
11431
|
+
cropLeft,
|
|
11432
|
+
cropRight,
|
|
11433
|
+
cropTop,
|
|
11434
|
+
cropBottom,
|
|
11196
11435
|
id,
|
|
11197
11436
|
pauseWhenLoading: shouldPauseWhenLoading,
|
|
11198
11437
|
maxRetries,
|
|
@@ -11222,6 +11461,10 @@ var ImgInner = ({
|
|
|
11222
11461
|
effects,
|
|
11223
11462
|
className,
|
|
11224
11463
|
style,
|
|
11464
|
+
cropLeft,
|
|
11465
|
+
cropRight,
|
|
11466
|
+
cropTop,
|
|
11467
|
+
cropBottom,
|
|
11225
11468
|
id,
|
|
11226
11469
|
pauseWhenLoading: shouldPauseWhenLoading,
|
|
11227
11470
|
maxRetries,
|
|
@@ -11240,6 +11483,7 @@ var ImgInner = ({
|
|
|
11240
11483
|
showInTimeline,
|
|
11241
11484
|
stack,
|
|
11242
11485
|
_remotionInternalDocumentationLink: "https://www.remotion.dev/docs/img",
|
|
11486
|
+
_remotionInternalCropComponentName: "<Img />",
|
|
11243
11487
|
controls,
|
|
11244
11488
|
outlineRef: refForOutline,
|
|
11245
11489
|
...canvasProps
|
|
@@ -11288,9 +11532,22 @@ var interactiveTextElementSchema = {
|
|
|
11288
11532
|
};
|
|
11289
11533
|
var interactiveSvgTextElementSchema = {
|
|
11290
11534
|
...interactiveElementSchema,
|
|
11535
|
+
...svgPaintSchema,
|
|
11291
11536
|
...textSchema,
|
|
11292
11537
|
...textContentSchema
|
|
11293
11538
|
};
|
|
11539
|
+
var interactiveSvgElementSchema = {
|
|
11540
|
+
...interactiveElementSchema,
|
|
11541
|
+
...svgPaintSchema
|
|
11542
|
+
};
|
|
11543
|
+
var interactiveSvgStrokeElementSchema = {
|
|
11544
|
+
...interactiveElementSchema,
|
|
11545
|
+
...svgStrokeSchema
|
|
11546
|
+
};
|
|
11547
|
+
var interactiveSvgRootElementSchema = {
|
|
11548
|
+
...interactiveBorderElementSchema,
|
|
11549
|
+
...svgPaintSchema
|
|
11550
|
+
};
|
|
11294
11551
|
var setRef = (ref, value) => {
|
|
11295
11552
|
if (typeof ref === "function") {
|
|
11296
11553
|
ref(value);
|
|
@@ -11358,8 +11615,11 @@ var makeInteractiveElement = (tag, displayName, schema) => {
|
|
|
11358
11615
|
var makeInteractiveTextElement = (tag, displayName) => {
|
|
11359
11616
|
return makeInteractiveElement(tag, displayName, interactiveTextElementSchema);
|
|
11360
11617
|
};
|
|
11361
|
-
var
|
|
11362
|
-
return makeInteractiveElement(tag, displayName,
|
|
11618
|
+
var makeInteractiveSvgElement = (tag, displayName) => {
|
|
11619
|
+
return makeInteractiveElement(tag, displayName, interactiveSvgElementSchema);
|
|
11620
|
+
};
|
|
11621
|
+
var makeInteractiveSvgStrokeElement = (tag, displayName) => {
|
|
11622
|
+
return makeInteractiveElement(tag, displayName, interactiveSvgStrokeElementSchema);
|
|
11363
11623
|
};
|
|
11364
11624
|
var Interactive = {
|
|
11365
11625
|
baseSchema,
|
|
@@ -11367,6 +11627,9 @@ var Interactive = {
|
|
|
11367
11627
|
textSchema,
|
|
11368
11628
|
backgroundSchema,
|
|
11369
11629
|
borderSchema,
|
|
11630
|
+
cropSchema,
|
|
11631
|
+
svgPaintSchema,
|
|
11632
|
+
svgStrokeSchema,
|
|
11370
11633
|
premountSchema,
|
|
11371
11634
|
sequenceSchema,
|
|
11372
11635
|
withSchema,
|
|
@@ -11375,13 +11638,13 @@ var Interactive = {
|
|
|
11375
11638
|
Article: makeInteractiveTextElement("article", "<Interactive.Article>"),
|
|
11376
11639
|
Aside: makeInteractiveTextElement("aside", "<Interactive.Aside>"),
|
|
11377
11640
|
Button: makeInteractiveTextElement("button", "<Interactive.Button>"),
|
|
11378
|
-
Circle:
|
|
11641
|
+
Circle: makeInteractiveSvgElement("circle", "<Interactive.Circle>"),
|
|
11379
11642
|
Code: makeInteractiveTextElement("code", "<Interactive.Code>"),
|
|
11380
11643
|
Div: makeInteractiveTextElement("div", "<Interactive.Div>"),
|
|
11381
|
-
Ellipse:
|
|
11644
|
+
Ellipse: makeInteractiveSvgElement("ellipse", "<Interactive.Ellipse>"),
|
|
11382
11645
|
Em: makeInteractiveTextElement("em", "<Interactive.Em>"),
|
|
11383
11646
|
Footer: makeInteractiveTextElement("footer", "<Interactive.Footer>"),
|
|
11384
|
-
G:
|
|
11647
|
+
G: makeInteractiveSvgElement("g", "<Interactive.G>"),
|
|
11385
11648
|
H1: makeInteractiveTextElement("h1", "<Interactive.H1>"),
|
|
11386
11649
|
H2: makeInteractiveTextElement("h2", "<Interactive.H2>"),
|
|
11387
11650
|
H3: makeInteractiveTextElement("h3", "<Interactive.H3>"),
|
|
@@ -11391,19 +11654,19 @@ var Interactive = {
|
|
|
11391
11654
|
Header: makeInteractiveTextElement("header", "<Interactive.Header>"),
|
|
11392
11655
|
Label: makeInteractiveTextElement("label", "<Interactive.Label>"),
|
|
11393
11656
|
Li: makeInteractiveTextElement("li", "<Interactive.Li>"),
|
|
11394
|
-
Line:
|
|
11657
|
+
Line: makeInteractiveSvgStrokeElement("line", "<Interactive.Line>"),
|
|
11395
11658
|
Main: makeInteractiveTextElement("main", "<Interactive.Main>"),
|
|
11396
11659
|
Nav: makeInteractiveTextElement("nav", "<Interactive.Nav>"),
|
|
11397
11660
|
Ol: makeInteractiveTextElement("ol", "<Interactive.Ol>"),
|
|
11398
11661
|
P: makeInteractiveTextElement("p", "<Interactive.P>"),
|
|
11399
|
-
Path:
|
|
11662
|
+
Path: makeInteractiveSvgElement("path", "<Interactive.Path>"),
|
|
11400
11663
|
Pre: makeInteractiveTextElement("pre", "<Interactive.Pre>"),
|
|
11401
|
-
Rect:
|
|
11664
|
+
Rect: makeInteractiveSvgElement("rect", "<Interactive.Rect>"),
|
|
11402
11665
|
Section: makeInteractiveTextElement("section", "<Interactive.Section>"),
|
|
11403
11666
|
Small: makeInteractiveTextElement("small", "<Interactive.Small>"),
|
|
11404
11667
|
Span: makeInteractiveTextElement("span", "<Interactive.Span>"),
|
|
11405
11668
|
Strong: makeInteractiveTextElement("strong", "<Interactive.Strong>"),
|
|
11406
|
-
Svg: makeInteractiveElement("svg", "<Interactive.Svg>",
|
|
11669
|
+
Svg: makeInteractiveElement("svg", "<Interactive.Svg>", interactiveSvgRootElementSchema),
|
|
11407
11670
|
Text: makeInteractiveElement("text", "<Interactive.Text>", interactiveSvgTextElementSchema),
|
|
11408
11671
|
Ul: makeInteractiveTextElement("ul", "<Interactive.Ul>")
|
|
11409
11672
|
};
|
|
@@ -11491,7 +11754,7 @@ var CompositionManagerProvider = ({
|
|
|
11491
11754
|
getCompositions: () => currentcompositionsRef.current
|
|
11492
11755
|
};
|
|
11493
11756
|
}, []);
|
|
11494
|
-
const compositionManagerSetters =
|
|
11757
|
+
const compositionManagerSetters = useMemo34(() => {
|
|
11495
11758
|
return {
|
|
11496
11759
|
registerComposition,
|
|
11497
11760
|
unregisterComposition,
|
|
@@ -11507,7 +11770,7 @@ var CompositionManagerProvider = ({
|
|
|
11507
11770
|
unregisterFolder,
|
|
11508
11771
|
onlyRenderComposition
|
|
11509
11772
|
]);
|
|
11510
|
-
const compositionManagerContextValue =
|
|
11773
|
+
const compositionManagerContextValue = useMemo34(() => {
|
|
11511
11774
|
return {
|
|
11512
11775
|
compositions,
|
|
11513
11776
|
folders,
|
|
@@ -11629,7 +11892,7 @@ var MediaEnabledProvider = ({
|
|
|
11629
11892
|
videoEnabled,
|
|
11630
11893
|
audioEnabled
|
|
11631
11894
|
}) => {
|
|
11632
|
-
const value =
|
|
11895
|
+
const value = useMemo35(() => ({ videoEnabled, audioEnabled }), [videoEnabled, audioEnabled]);
|
|
11633
11896
|
return /* @__PURE__ */ jsx31(MediaEnabledContext.Provider, {
|
|
11634
11897
|
value,
|
|
11635
11898
|
children
|
|
@@ -11645,13 +11908,13 @@ var RemotionRootContexts = ({
|
|
|
11645
11908
|
audioEnabled,
|
|
11646
11909
|
frameState
|
|
11647
11910
|
}) => {
|
|
11648
|
-
const nonceContext =
|
|
11911
|
+
const nonceContext = useMemo36(() => {
|
|
11649
11912
|
let counter = 0;
|
|
11650
11913
|
return {
|
|
11651
11914
|
getNonce: () => counter++
|
|
11652
11915
|
};
|
|
11653
11916
|
}, []);
|
|
11654
|
-
const logging =
|
|
11917
|
+
const logging = useMemo36(() => {
|
|
11655
11918
|
return { logLevel, mountTime: Date.now() };
|
|
11656
11919
|
}, [logLevel]);
|
|
11657
11920
|
return /* @__PURE__ */ jsx32(LogLevelContext.Provider, {
|
|
@@ -11958,7 +12221,7 @@ var OffthreadVideoForRendering = ({
|
|
|
11958
12221
|
if (!src) {
|
|
11959
12222
|
throw new TypeError("No `src` was passed to <OffthreadVideo>.");
|
|
11960
12223
|
}
|
|
11961
|
-
const id =
|
|
12224
|
+
const id = useMemo37(() => `offthreadvideo-${random(src)}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
|
|
11962
12225
|
src,
|
|
11963
12226
|
sequenceContext?.cumulatedFrom,
|
|
11964
12227
|
sequenceContext?.relativeFrom,
|
|
@@ -12013,14 +12276,14 @@ var OffthreadVideoForRendering = ({
|
|
|
12013
12276
|
sequenceContext?.cumulatedNegativeFrom,
|
|
12014
12277
|
audioStreamIndex
|
|
12015
12278
|
]);
|
|
12016
|
-
const currentTime =
|
|
12279
|
+
const currentTime = useMemo37(() => {
|
|
12017
12280
|
return getExpectedMediaFrameUncorrected({
|
|
12018
12281
|
frame,
|
|
12019
12282
|
playbackRate: playbackRate || 1,
|
|
12020
12283
|
startFrom: -mediaStartsAt
|
|
12021
12284
|
}) / videoConfig.fps;
|
|
12022
12285
|
}, [frame, mediaStartsAt, playbackRate, videoConfig.fps]);
|
|
12023
|
-
const actualSrc =
|
|
12286
|
+
const actualSrc = useMemo37(() => {
|
|
12024
12287
|
return getOffthreadVideoSource({
|
|
12025
12288
|
src,
|
|
12026
12289
|
currentTime,
|
|
@@ -12108,7 +12371,7 @@ var OffthreadVideoForRendering = ({
|
|
|
12108
12371
|
cancelRender("Failed to load image with src " + imageSrc);
|
|
12109
12372
|
}
|
|
12110
12373
|
}, [imageSrc, onError]);
|
|
12111
|
-
const className =
|
|
12374
|
+
const className = useMemo37(() => {
|
|
12112
12375
|
return [OBJECTFIT_CONTAIN_CLASS_NAME, props2.className].filter(truthy).join(" ");
|
|
12113
12376
|
}, [props2.className]);
|
|
12114
12377
|
const onImageFrame = useCallback22((img) => {
|
|
@@ -12177,7 +12440,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
12177
12440
|
throw new Error("SharedAudioContext not found");
|
|
12178
12441
|
}
|
|
12179
12442
|
const videoRef = useRef27(null);
|
|
12180
|
-
const sharedSource =
|
|
12443
|
+
const sharedSource = useMemo38(() => {
|
|
12181
12444
|
if (!context.audioContext) {
|
|
12182
12445
|
return null;
|
|
12183
12446
|
}
|
|
@@ -12380,7 +12643,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
12380
12643
|
current.preload = "auto";
|
|
12381
12644
|
}
|
|
12382
12645
|
}, []);
|
|
12383
|
-
const actualStyle =
|
|
12646
|
+
const actualStyle = useMemo38(() => {
|
|
12384
12647
|
return {
|
|
12385
12648
|
...style
|
|
12386
12649
|
};
|
|
@@ -12577,7 +12840,7 @@ function useRemotionContexts() {
|
|
|
12577
12840
|
const visualModePropStatusesRefContext = React40.useContext(VisualModePropStatusesRefContext);
|
|
12578
12841
|
const bufferManagerContext = React40.useContext(BufferingContextReact);
|
|
12579
12842
|
const logLevelContext = React40.useContext(LogLevelContext);
|
|
12580
|
-
return
|
|
12843
|
+
return useMemo39(() => ({
|
|
12581
12844
|
compositionManagerCtx,
|
|
12582
12845
|
timelineContext,
|
|
12583
12846
|
setTimelineContext,
|
|
@@ -12686,6 +12949,7 @@ var Internals = {
|
|
|
12686
12949
|
sequenceStyleSchema,
|
|
12687
12950
|
sequenceVisualStyleSchema,
|
|
12688
12951
|
sequencePremountSchema,
|
|
12952
|
+
sequenceCropSchema,
|
|
12689
12953
|
textSchema,
|
|
12690
12954
|
transformSchema,
|
|
12691
12955
|
premountSchema,
|
|
@@ -12809,7 +13073,9 @@ var Internals = {
|
|
|
12809
13073
|
hiddenField,
|
|
12810
13074
|
durationInFramesField,
|
|
12811
13075
|
freezeField,
|
|
12812
|
-
fromField
|
|
13076
|
+
fromField,
|
|
13077
|
+
resolveSequenceCrop,
|
|
13078
|
+
useCropStyle
|
|
12813
13079
|
};
|
|
12814
13080
|
var flattenChildren = (children) => {
|
|
12815
13081
|
const childrenArray = React41.Children.toArray(children);
|
|
@@ -12879,7 +13145,7 @@ var validateSeriesSequenceProps = ({
|
|
|
12879
13145
|
return offset;
|
|
12880
13146
|
};
|
|
12881
13147
|
var SeriesInner = (props2) => {
|
|
12882
|
-
const childrenValue =
|
|
13148
|
+
const childrenValue = useMemo40(() => {
|
|
12883
13149
|
const flattenedChildren = flattenChildren(props2.children);
|
|
12884
13150
|
const renderChildren = (i, startFrame) => {
|
|
12885
13151
|
if (i === flattenedChildren.length) {
|
|
@@ -13215,7 +13481,7 @@ var VideoForRenderingForwardFunction = ({
|
|
|
13215
13481
|
const mountTime = useMountTime();
|
|
13216
13482
|
const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
|
|
13217
13483
|
const { registerRenderAsset, unregisterRenderAsset } = useContext39(RenderAssetManager);
|
|
13218
|
-
const id =
|
|
13484
|
+
const id = useMemo41(() => `video-${random(props2.src ?? "")}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
|
|
13219
13485
|
props2.src,
|
|
13220
13486
|
sequenceContext?.cumulatedFrom,
|
|
13221
13487
|
sequenceContext?.relativeFrom,
|
|
@@ -13883,7 +14149,7 @@ var ExpertCard = ({ expert, Link }) => {
|
|
|
13883
14149
|
});
|
|
13884
14150
|
};
|
|
13885
14151
|
var ExpertsPageContent = ({ Link }) => {
|
|
13886
|
-
const expertsInRandomOrder =
|
|
14152
|
+
const expertsInRandomOrder = useMemo42(() => {
|
|
13887
14153
|
if (typeof window === "undefined") {
|
|
13888
14154
|
return [];
|
|
13889
14155
|
}
|
|
@@ -13981,7 +14247,7 @@ var ExpertsPageContent = ({ Link }) => {
|
|
|
13981
14247
|
});
|
|
13982
14248
|
};
|
|
13983
14249
|
// src/components/homepage/Pricing.tsx
|
|
13984
|
-
import { useMemo as
|
|
14250
|
+
import { useMemo as useMemo55 } from "react";
|
|
13985
14251
|
|
|
13986
14252
|
// ../design/dist/esm/index.mjs
|
|
13987
14253
|
import * as React24 from "react";
|
|
@@ -15329,7 +15595,7 @@ var getDefaultConfig = () => {
|
|
|
15329
15595
|
var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
|
|
15330
15596
|
|
|
15331
15597
|
// ../design/dist/esm/index.mjs
|
|
15332
|
-
import React33, { useEffect as useEffect21, useMemo as
|
|
15598
|
+
import React33, { useEffect as useEffect21, useMemo as useMemo45, useState as useState23 } from "react";
|
|
15333
15599
|
|
|
15334
15600
|
// ../paths/dist/esm/index.mjs
|
|
15335
15601
|
var cutLInstruction = ({
|
|
@@ -18095,7 +18361,7 @@ var PathInternals = {
|
|
|
18095
18361
|
};
|
|
18096
18362
|
|
|
18097
18363
|
// ../shapes/dist/esm/index.mjs
|
|
18098
|
-
import React3, { useCallback as useCallback26, useMemo as
|
|
18364
|
+
import React3, { useCallback as useCallback26, useMemo as useMemo44, useRef as useRef29 } from "react";
|
|
18099
18365
|
import { version } from "react-dom";
|
|
18100
18366
|
import { jsx as jsx44, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
18101
18367
|
import { jsx as jsx210 } from "react/jsx-runtime";
|
|
@@ -18277,13 +18543,13 @@ var RenderSvg = ({
|
|
|
18277
18543
|
stack,
|
|
18278
18544
|
...props
|
|
18279
18545
|
}) => {
|
|
18280
|
-
const actualStyle =
|
|
18546
|
+
const actualStyle = useMemo44(() => {
|
|
18281
18547
|
return {
|
|
18282
18548
|
overflow: "visible",
|
|
18283
18549
|
...style ?? {}
|
|
18284
18550
|
};
|
|
18285
18551
|
}, [style]);
|
|
18286
|
-
const actualPathStyle =
|
|
18552
|
+
const actualPathStyle = useMemo44(() => {
|
|
18287
18553
|
return {
|
|
18288
18554
|
transformBox: "fill-box",
|
|
18289
18555
|
...pathStyle ?? {}
|
|
@@ -21264,7 +21530,7 @@ var useHoverTransforms = (ref, disabled) => {
|
|
|
21264
21530
|
progress: 0,
|
|
21265
21531
|
isActive: false
|
|
21266
21532
|
});
|
|
21267
|
-
const eventTarget =
|
|
21533
|
+
const eventTarget = useMemo45(() => new EventTarget, []);
|
|
21268
21534
|
useEffect21(() => {
|
|
21269
21535
|
if (disabled) {
|
|
21270
21536
|
eventTarget.dispatchEvent(new Event("disabled"));
|
|
@@ -27711,7 +27977,7 @@ var Triangle22 = (props) => {
|
|
|
27711
27977
|
};
|
|
27712
27978
|
|
|
27713
27979
|
// src/components/homepage/FreePricing.tsx
|
|
27714
|
-
import React53, { useCallback as useCallback38, useMemo as
|
|
27980
|
+
import React53, { useCallback as useCallback38, useMemo as useMemo54 } from "react";
|
|
27715
27981
|
|
|
27716
27982
|
// ../../node_modules/.bun/tailwind-merge@2.5.2/node_modules/tailwind-merge/dist/bundle-mjs.mjs
|
|
27717
27983
|
var CLASS_PART_SEPARATOR2 = "-";
|
|
@@ -29198,11 +29464,11 @@ var FreePricing = () => {
|
|
|
29198
29464
|
checked: true
|
|
29199
29465
|
}),
|
|
29200
29466
|
/* @__PURE__ */ jsx49(PricingBulletPoint, {
|
|
29201
|
-
text: "
|
|
29467
|
+
text: "All features included",
|
|
29202
29468
|
checked: true
|
|
29203
29469
|
}),
|
|
29204
29470
|
/* @__PURE__ */ jsx49(PricingBulletPoint, {
|
|
29205
|
-
text: "Unlimited use",
|
|
29471
|
+
text: "Unlimited commercial use",
|
|
29206
29472
|
checked: true
|
|
29207
29473
|
}),
|
|
29208
29474
|
/* @__PURE__ */ jsx49(PricingBulletPoint, {
|
|
@@ -29368,14 +29634,14 @@ var CompanyPricing = () => {
|
|
|
29368
29634
|
}, []);
|
|
29369
29635
|
const creatorsPrice = creatorsSelected ? devSeatCount * SEAT_PRICE : 0;
|
|
29370
29636
|
const automatorsPrice = automatorsSelected ? Math.ceil(cloudRenders / 1000) * RENDER_UNIT_PRICE : 0;
|
|
29371
|
-
const totalPrice =
|
|
29637
|
+
const totalPrice = useMemo54(() => {
|
|
29372
29638
|
const basePrice = creatorsPrice + automatorsPrice;
|
|
29373
29639
|
if (automatorsSelected) {
|
|
29374
29640
|
return Math.max(100, basePrice);
|
|
29375
29641
|
}
|
|
29376
29642
|
return basePrice;
|
|
29377
29643
|
}, [creatorsPrice, automatorsPrice, automatorsSelected]);
|
|
29378
|
-
const totalPriceString =
|
|
29644
|
+
const totalPriceString = useMemo54(() => {
|
|
29379
29645
|
return formatPrice(totalPrice);
|
|
29380
29646
|
}, [formatPrice, totalPrice]);
|
|
29381
29647
|
const showMinimumMessage = automatorsSelected && creatorsPrice + automatorsPrice < 100;
|
|
@@ -29605,13 +29871,13 @@ var Pricing = ({
|
|
|
29605
29871
|
licenseHref = "https://github.com/remotion-dev/remotion/blob/main/LICENSE.md",
|
|
29606
29872
|
termsHref = "/docs/license/terms"
|
|
29607
29873
|
}) => {
|
|
29608
|
-
const faqLinkTarget =
|
|
29874
|
+
const faqLinkTarget = useMemo55(() => {
|
|
29609
29875
|
return faqHref.startsWith("http") ? "_blank" : undefined;
|
|
29610
29876
|
}, [faqHref]);
|
|
29611
|
-
const licenseLinkTarget =
|
|
29877
|
+
const licenseLinkTarget = useMemo55(() => {
|
|
29612
29878
|
return licenseHref.startsWith("http") ? "_blank" : undefined;
|
|
29613
29879
|
}, [licenseHref]);
|
|
29614
|
-
const termsLinkTarget =
|
|
29880
|
+
const termsLinkTarget = useMemo55(() => {
|
|
29615
29881
|
return termsHref.startsWith("http") ? "_blank" : undefined;
|
|
29616
29882
|
}, [termsHref]);
|
|
29617
29883
|
return /* @__PURE__ */ jsxs11("div", {
|
|
@@ -29666,358 +29932,9 @@ var Pricing = ({
|
|
|
29666
29932
|
});
|
|
29667
29933
|
};
|
|
29668
29934
|
|
|
29669
|
-
// src/components/homepage/VideoAppsTitle.tsx
|
|
29670
|
-
import { jsx as jsx51 } from "react/jsx-runtime";
|
|
29671
|
-
var SectionTitle = ({
|
|
29672
|
-
children
|
|
29673
|
-
}) => {
|
|
29674
|
-
return /* @__PURE__ */ jsx51("div", {
|
|
29675
|
-
className: "text-center",
|
|
29676
|
-
children: /* @__PURE__ */ jsx51("h2", {
|
|
29677
|
-
className: "fontbrand text-4xl",
|
|
29678
|
-
children
|
|
29679
|
-
})
|
|
29680
|
-
});
|
|
29681
|
-
};
|
|
29682
|
-
|
|
29683
|
-
// src/components/homepage/AutomationsSection.tsx
|
|
29684
|
-
import { jsx as jsx54, jsxs as jsxs12, Fragment as Fragment12 } from "react/jsx-runtime";
|
|
29685
|
-
var appPipeline = [
|
|
29686
|
-
{
|
|
29687
|
-
step: "01",
|
|
29688
|
-
title: "Design a template",
|
|
29689
|
-
description: "Start in Remotion Studio and build a reusable composition for your video workflow.",
|
|
29690
|
-
link: "/docs/studio",
|
|
29691
|
-
buttonText: "Remotion Studio",
|
|
29692
|
-
illustration: "studio"
|
|
29693
|
-
},
|
|
29694
|
-
{
|
|
29695
|
-
step: "02",
|
|
29696
|
-
title: "Build an app around it",
|
|
29697
|
-
description: "Expose props for text, images, colors, timing, and layouts to power editors, generators, and automations.",
|
|
29698
|
-
link: "/docs/parameterized-rendering",
|
|
29699
|
-
buttonText: "Parameterized rendering",
|
|
29700
|
-
illustration: "preview"
|
|
29701
|
-
},
|
|
29702
|
-
{
|
|
29703
|
-
step: "03",
|
|
29704
|
-
title: "Preview and render",
|
|
29705
|
-
description: /* @__PURE__ */ jsxs12(Fragment12, {
|
|
29706
|
-
children: [
|
|
29707
|
-
"Use the",
|
|
29708
|
-
" ",
|
|
29709
|
-
/* @__PURE__ */ jsx54("a", {
|
|
29710
|
-
href: "/player",
|
|
29711
|
-
className: "font-semibold text-text no-underline",
|
|
29712
|
-
children: "Player"
|
|
29713
|
-
}),
|
|
29714
|
-
" ",
|
|
29715
|
-
"for interactive previews, then render locally, on servers, serverlessly, or in-browser."
|
|
29716
|
-
]
|
|
29717
|
-
}),
|
|
29718
|
-
link: "/docs/render",
|
|
29719
|
-
buttonText: "Rendering options",
|
|
29720
|
-
illustration: "render"
|
|
29721
|
-
}
|
|
29722
|
-
];
|
|
29723
|
-
var launchOptions = [
|
|
29724
|
-
{
|
|
29725
|
-
title: "Start from a template",
|
|
29726
|
-
description: "Use starter projects for SaaS workflows, social videos, slideshows, captions, and repeatable video products.",
|
|
29727
|
-
link: "/templates",
|
|
29728
|
-
buttonText: "Browse templates"
|
|
29729
|
-
},
|
|
29730
|
-
{
|
|
29731
|
-
title: "Build a video editor",
|
|
29732
|
-
description: "Editor Starter is an official paid template for a timeline, canvas, asset uploads, and rendering.",
|
|
29733
|
-
link: "/docs/editor-starter",
|
|
29734
|
-
buttonText: "Editor Starter"
|
|
29735
|
-
},
|
|
29736
|
-
{
|
|
29737
|
-
title: "See what teams ship",
|
|
29738
|
-
description: "Audiograms, captioning tools, year-in-review generators, creative editors, and other products built with Remotion.",
|
|
29739
|
-
link: "/showcase",
|
|
29740
|
-
buttonText: "Showcase"
|
|
29741
|
-
}
|
|
29742
|
-
];
|
|
29743
|
-
var icon2 = {
|
|
29744
|
-
height: 16,
|
|
29745
|
-
marginLeft: 10
|
|
29746
|
-
};
|
|
29747
|
-
var Arrow3 = () => /* @__PURE__ */ jsx54("svg", {
|
|
29748
|
-
style: icon2,
|
|
29749
|
-
viewBox: "0 0 448 512",
|
|
29750
|
-
children: /* @__PURE__ */ jsx54("path", {
|
|
29751
|
-
fill: "currentColor",
|
|
29752
|
-
d: "M438.6 278.6l-160 160C272.4 444.9 264.2 448 256 448s-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L338.8 288H32C14.33 288 .0016 273.7 .0016 256S14.33 224 32 224h306.8l-105.4-105.4c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160C451.1 245.9 451.1 266.1 438.6 278.6z"
|
|
29753
|
-
})
|
|
29754
|
-
});
|
|
29755
|
-
var InlineLink = ({ href, children }) => {
|
|
29756
|
-
return /* @__PURE__ */ jsxs12("a", {
|
|
29757
|
-
href,
|
|
29758
|
-
className: "mt-3 inline-flex flex-row items-center font-brand text-base font-semibold text-text no-underline sm:text-sm",
|
|
29759
|
-
children: [
|
|
29760
|
-
children,
|
|
29761
|
-
/* @__PURE__ */ jsx54(Arrow3, {})
|
|
29762
|
-
]
|
|
29763
|
-
});
|
|
29764
|
-
};
|
|
29765
|
-
var illustrationFrame = "relative mb-5 flex h-40 w-full items-center justify-center px-3";
|
|
29766
|
-
var StudioIllustration = () => {
|
|
29767
|
-
return /* @__PURE__ */ jsx54("div", {
|
|
29768
|
-
className: illustrationFrame,
|
|
29769
|
-
"aria-hidden": "true",
|
|
29770
|
-
children: /* @__PURE__ */ jsxs12("div", {
|
|
29771
|
-
className: "relative w-full max-w-[220px] rounded-md bg-pane px-4 py-6 fontbrand",
|
|
29772
|
-
children: [
|
|
29773
|
-
/* @__PURE__ */ jsxs12("div", {
|
|
29774
|
-
className: "absolute bottom-5 left-1/2 top-3 flex -translate-x-1/2 flex-col items-center",
|
|
29775
|
-
children: [
|
|
29776
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29777
|
-
className: "h-2 w-1 rounded-full bg-brand"
|
|
29778
|
-
}),
|
|
29779
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29780
|
-
className: "w-px flex-1 bg-brand/50"
|
|
29781
|
-
})
|
|
29782
|
-
]
|
|
29783
|
-
}),
|
|
29784
|
-
/* @__PURE__ */ jsxs12("div", {
|
|
29785
|
-
className: "space-y-4",
|
|
29786
|
-
children: [
|
|
29787
|
-
/* @__PURE__ */ jsxs12("div", {
|
|
29788
|
-
className: "grid grid-cols-[28px_1fr] items-center gap-3",
|
|
29789
|
-
children: [
|
|
29790
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29791
|
-
className: "h-2 rounded-full bg-muted"
|
|
29792
|
-
}),
|
|
29793
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29794
|
-
className: "h-3 rounded-full bg-brand"
|
|
29795
|
-
})
|
|
29796
|
-
]
|
|
29797
|
-
}),
|
|
29798
|
-
/* @__PURE__ */ jsxs12("div", {
|
|
29799
|
-
className: "grid grid-cols-[28px_1fr] items-center gap-3",
|
|
29800
|
-
children: [
|
|
29801
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29802
|
-
className: "h-2 rounded-full bg-muted"
|
|
29803
|
-
}),
|
|
29804
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29805
|
-
className: "ml-8 h-3 rounded-full bg-muted"
|
|
29806
|
-
})
|
|
29807
|
-
]
|
|
29808
|
-
}),
|
|
29809
|
-
/* @__PURE__ */ jsxs12("div", {
|
|
29810
|
-
className: "grid grid-cols-[28px_1fr] items-center gap-3",
|
|
29811
|
-
children: [
|
|
29812
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29813
|
-
className: "h-2 rounded-full bg-muted"
|
|
29814
|
-
}),
|
|
29815
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29816
|
-
className: "mr-10 h-3 rounded-full bg-muted"
|
|
29817
|
-
})
|
|
29818
|
-
]
|
|
29819
|
-
})
|
|
29820
|
-
]
|
|
29821
|
-
})
|
|
29822
|
-
]
|
|
29823
|
-
})
|
|
29824
|
-
});
|
|
29825
|
-
};
|
|
29826
|
-
var PropsIllustration = () => {
|
|
29827
|
-
return /* @__PURE__ */ jsx54("div", {
|
|
29828
|
-
className: illustrationFrame,
|
|
29829
|
-
"aria-hidden": "true",
|
|
29830
|
-
children: /* @__PURE__ */ jsxs12("div", {
|
|
29831
|
-
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",
|
|
29832
|
-
children: [
|
|
29833
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29834
|
-
className: "text-brand",
|
|
29835
|
-
children: "{"
|
|
29836
|
-
}),
|
|
29837
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29838
|
-
className: "pl-4",
|
|
29839
|
-
children: "title: 'Sale',"
|
|
29840
|
-
}),
|
|
29841
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29842
|
-
className: "pl-4",
|
|
29843
|
-
children: "color: '#0B84F3',"
|
|
29844
|
-
}),
|
|
29845
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29846
|
-
className: "pl-4",
|
|
29847
|
-
children: "items: 42"
|
|
29848
|
-
}),
|
|
29849
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29850
|
-
className: "text-brand",
|
|
29851
|
-
children: "}"
|
|
29852
|
-
})
|
|
29853
|
-
]
|
|
29854
|
-
})
|
|
29855
|
-
});
|
|
29856
|
-
};
|
|
29857
|
-
var PreviewIllustration = () => {
|
|
29858
|
-
return /* @__PURE__ */ jsx54("div", {
|
|
29859
|
-
className: illustrationFrame,
|
|
29860
|
-
"aria-hidden": "true",
|
|
29861
|
-
children: /* @__PURE__ */ jsxs12("div", {
|
|
29862
|
-
className: "w-full max-w-[240px] rounded-md border border-solid border-muted bg-card-bg p-2 fontbrand",
|
|
29863
|
-
children: [
|
|
29864
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29865
|
-
className: "relative flex h-[92px] items-center justify-center rounded-sm border border-solid border-muted bg-pane text-brand",
|
|
29866
|
-
children: /* @__PURE__ */ jsxs12("svg", {
|
|
29867
|
-
className: "h-14 w-14 text-brand",
|
|
29868
|
-
viewBox: "-11.5 -10.23174 23 20.46348",
|
|
29869
|
-
fill: "none",
|
|
29870
|
-
children: [
|
|
29871
|
-
/* @__PURE__ */ jsx54("circle", {
|
|
29872
|
-
cx: "0",
|
|
29873
|
-
cy: "0",
|
|
29874
|
-
r: "2.05",
|
|
29875
|
-
fill: "currentColor"
|
|
29876
|
-
}),
|
|
29877
|
-
/* @__PURE__ */ jsx54("ellipse", {
|
|
29878
|
-
cx: "0",
|
|
29879
|
-
cy: "0",
|
|
29880
|
-
rx: "11",
|
|
29881
|
-
ry: "4.2",
|
|
29882
|
-
stroke: "currentColor",
|
|
29883
|
-
strokeWidth: "1"
|
|
29884
|
-
}),
|
|
29885
|
-
/* @__PURE__ */ jsx54("ellipse", {
|
|
29886
|
-
cx: "0",
|
|
29887
|
-
cy: "0",
|
|
29888
|
-
rx: "11",
|
|
29889
|
-
ry: "4.2",
|
|
29890
|
-
stroke: "currentColor",
|
|
29891
|
-
strokeWidth: "1",
|
|
29892
|
-
transform: "rotate(60)"
|
|
29893
|
-
}),
|
|
29894
|
-
/* @__PURE__ */ jsx54("ellipse", {
|
|
29895
|
-
cx: "0",
|
|
29896
|
-
cy: "0",
|
|
29897
|
-
rx: "11",
|
|
29898
|
-
ry: "4.2",
|
|
29899
|
-
stroke: "currentColor",
|
|
29900
|
-
strokeWidth: "1",
|
|
29901
|
-
transform: "rotate(120)"
|
|
29902
|
-
})
|
|
29903
|
-
]
|
|
29904
|
-
})
|
|
29905
|
-
}),
|
|
29906
|
-
/* @__PURE__ */ jsxs12("div", {
|
|
29907
|
-
className: "mt-2 flex items-center gap-2",
|
|
29908
|
-
children: [
|
|
29909
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29910
|
-
className: "fontbrand text-xs font-semibold text-text",
|
|
29911
|
-
children: "0:12"
|
|
29912
|
-
}),
|
|
29913
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29914
|
-
className: "h-1.5 flex-1 rounded-full bg-muted",
|
|
29915
|
-
children: /* @__PURE__ */ jsx54("div", {
|
|
29916
|
-
className: "h-full w-2/5 rounded-full bg-brand"
|
|
29917
|
-
})
|
|
29918
|
-
}),
|
|
29919
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29920
|
-
className: "fontbrand text-xs font-semibold text-text",
|
|
29921
|
-
children: "0:30"
|
|
29922
|
-
})
|
|
29923
|
-
]
|
|
29924
|
-
})
|
|
29925
|
-
]
|
|
29926
|
-
})
|
|
29927
|
-
});
|
|
29928
|
-
};
|
|
29929
|
-
var RenderIllustration = () => {
|
|
29930
|
-
return /* @__PURE__ */ jsx54("div", {
|
|
29931
|
-
className: illustrationFrame,
|
|
29932
|
-
"aria-hidden": "true",
|
|
29933
|
-
children: /* @__PURE__ */ jsx54("div", {
|
|
29934
|
-
className: "grid w-full max-w-[240px] grid-cols-2 gap-2 fontbrand text-base font-semibold",
|
|
29935
|
-
children: [".mp4", ".webm", ".gif", ".png"].map((format) => /* @__PURE__ */ jsx54("div", {
|
|
29936
|
-
className: "rounded-md bg-pane px-4 py-3 text-center text-brand",
|
|
29937
|
-
children: format
|
|
29938
|
-
}, format))
|
|
29939
|
-
})
|
|
29940
|
-
});
|
|
29941
|
-
};
|
|
29942
|
-
var PipelineIllustration = ({ kind }) => {
|
|
29943
|
-
if (kind === "studio") {
|
|
29944
|
-
return /* @__PURE__ */ jsx54(StudioIllustration, {});
|
|
29945
|
-
}
|
|
29946
|
-
if (kind === "props") {
|
|
29947
|
-
return /* @__PURE__ */ jsx54(PropsIllustration, {});
|
|
29948
|
-
}
|
|
29949
|
-
if (kind === "preview") {
|
|
29950
|
-
return /* @__PURE__ */ jsx54(PreviewIllustration, {});
|
|
29951
|
-
}
|
|
29952
|
-
return /* @__PURE__ */ jsx54(RenderIllustration, {});
|
|
29953
|
-
};
|
|
29954
|
-
var AutomationsSection = () => {
|
|
29955
|
-
return /* @__PURE__ */ jsxs12("div", {
|
|
29956
|
-
children: [
|
|
29957
|
-
/* @__PURE__ */ jsx54(SectionTitle, {
|
|
29958
|
-
children: "Create video apps and automations"
|
|
29959
|
-
}),
|
|
29960
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29961
|
-
className: "mx-auto mb-8 mt-3 max-w-[70ch] text-center fontbrand text-base leading-relaxed text-muted text-pretty",
|
|
29962
|
-
children: "Design a reusable video template in Remotion, expose props for app UIs and automations, then preview and render it wherever your workflow runs."
|
|
29963
|
-
}),
|
|
29964
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29965
|
-
className: "py-4",
|
|
29966
|
-
children: /* @__PURE__ */ jsx54("dl", {
|
|
29967
|
-
className: "grid grid-cols-1 justify-items-stretch gap-5 lg:grid-cols-3 lg:justify-items-center lg:gap-0",
|
|
29968
|
-
children: appPipeline.map((item) => /* @__PURE__ */ jsxs12("div", {
|
|
29969
|
-
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",
|
|
29970
|
-
children: [
|
|
29971
|
-
/* @__PURE__ */ jsx54(PipelineIllustration, {
|
|
29972
|
-
kind: item.illustration
|
|
29973
|
-
}),
|
|
29974
|
-
/* @__PURE__ */ jsxs12("div", {
|
|
29975
|
-
className: "mb-2 flex items-center gap-2.5",
|
|
29976
|
-
children: [
|
|
29977
|
-
/* @__PURE__ */ jsx54("div", {
|
|
29978
|
-
className: "flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-pane fontbrand text-xs font-semibold text-brand",
|
|
29979
|
-
children: item.step
|
|
29980
|
-
}),
|
|
29981
|
-
/* @__PURE__ */ jsx54("dt", {
|
|
29982
|
-
className: "fontbrand text-xl font-semibold tracking-tight text-text text-balance",
|
|
29983
|
-
children: item.title
|
|
29984
|
-
})
|
|
29985
|
-
]
|
|
29986
|
-
}),
|
|
29987
|
-
/* @__PURE__ */ jsx54("dd", {
|
|
29988
|
-
className: "m-0 mt-1 flex-1 fontbrand text-base leading-relaxed text-muted text-pretty sm:text-sm",
|
|
29989
|
-
children: item.description
|
|
29990
|
-
}),
|
|
29991
|
-
/* @__PURE__ */ jsx54(InlineLink, {
|
|
29992
|
-
href: item.link,
|
|
29993
|
-
children: item.buttonText
|
|
29994
|
-
})
|
|
29995
|
-
]
|
|
29996
|
-
}, item.step))
|
|
29997
|
-
})
|
|
29998
|
-
}),
|
|
29999
|
-
/* @__PURE__ */ jsxs12("div", {
|
|
30000
|
-
className: "mt-8 flex flex-wrap justify-center gap-x-5 gap-y-2 fontbrand text-base text-muted sm:text-sm",
|
|
30001
|
-
children: [
|
|
30002
|
-
/* @__PURE__ */ jsx54("span", {
|
|
30003
|
-
children: "Explore:"
|
|
30004
|
-
}),
|
|
30005
|
-
launchOptions.map((item) => /* @__PURE__ */ jsx54("a", {
|
|
30006
|
-
href: item.link,
|
|
30007
|
-
className: "font-semibold text-text no-underline",
|
|
30008
|
-
title: item.description,
|
|
30009
|
-
children: item.buttonText
|
|
30010
|
-
}, item.link))
|
|
30011
|
-
]
|
|
30012
|
-
})
|
|
30013
|
-
]
|
|
30014
|
-
});
|
|
30015
|
-
};
|
|
30016
|
-
var AutomationsSection_default = AutomationsSection;
|
|
30017
|
-
|
|
30018
29935
|
// src/components/homepage/BackgroundAnimation.tsx
|
|
30019
29936
|
import { useEffect as useEffect40 } from "react";
|
|
30020
|
-
import { jsx as
|
|
29937
|
+
import { jsx as jsx51, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
30021
29938
|
"use client";
|
|
30022
29939
|
var rx = 0.2;
|
|
30023
29940
|
var ry = 0.45;
|
|
@@ -30047,9 +29964,9 @@ var BackgroundAnimation = () => {
|
|
|
30047
29964
|
_style.innerHTML = css;
|
|
30048
29965
|
document.head.appendChild(_style);
|
|
30049
29966
|
}, [css]);
|
|
30050
|
-
return /* @__PURE__ */
|
|
29967
|
+
return /* @__PURE__ */ jsx51("div", {
|
|
30051
29968
|
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",
|
|
30052
|
-
children: /* @__PURE__ */
|
|
29969
|
+
children: /* @__PURE__ */ jsxs12("svg", {
|
|
30053
29970
|
className: "translate-y-[-30%] lg:translate-y-[-50%]",
|
|
30054
29971
|
viewBox: "0 0 1 1",
|
|
30055
29972
|
style: {
|
|
@@ -30057,7 +29974,7 @@ var BackgroundAnimation = () => {
|
|
|
30057
29974
|
position: "absolute"
|
|
30058
29975
|
},
|
|
30059
29976
|
children: [
|
|
30060
|
-
/* @__PURE__ */
|
|
29977
|
+
/* @__PURE__ */ jsx51("path", {
|
|
30061
29978
|
d: d2,
|
|
30062
29979
|
fill: "none",
|
|
30063
29980
|
stroke: "var(--ifm-color-primary)",
|
|
@@ -30070,7 +29987,7 @@ var BackgroundAnimation = () => {
|
|
|
30070
29987
|
strokeDasharray: `${length2 * 0.2} ${length2 * 0.8}`
|
|
30071
29988
|
}
|
|
30072
29989
|
}),
|
|
30073
|
-
/* @__PURE__ */
|
|
29990
|
+
/* @__PURE__ */ jsx51("path", {
|
|
30074
29991
|
d: d2,
|
|
30075
29992
|
fill: "none",
|
|
30076
29993
|
stroke: "var(--ifm-color-primary)",
|
|
@@ -30084,7 +30001,7 @@ var BackgroundAnimation = () => {
|
|
|
30084
30001
|
strokeDasharray: `${length2 * 0.2} ${length2 * 0.8}`
|
|
30085
30002
|
}
|
|
30086
30003
|
}),
|
|
30087
|
-
/* @__PURE__ */
|
|
30004
|
+
/* @__PURE__ */ jsx51("path", {
|
|
30088
30005
|
d: d2,
|
|
30089
30006
|
fill: "none",
|
|
30090
30007
|
stroke: "var(--ifm-color-primary)",
|
|
@@ -30104,7 +30021,7 @@ var BackgroundAnimation = () => {
|
|
|
30104
30021
|
};
|
|
30105
30022
|
|
|
30106
30023
|
// src/components/homepage/CommunityStatsItems.tsx
|
|
30107
|
-
import { jsx as
|
|
30024
|
+
import { jsx as jsx54, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
30108
30025
|
var StatItemContent = ({
|
|
30109
30026
|
content,
|
|
30110
30027
|
width,
|
|
@@ -30113,7 +30030,7 @@ var StatItemContent = ({
|
|
|
30113
30030
|
height = "auto",
|
|
30114
30031
|
fontSize,
|
|
30115
30032
|
fontWeight
|
|
30116
|
-
}) => /* @__PURE__ */
|
|
30033
|
+
}) => /* @__PURE__ */ jsx54("div", {
|
|
30117
30034
|
style: {
|
|
30118
30035
|
width,
|
|
30119
30036
|
minWidth,
|
|
@@ -30131,36 +30048,36 @@ var StatItemContent = ({
|
|
|
30131
30048
|
children: content
|
|
30132
30049
|
});
|
|
30133
30050
|
var Pill = ({ children, className }) => {
|
|
30134
|
-
return /* @__PURE__ */
|
|
30051
|
+
return /* @__PURE__ */ jsx54("div", {
|
|
30135
30052
|
className: cn2(className, "card leading-none flex flex-wrap justify-center items-center min-w-[200px] min-h-[80px] max-h-[110px] flex-1 p-0"),
|
|
30136
30053
|
children
|
|
30137
30054
|
});
|
|
30138
30055
|
};
|
|
30139
30056
|
var InstallsPerMonth = () => {
|
|
30140
|
-
return /* @__PURE__ */
|
|
30057
|
+
return /* @__PURE__ */ jsxs13(Pill, {
|
|
30141
30058
|
className: "w-[30%] flex-col",
|
|
30142
30059
|
children: [
|
|
30143
|
-
/* @__PURE__ */
|
|
30060
|
+
/* @__PURE__ */ jsxs13("div", {
|
|
30144
30061
|
style: {
|
|
30145
30062
|
display: "flex",
|
|
30146
30063
|
alignItems: "center",
|
|
30147
30064
|
justifyContent: "center"
|
|
30148
30065
|
},
|
|
30149
30066
|
children: [
|
|
30150
|
-
/* @__PURE__ */
|
|
30067
|
+
/* @__PURE__ */ jsx54(StatItemContent, {
|
|
30151
30068
|
content: "5M+",
|
|
30152
30069
|
width: "100px",
|
|
30153
30070
|
fontSize: "2.5rem",
|
|
30154
30071
|
fontWeight: "bold"
|
|
30155
30072
|
}),
|
|
30156
|
-
/* @__PURE__ */
|
|
30157
|
-
content: /* @__PURE__ */
|
|
30073
|
+
/* @__PURE__ */ jsx54(StatItemContent, {
|
|
30074
|
+
content: /* @__PURE__ */ jsx54("svg", {
|
|
30158
30075
|
width: "40",
|
|
30159
30076
|
height: "40",
|
|
30160
30077
|
viewBox: "0 0 25 25",
|
|
30161
30078
|
fill: "none",
|
|
30162
30079
|
xmlns: "http://www.w3.org/2000/svg",
|
|
30163
|
-
children: /* @__PURE__ */
|
|
30080
|
+
children: /* @__PURE__ */ jsx54("path", {
|
|
30164
30081
|
d: "M12.6367 2.47534C12.5488 2.44116 12.4512 2.44116 12.3584 2.47534L3.10547 5.98608L12.5 9.67749L21.8945 5.98608L12.6367 2.47534ZM2.34375 18.4519C2.34375 18.613 2.44629 18.7595 2.59766 18.8181L11.3281 22.1287V11.738L2.34375 8.20776V18.4519ZM13.6719 22.1287L22.4023 18.8181C22.5537 18.7595 22.6562 18.613 22.6562 18.4519V8.20776L13.6719 11.738V22.1287ZM11.5283 0.287842C12.1533 0.048584 12.8418 0.048584 13.4668 0.287842L23.2324 3.9939C24.2969 4.39429 25 5.40991 25 6.54761V18.4519C25 19.5896 24.2969 20.6052 23.2373 21.0105L13.4717 24.7166C12.8467 24.9558 12.1582 24.9558 11.5332 24.7166L1.76758 21.0105C0.703125 20.6052 0 19.5896 0 18.4519V6.54761C0 5.40991 0.703125 4.39429 1.7627 3.98901L11.5283 0.282959V0.287842Z",
|
|
30165
30082
|
fill: "var(--text-color)"
|
|
30166
30083
|
})
|
|
@@ -30169,7 +30086,7 @@ var InstallsPerMonth = () => {
|
|
|
30169
30086
|
})
|
|
30170
30087
|
]
|
|
30171
30088
|
}),
|
|
30172
|
-
/* @__PURE__ */
|
|
30089
|
+
/* @__PURE__ */ jsx54(StatItemContent, {
|
|
30173
30090
|
content: "installs per month",
|
|
30174
30091
|
width: "75%",
|
|
30175
30092
|
fontSize: "1.0rem",
|
|
@@ -30179,27 +30096,27 @@ var InstallsPerMonth = () => {
|
|
|
30179
30096
|
});
|
|
30180
30097
|
};
|
|
30181
30098
|
var PagesOfDocs = () => {
|
|
30182
|
-
return /* @__PURE__ */
|
|
30099
|
+
return /* @__PURE__ */ jsxs13(Pill, {
|
|
30183
30100
|
className: "flex-col",
|
|
30184
30101
|
children: [
|
|
30185
|
-
/* @__PURE__ */
|
|
30102
|
+
/* @__PURE__ */ jsxs13("div", {
|
|
30186
30103
|
style: { display: "flex", alignItems: "center", gap: 8 },
|
|
30187
30104
|
children: [
|
|
30188
|
-
/* @__PURE__ */
|
|
30189
|
-
content: /* @__PURE__ */
|
|
30105
|
+
/* @__PURE__ */ jsx54(StatItemContent, {
|
|
30106
|
+
content: /* @__PURE__ */ jsx54("svg", {
|
|
30190
30107
|
width: "28",
|
|
30191
30108
|
height: "40",
|
|
30192
30109
|
viewBox: "0 0 18 21",
|
|
30193
30110
|
fill: "none",
|
|
30194
30111
|
xmlns: "http://www.w3.org/2000/svg",
|
|
30195
|
-
children: /* @__PURE__ */
|
|
30112
|
+
children: /* @__PURE__ */ jsx54("path", {
|
|
30196
30113
|
d: "M0 3.60938C0 1.61602 1.58304 0 3.53571 0H17.0357H18V0.984375V15.4219V16.4062H17.0357H16.7143V19.0312H17.0357H18V21H17.0357H3.21429C1.43839 21 0 19.5316 0 17.7188C0 17.608 0.00401786 17.4973 0.0160714 17.3906H0V3.60938ZM3.21429 16.4062C2.50312 16.4062 1.92857 16.9928 1.92857 17.7188C1.92857 18.4447 2.50312 19.0312 3.21429 19.0312H14.7857V16.4062H3.21429ZM1.92857 14.7123C2.32232 14.5359 2.75625 14.4375 3.21429 14.4375H16.0714V1.96875H3.53571C2.64777 1.96875 1.92857 2.70293 1.92857 3.60938V14.7123ZM6.10714 4.59375H13.1786H14.1429V6.5625H13.1786H6.10714H5.14286V4.59375H6.10714ZM6.10714 7.875H13.1786H14.1429V9.84375H13.1786H6.10714H5.14286V7.875H6.10714Z",
|
|
30197
30114
|
fill: "var(--text-color)"
|
|
30198
30115
|
})
|
|
30199
30116
|
}),
|
|
30200
30117
|
width: "32px"
|
|
30201
30118
|
}),
|
|
30202
|
-
/* @__PURE__ */
|
|
30119
|
+
/* @__PURE__ */ jsx54(StatItemContent, {
|
|
30203
30120
|
content: "1000",
|
|
30204
30121
|
width: "112px",
|
|
30205
30122
|
fontSize: "2.5rem",
|
|
@@ -30207,7 +30124,7 @@ var PagesOfDocs = () => {
|
|
|
30207
30124
|
})
|
|
30208
30125
|
]
|
|
30209
30126
|
}),
|
|
30210
|
-
/* @__PURE__ */
|
|
30127
|
+
/* @__PURE__ */ jsx54(StatItemContent, {
|
|
30211
30128
|
content: "pages of docs",
|
|
30212
30129
|
width: "125px",
|
|
30213
30130
|
fontSize: "1.0rem",
|
|
@@ -30216,16 +30133,16 @@ var PagesOfDocs = () => {
|
|
|
30216
30133
|
]
|
|
30217
30134
|
});
|
|
30218
30135
|
};
|
|
30219
|
-
var TemplatesAndExamples = () => /* @__PURE__ */
|
|
30136
|
+
var TemplatesAndExamples = () => /* @__PURE__ */ jsxs13(Pill, {
|
|
30220
30137
|
className: "w-[30%] flex items-center flex-row",
|
|
30221
30138
|
children: [
|
|
30222
|
-
/* @__PURE__ */
|
|
30139
|
+
/* @__PURE__ */ jsx54(StatItemContent, {
|
|
30223
30140
|
content: "35",
|
|
30224
30141
|
width: "60px",
|
|
30225
30142
|
fontSize: "2.7rem",
|
|
30226
30143
|
fontWeight: "bold"
|
|
30227
30144
|
}),
|
|
30228
|
-
/* @__PURE__ */
|
|
30145
|
+
/* @__PURE__ */ jsx54(StatItemContent, {
|
|
30229
30146
|
content: "templates & examples",
|
|
30230
30147
|
width: "135px",
|
|
30231
30148
|
fontSize: "1.35rem",
|
|
@@ -30234,27 +30151,27 @@ var TemplatesAndExamples = () => /* @__PURE__ */ jsxs14(Pill, {
|
|
|
30234
30151
|
]
|
|
30235
30152
|
});
|
|
30236
30153
|
var GitHubStars = () => {
|
|
30237
|
-
return /* @__PURE__ */
|
|
30154
|
+
return /* @__PURE__ */ jsxs13(Pill, {
|
|
30238
30155
|
className: "w-[30%] flex-col",
|
|
30239
30156
|
children: [
|
|
30240
|
-
/* @__PURE__ */
|
|
30157
|
+
/* @__PURE__ */ jsxs13("div", {
|
|
30241
30158
|
style: { display: "flex", alignItems: "center" },
|
|
30242
30159
|
children: [
|
|
30243
|
-
/* @__PURE__ */
|
|
30244
|
-
content: /* @__PURE__ */
|
|
30160
|
+
/* @__PURE__ */ jsx54(StatItemContent, {
|
|
30161
|
+
content: /* @__PURE__ */ jsx54("svg", {
|
|
30245
30162
|
width: "40",
|
|
30246
30163
|
height: "40",
|
|
30247
30164
|
viewBox: "0 0 26 24",
|
|
30248
30165
|
fill: "none",
|
|
30249
30166
|
xmlns: "http://www.w3.org/2000/svg",
|
|
30250
|
-
children: /* @__PURE__ */
|
|
30167
|
+
children: /* @__PURE__ */ jsx54("path", {
|
|
30251
30168
|
d: "M12.9951 0C13.4424 0 13.8507 0.24375 14.0451 0.632812L17.3799 7.25625L24.8271 8.31562C25.2646 8.37656 25.6292 8.67188 25.7653 9.07969C25.9014 9.4875 25.7896 9.92812 25.4785 10.2281L20.0778 15.3937L21.3514 22.6875C21.4243 23.1094 21.2444 23.5359 20.8799 23.7891C20.5153 24.0422 20.0389 24.0703 19.65 23.8688L12.9903 20.4375L6.34027 23.8641C5.94652 24.0656 5.47014 24.0375 5.11041 23.7844C4.75069 23.5312 4.56597 23.1047 4.63889 22.6828L5.9125 15.3891L0.511803 10.2281C0.195831 9.92812 0.0888863 9.48281 0.224997 9.07969C0.361108 8.67656 0.725692 8.38125 1.16319 8.31562L8.61041 7.25625L11.9451 0.632812C12.1444 0.24375 12.5479 0 12.9951 0ZM12.9951 3.70312L10.4431 8.775C10.2729 9.10781 9.94722 9.34219 9.56319 9.39844L3.8125 10.2141L7.98819 14.2031C8.25555 14.4609 8.38194 14.8266 8.31875 15.1875L7.33194 20.7984L12.4458 18.1641C12.791 17.9859 13.2042 17.9859 13.5444 18.1641L18.6583 20.7984L17.6764 15.1922C17.6132 14.8313 17.7347 14.4656 18.0069 14.2078L22.1826 10.2188L16.4319 9.39844C16.0528 9.34219 15.7222 9.1125 15.5521 8.775L12.9951 3.70312Z",
|
|
30252
30169
|
fill: "var(--text-color)"
|
|
30253
30170
|
})
|
|
30254
30171
|
}),
|
|
30255
30172
|
width: "45px"
|
|
30256
30173
|
}),
|
|
30257
|
-
/* @__PURE__ */
|
|
30174
|
+
/* @__PURE__ */ jsx54(StatItemContent, {
|
|
30258
30175
|
content: "54K",
|
|
30259
30176
|
width: "80px",
|
|
30260
30177
|
fontSize: "2.5rem",
|
|
@@ -30262,7 +30179,7 @@ var GitHubStars = () => {
|
|
|
30262
30179
|
})
|
|
30263
30180
|
]
|
|
30264
30181
|
}),
|
|
30265
|
-
/* @__PURE__ */
|
|
30182
|
+
/* @__PURE__ */ jsx54(StatItemContent, {
|
|
30266
30183
|
content: "GitHub stars",
|
|
30267
30184
|
width: "125px",
|
|
30268
30185
|
fontSize: "1.0rem",
|
|
@@ -30272,9 +30189,9 @@ var GitHubStars = () => {
|
|
|
30272
30189
|
});
|
|
30273
30190
|
};
|
|
30274
30191
|
var DiscordMembers = () => {
|
|
30275
|
-
return /* @__PURE__ */
|
|
30192
|
+
return /* @__PURE__ */ jsx54(Pill, {
|
|
30276
30193
|
className: "w-[30%]",
|
|
30277
|
-
children: /* @__PURE__ */
|
|
30194
|
+
children: /* @__PURE__ */ jsxs13("div", {
|
|
30278
30195
|
style: {
|
|
30279
30196
|
width: "80%",
|
|
30280
30197
|
display: "flex",
|
|
@@ -30282,7 +30199,7 @@ var DiscordMembers = () => {
|
|
|
30282
30199
|
justifyContent: "center"
|
|
30283
30200
|
},
|
|
30284
30201
|
children: [
|
|
30285
|
-
/* @__PURE__ */
|
|
30202
|
+
/* @__PURE__ */ jsxs13("div", {
|
|
30286
30203
|
style: {
|
|
30287
30204
|
display: "flex",
|
|
30288
30205
|
flexDirection: "column",
|
|
@@ -30290,13 +30207,13 @@ var DiscordMembers = () => {
|
|
|
30290
30207
|
justifyContent: "center"
|
|
30291
30208
|
},
|
|
30292
30209
|
children: [
|
|
30293
|
-
/* @__PURE__ */
|
|
30210
|
+
/* @__PURE__ */ jsx54(StatItemContent, {
|
|
30294
30211
|
content: "10K+",
|
|
30295
30212
|
width: "142px",
|
|
30296
30213
|
fontSize: "2.5rem",
|
|
30297
30214
|
fontWeight: "bold"
|
|
30298
30215
|
}),
|
|
30299
|
-
/* @__PURE__ */
|
|
30216
|
+
/* @__PURE__ */ jsx54(StatItemContent, {
|
|
30300
30217
|
content: "Discord members",
|
|
30301
30218
|
width: "142px",
|
|
30302
30219
|
fontSize: "1rem",
|
|
@@ -30304,19 +30221,19 @@ var DiscordMembers = () => {
|
|
|
30304
30221
|
})
|
|
30305
30222
|
]
|
|
30306
30223
|
}),
|
|
30307
|
-
/* @__PURE__ */
|
|
30224
|
+
/* @__PURE__ */ jsx54("div", {
|
|
30308
30225
|
style: {
|
|
30309
30226
|
display: "flex",
|
|
30310
30227
|
justifyContent: "center"
|
|
30311
30228
|
},
|
|
30312
|
-
children: /* @__PURE__ */
|
|
30313
|
-
content: /* @__PURE__ */
|
|
30229
|
+
children: /* @__PURE__ */ jsx54(StatItemContent, {
|
|
30230
|
+
content: /* @__PURE__ */ jsx54("svg", {
|
|
30314
30231
|
width: "61",
|
|
30315
30232
|
height: "47",
|
|
30316
30233
|
viewBox: "0 0 46 35",
|
|
30317
30234
|
fill: "none",
|
|
30318
30235
|
xmlns: "http://www.w3.org/2000/svg",
|
|
30319
|
-
children: /* @__PURE__ */
|
|
30236
|
+
children: /* @__PURE__ */ jsx54("path", {
|
|
30320
30237
|
d: "M38.9978 2.95533C38.9843 2.93009 38.962 2.91064 38.9352 2.90065C35.955 1.53492 32.8101 0.560692 29.5791 0.00230404C29.55 -0.00300893 29.5201 0.00092017 29.4934 0.0135365C29.4667 0.0261528 29.4447 0.0468187 29.4304 0.0726144C29.0019 0.84938 28.6129 1.64724 28.2648 2.46316C24.7802 1.93495 21.2356 1.93495 17.7509 2.46316C17.4015 1.64523 17.0072 0.847165 16.5697 0.0726144C16.5546 0.0475873 16.5324 0.0275657 16.506 0.0150584C16.4795 0.00255114 16.45 -0.00188563 16.421 0.00230404C13.1844 0.558177 10.034 1.53248 7.04927 2.90065C7.0231 2.91173 7.00116 2.93089 6.98669 2.95533C1.02568 11.8535 -0.609293 20.5251 0.188637 29.0951C0.190896 29.1167 0.197628 29.1376 0.208402 29.1564C0.219177 29.1752 0.233759 29.1916 0.25122 29.2045C3.7235 31.7693 7.60667 33.7268 11.7352 34.9934C11.7648 35.0025 11.7966 35.0022 11.8261 34.9924C11.8556 34.9826 11.8812 34.9638 11.8994 34.9387C12.7852 33.7344 13.5702 32.4593 14.2463 31.1263C14.2553 31.108 14.2604 31.088 14.2613 31.0676C14.2622 31.0471 14.2589 31.0268 14.2516 31.0077C14.2442 30.9886 14.233 30.9713 14.2186 30.9567C14.2043 30.9422 14.1871 30.9308 14.1681 30.9232C12.9278 30.4486 11.7271 29.8765 10.5774 29.2123C10.5571 29.1999 10.54 29.1828 10.5277 29.1624C10.5154 29.142 10.5082 29.119 10.5067 29.0953C10.5051 29.0715 10.5093 29.0478 10.5189 29.026C10.5285 29.0042 10.5432 28.985 10.5617 28.9701C10.8042 28.7904 11.0468 28.6029 11.2736 28.4155C11.2936 28.3979 11.3182 28.3864 11.3445 28.3822C11.3708 28.3781 11.3978 28.3815 11.4222 28.392C18.9478 31.8216 27.0992 31.8216 34.5388 28.392C34.5625 28.3804 34.589 28.3757 34.6153 28.3785C34.6416 28.3813 34.6666 28.3914 34.6874 28.4076C34.9143 28.5951 35.1568 28.7904 35.3993 28.9701C35.4178 28.985 35.4325 29.0042 35.4421 29.026C35.4517 29.0478 35.4559 29.0715 35.4543 29.0953C35.4528 29.119 35.4456 29.142 35.4333 29.1624C35.421 29.1828 35.4039 29.1999 35.3836 29.2123C34.2369 29.8799 33.0357 30.4496 31.7929 30.9154C31.7739 30.923 31.7567 30.9344 31.7424 30.9489C31.728 30.9635 31.7168 30.9808 31.7095 30.9999C31.7021 31.019 31.6988 31.0393 31.6997 31.0597C31.7006 31.0801 31.7057 31.1001 31.7147 31.1185C32.4026 32.4449 33.187 33.7191 34.0616 34.9309C34.0798 34.956 34.1054 34.9748 34.1349 34.9846C34.1644 34.9944 34.1962 34.9947 34.2258 34.9856C38.3663 33.7246 42.2606 31.7669 45.7411 29.1967C45.7589 29.1841 45.7737 29.1679 45.7846 29.149C45.7954 29.1301 45.8019 29.109 45.8037 29.0873C46.758 19.1892 44.1922 10.5879 38.9978 2.95533ZM15.3728 23.8765C13.1042 23.8765 11.2423 21.7985 11.2423 19.2517C11.2423 16.7049 13.0729 14.619 15.3728 14.619C17.6962 14.619 19.5424 16.7127 19.5032 19.2439C19.5032 21.7985 17.6727 23.8765 15.3728 23.8765ZM30.6586 23.8765C28.39 23.8765 26.5282 21.7985 26.5282 19.2517C26.5282 16.7049 28.3509 14.619 30.6586 14.619C32.982 14.619 34.8282 16.7127 34.7891 19.2439C34.7891 21.7985 32.9742 23.8765 30.6586 23.8765Z",
|
|
30321
30238
|
fill: "var(--text-color)"
|
|
30322
30239
|
})
|
|
@@ -30329,21 +30246,21 @@ var DiscordMembers = () => {
|
|
|
30329
30246
|
});
|
|
30330
30247
|
};
|
|
30331
30248
|
var Contributors = () => {
|
|
30332
|
-
return /* @__PURE__ */
|
|
30249
|
+
return /* @__PURE__ */ jsx54(Pill, {
|
|
30333
30250
|
className: "w-[30%]",
|
|
30334
|
-
children: /* @__PURE__ */
|
|
30251
|
+
children: /* @__PURE__ */ jsxs13("div", {
|
|
30335
30252
|
style: { display: "flex", justifyContent: "center" },
|
|
30336
30253
|
children: [
|
|
30337
|
-
/* @__PURE__ */
|
|
30254
|
+
/* @__PURE__ */ jsx54("div", {
|
|
30338
30255
|
style: { display: "flex", justifyContent: "center" },
|
|
30339
|
-
children: /* @__PURE__ */
|
|
30340
|
-
content: /* @__PURE__ */
|
|
30256
|
+
children: /* @__PURE__ */ jsx54(StatItemContent, {
|
|
30257
|
+
content: /* @__PURE__ */ jsx54("svg", {
|
|
30341
30258
|
width: "60",
|
|
30342
30259
|
height: "50",
|
|
30343
30260
|
viewBox: "0 0 63 40",
|
|
30344
30261
|
fill: "none",
|
|
30345
30262
|
xmlns: "http://www.w3.org/2000/svg",
|
|
30346
|
-
children: /* @__PURE__ */
|
|
30263
|
+
children: /* @__PURE__ */ jsx54("path", {
|
|
30347
30264
|
d: "M6.975 5.375C6.975 3.94946 7.54656 2.58231 8.56395 1.5743C9.58133 0.566293 10.9612 0 12.4 0C13.8388 0 15.2187 0.566293 16.2361 1.5743C17.2534 2.58231 17.825 3.94946 17.825 5.375C17.825 6.80054 17.2534 8.16769 16.2361 9.1757C15.2187 10.1837 13.8388 10.75 12.4 10.75C10.9612 10.75 9.58133 10.1837 8.56395 9.1757C7.54656 8.16769 6.975 6.80054 6.975 5.375ZM6.2 20.5114C5.23125 21.5864 4.65 23.0165 4.65 24.5714C4.65 26.1263 5.23125 27.5565 6.2 28.6315V20.5114ZM20.1887 15.7795C17.3116 18.3038 15.5 21.9991 15.5 26.1071C15.5 29.3993 16.6625 32.4228 18.6 34.7935V36.8571C18.6 38.556 17.2147 39.9286 15.5 39.9286H9.3C7.58531 39.9286 6.2 38.556 6.2 36.8571V34.2848C2.53813 32.5571 0 28.8618 0 24.5714C0 18.6301 4.85344 13.8214 10.85 13.8214H13.95C16.275 13.8214 18.4256 14.5413 20.1887 15.7699V15.7795ZM43.4 36.8571V34.7935C45.3375 32.4228 46.5 29.3993 46.5 26.1071C46.5 21.9991 44.6884 18.3038 41.8112 15.7699C43.5744 14.5413 45.725 13.8214 48.05 13.8214H51.15C57.1466 13.8214 62 18.6301 62 24.5714C62 28.8618 59.4619 32.5571 55.8 34.2848V36.8571C55.8 38.556 54.4147 39.9286 52.7 39.9286H46.5C44.7853 39.9286 43.4 38.556 43.4 36.8571ZM44.175 5.375C44.175 3.94946 44.7466 2.58231 45.7639 1.5743C46.7813 0.566293 48.1612 0 49.6 0C51.0388 0 52.4187 0.566293 53.4361 1.5743C54.4534 2.58231 55.025 3.94946 55.025 5.375C55.025 6.80054 54.4534 8.16769 53.4361 9.1757C52.4187 10.1837 51.0388 10.75 49.6 10.75C48.1612 10.75 46.7813 10.1837 45.7639 9.1757C44.7466 8.16769 44.175 6.80054 44.175 5.375ZM55.8 20.5114V28.6411C56.7687 27.5565 57.35 26.1359 57.35 24.581C57.35 23.0261 56.7687 21.596 55.8 20.521V20.5114ZM31 0C32.6443 0 34.2213 0.647192 35.3841 1.7992C36.5468 2.95121 37.2 4.51367 37.2 6.14286C37.2 7.77204 36.5468 9.3345 35.3841 10.4865C34.2213 11.6385 32.6443 12.2857 31 12.2857C29.3557 12.2857 27.7787 11.6385 26.6159 10.4865C25.4532 9.3345 24.8 7.77204 24.8 6.14286C24.8 4.51367 25.4532 2.95121 26.6159 1.7992C27.7787 0.647192 29.3557 0 31 0ZM23.25 26.1071C23.25 27.6621 23.8312 29.0826 24.8 30.1672V22.0471C23.8312 23.1317 23.25 24.5522 23.25 26.1071ZM37.2 22.0471V30.1768C38.1687 29.0922 38.75 27.6717 38.75 26.1167C38.75 24.5618 38.1687 23.1317 37.2 22.0567V22.0471ZM43.4 26.1071C43.4 30.3975 40.8619 34.0929 37.2 35.8205V39.9286C37.2 41.6275 35.8147 43 34.1 43H27.9C26.1853 43 24.8 41.6275 24.8 39.9286V35.8205C21.1381 34.0929 18.6 30.3975 18.6 26.1071C18.6 20.1658 23.4534 15.3571 29.45 15.3571H32.55C38.5466 15.3571 43.4 20.1658 43.4 26.1071Z",
|
|
30348
30265
|
fill: "var(--text-color)"
|
|
30349
30266
|
})
|
|
@@ -30351,7 +30268,7 @@ var Contributors = () => {
|
|
|
30351
30268
|
width: "65px"
|
|
30352
30269
|
})
|
|
30353
30270
|
}),
|
|
30354
|
-
/* @__PURE__ */
|
|
30271
|
+
/* @__PURE__ */ jsxs13("div", {
|
|
30355
30272
|
style: {
|
|
30356
30273
|
display: "flex",
|
|
30357
30274
|
flexDirection: "column",
|
|
@@ -30359,13 +30276,13 @@ var Contributors = () => {
|
|
|
30359
30276
|
justifyContent: "center"
|
|
30360
30277
|
},
|
|
30361
30278
|
children: [
|
|
30362
|
-
/* @__PURE__ */
|
|
30279
|
+
/* @__PURE__ */ jsx54(StatItemContent, {
|
|
30363
30280
|
content: "300+",
|
|
30364
30281
|
width: "100px",
|
|
30365
30282
|
fontSize: "2.5rem",
|
|
30366
30283
|
fontWeight: "bold"
|
|
30367
30284
|
}),
|
|
30368
|
-
/* @__PURE__ */
|
|
30285
|
+
/* @__PURE__ */ jsx54(StatItemContent, {
|
|
30369
30286
|
content: "contributors",
|
|
30370
30287
|
width: "100px",
|
|
30371
30288
|
fontSize: "1.0rem",
|
|
@@ -30378,50 +30295,64 @@ var Contributors = () => {
|
|
|
30378
30295
|
});
|
|
30379
30296
|
};
|
|
30380
30297
|
|
|
30298
|
+
// src/components/homepage/VideoAppsTitle.tsx
|
|
30299
|
+
import { jsx as jsx56 } from "react/jsx-runtime";
|
|
30300
|
+
var SectionTitle = ({
|
|
30301
|
+
children
|
|
30302
|
+
}) => {
|
|
30303
|
+
return /* @__PURE__ */ jsx56("div", {
|
|
30304
|
+
className: "text-center",
|
|
30305
|
+
children: /* @__PURE__ */ jsx56("h2", {
|
|
30306
|
+
className: "fontbrand text-4xl",
|
|
30307
|
+
children
|
|
30308
|
+
})
|
|
30309
|
+
});
|
|
30310
|
+
};
|
|
30311
|
+
|
|
30381
30312
|
// src/components/homepage/CommunityStats.tsx
|
|
30382
|
-
import { jsx as
|
|
30383
|
-
var SectionLink = ({ href, children }) => /* @__PURE__ */
|
|
30313
|
+
import { jsx as jsx57, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
30314
|
+
var SectionLink = ({ href, children }) => /* @__PURE__ */ jsx57("a", {
|
|
30384
30315
|
target: "_blank",
|
|
30385
30316
|
href,
|
|
30386
30317
|
className: "no-underline text-inherit contents",
|
|
30387
30318
|
children
|
|
30388
30319
|
});
|
|
30389
|
-
var CommunityStats = () => /* @__PURE__ */
|
|
30320
|
+
var CommunityStats = () => /* @__PURE__ */ jsxs14("div", {
|
|
30390
30321
|
className: "m-auto max-w-[700px] text-center",
|
|
30391
30322
|
children: [
|
|
30392
|
-
/* @__PURE__ */
|
|
30323
|
+
/* @__PURE__ */ jsx57(SectionTitle, {
|
|
30393
30324
|
children: "Never build alone"
|
|
30394
30325
|
}),
|
|
30395
|
-
/* @__PURE__ */
|
|
30326
|
+
/* @__PURE__ */ jsx57("div", {
|
|
30396
30327
|
className: "fontbrand text-center mb-10 -mt-4",
|
|
30397
30328
|
children: "Join a thriving community of developers."
|
|
30398
30329
|
}),
|
|
30399
|
-
/* @__PURE__ */
|
|
30330
|
+
/* @__PURE__ */ jsxs14("div", {
|
|
30400
30331
|
className: "flex flex-wrap justify-between gap-4 w-full items-center",
|
|
30401
30332
|
children: [
|
|
30402
|
-
/* @__PURE__ */
|
|
30333
|
+
/* @__PURE__ */ jsx57(SectionLink, {
|
|
30403
30334
|
href: "https://www.npmjs.com/package/remotion",
|
|
30404
|
-
children: /* @__PURE__ */
|
|
30335
|
+
children: /* @__PURE__ */ jsx57(InstallsPerMonth, {})
|
|
30405
30336
|
}),
|
|
30406
|
-
/* @__PURE__ */
|
|
30337
|
+
/* @__PURE__ */ jsx57(SectionLink, {
|
|
30407
30338
|
href: "https://www.remotion.dev/docs/",
|
|
30408
|
-
children: /* @__PURE__ */
|
|
30339
|
+
children: /* @__PURE__ */ jsx57(PagesOfDocs, {})
|
|
30409
30340
|
}),
|
|
30410
|
-
/* @__PURE__ */
|
|
30341
|
+
/* @__PURE__ */ jsx57(SectionLink, {
|
|
30411
30342
|
href: "https://www.remotion.dev/templates",
|
|
30412
|
-
children: /* @__PURE__ */
|
|
30343
|
+
children: /* @__PURE__ */ jsx57(TemplatesAndExamples, {})
|
|
30413
30344
|
}),
|
|
30414
|
-
/* @__PURE__ */
|
|
30345
|
+
/* @__PURE__ */ jsx57(SectionLink, {
|
|
30415
30346
|
href: "https://github.com/remotion-dev/remotion",
|
|
30416
|
-
children: /* @__PURE__ */
|
|
30347
|
+
children: /* @__PURE__ */ jsx57(GitHubStars, {})
|
|
30417
30348
|
}),
|
|
30418
|
-
/* @__PURE__ */
|
|
30349
|
+
/* @__PURE__ */ jsx57(SectionLink, {
|
|
30419
30350
|
href: "https://remotion.dev/discord",
|
|
30420
|
-
children: /* @__PURE__ */
|
|
30351
|
+
children: /* @__PURE__ */ jsx57(DiscordMembers, {})
|
|
30421
30352
|
}),
|
|
30422
|
-
/* @__PURE__ */
|
|
30353
|
+
/* @__PURE__ */ jsx57(SectionLink, {
|
|
30423
30354
|
href: "https://github.com/remotion-dev/remotion/graphs/contributors",
|
|
30424
|
-
children: /* @__PURE__ */
|
|
30355
|
+
children: /* @__PURE__ */ jsx57(Contributors, {})
|
|
30425
30356
|
})
|
|
30426
30357
|
]
|
|
30427
30358
|
})
|
|
@@ -30431,8 +30362,8 @@ var CommunityStats_default = CommunityStats;
|
|
|
30431
30362
|
|
|
30432
30363
|
// ../player/dist/esm/index.mjs
|
|
30433
30364
|
import { createContext as createContext32 } from "react";
|
|
30434
|
-
import { jsx as
|
|
30435
|
-
import { jsx as jsx214, jsxs as jsxs24, Fragment as
|
|
30365
|
+
import { jsx as jsx58, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
30366
|
+
import { jsx as jsx214, jsxs as jsxs24, Fragment as Fragment12 } from "react/jsx-runtime";
|
|
30436
30367
|
import React57 from "react";
|
|
30437
30368
|
import { useContext as useContext210, useEffect as useEffect41, useState as useState40 } from "react";
|
|
30438
30369
|
import { useContext as useContext47, useLayoutEffect as useLayoutEffect18 } from "react";
|
|
@@ -30441,7 +30372,7 @@ import { useEffect as useEffect210, useState as useState24 } from "react";
|
|
|
30441
30372
|
import { useLayoutEffect as useLayoutEffect23 } from "react";
|
|
30442
30373
|
import { useContext as useContext42, useEffect as useEffect52, useRef as useRef47 } from "react";
|
|
30443
30374
|
import { useEffect as useEffect310, useRef as useRef212 } from "react";
|
|
30444
|
-
import { useCallback as useCallback39, useContext as useContext310, useMemo as
|
|
30375
|
+
import { useCallback as useCallback39, useContext as useContext310, useMemo as useMemo56, useRef as useRef48, useState as useState310 } from "react";
|
|
30445
30376
|
import { useEffect as useEffect42, useRef as useRef310 } from "react";
|
|
30446
30377
|
import { useCallback as useCallback210, useEffect as useEffect62, useMemo as useMemo212, useState as useState42 } from "react";
|
|
30447
30378
|
import {
|
|
@@ -30470,11 +30401,11 @@ import React410, { useEffect as useEffect72 } from "react";
|
|
|
30470
30401
|
import { jsx as jsx55 } from "react/jsx-runtime";
|
|
30471
30402
|
import { useCallback as useCallback72, useEffect as useEffect112, useMemo as useMemo92, useRef as useRef82, useState as useState102 } from "react";
|
|
30472
30403
|
import { jsx as jsx64 } from "react/jsx-runtime";
|
|
30473
|
-
import { useCallback as useCallback42, useMemo as
|
|
30404
|
+
import { useCallback as useCallback42, useMemo as useMemo43, useRef as useRef52, useState as useState62 } from "react";
|
|
30474
30405
|
import React54, { useCallback as useCallback310, useMemo as useMemo310, useState as useState52 } from "react";
|
|
30475
30406
|
import { jsx as jsx74, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
30476
30407
|
import { jsx as jsx84, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
30477
|
-
import { useCallback as useCallback52, useEffect as useEffect92, useMemo as
|
|
30408
|
+
import { useCallback as useCallback52, useEffect as useEffect92, useMemo as useMemo57, useState as useState82 } from "react";
|
|
30478
30409
|
import { useEffect as useEffect83, useRef as useRef62, useState as useState72 } from "react";
|
|
30479
30410
|
import { jsx as jsx94, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
30480
30411
|
import { useCallback as useCallback62, useEffect as useEffect102, useMemo as useMemo62, useRef as useRef72, useState as useState92 } from "react";
|
|
@@ -31247,6 +31178,29 @@ var backgroundSchema2 = {
|
|
|
31247
31178
|
description: "Color"
|
|
31248
31179
|
}
|
|
31249
31180
|
};
|
|
31181
|
+
var svgStrokeSchema2 = {
|
|
31182
|
+
stroke: {
|
|
31183
|
+
type: "color",
|
|
31184
|
+
default: "none",
|
|
31185
|
+
description: "Stroke"
|
|
31186
|
+
},
|
|
31187
|
+
strokeWidth: {
|
|
31188
|
+
type: "number",
|
|
31189
|
+
default: 1,
|
|
31190
|
+
description: "Stroke width",
|
|
31191
|
+
min: 0,
|
|
31192
|
+
step: 1,
|
|
31193
|
+
hiddenFromList: false
|
|
31194
|
+
}
|
|
31195
|
+
};
|
|
31196
|
+
var svgPaintSchema2 = {
|
|
31197
|
+
fill: {
|
|
31198
|
+
type: "color",
|
|
31199
|
+
default: undefined,
|
|
31200
|
+
description: "Fill"
|
|
31201
|
+
},
|
|
31202
|
+
...svgStrokeSchema2
|
|
31203
|
+
};
|
|
31250
31204
|
var premountSchema2 = {
|
|
31251
31205
|
premountFor: {
|
|
31252
31206
|
type: "number",
|
|
@@ -31269,7 +31223,51 @@ var premountSchema2 = {
|
|
|
31269
31223
|
var sequencePremountSchema2 = {
|
|
31270
31224
|
...premountSchema2
|
|
31271
31225
|
};
|
|
31226
|
+
var cropSchema2 = {
|
|
31227
|
+
cropLeft: {
|
|
31228
|
+
type: "number",
|
|
31229
|
+
default: 0,
|
|
31230
|
+
description: "Crop left",
|
|
31231
|
+
min: 0,
|
|
31232
|
+
max: 1,
|
|
31233
|
+
step: 0.01,
|
|
31234
|
+
hiddenFromList: false,
|
|
31235
|
+
keyframable: true
|
|
31236
|
+
},
|
|
31237
|
+
cropRight: {
|
|
31238
|
+
type: "number",
|
|
31239
|
+
default: 0,
|
|
31240
|
+
description: "Crop right",
|
|
31241
|
+
min: 0,
|
|
31242
|
+
max: 1,
|
|
31243
|
+
step: 0.01,
|
|
31244
|
+
hiddenFromList: false,
|
|
31245
|
+
keyframable: true
|
|
31246
|
+
},
|
|
31247
|
+
cropTop: {
|
|
31248
|
+
type: "number",
|
|
31249
|
+
default: 0,
|
|
31250
|
+
description: "Crop top",
|
|
31251
|
+
min: 0,
|
|
31252
|
+
max: 1,
|
|
31253
|
+
step: 0.01,
|
|
31254
|
+
hiddenFromList: false,
|
|
31255
|
+
keyframable: true
|
|
31256
|
+
},
|
|
31257
|
+
cropBottom: {
|
|
31258
|
+
type: "number",
|
|
31259
|
+
default: 0,
|
|
31260
|
+
description: "Crop bottom",
|
|
31261
|
+
min: 0,
|
|
31262
|
+
max: 1,
|
|
31263
|
+
step: 0.01,
|
|
31264
|
+
hiddenFromList: false,
|
|
31265
|
+
keyframable: true
|
|
31266
|
+
}
|
|
31267
|
+
};
|
|
31268
|
+
var sequenceCropSchema2 = cropSchema2;
|
|
31272
31269
|
var sequenceStyleSchema2 = {
|
|
31270
|
+
...sequenceCropSchema2,
|
|
31273
31271
|
...transformSchema2,
|
|
31274
31272
|
...backgroundSchema2,
|
|
31275
31273
|
...borderSchema2,
|
|
@@ -32058,12 +32056,12 @@ if (typeof createContext32 !== "function") {
|
|
|
32058
32056
|
var ICON_SIZE2 = 25;
|
|
32059
32057
|
var fullscreenIconSize = 16;
|
|
32060
32058
|
var PlayIcon = () => {
|
|
32061
|
-
return /* @__PURE__ */
|
|
32059
|
+
return /* @__PURE__ */ jsx58("svg", {
|
|
32062
32060
|
width: ICON_SIZE2,
|
|
32063
32061
|
height: ICON_SIZE2,
|
|
32064
32062
|
viewBox: "0 0 25 25",
|
|
32065
32063
|
fill: "none",
|
|
32066
|
-
children: /* @__PURE__ */
|
|
32064
|
+
children: /* @__PURE__ */ jsx58("path", {
|
|
32067
32065
|
d: "M8 6.375C7.40904 8.17576 7.06921 10.2486 7.01438 12.3871C6.95955 14.5255 7.19163 16.6547 7.6875 18.5625C9.95364 18.2995 12.116 17.6164 14.009 16.5655C15.902 15.5147 17.4755 14.124 18.6088 12.5C17.5158 10.8949 15.9949 9.51103 14.1585 8.45082C12.3222 7.3906 10.2174 6.68116 8 6.375Z",
|
|
32068
32066
|
fill: "white",
|
|
32069
32067
|
stroke: "white",
|
|
@@ -32073,12 +32071,12 @@ var PlayIcon = () => {
|
|
|
32073
32071
|
});
|
|
32074
32072
|
};
|
|
32075
32073
|
var PauseIcon = () => {
|
|
32076
|
-
return /* @__PURE__ */
|
|
32074
|
+
return /* @__PURE__ */ jsxs15("svg", {
|
|
32077
32075
|
viewBox: "0 0 100 100",
|
|
32078
32076
|
width: ICON_SIZE2,
|
|
32079
32077
|
height: ICON_SIZE2,
|
|
32080
32078
|
children: [
|
|
32081
|
-
/* @__PURE__ */
|
|
32079
|
+
/* @__PURE__ */ jsx58("rect", {
|
|
32082
32080
|
x: "25",
|
|
32083
32081
|
y: "20",
|
|
32084
32082
|
width: "20",
|
|
@@ -32087,7 +32085,7 @@ var PauseIcon = () => {
|
|
|
32087
32085
|
ry: "5",
|
|
32088
32086
|
rx: "5"
|
|
32089
32087
|
}),
|
|
32090
|
-
/* @__PURE__ */
|
|
32088
|
+
/* @__PURE__ */ jsx58("rect", {
|
|
32091
32089
|
x: "55",
|
|
32092
32090
|
y: "20",
|
|
32093
32091
|
width: "20",
|
|
@@ -32107,12 +32105,12 @@ var FullscreenIcon = ({
|
|
|
32107
32105
|
const out = isFullscreen ? 0 : strokeWidth2 / 2;
|
|
32108
32106
|
const middleInset = isFullscreen ? strokeWidth2 * 1.6 : strokeWidth2 / 2;
|
|
32109
32107
|
const inset = isFullscreen ? strokeWidth2 * 1.6 : strokeWidth2 * 2;
|
|
32110
|
-
return /* @__PURE__ */
|
|
32108
|
+
return /* @__PURE__ */ jsxs15("svg", {
|
|
32111
32109
|
viewBox: `0 0 ${viewSize} ${viewSize}`,
|
|
32112
32110
|
height: fullscreenIconSize,
|
|
32113
32111
|
width: fullscreenIconSize,
|
|
32114
32112
|
children: [
|
|
32115
|
-
/* @__PURE__ */
|
|
32113
|
+
/* @__PURE__ */ jsx58("path", {
|
|
32116
32114
|
d: `
|
|
32117
32115
|
M ${out} ${inset}
|
|
32118
32116
|
L ${middleInset} ${middleInset}
|
|
@@ -32122,7 +32120,7 @@ var FullscreenIcon = ({
|
|
|
32122
32120
|
strokeWidth: strokeWidth2,
|
|
32123
32121
|
fill: "none"
|
|
32124
32122
|
}),
|
|
32125
|
-
/* @__PURE__ */
|
|
32123
|
+
/* @__PURE__ */ jsx58("path", {
|
|
32126
32124
|
d: `
|
|
32127
32125
|
M ${viewSize - out} ${inset}
|
|
32128
32126
|
L ${viewSize - middleInset} ${middleInset}
|
|
@@ -32132,7 +32130,7 @@ var FullscreenIcon = ({
|
|
|
32132
32130
|
strokeWidth: strokeWidth2,
|
|
32133
32131
|
fill: "none"
|
|
32134
32132
|
}),
|
|
32135
|
-
/* @__PURE__ */
|
|
32133
|
+
/* @__PURE__ */ jsx58("path", {
|
|
32136
32134
|
d: `
|
|
32137
32135
|
M ${out} ${viewSize - inset}
|
|
32138
32136
|
L ${middleInset} ${viewSize - middleInset}
|
|
@@ -32142,7 +32140,7 @@ var FullscreenIcon = ({
|
|
|
32142
32140
|
strokeWidth: strokeWidth2,
|
|
32143
32141
|
fill: "none"
|
|
32144
32142
|
}),
|
|
32145
|
-
/* @__PURE__ */
|
|
32143
|
+
/* @__PURE__ */ jsx58("path", {
|
|
32146
32144
|
d: `
|
|
32147
32145
|
M ${viewSize - out} ${viewSize - inset}
|
|
32148
32146
|
L ${viewSize - middleInset} ${viewSize - middleInset}
|
|
@@ -32156,22 +32154,22 @@ var FullscreenIcon = ({
|
|
|
32156
32154
|
});
|
|
32157
32155
|
};
|
|
32158
32156
|
var VolumeOffIcon = () => {
|
|
32159
|
-
return /* @__PURE__ */
|
|
32157
|
+
return /* @__PURE__ */ jsx58("svg", {
|
|
32160
32158
|
width: ICON_SIZE2,
|
|
32161
32159
|
height: ICON_SIZE2,
|
|
32162
32160
|
viewBox: "0 0 24 24",
|
|
32163
|
-
children: /* @__PURE__ */
|
|
32161
|
+
children: /* @__PURE__ */ jsx58("path", {
|
|
32164
32162
|
d: "M3.63 3.63a.996.996 0 000 1.41L7.29 8.7 7 9H4c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1h3l3.29 3.29c.63.63 1.71.18 1.71-.71v-4.17l4.18 4.18c-.49.37-1.02.68-1.6.91-.36.15-.58.53-.58.92 0 .72.73 1.18 1.39.91.8-.33 1.55-.77 2.22-1.31l1.34 1.34a.996.996 0 101.41-1.41L5.05 3.63c-.39-.39-1.02-.39-1.42 0zM19 12c0 .82-.15 1.61-.41 2.34l1.53 1.53c.56-1.17.88-2.48.88-3.87 0-3.83-2.4-7.11-5.78-8.4-.59-.23-1.22.23-1.22.86v.19c0 .38.25.71.61.85C17.18 6.54 19 9.06 19 12zm-8.71-6.29l-.17.17L12 7.76V6.41c0-.89-1.08-1.33-1.71-.7zM16.5 12A4.5 4.5 0 0014 7.97v1.79l2.48 2.48c.01-.08.02-.16.02-.24z",
|
|
32165
32163
|
fill: "#fff"
|
|
32166
32164
|
})
|
|
32167
32165
|
});
|
|
32168
32166
|
};
|
|
32169
32167
|
var VolumeOnIcon = () => {
|
|
32170
|
-
return /* @__PURE__ */
|
|
32168
|
+
return /* @__PURE__ */ jsx58("svg", {
|
|
32171
32169
|
width: ICON_SIZE2,
|
|
32172
32170
|
height: ICON_SIZE2,
|
|
32173
32171
|
viewBox: "0 0 24 24",
|
|
32174
|
-
children: /* @__PURE__ */
|
|
32172
|
+
children: /* @__PURE__ */ jsx58("path", {
|
|
32175
32173
|
d: "M3 10v4c0 .55.45 1 1 1h3l3.29 3.29c.63.63 1.71.18 1.71-.71V6.41c0-.89-1.08-1.34-1.71-.71L7 9H4c-.55 0-1 .45-1 1zm13.5 2A4.5 4.5 0 0014 7.97v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 4.45v.2c0 .38.25.71.6.85C17.18 6.53 19 9.06 19 12s-1.82 5.47-4.4 6.5c-.36.14-.6.47-.6.85v.2c0 .63.63 1.07 1.21.85C18.6 19.11 21 15.84 21 12s-2.4-7.11-5.79-8.4c-.58-.23-1.21.22-1.21.85z",
|
|
32176
32174
|
fill: "#fff"
|
|
32177
32175
|
})
|
|
@@ -32195,7 +32193,7 @@ var studioStyle = {
|
|
|
32195
32193
|
};
|
|
32196
32194
|
var BufferingIndicator = ({ type }) => {
|
|
32197
32195
|
const style = type === "player" ? playerStyle : studioStyle;
|
|
32198
|
-
return /* @__PURE__ */ jsxs24(
|
|
32196
|
+
return /* @__PURE__ */ jsxs24(Fragment12, {
|
|
32199
32197
|
children: [
|
|
32200
32198
|
/* @__PURE__ */ jsx214("style", {
|
|
32201
32199
|
type: "text/css",
|
|
@@ -32701,7 +32699,7 @@ var usePlayer = () => {
|
|
|
32701
32699
|
const isBuffering = useCallback39(() => {
|
|
32702
32700
|
return buffering.current;
|
|
32703
32701
|
}, [buffering]);
|
|
32704
|
-
const returnValue =
|
|
32702
|
+
const returnValue = useMemo56(() => {
|
|
32705
32703
|
return {
|
|
32706
32704
|
frameBack,
|
|
32707
32705
|
frameForward,
|
|
@@ -33547,7 +33545,7 @@ var MediaVolumeSlider = ({ displayVerticalVolumeSlider, renderMuteButton, render
|
|
|
33547
33545
|
}
|
|
33548
33546
|
setPlayerMuted((mute) => !mute);
|
|
33549
33547
|
}, [isVolume0, setPlayerMuted, setMediaVolume]);
|
|
33550
|
-
const parentDivStyle =
|
|
33548
|
+
const parentDivStyle = useMemo43(() => {
|
|
33551
33549
|
return {
|
|
33552
33550
|
display: "inline-flex",
|
|
33553
33551
|
background: "none",
|
|
@@ -33558,7 +33556,7 @@ var MediaVolumeSlider = ({ displayVerticalVolumeSlider, renderMuteButton, render
|
|
|
33558
33556
|
...displayVerticalVolumeSlider && { position: "relative" }
|
|
33559
33557
|
};
|
|
33560
33558
|
}, [displayVerticalVolumeSlider]);
|
|
33561
|
-
const volumeContainer =
|
|
33559
|
+
const volumeContainer = useMemo43(() => {
|
|
33562
33560
|
return {
|
|
33563
33561
|
display: "inline",
|
|
33564
33562
|
width: ICON_SIZE2,
|
|
@@ -33583,10 +33581,10 @@ var MediaVolumeSlider = ({ displayVerticalVolumeSlider, renderMuteButton, render
|
|
|
33583
33581
|
children: isMutedOrZero ? /* @__PURE__ */ jsx84(VolumeOffIcon, {}) : /* @__PURE__ */ jsx84(VolumeOnIcon, {})
|
|
33584
33582
|
});
|
|
33585
33583
|
}, [onBlur, onClick, volumeContainer]);
|
|
33586
|
-
const muteButton =
|
|
33584
|
+
const muteButton = useMemo43(() => {
|
|
33587
33585
|
return renderMuteButton ? renderMuteButton({ muted: playerMuted, volume: mediaVolume }) : renderDefaultMuteButton({ muted: playerMuted, volume: mediaVolume });
|
|
33588
33586
|
}, [playerMuted, mediaVolume, renderDefaultMuteButton, renderMuteButton]);
|
|
33589
|
-
const volumeSlider =
|
|
33587
|
+
const volumeSlider = useMemo43(() => {
|
|
33590
33588
|
return (focused || hover) && !playerMuted && !Internals.isIosSafari() ? (renderVolumeSlider ?? renderDefaultVolumeSlider)({
|
|
33591
33589
|
isVertical: displayVerticalVolumeSlider,
|
|
33592
33590
|
volume: mediaVolume,
|
|
@@ -33674,7 +33672,7 @@ var PlaybackrateOption = ({ rate, onSelect, selectedRate, keyboardSelectedRate }
|
|
|
33674
33672
|
setHovered(false);
|
|
33675
33673
|
}, []);
|
|
33676
33674
|
const isFocused = keyboardSelectedRate === rate;
|
|
33677
|
-
const actualStyle =
|
|
33675
|
+
const actualStyle = useMemo57(() => {
|
|
33678
33676
|
return {
|
|
33679
33677
|
...rateDiv,
|
|
33680
33678
|
backgroundColor: hovered || isFocused ? "#eee" : "transparent"
|
|
@@ -33741,7 +33739,7 @@ var PlaybackPopup = ({ setIsComponentVisible, playbackRates, canvasSize }) => {
|
|
|
33741
33739
|
setPlaybackRate(rate);
|
|
33742
33740
|
setIsComponentVisible(false);
|
|
33743
33741
|
}, [setIsComponentVisible, setPlaybackRate]);
|
|
33744
|
-
const playbackPopup =
|
|
33742
|
+
const playbackPopup = useMemo57(() => {
|
|
33745
33743
|
return {
|
|
33746
33744
|
position: "absolute",
|
|
33747
33745
|
right: 0,
|
|
@@ -35239,7 +35237,6 @@ var PlayerFn = ({
|
|
|
35239
35237
|
[PLAYER_COMP_ID]: initialFrame ?? 0
|
|
35240
35238
|
}));
|
|
35241
35239
|
const [playing, setPlaying] = useState132(false);
|
|
35242
|
-
const [rootId] = useState132("player-comp");
|
|
35243
35240
|
const rootRef = useRef122(null);
|
|
35244
35241
|
const audioAndVideoTags = useRef122([]);
|
|
35245
35242
|
const imperativePlaying = useRef122(false);
|
|
@@ -35316,11 +35313,10 @@ var PlayerFn = ({
|
|
|
35316
35313
|
return {
|
|
35317
35314
|
frame,
|
|
35318
35315
|
playing,
|
|
35319
|
-
rootId,
|
|
35320
35316
|
imperativePlaying,
|
|
35321
35317
|
audioAndVideoTags
|
|
35322
35318
|
};
|
|
35323
|
-
}, [frame, playing
|
|
35319
|
+
}, [frame, playing]);
|
|
35324
35320
|
const playbackRateContextValue = useMemo142(() => {
|
|
35325
35321
|
return {
|
|
35326
35322
|
playbackRate: currentPlaybackRate,
|
|
@@ -35568,7 +35564,6 @@ var ThumbnailFn = ({
|
|
|
35568
35564
|
window.remotion_isPlayer = true;
|
|
35569
35565
|
}, []);
|
|
35570
35566
|
}
|
|
35571
|
-
const [thumbnailId] = useState142(() => String(random(null)));
|
|
35572
35567
|
const rootRef = useRef142(null);
|
|
35573
35568
|
const timelineState = useMemo172(() => {
|
|
35574
35569
|
const value = {
|
|
@@ -35576,14 +35571,13 @@ var ThumbnailFn = ({
|
|
|
35576
35571
|
frame: {
|
|
35577
35572
|
[PLAYER_COMP_ID]: frameToDisplay
|
|
35578
35573
|
},
|
|
35579
|
-
rootId: thumbnailId,
|
|
35580
35574
|
imperativePlaying: {
|
|
35581
35575
|
current: false
|
|
35582
35576
|
},
|
|
35583
35577
|
audioAndVideoTags: { current: [] }
|
|
35584
35578
|
};
|
|
35585
35579
|
return value;
|
|
35586
|
-
}, [frameToDisplay
|
|
35580
|
+
}, [frameToDisplay]);
|
|
35587
35581
|
const playbackRateContext = useMemo172(() => {
|
|
35588
35582
|
return {
|
|
35589
35583
|
playbackRate: 1,
|
|
@@ -35642,7 +35636,7 @@ var Thumbnail = forward2(ThumbnailFn);
|
|
|
35642
35636
|
import {
|
|
35643
35637
|
useCallback as useCallback55,
|
|
35644
35638
|
useEffect as useEffect57,
|
|
35645
|
-
useMemo as
|
|
35639
|
+
useMemo as useMemo70,
|
|
35646
35640
|
useRef as useRef59,
|
|
35647
35641
|
useState as useState56
|
|
35648
35642
|
} from "react";
|
|
@@ -36393,18 +36387,18 @@ var UNDERLAY_RED = curriedTransparentize$1(0.9, RED);
|
|
|
36393
36387
|
var BLUE_TEXT = curriedDarken$1(0.3, "#42e9f5");
|
|
36394
36388
|
|
|
36395
36389
|
// src/components/homepage/layout/use-color-mode.tsx
|
|
36396
|
-
import React58, { useContext as useContext48, useMemo as
|
|
36397
|
-
import { jsx as
|
|
36390
|
+
import React58, { useContext as useContext48, useMemo as useMemo58 } from "react";
|
|
36391
|
+
import { jsx as jsx59 } from "react/jsx-runtime";
|
|
36398
36392
|
var Context = React58.createContext(undefined);
|
|
36399
36393
|
var ColorModeProvider = ({
|
|
36400
36394
|
children,
|
|
36401
36395
|
colorMode,
|
|
36402
36396
|
setColorMode
|
|
36403
36397
|
}) => {
|
|
36404
|
-
const value =
|
|
36398
|
+
const value = useMemo58(() => {
|
|
36405
36399
|
return { colorMode, setColorMode };
|
|
36406
36400
|
}, [colorMode, setColorMode]);
|
|
36407
|
-
return /* @__PURE__ */
|
|
36401
|
+
return /* @__PURE__ */ jsx59(Context.Provider, {
|
|
36408
36402
|
value,
|
|
36409
36403
|
children
|
|
36410
36404
|
});
|
|
@@ -36419,7 +36413,7 @@ function useColorMode() {
|
|
|
36419
36413
|
|
|
36420
36414
|
// ../media/dist/esm/index.mjs
|
|
36421
36415
|
import { useMemo as useMemo312, useState as useState312 } from "react";
|
|
36422
|
-
import { useContext as useContext212, useEffect as useEffect43, useMemo as
|
|
36416
|
+
import { useContext as useContext212, useEffect as useEffect43, useMemo as useMemo60, useRef as useRef50, useState as useState41 } from "react";
|
|
36423
36417
|
import {
|
|
36424
36418
|
AudioBufferSink,
|
|
36425
36419
|
InputDisposedError
|
|
@@ -36427,7 +36421,7 @@ import {
|
|
|
36427
36421
|
import { ALL_FORMATS, Input as Input2, UrlSource } from "mediabunny";
|
|
36428
36422
|
import { CanvasSink } from "mediabunny";
|
|
36429
36423
|
import { useContext as useContext49, useLayoutEffect as useLayoutEffect19 } from "react";
|
|
36430
|
-
import { jsx as
|
|
36424
|
+
import { jsx as jsx60 } from "react/jsx-runtime";
|
|
36431
36425
|
import { useContext as useContext312, useLayoutEffect as useLayoutEffect24, useMemo as useMemo213, useState as useState210 } from "react";
|
|
36432
36426
|
import React211 from "react";
|
|
36433
36427
|
import {
|
|
@@ -36456,7 +36450,7 @@ import { jsx as jsx412 } from "react/jsx-runtime";
|
|
|
36456
36450
|
import {
|
|
36457
36451
|
useContext as useContext53,
|
|
36458
36452
|
useLayoutEffect as useLayoutEffect43,
|
|
36459
|
-
useMemo as
|
|
36453
|
+
useMemo as useMemo59,
|
|
36460
36454
|
useRef as useRef312,
|
|
36461
36455
|
useState as useState53
|
|
36462
36456
|
} from "react";
|
|
@@ -39049,7 +39043,7 @@ var AudioForPreviewAssertedShowing = ({
|
|
|
39049
39043
|
setMediaDurationInSeconds
|
|
39050
39044
|
]);
|
|
39051
39045
|
if (shouldFallbackToNativeAudio && !disallowFallbackToHtml5Audio) {
|
|
39052
|
-
return /* @__PURE__ */
|
|
39046
|
+
return /* @__PURE__ */ jsx60(Audio, {
|
|
39053
39047
|
src,
|
|
39054
39048
|
muted,
|
|
39055
39049
|
volume,
|
|
@@ -39099,7 +39093,7 @@ var AudioForPreview2 = ({
|
|
|
39099
39093
|
const frame = useCurrentFrame();
|
|
39100
39094
|
const videoConfig = useVideoConfig();
|
|
39101
39095
|
const currentTime = frame / videoConfig.fps;
|
|
39102
|
-
const showShow =
|
|
39096
|
+
const showShow = useMemo60(() => {
|
|
39103
39097
|
return getTimeInSeconds({
|
|
39104
39098
|
unloopedTimeInSeconds: currentTime,
|
|
39105
39099
|
playbackRate,
|
|
@@ -39126,7 +39120,7 @@ var AudioForPreview2 = ({
|
|
|
39126
39120
|
if (!setMediaDurationInSeconds) {
|
|
39127
39121
|
throw new Error("setMediaDurationInSeconds is required");
|
|
39128
39122
|
}
|
|
39129
|
-
return /* @__PURE__ */
|
|
39123
|
+
return /* @__PURE__ */ jsx60(AudioForPreviewAssertedShowing, {
|
|
39130
39124
|
audioStreamIndex,
|
|
39131
39125
|
src: preloadedSrc,
|
|
39132
39126
|
playbackRate,
|
|
@@ -41879,7 +41873,7 @@ var VideoForRendering2 = ({
|
|
|
41879
41873
|
const { registerRenderAsset, unregisterRenderAsset } = useContext53(Internals.RenderAssetManager);
|
|
41880
41874
|
const startsAt = Internals.useMediaStartsAt();
|
|
41881
41875
|
const sequenceContext = useContext53(Internals.SequenceContext);
|
|
41882
|
-
const id =
|
|
41876
|
+
const id = useMemo59(() => `media-video-${random(src)}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
|
|
41883
41877
|
src,
|
|
41884
41878
|
sequenceContext?.cumulatedFrom,
|
|
41885
41879
|
sequenceContext?.relativeFrom,
|
|
@@ -42098,10 +42092,10 @@ var VideoForRendering2 = ({
|
|
|
42098
42092
|
initialRequestInit
|
|
42099
42093
|
]);
|
|
42100
42094
|
warnAboutObjectFitInStyleOrClassName({ style: style2, className: className2, logLevel });
|
|
42101
|
-
const classNameValue =
|
|
42095
|
+
const classNameValue = useMemo59(() => {
|
|
42102
42096
|
return [Internals.OBJECTFIT_CONTAIN_CLASS_NAME, className2].filter(Internals.truthy).join(" ");
|
|
42103
42097
|
}, [className2]);
|
|
42104
|
-
const styleWithObjectFit =
|
|
42098
|
+
const styleWithObjectFit = useMemo59(() => {
|
|
42105
42099
|
return {
|
|
42106
42100
|
...style2,
|
|
42107
42101
|
objectFit: objectFitProp
|
|
@@ -42171,7 +42165,12 @@ var VideoForRendering2 = ({
|
|
|
42171
42165
|
className: classNameValue
|
|
42172
42166
|
});
|
|
42173
42167
|
};
|
|
42174
|
-
var {
|
|
42168
|
+
var {
|
|
42169
|
+
validateMediaTrimProps: validateMediaTrimProps2,
|
|
42170
|
+
resolveTrimProps: resolveTrimProps2,
|
|
42171
|
+
validateMediaProps: validateMediaProps22,
|
|
42172
|
+
useCropStyle: useCropStyle2
|
|
42173
|
+
} = Internals;
|
|
42175
42174
|
var videoSchema = {
|
|
42176
42175
|
src: {
|
|
42177
42176
|
type: "asset",
|
|
@@ -42203,7 +42202,8 @@ var videoSchema = {
|
|
|
42203
42202
|
loop: { type: "boolean", default: false, description: "Loop" },
|
|
42204
42203
|
...Internals.transformSchema,
|
|
42205
42204
|
...Interactive.backgroundSchema,
|
|
42206
|
-
...Interactive.borderSchema
|
|
42205
|
+
...Interactive.borderSchema,
|
|
42206
|
+
...Interactive.cropSchema
|
|
42207
42207
|
};
|
|
42208
42208
|
var InnerVideo = ({
|
|
42209
42209
|
src,
|
|
@@ -42357,6 +42357,10 @@ var VideoInner = ({
|
|
|
42357
42357
|
postmountFor,
|
|
42358
42358
|
styleWhilePremounted,
|
|
42359
42359
|
styleWhilePostmounted,
|
|
42360
|
+
cropLeft,
|
|
42361
|
+
cropRight,
|
|
42362
|
+
cropTop,
|
|
42363
|
+
cropBottom,
|
|
42360
42364
|
...props
|
|
42361
42365
|
}) => {
|
|
42362
42366
|
const fallbackLogLevel = Internals.useLogLevel();
|
|
@@ -42430,6 +42434,14 @@ var VideoInner = ({
|
|
|
42430
42434
|
styleWhilePostmounted: styleWhilePostmounted ?? null,
|
|
42431
42435
|
hideWhilePremounted: "display-none"
|
|
42432
42436
|
});
|
|
42437
|
+
const croppedStyle = useCropStyle2({
|
|
42438
|
+
cropLeft,
|
|
42439
|
+
cropRight,
|
|
42440
|
+
cropTop,
|
|
42441
|
+
cropBottom,
|
|
42442
|
+
style: premountingStyle,
|
|
42443
|
+
componentName: "<Video />"
|
|
42444
|
+
});
|
|
42433
42445
|
if (sequenceDurationInFrames === 0) {
|
|
42434
42446
|
return null;
|
|
42435
42447
|
}
|
|
@@ -42471,7 +42483,7 @@ var VideoInner = ({
|
|
|
42471
42483
|
playbackRate: playbackRate ?? 1,
|
|
42472
42484
|
showInTimeline: showInTimeline ?? true,
|
|
42473
42485
|
src,
|
|
42474
|
-
style:
|
|
42486
|
+
style: croppedStyle ?? {},
|
|
42475
42487
|
trimAfter,
|
|
42476
42488
|
trimBefore,
|
|
42477
42489
|
volume: volume ?? 1,
|
|
@@ -42501,7 +42513,7 @@ var Video = Interactive.withSchema({
|
|
|
42501
42513
|
});
|
|
42502
42514
|
|
|
42503
42515
|
// src/components/homepage/Demo/Comp.tsx
|
|
42504
|
-
import { useCallback as useCallback47, useEffect as useEffect49, useMemo as
|
|
42516
|
+
import { useCallback as useCallback47, useEffect as useEffect49, useMemo as useMemo66, useState as useState48 } from "react";
|
|
42505
42517
|
|
|
42506
42518
|
// src/components/homepage/Demo/Cards.tsx
|
|
42507
42519
|
import {
|
|
@@ -42548,14 +42560,14 @@ var getIndexFromPosition = (clientX, clientY) => {
|
|
|
42548
42560
|
|
|
42549
42561
|
// src/components/homepage/Demo/Switcher.tsx
|
|
42550
42562
|
import { useCallback as useCallback41 } from "react";
|
|
42551
|
-
import { jsx as
|
|
42563
|
+
import { jsx as jsx61, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
42552
42564
|
var Switcher = ({ type, theme, onTap }) => {
|
|
42553
42565
|
const onPointerDown = useCallback41((e) => {
|
|
42554
42566
|
e.stopPropagation();
|
|
42555
42567
|
onTap();
|
|
42556
42568
|
}, [onTap]);
|
|
42557
42569
|
const switcherSize = 40;
|
|
42558
|
-
return /* @__PURE__ */
|
|
42570
|
+
return /* @__PURE__ */ jsx61("div", {
|
|
42559
42571
|
onPointerDown,
|
|
42560
42572
|
style: {
|
|
42561
42573
|
height: switcherSize,
|
|
@@ -42573,15 +42585,15 @@ var Switcher = ({ type, theme, onTap }) => {
|
|
|
42573
42585
|
alignItems: "center",
|
|
42574
42586
|
display: "flex"
|
|
42575
42587
|
},
|
|
42576
|
-
children: /* @__PURE__ */
|
|
42588
|
+
children: /* @__PURE__ */ jsxs16("svg", {
|
|
42577
42589
|
style: { height: switcherSize / 2 },
|
|
42578
42590
|
viewBox: "0 0 320 512",
|
|
42579
42591
|
children: [
|
|
42580
|
-
type === "left" ? /* @__PURE__ */
|
|
42592
|
+
type === "left" ? /* @__PURE__ */ jsx61("path", {
|
|
42581
42593
|
fill: "currentcolor",
|
|
42582
42594
|
d: "M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"
|
|
42583
42595
|
}) : null,
|
|
42584
|
-
type === "right" ? /* @__PURE__ */
|
|
42596
|
+
type === "right" ? /* @__PURE__ */ jsx61("path", {
|
|
42585
42597
|
fill: "currentcolor",
|
|
42586
42598
|
d: "M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"
|
|
42587
42599
|
}) : null
|
|
@@ -42591,7 +42603,7 @@ var Switcher = ({ type, theme, onTap }) => {
|
|
|
42591
42603
|
};
|
|
42592
42604
|
|
|
42593
42605
|
// src/components/homepage/Demo/Card.tsx
|
|
42594
|
-
import { jsx as
|
|
42606
|
+
import { jsx as jsx66, jsxs as jsxs17, Fragment as Fragment13 } from "react/jsx-runtime";
|
|
42595
42607
|
var arePositionsEqual = (a2, b2) => {
|
|
42596
42608
|
return a2.every((pos, i) => {
|
|
42597
42609
|
return pos.x === b2[i].x && pos.y === b2[i].y;
|
|
@@ -42752,7 +42764,7 @@ var Card2 = ({
|
|
|
42752
42764
|
}, []);
|
|
42753
42765
|
const { x, y } = getPositionForIndex(index2);
|
|
42754
42766
|
const color = theme === "light" ? " #EAEAEA" : "#333";
|
|
42755
|
-
return /* @__PURE__ */
|
|
42767
|
+
return /* @__PURE__ */ jsx66("div", {
|
|
42756
42768
|
ref: refToUse,
|
|
42757
42769
|
className: "transition-opacity duration-200",
|
|
42758
42770
|
onPointerDown,
|
|
@@ -42768,7 +42780,7 @@ var Card2 = ({
|
|
|
42768
42780
|
borderRadius: 13,
|
|
42769
42781
|
cursor: "grab"
|
|
42770
42782
|
},
|
|
42771
|
-
children: /* @__PURE__ */
|
|
42783
|
+
children: /* @__PURE__ */ jsxs17(AbsoluteFill, {
|
|
42772
42784
|
style: {
|
|
42773
42785
|
backgroundColor: color,
|
|
42774
42786
|
borderRadius: 12
|
|
@@ -42776,14 +42788,14 @@ var Card2 = ({
|
|
|
42776
42788
|
className: "transition-opacity duration-200",
|
|
42777
42789
|
children: [
|
|
42778
42790
|
content,
|
|
42779
|
-
withSwitcher ? /* @__PURE__ */
|
|
42791
|
+
withSwitcher ? /* @__PURE__ */ jsxs17(Fragment13, {
|
|
42780
42792
|
children: [
|
|
42781
|
-
/* @__PURE__ */
|
|
42793
|
+
/* @__PURE__ */ jsx66(Switcher, {
|
|
42782
42794
|
onTap: onClickLeft,
|
|
42783
42795
|
type: "left",
|
|
42784
42796
|
theme
|
|
42785
42797
|
}),
|
|
42786
|
-
/* @__PURE__ */
|
|
42798
|
+
/* @__PURE__ */ jsx66(Switcher, {
|
|
42787
42799
|
onTap: onClickRight,
|
|
42788
42800
|
type: "right",
|
|
42789
42801
|
theme
|
|
@@ -42796,7 +42808,7 @@ var Card2 = ({
|
|
|
42796
42808
|
};
|
|
42797
42809
|
|
|
42798
42810
|
// src/components/homepage/Demo/CurrentCountry.tsx
|
|
42799
|
-
import { jsx as
|
|
42811
|
+
import { jsx as jsx68, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
42800
42812
|
var CurrentCountry = ({ theme, countryPaths, countryLabel }) => {
|
|
42801
42813
|
const { fps } = useVideoConfig();
|
|
42802
42814
|
const frame = useCurrentFrame();
|
|
@@ -42811,31 +42823,31 @@ var CurrentCountry = ({ theme, countryPaths, countryLabel }) => {
|
|
|
42811
42823
|
frame,
|
|
42812
42824
|
delay: 10
|
|
42813
42825
|
});
|
|
42814
|
-
return /* @__PURE__ */
|
|
42826
|
+
return /* @__PURE__ */ jsxs18(AbsoluteFill, {
|
|
42815
42827
|
style: { overflow: "hidden" },
|
|
42816
42828
|
children: [
|
|
42817
|
-
/* @__PURE__ */
|
|
42829
|
+
/* @__PURE__ */ jsx68(AbsoluteFill, {
|
|
42818
42830
|
style: {
|
|
42819
42831
|
transform: `scale(${progress})`
|
|
42820
42832
|
},
|
|
42821
|
-
children: /* @__PURE__ */
|
|
42833
|
+
children: /* @__PURE__ */ jsx68("svg", {
|
|
42822
42834
|
viewBox: boundingBox.viewBox,
|
|
42823
42835
|
style: {
|
|
42824
42836
|
scale: "0.8"
|
|
42825
42837
|
},
|
|
42826
|
-
children: /* @__PURE__ */
|
|
42838
|
+
children: /* @__PURE__ */ jsx68("path", {
|
|
42827
42839
|
fill: theme === "light" ? "#bbb" : "#222",
|
|
42828
42840
|
d: reset
|
|
42829
42841
|
})
|
|
42830
42842
|
})
|
|
42831
42843
|
}),
|
|
42832
|
-
/* @__PURE__ */
|
|
42844
|
+
/* @__PURE__ */ jsxs18(AbsoluteFill, {
|
|
42833
42845
|
style: {
|
|
42834
42846
|
alignItems: "center",
|
|
42835
42847
|
justifyContent: "center"
|
|
42836
42848
|
},
|
|
42837
42849
|
children: [
|
|
42838
|
-
/* @__PURE__ */
|
|
42850
|
+
/* @__PURE__ */ jsx68("div", {
|
|
42839
42851
|
style: {
|
|
42840
42852
|
color: "#0b84f3",
|
|
42841
42853
|
fontFamily: "GTPlanar",
|
|
@@ -42850,7 +42862,7 @@ var CurrentCountry = ({ theme, countryPaths, countryLabel }) => {
|
|
|
42850
42862
|
},
|
|
42851
42863
|
children: "Your country"
|
|
42852
42864
|
}),
|
|
42853
|
-
/* @__PURE__ */
|
|
42865
|
+
/* @__PURE__ */ jsx68("div", {
|
|
42854
42866
|
style: {
|
|
42855
42867
|
lineHeight: 1.1,
|
|
42856
42868
|
fontFamily: "GTPlanar",
|
|
@@ -42883,7 +42895,7 @@ import {
|
|
|
42883
42895
|
// ../lottie/dist/esm/index.mjs
|
|
42884
42896
|
import lottie from "lottie-web";
|
|
42885
42897
|
import { useEffect as useEffect45, useRef as useRef53, useState as useState44 } from "react";
|
|
42886
|
-
import { jsx as
|
|
42898
|
+
import { jsx as jsx69 } from "react/jsx-runtime";
|
|
42887
42899
|
var getLottieMetadata = (animationData) => {
|
|
42888
42900
|
const width2 = animationData.w;
|
|
42889
42901
|
const height2 = animationData.h;
|
|
@@ -43045,7 +43057,7 @@ var Lottie = ({
|
|
|
43045
43057
|
img.setAttributeNS("http://www.w3.org/1999/xlink", "xlink:href", img.href.baseVal);
|
|
43046
43058
|
});
|
|
43047
43059
|
}, [direction, frame, loop, playbackRate, delayRender, continueRender]);
|
|
43048
|
-
return /* @__PURE__ */
|
|
43060
|
+
return /* @__PURE__ */ jsx69("div", {
|
|
43049
43061
|
ref: containerRef,
|
|
43050
43062
|
className: className2,
|
|
43051
43063
|
style: style2
|
|
@@ -43053,15 +43065,15 @@ var Lottie = ({
|
|
|
43053
43065
|
};
|
|
43054
43066
|
|
|
43055
43067
|
// src/components/homepage/Demo/DisplayedEmoji.tsx
|
|
43056
|
-
import { useEffect as useEffect46, useMemo as
|
|
43057
|
-
import { jsx as
|
|
43068
|
+
import { useEffect as useEffect46, useMemo as useMemo61, useState as useState46 } from "react";
|
|
43069
|
+
import { jsx as jsx70 } from "react/jsx-runtime";
|
|
43058
43070
|
var DisplayedEmoji = ({ emoji }) => {
|
|
43059
43071
|
const [data, setData] = useState46(null);
|
|
43060
43072
|
const { durationInFrames, fps } = useVideoConfig();
|
|
43061
43073
|
const [browser, setBrowser] = useState46(typeof document !== "undefined");
|
|
43062
43074
|
const { delayRender, continueRender, cancelRender: cancelRender2 } = useDelayRender();
|
|
43063
43075
|
const { isRendering } = useRemotionEnvironment();
|
|
43064
|
-
const src =
|
|
43076
|
+
const src = useMemo61(() => {
|
|
43065
43077
|
if (emoji === "melting") {
|
|
43066
43078
|
return "https://fonts.gstatic.com/s/e/notoemoji/latest/1fae0/lottie.json";
|
|
43067
43079
|
}
|
|
@@ -43104,7 +43116,7 @@ var DisplayedEmoji = ({ emoji }) => {
|
|
|
43104
43116
|
const ratio = durationInFrames / fps / animDurtion;
|
|
43105
43117
|
const closestInteger = ratio;
|
|
43106
43118
|
const closestRatio = closestInteger / ratio;
|
|
43107
|
-
return /* @__PURE__ */
|
|
43119
|
+
return /* @__PURE__ */ jsx70(Lottie, {
|
|
43108
43120
|
style: {
|
|
43109
43121
|
height: 100,
|
|
43110
43122
|
width: "100%",
|
|
@@ -43118,7 +43130,7 @@ var DisplayedEmoji = ({ emoji }) => {
|
|
|
43118
43130
|
};
|
|
43119
43131
|
|
|
43120
43132
|
// src/components/homepage/Demo/EmojiCard.tsx
|
|
43121
|
-
import { jsx as
|
|
43133
|
+
import { jsx as jsx71, jsxs as jsxs19, Fragment as Fragment14 } from "react/jsx-runtime";
|
|
43122
43134
|
var applyTransforms = ({ ref1, ref2, ref3, transforms }) => {
|
|
43123
43135
|
ref1.style.transform = `translateX(${transforms[0]}%)`;
|
|
43124
43136
|
ref2.style.transform = `translateX(${transforms[1]}%)`;
|
|
@@ -43214,14 +43226,14 @@ var EmojiCardRefFn = ({ emojiIndex }, ref) => {
|
|
|
43214
43226
|
});
|
|
43215
43227
|
}, []);
|
|
43216
43228
|
const env = useRemotionEnvironment();
|
|
43217
|
-
return /* @__PURE__ */
|
|
43229
|
+
return /* @__PURE__ */ jsxs19(AbsoluteFill, {
|
|
43218
43230
|
style: {
|
|
43219
43231
|
justifyContent: "center",
|
|
43220
43232
|
alignItems: "center",
|
|
43221
43233
|
overflow: "hidden"
|
|
43222
43234
|
},
|
|
43223
43235
|
children: [
|
|
43224
|
-
/* @__PURE__ */
|
|
43236
|
+
/* @__PURE__ */ jsx71("div", {
|
|
43225
43237
|
style: {
|
|
43226
43238
|
color: "#0b84f3",
|
|
43227
43239
|
fontFamily: "GTPlanar",
|
|
@@ -43233,7 +43245,7 @@ var EmojiCardRefFn = ({ emojiIndex }, ref) => {
|
|
|
43233
43245
|
},
|
|
43234
43246
|
children: "Choose an emoji"
|
|
43235
43247
|
}),
|
|
43236
|
-
/* @__PURE__ */
|
|
43248
|
+
/* @__PURE__ */ jsx71("div", {
|
|
43237
43249
|
style: {
|
|
43238
43250
|
position: "absolute",
|
|
43239
43251
|
width: "100%",
|
|
@@ -43241,31 +43253,31 @@ var EmojiCardRefFn = ({ emojiIndex }, ref) => {
|
|
|
43241
43253
|
whiteSpace: "nowrap",
|
|
43242
43254
|
height: "100%"
|
|
43243
43255
|
},
|
|
43244
|
-
children: env.isRendering ? /* @__PURE__ */
|
|
43256
|
+
children: env.isRendering ? /* @__PURE__ */ jsx71("div", {
|
|
43245
43257
|
style: emojiStyle,
|
|
43246
|
-
children: /* @__PURE__ */
|
|
43258
|
+
children: /* @__PURE__ */ jsx71(DisplayedEmoji, {
|
|
43247
43259
|
emoji: emojiIndex
|
|
43248
43260
|
})
|
|
43249
|
-
}) : /* @__PURE__ */
|
|
43261
|
+
}) : /* @__PURE__ */ jsxs19(Fragment14, {
|
|
43250
43262
|
children: [
|
|
43251
|
-
/* @__PURE__ */
|
|
43263
|
+
/* @__PURE__ */ jsx71("div", {
|
|
43252
43264
|
ref: ref1,
|
|
43253
43265
|
style: emojiStyle,
|
|
43254
|
-
children: /* @__PURE__ */
|
|
43266
|
+
children: /* @__PURE__ */ jsx71(DisplayedEmoji, {
|
|
43255
43267
|
emoji: "melting"
|
|
43256
43268
|
})
|
|
43257
43269
|
}),
|
|
43258
|
-
/* @__PURE__ */
|
|
43270
|
+
/* @__PURE__ */ jsx71("div", {
|
|
43259
43271
|
ref: ref2,
|
|
43260
43272
|
style: emojiStyle,
|
|
43261
|
-
children: /* @__PURE__ */
|
|
43273
|
+
children: /* @__PURE__ */ jsx71(DisplayedEmoji, {
|
|
43262
43274
|
emoji: "partying-face"
|
|
43263
43275
|
})
|
|
43264
43276
|
}),
|
|
43265
|
-
/* @__PURE__ */
|
|
43277
|
+
/* @__PURE__ */ jsx71("div", {
|
|
43266
43278
|
ref: ref3,
|
|
43267
43279
|
style: emojiStyle,
|
|
43268
|
-
children: /* @__PURE__ */
|
|
43280
|
+
children: /* @__PURE__ */ jsx71(DisplayedEmoji, {
|
|
43269
43281
|
emoji: "fire"
|
|
43270
43282
|
})
|
|
43271
43283
|
})
|
|
@@ -43278,9 +43290,9 @@ var EmojiCardRefFn = ({ emojiIndex }, ref) => {
|
|
|
43278
43290
|
var EmojiCard = forwardRef38(EmojiCardRefFn);
|
|
43279
43291
|
|
|
43280
43292
|
// src/components/homepage/Demo/Minus.tsx
|
|
43281
|
-
import { jsx as
|
|
43293
|
+
import { jsx as jsx75 } from "react/jsx-runtime";
|
|
43282
43294
|
var Minus = ({ leftOffset, minusSignOpacity }) => {
|
|
43283
|
-
return /* @__PURE__ */
|
|
43295
|
+
return /* @__PURE__ */ jsx75("div", {
|
|
43284
43296
|
style: {
|
|
43285
43297
|
position: "relative",
|
|
43286
43298
|
marginLeft: -40 - leftOffset,
|
|
@@ -43294,7 +43306,7 @@ var Minus = ({ leftOffset, minusSignOpacity }) => {
|
|
|
43294
43306
|
};
|
|
43295
43307
|
|
|
43296
43308
|
// src/components/homepage/Demo/DigitWheel.tsx
|
|
43297
|
-
import { jsx as
|
|
43309
|
+
import { jsx as jsx77, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
43298
43310
|
var DURATION = 25;
|
|
43299
43311
|
var items = 10;
|
|
43300
43312
|
var NUM_WIDTH = 36;
|
|
@@ -43338,7 +43350,7 @@ var Wheel = ({ delay: delay2, digits, renderDigit, isLeadingDigit, isNegative })
|
|
|
43338
43350
|
const rotation = progresses.map((p, i) => {
|
|
43339
43351
|
return p * offsets[i];
|
|
43340
43352
|
}).reduce((a2, b2) => a2 + b2, 0) + rotations[0];
|
|
43341
|
-
return /* @__PURE__ */
|
|
43353
|
+
return /* @__PURE__ */ jsxs20("div", {
|
|
43342
43354
|
style: {
|
|
43343
43355
|
position: "relative",
|
|
43344
43356
|
width: NUM_WIDTH,
|
|
@@ -43347,11 +43359,11 @@ var Wheel = ({ delay: delay2, digits, renderDigit, isLeadingDigit, isNegative })
|
|
|
43347
43359
|
marginLeft: shiftLeft
|
|
43348
43360
|
},
|
|
43349
43361
|
children: [
|
|
43350
|
-
isLeadingDigit ? /* @__PURE__ */
|
|
43362
|
+
isLeadingDigit ? /* @__PURE__ */ jsx77(Minus, {
|
|
43351
43363
|
minusSignOpacity,
|
|
43352
43364
|
leftOffset: shiftLeft + minusSignMarginLeft
|
|
43353
43365
|
}) : null,
|
|
43354
|
-
/* @__PURE__ */
|
|
43366
|
+
/* @__PURE__ */ jsx77(AbsoluteFill, {
|
|
43355
43367
|
style: {
|
|
43356
43368
|
perspective: 5000,
|
|
43357
43369
|
maskImage: `linear-gradient(to bottom, transparent 0%, #000 28%, #000 80%, transparent 100%)`,
|
|
@@ -43362,7 +43374,7 @@ var Wheel = ({ delay: delay2, digits, renderDigit, isLeadingDigit, isNegative })
|
|
|
43362
43374
|
const z = Math.cos(index2 * -Math.PI * 2) * 120;
|
|
43363
43375
|
const y = Math.sin(index2 * Math.PI * 2) * -120;
|
|
43364
43376
|
const r2 = interpolate(index2, [0, 1], [0, Math.PI * 2]);
|
|
43365
|
-
return /* @__PURE__ */
|
|
43377
|
+
return /* @__PURE__ */ jsx77(AbsoluteFill, {
|
|
43366
43378
|
style: {
|
|
43367
43379
|
justifyContent: "center",
|
|
43368
43380
|
alignItems: "center",
|
|
@@ -43372,7 +43384,7 @@ var Wheel = ({ delay: delay2, digits, renderDigit, isLeadingDigit, isNegative })
|
|
|
43372
43384
|
backfaceVisibility: "hidden",
|
|
43373
43385
|
perspective: 1000
|
|
43374
43386
|
},
|
|
43375
|
-
children: /* @__PURE__ */
|
|
43387
|
+
children: /* @__PURE__ */ jsx77("div", {
|
|
43376
43388
|
style: {
|
|
43377
43389
|
transform: `rotateX(-${r2}rad)`,
|
|
43378
43390
|
backfaceVisibility: "hidden",
|
|
@@ -43382,7 +43394,7 @@ var Wheel = ({ delay: delay2, digits, renderDigit, isLeadingDigit, isNegative })
|
|
|
43382
43394
|
justifyContent: "center",
|
|
43383
43395
|
opacity: opacity2
|
|
43384
43396
|
},
|
|
43385
|
-
children: /* @__PURE__ */
|
|
43397
|
+
children: /* @__PURE__ */ jsx77("div", {
|
|
43386
43398
|
style: {
|
|
43387
43399
|
lineHeight: 1,
|
|
43388
43400
|
display: "inline",
|
|
@@ -43399,14 +43411,14 @@ var Wheel = ({ delay: delay2, digits, renderDigit, isLeadingDigit, isNegative })
|
|
|
43399
43411
|
};
|
|
43400
43412
|
|
|
43401
43413
|
// src/components/homepage/Demo/TemperatureNumber.tsx
|
|
43402
|
-
import { jsx as
|
|
43414
|
+
import { jsx as jsx78, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
43403
43415
|
var TemperatureNumber = ({ theme, temperatureInCelsius }) => {
|
|
43404
43416
|
const temperatureInFahrenheit = temperatureInCelsius * 9 / 5 + 32;
|
|
43405
43417
|
const celsiusDegree = Math.abs(temperatureInCelsius);
|
|
43406
43418
|
const fahrenheitDegree = Math.abs(temperatureInFahrenheit);
|
|
43407
43419
|
const paddedCelsiusDegree = String(celsiusDegree).padStart(fahrenheitDegree.toFixed(0).length, "0").split("");
|
|
43408
43420
|
const paddedFahrenheitDegree = fahrenheitDegree.toFixed(0).padStart(paddedCelsiusDegree.length, "0").split("");
|
|
43409
|
-
return /* @__PURE__ */
|
|
43421
|
+
return /* @__PURE__ */ jsxs21("div", {
|
|
43410
43422
|
style: {
|
|
43411
43423
|
lineHeight: 1.1,
|
|
43412
43424
|
fontFamily: "GTPlanar",
|
|
@@ -43420,7 +43432,7 @@ var TemperatureNumber = ({ theme, temperatureInCelsius }) => {
|
|
|
43420
43432
|
alignItems: "center"
|
|
43421
43433
|
},
|
|
43422
43434
|
children: [
|
|
43423
|
-
paddedCelsiusDegree.map((digit, i) => /* @__PURE__ */
|
|
43435
|
+
paddedCelsiusDegree.map((digit, i) => /* @__PURE__ */ jsx78(Wheel, {
|
|
43424
43436
|
delay: i * 4,
|
|
43425
43437
|
renderDigit: (_i) => 9 - _i,
|
|
43426
43438
|
digits: [
|
|
@@ -43435,14 +43447,14 @@ var TemperatureNumber = ({ theme, temperatureInCelsius }) => {
|
|
|
43435
43447
|
],
|
|
43436
43448
|
isLeadingDigit: i === 0
|
|
43437
43449
|
}, i)),
|
|
43438
|
-
/* @__PURE__ */
|
|
43450
|
+
/* @__PURE__ */ jsx78("div", {
|
|
43439
43451
|
style: { width: 8 }
|
|
43440
43452
|
}),
|
|
43441
43453
|
"°",
|
|
43442
|
-
/* @__PURE__ */
|
|
43454
|
+
/* @__PURE__ */ jsx78(Wheel, {
|
|
43443
43455
|
delay: paddedCelsiusDegree.length * 4 - 2,
|
|
43444
43456
|
digits: [0, 1, 0],
|
|
43445
|
-
renderDigit: (_i) => _i % 2 === 0 ? "C" : /* @__PURE__ */
|
|
43457
|
+
renderDigit: (_i) => _i % 2 === 0 ? "C" : /* @__PURE__ */ jsx78("span", {
|
|
43446
43458
|
style: { marginLeft: -5 },
|
|
43447
43459
|
children: "F"
|
|
43448
43460
|
}),
|
|
@@ -43454,13 +43466,13 @@ var TemperatureNumber = ({ theme, temperatureInCelsius }) => {
|
|
|
43454
43466
|
};
|
|
43455
43467
|
|
|
43456
43468
|
// src/components/homepage/Demo/Temperature.tsx
|
|
43457
|
-
import { jsx as
|
|
43469
|
+
import { jsx as jsx79, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
43458
43470
|
var Temperature = ({ theme, city, temperatureInCelsius }) => {
|
|
43459
43471
|
if (temperatureInCelsius === null) {
|
|
43460
43472
|
return null;
|
|
43461
43473
|
}
|
|
43462
|
-
return /* @__PURE__ */
|
|
43463
|
-
children: /* @__PURE__ */
|
|
43474
|
+
return /* @__PURE__ */ jsx79(AbsoluteFill, {
|
|
43475
|
+
children: /* @__PURE__ */ jsxs25(AbsoluteFill, {
|
|
43464
43476
|
style: {
|
|
43465
43477
|
alignItems: "center",
|
|
43466
43478
|
justifyContent: "center",
|
|
@@ -43468,7 +43480,7 @@ var Temperature = ({ theme, city, temperatureInCelsius }) => {
|
|
|
43468
43480
|
paddingRight: 20
|
|
43469
43481
|
},
|
|
43470
43482
|
children: [
|
|
43471
|
-
/* @__PURE__ */
|
|
43483
|
+
/* @__PURE__ */ jsxs25("div", {
|
|
43472
43484
|
style: {
|
|
43473
43485
|
color: "#0b84f3",
|
|
43474
43486
|
fontFamily: "GTPlanar",
|
|
@@ -43482,7 +43494,7 @@ var Temperature = ({ theme, city, temperatureInCelsius }) => {
|
|
|
43482
43494
|
city
|
|
43483
43495
|
]
|
|
43484
43496
|
}),
|
|
43485
|
-
/* @__PURE__ */
|
|
43497
|
+
/* @__PURE__ */ jsx79(TemperatureNumber, {
|
|
43486
43498
|
theme,
|
|
43487
43499
|
temperatureInCelsius
|
|
43488
43500
|
})
|
|
@@ -43492,8 +43504,8 @@ var Temperature = ({ theme, city, temperatureInCelsius }) => {
|
|
|
43492
43504
|
};
|
|
43493
43505
|
|
|
43494
43506
|
// src/components/homepage/Demo/TrendingRepos.tsx
|
|
43495
|
-
import { useMemo as
|
|
43496
|
-
import { jsx as
|
|
43507
|
+
import { useMemo as useMemo64 } from "react";
|
|
43508
|
+
import { jsx as jsx80, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
43497
43509
|
var TrendingRepoItem = ({ repo, theme, number }) => {
|
|
43498
43510
|
const frame = useCurrentFrame();
|
|
43499
43511
|
const { fps } = useVideoConfig();
|
|
@@ -43505,7 +43517,7 @@ var TrendingRepoItem = ({ repo, theme, number }) => {
|
|
|
43505
43517
|
},
|
|
43506
43518
|
delay: number * 10 + 20
|
|
43507
43519
|
});
|
|
43508
|
-
const item =
|
|
43520
|
+
const item = useMemo64(() => {
|
|
43509
43521
|
return {
|
|
43510
43522
|
lineHeight: 1.1,
|
|
43511
43523
|
fontFamily: "GTPlanar",
|
|
@@ -43515,7 +43527,7 @@ var TrendingRepoItem = ({ repo, theme, number }) => {
|
|
|
43515
43527
|
opacity: progress
|
|
43516
43528
|
};
|
|
43517
43529
|
}, [progress, theme]);
|
|
43518
|
-
return /* @__PURE__ */
|
|
43530
|
+
return /* @__PURE__ */ jsxs27("div", {
|
|
43519
43531
|
style: item,
|
|
43520
43532
|
children: [
|
|
43521
43533
|
number,
|
|
@@ -43539,16 +43551,16 @@ var TrendingRepos = ({ theme, trending }) => {
|
|
|
43539
43551
|
if (trending === null) {
|
|
43540
43552
|
return null;
|
|
43541
43553
|
}
|
|
43542
|
-
return /* @__PURE__ */
|
|
43543
|
-
children: /* @__PURE__ */
|
|
43554
|
+
return /* @__PURE__ */ jsx80(AbsoluteFill, {
|
|
43555
|
+
children: /* @__PURE__ */ jsx80(AbsoluteFill, {
|
|
43544
43556
|
style: {
|
|
43545
43557
|
justifyContent: "center",
|
|
43546
43558
|
paddingLeft: 20,
|
|
43547
43559
|
paddingRight: 20
|
|
43548
43560
|
},
|
|
43549
|
-
children: /* @__PURE__ */
|
|
43561
|
+
children: /* @__PURE__ */ jsxs27("div", {
|
|
43550
43562
|
children: [
|
|
43551
|
-
/* @__PURE__ */
|
|
43563
|
+
/* @__PURE__ */ jsx80("div", {
|
|
43552
43564
|
style: {
|
|
43553
43565
|
color: fill,
|
|
43554
43566
|
fontFamily: "GTPlanar",
|
|
@@ -43562,7 +43574,7 @@ var TrendingRepos = ({ theme, trending }) => {
|
|
|
43562
43574
|
day: "numeric"
|
|
43563
43575
|
}).format(new Date(trending.date))
|
|
43564
43576
|
}),
|
|
43565
|
-
/* @__PURE__ */
|
|
43577
|
+
/* @__PURE__ */ jsx80("div", {
|
|
43566
43578
|
style: {
|
|
43567
43579
|
color: "#0b84f3",
|
|
43568
43580
|
fontFamily: "GTPlanar",
|
|
@@ -43574,17 +43586,17 @@ var TrendingRepos = ({ theme, trending }) => {
|
|
|
43574
43586
|
},
|
|
43575
43587
|
children: "Trending repositories"
|
|
43576
43588
|
}),
|
|
43577
|
-
/* @__PURE__ */
|
|
43589
|
+
/* @__PURE__ */ jsx80(TrendingRepoItem, {
|
|
43578
43590
|
number: 1,
|
|
43579
43591
|
repo: trending.repos[0],
|
|
43580
43592
|
theme
|
|
43581
43593
|
}),
|
|
43582
|
-
/* @__PURE__ */
|
|
43594
|
+
/* @__PURE__ */ jsx80(TrendingRepoItem, {
|
|
43583
43595
|
number: 2,
|
|
43584
43596
|
repo: trending.repos[1],
|
|
43585
43597
|
theme
|
|
43586
43598
|
}),
|
|
43587
|
-
/* @__PURE__ */
|
|
43599
|
+
/* @__PURE__ */ jsx80(TrendingRepoItem, {
|
|
43588
43600
|
number: 3,
|
|
43589
43601
|
repo: trending.repos[2],
|
|
43590
43602
|
theme
|
|
@@ -43596,7 +43608,7 @@ var TrendingRepos = ({ theme, trending }) => {
|
|
|
43596
43608
|
};
|
|
43597
43609
|
|
|
43598
43610
|
// src/components/homepage/Demo/Cards.tsx
|
|
43599
|
-
import { jsx as
|
|
43611
|
+
import { jsx as jsx81 } from "react/jsx-runtime";
|
|
43600
43612
|
var Cards = ({
|
|
43601
43613
|
onUpdate,
|
|
43602
43614
|
indices,
|
|
@@ -43642,26 +43654,26 @@ var Cards = ({
|
|
|
43642
43654
|
ref.current?.onLeft();
|
|
43643
43655
|
onLeftPress();
|
|
43644
43656
|
}, [onLeftPress]);
|
|
43645
|
-
return /* @__PURE__ */
|
|
43657
|
+
return /* @__PURE__ */ jsx81(AbsoluteFill, {
|
|
43646
43658
|
ref: container4,
|
|
43647
43659
|
children: new Array(4).fill(true).map((_, i) => {
|
|
43648
43660
|
const index2 = indices[i];
|
|
43649
|
-
const content = index2 === 0 ? /* @__PURE__ */
|
|
43661
|
+
const content = index2 === 0 ? /* @__PURE__ */ jsx81(TrendingRepos, {
|
|
43650
43662
|
trending,
|
|
43651
43663
|
theme
|
|
43652
|
-
}) : index2 === 1 ? /* @__PURE__ */
|
|
43664
|
+
}) : index2 === 1 ? /* @__PURE__ */ jsx81(Temperature, {
|
|
43653
43665
|
city: location?.city ? decodeURIComponent(location?.city) : null,
|
|
43654
43666
|
theme,
|
|
43655
43667
|
temperatureInCelsius: trending?.temperatureInCelsius ?? null
|
|
43656
|
-
}) : index2 === 2 ? /* @__PURE__ */
|
|
43668
|
+
}) : index2 === 2 ? /* @__PURE__ */ jsx81(CurrentCountry, {
|
|
43657
43669
|
countryPaths: trending?.countryPaths ?? null,
|
|
43658
43670
|
countryLabel: trending?.countryLabel ?? null,
|
|
43659
43671
|
theme
|
|
43660
|
-
}) : /* @__PURE__ */
|
|
43672
|
+
}) : /* @__PURE__ */ jsx81(EmojiCard, {
|
|
43661
43673
|
ref,
|
|
43662
43674
|
emojiIndex: emojiName
|
|
43663
43675
|
});
|
|
43664
|
-
return /* @__PURE__ */
|
|
43676
|
+
return /* @__PURE__ */ jsx81(Card2, {
|
|
43665
43677
|
onUpdate,
|
|
43666
43678
|
refsToUse: refs,
|
|
43667
43679
|
index: i,
|
|
@@ -43679,7 +43691,7 @@ var Cards = ({
|
|
|
43679
43691
|
};
|
|
43680
43692
|
|
|
43681
43693
|
// src/components/homepage/Demo/Comp.tsx
|
|
43682
|
-
import { jsx as
|
|
43694
|
+
import { jsx as jsx85, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
43683
43695
|
var getDataAndProps = async () => {
|
|
43684
43696
|
const location = await fetch("https://utils.remotion.dev/location").then((res) => res.json());
|
|
43685
43697
|
const trending = await fetch(`https://bugs.remotion.dev/trending?lat=${location.latitude}&lng=${location.longitude}&country=${location.country}`).then((res) => res.json()).then((data) => {
|
|
@@ -43712,7 +43724,7 @@ var HomepageVideoComp = ({
|
|
|
43712
43724
|
setRerenders(rerenders + 1);
|
|
43713
43725
|
updateCardOrder(newIndices);
|
|
43714
43726
|
}, [rerenders, updateCardOrder]);
|
|
43715
|
-
const emoji =
|
|
43727
|
+
const emoji = useMemo66(() => {
|
|
43716
43728
|
if ((emojiIndex + 1e4 * 3) % 3 === 1) {
|
|
43717
43729
|
return "melting";
|
|
43718
43730
|
}
|
|
@@ -43721,7 +43733,7 @@ var HomepageVideoComp = ({
|
|
|
43721
43733
|
}
|
|
43722
43734
|
return "partying-face";
|
|
43723
43735
|
}, [emojiIndex]);
|
|
43724
|
-
const audioSrc =
|
|
43736
|
+
const audioSrc = useMemo66(() => {
|
|
43725
43737
|
if (emoji === "fire") {
|
|
43726
43738
|
return fireAudio;
|
|
43727
43739
|
}
|
|
@@ -43740,12 +43752,12 @@ var HomepageVideoComp = ({
|
|
|
43740
43752
|
c2.free();
|
|
43741
43753
|
};
|
|
43742
43754
|
}, []);
|
|
43743
|
-
return /* @__PURE__ */
|
|
43755
|
+
return /* @__PURE__ */ jsxs28(AbsoluteFill, {
|
|
43744
43756
|
style: {
|
|
43745
43757
|
backgroundColor: theme === "dark" ? "#222" : "#fafafa"
|
|
43746
43758
|
},
|
|
43747
43759
|
children: [
|
|
43748
|
-
/* @__PURE__ */
|
|
43760
|
+
/* @__PURE__ */ jsx85(Cards, {
|
|
43749
43761
|
onUpdate,
|
|
43750
43762
|
indices: cardOrder,
|
|
43751
43763
|
theme,
|
|
@@ -43756,7 +43768,7 @@ var HomepageVideoComp = ({
|
|
|
43756
43768
|
onRight: onClickRight,
|
|
43757
43769
|
emojiName: emoji
|
|
43758
43770
|
}, rerenders),
|
|
43759
|
-
audioSrc ? /* @__PURE__ */
|
|
43771
|
+
audioSrc ? /* @__PURE__ */ jsx85(Audio2, {
|
|
43760
43772
|
src: audioSrc
|
|
43761
43773
|
}) : null
|
|
43762
43774
|
]
|
|
@@ -43764,9 +43776,9 @@ var HomepageVideoComp = ({
|
|
|
43764
43776
|
};
|
|
43765
43777
|
|
|
43766
43778
|
// src/components/homepage/Demo/DemoError.tsx
|
|
43767
|
-
import { jsx as
|
|
43779
|
+
import { jsx as jsx87 } from "react/jsx-runtime";
|
|
43768
43780
|
var DemoError = () => {
|
|
43769
|
-
return /* @__PURE__ */
|
|
43781
|
+
return /* @__PURE__ */ jsx87("div", {
|
|
43770
43782
|
style: {
|
|
43771
43783
|
color: RED,
|
|
43772
43784
|
fontFamily: FONTS.GTPLANAR,
|
|
@@ -43806,7 +43818,7 @@ import {
|
|
|
43806
43818
|
import { BufferTarget, StreamTarget } from "mediabunny";
|
|
43807
43819
|
|
|
43808
43820
|
// ../core/dist/esm/version.mjs
|
|
43809
|
-
var VERSION2 = "4.0.
|
|
43821
|
+
var VERSION2 = "4.0.500";
|
|
43810
43822
|
|
|
43811
43823
|
// ../web-renderer/dist/esm/index.mjs
|
|
43812
43824
|
import { AudioSample, VideoSample } from "mediabunny";
|
|
@@ -43816,7 +43828,7 @@ import { flushSync as flushSync22 } from "react-dom";
|
|
|
43816
43828
|
import ReactDOM6 from "react-dom/client";
|
|
43817
43829
|
import { useImperativeHandle as useImperativeHandle14, useState as useState49 } from "react";
|
|
43818
43830
|
import { flushSync as flushSync3 } from "react-dom";
|
|
43819
|
-
import { jsx as
|
|
43831
|
+
import { jsx as jsx88 } from "react/jsx-runtime";
|
|
43820
43832
|
import { jsx as jsx217 } from "react/jsx-runtime";
|
|
43821
43833
|
import { Output, VideoSampleSource } from "mediabunny";
|
|
43822
43834
|
var __dispose2 = Symbol.dispose || /* @__PURE__ */ Symbol.for("Symbol.dispose");
|
|
@@ -44592,7 +44604,7 @@ var UpdateTime = ({
|
|
|
44592
44604
|
});
|
|
44593
44605
|
}
|
|
44594
44606
|
}));
|
|
44595
|
-
return /* @__PURE__ */
|
|
44607
|
+
return /* @__PURE__ */ jsx88(Internals.RemotionRootContexts, {
|
|
44596
44608
|
audioEnabled,
|
|
44597
44609
|
videoEnabled,
|
|
44598
44610
|
logLevel,
|
|
@@ -46430,12 +46442,106 @@ function setClipPath({
|
|
|
46430
46442
|
ctx.restore();
|
|
46431
46443
|
};
|
|
46432
46444
|
}
|
|
46445
|
+
var firstLayer = (value) => value.split(",")[0].trim();
|
|
46446
|
+
var parseLengthPercentage = (value) => {
|
|
46447
|
+
const match = value.match(/^(-?(?:\d+\.?\d*|\.\d+))(%|px)$/);
|
|
46448
|
+
if (match) {
|
|
46449
|
+
return {
|
|
46450
|
+
unit: match[2],
|
|
46451
|
+
value: Number(match[1])
|
|
46452
|
+
};
|
|
46453
|
+
}
|
|
46454
|
+
if (value === "0") {
|
|
46455
|
+
return { unit: "px", value: 0 };
|
|
46456
|
+
}
|
|
46457
|
+
return null;
|
|
46458
|
+
};
|
|
46459
|
+
var resolveSize = ({
|
|
46460
|
+
containerSize,
|
|
46461
|
+
value
|
|
46462
|
+
}) => {
|
|
46463
|
+
if (value === undefined || value === "auto") {
|
|
46464
|
+
return containerSize;
|
|
46465
|
+
}
|
|
46466
|
+
const parsed = parseLengthPercentage(value);
|
|
46467
|
+
if (!parsed) {
|
|
46468
|
+
return containerSize;
|
|
46469
|
+
}
|
|
46470
|
+
return parsed.unit === "%" ? containerSize * (parsed.value / 100) : parsed.value;
|
|
46471
|
+
};
|
|
46472
|
+
var positionKeywordToPercentage = (value) => {
|
|
46473
|
+
if (value === "left" || value === "top") {
|
|
46474
|
+
return 0;
|
|
46475
|
+
}
|
|
46476
|
+
if (value === "center") {
|
|
46477
|
+
return 50;
|
|
46478
|
+
}
|
|
46479
|
+
if (value === "right" || value === "bottom") {
|
|
46480
|
+
return 100;
|
|
46481
|
+
}
|
|
46482
|
+
return null;
|
|
46483
|
+
};
|
|
46484
|
+
var resolvePosition = ({
|
|
46485
|
+
containerSize,
|
|
46486
|
+
imageSize,
|
|
46487
|
+
value
|
|
46488
|
+
}) => {
|
|
46489
|
+
const keywordPercentage = positionKeywordToPercentage(value);
|
|
46490
|
+
if (keywordPercentage !== null) {
|
|
46491
|
+
return (containerSize - imageSize) * (keywordPercentage / 100);
|
|
46492
|
+
}
|
|
46493
|
+
const parsed = parseLengthPercentage(value);
|
|
46494
|
+
if (!parsed) {
|
|
46495
|
+
return 0;
|
|
46496
|
+
}
|
|
46497
|
+
return parsed.unit === "%" ? (containerSize - imageSize) * (parsed.value / 100) : parsed.value;
|
|
46498
|
+
};
|
|
46499
|
+
var parsePosition2 = (value) => {
|
|
46500
|
+
const parts = firstLayer(value).split(/\s+/);
|
|
46501
|
+
if (parts.length === 1) {
|
|
46502
|
+
if (parts[0] === "top" || parts[0] === "bottom") {
|
|
46503
|
+
return { x: "center", y: parts[0] };
|
|
46504
|
+
}
|
|
46505
|
+
return { x: parts[0], y: "center" };
|
|
46506
|
+
}
|
|
46507
|
+
if (parts[0] === "top" || parts[0] === "bottom") {
|
|
46508
|
+
return { x: parts[1], y: parts[0] };
|
|
46509
|
+
}
|
|
46510
|
+
return { x: parts[0], y: parts[1] };
|
|
46511
|
+
};
|
|
46512
|
+
var getBackgroundImageRect = ({
|
|
46513
|
+
backgroundPosition,
|
|
46514
|
+
backgroundSize,
|
|
46515
|
+
positioningArea
|
|
46516
|
+
}) => {
|
|
46517
|
+
const sizeParts = firstLayer(backgroundSize).split(/\s+/);
|
|
46518
|
+
const width2 = resolveSize({
|
|
46519
|
+
containerSize: positioningArea.width,
|
|
46520
|
+
value: sizeParts[0]
|
|
46521
|
+
});
|
|
46522
|
+
const height2 = resolveSize({
|
|
46523
|
+
containerSize: positioningArea.height,
|
|
46524
|
+
value: sizeParts[1]
|
|
46525
|
+
});
|
|
46526
|
+
const position = parsePosition2(backgroundPosition);
|
|
46527
|
+
return new DOMRect(positioningArea.left + resolvePosition({
|
|
46528
|
+
containerSize: positioningArea.width,
|
|
46529
|
+
imageSize: width2,
|
|
46530
|
+
value: position.x
|
|
46531
|
+
}), positioningArea.top + resolvePosition({
|
|
46532
|
+
containerSize: positioningArea.height,
|
|
46533
|
+
imageSize: height2,
|
|
46534
|
+
value: position.y
|
|
46535
|
+
}), width2, height2);
|
|
46536
|
+
};
|
|
46433
46537
|
var isColorTransparent = (color) => {
|
|
46434
46538
|
return color === "transparent" || color.startsWith("rgba") && (color.endsWith(", 0)") || color.endsWith(",0"));
|
|
46435
46539
|
};
|
|
46436
46540
|
var getBackgroundFill = ({
|
|
46437
46541
|
backgroundColor,
|
|
46438
46542
|
backgroundImage,
|
|
46543
|
+
backgroundPosition,
|
|
46544
|
+
backgroundSize,
|
|
46439
46545
|
contextToDraw,
|
|
46440
46546
|
boundingRect,
|
|
46441
46547
|
offsetLeft,
|
|
@@ -46444,9 +46550,14 @@ var getBackgroundFill = ({
|
|
|
46444
46550
|
if (backgroundImage && backgroundImage !== "none") {
|
|
46445
46551
|
const gradientInfo = parseLinearGradient(backgroundImage);
|
|
46446
46552
|
if (gradientInfo) {
|
|
46553
|
+
const backgroundImageRect = getBackgroundImageRect({
|
|
46554
|
+
backgroundPosition,
|
|
46555
|
+
backgroundSize,
|
|
46556
|
+
positioningArea: boundingRect
|
|
46557
|
+
});
|
|
46447
46558
|
const gradient = createCanvasGradient({
|
|
46448
46559
|
ctx: contextToDraw,
|
|
46449
|
-
rect:
|
|
46560
|
+
rect: backgroundImageRect,
|
|
46450
46561
|
gradientInfo,
|
|
46451
46562
|
offsetLeft,
|
|
46452
46563
|
offsetTop
|
|
@@ -46514,6 +46625,8 @@ var drawBackground = async ({
|
|
|
46514
46625
|
}
|
|
46515
46626
|
const backgroundFill = getBackgroundFill({
|
|
46516
46627
|
backgroundImage,
|
|
46628
|
+
backgroundPosition: computedStyle.backgroundPosition,
|
|
46629
|
+
backgroundSize: computedStyle.backgroundSize,
|
|
46517
46630
|
backgroundColor,
|
|
46518
46631
|
contextToDraw,
|
|
46519
46632
|
boundingRect,
|
|
@@ -49000,9 +49113,9 @@ import React70, { useCallback as useCallback48 } from "react";
|
|
|
49000
49113
|
import { z } from "zod";
|
|
49001
49114
|
|
|
49002
49115
|
// src/components/homepage/Demo/DemoErrorIcon.tsx
|
|
49003
|
-
import { jsx as
|
|
49116
|
+
import { jsx as jsx89 } from "react/jsx-runtime";
|
|
49004
49117
|
var DemoErrorIcon = () => {
|
|
49005
|
-
return /* @__PURE__ */
|
|
49118
|
+
return /* @__PURE__ */ jsx89("div", {
|
|
49006
49119
|
style: {
|
|
49007
49120
|
height: 26,
|
|
49008
49121
|
width: 26,
|
|
@@ -49012,14 +49125,14 @@ var DemoErrorIcon = () => {
|
|
|
49012
49125
|
justifyContent: "center",
|
|
49013
49126
|
animation: "jump 0.2s ease-out"
|
|
49014
49127
|
},
|
|
49015
|
-
children: /* @__PURE__ */
|
|
49128
|
+
children: /* @__PURE__ */ jsx89("svg", {
|
|
49016
49129
|
style: {
|
|
49017
49130
|
flexShrink: 0,
|
|
49018
49131
|
width: 26
|
|
49019
49132
|
},
|
|
49020
49133
|
xmlns: "http://www.w3.org/2000/svg",
|
|
49021
49134
|
viewBox: "0 0 512 512",
|
|
49022
|
-
children: /* @__PURE__ */
|
|
49135
|
+
children: /* @__PURE__ */ jsx89("path", {
|
|
49023
49136
|
fill: RED,
|
|
49024
49137
|
d: "M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36l176.6 0c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36l-176.6 0c-25.7 0-49.5-13.7-62.4-36L17.1 292zM256 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"
|
|
49025
49138
|
})
|
|
@@ -49028,9 +49141,9 @@ var DemoErrorIcon = () => {
|
|
|
49028
49141
|
};
|
|
49029
49142
|
|
|
49030
49143
|
// src/components/homepage/Demo/DoneCheckmark.tsx
|
|
49031
|
-
import { jsx as
|
|
49144
|
+
import { jsx as jsx90, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
49032
49145
|
var DoneCheckmark = () => {
|
|
49033
|
-
return /* @__PURE__ */
|
|
49146
|
+
return /* @__PURE__ */ jsx90("div", {
|
|
49034
49147
|
style: {
|
|
49035
49148
|
backgroundColor: PALETTE.BRAND,
|
|
49036
49149
|
height: 26,
|
|
@@ -49041,7 +49154,7 @@ var DoneCheckmark = () => {
|
|
|
49041
49154
|
justifyContent: "center",
|
|
49042
49155
|
animation: "jump 0.2s ease-out"
|
|
49043
49156
|
},
|
|
49044
|
-
children: /* @__PURE__ */
|
|
49157
|
+
children: /* @__PURE__ */ jsxs29("svg", {
|
|
49045
49158
|
viewBox: "0 0 20 20",
|
|
49046
49159
|
fill: "none",
|
|
49047
49160
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -49050,13 +49163,13 @@ var DoneCheckmark = () => {
|
|
|
49050
49163
|
width: 26
|
|
49051
49164
|
},
|
|
49052
49165
|
children: [
|
|
49053
|
-
/* @__PURE__ */
|
|
49166
|
+
/* @__PURE__ */ jsx90("circle", {
|
|
49054
49167
|
cx: "10",
|
|
49055
49168
|
cy: "10",
|
|
49056
49169
|
r: "10",
|
|
49057
49170
|
fill: "#0B84F3"
|
|
49058
49171
|
}),
|
|
49059
|
-
/* @__PURE__ */
|
|
49172
|
+
/* @__PURE__ */ jsx90("path", {
|
|
49060
49173
|
d: "M14.7908 7.20505C15.0697 7.47844 15.0697 7.92243 14.7908 8.19583L9.07711 13.795C8.79813 14.0683 8.34505 14.0683 8.06606 13.795L5.20924 10.9954C4.93025 10.722 4.93025 10.278 5.20924 10.0046C5.48823 9.73121 5.9413 9.73121 6.22029 10.0046L8.5727 12.3077L13.7819 7.20505C14.0609 6.93165 14.514 6.93165 14.793 7.20505H14.7908Z",
|
|
49061
49174
|
fill: "white",
|
|
49062
49175
|
style: {
|
|
@@ -49070,7 +49183,7 @@ var DoneCheckmark = () => {
|
|
|
49070
49183
|
};
|
|
49071
49184
|
|
|
49072
49185
|
// src/components/homepage/Demo/Progress.tsx
|
|
49073
|
-
import { jsx as
|
|
49186
|
+
import { jsx as jsx91, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
49074
49187
|
var Progress = ({ progress }) => {
|
|
49075
49188
|
const inner2 = makeCircle({
|
|
49076
49189
|
radius: 10
|
|
@@ -49080,17 +49193,17 @@ var Progress = ({ progress }) => {
|
|
|
49080
49193
|
closePath: false,
|
|
49081
49194
|
radius: 10
|
|
49082
49195
|
});
|
|
49083
|
-
return /* @__PURE__ */
|
|
49196
|
+
return /* @__PURE__ */ jsxs30("svg", {
|
|
49084
49197
|
viewBox: `0 0 ${inner2.width} ${inner2.height}`,
|
|
49085
49198
|
style: { overflow: "visible", height: 22 },
|
|
49086
49199
|
children: [
|
|
49087
|
-
/* @__PURE__ */
|
|
49200
|
+
/* @__PURE__ */ jsx91("path", {
|
|
49088
49201
|
d: inner2.path,
|
|
49089
49202
|
stroke: PALETTE.BORDER_COLOR,
|
|
49090
49203
|
strokeWidth: 4,
|
|
49091
49204
|
fill: "transparent"
|
|
49092
49205
|
}),
|
|
49093
|
-
/* @__PURE__ */
|
|
49206
|
+
/* @__PURE__ */ jsx91("path", {
|
|
49094
49207
|
d: outer.path,
|
|
49095
49208
|
stroke: PALETTE.BRAND,
|
|
49096
49209
|
strokeWidth: 4,
|
|
@@ -49102,23 +49215,23 @@ var Progress = ({ progress }) => {
|
|
|
49102
49215
|
};
|
|
49103
49216
|
|
|
49104
49217
|
// src/components/homepage/Demo/Spinner.tsx
|
|
49105
|
-
import { useMemo as
|
|
49106
|
-
import { jsx as
|
|
49218
|
+
import { useMemo as useMemo67 } from "react";
|
|
49219
|
+
import { jsx as jsx95, jsxs as jsxs31, Fragment as Fragment15 } from "react/jsx-runtime";
|
|
49107
49220
|
var viewBox2 = 100;
|
|
49108
49221
|
var lines2 = 8;
|
|
49109
49222
|
var className2 = "__remotion_spinner_line";
|
|
49110
49223
|
var remotionSpinnerAnimation = "__remotion_spinner_animation";
|
|
49111
49224
|
var translated3 = "M 44 0 L 50 0 a 6 6 0 0 1 6 6 L 56 26 a 6 6 0 0 1 -6 6 L 50 32 a 6 6 0 0 1 -6 -6 L 44 6 a 6 6 0 0 1 6 -6 Z";
|
|
49112
49225
|
var Spinner2 = ({ size: size4, duration }) => {
|
|
49113
|
-
const style2 =
|
|
49226
|
+
const style2 = useMemo67(() => {
|
|
49114
49227
|
return {
|
|
49115
49228
|
width: size4,
|
|
49116
49229
|
height: size4
|
|
49117
49230
|
};
|
|
49118
49231
|
}, [size4]);
|
|
49119
|
-
return /* @__PURE__ */
|
|
49232
|
+
return /* @__PURE__ */ jsxs31(Fragment15, {
|
|
49120
49233
|
children: [
|
|
49121
|
-
/* @__PURE__ */
|
|
49234
|
+
/* @__PURE__ */ jsx95("style", {
|
|
49122
49235
|
type: "text/css",
|
|
49123
49236
|
children: `
|
|
49124
49237
|
@keyframes ${remotionSpinnerAnimation} {
|
|
@@ -49135,11 +49248,11 @@ var Spinner2 = ({ size: size4, duration }) => {
|
|
|
49135
49248
|
}
|
|
49136
49249
|
`
|
|
49137
49250
|
}),
|
|
49138
|
-
/* @__PURE__ */
|
|
49251
|
+
/* @__PURE__ */ jsx95("svg", {
|
|
49139
49252
|
style: style2,
|
|
49140
49253
|
viewBox: `0 0 ${viewBox2} ${viewBox2}`,
|
|
49141
49254
|
children: new Array(lines2).fill(true).map((_, index2) => {
|
|
49142
|
-
return /* @__PURE__ */
|
|
49255
|
+
return /* @__PURE__ */ jsx95("path", {
|
|
49143
49256
|
className: className2,
|
|
49144
49257
|
style: {
|
|
49145
49258
|
rotate: `${index2 * Math.PI * 2 / lines2}rad`,
|
|
@@ -49156,7 +49269,7 @@ var Spinner2 = ({ size: size4, duration }) => {
|
|
|
49156
49269
|
};
|
|
49157
49270
|
|
|
49158
49271
|
// src/components/homepage/Demo/DemoRender.tsx
|
|
49159
|
-
import { jsx as
|
|
49272
|
+
import { jsx as jsx97 } from "react/jsx-runtime";
|
|
49160
49273
|
var countryPath = z.object({
|
|
49161
49274
|
d: z.string(),
|
|
49162
49275
|
class: z.string()
|
|
@@ -49246,24 +49359,24 @@ var RenderButton = ({ renderData, onError, playerRef }) => {
|
|
|
49246
49359
|
onError();
|
|
49247
49360
|
}
|
|
49248
49361
|
}, [onError, renderData, playerRef]);
|
|
49249
|
-
return /* @__PURE__ */
|
|
49362
|
+
return /* @__PURE__ */ jsx97("button", {
|
|
49250
49363
|
type: "button",
|
|
49251
49364
|
onClick: triggerRender,
|
|
49252
49365
|
style: style2,
|
|
49253
49366
|
disabled: !renderData || state.type !== "idle",
|
|
49254
|
-
children: state.type === "error" ? /* @__PURE__ */
|
|
49367
|
+
children: state.type === "error" ? /* @__PURE__ */ jsx97(DemoErrorIcon, {}) : state.type === "done" ? /* @__PURE__ */ jsx97(DoneCheckmark, {}) : state.type === "progress" ? /* @__PURE__ */ jsx97(Progress, {
|
|
49255
49368
|
progress: state.progress
|
|
49256
|
-
}) : state.type === "invoking" ? /* @__PURE__ */
|
|
49369
|
+
}) : state.type === "invoking" ? /* @__PURE__ */ jsx97(Spinner2, {
|
|
49257
49370
|
size: 20,
|
|
49258
49371
|
duration: 1
|
|
49259
|
-
}) : /* @__PURE__ */
|
|
49372
|
+
}) : /* @__PURE__ */ jsx97("svg", {
|
|
49260
49373
|
style: {
|
|
49261
49374
|
width: 18,
|
|
49262
49375
|
opacity: renderData ? 1 : 0.5
|
|
49263
49376
|
},
|
|
49264
49377
|
xmlns: "http://www.w3.org/2000/svg",
|
|
49265
49378
|
viewBox: "0 0 384 512",
|
|
49266
|
-
children: /* @__PURE__ */
|
|
49379
|
+
children: /* @__PURE__ */ jsx97("path", {
|
|
49267
49380
|
fill: PALETTE.TEXT_COLOR,
|
|
49268
49381
|
d: "M214.6 342.6L192 365.3l-22.6-22.6-128-128L18.7 192 64 146.7l22.6 22.6L160 242.7 160 64l0-32 64 0 0 32 0 178.7 73.4-73.4L320 146.7 365.3 192l-22.6 22.6-128 128zM32 416l320 0 32 0 0 64-32 0L32 480 0 480l0-64 32 0z"
|
|
49269
49382
|
})
|
|
@@ -49272,18 +49385,18 @@ var RenderButton = ({ renderData, onError, playerRef }) => {
|
|
|
49272
49385
|
};
|
|
49273
49386
|
|
|
49274
49387
|
// src/components/homepage/Demo/DownloadNudge.tsx
|
|
49275
|
-
import { jsx as
|
|
49388
|
+
import { jsx as jsx98, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
49276
49389
|
var origWidth = 77;
|
|
49277
49390
|
var scale = 0.4;
|
|
49278
49391
|
var Icon3 = () => {
|
|
49279
|
-
return /* @__PURE__ */
|
|
49392
|
+
return /* @__PURE__ */ jsx98("svg", {
|
|
49280
49393
|
style: {
|
|
49281
49394
|
width: origWidth * scale
|
|
49282
49395
|
},
|
|
49283
49396
|
viewBox: "0 0 77 160",
|
|
49284
49397
|
fill: "none",
|
|
49285
49398
|
xmlns: "http://www.w3.org/2000/svg",
|
|
49286
|
-
children: /* @__PURE__ */
|
|
49399
|
+
children: /* @__PURE__ */ jsx98("path", {
|
|
49287
49400
|
d: "M5 154.5C51 121 79 81 69 5",
|
|
49288
49401
|
stroke: "currentColor",
|
|
49289
49402
|
strokeWidth: "8",
|
|
@@ -49292,7 +49405,7 @@ var Icon3 = () => {
|
|
|
49292
49405
|
});
|
|
49293
49406
|
};
|
|
49294
49407
|
var DownloadNudge = () => {
|
|
49295
|
-
return /* @__PURE__ */
|
|
49408
|
+
return /* @__PURE__ */ jsx98("div", {
|
|
49296
49409
|
style: {
|
|
49297
49410
|
position: "relative",
|
|
49298
49411
|
flexDirection: "row",
|
|
@@ -49302,10 +49415,10 @@ var DownloadNudge = () => {
|
|
|
49302
49415
|
paddingRight: 24,
|
|
49303
49416
|
paddingTop: 18
|
|
49304
49417
|
},
|
|
49305
|
-
children: /* @__PURE__ */
|
|
49418
|
+
children: /* @__PURE__ */ jsxs34("div", {
|
|
49306
49419
|
children: [
|
|
49307
|
-
/* @__PURE__ */
|
|
49308
|
-
/* @__PURE__ */
|
|
49420
|
+
/* @__PURE__ */ jsx98(Icon3, {}),
|
|
49421
|
+
/* @__PURE__ */ jsx98("div", {
|
|
49309
49422
|
style: {
|
|
49310
49423
|
fontFamily: FONTS.GTPLANAR,
|
|
49311
49424
|
fontSize: 15,
|
|
@@ -49322,18 +49435,18 @@ var DownloadNudge = () => {
|
|
|
49322
49435
|
};
|
|
49323
49436
|
|
|
49324
49437
|
// src/components/homepage/Demo/DragAndDropNudge.tsx
|
|
49325
|
-
import { jsx as
|
|
49438
|
+
import { jsx as jsx99, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
49326
49439
|
var origWidth2 = 37;
|
|
49327
49440
|
var scale2 = 0.4;
|
|
49328
49441
|
var Icon5 = () => {
|
|
49329
|
-
return /* @__PURE__ */
|
|
49442
|
+
return /* @__PURE__ */ jsx99("svg", {
|
|
49330
49443
|
style: {
|
|
49331
49444
|
width: origWidth2 * scale2,
|
|
49332
49445
|
overflow: "visible"
|
|
49333
49446
|
},
|
|
49334
49447
|
viewBox: "0 0 37 59",
|
|
49335
49448
|
fill: "none",
|
|
49336
|
-
children: /* @__PURE__ */
|
|
49449
|
+
children: /* @__PURE__ */ jsx99("path", {
|
|
49337
49450
|
d: "M5.00003 5C5.00002 36.5 16 44 32.0002 54",
|
|
49338
49451
|
stroke: PALETTE.TEXT_COLOR,
|
|
49339
49452
|
strokeWidth: "8",
|
|
@@ -49342,7 +49455,7 @@ var Icon5 = () => {
|
|
|
49342
49455
|
});
|
|
49343
49456
|
};
|
|
49344
49457
|
var DragAndDropNudge = () => {
|
|
49345
|
-
return /* @__PURE__ */
|
|
49458
|
+
return /* @__PURE__ */ jsx99("div", {
|
|
49346
49459
|
style: {
|
|
49347
49460
|
position: "absolute",
|
|
49348
49461
|
flexDirection: "row",
|
|
@@ -49352,9 +49465,9 @@ var DragAndDropNudge = () => {
|
|
|
49352
49465
|
marginTop: 18
|
|
49353
49466
|
},
|
|
49354
49467
|
className: "ml-4 lg:-ml-5",
|
|
49355
|
-
children: /* @__PURE__ */
|
|
49468
|
+
children: /* @__PURE__ */ jsxs36("div", {
|
|
49356
49469
|
children: [
|
|
49357
|
-
/* @__PURE__ */
|
|
49470
|
+
/* @__PURE__ */ jsx99("div", {
|
|
49358
49471
|
style: {
|
|
49359
49472
|
fontFamily: FONTS.GTPLANAR,
|
|
49360
49473
|
fontSize: 15,
|
|
@@ -49365,20 +49478,20 @@ var DragAndDropNudge = () => {
|
|
|
49365
49478
|
className: "-ml-3 lg:-ml-5",
|
|
49366
49479
|
children: "Drag and drop the cards to reorder them."
|
|
49367
49480
|
}),
|
|
49368
|
-
/* @__PURE__ */
|
|
49481
|
+
/* @__PURE__ */ jsx99(Icon5, {})
|
|
49369
49482
|
]
|
|
49370
49483
|
})
|
|
49371
49484
|
});
|
|
49372
49485
|
};
|
|
49373
49486
|
|
|
49374
49487
|
// src/components/homepage/Demo/PlayerSeekBar.tsx
|
|
49375
|
-
import { useCallback as useCallback50, useEffect as useEffect51, useMemo as
|
|
49488
|
+
import { useCallback as useCallback50, useEffect as useEffect51, useMemo as useMemo69, useRef as useRef57, useState as useState51 } from "react";
|
|
49376
49489
|
|
|
49377
49490
|
// src/components/homepage/layout/use-el-size.ts
|
|
49378
|
-
import { useCallback as useCallback49, useEffect as useEffect50, useMemo as
|
|
49491
|
+
import { useCallback as useCallback49, useEffect as useEffect50, useMemo as useMemo68, useState as useState50 } from "react";
|
|
49379
49492
|
var useElementSize2 = (ref) => {
|
|
49380
49493
|
const [size4, setSize] = useState50(null);
|
|
49381
|
-
const observer =
|
|
49494
|
+
const observer = useMemo68(() => {
|
|
49382
49495
|
if (typeof ResizeObserver === "undefined") {
|
|
49383
49496
|
return;
|
|
49384
49497
|
}
|
|
@@ -49417,7 +49530,7 @@ var useElementSize2 = (ref) => {
|
|
|
49417
49530
|
};
|
|
49418
49531
|
|
|
49419
49532
|
// src/components/homepage/Demo/PlayerSeekBar.tsx
|
|
49420
|
-
import { jsx as
|
|
49533
|
+
import { jsx as jsx100, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
49421
49534
|
var getFrameFromX2 = (clientX, durationInFrames, width2) => {
|
|
49422
49535
|
const pos = clientX;
|
|
49423
49536
|
const frame = Math.round(interpolate(pos, [0, width2], [0, durationInFrames - 1], {
|
|
@@ -49592,7 +49705,7 @@ var PlayerSeekBar2 = ({
|
|
|
49592
49705
|
body.removeEventListener("pointerup", onPointerUp);
|
|
49593
49706
|
};
|
|
49594
49707
|
}, [dragging.dragging, onPointerMove, onPointerUp]);
|
|
49595
|
-
const knobStyle =
|
|
49708
|
+
const knobStyle = useMemo69(() => {
|
|
49596
49709
|
return {
|
|
49597
49710
|
height: KNOB_SIZE3,
|
|
49598
49711
|
width: KNOB_SIZE3,
|
|
@@ -49606,7 +49719,7 @@ var PlayerSeekBar2 = ({
|
|
|
49606
49719
|
transition: "opacity 0.s ease"
|
|
49607
49720
|
};
|
|
49608
49721
|
}, [barHovered, durationInFrames, frame, width2]);
|
|
49609
|
-
const fillStyle =
|
|
49722
|
+
const fillStyle = useMemo69(() => {
|
|
49610
49723
|
return {
|
|
49611
49724
|
height: BAR_HEIGHT3,
|
|
49612
49725
|
backgroundColor: "var(--ifm-font-color-base)",
|
|
@@ -49615,7 +49728,7 @@ var PlayerSeekBar2 = ({
|
|
|
49615
49728
|
borderRadius: BAR_HEIGHT3 / 2
|
|
49616
49729
|
};
|
|
49617
49730
|
}, [durationInFrames, frame, inFrame]);
|
|
49618
|
-
const active =
|
|
49731
|
+
const active = useMemo69(() => {
|
|
49619
49732
|
return {
|
|
49620
49733
|
height: BAR_HEIGHT3,
|
|
49621
49734
|
backgroundColor: "var(--ifm-font-color-base)",
|
|
@@ -49626,23 +49739,23 @@ var PlayerSeekBar2 = ({
|
|
|
49626
49739
|
position: "absolute"
|
|
49627
49740
|
};
|
|
49628
49741
|
}, [durationInFrames, inFrame, outFrame]);
|
|
49629
|
-
return /* @__PURE__ */
|
|
49742
|
+
return /* @__PURE__ */ jsxs37("div", {
|
|
49630
49743
|
ref: containerRef,
|
|
49631
49744
|
onPointerDown,
|
|
49632
49745
|
style: containerStyle3,
|
|
49633
49746
|
children: [
|
|
49634
|
-
/* @__PURE__ */
|
|
49747
|
+
/* @__PURE__ */ jsxs37("div", {
|
|
49635
49748
|
style: barBackground2,
|
|
49636
49749
|
children: [
|
|
49637
|
-
/* @__PURE__ */
|
|
49750
|
+
/* @__PURE__ */ jsx100("div", {
|
|
49638
49751
|
style: active
|
|
49639
49752
|
}),
|
|
49640
|
-
/* @__PURE__ */
|
|
49753
|
+
/* @__PURE__ */ jsx100("div", {
|
|
49641
49754
|
style: fillStyle
|
|
49642
49755
|
})
|
|
49643
49756
|
]
|
|
49644
49757
|
}),
|
|
49645
|
-
/* @__PURE__ */
|
|
49758
|
+
/* @__PURE__ */ jsx100("div", {
|
|
49646
49759
|
style: knobStyle
|
|
49647
49760
|
})
|
|
49648
49761
|
]
|
|
@@ -49653,9 +49766,9 @@ var PlayerSeekBar2 = ({
|
|
|
49653
49766
|
import { useCallback as useCallback51, useEffect as useEffect53, useRef as useRef58, useState as useState54 } from "react";
|
|
49654
49767
|
|
|
49655
49768
|
// src/components/homepage/Demo/icons.tsx
|
|
49656
|
-
import { jsx as
|
|
49769
|
+
import { jsx as jsx101 } from "react/jsx-runtime";
|
|
49657
49770
|
var PausedIcon = (props) => {
|
|
49658
|
-
return /* @__PURE__ */
|
|
49771
|
+
return /* @__PURE__ */ jsx101("svg", {
|
|
49659
49772
|
"aria-hidden": "true",
|
|
49660
49773
|
focusable: "false",
|
|
49661
49774
|
"data-prefix": "fas",
|
|
@@ -49665,48 +49778,48 @@ var PausedIcon = (props) => {
|
|
|
49665
49778
|
xmlns: "http://www.w3.org/2000/svg",
|
|
49666
49779
|
viewBox: "0 0 480 512",
|
|
49667
49780
|
...props,
|
|
49668
|
-
children: /* @__PURE__ */
|
|
49781
|
+
children: /* @__PURE__ */ jsx101("path", {
|
|
49669
49782
|
fill: "currentColor",
|
|
49670
49783
|
d: "M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"
|
|
49671
49784
|
})
|
|
49672
49785
|
});
|
|
49673
49786
|
};
|
|
49674
49787
|
var PlayingIcon = (props) => {
|
|
49675
|
-
return /* @__PURE__ */
|
|
49788
|
+
return /* @__PURE__ */ jsx101("svg", {
|
|
49676
49789
|
xmlns: "http://www.w3.org/2000/svg",
|
|
49677
49790
|
viewBox: "0 0 400 512",
|
|
49678
49791
|
fill: "currentColor",
|
|
49679
49792
|
...props,
|
|
49680
|
-
children: /* @__PURE__ */
|
|
49793
|
+
children: /* @__PURE__ */ jsx101("path", {
|
|
49681
49794
|
d: "M48 64C21.5 64 0 85.5 0 112L0 400c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48L48 64zm192 0c-26.5 0-48 21.5-48 48l0 288c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48l-32 0z"
|
|
49682
49795
|
})
|
|
49683
49796
|
});
|
|
49684
49797
|
};
|
|
49685
49798
|
var NotMutedIcon = (props) => {
|
|
49686
|
-
return /* @__PURE__ */
|
|
49799
|
+
return /* @__PURE__ */ jsx101("svg", {
|
|
49687
49800
|
xmlns: "http://www.w3.org/2000/svg",
|
|
49688
49801
|
...props,
|
|
49689
49802
|
viewBox: "0 0 640 512",
|
|
49690
49803
|
fill: "currentColor",
|
|
49691
|
-
children: /* @__PURE__ */
|
|
49804
|
+
children: /* @__PURE__ */ jsx101("path", {
|
|
49692
49805
|
d: "M32 160l0 192 128 0L304 480l48 0 0-448-48 0L160 160 32 160zM441.6 332.8C464.9 315.3 480 287.4 480 256s-15.1-59.3-38.4-76.8l-28.8 38.4c11.7 8.8 19.2 22.7 19.2 38.4s-7.5 29.6-19.2 38.4l28.8 38.4zm57.6 76.8c46.6-35 76.8-90.8 76.8-153.6s-30.2-118.6-76.8-153.6l-28.8 38.4c35 26.3 57.6 68.1 57.6 115.2s-22.6 88.9-57.6 115.2l28.8 38.4z"
|
|
49693
49806
|
})
|
|
49694
49807
|
});
|
|
49695
49808
|
};
|
|
49696
49809
|
var IsMutedIcon = (props) => {
|
|
49697
|
-
return /* @__PURE__ */
|
|
49810
|
+
return /* @__PURE__ */ jsx101("svg", {
|
|
49698
49811
|
xmlns: "http://www.w3.org/2000/svg",
|
|
49699
49812
|
...props,
|
|
49700
49813
|
viewBox: "0 0 640 512",
|
|
49701
49814
|
fill: RED,
|
|
49702
|
-
children: /* @__PURE__ */
|
|
49815
|
+
children: /* @__PURE__ */ jsx101("path", {
|
|
49703
49816
|
d: "M48.4 14.8L29.4 .1 0 38l19 14.7L591.5 497.2l19 14.7L639.9 474l-19-14.7-95.1-73.8C557 351.3 576 305.9 576 256c0-62.8-30.2-118.6-76.8-153.6l-28.8 38.4c35 26.3 57.6 68.1 57.6 115.2c0 38.8-15.3 74-40.3 99.9l-38.2-29.7C468.3 308.7 480 283.7 480 256c0-31.4-15.1-59.3-38.4-76.8l-28.8 38.4c11.7 8.8 19.2 22.7 19.2 38.4s-7.5 29.6-19.2 38.4l5.9 7.9L352 250.5 352 32l-48 0L195.2 128.7 48.4 14.8zM352 373.3L81.2 160 32 160l0 192 128 0L304 480l48 0 0-106.7z"
|
|
49704
49817
|
})
|
|
49705
49818
|
});
|
|
49706
49819
|
};
|
|
49707
49820
|
|
|
49708
49821
|
// src/components/homepage/Demo/PlayerVolume.tsx
|
|
49709
|
-
import { jsx as
|
|
49822
|
+
import { jsx as jsx105 } from "react/jsx-runtime";
|
|
49710
49823
|
var PlayerVolume = ({ playerRef }) => {
|
|
49711
49824
|
const [muted, setIsMuted] = useState54(() => playerRef.current?.isMuted() ?? true);
|
|
49712
49825
|
const [isHovered, setIsHovered] = useState54(false);
|
|
@@ -49742,10 +49855,10 @@ var PlayerVolume = ({ playerRef }) => {
|
|
|
49742
49855
|
playerRef.current.mute();
|
|
49743
49856
|
}
|
|
49744
49857
|
}, [playerRef]);
|
|
49745
|
-
return /* @__PURE__ */
|
|
49858
|
+
return /* @__PURE__ */ jsx105("div", {
|
|
49746
49859
|
className: "relative cursor-pointer block pl-4 pr-4 h-full",
|
|
49747
49860
|
onPointerEnter: () => setIsHovered(true),
|
|
49748
|
-
children: /* @__PURE__ */
|
|
49861
|
+
children: /* @__PURE__ */ jsx105("button", {
|
|
49749
49862
|
type: "button",
|
|
49750
49863
|
onClick,
|
|
49751
49864
|
style: {
|
|
@@ -49759,9 +49872,9 @@ var PlayerVolume = ({ playerRef }) => {
|
|
|
49759
49872
|
alignItems: "center",
|
|
49760
49873
|
color: PALETTE.TEXT_COLOR
|
|
49761
49874
|
},
|
|
49762
|
-
children: muted ? /* @__PURE__ */
|
|
49875
|
+
children: muted ? /* @__PURE__ */ jsx105(IsMutedIcon, {
|
|
49763
49876
|
style: { height: 20 }
|
|
49764
|
-
}) : /* @__PURE__ */
|
|
49877
|
+
}) : /* @__PURE__ */ jsx105(NotMutedIcon, {
|
|
49765
49878
|
style: { height: 20 }
|
|
49766
49879
|
})
|
|
49767
49880
|
})
|
|
@@ -49770,7 +49883,7 @@ var PlayerVolume = ({ playerRef }) => {
|
|
|
49770
49883
|
|
|
49771
49884
|
// src/components/homepage/Demo/PlayPauseButton.tsx
|
|
49772
49885
|
import React75, { useCallback as useCallback53, useEffect as useEffect55 } from "react";
|
|
49773
|
-
import { jsx as
|
|
49886
|
+
import { jsx as jsx107 } from "react/jsx-runtime";
|
|
49774
49887
|
var playerButtonStyle2 = {
|
|
49775
49888
|
appearance: "none",
|
|
49776
49889
|
border: "none",
|
|
@@ -49811,13 +49924,13 @@ var PlayPauseButton = ({ playerRef }) => {
|
|
|
49811
49924
|
const playPauseIconStyle = {
|
|
49812
49925
|
width: 15
|
|
49813
49926
|
};
|
|
49814
|
-
return /* @__PURE__ */
|
|
49927
|
+
return /* @__PURE__ */ jsx107("button", {
|
|
49815
49928
|
type: "button",
|
|
49816
49929
|
style: playerButtonStyle2,
|
|
49817
49930
|
onClick: onToggle,
|
|
49818
|
-
children: playing ? /* @__PURE__ */
|
|
49931
|
+
children: playing ? /* @__PURE__ */ jsx107(PlayingIcon, {
|
|
49819
49932
|
style: playPauseIconStyle
|
|
49820
|
-
}) : /* @__PURE__ */
|
|
49933
|
+
}) : /* @__PURE__ */ jsx107(PausedIcon, {
|
|
49821
49934
|
style: playPauseIconStyle
|
|
49822
49935
|
})
|
|
49823
49936
|
});
|
|
@@ -49825,7 +49938,7 @@ var PlayPauseButton = ({ playerRef }) => {
|
|
|
49825
49938
|
|
|
49826
49939
|
// src/components/homepage/Demo/TimeDisplay.tsx
|
|
49827
49940
|
import React76, { useEffect as useEffect56 } from "react";
|
|
49828
|
-
import { jsx as
|
|
49941
|
+
import { jsx as jsx108 } from "react/jsx-runtime";
|
|
49829
49942
|
var formatTime2 = (timeInSeconds) => {
|
|
49830
49943
|
const minutes = Math.floor(timeInSeconds / 60);
|
|
49831
49944
|
const seconds = Math.floor(timeInSeconds - minutes * 60);
|
|
@@ -49846,21 +49959,21 @@ var TimeDisplay = ({ fps, playerRef }) => {
|
|
|
49846
49959
|
current.removeEventListener("frameupdate", onTimeUpdate);
|
|
49847
49960
|
};
|
|
49848
49961
|
}, [playerRef]);
|
|
49849
|
-
return /* @__PURE__ */
|
|
49962
|
+
return /* @__PURE__ */ jsx108("div", {
|
|
49850
49963
|
style: {
|
|
49851
49964
|
fontSize: 16,
|
|
49852
49965
|
fontVariantNumeric: "tabular-nums"
|
|
49853
49966
|
},
|
|
49854
|
-
children: /* @__PURE__ */
|
|
49967
|
+
children: /* @__PURE__ */ jsx108("span", {
|
|
49855
49968
|
children: formatTime2(time / fps)
|
|
49856
49969
|
})
|
|
49857
49970
|
});
|
|
49858
49971
|
};
|
|
49859
49972
|
|
|
49860
49973
|
// src/components/homepage/Demo/PlayerControls.tsx
|
|
49861
|
-
import { jsx as
|
|
49974
|
+
import { jsx as jsx109, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
49862
49975
|
var Separator2 = () => {
|
|
49863
|
-
return /* @__PURE__ */
|
|
49976
|
+
return /* @__PURE__ */ jsx109("div", {
|
|
49864
49977
|
style: {
|
|
49865
49978
|
borderRight: `2px solid ${PALETTE.BOX_STROKE}`,
|
|
49866
49979
|
height: 50
|
|
@@ -49868,28 +49981,28 @@ var Separator2 = () => {
|
|
|
49868
49981
|
});
|
|
49869
49982
|
};
|
|
49870
49983
|
var PlayerControls = ({ playerRef, durationInFrames, fps, children }) => {
|
|
49871
|
-
return /* @__PURE__ */
|
|
49984
|
+
return /* @__PURE__ */ jsxs38("div", {
|
|
49872
49985
|
className: "flex flex-row items-center bg-pane",
|
|
49873
49986
|
children: [
|
|
49874
|
-
/* @__PURE__ */
|
|
49987
|
+
/* @__PURE__ */ jsx109(PlayPauseButton, {
|
|
49875
49988
|
playerRef
|
|
49876
49989
|
}),
|
|
49877
|
-
/* @__PURE__ */
|
|
49878
|
-
/* @__PURE__ */
|
|
49990
|
+
/* @__PURE__ */ jsx109(Separator2, {}),
|
|
49991
|
+
/* @__PURE__ */ jsx109(PlayerVolume, {
|
|
49879
49992
|
playerRef
|
|
49880
49993
|
}),
|
|
49881
|
-
/* @__PURE__ */
|
|
49882
|
-
/* @__PURE__ */
|
|
49994
|
+
/* @__PURE__ */ jsx109(Separator2, {}),
|
|
49995
|
+
/* @__PURE__ */ jsx109("div", {
|
|
49883
49996
|
style: { width: 15 }
|
|
49884
49997
|
}),
|
|
49885
|
-
/* @__PURE__ */
|
|
49998
|
+
/* @__PURE__ */ jsx109(TimeDisplay, {
|
|
49886
49999
|
playerRef,
|
|
49887
50000
|
fps
|
|
49888
50001
|
}),
|
|
49889
|
-
/* @__PURE__ */
|
|
50002
|
+
/* @__PURE__ */ jsx109("div", {
|
|
49890
50003
|
style: { width: 15 }
|
|
49891
50004
|
}),
|
|
49892
|
-
/* @__PURE__ */
|
|
50005
|
+
/* @__PURE__ */ jsx109(PlayerSeekBar2, {
|
|
49893
50006
|
durationInFrames,
|
|
49894
50007
|
playerRef,
|
|
49895
50008
|
inFrame: null,
|
|
@@ -49901,10 +50014,10 @@ var PlayerControls = ({ playerRef, durationInFrames, fps, children }) => {
|
|
|
49901
50014
|
return;
|
|
49902
50015
|
}
|
|
49903
50016
|
}),
|
|
49904
|
-
/* @__PURE__ */
|
|
50017
|
+
/* @__PURE__ */ jsx109("div", {
|
|
49905
50018
|
style: { width: 20 }
|
|
49906
50019
|
}),
|
|
49907
|
-
/* @__PURE__ */
|
|
50020
|
+
/* @__PURE__ */ jsx109(Separator2, {}),
|
|
49908
50021
|
children
|
|
49909
50022
|
]
|
|
49910
50023
|
});
|
|
@@ -49912,11 +50025,11 @@ var PlayerControls = ({ playerRef, durationInFrames, fps, children }) => {
|
|
|
49912
50025
|
|
|
49913
50026
|
// src/components/homepage/Demo/ThemeNudge.tsx
|
|
49914
50027
|
import React77 from "react";
|
|
49915
|
-
import { jsx as
|
|
50028
|
+
import { jsx as jsx110, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
49916
50029
|
var origWidth3 = 37;
|
|
49917
50030
|
var scale3 = 0.4;
|
|
49918
50031
|
var Icon6 = () => {
|
|
49919
|
-
return /* @__PURE__ */
|
|
50032
|
+
return /* @__PURE__ */ jsx110("svg", {
|
|
49920
50033
|
style: {
|
|
49921
50034
|
width: origWidth3 * scale3,
|
|
49922
50035
|
overflow: "visible"
|
|
@@ -49924,7 +50037,7 @@ var Icon6 = () => {
|
|
|
49924
50037
|
viewBox: "0 0 37 59",
|
|
49925
50038
|
fill: "none",
|
|
49926
50039
|
xmlns: "http://www.w3.org/2000/svg",
|
|
49927
|
-
children: /* @__PURE__ */
|
|
50040
|
+
children: /* @__PURE__ */ jsx110("path", {
|
|
49928
50041
|
d: "M32 5C32 36.5 21 44 5 54",
|
|
49929
50042
|
stroke: "currentColor",
|
|
49930
50043
|
strokeWidth: "8",
|
|
@@ -49938,7 +50051,7 @@ var ThemeNudge = () => {
|
|
|
49938
50051
|
e.preventDefault();
|
|
49939
50052
|
setColorMode(colorMode === "dark" ? "light" : "dark");
|
|
49940
50053
|
}, [colorMode, setColorMode]);
|
|
49941
|
-
return /* @__PURE__ */
|
|
50054
|
+
return /* @__PURE__ */ jsx110("div", {
|
|
49942
50055
|
style: {
|
|
49943
50056
|
flexDirection: "row",
|
|
49944
50057
|
display: "flex",
|
|
@@ -49948,9 +50061,9 @@ var ThemeNudge = () => {
|
|
|
49948
50061
|
position: "absolute"
|
|
49949
50062
|
},
|
|
49950
50063
|
className: "lg:top-3 lg:-right-6 right-0 top-0",
|
|
49951
|
-
children: /* @__PURE__ */
|
|
50064
|
+
children: /* @__PURE__ */ jsxs39("div", {
|
|
49952
50065
|
children: [
|
|
49953
|
-
/* @__PURE__ */
|
|
50066
|
+
/* @__PURE__ */ jsxs39("div", {
|
|
49954
50067
|
style: {
|
|
49955
50068
|
fontFamily: FONTS.GTPLANAR,
|
|
49956
50069
|
fontSize: 15,
|
|
@@ -49961,7 +50074,7 @@ var ThemeNudge = () => {
|
|
|
49961
50074
|
marginTop: 5
|
|
49962
50075
|
},
|
|
49963
50076
|
children: [
|
|
49964
|
-
/* @__PURE__ */
|
|
50077
|
+
/* @__PURE__ */ jsxs39("a", {
|
|
49965
50078
|
href: "#",
|
|
49966
50079
|
onClick: toggleTheme,
|
|
49967
50080
|
className: "bluelink",
|
|
@@ -49976,14 +50089,14 @@ var ThemeNudge = () => {
|
|
|
49976
50089
|
" "
|
|
49977
50090
|
]
|
|
49978
50091
|
}),
|
|
49979
|
-
/* @__PURE__ */
|
|
50092
|
+
/* @__PURE__ */ jsx110(Icon6, {})
|
|
49980
50093
|
]
|
|
49981
50094
|
})
|
|
49982
50095
|
});
|
|
49983
50096
|
};
|
|
49984
50097
|
|
|
49985
50098
|
// src/components/homepage/Demo/index.tsx
|
|
49986
|
-
import { jsx as
|
|
50099
|
+
import { jsx as jsx111, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
49987
50100
|
var style3 = {
|
|
49988
50101
|
width: "100%",
|
|
49989
50102
|
aspectRatio: "640 / 360",
|
|
@@ -50029,7 +50142,7 @@ var Demo = () => {
|
|
|
50029
50142
|
const updateCardOrder = useCallback55((newCardOrder) => {
|
|
50030
50143
|
setCardOrder(newCardOrder);
|
|
50031
50144
|
}, []);
|
|
50032
|
-
const props =
|
|
50145
|
+
const props = useMemo70(() => {
|
|
50033
50146
|
return {
|
|
50034
50147
|
theme: colorMode,
|
|
50035
50148
|
onToggle: () => {
|
|
@@ -50051,28 +50164,27 @@ var Demo = () => {
|
|
|
50051
50164
|
const onError = useCallback55(() => {
|
|
50052
50165
|
setError(true);
|
|
50053
50166
|
}, []);
|
|
50054
|
-
return /* @__PURE__ */
|
|
50167
|
+
return /* @__PURE__ */ jsxs40("div", {
|
|
50055
50168
|
id: "demo",
|
|
50169
|
+
className: "pt-24",
|
|
50056
50170
|
children: [
|
|
50057
|
-
/* @__PURE__ */
|
|
50058
|
-
/* @__PURE__ */ jsx115("br", {}),
|
|
50059
|
-
/* @__PURE__ */ jsx115(SectionTitle, {
|
|
50171
|
+
/* @__PURE__ */ jsx111(SectionTitle, {
|
|
50060
50172
|
children: "Interactive demo"
|
|
50061
50173
|
}),
|
|
50062
|
-
/* @__PURE__ */
|
|
50174
|
+
/* @__PURE__ */ jsxs40("div", {
|
|
50063
50175
|
className: "max-w-[760px] mx-auto",
|
|
50064
50176
|
children: [
|
|
50065
|
-
/* @__PURE__ */
|
|
50177
|
+
/* @__PURE__ */ jsxs40("div", {
|
|
50066
50178
|
className: "h-[105px] relative",
|
|
50067
50179
|
children: [
|
|
50068
|
-
/* @__PURE__ */
|
|
50069
|
-
/* @__PURE__ */
|
|
50180
|
+
/* @__PURE__ */ jsx111(DragAndDropNudge, {}),
|
|
50181
|
+
/* @__PURE__ */ jsx111(ThemeNudge, {})
|
|
50070
50182
|
]
|
|
50071
50183
|
}),
|
|
50072
|
-
/* @__PURE__ */
|
|
50184
|
+
/* @__PURE__ */ jsxs40("div", {
|
|
50073
50185
|
style: playerWrapper,
|
|
50074
50186
|
children: [
|
|
50075
|
-
/* @__PURE__ */
|
|
50187
|
+
/* @__PURE__ */ jsx111(Player, {
|
|
50076
50188
|
ref,
|
|
50077
50189
|
component: HomepageVideoComp,
|
|
50078
50190
|
compositionWidth: 640,
|
|
@@ -50089,11 +50201,11 @@ var Demo = () => {
|
|
|
50089
50201
|
numberOfSharedAudioTags: 0,
|
|
50090
50202
|
loop: true
|
|
50091
50203
|
}),
|
|
50092
|
-
/* @__PURE__ */
|
|
50204
|
+
/* @__PURE__ */ jsx111(PlayerControls, {
|
|
50093
50205
|
playerRef: ref,
|
|
50094
50206
|
durationInFrames: 120,
|
|
50095
50207
|
fps: 30,
|
|
50096
|
-
children: /* @__PURE__ */
|
|
50208
|
+
children: /* @__PURE__ */ jsx111(RenderButton, {
|
|
50097
50209
|
onError,
|
|
50098
50210
|
renderData: data2 ? {
|
|
50099
50211
|
cardOrder,
|
|
@@ -50107,8 +50219,8 @@ var Demo = () => {
|
|
|
50107
50219
|
})
|
|
50108
50220
|
]
|
|
50109
50221
|
}),
|
|
50110
|
-
error2 ? /* @__PURE__ */
|
|
50111
|
-
/* @__PURE__ */
|
|
50222
|
+
error2 ? /* @__PURE__ */ jsx111(DemoError, {}) : null,
|
|
50223
|
+
/* @__PURE__ */ jsx111(DownloadNudge, {})
|
|
50112
50224
|
]
|
|
50113
50225
|
})
|
|
50114
50226
|
]
|
|
@@ -50119,7 +50231,7 @@ var Demo = () => {
|
|
|
50119
50231
|
import { useEffect as useEffect58, useState as useState57 } from "react";
|
|
50120
50232
|
|
|
50121
50233
|
// src/components/homepage/layout/Button.tsx
|
|
50122
|
-
import { jsx as
|
|
50234
|
+
import { jsx as jsx115 } from "react/jsx-runtime";
|
|
50123
50235
|
var Button2 = (props) => {
|
|
50124
50236
|
const {
|
|
50125
50237
|
children,
|
|
@@ -50132,7 +50244,7 @@ var Button2 = (props) => {
|
|
|
50132
50244
|
...other
|
|
50133
50245
|
} = props;
|
|
50134
50246
|
const actualDisabled = other.disabled || loading;
|
|
50135
|
-
return /* @__PURE__ */
|
|
50247
|
+
return /* @__PURE__ */ jsx115("button", {
|
|
50136
50248
|
type: "button",
|
|
50137
50249
|
className: cn2("text-base rounded-lg font-bold appearance-none border-2 border-solid border-black border-b-4 font-sans flex flex-row items-center justify-center ", className3),
|
|
50138
50250
|
disabled: actualDisabled,
|
|
@@ -50150,7 +50262,7 @@ var Button2 = (props) => {
|
|
|
50150
50262
|
});
|
|
50151
50263
|
};
|
|
50152
50264
|
var BlueButton = (props) => {
|
|
50153
|
-
return /* @__PURE__ */
|
|
50265
|
+
return /* @__PURE__ */ jsx115(Button2, {
|
|
50154
50266
|
...props,
|
|
50155
50267
|
background: "var(--blue-underlay)",
|
|
50156
50268
|
color: "white"
|
|
@@ -50158,7 +50270,7 @@ var BlueButton = (props) => {
|
|
|
50158
50270
|
};
|
|
50159
50271
|
|
|
50160
50272
|
// src/components/homepage/EvaluateRemotion.tsx
|
|
50161
|
-
import { jsx as
|
|
50273
|
+
import { jsx as jsx117, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
50162
50274
|
var EvaluateRemotionSection = () => {
|
|
50163
50275
|
const [dailyAvatars, setDailyAvatars] = useState57([]);
|
|
50164
50276
|
useEffect58(() => {
|
|
@@ -50171,41 +50283,41 @@ var EvaluateRemotionSection = () => {
|
|
|
50171
50283
|
}
|
|
50172
50284
|
setDailyAvatars(selectedAvatars);
|
|
50173
50285
|
}, []);
|
|
50174
|
-
return /* @__PURE__ */
|
|
50286
|
+
return /* @__PURE__ */ jsxs41("div", {
|
|
50175
50287
|
className: "flex flex-col lg:flex-row gap-2",
|
|
50176
50288
|
children: [
|
|
50177
|
-
/* @__PURE__ */
|
|
50289
|
+
/* @__PURE__ */ jsxs41("div", {
|
|
50178
50290
|
className: "card flex-1 flex flex-col",
|
|
50179
50291
|
children: [
|
|
50180
|
-
/* @__PURE__ */
|
|
50292
|
+
/* @__PURE__ */ jsx117("div", {
|
|
50181
50293
|
className: "fontbrand text-2xl font-bold",
|
|
50182
50294
|
children: "Questions about our license?"
|
|
50183
50295
|
}),
|
|
50184
|
-
/* @__PURE__ */
|
|
50296
|
+
/* @__PURE__ */ jsx117("p", {
|
|
50185
50297
|
className: "text-muted fontbrand leading-snug",
|
|
50186
50298
|
children: "Book a 20 minute call or write us an email to get all your questions answered."
|
|
50187
50299
|
}),
|
|
50188
|
-
/* @__PURE__ */
|
|
50300
|
+
/* @__PURE__ */ jsx117("div", {
|
|
50189
50301
|
className: "flex-1"
|
|
50190
50302
|
}),
|
|
50191
|
-
/* @__PURE__ */
|
|
50303
|
+
/* @__PURE__ */ jsxs41("div", {
|
|
50192
50304
|
className: "flex flex-row flex-wrap gap-2",
|
|
50193
50305
|
children: [
|
|
50194
|
-
/* @__PURE__ */
|
|
50306
|
+
/* @__PURE__ */ jsx117("a", {
|
|
50195
50307
|
target: "_blank",
|
|
50196
50308
|
href: "https://cal.com/remotion/evaluate",
|
|
50197
50309
|
style: { textDecoration: "none" },
|
|
50198
|
-
children: /* @__PURE__ */
|
|
50310
|
+
children: /* @__PURE__ */ jsx117(BlueButton, {
|
|
50199
50311
|
size: "sm",
|
|
50200
50312
|
loading: false,
|
|
50201
50313
|
children: "Schedule a call"
|
|
50202
50314
|
})
|
|
50203
50315
|
}),
|
|
50204
|
-
/* @__PURE__ */
|
|
50316
|
+
/* @__PURE__ */ jsx117("a", {
|
|
50205
50317
|
target: "_blank",
|
|
50206
50318
|
href: "mailto:hi@remotion.dev",
|
|
50207
50319
|
style: { textDecoration: "none" },
|
|
50208
|
-
children: /* @__PURE__ */
|
|
50320
|
+
children: /* @__PURE__ */ jsx117(BlueButton, {
|
|
50209
50321
|
size: "sm",
|
|
50210
50322
|
loading: false,
|
|
50211
50323
|
children: "Write an email"
|
|
@@ -50215,35 +50327,35 @@ var EvaluateRemotionSection = () => {
|
|
|
50215
50327
|
})
|
|
50216
50328
|
]
|
|
50217
50329
|
}),
|
|
50218
|
-
/* @__PURE__ */
|
|
50330
|
+
/* @__PURE__ */ jsxs41("div", {
|
|
50219
50331
|
className: "card flex-1 flex flex-col",
|
|
50220
50332
|
children: [
|
|
50221
|
-
/* @__PURE__ */
|
|
50333
|
+
/* @__PURE__ */ jsx117("div", {
|
|
50222
50334
|
className: "fontbrand text-2xl font-bold",
|
|
50223
50335
|
children: "Get help with your Remotion project"
|
|
50224
50336
|
}),
|
|
50225
|
-
/* @__PURE__ */
|
|
50337
|
+
/* @__PURE__ */ jsx117("p", {
|
|
50226
50338
|
className: "text-muted fontbrand leading-snug",
|
|
50227
50339
|
children: "Contact our experts for help and work."
|
|
50228
50340
|
}),
|
|
50229
|
-
/* @__PURE__ */
|
|
50341
|
+
/* @__PURE__ */ jsx117("div", {
|
|
50230
50342
|
className: "flex-1"
|
|
50231
50343
|
}),
|
|
50232
|
-
/* @__PURE__ */
|
|
50344
|
+
/* @__PURE__ */ jsxs41("div", {
|
|
50233
50345
|
className: "flex flex-row justify-between",
|
|
50234
50346
|
children: [
|
|
50235
|
-
/* @__PURE__ */
|
|
50347
|
+
/* @__PURE__ */ jsx117("a", {
|
|
50236
50348
|
href: "/experts",
|
|
50237
50349
|
style: { textDecoration: "none" },
|
|
50238
|
-
children: /* @__PURE__ */
|
|
50350
|
+
children: /* @__PURE__ */ jsx117(BlueButton, {
|
|
50239
50351
|
size: "sm",
|
|
50240
50352
|
loading: false,
|
|
50241
50353
|
children: "Remotion Experts"
|
|
50242
50354
|
})
|
|
50243
50355
|
}),
|
|
50244
|
-
/* @__PURE__ */
|
|
50356
|
+
/* @__PURE__ */ jsx117("div", {
|
|
50245
50357
|
className: "flex justify-end items-end gap-3",
|
|
50246
|
-
children: dailyAvatars.map((avatar) => /* @__PURE__ */
|
|
50358
|
+
children: dailyAvatars.map((avatar) => /* @__PURE__ */ jsx117("div", {
|
|
50247
50359
|
className: "w-12 h-12 rounded-full bg-muted bg-cover bg-center -ml-5 border-2 border-black",
|
|
50248
50360
|
style: { backgroundImage: `url(${avatar})` }
|
|
50249
50361
|
}, avatar))
|
|
@@ -50258,26 +50370,26 @@ var EvaluateRemotionSection = () => {
|
|
|
50258
50370
|
var EvaluateRemotion_default = EvaluateRemotionSection;
|
|
50259
50371
|
|
|
50260
50372
|
// src/components/homepage/MakeVideosAgentically.tsx
|
|
50261
|
-
import { useEffect as
|
|
50373
|
+
import { useEffect as useEffect61, useRef as useRef60 } from "react";
|
|
50262
50374
|
|
|
50263
50375
|
// src/components/homepage/MakeVideosLinks.tsx
|
|
50264
50376
|
import React80 from "react";
|
|
50265
|
-
import { jsx as
|
|
50266
|
-
var
|
|
50377
|
+
import { jsx as jsx118, jsxs as jsxs44, Fragment as Fragment16 } from "react/jsx-runtime";
|
|
50378
|
+
var icon2 = {
|
|
50267
50379
|
height: 16,
|
|
50268
50380
|
marginLeft: 10
|
|
50269
50381
|
};
|
|
50270
50382
|
var MakeVideosLinkItem = ({ href, label: label3 }) => {
|
|
50271
|
-
return /* @__PURE__ */
|
|
50383
|
+
return /* @__PURE__ */ jsxs44("a", {
|
|
50272
50384
|
className: "no-underline text-[var(--subtitle)] font-brand font-medium text-sm inline-flex flex-row items-center",
|
|
50273
50385
|
href,
|
|
50274
50386
|
children: [
|
|
50275
50387
|
label3,
|
|
50276
|
-
/* @__PURE__ */
|
|
50277
|
-
style:
|
|
50388
|
+
/* @__PURE__ */ jsx118("svg", {
|
|
50389
|
+
style: icon2,
|
|
50278
50390
|
xmlns: "http://www.w3.org/2000/svg",
|
|
50279
50391
|
viewBox: "0 0 448 512",
|
|
50280
|
-
children: /* @__PURE__ */
|
|
50392
|
+
children: /* @__PURE__ */ jsx118("path", {
|
|
50281
50393
|
fill: "currentColor",
|
|
50282
50394
|
d: "M438.6 278.6l-160 160C272.4 444.9 264.2 448 256 448s-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L338.8 288H32C14.33 288 .0016 273.7 .0016 256S14.33 224 32 224h306.8l-105.4-105.4c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160C451.1 245.9 451.1 266.1 438.6 278.6z"
|
|
50283
50395
|
})
|
|
@@ -50289,20 +50401,20 @@ var MakeVideosLinks = ({ links }) => {
|
|
|
50289
50401
|
if (links.length === 0) {
|
|
50290
50402
|
return null;
|
|
50291
50403
|
}
|
|
50292
|
-
return /* @__PURE__ */
|
|
50404
|
+
return /* @__PURE__ */ jsxs44(Fragment16, {
|
|
50293
50405
|
children: [
|
|
50294
|
-
/* @__PURE__ */
|
|
50406
|
+
/* @__PURE__ */ jsx118("div", {
|
|
50295
50407
|
className: "h-4"
|
|
50296
50408
|
}),
|
|
50297
|
-
/* @__PURE__ */
|
|
50409
|
+
/* @__PURE__ */ jsx118("div", {
|
|
50298
50410
|
className: "leading-6",
|
|
50299
50411
|
children: links.map((link) => {
|
|
50300
|
-
return /* @__PURE__ */
|
|
50412
|
+
return /* @__PURE__ */ jsxs44(React80.Fragment, {
|
|
50301
50413
|
children: [
|
|
50302
|
-
/* @__PURE__ */
|
|
50414
|
+
/* @__PURE__ */ jsx118(MakeVideosLinkItem, {
|
|
50303
50415
|
...link
|
|
50304
50416
|
}),
|
|
50305
|
-
/* @__PURE__ */
|
|
50417
|
+
/* @__PURE__ */ jsx118("br", {})
|
|
50306
50418
|
]
|
|
50307
50419
|
}, link.href);
|
|
50308
50420
|
})
|
|
@@ -50311,10 +50423,37 @@ var MakeVideosLinks = ({ links }) => {
|
|
|
50311
50423
|
});
|
|
50312
50424
|
};
|
|
50313
50425
|
|
|
50426
|
+
// src/components/homepage/use-transparent-video-source.ts
|
|
50427
|
+
import { useEffect as useEffect60, useState as useState59 } from "react";
|
|
50428
|
+
|
|
50429
|
+
// src/components/homepage/IfYouKnowReact.tsx
|
|
50430
|
+
import { useEffect as useEffect59, useState as useState58 } from "react";
|
|
50431
|
+
import { jsx as jsx119, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
50432
|
+
var isWebkit = () => {
|
|
50433
|
+
if (typeof window === "undefined") {
|
|
50434
|
+
return false;
|
|
50435
|
+
}
|
|
50436
|
+
const isSafariUserAgent = Boolean(navigator.userAgent.match(/Version\/[\d.]+.*Safari/));
|
|
50437
|
+
const isChrome = Boolean(navigator.userAgent.match(/CriOS\//));
|
|
50438
|
+
return isSafariUserAgent || isChrome;
|
|
50439
|
+
};
|
|
50440
|
+
|
|
50441
|
+
// src/components/homepage/use-transparent-video-source.ts
|
|
50442
|
+
var useTransparentVideoSource = ({
|
|
50443
|
+
fallbackVideoSrc,
|
|
50444
|
+
videoSrc
|
|
50445
|
+
}) => {
|
|
50446
|
+
const [src, setSrc] = useState59(videoSrc);
|
|
50447
|
+
useEffect60(() => {
|
|
50448
|
+
setSrc(isWebkit() ? fallbackVideoSrc : videoSrc);
|
|
50449
|
+
}, [fallbackVideoSrc, videoSrc]);
|
|
50450
|
+
return src;
|
|
50451
|
+
};
|
|
50452
|
+
|
|
50314
50453
|
// src/components/homepage/MakeVideosAgentically.tsx
|
|
50315
|
-
import { jsx as jsx120, jsxs as jsxs47, Fragment as
|
|
50454
|
+
import { jsx as jsx120, jsxs as jsxs47, Fragment as Fragment17 } from "react/jsx-runtime";
|
|
50316
50455
|
var MakeVideosAgentically = ({
|
|
50317
|
-
title = /* @__PURE__ */ jsxs47(
|
|
50456
|
+
title = /* @__PURE__ */ jsxs47(Fragment17, {
|
|
50318
50457
|
children: [
|
|
50319
50458
|
/* @__PURE__ */ jsx120("span", {
|
|
50320
50459
|
className: "text-[var(--subtitle)]",
|
|
@@ -50336,7 +50475,8 @@ var MakeVideosAgentically = ({
|
|
|
50336
50475
|
}) => {
|
|
50337
50476
|
const ref = useRef60(null);
|
|
50338
50477
|
const videoRef = useRef60(null);
|
|
50339
|
-
|
|
50478
|
+
const src = useTransparentVideoSource({ fallbackVideoSrc, videoSrc });
|
|
50479
|
+
useEffect61(() => {
|
|
50340
50480
|
const { current } = ref;
|
|
50341
50481
|
if (!current) {
|
|
50342
50482
|
return;
|
|
@@ -50359,8 +50499,9 @@ var MakeVideosAgentically = ({
|
|
|
50359
50499
|
children: [
|
|
50360
50500
|
/* @__PURE__ */ jsx120("div", {
|
|
50361
50501
|
className: "flex aspect-square w-full items-start",
|
|
50362
|
-
children: showVideo ? /* @__PURE__ */
|
|
50502
|
+
children: showVideo ? /* @__PURE__ */ jsx120("video", {
|
|
50363
50503
|
ref: videoRef,
|
|
50504
|
+
src,
|
|
50364
50505
|
muted: true,
|
|
50365
50506
|
autoPlay: true,
|
|
50366
50507
|
playsInline: true,
|
|
@@ -50373,17 +50514,7 @@ var MakeVideosAgentically = ({
|
|
|
50373
50514
|
borderRadius: 7,
|
|
50374
50515
|
overflow: "hidden"
|
|
50375
50516
|
},
|
|
50376
|
-
className: "cursor-default! relative object-contain"
|
|
50377
|
-
children: [
|
|
50378
|
-
/* @__PURE__ */ jsx120("source", {
|
|
50379
|
-
src: fallbackVideoSrc,
|
|
50380
|
-
type: "video/mp4"
|
|
50381
|
-
}),
|
|
50382
|
-
/* @__PURE__ */ jsx120("source", {
|
|
50383
|
-
src: videoSrc,
|
|
50384
|
-
type: "video/webm"
|
|
50385
|
-
})
|
|
50386
|
-
]
|
|
50517
|
+
className: "cursor-default! relative object-contain"
|
|
50387
50518
|
}) : null
|
|
50388
50519
|
}),
|
|
50389
50520
|
/* @__PURE__ */ jsxs47("div", {
|
|
@@ -50408,9 +50539,9 @@ var MakeVideosAgentically = ({
|
|
|
50408
50539
|
|
|
50409
50540
|
// src/components/homepage/MakeVideosInteractively.tsx
|
|
50410
50541
|
import { useRef as useRef61 } from "react";
|
|
50411
|
-
import { jsx as jsx121, jsxs as jsxs48, Fragment as
|
|
50542
|
+
import { jsx as jsx121, jsxs as jsxs48, Fragment as Fragment18 } from "react/jsx-runtime";
|
|
50412
50543
|
var MakeVideosInteractively = ({
|
|
50413
|
-
title = /* @__PURE__ */ jsxs48(
|
|
50544
|
+
title = /* @__PURE__ */ jsxs48(Fragment18, {
|
|
50414
50545
|
children: [
|
|
50415
50546
|
/* @__PURE__ */ jsx121("span", {
|
|
50416
50547
|
className: "text-[var(--subtitle)]",
|
|
@@ -50428,13 +50559,15 @@ var MakeVideosInteractively = ({
|
|
|
50428
50559
|
fallbackVideoSrc = "/img/editing-safari.mp4"
|
|
50429
50560
|
}) => {
|
|
50430
50561
|
const ref = useRef61(null);
|
|
50562
|
+
const src = useTransparentVideoSource({ fallbackVideoSrc, videoSrc });
|
|
50431
50563
|
return /* @__PURE__ */ jsxs48("div", {
|
|
50432
50564
|
ref,
|
|
50433
50565
|
className: "flex min-w-0 basis-0 flex-col justify-start items-start lg:mt-0 flex-1",
|
|
50434
50566
|
children: [
|
|
50435
50567
|
/* @__PURE__ */ jsx121("div", {
|
|
50436
50568
|
className: "flex aspect-square w-full items-start",
|
|
50437
|
-
children: showVideo ? /* @__PURE__ */
|
|
50569
|
+
children: showVideo ? /* @__PURE__ */ jsx121("video", {
|
|
50570
|
+
src,
|
|
50438
50571
|
autoPlay: true,
|
|
50439
50572
|
muted: true,
|
|
50440
50573
|
playsInline: true,
|
|
@@ -50447,17 +50580,7 @@ var MakeVideosInteractively = ({
|
|
|
50447
50580
|
borderRadius: 7,
|
|
50448
50581
|
overflow: "hidden"
|
|
50449
50582
|
},
|
|
50450
|
-
className: "object-contain"
|
|
50451
|
-
children: [
|
|
50452
|
-
/* @__PURE__ */ jsx121("source", {
|
|
50453
|
-
src: fallbackVideoSrc,
|
|
50454
|
-
type: "video/mp4"
|
|
50455
|
-
}),
|
|
50456
|
-
/* @__PURE__ */ jsx121("source", {
|
|
50457
|
-
src: videoSrc,
|
|
50458
|
-
type: "video/webm"
|
|
50459
|
-
})
|
|
50460
|
-
]
|
|
50583
|
+
className: "object-contain"
|
|
50461
50584
|
}) : null
|
|
50462
50585
|
}),
|
|
50463
50586
|
/* @__PURE__ */ jsxs48("div", {
|
|
@@ -50481,9 +50604,9 @@ var MakeVideosInteractively = ({
|
|
|
50481
50604
|
};
|
|
50482
50605
|
|
|
50483
50606
|
// src/components/homepage/MakeVideosProgrammatically.tsx
|
|
50484
|
-
import { jsx as jsx125, jsxs as jsxs49, Fragment as
|
|
50607
|
+
import { jsx as jsx125, jsxs as jsxs49, Fragment as Fragment19 } from "react/jsx-runtime";
|
|
50485
50608
|
var MakeVideosProgrammatically = ({
|
|
50486
|
-
title = /* @__PURE__ */ jsxs49(
|
|
50609
|
+
title = /* @__PURE__ */ jsxs49(Fragment19, {
|
|
50487
50610
|
children: [
|
|
50488
50611
|
/* @__PURE__ */ jsx125("span", {
|
|
50489
50612
|
className: "text-[var(--subtitle)]",
|
|
@@ -50500,28 +50623,20 @@ var MakeVideosProgrammatically = ({
|
|
|
50500
50623
|
videoSrc = "/img/what-is-remotion.webm",
|
|
50501
50624
|
fallbackVideoSrc = "/img/what-is-remotion.mp4"
|
|
50502
50625
|
}) => {
|
|
50626
|
+
const src = useTransparentVideoSource({ fallbackVideoSrc, videoSrc });
|
|
50503
50627
|
return /* @__PURE__ */ jsxs49("div", {
|
|
50504
50628
|
className: "flex min-w-0 basis-0 flex-col flex-1",
|
|
50505
50629
|
children: [
|
|
50506
50630
|
/* @__PURE__ */ jsx125("div", {
|
|
50507
50631
|
className: "flex aspect-square w-full items-start",
|
|
50508
|
-
children: showVideo ? /* @__PURE__ */
|
|
50632
|
+
children: showVideo ? /* @__PURE__ */ jsx125("video", {
|
|
50633
|
+
src,
|
|
50509
50634
|
muted: true,
|
|
50510
50635
|
autoPlay: true,
|
|
50511
50636
|
playsInline: true,
|
|
50512
50637
|
loop: true,
|
|
50513
50638
|
preload: "metadata",
|
|
50514
|
-
className: "relative max-h-full max-w-full cursor-default! object-contain lg:mb-0 lg:mt-0"
|
|
50515
|
-
children: [
|
|
50516
|
-
/* @__PURE__ */ jsx125("source", {
|
|
50517
|
-
src: fallbackVideoSrc,
|
|
50518
|
-
type: "video/mp4"
|
|
50519
|
-
}),
|
|
50520
|
-
/* @__PURE__ */ jsx125("source", {
|
|
50521
|
-
src: videoSrc,
|
|
50522
|
-
type: "video/webm"
|
|
50523
|
-
})
|
|
50524
|
-
]
|
|
50639
|
+
className: "relative max-h-full max-w-full cursor-default! object-contain lg:mb-0 lg:mt-0"
|
|
50525
50640
|
}) : null
|
|
50526
50641
|
}),
|
|
50527
50642
|
/* @__PURE__ */ jsxs49("div", {
|
|
@@ -50545,12 +50660,12 @@ var MakeVideosProgrammatically = ({
|
|
|
50545
50660
|
};
|
|
50546
50661
|
|
|
50547
50662
|
// src/components/homepage/NewsletterButton.tsx
|
|
50548
|
-
import { useCallback as useCallback56, useState as
|
|
50663
|
+
import { useCallback as useCallback56, useState as useState60 } from "react";
|
|
50549
50664
|
import { jsx as jsx127, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
50550
50665
|
var NewsletterButton = () => {
|
|
50551
|
-
const [email, setEmail] =
|
|
50552
|
-
const [submitting, setSubmitting] =
|
|
50553
|
-
const [subscribed, setSubscribed] =
|
|
50666
|
+
const [email, setEmail] = useState60("");
|
|
50667
|
+
const [submitting, setSubmitting] = useState60(false);
|
|
50668
|
+
const [subscribed, setSubscribed] = useState60(false);
|
|
50554
50669
|
const handleSubmit = useCallback56(async (e) => {
|
|
50555
50670
|
try {
|
|
50556
50671
|
setSubmitting(true);
|
|
@@ -50633,7 +50748,7 @@ var NewsletterButton = () => {
|
|
|
50633
50748
|
};
|
|
50634
50749
|
|
|
50635
50750
|
// src/components/homepage/TrustedByBanner.tsx
|
|
50636
|
-
import { jsx as jsx128, jsxs as jsxs51, Fragment as
|
|
50751
|
+
import { jsx as jsx128, jsxs as jsxs51, Fragment as Fragment20 } from "react/jsx-runtime";
|
|
50637
50752
|
var TrustedByBanner = () => {
|
|
50638
50753
|
const logos = [
|
|
50639
50754
|
{
|
|
@@ -50746,7 +50861,7 @@ var TrustedByBanner = () => {
|
|
|
50746
50861
|
})
|
|
50747
50862
|
}
|
|
50748
50863
|
];
|
|
50749
|
-
return /* @__PURE__ */ jsxs51(
|
|
50864
|
+
return /* @__PURE__ */ jsxs51(Fragment20, {
|
|
50750
50865
|
children: [
|
|
50751
50866
|
/* @__PURE__ */ jsx128("h3", {
|
|
50752
50867
|
className: "text-center mt-20 mb-10",
|
|
@@ -50767,20 +50882,20 @@ var TrustedByBanner = () => {
|
|
|
50767
50882
|
var TrustedByBanner_default = TrustedByBanner;
|
|
50768
50883
|
|
|
50769
50884
|
// src/components/homepage/VideoAppsShowcase.tsx
|
|
50770
|
-
import { useRef as useRef66, useState as
|
|
50885
|
+
import { useRef as useRef66, useState as useState64 } from "react";
|
|
50771
50886
|
|
|
50772
50887
|
// src/components/homepage/MuxVideo.tsx
|
|
50773
50888
|
import Hls2 from "hls.js";
|
|
50774
|
-
import { forwardRef as forwardRef41, useEffect as
|
|
50889
|
+
import { forwardRef as forwardRef41, useEffect as useEffect65, useImperativeHandle as useImperativeHandle15, useRef as useRef65 } from "react";
|
|
50775
50890
|
|
|
50776
50891
|
// src/components/homepage/VideoPlayerWithControls.tsx
|
|
50777
50892
|
import Hls from "hls.js";
|
|
50778
50893
|
import"plyr/dist/plyr.css";
|
|
50779
|
-
import { forwardRef as forwardRef40, useCallback as useCallback57, useEffect as
|
|
50894
|
+
import { forwardRef as forwardRef40, useCallback as useCallback57, useEffect as useEffect63, useRef as useRef63, useState as useState61 } from "react";
|
|
50780
50895
|
import { jsx as jsx129 } from "react/jsx-runtime";
|
|
50781
50896
|
var useCombinedRefs = function(...refs) {
|
|
50782
50897
|
const targetRef = useRef63(null);
|
|
50783
|
-
|
|
50898
|
+
useEffect63(() => {
|
|
50784
50899
|
refs.forEach((ref) => {
|
|
50785
50900
|
if (!ref)
|
|
50786
50901
|
return;
|
|
@@ -50797,7 +50912,7 @@ var VideoPlayerWithControls = forwardRef40(({ playbackId, poster, currentTime, o
|
|
|
50797
50912
|
const videoRef = useRef63(null);
|
|
50798
50913
|
const metaRef = useCombinedRefs(ref, videoRef);
|
|
50799
50914
|
const playerRef = useRef63(null);
|
|
50800
|
-
const [playerInitTime] =
|
|
50915
|
+
const [playerInitTime] = useState61(Date.now());
|
|
50801
50916
|
const videoError = useCallback57((event) => onError(event), [onError]);
|
|
50802
50917
|
const onImageLoad = useCallback57((event) => {
|
|
50803
50918
|
const [w, h] = [event.target.width, event.target.height];
|
|
@@ -50809,12 +50924,12 @@ var VideoPlayerWithControls = forwardRef40(({ playbackId, poster, currentTime, o
|
|
|
50809
50924
|
console.error("Error getting img dimensions", event);
|
|
50810
50925
|
}
|
|
50811
50926
|
}, [onLoaded, onSize]);
|
|
50812
|
-
|
|
50927
|
+
useEffect63(() => {
|
|
50813
50928
|
const img = new Image;
|
|
50814
50929
|
img.onload = (evt) => onImageLoad(evt);
|
|
50815
50930
|
img.src = poster;
|
|
50816
50931
|
}, [onImageLoad, poster]);
|
|
50817
|
-
|
|
50932
|
+
useEffect63(() => {
|
|
50818
50933
|
const video = videoRef.current;
|
|
50819
50934
|
const src = `https://stream.mux.com/${playbackId}.m3u8`;
|
|
50820
50935
|
let hls;
|
|
@@ -50857,7 +50972,7 @@ var VideoPlayerWithControls = forwardRef40(({ playbackId, poster, currentTime, o
|
|
|
50857
50972
|
}
|
|
50858
50973
|
};
|
|
50859
50974
|
}, [playbackId, playerInitTime, videoError, videoRef]);
|
|
50860
|
-
|
|
50975
|
+
useEffect63(() => {
|
|
50861
50976
|
const video = videoRef.current;
|
|
50862
50977
|
if (currentTime && video) {
|
|
50863
50978
|
video.currentTime = currentTime;
|
|
@@ -50884,7 +50999,7 @@ var MuxVideoForward = ({ muxId, ...props }, ref) => {
|
|
|
50884
50999
|
const videoRef = useRef65(null);
|
|
50885
51000
|
const vidUrl = getVideoToPlayUrl(muxId);
|
|
50886
51001
|
useImperativeHandle15(ref, () => videoRef.current, []);
|
|
50887
|
-
|
|
51002
|
+
useEffect65(() => {
|
|
50888
51003
|
let hls;
|
|
50889
51004
|
if (videoRef.current) {
|
|
50890
51005
|
const { current } = videoRef;
|
|
@@ -50959,12 +51074,12 @@ var videoApps = [
|
|
|
50959
51074
|
buttonText: "GitHub Unwrapped website"
|
|
50960
51075
|
}
|
|
50961
51076
|
];
|
|
50962
|
-
var
|
|
51077
|
+
var icon3 = {
|
|
50963
51078
|
height: 16,
|
|
50964
51079
|
marginLeft: 10
|
|
50965
51080
|
};
|
|
50966
|
-
var
|
|
50967
|
-
style:
|
|
51081
|
+
var Arrow3 = () => /* @__PURE__ */ jsx131("svg", {
|
|
51082
|
+
style: icon3,
|
|
50968
51083
|
xmlns: "http://www.w3.org/2000/svg",
|
|
50969
51084
|
viewBox: "0 0 448 512",
|
|
50970
51085
|
children: /* @__PURE__ */ jsx131("path", {
|
|
@@ -50973,10 +51088,10 @@ var Arrow4 = () => /* @__PURE__ */ jsx131("svg", {
|
|
|
50973
51088
|
})
|
|
50974
51089
|
});
|
|
50975
51090
|
var BuiltWithRemotionShowcase = () => {
|
|
50976
|
-
const [activeTab, setActiveTab] =
|
|
50977
|
-
const [isMuted, setIsMuted] =
|
|
50978
|
-
const [isPlaying, setIsPlaying] =
|
|
50979
|
-
const [videoLoaded, setVideoLoaded] =
|
|
51091
|
+
const [activeTab, setActiveTab] = useState64(0);
|
|
51092
|
+
const [isMuted, setIsMuted] = useState64(true);
|
|
51093
|
+
const [isPlaying, setIsPlaying] = useState64(false);
|
|
51094
|
+
const [videoLoaded, setVideoLoaded] = useState64(false);
|
|
50980
51095
|
const videoRef = useRef66(null);
|
|
50981
51096
|
const containerRef = useRef66(null);
|
|
50982
51097
|
const handleTabChange = (index2) => {
|
|
@@ -51128,7 +51243,7 @@ var BuiltWithRemotionShowcase = () => {
|
|
|
51128
51243
|
href: videoApps[activeTab].link,
|
|
51129
51244
|
children: [
|
|
51130
51245
|
videoApps[activeTab].buttonText,
|
|
51131
|
-
/* @__PURE__ */ jsx131(
|
|
51246
|
+
/* @__PURE__ */ jsx131(Arrow3, {})
|
|
51132
51247
|
]
|
|
51133
51248
|
})
|
|
51134
51249
|
]
|
|
@@ -51163,7 +51278,7 @@ var BuiltWithRemotionShowcase = () => {
|
|
|
51163
51278
|
};
|
|
51164
51279
|
|
|
51165
51280
|
// src/components/homepage/GetStartedStrip.tsx
|
|
51166
|
-
import { useState as
|
|
51281
|
+
import { useState as useState66 } from "react";
|
|
51167
51282
|
|
|
51168
51283
|
// src/components/homepage/GitHubButton.tsx
|
|
51169
51284
|
import { jsx as jsx134, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
@@ -51198,7 +51313,7 @@ var GithubButton = () => {
|
|
|
51198
51313
|
// src/components/homepage/GetStartedStrip.tsx
|
|
51199
51314
|
import { jsx as jsx136, jsxs as jsxs56 } from "react/jsx-runtime";
|
|
51200
51315
|
var GetStarted = () => {
|
|
51201
|
-
const [clicked, setClicked] =
|
|
51316
|
+
const [clicked, setClicked] = useState66(null);
|
|
51202
51317
|
return /* @__PURE__ */ jsxs56("div", {
|
|
51203
51318
|
className: "flex flex-col lg:flex-row items-center justify-center text-center w-full",
|
|
51204
51319
|
children: [
|
|
@@ -51342,13 +51457,44 @@ var NewLanding = ({ colorMode, setColorMode }) => {
|
|
|
51342
51457
|
}),
|
|
51343
51458
|
/* @__PURE__ */ jsx138("br", {}),
|
|
51344
51459
|
/* @__PURE__ */ jsx138("br", {}),
|
|
51345
|
-
/* @__PURE__ */
|
|
51346
|
-
|
|
51347
|
-
|
|
51348
|
-
|
|
51460
|
+
/* @__PURE__ */ jsxs58("div", {
|
|
51461
|
+
className: makeVideosRowClassName,
|
|
51462
|
+
children: [
|
|
51463
|
+
/* @__PURE__ */ jsx138(MakeVideosProgrammatically, {
|
|
51464
|
+
title: "Design systems",
|
|
51465
|
+
description: "Create a library of animated assets for your organization.",
|
|
51466
|
+
videoSrc: "/img/design-systems.webm",
|
|
51467
|
+
fallbackVideoSrc: "/img/design-systems.mp4",
|
|
51468
|
+
links: [
|
|
51469
|
+
{ label: "Motion design systems", href: "/design-systems" }
|
|
51470
|
+
]
|
|
51471
|
+
}),
|
|
51472
|
+
/* @__PURE__ */ jsx138(MakeVideosAgentically, {
|
|
51473
|
+
title: "Batch rendering",
|
|
51474
|
+
description: "Render millions of videos on your own infrastructure.",
|
|
51475
|
+
links: [
|
|
51476
|
+
{
|
|
51477
|
+
label: "Server-side rendering",
|
|
51478
|
+
href: "/docs/compare-ssr"
|
|
51479
|
+
},
|
|
51480
|
+
{
|
|
51481
|
+
label: "Client-side rendering",
|
|
51482
|
+
href: "/docs/client-side-rendering"
|
|
51483
|
+
}
|
|
51484
|
+
]
|
|
51485
|
+
}),
|
|
51486
|
+
/* @__PURE__ */ jsx138(MakeVideosInteractively, {
|
|
51487
|
+
title: "Applications",
|
|
51488
|
+
description: "Publish a simple tool or a complex video editor.",
|
|
51489
|
+
videoSrc: "/img/applications.webm",
|
|
51490
|
+
fallbackVideoSrc: "/img/applications.mp4",
|
|
51491
|
+
links: [
|
|
51492
|
+
{ label: "Player", href: "/docs/player" },
|
|
51493
|
+
{ label: "Editor Starter", href: "/editor-starter" }
|
|
51494
|
+
]
|
|
51495
|
+
})
|
|
51496
|
+
]
|
|
51349
51497
|
}),
|
|
51350
|
-
/* @__PURE__ */ jsx138("br", {}),
|
|
51351
|
-
/* @__PURE__ */ jsx138("br", {}),
|
|
51352
51498
|
/* @__PURE__ */ jsx138(Demo, {}),
|
|
51353
51499
|
/* @__PURE__ */ jsx138("br", {}),
|
|
51354
51500
|
/* @__PURE__ */ jsx138("br", {}),
|