@remotion/promo-pages 4.0.458 → 4.0.460
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 +362 -257
- package/dist/design.js +204 -143
- package/dist/experts.js +201 -140
- package/dist/homepage/Pricing.js +204 -143
- package/dist/prompts/PromptsGallery.js +208 -147
- package/dist/prompts/PromptsShow.js +240 -179
- package/dist/prompts/PromptsSubmit.js +240 -179
- package/dist/team.js +204 -143
- package/dist/template-modal-content.js +213 -152
- package/dist/templates.js +205 -143
- package/package.json +13 -13
package/dist/Homepage.js
CHANGED
|
@@ -971,6 +971,7 @@ import { createContext as createContext14 } from "react";
|
|
|
971
971
|
import React12, { useCallback as useCallback5, useMemo as useMemo14, useRef as useRef6, useState as useState4 } from "react";
|
|
972
972
|
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
973
973
|
import React13, { forwardRef as forwardRef2, useState as useState5, useContext as useContext15, useMemo as useMemo15 } from "react";
|
|
974
|
+
import { createContext as createContext15 } from "react";
|
|
974
975
|
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
975
976
|
import {
|
|
976
977
|
forwardRef as forwardRef4,
|
|
@@ -984,7 +985,7 @@ import React15, { useCallback as useCallback6, useImperativeHandle, useRef as us
|
|
|
984
985
|
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
985
986
|
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
986
987
|
import {
|
|
987
|
-
createContext as
|
|
988
|
+
createContext as createContext16,
|
|
988
989
|
forwardRef as forwardRef5,
|
|
989
990
|
useCallback as useCallback7,
|
|
990
991
|
useContext as useContext17,
|
|
@@ -996,7 +997,7 @@ import {
|
|
|
996
997
|
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
997
998
|
import { useContext as useContext18, useLayoutEffect as useLayoutEffect5, useState as useState10 } from "react";
|
|
998
999
|
import {
|
|
999
|
-
createContext as
|
|
1000
|
+
createContext as createContext17,
|
|
1000
1001
|
useCallback as useCallback8,
|
|
1001
1002
|
useImperativeHandle as useImperativeHandle3,
|
|
1002
1003
|
useLayoutEffect as useLayoutEffect4,
|
|
@@ -1006,17 +1007,17 @@ import {
|
|
|
1006
1007
|
} from "react";
|
|
1007
1008
|
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
1008
1009
|
import { forwardRef as forwardRef8, useCallback as useCallback13, useContext as useContext30 } from "react";
|
|
1009
|
-
import React17, { createContext as
|
|
1010
|
+
import React17, { createContext as createContext18, useMemo as useMemo19 } from "react";
|
|
1010
1011
|
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
1011
1012
|
import { useContext as useContext19 } from "react";
|
|
1012
|
-
import { createContext as
|
|
1013
|
+
import { createContext as createContext19, useEffect as useEffect7, useState as useState11 } from "react";
|
|
1013
1014
|
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
1014
|
-
import { createContext as
|
|
1015
|
+
import { createContext as createContext20, useMemo as useMemo20, useReducer } from "react";
|
|
1015
1016
|
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
1016
1017
|
import React23, {
|
|
1017
1018
|
forwardRef as forwardRef6,
|
|
1018
1019
|
useContext as useContext28,
|
|
1019
|
-
useEffect as
|
|
1020
|
+
useEffect as useEffect14,
|
|
1020
1021
|
useImperativeHandle as useImperativeHandle4,
|
|
1021
1022
|
useMemo as useMemo28,
|
|
1022
1023
|
useRef as useRef18,
|
|
@@ -1024,7 +1025,7 @@ import React23, {
|
|
|
1024
1025
|
} from "react";
|
|
1025
1026
|
import { useContext as useContext21, useLayoutEffect as useLayoutEffect6, useRef as useRef13 } from "react";
|
|
1026
1027
|
import React20, {
|
|
1027
|
-
createContext as
|
|
1028
|
+
createContext as createContext21,
|
|
1028
1029
|
createRef as createRef2,
|
|
1029
1030
|
useCallback as useCallback9,
|
|
1030
1031
|
useContext as useContext20,
|
|
@@ -1032,15 +1033,15 @@ import React20, {
|
|
|
1032
1033
|
useRef as useRef11,
|
|
1033
1034
|
useState as useState12
|
|
1034
1035
|
} from "react";
|
|
1035
|
-
import {
|
|
1036
|
+
import { useMemo as useMemo21 } from "react";
|
|
1036
1037
|
import { jsx as jsx20, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
1037
1038
|
import { useRef as useRef12 } from "react";
|
|
1038
|
-
import { useContext as useContext23, useEffect as
|
|
1039
|
+
import { useContext as useContext23, useEffect as useEffect8, useMemo as useMemo23, useState as useState13 } from "react";
|
|
1039
1040
|
import { useContext as useContext22 } from "react";
|
|
1040
1041
|
import {
|
|
1041
1042
|
useCallback as useCallback12,
|
|
1042
1043
|
useContext as useContext26,
|
|
1043
|
-
useEffect as
|
|
1044
|
+
useEffect as useEffect12,
|
|
1044
1045
|
useLayoutEffect as useLayoutEffect8,
|
|
1045
1046
|
useRef as useRef17
|
|
1046
1047
|
} from "react";
|
|
@@ -1049,7 +1050,7 @@ import { useContext as useContext25, useMemo as useMemo25 } from "react";
|
|
|
1049
1050
|
import React21, {
|
|
1050
1051
|
useCallback as useCallback10,
|
|
1051
1052
|
useContext as useContext24,
|
|
1052
|
-
useEffect as
|
|
1053
|
+
useEffect as useEffect9,
|
|
1053
1054
|
useLayoutEffect as useLayoutEffect7,
|
|
1054
1055
|
useMemo as useMemo24,
|
|
1055
1056
|
useRef as useRef14,
|
|
@@ -1057,15 +1058,15 @@ import React21, {
|
|
|
1057
1058
|
} from "react";
|
|
1058
1059
|
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
1059
1060
|
import React22 from "react";
|
|
1060
|
-
import { useEffect as
|
|
1061
|
-
import { useEffect as
|
|
1062
|
-
import { useEffect as
|
|
1063
|
-
import { createContext as
|
|
1061
|
+
import { useEffect as useEffect10, useState as useState15 } from "react";
|
|
1062
|
+
import { useEffect as useEffect11, useRef as useRef16 } from "react";
|
|
1063
|
+
import { useEffect as useEffect13 } from "react";
|
|
1064
|
+
import { createContext as createContext22, useContext as useContext27, useMemo as useMemo27 } from "react";
|
|
1064
1065
|
import { jsx as jsx222 } from "react/jsx-runtime";
|
|
1065
1066
|
import {
|
|
1066
1067
|
forwardRef as forwardRef7,
|
|
1067
1068
|
useContext as useContext29,
|
|
1068
|
-
useEffect as
|
|
1069
|
+
useEffect as useEffect15,
|
|
1069
1070
|
useImperativeHandle as useImperativeHandle5,
|
|
1070
1071
|
useLayoutEffect as useLayoutEffect9,
|
|
1071
1072
|
useMemo as useMemo29,
|
|
@@ -1096,17 +1097,16 @@ import {
|
|
|
1096
1097
|
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
1097
1098
|
import React29 from "react";
|
|
1098
1099
|
import { useMemo as useMemo32 } from "react";
|
|
1099
|
-
import { createContext as
|
|
1100
|
+
import { createContext as createContext23, useContext as useContext32, useMemo as useMemo31 } from "react";
|
|
1100
1101
|
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
1101
1102
|
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
1102
1103
|
import React31 from "react";
|
|
1103
|
-
import React32, { createContext as
|
|
1104
|
-
import { useContext as useContext33 } from "react";
|
|
1104
|
+
import React32, { createContext as createContext24 } from "react";
|
|
1105
1105
|
import { useCallback as useCallback18 } from "react";
|
|
1106
1106
|
import {
|
|
1107
1107
|
useCallback as useCallback17,
|
|
1108
|
-
useContext as
|
|
1109
|
-
useEffect as
|
|
1108
|
+
useContext as useContext33,
|
|
1109
|
+
useEffect as useEffect16,
|
|
1110
1110
|
useLayoutEffect as useLayoutEffect11,
|
|
1111
1111
|
useMemo as useMemo33,
|
|
1112
1112
|
useState as useState20
|
|
@@ -1114,29 +1114,29 @@ import {
|
|
|
1114
1114
|
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
1115
1115
|
import React34, {
|
|
1116
1116
|
forwardRef as forwardRef10,
|
|
1117
|
-
useContext as
|
|
1118
|
-
useEffect as
|
|
1117
|
+
useContext as useContext34,
|
|
1118
|
+
useEffect as useEffect18,
|
|
1119
1119
|
useImperativeHandle as useImperativeHandle8,
|
|
1120
1120
|
useMemo as useMemo34,
|
|
1121
1121
|
useRef as useRef22,
|
|
1122
1122
|
useState as useState21
|
|
1123
1123
|
} from "react";
|
|
1124
|
-
import { useEffect as
|
|
1124
|
+
import { useEffect as useEffect17 } from "react";
|
|
1125
1125
|
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
1126
1126
|
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
1127
1127
|
import React36, { useMemo as useMemo35 } from "react";
|
|
1128
1128
|
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
1129
1129
|
import { Children, forwardRef as forwardRef11, useMemo as useMemo36 } from "react";
|
|
1130
1130
|
import React37 from "react";
|
|
1131
|
-
import React38, { createContext as
|
|
1131
|
+
import React38, { createContext as createContext25 } from "react";
|
|
1132
1132
|
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
1133
1133
|
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
1134
1134
|
import React40 from "react";
|
|
1135
|
-
import { forwardRef as forwardRef13, useCallback as useCallback19, useContext as
|
|
1135
|
+
import { forwardRef as forwardRef13, useCallback as useCallback19, useContext as useContext36 } from "react";
|
|
1136
1136
|
import {
|
|
1137
1137
|
forwardRef as forwardRef12,
|
|
1138
|
-
useContext as
|
|
1139
|
-
useEffect as
|
|
1138
|
+
useContext as useContext35,
|
|
1139
|
+
useEffect as useEffect19,
|
|
1140
1140
|
useImperativeHandle as useImperativeHandle9,
|
|
1141
1141
|
useLayoutEffect as useLayoutEffect12,
|
|
1142
1142
|
useMemo as useMemo37,
|
|
@@ -2673,7 +2673,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
|
2673
2673
|
var addSequenceStackTraces = (component) => {
|
|
2674
2674
|
componentsToAddStacksTo.push(component);
|
|
2675
2675
|
};
|
|
2676
|
-
var VERSION = "4.0.
|
|
2676
|
+
var VERSION = "4.0.460";
|
|
2677
2677
|
var checkMultipleRemotionVersions = () => {
|
|
2678
2678
|
if (typeof globalThis === "undefined") {
|
|
2679
2679
|
return;
|
|
@@ -2892,6 +2892,9 @@ var sequenceSchemaDefaultLayoutNone = {
|
|
|
2892
2892
|
default: "none"
|
|
2893
2893
|
}
|
|
2894
2894
|
};
|
|
2895
|
+
var nodePathToString = (nodePath) => {
|
|
2896
|
+
return nodePath.join(".");
|
|
2897
|
+
};
|
|
2895
2898
|
var SequenceManager = React12.createContext({
|
|
2896
2899
|
registerSequence: () => {
|
|
2897
2900
|
throw new Error("SequenceManagerContext not initialized");
|
|
@@ -2907,19 +2910,48 @@ var SequenceVisibilityToggleContext = React12.createContext({
|
|
|
2907
2910
|
throw new Error("SequenceVisibilityToggle not initialized");
|
|
2908
2911
|
}
|
|
2909
2912
|
});
|
|
2910
|
-
var
|
|
2911
|
-
|
|
2913
|
+
var getCodeValues = (codeValues, nodePath) => {
|
|
2914
|
+
const status = codeValues[nodePathToString(nodePath)];
|
|
2915
|
+
if (!status) {
|
|
2916
|
+
return;
|
|
2917
|
+
}
|
|
2918
|
+
if (!status.canUpdate) {
|
|
2919
|
+
return;
|
|
2920
|
+
}
|
|
2921
|
+
return status.props;
|
|
2922
|
+
};
|
|
2923
|
+
var getIsJsxInMapCallback = (codeValues, nodePath) => {
|
|
2924
|
+
const status = codeValues[nodePathToString(nodePath)];
|
|
2925
|
+
if (!status) {
|
|
2926
|
+
return false;
|
|
2927
|
+
}
|
|
2928
|
+
if (!status.canUpdate) {
|
|
2929
|
+
return false;
|
|
2930
|
+
}
|
|
2931
|
+
return status.jsxInMapCallback;
|
|
2932
|
+
};
|
|
2933
|
+
var VisualModeGettersContext = React12.createContext({
|
|
2934
|
+
getDragOverrides: () => {
|
|
2935
|
+
throw new Error("VisualModeGettersContext not initialized");
|
|
2936
|
+
},
|
|
2937
|
+
getCodeValues: () => {
|
|
2938
|
+
throw new Error("VisualModeGettersContext not initialized");
|
|
2939
|
+
},
|
|
2940
|
+
getIsJsxInMapCallback: () => {
|
|
2941
|
+
throw new Error("VisualModeGettersContext not initialized");
|
|
2942
|
+
},
|
|
2943
|
+
visualModeEnabled: false
|
|
2944
|
+
});
|
|
2945
|
+
var VisualModeSettersContext = React12.createContext({
|
|
2912
2946
|
setDragOverrides: () => {
|
|
2913
|
-
throw new Error("
|
|
2947
|
+
throw new Error("VisualModeSettersContext not initialized");
|
|
2914
2948
|
},
|
|
2915
2949
|
clearDragOverrides: () => {
|
|
2916
|
-
throw new Error("
|
|
2950
|
+
throw new Error("VisualModeSettersContext not initialized");
|
|
2917
2951
|
},
|
|
2918
|
-
codeValues: {},
|
|
2919
2952
|
setCodeValues: () => {
|
|
2920
|
-
throw new Error("
|
|
2921
|
-
}
|
|
2922
|
-
visualModeEnabled: false
|
|
2953
|
+
throw new Error("VisualModeSettersContext not initialized");
|
|
2954
|
+
}
|
|
2923
2955
|
});
|
|
2924
2956
|
var SequenceManagerProvider = ({ children, visualModeEnabled }) => {
|
|
2925
2957
|
const [sequences, setSequences] = useState4([]);
|
|
@@ -2928,39 +2960,33 @@ var SequenceManagerProvider = ({ children, visualModeEnabled }) => {
|
|
|
2928
2960
|
const controlOverridesRef = useRef6(dragOverrides);
|
|
2929
2961
|
controlOverridesRef.current = dragOverrides;
|
|
2930
2962
|
const [codeValues, setCodeValuesMapState] = useState4({});
|
|
2931
|
-
const setDragOverrides = useCallback5((
|
|
2963
|
+
const setDragOverrides = useCallback5((nodePath, key, value) => {
|
|
2932
2964
|
setControlOverrides((prev) => ({
|
|
2933
2965
|
...prev,
|
|
2934
|
-
[
|
|
2935
|
-
...prev[
|
|
2966
|
+
[nodePathToString(nodePath)]: {
|
|
2967
|
+
...prev[nodePathToString(nodePath)],
|
|
2936
2968
|
[key]: value
|
|
2937
2969
|
}
|
|
2938
2970
|
}));
|
|
2939
2971
|
}, []);
|
|
2940
|
-
const clearDragOverrides = useCallback5((
|
|
2972
|
+
const clearDragOverrides = useCallback5((nodePath) => {
|
|
2941
2973
|
setControlOverrides((prev) => {
|
|
2942
|
-
|
|
2974
|
+
const key = nodePathToString(nodePath);
|
|
2975
|
+
if (!prev[key]) {
|
|
2943
2976
|
return prev;
|
|
2944
2977
|
}
|
|
2945
2978
|
const next = { ...prev };
|
|
2946
|
-
delete next[
|
|
2979
|
+
delete next[key];
|
|
2947
2980
|
return next;
|
|
2948
2981
|
});
|
|
2949
2982
|
}, []);
|
|
2950
|
-
const setCodeValues = useCallback5((
|
|
2983
|
+
const setCodeValues = useCallback5((nodePath, values) => {
|
|
2951
2984
|
setCodeValuesMapState((prev) => {
|
|
2952
|
-
|
|
2985
|
+
const key = nodePathToString(nodePath);
|
|
2986
|
+
if (prev[key] === values) {
|
|
2953
2987
|
return prev;
|
|
2954
2988
|
}
|
|
2955
|
-
|
|
2956
|
-
if (!(sequenceId in prev)) {
|
|
2957
|
-
return prev;
|
|
2958
|
-
}
|
|
2959
|
-
const next = { ...prev };
|
|
2960
|
-
delete next[sequenceId];
|
|
2961
|
-
return next;
|
|
2962
|
-
}
|
|
2963
|
-
return { ...prev, [sequenceId]: values };
|
|
2989
|
+
return { ...prev, [key]: values };
|
|
2964
2990
|
});
|
|
2965
2991
|
}, []);
|
|
2966
2992
|
const registerSequence = useCallback5((seq) => {
|
|
@@ -2984,30 +3010,31 @@ var SequenceManagerProvider = ({ children, visualModeEnabled }) => {
|
|
|
2984
3010
|
setHidden
|
|
2985
3011
|
};
|
|
2986
3012
|
}, [hidden]);
|
|
2987
|
-
const
|
|
3013
|
+
const gettersContext = useMemo14(() => {
|
|
2988
3014
|
return {
|
|
2989
3015
|
visualModeEnabled,
|
|
2990
|
-
dragOverrides,
|
|
3016
|
+
getDragOverrides: (nodePath) => dragOverrides[nodePathToString(nodePath)] ?? {},
|
|
3017
|
+
getCodeValues: (nodePath) => getCodeValues(codeValues, nodePath),
|
|
3018
|
+
getIsJsxInMapCallback: (nodePath) => getIsJsxInMapCallback(codeValues, nodePath)
|
|
3019
|
+
};
|
|
3020
|
+
}, [visualModeEnabled, dragOverrides, codeValues]);
|
|
3021
|
+
const settersContext = useMemo14(() => {
|
|
3022
|
+
return {
|
|
2991
3023
|
setDragOverrides,
|
|
2992
3024
|
clearDragOverrides,
|
|
2993
|
-
codeValues,
|
|
2994
3025
|
setCodeValues
|
|
2995
3026
|
};
|
|
2996
|
-
}, [
|
|
2997
|
-
visualModeEnabled,
|
|
2998
|
-
dragOverrides,
|
|
2999
|
-
setDragOverrides,
|
|
3000
|
-
clearDragOverrides,
|
|
3001
|
-
codeValues,
|
|
3002
|
-
setCodeValues
|
|
3003
|
-
]);
|
|
3027
|
+
}, [setDragOverrides, clearDragOverrides, setCodeValues]);
|
|
3004
3028
|
return /* @__PURE__ */ jsx11(SequenceManager.Provider, {
|
|
3005
3029
|
value: sequenceContext,
|
|
3006
3030
|
children: /* @__PURE__ */ jsx11(SequenceVisibilityToggleContext.Provider, {
|
|
3007
3031
|
value: hiddenContext,
|
|
3008
|
-
children: /* @__PURE__ */ jsx11(
|
|
3009
|
-
value:
|
|
3010
|
-
children
|
|
3032
|
+
children: /* @__PURE__ */ jsx11(VisualModeGettersContext.Provider, {
|
|
3033
|
+
value: gettersContext,
|
|
3034
|
+
children: /* @__PURE__ */ jsx11(VisualModeSettersContext.Provider, {
|
|
3035
|
+
value: settersContext,
|
|
3036
|
+
children
|
|
3037
|
+
})
|
|
3011
3038
|
})
|
|
3012
3039
|
})
|
|
3013
3040
|
});
|
|
@@ -3052,6 +3079,14 @@ var getFlatSchemaWithAllKeys = (schema) => {
|
|
|
3052
3079
|
}
|
|
3053
3080
|
return out;
|
|
3054
3081
|
};
|
|
3082
|
+
var OverrideIdsToNodePathsGettersContext = createContext15({
|
|
3083
|
+
overrideIdToNodePathMappings: {}
|
|
3084
|
+
});
|
|
3085
|
+
var OverrideIdsToNodePathsSettersContext = createContext15({
|
|
3086
|
+
setOverrideIdToNodePath: () => {
|
|
3087
|
+
throw new Error("OverrideIdsToNodePathsSettersContext not initialized");
|
|
3088
|
+
}
|
|
3089
|
+
});
|
|
3055
3090
|
var getEffectiveVisualModeValue = ({
|
|
3056
3091
|
codeValue,
|
|
3057
3092
|
runtimeValue,
|
|
@@ -3156,6 +3191,7 @@ var mergeValues = ({
|
|
|
3156
3191
|
}
|
|
3157
3192
|
return merged;
|
|
3158
3193
|
};
|
|
3194
|
+
var stackToOverrideMap = {};
|
|
3159
3195
|
var wrapInSchema = (Component, schema) => {
|
|
3160
3196
|
if (typeof process === "undefined" || !process.env?.EXPERIMENTAL_VISUAL_MODE_ENABLED) {
|
|
3161
3197
|
return Component;
|
|
@@ -3164,7 +3200,8 @@ var wrapInSchema = (Component, schema) => {
|
|
|
3164
3200
|
const flatKeys = Object.keys(flatSchema);
|
|
3165
3201
|
const Wrapped = forwardRef2((props, ref) => {
|
|
3166
3202
|
const env = useRemotionEnvironment();
|
|
3167
|
-
const { visualModeEnabled,
|
|
3203
|
+
const { visualModeEnabled, getDragOverrides, getCodeValues: getCodeValues2 } = useContext15(VisualModeGettersContext);
|
|
3204
|
+
const nodePathMapping = useContext15(OverrideIdsToNodePathsGettersContext);
|
|
3168
3205
|
if (!env.isStudio || env.isReadOnlyStudio || env.isRendering || !visualModeEnabled) {
|
|
3169
3206
|
return React13.createElement(Component, {
|
|
3170
3207
|
...props,
|
|
@@ -3178,7 +3215,20 @@ var wrapInSchema = (Component, schema) => {
|
|
|
3178
3215
|
ref
|
|
3179
3216
|
});
|
|
3180
3217
|
}
|
|
3181
|
-
const [overrideId] = useState5(() =>
|
|
3218
|
+
const [overrideId] = useState5(() => {
|
|
3219
|
+
const { stack } = props;
|
|
3220
|
+
if (!stack) {
|
|
3221
|
+
return String(Math.random());
|
|
3222
|
+
}
|
|
3223
|
+
const existingOverrideId = stackToOverrideMap[stack];
|
|
3224
|
+
if (existingOverrideId) {
|
|
3225
|
+
return existingOverrideId;
|
|
3226
|
+
}
|
|
3227
|
+
const newOverrideId = String(Math.random());
|
|
3228
|
+
stackToOverrideMap[stack] = newOverrideId;
|
|
3229
|
+
return newOverrideId;
|
|
3230
|
+
});
|
|
3231
|
+
const nodePath = nodePathMapping.overrideIdToNodePathMappings[overrideId] ?? null;
|
|
3182
3232
|
const runtimeValues = flatKeys.map((k) => getNestedValue(props, k));
|
|
3183
3233
|
const currentRuntimeValueDotNotation = useMemo15(() => readValuesFromProps(props, flatKeys), runtimeValues);
|
|
3184
3234
|
const controls = useMemo15(() => {
|
|
@@ -3192,10 +3242,15 @@ var wrapInSchema = (Component, schema) => {
|
|
|
3192
3242
|
return computeEffectiveSchemaValuesDotNotation({
|
|
3193
3243
|
schema,
|
|
3194
3244
|
currentValue: currentRuntimeValueDotNotation,
|
|
3195
|
-
overrideValues:
|
|
3196
|
-
propStatus:
|
|
3245
|
+
overrideValues: nodePath === null ? {} : getDragOverrides(nodePath),
|
|
3246
|
+
propStatus: nodePath === null ? undefined : getCodeValues2(nodePath)
|
|
3197
3247
|
});
|
|
3198
|
-
}, [
|
|
3248
|
+
}, [
|
|
3249
|
+
currentRuntimeValueDotNotation,
|
|
3250
|
+
getDragOverrides,
|
|
3251
|
+
nodePath,
|
|
3252
|
+
getCodeValues2
|
|
3253
|
+
]);
|
|
3199
3254
|
const activeKeys = selectActiveKeys(schema, valuesDotNotation);
|
|
3200
3255
|
const mergedProps = mergeValues({
|
|
3201
3256
|
props,
|
|
@@ -3859,7 +3914,7 @@ var defaultOnPaint = ({
|
|
|
3859
3914
|
const transform = ctx.drawElementImage(elementImage, 0, 0);
|
|
3860
3915
|
element.style.transform = transform.toString();
|
|
3861
3916
|
};
|
|
3862
|
-
var HtmlInCanvasAncestorContext =
|
|
3917
|
+
var HtmlInCanvasAncestorContext = createContext16(false);
|
|
3863
3918
|
var HtmlInCanvasInner = forwardRef5(({
|
|
3864
3919
|
width,
|
|
3865
3920
|
height,
|
|
@@ -4076,7 +4131,7 @@ var validateRenderAsset = (artifact) => {
|
|
|
4076
4131
|
}
|
|
4077
4132
|
validateContent(artifact.content);
|
|
4078
4133
|
};
|
|
4079
|
-
var RenderAssetManager =
|
|
4134
|
+
var RenderAssetManager = createContext17({
|
|
4080
4135
|
registerRenderAsset: () => {
|
|
4081
4136
|
return;
|
|
4082
4137
|
},
|
|
@@ -4214,7 +4269,7 @@ var calculateMediaDuration = ({
|
|
|
4214
4269
|
const actualDuration = duration / playbackRate;
|
|
4215
4270
|
return Math.floor(actualDuration);
|
|
4216
4271
|
};
|
|
4217
|
-
var LoopContext =
|
|
4272
|
+
var LoopContext = createContext18(null);
|
|
4218
4273
|
var useLoop = () => {
|
|
4219
4274
|
return React17.useContext(LoopContext);
|
|
4220
4275
|
};
|
|
@@ -4285,7 +4340,7 @@ var playbackLogging = ({
|
|
|
4285
4340
|
const tags = [mountTime ? Date.now() - mountTime + "ms " : null, tag].filter(Boolean).join(" ");
|
|
4286
4341
|
Log.trace({ logLevel, tag: null }, `[${tags}]`, message);
|
|
4287
4342
|
};
|
|
4288
|
-
var PreloadContext =
|
|
4343
|
+
var PreloadContext = createContext19({});
|
|
4289
4344
|
var preloads = {};
|
|
4290
4345
|
var updaters = [];
|
|
4291
4346
|
var setPreloads = (updater) => {
|
|
@@ -4606,7 +4661,7 @@ var durationReducer = (state, action) => {
|
|
|
4606
4661
|
return state;
|
|
4607
4662
|
}
|
|
4608
4663
|
};
|
|
4609
|
-
var DurationsContext =
|
|
4664
|
+
var DurationsContext = createContext20({
|
|
4610
4665
|
durations: {},
|
|
4611
4666
|
setDurations: () => {
|
|
4612
4667
|
throw new Error("context missing");
|
|
@@ -4772,11 +4827,6 @@ var useSingletonAudioContext = ({
|
|
|
4772
4827
|
gainNode
|
|
4773
4828
|
};
|
|
4774
4829
|
}, [logLevel, latencyHint, env.isRendering, audioEnabled]);
|
|
4775
|
-
useEffect8(() => {
|
|
4776
|
-
return () => {
|
|
4777
|
-
context?.audioContext?.close();
|
|
4778
|
-
};
|
|
4779
|
-
}, [context]);
|
|
4780
4830
|
return context;
|
|
4781
4831
|
};
|
|
4782
4832
|
var waitUntilActuallyResumed = (audioContext, logLevel) => {
|
|
@@ -4825,8 +4875,8 @@ var didPropChange = (key, newProp, prevProp) => {
|
|
|
4825
4875
|
}
|
|
4826
4876
|
return true;
|
|
4827
4877
|
};
|
|
4828
|
-
var SharedAudioContext =
|
|
4829
|
-
var SharedAudioTagsContext =
|
|
4878
|
+
var SharedAudioContext = createContext21(null);
|
|
4879
|
+
var SharedAudioTagsContext = createContext21(null);
|
|
4830
4880
|
var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled }) => {
|
|
4831
4881
|
const logLevel = useLogLevel();
|
|
4832
4882
|
const ctxAndGain = useSingletonAudioContext({
|
|
@@ -4871,8 +4921,9 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
|
|
|
4871
4921
|
if (!ctxAndGain) {
|
|
4872
4922
|
throw new Error("Audio context not found");
|
|
4873
4923
|
}
|
|
4924
|
+
const saveForLater = ctxAndGain.audioContext.state === "suspended" && !isResuming.current;
|
|
4874
4925
|
if (duration > 0) {
|
|
4875
|
-
if (
|
|
4926
|
+
if (saveForLater) {
|
|
4876
4927
|
nodesToResume.current.set(node, {
|
|
4877
4928
|
scheduledTime,
|
|
4878
4929
|
offset,
|
|
@@ -4890,7 +4941,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
|
|
|
4890
4941
|
const prev = prevEndTimes.current;
|
|
4891
4942
|
const scheduledMismatch = prev.scheduledEndTime !== null && Math.abs(scheduledTime - prev.scheduledEndTime) > 0.001;
|
|
4892
4943
|
const mediaMismatch = prev.mediaEndTime !== null && Math.abs(mediaTime - prev.mediaEndTime) > 0.001;
|
|
4893
|
-
Log.verbose({ logLevel, tag: "audio-scheduling" }, "scheduled %c%s%c %s %c%s%c %s %c%s%c %s %s %s", scheduledMismatch ? "color: red; font-weight: bold" : "", scheduledTime.toFixed(4), "", scheduledEndTime.toFixed(4), mediaMismatch ? "color: red; font-weight: bold" : "", mediaTime.toFixed(4), "", mediaEndTime.toFixed(4), duration < 0 ? "color: red; font-weight: bold" : timeDiff < 0 ? "color: red; font-weight: bold" : "color: blue; font-weight: bold", duration < 0 ? "missed " + Math.abs(offset).toFixed(2) + "s" : Math.abs(timeDiff).toFixed(2) + (timeDiff < 0 ? " delay" : " ahead"), "", "current=" + currentTime.toFixed(4), "offset=" + offset.toFixed(4), "latency=" + latency.toFixed(4), "state=" + ctxAndGain.audioContext.state, originalUnloopedMediaTimestamp !== mediaTime ? "original_ts=" + originalUnloopedMediaTimestamp.toFixed(4) : "");
|
|
4944
|
+
Log.verbose({ logLevel, tag: "audio-scheduling" }, "scheduled %c%s%c %s %c%s%c %s %c%s%c %s %s %s %s %s", scheduledMismatch ? "color: red; font-weight: bold" : "", scheduledTime.toFixed(4), "", scheduledEndTime.toFixed(4), mediaMismatch ? "color: red; font-weight: bold" : "", mediaTime.toFixed(4), "", mediaEndTime.toFixed(4), duration < 0 ? "color: red; font-weight: bold" : timeDiff < 0 ? "color: red; font-weight: bold" : "color: blue; font-weight: bold", duration < 0 ? "missed " + Math.abs(offset).toFixed(2) + "s" : Math.abs(timeDiff).toFixed(2) + (timeDiff < 0 ? " delay" : " ahead"), "", "current=" + currentTime.toFixed(4), "actualcurrent=" + ctxAndGain.audioContext.currentTime.toFixed(4), "offset=" + offset.toFixed(4), "latency=" + latency.toFixed(4), "state=" + ctxAndGain.audioContext.state, originalUnloopedMediaTimestamp !== mediaTime ? "original_ts=" + originalUnloopedMediaTimestamp.toFixed(4) : "", "action=" + (saveForLater ? "schedule" : "start"), "");
|
|
4894
4945
|
prev.scheduledEndTime = scheduledEndTime;
|
|
4895
4946
|
prev.mediaEndTime = mediaEndTime;
|
|
4896
4947
|
return duration > 0 ? {
|
|
@@ -4910,6 +4961,13 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
|
|
|
4910
4961
|
return Promise.resolve();
|
|
4911
4962
|
}
|
|
4912
4963
|
audioContextIsPlayingEventually.current = true;
|
|
4964
|
+
ctxAndGain.gainNode.gain.cancelScheduledValues(ctxAndGain.audioContext.currentTime);
|
|
4965
|
+
ctxAndGain.gainNode.gain.setValueAtTime(0, ctxAndGain.audioContext.currentTime);
|
|
4966
|
+
ctxAndGain.gainNode.gain.linearRampToValueAtTime(1, ctxAndGain.audioContext.currentTime + 0.03);
|
|
4967
|
+
nodesToResume.current.forEach((r, node) => {
|
|
4968
|
+
node.start(r.scheduledTime, r.offset, r.duration);
|
|
4969
|
+
});
|
|
4970
|
+
nodesToResume.current.clear();
|
|
4913
4971
|
const resumePromise = ctxAndGain.audioContext.resume();
|
|
4914
4972
|
isResuming.current = new Promise((resolve) => {
|
|
4915
4973
|
waitUntilActuallyResumed(ctxAndGain.audioContext, logLevel).then(resolve);
|
|
@@ -4920,11 +4978,6 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
|
|
|
4920
4978
|
}).finally(() => {
|
|
4921
4979
|
isResuming.current = null;
|
|
4922
4980
|
});
|
|
4923
|
-
ctxAndGain.gainNode.gain.cancelScheduledValues(ctxAndGain.audioContext.currentTime);
|
|
4924
|
-
ctxAndGain.gainNode.gain.setValueAtTime(0, ctxAndGain.audioContext.currentTime);
|
|
4925
|
-
ctxAndGain.gainNode.gain.linearRampToValueAtTime(1, ctxAndGain.audioContext.currentTime + 0.03);
|
|
4926
|
-
nodesToResume.current.forEach((r, node) => node.start(r.scheduledTime, r.offset, r.duration));
|
|
4927
|
-
nodesToResume.current.clear();
|
|
4928
4981
|
return resumePromise.catch(() => {});
|
|
4929
4982
|
}, [ctxAndGain, logLevel]);
|
|
4930
4983
|
const getIsResumingAudioContext = useCallback9(() => {
|
|
@@ -5507,7 +5560,7 @@ var useBasicMediaInTimeline = ({
|
|
|
5507
5560
|
});
|
|
5508
5561
|
}).join(",");
|
|
5509
5562
|
}, [duration, mediaStartsAt, volume, mediaVolume]);
|
|
5510
|
-
|
|
5563
|
+
useEffect8(() => {
|
|
5511
5564
|
if (typeof volume === "number" && volume !== initialVolume) {
|
|
5512
5565
|
warnOnce2(`Remotion: The ${mediaType} with src ${src} has changed it's volume. Prefer the callback syntax for setting volume to get better timeline display: https://www.remotion.dev/docs/audio/volume`);
|
|
5513
5566
|
}
|
|
@@ -5570,7 +5623,7 @@ var useImageInTimeline = ({
|
|
|
5570
5623
|
loop: false
|
|
5571
5624
|
});
|
|
5572
5625
|
const { isStudio } = useRemotionEnvironment();
|
|
5573
|
-
|
|
5626
|
+
useEffect8(() => {
|
|
5574
5627
|
if (!src) {
|
|
5575
5628
|
throw new Error("No src passed");
|
|
5576
5629
|
}
|
|
@@ -5653,7 +5706,7 @@ var useMediaInTimeline = ({
|
|
|
5653
5706
|
loop: false
|
|
5654
5707
|
});
|
|
5655
5708
|
const { isStudio } = useRemotionEnvironment();
|
|
5656
|
-
|
|
5709
|
+
useEffect8(() => {
|
|
5657
5710
|
if (!src) {
|
|
5658
5711
|
throw new Error("No src passed");
|
|
5659
5712
|
}
|
|
@@ -5726,9 +5779,14 @@ var useBufferManager = (logLevel, mountTime) => {
|
|
|
5726
5779
|
}
|
|
5727
5780
|
};
|
|
5728
5781
|
}
|
|
5782
|
+
let unblocked = false;
|
|
5729
5783
|
setBlocks((b) => [...b, block]);
|
|
5730
5784
|
return {
|
|
5731
5785
|
unblock: () => {
|
|
5786
|
+
if (unblocked) {
|
|
5787
|
+
return;
|
|
5788
|
+
}
|
|
5789
|
+
unblocked = true;
|
|
5732
5790
|
setBlocks((b) => {
|
|
5733
5791
|
const newArr = b.filter((bx) => bx !== block);
|
|
5734
5792
|
if (newArr.length === b.length) {
|
|
@@ -5755,7 +5813,7 @@ var useBufferManager = (logLevel, mountTime) => {
|
|
|
5755
5813
|
}
|
|
5756
5814
|
};
|
|
5757
5815
|
}, []);
|
|
5758
|
-
|
|
5816
|
+
useEffect9(() => {
|
|
5759
5817
|
if (rendering) {
|
|
5760
5818
|
return;
|
|
5761
5819
|
}
|
|
@@ -5800,7 +5858,7 @@ var BufferingProvider = ({ children }) => {
|
|
|
5800
5858
|
};
|
|
5801
5859
|
var useIsPlayerBuffering = (bufferManager) => {
|
|
5802
5860
|
const [isBuffering, setIsBuffering] = useState14(bufferManager.buffering.current);
|
|
5803
|
-
|
|
5861
|
+
useEffect9(() => {
|
|
5804
5862
|
const onBuffer = () => {
|
|
5805
5863
|
setIsBuffering(true);
|
|
5806
5864
|
};
|
|
@@ -5822,18 +5880,30 @@ var useIsPlayerBuffering = (bufferManager) => {
|
|
|
5822
5880
|
};
|
|
5823
5881
|
var useBufferState = () => {
|
|
5824
5882
|
const buffer = useContext25(BufferingContextReact);
|
|
5883
|
+
const logLevel = useLogLevel();
|
|
5825
5884
|
const addBlock = buffer ? buffer.addBlock : null;
|
|
5826
5885
|
return useMemo25(() => ({
|
|
5827
5886
|
delayPlayback: () => {
|
|
5828
5887
|
if (!addBlock) {
|
|
5829
5888
|
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");
|
|
5830
5889
|
}
|
|
5890
|
+
Log.trace({ logLevel, tag: "[buffer-state]" }, "Adding buffer handle", new Error().stack);
|
|
5831
5891
|
const { unblock } = addBlock({
|
|
5832
5892
|
id: String(Math.random())
|
|
5833
5893
|
});
|
|
5834
|
-
|
|
5894
|
+
let unblocked = false;
|
|
5895
|
+
return {
|
|
5896
|
+
unblock: () => {
|
|
5897
|
+
if (unblocked) {
|
|
5898
|
+
return;
|
|
5899
|
+
}
|
|
5900
|
+
unblocked = true;
|
|
5901
|
+
Log.trace({ logLevel, tag: "[buffer-state]" }, "Removing buffer handle");
|
|
5902
|
+
unblock();
|
|
5903
|
+
}
|
|
5904
|
+
};
|
|
5835
5905
|
}
|
|
5836
|
-
}), [addBlock]);
|
|
5906
|
+
}), [addBlock, logLevel]);
|
|
5837
5907
|
};
|
|
5838
5908
|
var isSafariWebkit = () => {
|
|
5839
5909
|
const isSafari2 = /^((?!chrome|android).)*safari/i.test(window.navigator.userAgent);
|
|
@@ -5969,7 +6039,7 @@ var useMediaBuffering = ({
|
|
|
5969
6039
|
}) => {
|
|
5970
6040
|
const buffer = useBufferState();
|
|
5971
6041
|
const [isBuffering, setIsBuffering] = useState15(false);
|
|
5972
|
-
|
|
6042
|
+
useEffect10(() => {
|
|
5973
6043
|
let cleanupFns = [];
|
|
5974
6044
|
const { current } = element;
|
|
5975
6045
|
if (!current) {
|
|
@@ -6102,7 +6172,7 @@ var useRequestVideoCallbackTime = ({
|
|
|
6102
6172
|
onVariableFpsVideoDetected
|
|
6103
6173
|
}) => {
|
|
6104
6174
|
const currentTime = useRef16(null);
|
|
6105
|
-
|
|
6175
|
+
useEffect11(() => {
|
|
6106
6176
|
const { current } = mediaRef;
|
|
6107
6177
|
if (current) {
|
|
6108
6178
|
currentTime.current = {
|
|
@@ -6388,7 +6458,7 @@ var useMediaPlayback = ({
|
|
|
6388
6458
|
return acceptableTimeshift ?? defaultAcceptableTimeshift;
|
|
6389
6459
|
})();
|
|
6390
6460
|
const isPlayerBuffering = useIsPlayerBuffering(buffering);
|
|
6391
|
-
|
|
6461
|
+
useEffect12(() => {
|
|
6392
6462
|
if (mediaRef.current?.paused) {
|
|
6393
6463
|
return;
|
|
6394
6464
|
}
|
|
@@ -6433,7 +6503,7 @@ var useMediaPlayback = ({
|
|
|
6433
6503
|
mediaRef.current.playbackRate = playbackRateToSet;
|
|
6434
6504
|
}
|
|
6435
6505
|
}, [mediaRef, playbackRate]);
|
|
6436
|
-
|
|
6506
|
+
useEffect12(() => {
|
|
6437
6507
|
const tagName = mediaType === "audio" ? "<Html5Audio>" : "<Html5Video>";
|
|
6438
6508
|
if (!mediaRef.current) {
|
|
6439
6509
|
throw new Error(`No ${mediaType} ref found`);
|
|
@@ -6562,7 +6632,7 @@ var useMediaTag = ({
|
|
|
6562
6632
|
const logLevel = useLogLevel();
|
|
6563
6633
|
const mountTime = useMountTime();
|
|
6564
6634
|
const env = useRemotionEnvironment();
|
|
6565
|
-
|
|
6635
|
+
useEffect13(() => {
|
|
6566
6636
|
const tag = {
|
|
6567
6637
|
id,
|
|
6568
6638
|
play: (reason) => {
|
|
@@ -6601,11 +6671,11 @@ var useMediaTag = ({
|
|
|
6601
6671
|
env.isPlayer
|
|
6602
6672
|
]);
|
|
6603
6673
|
};
|
|
6604
|
-
var MediaVolumeContext =
|
|
6674
|
+
var MediaVolumeContext = createContext22({
|
|
6605
6675
|
mediaMuted: false,
|
|
6606
6676
|
mediaVolume: 1
|
|
6607
6677
|
});
|
|
6608
|
-
var SetMediaVolumeContext =
|
|
6678
|
+
var SetMediaVolumeContext = createContext22({
|
|
6609
6679
|
setMediaMuted: () => {
|
|
6610
6680
|
throw new Error("default");
|
|
6611
6681
|
},
|
|
@@ -6781,7 +6851,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
6781
6851
|
}, [audioRef]);
|
|
6782
6852
|
const currentOnDurationCallback = useRef18(onDuration);
|
|
6783
6853
|
currentOnDurationCallback.current = onDuration;
|
|
6784
|
-
|
|
6854
|
+
useEffect14(() => {
|
|
6785
6855
|
const { current } = audioRef;
|
|
6786
6856
|
if (!current) {
|
|
6787
6857
|
return;
|
|
@@ -6850,7 +6920,7 @@ var AudioForRenderingRefForwardingFunction = (props, ref) => {
|
|
|
6850
6920
|
useImperativeHandle5(ref, () => {
|
|
6851
6921
|
return audioRef.current;
|
|
6852
6922
|
}, []);
|
|
6853
|
-
|
|
6923
|
+
useEffect15(() => {
|
|
6854
6924
|
if (!props.src) {
|
|
6855
6925
|
throw new Error("No src passed");
|
|
6856
6926
|
}
|
|
@@ -7439,7 +7509,7 @@ var waitForRoot = (fn) => {
|
|
|
7439
7509
|
listeners = listeners.filter((l) => l !== fn);
|
|
7440
7510
|
};
|
|
7441
7511
|
};
|
|
7442
|
-
var MediaEnabledContext =
|
|
7512
|
+
var MediaEnabledContext = createContext23(null);
|
|
7443
7513
|
var useVideoEnabled = () => {
|
|
7444
7514
|
const context = useContext32(MediaEnabledContext);
|
|
7445
7515
|
if (!context) {
|
|
@@ -7721,7 +7791,7 @@ var setupEnvVariables = () => {
|
|
|
7721
7791
|
});
|
|
7722
7792
|
};
|
|
7723
7793
|
var CurrentScaleContext = React32.createContext(null);
|
|
7724
|
-
var PreviewSizeContext =
|
|
7794
|
+
var PreviewSizeContext = createContext24({
|
|
7725
7795
|
setSize: () => {
|
|
7726
7796
|
return;
|
|
7727
7797
|
},
|
|
@@ -7744,14 +7814,6 @@ var calculateScale = ({
|
|
|
7744
7814
|
}
|
|
7745
7815
|
return Number(previewSize);
|
|
7746
7816
|
};
|
|
7747
|
-
var useSequenceControlOverride = (key) => {
|
|
7748
|
-
const seqContext = useContext33(SequenceContext);
|
|
7749
|
-
const { dragOverrides: overrides } = useContext33(VisualModeOverridesContext);
|
|
7750
|
-
if (!seqContext) {
|
|
7751
|
-
return;
|
|
7752
|
-
}
|
|
7753
|
-
return overrides[seqContext.id]?.[key];
|
|
7754
|
-
};
|
|
7755
7817
|
var getOffthreadVideoSource = ({
|
|
7756
7818
|
src,
|
|
7757
7819
|
transparent,
|
|
@@ -7783,9 +7845,9 @@ var OffthreadVideoForRendering = ({
|
|
|
7783
7845
|
const frame = useCurrentFrame();
|
|
7784
7846
|
const volumePropsFrame = useFrameForVolumeProp(loopVolumeCurveBehavior);
|
|
7785
7847
|
const videoConfig = useUnsafeVideoConfig();
|
|
7786
|
-
const sequenceContext =
|
|
7848
|
+
const sequenceContext = useContext33(SequenceContext);
|
|
7787
7849
|
const mediaStartsAt = useMediaStartsAt();
|
|
7788
|
-
const { registerRenderAsset, unregisterRenderAsset } =
|
|
7850
|
+
const { registerRenderAsset, unregisterRenderAsset } = useContext33(RenderAssetManager);
|
|
7789
7851
|
if (!src) {
|
|
7790
7852
|
throw new TypeError("No `src` was passed to <OffthreadVideo>.");
|
|
7791
7853
|
}
|
|
@@ -7804,7 +7866,7 @@ var OffthreadVideoForRendering = ({
|
|
|
7804
7866
|
mediaVolume: 1
|
|
7805
7867
|
});
|
|
7806
7868
|
warnAboutTooHighVolume(volume);
|
|
7807
|
-
|
|
7869
|
+
useEffect16(() => {
|
|
7808
7870
|
if (!src) {
|
|
7809
7871
|
throw new Error("No src passed");
|
|
7810
7872
|
}
|
|
@@ -7965,7 +8027,7 @@ var useEmitVideoFrame = ({
|
|
|
7965
8027
|
ref,
|
|
7966
8028
|
onVideoFrame
|
|
7967
8029
|
}) => {
|
|
7968
|
-
|
|
8030
|
+
useEffect17(() => {
|
|
7969
8031
|
const { current } = ref;
|
|
7970
8032
|
if (!current) {
|
|
7971
8033
|
return;
|
|
@@ -7997,7 +8059,7 @@ class MediaPlaybackError extends Error {
|
|
|
7997
8059
|
}
|
|
7998
8060
|
}
|
|
7999
8061
|
var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
8000
|
-
const context =
|
|
8062
|
+
const context = useContext34(SharedAudioContext);
|
|
8001
8063
|
if (!context) {
|
|
8002
8064
|
throw new Error("SharedAudioContext not found");
|
|
8003
8065
|
}
|
|
@@ -8053,8 +8115,8 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
8053
8115
|
}
|
|
8054
8116
|
const volumePropFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
|
|
8055
8117
|
const { fps, durationInFrames } = useVideoConfig();
|
|
8056
|
-
const parentSequence =
|
|
8057
|
-
const { hidden } =
|
|
8118
|
+
const parentSequence = useContext34(SequenceContext);
|
|
8119
|
+
const { hidden } = useContext34(SequenceVisibilityToggleContext);
|
|
8058
8120
|
const logLevel = useLogLevel();
|
|
8059
8121
|
const mountTime = useMountTime();
|
|
8060
8122
|
const [timelineId] = useState21(() => String(Math.random()));
|
|
@@ -8129,7 +8191,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
8129
8191
|
tag: "video",
|
|
8130
8192
|
mountTime
|
|
8131
8193
|
}));
|
|
8132
|
-
|
|
8194
|
+
useEffect18(() => {
|
|
8133
8195
|
const { current } = videoRef;
|
|
8134
8196
|
if (!current) {
|
|
8135
8197
|
return;
|
|
@@ -8172,7 +8234,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
8172
8234
|
const currentOnDurationCallback = useRef22(onDuration);
|
|
8173
8235
|
currentOnDurationCallback.current = onDuration;
|
|
8174
8236
|
useEmitVideoFrame({ ref: videoRef, onVideoFrame });
|
|
8175
|
-
|
|
8237
|
+
useEffect18(() => {
|
|
8176
8238
|
const { current } = videoRef;
|
|
8177
8239
|
if (!current) {
|
|
8178
8240
|
return;
|
|
@@ -8189,7 +8251,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
8189
8251
|
current.removeEventListener("loadedmetadata", onLoadedMetadata);
|
|
8190
8252
|
};
|
|
8191
8253
|
}, [src]);
|
|
8192
|
-
|
|
8254
|
+
useEffect18(() => {
|
|
8193
8255
|
const { current } = videoRef;
|
|
8194
8256
|
if (!current) {
|
|
8195
8257
|
return;
|
|
@@ -8478,7 +8540,8 @@ var Internals = {
|
|
|
8478
8540
|
VideoForPreview,
|
|
8479
8541
|
CompositionManager,
|
|
8480
8542
|
CompositionSetters,
|
|
8481
|
-
|
|
8543
|
+
VisualModeGettersContext,
|
|
8544
|
+
VisualModeSettersContext,
|
|
8482
8545
|
SequenceManager,
|
|
8483
8546
|
SequenceStackTracesUpdateContext,
|
|
8484
8547
|
SequenceVisibilityToggleContext,
|
|
@@ -8487,7 +8550,6 @@ var Internals = {
|
|
|
8487
8550
|
sequenceStyleSchema,
|
|
8488
8551
|
flattenActiveSchema,
|
|
8489
8552
|
getFlatSchemaWithAllKeys,
|
|
8490
|
-
useSequenceControlOverride,
|
|
8491
8553
|
RemotionRootContexts,
|
|
8492
8554
|
CompositionManagerProvider,
|
|
8493
8555
|
useVideo,
|
|
@@ -8580,7 +8642,9 @@ var Internals = {
|
|
|
8580
8642
|
useMemoizedEffects,
|
|
8581
8643
|
defineEffect,
|
|
8582
8644
|
createDescriptor,
|
|
8583
|
-
computeEffectiveSchemaValuesDotNotation
|
|
8645
|
+
computeEffectiveSchemaValuesDotNotation,
|
|
8646
|
+
OverrideIdsToNodePathsGettersContext,
|
|
8647
|
+
OverrideIdsToNodePathsSettersContext
|
|
8584
8648
|
};
|
|
8585
8649
|
var NUMBER = "[-+]?\\d*\\.?\\d+";
|
|
8586
8650
|
var PERCENTAGE = NUMBER + "%";
|
|
@@ -8618,7 +8682,7 @@ var flattenChildren = (children) => {
|
|
|
8618
8682
|
return flatChildren;
|
|
8619
8683
|
}, []);
|
|
8620
8684
|
};
|
|
8621
|
-
var IsInsideSeriesContext =
|
|
8685
|
+
var IsInsideSeriesContext = createContext25(false);
|
|
8622
8686
|
var IsInsideSeriesContainer = ({ children }) => {
|
|
8623
8687
|
return /* @__PURE__ */ jsx34(IsInsideSeriesContext.Provider, {
|
|
8624
8688
|
value: true,
|
|
@@ -8660,9 +8724,6 @@ var SeriesInner = (props2) => {
|
|
|
8660
8724
|
throw new TypeError(`The <Series /> component only accepts a list of <Series.Sequence /> components as its children, but got ${castedChild} instead`);
|
|
8661
8725
|
}
|
|
8662
8726
|
const debugInfo = `index = ${i}, duration = ${castedChild.props.durationInFrames}`;
|
|
8663
|
-
if (!castedChild?.props.children) {
|
|
8664
|
-
throw new TypeError(`A <Series.Sequence /> component (${debugInfo}) was detected to not have any children. Delete it to fix this error.`);
|
|
8665
|
-
}
|
|
8666
8727
|
const durationInFramesProp = castedChild.props.durationInFrames;
|
|
8667
8728
|
const {
|
|
8668
8729
|
durationInFrames,
|
|
@@ -9178,13 +9239,13 @@ var VideoForRenderingForwardFunction = ({
|
|
|
9178
9239
|
const volumePropsFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
|
|
9179
9240
|
const videoConfig = useUnsafeVideoConfig();
|
|
9180
9241
|
const videoRef = useRef23(null);
|
|
9181
|
-
const sequenceContext =
|
|
9242
|
+
const sequenceContext = useContext35(SequenceContext);
|
|
9182
9243
|
const mediaStartsAt = useMediaStartsAt();
|
|
9183
9244
|
const environment = useRemotionEnvironment();
|
|
9184
9245
|
const logLevel = useLogLevel();
|
|
9185
9246
|
const mountTime = useMountTime();
|
|
9186
9247
|
const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
|
|
9187
|
-
const { registerRenderAsset, unregisterRenderAsset } =
|
|
9248
|
+
const { registerRenderAsset, unregisterRenderAsset } = useContext35(RenderAssetManager);
|
|
9188
9249
|
const id = useMemo37(() => `video-${random(props2.src ?? "")}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
|
|
9189
9250
|
props2.src,
|
|
9190
9251
|
sequenceContext?.cumulatedFrom,
|
|
@@ -9200,7 +9261,7 @@ var VideoForRenderingForwardFunction = ({
|
|
|
9200
9261
|
mediaVolume: 1
|
|
9201
9262
|
});
|
|
9202
9263
|
warnAboutTooHighVolume(volume);
|
|
9203
|
-
|
|
9264
|
+
useEffect19(() => {
|
|
9204
9265
|
if (!props2.src) {
|
|
9205
9266
|
throw new Error("No src passed");
|
|
9206
9267
|
}
|
|
@@ -9243,7 +9304,7 @@ var VideoForRenderingForwardFunction = ({
|
|
|
9243
9304
|
useImperativeHandle9(ref, () => {
|
|
9244
9305
|
return videoRef.current;
|
|
9245
9306
|
}, []);
|
|
9246
|
-
|
|
9307
|
+
useEffect19(() => {
|
|
9247
9308
|
if (!window.remotion_videoEnabled) {
|
|
9248
9309
|
return;
|
|
9249
9310
|
}
|
|
@@ -9394,7 +9455,7 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
9394
9455
|
if (environment.isClientSideRendering) {
|
|
9395
9456
|
throw new Error("<Html5Video> is not supported in @remotion/web-renderer. Use <Video> from @remotion/media instead. See https://remotion.dev/docs/client-side-rendering/limitations");
|
|
9396
9457
|
}
|
|
9397
|
-
const { durations, setDurations } =
|
|
9458
|
+
const { durations, setDurations } = useContext36(DurationsContext);
|
|
9398
9459
|
if (typeof ref === "string") {
|
|
9399
9460
|
throw new Error("string refs are not supported");
|
|
9400
9461
|
}
|
|
@@ -11287,7 +11348,7 @@ var getDefaultConfig = () => {
|
|
|
11287
11348
|
var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
|
|
11288
11349
|
|
|
11289
11350
|
// ../design/dist/esm/index.mjs
|
|
11290
|
-
import React33, { useEffect as
|
|
11351
|
+
import React33, { useEffect as useEffect20, useMemo as useMemo41, useState as useState23 } from "react";
|
|
11291
11352
|
|
|
11292
11353
|
// ../paths/dist/esm/index.mjs
|
|
11293
11354
|
var cutLInstruction = ({
|
|
@@ -15882,7 +15943,7 @@ var useHoverTransforms = (ref, disabled) => {
|
|
|
15882
15943
|
isActive: false
|
|
15883
15944
|
});
|
|
15884
15945
|
const eventTarget = useMemo41(() => new EventTarget, []);
|
|
15885
|
-
|
|
15946
|
+
useEffect20(() => {
|
|
15886
15947
|
if (disabled) {
|
|
15887
15948
|
eventTarget.dispatchEvent(new Event("disabled"));
|
|
15888
15949
|
} else {
|
|
@@ -16029,7 +16090,7 @@ var getAngle = (ref, coordinates) => {
|
|
|
16029
16090
|
var lastCoordinates = null;
|
|
16030
16091
|
var useMousePosition = (ref) => {
|
|
16031
16092
|
const [angle, setAngle] = useState23(getAngle(ref.current, lastCoordinates));
|
|
16032
|
-
|
|
16093
|
+
useEffect20(() => {
|
|
16033
16094
|
const element = ref.current;
|
|
16034
16095
|
if (!element) {
|
|
16035
16096
|
return;
|
|
@@ -24265,7 +24326,7 @@ var Pricing = () => {
|
|
|
24265
24326
|
};
|
|
24266
24327
|
|
|
24267
24328
|
// src/components/homepage/BackgroundAnimation.tsx
|
|
24268
|
-
import { useEffect as
|
|
24329
|
+
import { useEffect as useEffect41 } from "react";
|
|
24269
24330
|
import { jsx as jsx49, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
24270
24331
|
"use client";
|
|
24271
24332
|
var rx = 0.2;
|
|
@@ -24291,7 +24352,7 @@ var BackgroundAnimation = () => {
|
|
|
24291
24352
|
}
|
|
24292
24353
|
}
|
|
24293
24354
|
`;
|
|
24294
|
-
|
|
24355
|
+
useEffect41(() => {
|
|
24295
24356
|
const _style = document.createElement("style");
|
|
24296
24357
|
_style.innerHTML = css;
|
|
24297
24358
|
document.head.appendChild(_style);
|
|
@@ -24397,7 +24458,7 @@ var InstallsPerMonth = () => {
|
|
|
24397
24458
|
},
|
|
24398
24459
|
children: [
|
|
24399
24460
|
/* @__PURE__ */ jsx50(StatItemContent, {
|
|
24400
|
-
content: "
|
|
24461
|
+
content: "3M",
|
|
24401
24462
|
width: "100px",
|
|
24402
24463
|
fontSize: "2.5rem",
|
|
24403
24464
|
fontWeight: "bold"
|
|
@@ -24419,7 +24480,7 @@ var InstallsPerMonth = () => {
|
|
|
24419
24480
|
]
|
|
24420
24481
|
}),
|
|
24421
24482
|
/* @__PURE__ */ jsx50(StatItemContent, {
|
|
24422
|
-
content: "installs
|
|
24483
|
+
content: "installs",
|
|
24423
24484
|
width: "75%",
|
|
24424
24485
|
fontSize: "1.0rem",
|
|
24425
24486
|
fontWeight: "bold"
|
|
@@ -24505,7 +24566,7 @@ var GitHubStars = () => {
|
|
|
24505
24566
|
width: "45px"
|
|
24506
24567
|
}),
|
|
24507
24568
|
/* @__PURE__ */ jsx50(StatItemContent, {
|
|
24508
|
-
content: "
|
|
24569
|
+
content: "46k",
|
|
24509
24570
|
width: "80px",
|
|
24510
24571
|
fontSize: "2.5rem",
|
|
24511
24572
|
fontWeight: "bold"
|
|
@@ -24697,16 +24758,16 @@ var CommunityStats_default = CommunityStats;
|
|
|
24697
24758
|
import { jsx as jsx56, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
24698
24759
|
import { jsx as jsx214, jsxs as jsxs24, Fragment as Fragment11 } from "react/jsx-runtime";
|
|
24699
24760
|
import React56 from "react";
|
|
24700
|
-
import { useContext as useContext210, useEffect as
|
|
24701
|
-
import { useContext as
|
|
24761
|
+
import { useContext as useContext210, useEffect as useEffect42, useState as useState40 } from "react";
|
|
24762
|
+
import { useContext as useContext43, useLayoutEffect as useLayoutEffect17 } from "react";
|
|
24702
24763
|
import { jsx as jsx313 } from "react/jsx-runtime";
|
|
24703
24764
|
import { useCallback as useCallback34, useRef as useRef42 } from "react";
|
|
24704
|
-
import { useEffect as
|
|
24765
|
+
import { useEffect as useEffect24, useState as useState24 } from "react";
|
|
24705
24766
|
import { useLayoutEffect as useLayoutEffect23 } from "react";
|
|
24706
|
-
import { useContext as
|
|
24767
|
+
import { useContext as useContext44, useEffect as useEffect52, useRef as useRef52 } from "react";
|
|
24707
24768
|
import { useEffect as useEffect310, useRef as useRef310 } from "react";
|
|
24708
|
-
import { useCallback as useCallback24, useContext as
|
|
24709
|
-
import { useEffect as
|
|
24769
|
+
import { useCallback as useCallback24, useContext as useContext38, useMemo as useMemo51, useRef as useRef26, useState as useState310 } from "react";
|
|
24770
|
+
import { useEffect as useEffect43, useRef as useRef43 } from "react";
|
|
24710
24771
|
import { useCallback as useCallback35, useEffect as useEffect62, useMemo as useMemo212, useState as useState42 } from "react";
|
|
24711
24772
|
import {
|
|
24712
24773
|
forwardRef as forwardRef210,
|
|
@@ -25991,7 +26052,7 @@ class ThumbnailEmitter {
|
|
|
25991
26052
|
};
|
|
25992
26053
|
}
|
|
25993
26054
|
var useBufferStateEmitter = (emitter) => {
|
|
25994
|
-
const bufferManager =
|
|
26055
|
+
const bufferManager = useContext43(Internals.BufferingContextReact);
|
|
25995
26056
|
if (!bufferManager) {
|
|
25996
26057
|
throw new Error("BufferingContextReact not found");
|
|
25997
26058
|
}
|
|
@@ -26016,7 +26077,7 @@ var PlayerEmitterProvider = ({ children, currentPlaybackRate }) => {
|
|
|
26016
26077
|
if (!bufferManager) {
|
|
26017
26078
|
throw new Error("BufferingContextReact not found");
|
|
26018
26079
|
}
|
|
26019
|
-
|
|
26080
|
+
useEffect42(() => {
|
|
26020
26081
|
if (currentPlaybackRate) {
|
|
26021
26082
|
emitter.dispatchRateChange(currentPlaybackRate);
|
|
26022
26083
|
}
|
|
@@ -26029,7 +26090,7 @@ var PlayerEmitterProvider = ({ children, currentPlaybackRate }) => {
|
|
|
26029
26090
|
};
|
|
26030
26091
|
var useHoverState = (ref, hideControlsWhenPointerDoesntMove) => {
|
|
26031
26092
|
const [hovered, setHovered] = useState24(false);
|
|
26032
|
-
|
|
26093
|
+
useEffect24(() => {
|
|
26033
26094
|
const { current } = ref;
|
|
26034
26095
|
if (!current) {
|
|
26035
26096
|
return;
|
|
@@ -26074,21 +26135,21 @@ var usePlayer = () => {
|
|
|
26074
26135
|
const playStart = useRef26(frame);
|
|
26075
26136
|
const setFrame = Internals.Timeline.useTimelineSetFrame();
|
|
26076
26137
|
const setTimelinePosition = Internals.Timeline.useTimelineSetFrame();
|
|
26077
|
-
const audioContext =
|
|
26078
|
-
const audioTagsContext =
|
|
26138
|
+
const audioContext = useContext38(Internals.SharedAudioContext);
|
|
26139
|
+
const audioTagsContext = useContext38(Internals.SharedAudioTagsContext);
|
|
26079
26140
|
const { audioAndVideoTags } = Internals.useTimelineContext();
|
|
26080
26141
|
const frameRef = useRef26(frame);
|
|
26081
26142
|
frameRef.current = frame;
|
|
26082
26143
|
const video = Internals.useVideo();
|
|
26083
26144
|
const config = Internals.useUnsafeVideoConfig();
|
|
26084
|
-
const emitter =
|
|
26145
|
+
const emitter = useContext38(PlayerEventEmitterContext);
|
|
26085
26146
|
const lastFrame = (config?.durationInFrames ?? 1) - 1;
|
|
26086
26147
|
const isLastFrame = frame === lastFrame;
|
|
26087
26148
|
const isFirstFrame = frame === 0;
|
|
26088
26149
|
if (!emitter) {
|
|
26089
26150
|
throw new TypeError("Expected Player event emitter context");
|
|
26090
26151
|
}
|
|
26091
|
-
const bufferingContext =
|
|
26152
|
+
const bufferingContext = useContext38(Internals.BufferingContextReact);
|
|
26092
26153
|
if (!bufferingContext) {
|
|
26093
26154
|
throw new Error("Missing the buffering context. Most likely you have a Remotion version mismatch.");
|
|
26094
26155
|
}
|
|
@@ -26390,7 +26451,7 @@ var getIsBackgrounded = () => {
|
|
|
26390
26451
|
};
|
|
26391
26452
|
var useIsBackgrounded = () => {
|
|
26392
26453
|
const isBackgrounded = useRef43(getIsBackgrounded());
|
|
26393
|
-
|
|
26454
|
+
useEffect43(() => {
|
|
26394
26455
|
const onVisibilityChange = () => {
|
|
26395
26456
|
isBackgrounded.current = getIsBackgrounded();
|
|
26396
26457
|
};
|
|
@@ -26407,17 +26468,18 @@ var setGlobalTimeAnchor = ({
|
|
|
26407
26468
|
audioSyncAnchor,
|
|
26408
26469
|
absoluteTimeInSeconds,
|
|
26409
26470
|
globalPlaybackRate,
|
|
26410
|
-
logLevel
|
|
26471
|
+
logLevel,
|
|
26472
|
+
force
|
|
26411
26473
|
}) => {
|
|
26412
26474
|
const newAnchor = audioContext.currentTime - absoluteTimeInSeconds / globalPlaybackRate;
|
|
26413
26475
|
const shift4 = (newAnchor - audioSyncAnchor.value) * globalPlaybackRate;
|
|
26414
26476
|
const { outputLatency } = audioContext;
|
|
26415
26477
|
const safeOutputLatency = outputLatency === 0 ? 0.3 : outputLatency;
|
|
26416
26478
|
const latency = audioContext.baseLatency + safeOutputLatency;
|
|
26417
|
-
if (Math.abs(shift4) < ALLOWED_GLOBAL_TIME_ANCHOR_SHIFT + latency) {
|
|
26479
|
+
if (Math.abs(shift4) < ALLOWED_GLOBAL_TIME_ANCHOR_SHIFT + latency && !force) {
|
|
26418
26480
|
return false;
|
|
26419
26481
|
}
|
|
26420
|
-
Internals.Log.verbose({ logLevel, tag: "audio-scheduling" }, "Anchor changed from %s to %s with shift %s", audioSyncAnchor.value, newAnchor, shift4);
|
|
26482
|
+
Internals.Log.verbose({ logLevel, tag: "audio-scheduling" }, "Anchor " + (force ? "forcibly " : "") + "changed from %s to %s with shift %s", audioSyncAnchor.value, newAnchor, shift4);
|
|
26421
26483
|
audioSyncAnchor.value = newAnchor;
|
|
26422
26484
|
return true;
|
|
26423
26485
|
};
|
|
@@ -26435,11 +26497,11 @@ var usePlayback = ({
|
|
|
26435
26497
|
const frame = Internals.Timeline.useTimelinePosition();
|
|
26436
26498
|
const { playing, pause, emitter, isPlaying } = usePlayer();
|
|
26437
26499
|
const setFrame = Internals.Timeline.useTimelineSetFrame();
|
|
26438
|
-
const sharedAudioContext =
|
|
26500
|
+
const sharedAudioContext = useContext44(Internals.SharedAudioContext);
|
|
26439
26501
|
const logLevel = Internals.useLogLevel();
|
|
26440
26502
|
const isBackgroundedRef = useIsBackgrounded();
|
|
26441
26503
|
const lastTimeUpdateTimestamp = useRef52(0);
|
|
26442
|
-
const context =
|
|
26504
|
+
const context = useContext44(Internals.BufferingContextReact);
|
|
26443
26505
|
if (!context) {
|
|
26444
26506
|
throw new Error("Missing the buffering context. Most likely you have a Remotion version mismatch.");
|
|
26445
26507
|
}
|
|
@@ -26458,17 +26520,56 @@ var usePlayback = ({
|
|
|
26458
26520
|
if (!config) {
|
|
26459
26521
|
return;
|
|
26460
26522
|
}
|
|
26523
|
+
if (muted) {
|
|
26524
|
+
return;
|
|
26525
|
+
}
|
|
26461
26526
|
const changed = setGlobalTimeAnchor({
|
|
26462
26527
|
audioContext: sharedAudioContext.audioContext,
|
|
26463
26528
|
audioSyncAnchor: sharedAudioContext.audioSyncAnchor,
|
|
26464
26529
|
absoluteTimeInSeconds: frame / config.fps,
|
|
26465
26530
|
globalPlaybackRate: playbackRate,
|
|
26466
|
-
logLevel
|
|
26531
|
+
logLevel,
|
|
26532
|
+
force: false
|
|
26467
26533
|
});
|
|
26468
26534
|
if (changed) {
|
|
26469
26535
|
sharedAudioContext.audioSyncAnchorEmitter.dispatch("changed");
|
|
26470
26536
|
}
|
|
26471
|
-
}, [config, frame, logLevel, playbackRate, sharedAudioContext]);
|
|
26537
|
+
}, [config, frame, logLevel, playbackRate, sharedAudioContext, muted]);
|
|
26538
|
+
useLayoutEffect23(() => {
|
|
26539
|
+
const audioContext = sharedAudioContext?.audioContext;
|
|
26540
|
+
if (!audioContext) {
|
|
26541
|
+
return;
|
|
26542
|
+
}
|
|
26543
|
+
if (!config) {
|
|
26544
|
+
return;
|
|
26545
|
+
}
|
|
26546
|
+
if (muted) {
|
|
26547
|
+
return;
|
|
26548
|
+
}
|
|
26549
|
+
const callback = () => {
|
|
26550
|
+
if (audioContext.state !== "running") {
|
|
26551
|
+
setGlobalTimeAnchor({
|
|
26552
|
+
audioContext,
|
|
26553
|
+
audioSyncAnchor: sharedAudioContext.audioSyncAnchor,
|
|
26554
|
+
absoluteTimeInSeconds: getCurrentFrame() / config.fps,
|
|
26555
|
+
globalPlaybackRate: playbackRate,
|
|
26556
|
+
logLevel,
|
|
26557
|
+
force: true
|
|
26558
|
+
});
|
|
26559
|
+
}
|
|
26560
|
+
};
|
|
26561
|
+
audioContext?.addEventListener("statechange", callback);
|
|
26562
|
+
return () => {
|
|
26563
|
+
audioContext?.removeEventListener("statechange", callback);
|
|
26564
|
+
};
|
|
26565
|
+
}, [
|
|
26566
|
+
config,
|
|
26567
|
+
getCurrentFrame,
|
|
26568
|
+
logLevel,
|
|
26569
|
+
muted,
|
|
26570
|
+
playbackRate,
|
|
26571
|
+
sharedAudioContext
|
|
26572
|
+
]);
|
|
26472
26573
|
useEffect52(() => {
|
|
26473
26574
|
if (!config) {
|
|
26474
26575
|
return;
|
|
@@ -26502,7 +26603,7 @@ var usePlayback = ({
|
|
|
26502
26603
|
sharedAudioContext?.suspend?.();
|
|
26503
26604
|
return;
|
|
26504
26605
|
}
|
|
26505
|
-
if (!muted) {
|
|
26606
|
+
if (!muted && !context.buffering.current) {
|
|
26506
26607
|
sharedAudioContext?.resume?.();
|
|
26507
26608
|
}
|
|
26508
26609
|
const time = performance.now() - startedTime;
|
|
@@ -26520,7 +26621,7 @@ var usePlayback = ({
|
|
|
26520
26621
|
shouldLoop: loop
|
|
26521
26622
|
});
|
|
26522
26623
|
framesAdvanced += framesToAdvance;
|
|
26523
|
-
if (nextFrame !== getCurrentFrame() && (!hasEnded || moveToBeginningWhenEnded)) {
|
|
26624
|
+
if (nextFrame !== getCurrentFrame() && (!hasEnded || moveToBeginningWhenEnded) && !context.buffering.current) {
|
|
26524
26625
|
setFrame((c) => ({ ...c, [config.id]: nextFrame }));
|
|
26525
26626
|
}
|
|
26526
26627
|
if (hasEnded) {
|
|
@@ -26535,27 +26636,16 @@ var usePlayback = ({
|
|
|
26535
26636
|
const getIsResumingAudioContext = sharedAudioContext?.getIsResumingAudioContext?.() ?? null;
|
|
26536
26637
|
if (getIsResumingAudioContext !== null && !muted) {
|
|
26537
26638
|
getIsResumingAudioContext.then(() => {
|
|
26538
|
-
if (!sharedAudioContext?.audioContext) {
|
|
26539
|
-
return;
|
|
26540
|
-
}
|
|
26541
|
-
if (!sharedAudioContext.audioSyncAnchor) {
|
|
26542
|
-
return;
|
|
26543
|
-
}
|
|
26544
|
-
setGlobalTimeAnchor({
|
|
26545
|
-
audioContext: sharedAudioContext.audioContext,
|
|
26546
|
-
audioSyncAnchor: sharedAudioContext.audioSyncAnchor,
|
|
26547
|
-
absoluteTimeInSeconds: getCurrentFrame() / config.fps,
|
|
26548
|
-
globalPlaybackRate: playbackRate,
|
|
26549
|
-
logLevel
|
|
26550
|
-
});
|
|
26551
26639
|
startedTime = performance.now();
|
|
26552
26640
|
framesAdvanced = 0;
|
|
26553
26641
|
queueNextFrame();
|
|
26554
26642
|
});
|
|
26555
26643
|
return;
|
|
26556
26644
|
}
|
|
26557
|
-
if (context.buffering.current
|
|
26558
|
-
|
|
26645
|
+
if (context.buffering.current) {
|
|
26646
|
+
if (!muted) {
|
|
26647
|
+
sharedAudioContext?.suspend?.();
|
|
26648
|
+
}
|
|
26559
26649
|
const stopListening = context.listenForResume(() => {
|
|
26560
26650
|
stopListening.remove();
|
|
26561
26651
|
startedTime = performance.now();
|
|
@@ -29077,7 +29167,7 @@ var Thumbnail = forward2(ThumbnailFn);
|
|
|
29077
29167
|
// src/components/homepage/Demo/index.tsx
|
|
29078
29168
|
import {
|
|
29079
29169
|
useCallback as useCallback49,
|
|
29080
|
-
useEffect as
|
|
29170
|
+
useEffect as useEffect58,
|
|
29081
29171
|
useMemo as useMemo64,
|
|
29082
29172
|
useRef as useRef53,
|
|
29083
29173
|
useState as useState56
|
|
@@ -29829,7 +29919,7 @@ var UNDERLAY_RED = curriedTransparentize$1(0.9, RED);
|
|
|
29829
29919
|
var BLUE_TEXT = curriedDarken$1(0.3, "#42e9f5");
|
|
29830
29920
|
|
|
29831
29921
|
// src/components/homepage/layout/use-color-mode.tsx
|
|
29832
|
-
import React57, { useContext as
|
|
29922
|
+
import React57, { useContext as useContext45, useMemo as useMemo53 } from "react";
|
|
29833
29923
|
import { jsx as jsx57 } from "react/jsx-runtime";
|
|
29834
29924
|
var Context = React57.createContext(undefined);
|
|
29835
29925
|
var ColorModeProvider = ({
|
|
@@ -29846,7 +29936,7 @@ var ColorModeProvider = ({
|
|
|
29846
29936
|
});
|
|
29847
29937
|
};
|
|
29848
29938
|
function useColorMode() {
|
|
29849
|
-
const context =
|
|
29939
|
+
const context = useContext45(Context);
|
|
29850
29940
|
if (context === null || context === undefined) {
|
|
29851
29941
|
throw new Error("ColorModeProvider");
|
|
29852
29942
|
}
|
|
@@ -29856,13 +29946,13 @@ function useColorMode() {
|
|
|
29856
29946
|
// ../media/dist/esm/index.mjs
|
|
29857
29947
|
import { useState as useState312 } from "react";
|
|
29858
29948
|
import { useMemo as useMemo311 } from "react";
|
|
29859
|
-
import { useContext as useContext212, useEffect as
|
|
29949
|
+
import { useContext as useContext212, useEffect as useEffect44, useMemo as useMemo55, useRef as useRef44, useState as useState41 } from "react";
|
|
29860
29950
|
import { ALL_FORMATS, Input as Input2, UrlSource } from "mediabunny";
|
|
29861
29951
|
import { AudioBufferSink, InputDisposedError } from "mediabunny";
|
|
29862
29952
|
import { CanvasSink } from "mediabunny";
|
|
29863
|
-
import { useContext as
|
|
29953
|
+
import { useContext as useContext47, useLayoutEffect as useLayoutEffect18 } from "react";
|
|
29864
29954
|
import { jsx as jsx58 } from "react/jsx-runtime";
|
|
29865
|
-
import { useContext as
|
|
29955
|
+
import { useContext as useContext310, useLayoutEffect as useLayoutEffect24, useMemo as useMemo213, useState as useState210 } from "react";
|
|
29866
29956
|
import React211 from "react";
|
|
29867
29957
|
import {
|
|
29868
29958
|
ALL_FORMATS as ALL_FORMATS2,
|
|
@@ -29878,8 +29968,8 @@ import { jsx as jsx216 } from "react/jsx-runtime";
|
|
|
29878
29968
|
import { jsx as jsx315 } from "react/jsx-runtime";
|
|
29879
29969
|
import { useMemo as useMemo63, useState as useState63 } from "react";
|
|
29880
29970
|
import {
|
|
29881
|
-
useContext as
|
|
29882
|
-
useEffect as
|
|
29971
|
+
useContext as useContext46,
|
|
29972
|
+
useEffect as useEffect210,
|
|
29883
29973
|
useLayoutEffect as useLayoutEffect34,
|
|
29884
29974
|
useMemo as useMemo412,
|
|
29885
29975
|
useRef as useRef210,
|
|
@@ -30300,6 +30390,12 @@ var audioIteratorManager = ({
|
|
|
30300
30390
|
let audioIteratorsCreated = 0;
|
|
30301
30391
|
let totalAudioScheduledInSeconds = 0;
|
|
30302
30392
|
let currentDelayHandle = null;
|
|
30393
|
+
const unblockCurrentDelayHandle = () => {
|
|
30394
|
+
if (currentDelayHandle) {
|
|
30395
|
+
currentDelayHandle.unblock();
|
|
30396
|
+
currentDelayHandle = null;
|
|
30397
|
+
}
|
|
30398
|
+
};
|
|
30303
30399
|
const pendingScheduleWaiters = [];
|
|
30304
30400
|
const notifyNodeScheduled = () => {
|
|
30305
30401
|
for (let i = pendingScheduleWaiters.length - 1;i >= 0; i--) {
|
|
@@ -30400,6 +30496,7 @@ var audioIteratorManager = ({
|
|
|
30400
30496
|
waitForTurn({
|
|
30401
30497
|
getPriority: () => {
|
|
30402
30498
|
if (iterator.isDestroyed()) {
|
|
30499
|
+
onDestroyed();
|
|
30403
30500
|
return null;
|
|
30404
30501
|
}
|
|
30405
30502
|
const guessedNextTimestamp = iterator.guessNextTimestamp();
|
|
@@ -30452,9 +30549,11 @@ var audioIteratorManager = ({
|
|
|
30452
30549
|
},
|
|
30453
30550
|
onError: (e) => {
|
|
30454
30551
|
if (e instanceof InputDisposedError) {
|
|
30552
|
+
onDestroyed();
|
|
30455
30553
|
return;
|
|
30456
30554
|
}
|
|
30457
30555
|
if (e instanceof StaleWaiterError) {
|
|
30556
|
+
onDestroyed();
|
|
30458
30557
|
return;
|
|
30459
30558
|
}
|
|
30460
30559
|
throw e;
|
|
@@ -30480,6 +30579,7 @@ var audioIteratorManager = ({
|
|
|
30480
30579
|
return;
|
|
30481
30580
|
}
|
|
30482
30581
|
audioBufferIterator?.destroy();
|
|
30582
|
+
unblockCurrentDelayHandle();
|
|
30483
30583
|
const delayHandle = delayPlaybackHandleIfNotPremounting();
|
|
30484
30584
|
currentDelayHandle = delayHandle;
|
|
30485
30585
|
const iterator = makeAudioIterator({
|
|
@@ -30494,6 +30594,7 @@ var audioIteratorManager = ({
|
|
|
30494
30594
|
});
|
|
30495
30595
|
audioIteratorsCreated++;
|
|
30496
30596
|
audioBufferIterator = iterator;
|
|
30597
|
+
let chunksScheduled = 0;
|
|
30497
30598
|
proceedScheduling({
|
|
30498
30599
|
iterator,
|
|
30499
30600
|
nonce,
|
|
@@ -30501,7 +30602,10 @@ var audioIteratorManager = ({
|
|
|
30501
30602
|
playbackRate,
|
|
30502
30603
|
scheduleAudioNode,
|
|
30503
30604
|
onScheduled: () => {
|
|
30504
|
-
|
|
30605
|
+
chunksScheduled++;
|
|
30606
|
+
if (chunksScheduled === 6) {
|
|
30607
|
+
delayHandle.unblock();
|
|
30608
|
+
}
|
|
30505
30609
|
},
|
|
30506
30610
|
onDestroyed: () => {
|
|
30507
30611
|
delayHandle.unblock();
|
|
@@ -30529,6 +30633,9 @@ var audioIteratorManager = ({
|
|
|
30529
30633
|
fps,
|
|
30530
30634
|
getAudioContextCurrentTimeMockedInTest
|
|
30531
30635
|
}) => {
|
|
30636
|
+
if (nonce.isStale()) {
|
|
30637
|
+
return;
|
|
30638
|
+
}
|
|
30532
30639
|
if (currentSeek.time === newTime && currentSeek.playbackRate === playbackRate && currentSeek.trimBefore === trimBefore && currentSeek.trimAfter === trimAfter && currentSeek.sequenceOffset === sequenceOffset && currentSeek.sequenceDurationInFrames === sequenceDurationInFrames && currentSeek.loop === loop && currentSeek.fps === fps) {
|
|
30533
30640
|
return;
|
|
30534
30641
|
}
|
|
@@ -30580,10 +30687,7 @@ var audioIteratorManager = ({
|
|
|
30580
30687
|
destroyIterator: () => {
|
|
30581
30688
|
audioBufferIterator?.destroy();
|
|
30582
30689
|
audioBufferIterator = null;
|
|
30583
|
-
|
|
30584
|
-
currentDelayHandle.unblock();
|
|
30585
|
-
currentDelayHandle = null;
|
|
30586
|
-
}
|
|
30690
|
+
unblockCurrentDelayHandle();
|
|
30587
30691
|
},
|
|
30588
30692
|
seek: seek2,
|
|
30589
30693
|
getAudioIteratorsCreated: () => audioIteratorsCreated,
|
|
@@ -31631,7 +31735,7 @@ var useCommonEffects = ({
|
|
|
31631
31735
|
logLevel,
|
|
31632
31736
|
label: label3
|
|
31633
31737
|
}) => {
|
|
31634
|
-
const sharedAudioContext =
|
|
31738
|
+
const sharedAudioContext = useContext47(Internals.SharedAudioContext);
|
|
31635
31739
|
useLayoutEffect18(() => {
|
|
31636
31740
|
const mediaPlayer = mediaPlayerRef.current;
|
|
31637
31741
|
if (!mediaPlayer)
|
|
@@ -31856,7 +31960,7 @@ var AudioForPreviewAssertedShowing = ({
|
|
|
31856
31960
|
logLevel,
|
|
31857
31961
|
label: "AudioForPreview"
|
|
31858
31962
|
});
|
|
31859
|
-
|
|
31963
|
+
useEffect44(() => {
|
|
31860
31964
|
if (!sharedAudioContext)
|
|
31861
31965
|
return;
|
|
31862
31966
|
if (!sharedAudioContext.audioContext)
|
|
@@ -33907,7 +34011,7 @@ var AudioForRendering2 = ({
|
|
|
33907
34011
|
const frame = useCurrentFrame();
|
|
33908
34012
|
const absoluteFrame = Internals.useTimelinePosition();
|
|
33909
34013
|
const videoConfig = Internals.useUnsafeVideoConfig();
|
|
33910
|
-
const { registerRenderAsset, unregisterRenderAsset } =
|
|
34014
|
+
const { registerRenderAsset, unregisterRenderAsset } = useContext310(Internals.RenderAssetManager);
|
|
33911
34015
|
const startsAt = Internals.useMediaStartsAt();
|
|
33912
34016
|
const environment = useRemotionEnvironment();
|
|
33913
34017
|
if (!videoConfig) {
|
|
@@ -33919,7 +34023,7 @@ var AudioForRendering2 = ({
|
|
|
33919
34023
|
const { fps } = videoConfig;
|
|
33920
34024
|
const { delayRender: delayRender2, continueRender } = useDelayRender();
|
|
33921
34025
|
const [replaceWithHtml5Audio, setReplaceWithHtml5Audio] = useState210(false);
|
|
33922
|
-
const sequenceContext =
|
|
34026
|
+
const sequenceContext = useContext310(Internals.SequenceContext);
|
|
33923
34027
|
const id = useMemo213(() => `media-audio-${random(src)}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
|
|
33924
34028
|
src,
|
|
33925
34029
|
sequenceContext?.cumulatedFrom,
|
|
@@ -34272,7 +34376,7 @@ var VideoForPreviewAssertedShowing = ({
|
|
|
34272
34376
|
const [shouldFallbackToNativeVideo, setShouldFallbackToNativeVideo] = useState43(false);
|
|
34273
34377
|
const [playing] = Timeline2.usePlayingState();
|
|
34274
34378
|
const { playbackRate: globalPlaybackRate } = Internals.usePlaybackRate();
|
|
34275
|
-
const sharedAudioContext =
|
|
34379
|
+
const sharedAudioContext = useContext46(SharedAudioContext22);
|
|
34276
34380
|
const buffer = useBufferState();
|
|
34277
34381
|
const [mediaMuted] = useMediaMutedState22();
|
|
34278
34382
|
const [mediaVolume] = useMediaVolumeState22();
|
|
@@ -34293,7 +34397,7 @@ var VideoForPreviewAssertedShowing = ({
|
|
|
34293
34397
|
effectChainStateRef.current = effectChainState;
|
|
34294
34398
|
const frameRef = useRef210(frame);
|
|
34295
34399
|
frameRef.current = frame;
|
|
34296
|
-
const parentSequence =
|
|
34400
|
+
const parentSequence = useContext46(SequenceContext22);
|
|
34297
34401
|
const isPremounting = Boolean(parentSequence?.premounting);
|
|
34298
34402
|
const isPostmounting = Boolean(parentSequence?.postmounting);
|
|
34299
34403
|
const sequenceOffset = ((parentSequence?.cumulatedFrom ?? 0) + (parentSequence?.relativeFrom ?? 0)) / videoConfig.fps;
|
|
@@ -34301,7 +34405,7 @@ var VideoForPreviewAssertedShowing = ({
|
|
|
34301
34405
|
const currentTimeRef = useRef210(currentTime);
|
|
34302
34406
|
currentTimeRef.current = currentTime;
|
|
34303
34407
|
const preloadedSrc = usePreload22(src);
|
|
34304
|
-
const buffering =
|
|
34408
|
+
const buffering = useContext46(Internals.BufferingContextReact);
|
|
34305
34409
|
if (!buffering) {
|
|
34306
34410
|
throw new Error("useMediaPlayback must be used inside a <BufferingContext>");
|
|
34307
34411
|
}
|
|
@@ -34353,7 +34457,7 @@ var VideoForPreviewAssertedShowing = ({
|
|
|
34353
34457
|
cacheVideoFrame(src, canvas);
|
|
34354
34458
|
};
|
|
34355
34459
|
}, [_experimentalInitiallyDrawCachedFrame, src]);
|
|
34356
|
-
|
|
34460
|
+
useEffect210(() => {
|
|
34357
34461
|
if (!sharedAudioContext)
|
|
34358
34462
|
return;
|
|
34359
34463
|
if (!sharedAudioContext.audioContext)
|
|
@@ -35143,13 +35247,13 @@ var Video = Internals.wrapInSchema(VideoInner, videoSchema);
|
|
|
35143
35247
|
Internals.addSequenceStackTraces(Video);
|
|
35144
35248
|
|
|
35145
35249
|
// src/components/homepage/Demo/Comp.tsx
|
|
35146
|
-
import { useCallback as useCallback41, useEffect as
|
|
35250
|
+
import { useCallback as useCallback41, useEffect as useEffect50, useMemo as useMemo58, useState as useState48 } from "react";
|
|
35147
35251
|
|
|
35148
35252
|
// src/components/homepage/Demo/Cards.tsx
|
|
35149
35253
|
import {
|
|
35150
35254
|
createRef as createRef4,
|
|
35151
35255
|
useCallback as useCallback40,
|
|
35152
|
-
useEffect as
|
|
35256
|
+
useEffect as useEffect49,
|
|
35153
35257
|
useRef as useRef49,
|
|
35154
35258
|
useState as useState47
|
|
35155
35259
|
} from "react";
|
|
@@ -35517,14 +35621,14 @@ var CurrentCountry = ({ theme, countryPaths, countryLabel }) => {
|
|
|
35517
35621
|
import {
|
|
35518
35622
|
forwardRef as forwardRef35,
|
|
35519
35623
|
useCallback as useCallback39,
|
|
35520
|
-
useEffect as
|
|
35624
|
+
useEffect as useEffect48,
|
|
35521
35625
|
useImperativeHandle as useImperativeHandle12,
|
|
35522
35626
|
useRef as useRef48
|
|
35523
35627
|
} from "react";
|
|
35524
35628
|
|
|
35525
35629
|
// ../lottie/dist/esm/index.mjs
|
|
35526
35630
|
import lottie from "lottie-web";
|
|
35527
|
-
import { useEffect as
|
|
35631
|
+
import { useEffect as useEffect46, useRef as useRef47, useState as useState44 } from "react";
|
|
35528
35632
|
import { jsx as jsx69 } from "react/jsx-runtime";
|
|
35529
35633
|
var getLottieMetadata = (animationData) => {
|
|
35530
35634
|
const width2 = animationData.w;
|
|
@@ -35600,14 +35704,14 @@ var Lottie = ({
|
|
|
35600
35704
|
onAnimationLoadedRef.current = onAnimationLoaded;
|
|
35601
35705
|
const { delayRender: delayRender2, continueRender } = useDelayRender();
|
|
35602
35706
|
const [handle] = useState44(() => delayRender2("Waiting for Lottie animation to load"));
|
|
35603
|
-
|
|
35707
|
+
useEffect46(() => {
|
|
35604
35708
|
return () => {
|
|
35605
35709
|
continueRender(handle);
|
|
35606
35710
|
};
|
|
35607
35711
|
}, [handle, continueRender]);
|
|
35608
35712
|
const frame = useCurrentFrame();
|
|
35609
35713
|
currentFrameRef.current = frame;
|
|
35610
|
-
|
|
35714
|
+
useEffect46(() => {
|
|
35611
35715
|
if (!containerRef.current) {
|
|
35612
35716
|
return;
|
|
35613
35717
|
}
|
|
@@ -35652,17 +35756,17 @@ var Lottie = ({
|
|
|
35652
35756
|
renderer,
|
|
35653
35757
|
continueRender
|
|
35654
35758
|
]);
|
|
35655
|
-
|
|
35759
|
+
useEffect46(() => {
|
|
35656
35760
|
if (animationRef.current && direction) {
|
|
35657
35761
|
animationRef.current.setDirection(direction === "backward" ? -1 : 1);
|
|
35658
35762
|
}
|
|
35659
35763
|
}, [direction]);
|
|
35660
|
-
|
|
35764
|
+
useEffect46(() => {
|
|
35661
35765
|
if (animationRef.current && playbackRate) {
|
|
35662
35766
|
animationRef.current.setSpeed(playbackRate);
|
|
35663
35767
|
}
|
|
35664
35768
|
}, [playbackRate]);
|
|
35665
|
-
|
|
35769
|
+
useEffect46(() => {
|
|
35666
35770
|
if (!animationRef.current) {
|
|
35667
35771
|
return;
|
|
35668
35772
|
}
|
|
@@ -35695,7 +35799,7 @@ var Lottie = ({
|
|
|
35695
35799
|
};
|
|
35696
35800
|
|
|
35697
35801
|
// src/components/homepage/Demo/DisplayedEmoji.tsx
|
|
35698
|
-
import { useEffect as
|
|
35802
|
+
import { useEffect as useEffect47, useMemo as useMemo56, useState as useState46 } from "react";
|
|
35699
35803
|
import { jsx as jsx70 } from "react/jsx-runtime";
|
|
35700
35804
|
var DisplayedEmoji = ({ emoji }) => {
|
|
35701
35805
|
const [data, setData] = useState46(null);
|
|
@@ -35715,7 +35819,7 @@ var DisplayedEmoji = ({ emoji }) => {
|
|
|
35715
35819
|
throw new Error("Unknown emoji");
|
|
35716
35820
|
}, [emoji]);
|
|
35717
35821
|
const [handle] = useState46(() => delayRender2("Loading emojis!"));
|
|
35718
|
-
|
|
35822
|
+
useEffect47(() => {
|
|
35719
35823
|
fetch(src).then((res) => res.json()).then((json) => {
|
|
35720
35824
|
setData({
|
|
35721
35825
|
duration: getLottieMetadata(json)?.durationInSeconds,
|
|
@@ -35726,7 +35830,7 @@ var DisplayedEmoji = ({ emoji }) => {
|
|
|
35726
35830
|
cancelRender2(err);
|
|
35727
35831
|
});
|
|
35728
35832
|
}, [handle, src, continueRender, cancelRender2]);
|
|
35729
|
-
|
|
35833
|
+
useEffect47(() => {
|
|
35730
35834
|
if (typeof document !== "undefined") {
|
|
35731
35835
|
setBrowser(true);
|
|
35732
35836
|
}
|
|
@@ -35822,7 +35926,7 @@ var EmojiCardRefFn = ({ emojiIndex }, ref) => {
|
|
|
35822
35926
|
transforms: transforms.current
|
|
35823
35927
|
});
|
|
35824
35928
|
}, []);
|
|
35825
|
-
|
|
35929
|
+
useEffect48(() => {
|
|
35826
35930
|
if (!ref1.current || !ref2.current || !ref3.current) {
|
|
35827
35931
|
return;
|
|
35828
35932
|
}
|
|
@@ -35839,7 +35943,7 @@ var EmojiCardRefFn = ({ emojiIndex }, ref) => {
|
|
|
35839
35943
|
onRight
|
|
35840
35944
|
};
|
|
35841
35945
|
}, [onLeft, onRight]);
|
|
35842
|
-
|
|
35946
|
+
useEffect48(() => {
|
|
35843
35947
|
if (!ref1.current || !ref2.current || !ref3.current) {
|
|
35844
35948
|
return;
|
|
35845
35949
|
}
|
|
@@ -36254,7 +36358,7 @@ var Cards = ({
|
|
|
36254
36358
|
const positions = useRef49(getInitialPositions());
|
|
36255
36359
|
const shouldBePositions = useRef49(getInitialPositions());
|
|
36256
36360
|
const { isRendering } = useRemotionEnvironment();
|
|
36257
|
-
|
|
36361
|
+
useEffect49(() => {
|
|
36258
36362
|
const { current } = container4;
|
|
36259
36363
|
if (!current) {
|
|
36260
36364
|
return;
|
|
@@ -36367,7 +36471,7 @@ var HomepageVideoComp = ({
|
|
|
36367
36471
|
}
|
|
36368
36472
|
return sadAudio;
|
|
36369
36473
|
}, [emoji]);
|
|
36370
|
-
|
|
36474
|
+
useEffect50(() => {
|
|
36371
36475
|
const a = prefetch(fireAudio);
|
|
36372
36476
|
const b = prefetch(partyHornAudio);
|
|
36373
36477
|
const c = prefetch(sadAudio);
|
|
@@ -36443,7 +36547,7 @@ import {
|
|
|
36443
36547
|
import { BufferTarget, StreamTarget } from "mediabunny";
|
|
36444
36548
|
|
|
36445
36549
|
// ../core/dist/esm/version.mjs
|
|
36446
|
-
var VERSION2 = "4.0.
|
|
36550
|
+
var VERSION2 = "4.0.460";
|
|
36447
36551
|
|
|
36448
36552
|
// ../web-renderer/dist/esm/index.mjs
|
|
36449
36553
|
import { AudioSample, VideoSample } from "mediabunny";
|
|
@@ -41449,10 +41553,10 @@ var DragAndDropNudge = () => {
|
|
|
41449
41553
|
};
|
|
41450
41554
|
|
|
41451
41555
|
// src/components/homepage/Demo/PlayerSeekBar.tsx
|
|
41452
|
-
import { useCallback as useCallback46, useEffect as
|
|
41556
|
+
import { useCallback as useCallback46, useEffect as useEffect53, useMemo as useMemo61, useRef as useRef50, useState as useState51 } from "react";
|
|
41453
41557
|
|
|
41454
41558
|
// src/components/homepage/layout/use-el-size.ts
|
|
41455
|
-
import { useCallback as useCallback45, useEffect as
|
|
41559
|
+
import { useCallback as useCallback45, useEffect as useEffect51, useMemo as useMemo60, useState as useState50 } from "react";
|
|
41456
41560
|
var useElementSize2 = (ref) => {
|
|
41457
41561
|
const [size4, setSize] = useState50(null);
|
|
41458
41562
|
const observer = useMemo60(() => {
|
|
@@ -41476,7 +41580,7 @@ var useElementSize2 = (ref) => {
|
|
|
41476
41580
|
height: rect[0].height
|
|
41477
41581
|
});
|
|
41478
41582
|
}, [ref]);
|
|
41479
|
-
|
|
41583
|
+
useEffect51(() => {
|
|
41480
41584
|
updateSize();
|
|
41481
41585
|
if (!observer) {
|
|
41482
41586
|
return;
|
|
@@ -41532,7 +41636,7 @@ var findBodyInWhichDivIsLocated2 = (div) => {
|
|
|
41532
41636
|
};
|
|
41533
41637
|
var useHoverState2 = (ref, hideControlsWhenPointerDoesntMove) => {
|
|
41534
41638
|
const [hovered, setHovered] = useState51(false);
|
|
41535
|
-
|
|
41639
|
+
useEffect53(() => {
|
|
41536
41640
|
const { current } = ref;
|
|
41537
41641
|
if (!current) {
|
|
41538
41642
|
return;
|
|
@@ -41583,7 +41687,7 @@ var PlayerSeekBar2 = ({
|
|
|
41583
41687
|
const size4 = useElementSize2(containerRef.current);
|
|
41584
41688
|
const [playing, setPlaying] = useState51(false);
|
|
41585
41689
|
const [frame, setFrame] = useState51(0);
|
|
41586
|
-
|
|
41690
|
+
useEffect53(() => {
|
|
41587
41691
|
const { current } = playerRef;
|
|
41588
41692
|
if (!current) {
|
|
41589
41693
|
return;
|
|
@@ -41596,7 +41700,7 @@ var PlayerSeekBar2 = ({
|
|
|
41596
41700
|
current.removeEventListener("frameupdate", onFrameUpdate);
|
|
41597
41701
|
};
|
|
41598
41702
|
}, [playerRef]);
|
|
41599
|
-
|
|
41703
|
+
useEffect53(() => {
|
|
41600
41704
|
const { current } = playerRef;
|
|
41601
41705
|
if (!current) {
|
|
41602
41706
|
return;
|
|
@@ -41657,7 +41761,7 @@ var PlayerSeekBar2 = ({
|
|
|
41657
41761
|
}
|
|
41658
41762
|
onSeekEnd();
|
|
41659
41763
|
}, [dragging, onSeekEnd, playerRef]);
|
|
41660
|
-
|
|
41764
|
+
useEffect53(() => {
|
|
41661
41765
|
if (!dragging.dragging) {
|
|
41662
41766
|
return;
|
|
41663
41767
|
}
|
|
@@ -41727,7 +41831,7 @@ var PlayerSeekBar2 = ({
|
|
|
41727
41831
|
};
|
|
41728
41832
|
|
|
41729
41833
|
// src/components/homepage/Demo/PlayerVolume.tsx
|
|
41730
|
-
import { useCallback as useCallback47, useEffect as
|
|
41834
|
+
import { useCallback as useCallback47, useEffect as useEffect55, useRef as useRef51, useState as useState54 } from "react";
|
|
41731
41835
|
|
|
41732
41836
|
// src/components/homepage/Demo/icons.tsx
|
|
41733
41837
|
import { jsx as jsx101 } from "react/jsx-runtime";
|
|
@@ -41788,7 +41892,7 @@ var PlayerVolume = ({ playerRef }) => {
|
|
|
41788
41892
|
const [muted, setIsMuted] = useState54(() => playerRef.current?.isMuted() ?? true);
|
|
41789
41893
|
const [isHovered, setIsHovered] = useState54(false);
|
|
41790
41894
|
const timerRef = useRef51(null);
|
|
41791
|
-
|
|
41895
|
+
useEffect55(() => {
|
|
41792
41896
|
const { current } = playerRef;
|
|
41793
41897
|
if (!current) {
|
|
41794
41898
|
return;
|
|
@@ -41801,7 +41905,7 @@ var PlayerVolume = ({ playerRef }) => {
|
|
|
41801
41905
|
current.removeEventListener("mutechange", onMutedChange);
|
|
41802
41906
|
};
|
|
41803
41907
|
}, [playerRef]);
|
|
41804
|
-
|
|
41908
|
+
useEffect55(() => {
|
|
41805
41909
|
if (isHovered) {
|
|
41806
41910
|
document.body.style.userSelect = "none";
|
|
41807
41911
|
} else {
|
|
@@ -41846,7 +41950,7 @@ var PlayerVolume = ({ playerRef }) => {
|
|
|
41846
41950
|
};
|
|
41847
41951
|
|
|
41848
41952
|
// src/components/homepage/Demo/PlayPauseButton.tsx
|
|
41849
|
-
import React71, { useCallback as useCallback48, useEffect as
|
|
41953
|
+
import React71, { useCallback as useCallback48, useEffect as useEffect56 } from "react";
|
|
41850
41954
|
import { jsx as jsx107 } from "react/jsx-runtime";
|
|
41851
41955
|
var playerButtonStyle2 = {
|
|
41852
41956
|
appearance: "none",
|
|
@@ -41864,7 +41968,7 @@ var playerButtonStyle2 = {
|
|
|
41864
41968
|
};
|
|
41865
41969
|
var PlayPauseButton = ({ playerRef }) => {
|
|
41866
41970
|
const [playing, setPlaying] = React71.useState(true);
|
|
41867
|
-
|
|
41971
|
+
useEffect56(() => {
|
|
41868
41972
|
const { current } = playerRef;
|
|
41869
41973
|
if (!current) {
|
|
41870
41974
|
return;
|
|
@@ -41901,7 +42005,7 @@ var PlayPauseButton = ({ playerRef }) => {
|
|
|
41901
42005
|
};
|
|
41902
42006
|
|
|
41903
42007
|
// src/components/homepage/Demo/TimeDisplay.tsx
|
|
41904
|
-
import React73, { useEffect as
|
|
42008
|
+
import React73, { useEffect as useEffect57 } from "react";
|
|
41905
42009
|
import { jsx as jsx108 } from "react/jsx-runtime";
|
|
41906
42010
|
var formatTime2 = (timeInSeconds) => {
|
|
41907
42011
|
const minutes = Math.floor(timeInSeconds / 60);
|
|
@@ -41910,7 +42014,7 @@ var formatTime2 = (timeInSeconds) => {
|
|
|
41910
42014
|
};
|
|
41911
42015
|
var TimeDisplay = ({ fps, playerRef }) => {
|
|
41912
42016
|
const [time, setTime] = React73.useState(0);
|
|
41913
|
-
|
|
42017
|
+
useEffect57(() => {
|
|
41914
42018
|
const { current } = playerRef;
|
|
41915
42019
|
if (!current) {
|
|
41916
42020
|
return;
|
|
@@ -42081,7 +42185,7 @@ var Demo = () => {
|
|
|
42081
42185
|
const [cardOrder, setCardOrder] = useState56([0, 1, 2, 3]);
|
|
42082
42186
|
const [emojiIndex, setEmojiIndex] = useState56(0);
|
|
42083
42187
|
const [error2, setError] = useState56(false);
|
|
42084
|
-
|
|
42188
|
+
useEffect58(() => {
|
|
42085
42189
|
getDataAndProps().then((d2) => {
|
|
42086
42190
|
setData(d2);
|
|
42087
42191
|
}).catch((err) => {
|
|
@@ -42089,7 +42193,7 @@ var Demo = () => {
|
|
|
42089
42193
|
setError(true);
|
|
42090
42194
|
});
|
|
42091
42195
|
}, []);
|
|
42092
|
-
|
|
42196
|
+
useEffect58(() => {
|
|
42093
42197
|
const { current: playerRef } = ref;
|
|
42094
42198
|
if (!playerRef || !data2) {
|
|
42095
42199
|
return;
|
|
@@ -42234,16 +42338,16 @@ var ClearButton = (props) => {
|
|
|
42234
42338
|
|
|
42235
42339
|
// src/components/homepage/MuxVideo.tsx
|
|
42236
42340
|
import Hls2 from "hls.js";
|
|
42237
|
-
import { forwardRef as forwardRef38, useEffect as
|
|
42341
|
+
import { forwardRef as forwardRef38, useEffect as useEffect60, useImperativeHandle as useImperativeHandle14, useRef as useRef56 } from "react";
|
|
42238
42342
|
|
|
42239
42343
|
// src/components/homepage/VideoPlayerWithControls.tsx
|
|
42240
42344
|
import Hls from "hls.js";
|
|
42241
42345
|
import"plyr/dist/plyr.css";
|
|
42242
|
-
import { forwardRef as forwardRef37, useCallback as useCallback50, useEffect as
|
|
42346
|
+
import { forwardRef as forwardRef37, useCallback as useCallback50, useEffect as useEffect59, useRef as useRef55, useState as useState57 } from "react";
|
|
42243
42347
|
import { jsx as jsx116 } from "react/jsx-runtime";
|
|
42244
42348
|
var useCombinedRefs = function(...refs) {
|
|
42245
42349
|
const targetRef = useRef55(null);
|
|
42246
|
-
|
|
42350
|
+
useEffect59(() => {
|
|
42247
42351
|
refs.forEach((ref) => {
|
|
42248
42352
|
if (!ref)
|
|
42249
42353
|
return;
|
|
@@ -42272,12 +42376,12 @@ var VideoPlayerWithControls = forwardRef37(({ playbackId, poster, currentTime, o
|
|
|
42272
42376
|
console.error("Error getting img dimensions", event);
|
|
42273
42377
|
}
|
|
42274
42378
|
}, [onLoaded, onSize]);
|
|
42275
|
-
|
|
42379
|
+
useEffect59(() => {
|
|
42276
42380
|
const img = new Image;
|
|
42277
42381
|
img.onload = (evt) => onImageLoad(evt);
|
|
42278
42382
|
img.src = poster;
|
|
42279
42383
|
}, [onImageLoad, poster]);
|
|
42280
|
-
|
|
42384
|
+
useEffect59(() => {
|
|
42281
42385
|
const video = videoRef.current;
|
|
42282
42386
|
const src = `https://stream.mux.com/${playbackId}.m3u8`;
|
|
42283
42387
|
let hls;
|
|
@@ -42320,7 +42424,7 @@ var VideoPlayerWithControls = forwardRef37(({ playbackId, poster, currentTime, o
|
|
|
42320
42424
|
}
|
|
42321
42425
|
};
|
|
42322
42426
|
}, [playbackId, playerInitTime, videoError, videoRef]);
|
|
42323
|
-
|
|
42427
|
+
useEffect59(() => {
|
|
42324
42428
|
const video = videoRef.current;
|
|
42325
42429
|
if (currentTime && video) {
|
|
42326
42430
|
video.currentTime = currentTime;
|
|
@@ -42347,7 +42451,7 @@ var MuxVideoForward = ({ muxId, ...props }, ref) => {
|
|
|
42347
42451
|
const videoRef = useRef56(null);
|
|
42348
42452
|
const vidUrl = getVideoToPlayUrl(muxId);
|
|
42349
42453
|
useImperativeHandle14(ref, () => videoRef.current, []);
|
|
42350
|
-
|
|
42454
|
+
useEffect60(() => {
|
|
42351
42455
|
let hls;
|
|
42352
42456
|
if (videoRef.current) {
|
|
42353
42457
|
const { current } = videoRef;
|
|
@@ -42460,11 +42564,11 @@ var EditorStarterSection = () => {
|
|
|
42460
42564
|
var EditorStarterSection_default = EditorStarterSection;
|
|
42461
42565
|
|
|
42462
42566
|
// src/components/homepage/EvaluateRemotion.tsx
|
|
42463
|
-
import { useEffect as
|
|
42567
|
+
import { useEffect as useEffect61, useState as useState58 } from "react";
|
|
42464
42568
|
import { jsx as jsx119, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
42465
42569
|
var EvaluateRemotionSection = () => {
|
|
42466
42570
|
const [dailyAvatars, setDailyAvatars] = useState58([]);
|
|
42467
|
-
|
|
42571
|
+
useEffect61(() => {
|
|
42468
42572
|
const avatars = experts.map((expert) => expert.image);
|
|
42469
42573
|
const selectedAvatars = [];
|
|
42470
42574
|
for (let i = 0;i < 3; i++) {
|
|
@@ -42561,7 +42665,7 @@ var EvaluateRemotionSection = () => {
|
|
|
42561
42665
|
var EvaluateRemotion_default = EvaluateRemotionSection;
|
|
42562
42666
|
|
|
42563
42667
|
// src/components/homepage/IfYouKnowReact.tsx
|
|
42564
|
-
import { useEffect as
|
|
42668
|
+
import { useEffect as useEffect63, useState as useState59 } from "react";
|
|
42565
42669
|
import { jsx as jsx120, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
42566
42670
|
var isWebkit = () => {
|
|
42567
42671
|
if (typeof window === "undefined") {
|
|
@@ -42577,7 +42681,7 @@ var icon2 = {
|
|
|
42577
42681
|
};
|
|
42578
42682
|
var IfYouKnowReact = () => {
|
|
42579
42683
|
const [vid, setVid] = useState59("/img/compose.webm");
|
|
42580
|
-
|
|
42684
|
+
useEffect63(() => {
|
|
42581
42685
|
if (isWebkit()) {
|
|
42582
42686
|
setVid("/img/compose.mp4");
|
|
42583
42687
|
}
|
|
@@ -42724,7 +42828,7 @@ var NewsletterButton = () => {
|
|
|
42724
42828
|
};
|
|
42725
42829
|
|
|
42726
42830
|
// src/components/homepage/ParameterizeAndEdit.tsx
|
|
42727
|
-
import { useEffect as
|
|
42831
|
+
import { useEffect as useEffect65, useRef as useRef57, useState as useState61 } from "react";
|
|
42728
42832
|
import { jsx as jsx124, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
42729
42833
|
var icon3 = {
|
|
42730
42834
|
height: 16,
|
|
@@ -42733,7 +42837,7 @@ var icon3 = {
|
|
|
42733
42837
|
var ParameterizeAndEdit = () => {
|
|
42734
42838
|
const ref = useRef57(null);
|
|
42735
42839
|
const [vid, setVid] = useState61("/img/editing-vp9-chrome.webm");
|
|
42736
|
-
|
|
42840
|
+
useEffect65(() => {
|
|
42737
42841
|
if (isWebkit()) {
|
|
42738
42842
|
setVid("/img/editing-safari.mp4");
|
|
42739
42843
|
}
|
|
@@ -42847,7 +42951,7 @@ var ParameterizeAndEdit = () => {
|
|
|
42847
42951
|
};
|
|
42848
42952
|
|
|
42849
42953
|
// src/components/homepage/RealMp4Videos.tsx
|
|
42850
|
-
import { useEffect as
|
|
42954
|
+
import { useEffect as useEffect66, useRef as useRef58, useState as useState64 } from "react";
|
|
42851
42955
|
import { jsx as jsx126, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
42852
42956
|
var icon4 = {
|
|
42853
42957
|
height: 16,
|
|
@@ -42857,12 +42961,12 @@ var RealMP4Videos = () => {
|
|
|
42857
42961
|
const ref = useRef58(null);
|
|
42858
42962
|
const videoRef = useRef58(null);
|
|
42859
42963
|
const [vid, setVid] = useState64("/img/render-progress.webm");
|
|
42860
|
-
|
|
42964
|
+
useEffect66(() => {
|
|
42861
42965
|
if (isWebkit()) {
|
|
42862
42966
|
setVid("/img/render-progress.mp4");
|
|
42863
42967
|
}
|
|
42864
42968
|
}, []);
|
|
42865
|
-
|
|
42969
|
+
useEffect66(() => {
|
|
42866
42970
|
const { current } = ref;
|
|
42867
42971
|
if (!current) {
|
|
42868
42972
|
return;
|
|
@@ -43431,6 +43535,7 @@ var listOfRemotionPackages = [
|
|
|
43431
43535
|
"@remotion/studio",
|
|
43432
43536
|
"@remotion/tailwind",
|
|
43433
43537
|
"@remotion/tailwind-v4",
|
|
43538
|
+
"@remotion/timeline-utils",
|
|
43434
43539
|
"@remotion/test-utils",
|
|
43435
43540
|
"@remotion/three",
|
|
43436
43541
|
"@remotion/transitions",
|
|
@@ -44707,7 +44812,7 @@ var GithubButton = () => {
|
|
|
44707
44812
|
" ",
|
|
44708
44813
|
/* @__PURE__ */ jsx164("div", {
|
|
44709
44814
|
className: "text-xs inline-block ml-2 leading-none mt-[3px] self-center",
|
|
44710
|
-
children: "
|
|
44815
|
+
children: "46k"
|
|
44711
44816
|
})
|
|
44712
44817
|
]
|
|
44713
44818
|
});
|