@remotion/promo-pages 4.0.463 → 4.0.464
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 +901 -777
- package/dist/design.js +745 -661
- package/dist/experts/experts-data.js +16 -5
- package/dist/experts.js +646 -562
- package/dist/homepage/Pricing.js +734 -650
- package/dist/prompts/PromptsGallery.js +743 -659
- package/dist/prompts/PromptsShow.css +2578 -0
- package/dist/prompts/PromptsShow.js +724 -640
- package/dist/prompts/PromptsSubmit.js +731 -647
- package/dist/tailwind.css +6 -4
- package/dist/team.js +730 -646
- package/dist/template-modal-content.css +35 -0
- package/dist/template-modal-content.js +744 -660
- package/dist/templates.js +731 -646
- package/package.json +13 -13
package/dist/Homepage.js
CHANGED
|
@@ -1,15 +1,26 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
1
3
|
var __defProp = Object.defineProperty;
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __toESM = (mod, isNodeMode, target) => {
|
|
7
|
+
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
8
|
+
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
9
|
+
for (let key of __getOwnPropNames(mod))
|
|
10
|
+
if (!__hasOwnProp.call(to, key))
|
|
11
|
+
__defProp(to, key, {
|
|
12
|
+
get: () => mod[key],
|
|
13
|
+
enumerable: true
|
|
14
|
+
});
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
6
17
|
var __export = (target, all) => {
|
|
7
18
|
for (var name in all)
|
|
8
19
|
__defProp(target, name, {
|
|
9
20
|
get: all[name],
|
|
10
21
|
enumerable: true,
|
|
11
22
|
configurable: true,
|
|
12
|
-
set:
|
|
23
|
+
set: (newValue) => all[name] = () => newValue
|
|
13
24
|
});
|
|
14
25
|
};
|
|
15
26
|
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
@@ -900,7 +911,7 @@ var experts = [
|
|
|
900
911
|
}
|
|
901
912
|
];
|
|
902
913
|
// src/components/experts/ExpertsPage.tsx
|
|
903
|
-
import { useMemo as
|
|
914
|
+
import { useMemo as useMemo39 } from "react";
|
|
904
915
|
|
|
905
916
|
// ../core/dist/esm/index.mjs
|
|
906
917
|
import { createContext } from "react";
|
|
@@ -930,13 +941,6 @@ import * as React6 from "react";
|
|
|
930
941
|
import React7, { useMemo as useMemo6, useRef as useRef2 } from "react";
|
|
931
942
|
import { useContext as useContext8, useMemo as useMemo7 } from "react";
|
|
932
943
|
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
933
|
-
import {
|
|
934
|
-
forwardRef as forwardRef4,
|
|
935
|
-
useCallback as useCallback6,
|
|
936
|
-
useEffect as useEffect5,
|
|
937
|
-
useMemo as useMemo16,
|
|
938
|
-
useState as useState6
|
|
939
|
-
} from "react";
|
|
940
944
|
import {
|
|
941
945
|
forwardRef as forwardRef3,
|
|
942
946
|
useContext as useContext17,
|
|
@@ -944,6 +948,7 @@ import {
|
|
|
944
948
|
useMemo as useMemo14,
|
|
945
949
|
useState as useState5
|
|
946
950
|
} from "react";
|
|
951
|
+
import { useRef as useRef6 } from "react";
|
|
947
952
|
import { useContext as useContext14, useMemo as useMemo11 } from "react";
|
|
948
953
|
import { createContext as createContext12 } from "react";
|
|
949
954
|
import { useContext as useContext10, useMemo as useMemo9 } from "react";
|
|
@@ -966,18 +971,25 @@ import React12, { forwardRef as forwardRef2, useState as useState4, useContext a
|
|
|
966
971
|
import { useContext as useContext15, useRef as useRef5 } from "react";
|
|
967
972
|
import { createContext as createContext15 } from "react";
|
|
968
973
|
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
969
|
-
import {
|
|
974
|
+
import {
|
|
975
|
+
forwardRef as forwardRef4,
|
|
976
|
+
useEffect as useEffect5,
|
|
977
|
+
useImperativeHandle as useImperativeHandle2,
|
|
978
|
+
useLayoutEffect as useLayoutEffect2,
|
|
979
|
+
useRef as useRef9,
|
|
980
|
+
useState as useState6
|
|
981
|
+
} from "react";
|
|
982
|
+
import React14, { useCallback as useCallback6, useImperativeHandle, useMemo as useMemo16, useRef as useRef8 } from "react";
|
|
983
|
+
import { useEffect as useEffect4, useMemo as useMemo15, useRef as useRef7 } from "react";
|
|
970
984
|
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
985
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
971
986
|
import {
|
|
972
987
|
forwardRef as forwardRef5,
|
|
988
|
+
useCallback as useCallback7,
|
|
973
989
|
useEffect as useEffect6,
|
|
974
|
-
|
|
975
|
-
useLayoutEffect as useLayoutEffect2,
|
|
976
|
-
useRef as useRef8,
|
|
990
|
+
useMemo as useMemo17,
|
|
977
991
|
useState as useState7
|
|
978
992
|
} from "react";
|
|
979
|
-
import React15, { useCallback as useCallback7, useImperativeHandle, useRef as useRef7 } from "react";
|
|
980
|
-
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
981
993
|
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
982
994
|
import {
|
|
983
995
|
createContext as createContext16,
|
|
@@ -985,78 +997,78 @@ import {
|
|
|
985
997
|
useCallback as useCallback8,
|
|
986
998
|
useContext as useContext18,
|
|
987
999
|
useLayoutEffect as useLayoutEffect3,
|
|
988
|
-
useMemo as
|
|
989
|
-
useRef as
|
|
990
|
-
useState as useState8
|
|
1000
|
+
useMemo as useMemo18,
|
|
1001
|
+
useRef as useRef10
|
|
991
1002
|
} from "react";
|
|
992
1003
|
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
993
|
-
import { useContext as useContext19, useLayoutEffect as useLayoutEffect5, useState as
|
|
1004
|
+
import { useContext as useContext19, useLayoutEffect as useLayoutEffect5, useState as useState9 } from "react";
|
|
994
1005
|
import {
|
|
995
1006
|
createContext as createContext17,
|
|
996
1007
|
useCallback as useCallback9,
|
|
997
1008
|
useImperativeHandle as useImperativeHandle3,
|
|
998
1009
|
useLayoutEffect as useLayoutEffect4,
|
|
999
|
-
useMemo as
|
|
1000
|
-
useRef as
|
|
1001
|
-
useState as
|
|
1010
|
+
useMemo as useMemo19,
|
|
1011
|
+
useRef as useRef11,
|
|
1012
|
+
useState as useState8
|
|
1002
1013
|
} from "react";
|
|
1003
1014
|
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
1004
|
-
import { forwardRef as forwardRef9, useCallback as
|
|
1005
|
-
import React17, { createContext as createContext18, useMemo as
|
|
1015
|
+
import { forwardRef as forwardRef9, useCallback as useCallback15, useContext as useContext31 } from "react";
|
|
1016
|
+
import React17, { createContext as createContext18, useMemo as useMemo20 } from "react";
|
|
1006
1017
|
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
1007
1018
|
import { useContext as useContext20 } from "react";
|
|
1008
|
-
import { createContext as createContext19, useEffect as useEffect7, useState as
|
|
1019
|
+
import { createContext as createContext19, useEffect as useEffect7, useState as useState10 } from "react";
|
|
1009
1020
|
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
1010
|
-
import { createContext as createContext20, useMemo as
|
|
1021
|
+
import { createContext as createContext20, useMemo as useMemo21, useReducer } from "react";
|
|
1011
1022
|
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
1023
|
+
import { useCallback as useCallback14 } from "react";
|
|
1012
1024
|
import React23, {
|
|
1013
1025
|
forwardRef as forwardRef7,
|
|
1014
1026
|
useContext as useContext29,
|
|
1015
1027
|
useEffect as useEffect14,
|
|
1016
1028
|
useImperativeHandle as useImperativeHandle4,
|
|
1017
|
-
useMemo as
|
|
1018
|
-
useRef as
|
|
1019
|
-
useState as
|
|
1029
|
+
useMemo as useMemo29,
|
|
1030
|
+
useRef as useRef19,
|
|
1031
|
+
useState as useState15
|
|
1020
1032
|
} from "react";
|
|
1021
|
-
import { useContext as useContext22, useLayoutEffect as useLayoutEffect6, useRef as
|
|
1033
|
+
import { useContext as useContext22, useLayoutEffect as useLayoutEffect6, useRef as useRef14 } from "react";
|
|
1022
1034
|
import React20, {
|
|
1023
1035
|
createContext as createContext21,
|
|
1024
1036
|
createRef as createRef2,
|
|
1025
1037
|
useCallback as useCallback10,
|
|
1026
1038
|
useContext as useContext21,
|
|
1027
|
-
useMemo as
|
|
1028
|
-
useRef as
|
|
1029
|
-
useState as
|
|
1039
|
+
useMemo as useMemo23,
|
|
1040
|
+
useRef as useRef12,
|
|
1041
|
+
useState as useState11
|
|
1030
1042
|
} from "react";
|
|
1031
|
-
import { useMemo as
|
|
1043
|
+
import { useMemo as useMemo22 } from "react";
|
|
1032
1044
|
import { jsx as jsx20, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
1033
|
-
import { useRef as
|
|
1034
|
-
import { useContext as useContext24, useEffect as useEffect8, useMemo as
|
|
1045
|
+
import { useRef as useRef13 } from "react";
|
|
1046
|
+
import { useContext as useContext24, useEffect as useEffect8, useMemo as useMemo24, useState as useState12 } from "react";
|
|
1035
1047
|
import { useContext as useContext23 } from "react";
|
|
1036
1048
|
import {
|
|
1037
1049
|
useCallback as useCallback13,
|
|
1038
1050
|
useContext as useContext27,
|
|
1039
1051
|
useEffect as useEffect12,
|
|
1040
1052
|
useLayoutEffect as useLayoutEffect8,
|
|
1041
|
-
useRef as
|
|
1053
|
+
useRef as useRef18
|
|
1042
1054
|
} from "react";
|
|
1043
|
-
import { useCallback as useCallback12, useMemo as
|
|
1044
|
-
import { useContext as useContext26, useMemo as
|
|
1055
|
+
import { useCallback as useCallback12, useMemo as useMemo27, useRef as useRef16 } from "react";
|
|
1056
|
+
import { useContext as useContext26, useMemo as useMemo26 } from "react";
|
|
1045
1057
|
import React21, {
|
|
1046
1058
|
useCallback as useCallback11,
|
|
1047
1059
|
useContext as useContext25,
|
|
1048
1060
|
useEffect as useEffect9,
|
|
1049
1061
|
useLayoutEffect as useLayoutEffect7,
|
|
1050
|
-
useMemo as
|
|
1051
|
-
useRef as
|
|
1052
|
-
useState as
|
|
1062
|
+
useMemo as useMemo25,
|
|
1063
|
+
useRef as useRef15,
|
|
1064
|
+
useState as useState13
|
|
1053
1065
|
} from "react";
|
|
1054
1066
|
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
1055
1067
|
import React22 from "react";
|
|
1056
|
-
import { useEffect as useEffect10, useState as
|
|
1057
|
-
import { useEffect as useEffect11, useRef as
|
|
1068
|
+
import { useEffect as useEffect10, useState as useState14 } from "react";
|
|
1069
|
+
import { useEffect as useEffect11, useRef as useRef17 } from "react";
|
|
1058
1070
|
import { useEffect as useEffect13 } from "react";
|
|
1059
|
-
import { createContext as createContext22, useContext as useContext28, useMemo as
|
|
1071
|
+
import { createContext as createContext22, useContext as useContext28, useMemo as useMemo28 } from "react";
|
|
1060
1072
|
import { jsx as jsx222 } from "react/jsx-runtime";
|
|
1061
1073
|
import {
|
|
1062
1074
|
forwardRef as forwardRef8,
|
|
@@ -1064,47 +1076,47 @@ import {
|
|
|
1064
1076
|
useEffect as useEffect15,
|
|
1065
1077
|
useImperativeHandle as useImperativeHandle5,
|
|
1066
1078
|
useLayoutEffect as useLayoutEffect9,
|
|
1067
|
-
useMemo as
|
|
1068
|
-
useRef as
|
|
1079
|
+
useMemo as useMemo30,
|
|
1080
|
+
useRef as useRef20
|
|
1069
1081
|
} from "react";
|
|
1070
1082
|
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
1071
1083
|
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
1072
|
-
import { forwardRef as forwardRef10, useCallback as
|
|
1084
|
+
import { forwardRef as forwardRef10, useCallback as useCallback16, useState as useState16 } from "react";
|
|
1073
1085
|
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
1074
1086
|
import {
|
|
1075
|
-
useCallback as
|
|
1087
|
+
useCallback as useCallback17,
|
|
1076
1088
|
useContext as useContext32,
|
|
1077
1089
|
useImperativeHandle as useImperativeHandle6,
|
|
1078
1090
|
useLayoutEffect as useLayoutEffect10,
|
|
1079
|
-
useRef as
|
|
1080
|
-
useState as
|
|
1091
|
+
useRef as useRef21,
|
|
1092
|
+
useState as useState17
|
|
1081
1093
|
} from "react";
|
|
1082
1094
|
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
1083
1095
|
import { createRef as createRef3 } from "react";
|
|
1084
1096
|
import React28 from "react";
|
|
1085
1097
|
import {
|
|
1086
|
-
useCallback as
|
|
1098
|
+
useCallback as useCallback18,
|
|
1087
1099
|
useImperativeHandle as useImperativeHandle7,
|
|
1088
|
-
useMemo as
|
|
1089
|
-
useRef as
|
|
1090
|
-
useState as
|
|
1100
|
+
useMemo as useMemo31,
|
|
1101
|
+
useRef as useRef22,
|
|
1102
|
+
useState as useState18
|
|
1091
1103
|
} from "react";
|
|
1092
1104
|
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
1093
1105
|
import React29 from "react";
|
|
1094
|
-
import { useMemo as
|
|
1095
|
-
import { createContext as createContext23, useContext as useContext33, useMemo as
|
|
1106
|
+
import { useMemo as useMemo33 } from "react";
|
|
1107
|
+
import { createContext as createContext23, useContext as useContext33, useMemo as useMemo32 } from "react";
|
|
1096
1108
|
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
1097
1109
|
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
1098
1110
|
import React31 from "react";
|
|
1099
1111
|
import React32, { createContext as createContext24 } from "react";
|
|
1100
|
-
import { useCallback as
|
|
1112
|
+
import { useCallback as useCallback21 } from "react";
|
|
1101
1113
|
import {
|
|
1102
|
-
useCallback as
|
|
1114
|
+
useCallback as useCallback19,
|
|
1103
1115
|
useContext as useContext34,
|
|
1104
1116
|
useEffect as useEffect16,
|
|
1105
1117
|
useLayoutEffect as useLayoutEffect11,
|
|
1106
|
-
useMemo as
|
|
1107
|
-
useState as
|
|
1118
|
+
useMemo as useMemo34,
|
|
1119
|
+
useState as useState19
|
|
1108
1120
|
} from "react";
|
|
1109
1121
|
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
1110
1122
|
import React34, {
|
|
@@ -1112,45 +1124,42 @@ import React34, {
|
|
|
1112
1124
|
useContext as useContext35,
|
|
1113
1125
|
useEffect as useEffect18,
|
|
1114
1126
|
useImperativeHandle as useImperativeHandle8,
|
|
1115
|
-
useMemo as
|
|
1116
|
-
useRef as
|
|
1117
|
-
useState as
|
|
1127
|
+
useMemo as useMemo35,
|
|
1128
|
+
useRef as useRef23,
|
|
1129
|
+
useState as useState20,
|
|
1130
|
+
useCallback as useCallback20
|
|
1118
1131
|
} from "react";
|
|
1119
1132
|
import { useEffect as useEffect17 } from "react";
|
|
1120
1133
|
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
1121
1134
|
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
1122
|
-
import React36, { useMemo as
|
|
1135
|
+
import React36, { useMemo as useMemo36 } from "react";
|
|
1123
1136
|
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
1124
|
-
import { Children, forwardRef as forwardRef12, useMemo as
|
|
1137
|
+
import { Children, forwardRef as forwardRef12, useMemo as useMemo37 } from "react";
|
|
1125
1138
|
import React37 from "react";
|
|
1126
1139
|
import React38, { createContext as createContext25 } from "react";
|
|
1127
1140
|
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
1128
1141
|
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
1129
1142
|
import React40 from "react";
|
|
1130
|
-
import { forwardRef as forwardRef14, useCallback as
|
|
1143
|
+
import { forwardRef as forwardRef14, useCallback as useCallback22, useContext as useContext37 } from "react";
|
|
1131
1144
|
import {
|
|
1132
1145
|
forwardRef as forwardRef13,
|
|
1133
1146
|
useContext as useContext36,
|
|
1134
1147
|
useEffect as useEffect19,
|
|
1135
1148
|
useImperativeHandle as useImperativeHandle9,
|
|
1136
1149
|
useLayoutEffect as useLayoutEffect12,
|
|
1137
|
-
useMemo as
|
|
1138
|
-
useRef as
|
|
1150
|
+
useMemo as useMemo38,
|
|
1151
|
+
useRef as useRef24
|
|
1139
1152
|
} from "react";
|
|
1140
1153
|
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
1141
1154
|
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
1142
1155
|
var __defProp2 = Object.defineProperty;
|
|
1143
|
-
var __returnValue2 = (v) => v;
|
|
1144
|
-
function __exportSetter2(name, newValue) {
|
|
1145
|
-
this[name] = __returnValue2.bind(null, newValue);
|
|
1146
|
-
}
|
|
1147
1156
|
var __export2 = (target, all) => {
|
|
1148
1157
|
for (var name in all)
|
|
1149
1158
|
__defProp2(target, name, {
|
|
1150
1159
|
get: all[name],
|
|
1151
1160
|
enumerable: true,
|
|
1152
1161
|
configurable: true,
|
|
1153
|
-
set:
|
|
1162
|
+
set: (newValue) => all[name] = () => newValue
|
|
1154
1163
|
});
|
|
1155
1164
|
};
|
|
1156
1165
|
if (typeof createContext !== "function") {
|
|
@@ -2215,75 +2224,33 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
|
2215
2224
|
var addSequenceStackTraces = (component) => {
|
|
2216
2225
|
componentsToAddStacksTo.push(component);
|
|
2217
2226
|
};
|
|
2218
|
-
var
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
default: "0px 0px",
|
|
2223
|
-
description: "Offset"
|
|
2224
|
-
},
|
|
2225
|
-
"style.scale": {
|
|
2226
|
-
type: "number",
|
|
2227
|
-
min: 0.05,
|
|
2228
|
-
max: 100,
|
|
2229
|
-
step: 0.01,
|
|
2230
|
-
default: 1,
|
|
2231
|
-
description: "Scale"
|
|
2232
|
-
},
|
|
2233
|
-
"style.rotate": {
|
|
2234
|
-
type: "rotation",
|
|
2235
|
-
step: 1,
|
|
2236
|
-
default: "0deg",
|
|
2237
|
-
description: "Rotation"
|
|
2238
|
-
},
|
|
2239
|
-
"style.opacity": {
|
|
2240
|
-
type: "number",
|
|
2241
|
-
min: 0,
|
|
2242
|
-
max: 1,
|
|
2243
|
-
step: 0.01,
|
|
2244
|
-
default: 1,
|
|
2245
|
-
description: "Opacity"
|
|
2246
|
-
},
|
|
2247
|
-
premountFor: {
|
|
2248
|
-
type: "number",
|
|
2249
|
-
default: 0,
|
|
2250
|
-
description: "Premount For",
|
|
2251
|
-
min: 0,
|
|
2252
|
-
step: 1
|
|
2253
|
-
},
|
|
2254
|
-
postmountFor: {
|
|
2255
|
-
type: "hidden"
|
|
2256
|
-
},
|
|
2257
|
-
styleWhilePremounted: {
|
|
2258
|
-
type: "hidden"
|
|
2259
|
-
},
|
|
2260
|
-
styleWhilePostmounted: {
|
|
2261
|
-
type: "hidden"
|
|
2227
|
+
var VERSION = "4.0.464";
|
|
2228
|
+
var checkMultipleRemotionVersions = () => {
|
|
2229
|
+
if (typeof globalThis === "undefined") {
|
|
2230
|
+
return;
|
|
2262
2231
|
}
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
description: "Hidden"
|
|
2268
|
-
};
|
|
2269
|
-
var sequenceSchema = {
|
|
2270
|
-
hidden: hiddenField,
|
|
2271
|
-
layout: {
|
|
2272
|
-
type: "enum",
|
|
2273
|
-
default: "absolute-fill",
|
|
2274
|
-
description: "Layout",
|
|
2275
|
-
variants: {
|
|
2276
|
-
"absolute-fill": sequenceStyleSchema,
|
|
2277
|
-
none: {}
|
|
2232
|
+
const set = () => {
|
|
2233
|
+
globalThis.remotion_imported = VERSION;
|
|
2234
|
+
if (typeof window !== "undefined") {
|
|
2235
|
+
window.remotion_imported = VERSION;
|
|
2278
2236
|
}
|
|
2237
|
+
};
|
|
2238
|
+
const alreadyImported = globalThis.remotion_imported || typeof window !== "undefined" && window.remotion_imported;
|
|
2239
|
+
if (alreadyImported) {
|
|
2240
|
+
if (alreadyImported === VERSION) {
|
|
2241
|
+
return;
|
|
2242
|
+
}
|
|
2243
|
+
if (typeof alreadyImported === "string" && alreadyImported.includes("webcodecs")) {
|
|
2244
|
+
set();
|
|
2245
|
+
return;
|
|
2246
|
+
}
|
|
2247
|
+
throw new TypeError(`\uD83D\uDEA8 Multiple versions of Remotion detected: ${[
|
|
2248
|
+
VERSION,
|
|
2249
|
+
typeof alreadyImported === "string" ? alreadyImported : "an older version"
|
|
2250
|
+
].filter(truthy).join(" and ")}. This will cause things to break in an unexpected way.
|
|
2251
|
+
Check that all your Remotion packages are on the same version. If your dependencies depend on Remotion, make them peer dependencies. You can also run \`npx remotion versions\` from your terminal to see which versions are mismatching.`);
|
|
2279
2252
|
}
|
|
2280
|
-
|
|
2281
|
-
var sequenceSchemaDefaultLayoutNone = {
|
|
2282
|
-
...sequenceSchema,
|
|
2283
|
-
layout: {
|
|
2284
|
-
...sequenceSchema.layout,
|
|
2285
|
-
default: "none"
|
|
2286
|
-
}
|
|
2253
|
+
set();
|
|
2287
2254
|
};
|
|
2288
2255
|
var SequenceContext = createContext12(null);
|
|
2289
2256
|
var exports_timeline_position_state = {};
|
|
@@ -2619,6 +2586,82 @@ var Freeze = ({
|
|
|
2619
2586
|
var PremountContext = createContext14({
|
|
2620
2587
|
premountFramesRemaining: 0
|
|
2621
2588
|
});
|
|
2589
|
+
var sequenceVisualStyleSchema = {
|
|
2590
|
+
"style.translate": {
|
|
2591
|
+
type: "translate",
|
|
2592
|
+
step: 1,
|
|
2593
|
+
default: "0px 0px",
|
|
2594
|
+
description: "Offset"
|
|
2595
|
+
},
|
|
2596
|
+
"style.scale": {
|
|
2597
|
+
type: "number",
|
|
2598
|
+
min: 0.05,
|
|
2599
|
+
max: 100,
|
|
2600
|
+
step: 0.01,
|
|
2601
|
+
default: 1,
|
|
2602
|
+
description: "Scale"
|
|
2603
|
+
},
|
|
2604
|
+
"style.rotate": {
|
|
2605
|
+
type: "rotation",
|
|
2606
|
+
step: 1,
|
|
2607
|
+
default: "0deg",
|
|
2608
|
+
description: "Rotation"
|
|
2609
|
+
},
|
|
2610
|
+
"style.opacity": {
|
|
2611
|
+
type: "number",
|
|
2612
|
+
min: 0,
|
|
2613
|
+
max: 1,
|
|
2614
|
+
step: 0.01,
|
|
2615
|
+
default: 1,
|
|
2616
|
+
description: "Opacity"
|
|
2617
|
+
}
|
|
2618
|
+
};
|
|
2619
|
+
var sequencePremountSchema = {
|
|
2620
|
+
premountFor: {
|
|
2621
|
+
type: "number",
|
|
2622
|
+
default: 0,
|
|
2623
|
+
description: "Premount For",
|
|
2624
|
+
min: 0,
|
|
2625
|
+
step: 1
|
|
2626
|
+
},
|
|
2627
|
+
postmountFor: {
|
|
2628
|
+
type: "hidden"
|
|
2629
|
+
},
|
|
2630
|
+
styleWhilePremounted: {
|
|
2631
|
+
type: "hidden"
|
|
2632
|
+
},
|
|
2633
|
+
styleWhilePostmounted: {
|
|
2634
|
+
type: "hidden"
|
|
2635
|
+
}
|
|
2636
|
+
};
|
|
2637
|
+
var sequenceStyleSchema = {
|
|
2638
|
+
...sequenceVisualStyleSchema,
|
|
2639
|
+
...sequencePremountSchema
|
|
2640
|
+
};
|
|
2641
|
+
var hiddenField = {
|
|
2642
|
+
type: "boolean",
|
|
2643
|
+
default: false,
|
|
2644
|
+
description: "Hidden"
|
|
2645
|
+
};
|
|
2646
|
+
var sequenceSchema = {
|
|
2647
|
+
hidden: hiddenField,
|
|
2648
|
+
layout: {
|
|
2649
|
+
type: "enum",
|
|
2650
|
+
default: "absolute-fill",
|
|
2651
|
+
description: "Layout",
|
|
2652
|
+
variants: {
|
|
2653
|
+
"absolute-fill": sequenceStyleSchema,
|
|
2654
|
+
none: {}
|
|
2655
|
+
}
|
|
2656
|
+
}
|
|
2657
|
+
};
|
|
2658
|
+
var sequenceSchemaDefaultLayoutNone = {
|
|
2659
|
+
...sequenceSchema,
|
|
2660
|
+
layout: {
|
|
2661
|
+
...sequenceSchema.layout,
|
|
2662
|
+
default: "none"
|
|
2663
|
+
}
|
|
2664
|
+
};
|
|
2622
2665
|
var SequenceManager = React11.createContext({
|
|
2623
2666
|
registerSequence: () => {
|
|
2624
2667
|
throw new Error("SequenceManagerContext not initialized");
|
|
@@ -3301,7 +3344,8 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
3301
3344
|
}, [name]);
|
|
3302
3345
|
const env = useRemotionEnvironment();
|
|
3303
3346
|
const inheritedStack = other?.stack ?? null;
|
|
3304
|
-
const
|
|
3347
|
+
const stackRef = useRef6(null);
|
|
3348
|
+
stackRef.current = stack ?? inheritedStack;
|
|
3305
3349
|
useEffect3(() => {
|
|
3306
3350
|
if (!env.isStudio) {
|
|
3307
3351
|
return;
|
|
@@ -3325,7 +3369,7 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
3325
3369
|
rootId,
|
|
3326
3370
|
showInTimeline,
|
|
3327
3371
|
src: isMedia.data.src,
|
|
3328
|
-
|
|
3372
|
+
getStack: () => stackRef.current,
|
|
3329
3373
|
startMediaFrom: isMedia.data.startMediaFrom,
|
|
3330
3374
|
volume: isMedia.data.volumes
|
|
3331
3375
|
});
|
|
@@ -3344,7 +3388,7 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
3344
3388
|
showInTimeline,
|
|
3345
3389
|
nonce: nonce.get(),
|
|
3346
3390
|
loopDisplay,
|
|
3347
|
-
|
|
3391
|
+
getStack: () => stackRef.current,
|
|
3348
3392
|
premountDisplay: premountDisplay ?? null,
|
|
3349
3393
|
postmountDisplay: postmountDisplay ?? null,
|
|
3350
3394
|
controls: controls ?? null,
|
|
@@ -3367,7 +3411,6 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
3367
3411
|
showInTimeline,
|
|
3368
3412
|
nonce,
|
|
3369
3413
|
loopDisplay,
|
|
3370
|
-
stackDoesntChange,
|
|
3371
3414
|
premountDisplay,
|
|
3372
3415
|
postmountDisplay,
|
|
3373
3416
|
env.isStudio,
|
|
@@ -3476,6 +3519,10 @@ var SequenceRefForwardingFunction = (props, ref) => {
|
|
|
3476
3519
|
};
|
|
3477
3520
|
var SequenceInner = forwardRef3(SequenceRefForwardingFunction);
|
|
3478
3521
|
var Sequence = wrapInSchema(SequenceInner, sequenceSchema);
|
|
3522
|
+
var WEBGL_CONTEXT_DOCS_URL = "https://remotion.dev/docs/troubleshooting/webgl2-context";
|
|
3523
|
+
var webGlContextErrorMessage = (versionLabel, effectName) => `Failed to acquire ${versionLabel} context for ${effectName}. ` + 'Pass --gl=angle when using the CLI, set chromiumOptions: { gl: "angle" } when using SSR APIs, ' + 'or set "OpenGL render backend" to "angle" in the Advanced section when rendering in the Studio. ' + `See ${WEBGL_CONTEXT_DOCS_URL}`;
|
|
3524
|
+
var createWebGLContextError = (effectName) => new Error(webGlContextErrorMessage("WebGL", effectName));
|
|
3525
|
+
var createWebGL2ContextError = (effectName) => new Error(webGlContextErrorMessage("WebGL2", effectName));
|
|
3479
3526
|
|
|
3480
3527
|
class CanvasPool {
|
|
3481
3528
|
width;
|
|
@@ -3524,7 +3571,7 @@ class CanvasPool {
|
|
|
3524
3571
|
preserveDrawingBuffer: true
|
|
3525
3572
|
});
|
|
3526
3573
|
if (!ctx) {
|
|
3527
|
-
throw
|
|
3574
|
+
throw createWebGL2ContextError("canvas effect");
|
|
3528
3575
|
}
|
|
3529
3576
|
canvas.addEventListener("webglcontextlost", (e) => {
|
|
3530
3577
|
e.preventDefault();
|
|
@@ -3691,8 +3738,8 @@ var runEffectChain = async ({
|
|
|
3691
3738
|
return true;
|
|
3692
3739
|
};
|
|
3693
3740
|
var useEffectChainState = () => {
|
|
3694
|
-
const chainStateRef =
|
|
3695
|
-
const sizeRef =
|
|
3741
|
+
const chainStateRef = useRef7(null);
|
|
3742
|
+
const sizeRef = useRef7(null);
|
|
3696
3743
|
useEffect4(() => {
|
|
3697
3744
|
return () => {
|
|
3698
3745
|
if (chainStateRef.current) {
|
|
@@ -3713,186 +3760,6 @@ var useEffectChainState = () => {
|
|
|
3713
3760
|
}
|
|
3714
3761
|
}), []);
|
|
3715
3762
|
};
|
|
3716
|
-
var solidSchema = {
|
|
3717
|
-
color: {
|
|
3718
|
-
type: "color",
|
|
3719
|
-
default: "#ffffff",
|
|
3720
|
-
description: "Color"
|
|
3721
|
-
},
|
|
3722
|
-
width: {
|
|
3723
|
-
type: "number",
|
|
3724
|
-
min: 1,
|
|
3725
|
-
step: 1,
|
|
3726
|
-
default: 1920,
|
|
3727
|
-
description: "Width"
|
|
3728
|
-
},
|
|
3729
|
-
height: {
|
|
3730
|
-
type: "number",
|
|
3731
|
-
min: 1,
|
|
3732
|
-
step: 1,
|
|
3733
|
-
default: 1080,
|
|
3734
|
-
description: "Height"
|
|
3735
|
-
},
|
|
3736
|
-
...sequenceStyleSchema
|
|
3737
|
-
};
|
|
3738
|
-
var SolidInner = ({
|
|
3739
|
-
color,
|
|
3740
|
-
width,
|
|
3741
|
-
height,
|
|
3742
|
-
_experimentalEffects: experimentalEffects = [],
|
|
3743
|
-
className,
|
|
3744
|
-
style,
|
|
3745
|
-
overrideId,
|
|
3746
|
-
ref
|
|
3747
|
-
}) => {
|
|
3748
|
-
const { delayRender: delayRender2, continueRender: continueRender2, cancelRender: cancelRender2 } = useDelayRender();
|
|
3749
|
-
const [outputCanvas, setOutputCanvas] = useState6(null);
|
|
3750
|
-
const memoizedEffects = useMemoizedEffects({
|
|
3751
|
-
effects: experimentalEffects,
|
|
3752
|
-
overrideId: overrideId ?? null
|
|
3753
|
-
});
|
|
3754
|
-
const sourceCanvas = useMemo16(() => {
|
|
3755
|
-
if (typeof document === "undefined") {
|
|
3756
|
-
return null;
|
|
3757
|
-
}
|
|
3758
|
-
const canvas = document.createElement("canvas");
|
|
3759
|
-
canvas.width = 1;
|
|
3760
|
-
canvas.height = 1;
|
|
3761
|
-
return canvas;
|
|
3762
|
-
}, []);
|
|
3763
|
-
const chainState = useEffectChainState();
|
|
3764
|
-
const canvasRef = useCallback6((canvas) => {
|
|
3765
|
-
setOutputCanvas(canvas);
|
|
3766
|
-
if (typeof ref === "function") {
|
|
3767
|
-
ref(canvas);
|
|
3768
|
-
} else if (ref) {
|
|
3769
|
-
ref.current = canvas;
|
|
3770
|
-
}
|
|
3771
|
-
}, [ref]);
|
|
3772
|
-
useEffect5(() => {
|
|
3773
|
-
if (!outputCanvas || !sourceCanvas) {
|
|
3774
|
-
return;
|
|
3775
|
-
}
|
|
3776
|
-
const handle = delayRender2("Solid effect chain");
|
|
3777
|
-
if (!chainState) {
|
|
3778
|
-
continueRender2(handle);
|
|
3779
|
-
return () => {
|
|
3780
|
-
continueRender2(handle);
|
|
3781
|
-
};
|
|
3782
|
-
}
|
|
3783
|
-
const ctx = sourceCanvas.getContext("2d", { colorSpace: "srgb" });
|
|
3784
|
-
if (!ctx) {
|
|
3785
|
-
cancelRender2(new Error("Failed to acquire 2D context for <Solid> source"));
|
|
3786
|
-
return;
|
|
3787
|
-
}
|
|
3788
|
-
ctx.fillStyle = color;
|
|
3789
|
-
ctx.fillRect(0, 0, 1, 1);
|
|
3790
|
-
runEffectChain({
|
|
3791
|
-
state: chainState.get(width, height),
|
|
3792
|
-
source: sourceCanvas,
|
|
3793
|
-
effects: memoizedEffects,
|
|
3794
|
-
output: outputCanvas,
|
|
3795
|
-
width,
|
|
3796
|
-
height
|
|
3797
|
-
}).then((completed) => {
|
|
3798
|
-
if (completed) {
|
|
3799
|
-
continueRender2(handle);
|
|
3800
|
-
}
|
|
3801
|
-
}).catch((err) => {
|
|
3802
|
-
cancelRender2(err);
|
|
3803
|
-
});
|
|
3804
|
-
return () => {
|
|
3805
|
-
continueRender2(handle);
|
|
3806
|
-
};
|
|
3807
|
-
}, [
|
|
3808
|
-
color,
|
|
3809
|
-
outputCanvas,
|
|
3810
|
-
sourceCanvas,
|
|
3811
|
-
chainState,
|
|
3812
|
-
width,
|
|
3813
|
-
height,
|
|
3814
|
-
delayRender2,
|
|
3815
|
-
continueRender2,
|
|
3816
|
-
cancelRender2,
|
|
3817
|
-
memoizedEffects
|
|
3818
|
-
]);
|
|
3819
|
-
return /* @__PURE__ */ jsx12("canvas", {
|
|
3820
|
-
ref: canvasRef,
|
|
3821
|
-
width,
|
|
3822
|
-
height,
|
|
3823
|
-
className,
|
|
3824
|
-
style
|
|
3825
|
-
});
|
|
3826
|
-
};
|
|
3827
|
-
var SolidOuter = forwardRef4(({
|
|
3828
|
-
_experimentalEffects = [],
|
|
3829
|
-
_experimentalControls: controls,
|
|
3830
|
-
color,
|
|
3831
|
-
height,
|
|
3832
|
-
width,
|
|
3833
|
-
className,
|
|
3834
|
-
durationInFrames,
|
|
3835
|
-
style,
|
|
3836
|
-
name,
|
|
3837
|
-
from,
|
|
3838
|
-
hidden,
|
|
3839
|
-
showInTimeline,
|
|
3840
|
-
...props
|
|
3841
|
-
}, ref) => {
|
|
3842
|
-
const memoizedEffectDefinitions = useMemoizedEffectDefinitions(_experimentalEffects);
|
|
3843
|
-
return /* @__PURE__ */ jsx12(Sequence, {
|
|
3844
|
-
layout: "none",
|
|
3845
|
-
from,
|
|
3846
|
-
hidden,
|
|
3847
|
-
showInTimeline,
|
|
3848
|
-
_experimentalControls: controls,
|
|
3849
|
-
_experimentalEffects: memoizedEffectDefinitions,
|
|
3850
|
-
durationInFrames,
|
|
3851
|
-
name: name ?? "<Solid>",
|
|
3852
|
-
...props,
|
|
3853
|
-
children: /* @__PURE__ */ jsx12(SolidInner, {
|
|
3854
|
-
ref,
|
|
3855
|
-
overrideId: controls?.overrideId ?? null,
|
|
3856
|
-
color,
|
|
3857
|
-
height,
|
|
3858
|
-
width,
|
|
3859
|
-
className,
|
|
3860
|
-
style,
|
|
3861
|
-
_experimentalEffects
|
|
3862
|
-
})
|
|
3863
|
-
});
|
|
3864
|
-
});
|
|
3865
|
-
var Solid = wrapInSchema(SolidOuter, solidSchema);
|
|
3866
|
-
Solid.displayName = "Solid";
|
|
3867
|
-
addSequenceStackTraces(Solid);
|
|
3868
|
-
var VERSION = "4.0.463";
|
|
3869
|
-
var checkMultipleRemotionVersions = () => {
|
|
3870
|
-
if (typeof globalThis === "undefined") {
|
|
3871
|
-
return;
|
|
3872
|
-
}
|
|
3873
|
-
const set = () => {
|
|
3874
|
-
globalThis.remotion_imported = VERSION;
|
|
3875
|
-
if (typeof window !== "undefined") {
|
|
3876
|
-
window.remotion_imported = VERSION;
|
|
3877
|
-
}
|
|
3878
|
-
};
|
|
3879
|
-
const alreadyImported = globalThis.remotion_imported || typeof window !== "undefined" && window.remotion_imported;
|
|
3880
|
-
if (alreadyImported) {
|
|
3881
|
-
if (alreadyImported === VERSION) {
|
|
3882
|
-
return;
|
|
3883
|
-
}
|
|
3884
|
-
if (typeof alreadyImported === "string" && alreadyImported.includes("webcodecs")) {
|
|
3885
|
-
set();
|
|
3886
|
-
return;
|
|
3887
|
-
}
|
|
3888
|
-
throw new TypeError(`\uD83D\uDEA8 Multiple versions of Remotion detected: ${[
|
|
3889
|
-
VERSION,
|
|
3890
|
-
typeof alreadyImported === "string" ? alreadyImported : "an older version"
|
|
3891
|
-
].filter(truthy).join(" and ")}. This will cause things to break in an unexpected way.
|
|
3892
|
-
Check that all your Remotion packages are on the same version. If your dependencies depend on Remotion, make them peer dependencies. You can also run \`npx remotion versions\` from your terminal to see which versions are mismatching.`);
|
|
3893
|
-
}
|
|
3894
|
-
set();
|
|
3895
|
-
};
|
|
3896
3763
|
var calcArgs = (fit, frameSize, canvasSize) => {
|
|
3897
3764
|
switch (fit) {
|
|
3898
3765
|
case "fill": {
|
|
@@ -3941,29 +3808,49 @@ var calcArgs = (fit, frameSize, canvasSize) => {
|
|
|
3941
3808
|
throw new Error("Unknown fit: " + fit);
|
|
3942
3809
|
}
|
|
3943
3810
|
};
|
|
3944
|
-
var CanvasRefForwardingFunction = ({ width, height, fit, className, style }, ref) => {
|
|
3945
|
-
const canvasRef =
|
|
3946
|
-
const
|
|
3811
|
+
var CanvasRefForwardingFunction = ({ width, height, fit, className, style, effects }, ref) => {
|
|
3812
|
+
const canvasRef = useRef8(null);
|
|
3813
|
+
const chainState = useEffectChainState();
|
|
3814
|
+
const sourceCanvas = useMemo16(() => {
|
|
3815
|
+
if (typeof document === "undefined") {
|
|
3816
|
+
return null;
|
|
3817
|
+
}
|
|
3818
|
+
return document.createElement("canvas");
|
|
3819
|
+
}, []);
|
|
3820
|
+
const draw = useCallback6(async (imageData) => {
|
|
3947
3821
|
const canvas = canvasRef.current;
|
|
3948
3822
|
const canvasWidth = width ?? imageData.displayWidth;
|
|
3949
3823
|
const canvasHeight = height ?? imageData.displayHeight;
|
|
3950
3824
|
if (!canvas) {
|
|
3951
3825
|
throw new Error("Canvas ref is not set");
|
|
3952
3826
|
}
|
|
3953
|
-
|
|
3954
|
-
|
|
3955
|
-
throw new Error("Could not get 2d context");
|
|
3827
|
+
if (!sourceCanvas) {
|
|
3828
|
+
throw new Error("Source canvas is not available");
|
|
3956
3829
|
}
|
|
3957
|
-
|
|
3958
|
-
|
|
3959
|
-
|
|
3830
|
+
sourceCanvas.width = canvasWidth;
|
|
3831
|
+
sourceCanvas.height = canvasHeight;
|
|
3832
|
+
const sourceCtx = sourceCanvas.getContext("2d");
|
|
3833
|
+
if (!sourceCtx) {
|
|
3834
|
+
throw new Error("Could not get 2d context for source canvas");
|
|
3835
|
+
}
|
|
3836
|
+
sourceCtx.drawImage(imageData, ...calcArgs(fit, {
|
|
3960
3837
|
height: imageData.displayHeight,
|
|
3961
3838
|
width: imageData.displayWidth
|
|
3962
3839
|
}, {
|
|
3963
3840
|
width: canvasWidth,
|
|
3964
3841
|
height: canvasHeight
|
|
3965
3842
|
}));
|
|
3966
|
-
|
|
3843
|
+
canvas.width = canvasWidth;
|
|
3844
|
+
canvas.height = canvasHeight;
|
|
3845
|
+
return runEffectChain({
|
|
3846
|
+
state: chainState.get(canvasWidth, canvasHeight),
|
|
3847
|
+
source: sourceCanvas,
|
|
3848
|
+
effects,
|
|
3849
|
+
output: canvas,
|
|
3850
|
+
width: canvasWidth,
|
|
3851
|
+
height: canvasHeight
|
|
3852
|
+
});
|
|
3853
|
+
}, [chainState, effects, fit, height, sourceCanvas, width]);
|
|
3967
3854
|
useImperativeHandle(ref, () => {
|
|
3968
3855
|
return {
|
|
3969
3856
|
draw,
|
|
@@ -3982,13 +3869,13 @@ var CanvasRefForwardingFunction = ({ width, height, fit, className, style }, ref
|
|
|
3982
3869
|
}
|
|
3983
3870
|
};
|
|
3984
3871
|
}, [draw]);
|
|
3985
|
-
return /* @__PURE__ */
|
|
3872
|
+
return /* @__PURE__ */ jsx12("canvas", {
|
|
3986
3873
|
ref: canvasRef,
|
|
3987
3874
|
className,
|
|
3988
3875
|
style
|
|
3989
3876
|
});
|
|
3990
3877
|
};
|
|
3991
|
-
var Canvas =
|
|
3878
|
+
var Canvas = React14.forwardRef(CanvasRefForwardingFunction);
|
|
3992
3879
|
var CACHE_SIZE = 5;
|
|
3993
3880
|
var getActualTime = ({
|
|
3994
3881
|
loopBehavior,
|
|
@@ -4144,10 +4031,10 @@ var animatedImageSchema = {
|
|
|
4144
4031
|
default: 1,
|
|
4145
4032
|
description: "Playback Rate"
|
|
4146
4033
|
},
|
|
4147
|
-
...
|
|
4034
|
+
...sequenceVisualStyleSchema,
|
|
4148
4035
|
hidden: hiddenField
|
|
4149
4036
|
};
|
|
4150
|
-
var AnimatedImageContent =
|
|
4037
|
+
var AnimatedImageContent = forwardRef4(({
|
|
4151
4038
|
src,
|
|
4152
4039
|
width,
|
|
4153
4040
|
height,
|
|
@@ -4155,26 +4042,24 @@ var AnimatedImageContent = forwardRef5(({
|
|
|
4155
4042
|
loopBehavior = "loop",
|
|
4156
4043
|
playbackRate = 1,
|
|
4157
4044
|
fit = "fill",
|
|
4045
|
+
effects,
|
|
4046
|
+
controls,
|
|
4158
4047
|
...props
|
|
4159
4048
|
}, canvasRef) => {
|
|
4160
|
-
const mountState = useRef8({ isMounted: true });
|
|
4161
|
-
useEffect6(() => {
|
|
4162
|
-
const { current } = mountState;
|
|
4163
|
-
current.isMounted = true;
|
|
4164
|
-
return () => {
|
|
4165
|
-
current.isMounted = false;
|
|
4166
|
-
};
|
|
4167
|
-
}, []);
|
|
4168
4049
|
const resolvedSrc = resolveAnimatedImageSource(src);
|
|
4169
|
-
const [imageDecoder, setImageDecoder] =
|
|
4050
|
+
const [imageDecoder, setImageDecoder] = useState6(null);
|
|
4170
4051
|
const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
|
|
4171
|
-
const [decodeHandle] =
|
|
4052
|
+
const [decodeHandle] = useState6(() => delayRender2(`Rendering <AnimatedImage/> with src="${resolvedSrc}"`));
|
|
4172
4053
|
const frame = useCurrentFrame();
|
|
4173
4054
|
const { fps } = useVideoConfig();
|
|
4174
4055
|
const currentTime = frame / playbackRate / fps;
|
|
4175
|
-
const currentTimeRef =
|
|
4056
|
+
const currentTimeRef = useRef9(currentTime);
|
|
4176
4057
|
currentTimeRef.current = currentTime;
|
|
4177
|
-
const ref =
|
|
4058
|
+
const ref = useRef9(null);
|
|
4059
|
+
const memoizedEffects = useMemoizedEffects({
|
|
4060
|
+
effects,
|
|
4061
|
+
overrideId: controls?.overrideId ?? null
|
|
4062
|
+
});
|
|
4178
4063
|
useImperativeHandle2(canvasRef, () => {
|
|
4179
4064
|
const c = ref.current?.getCanvas();
|
|
4180
4065
|
if (!c) {
|
|
@@ -4182,8 +4067,8 @@ var AnimatedImageContent = forwardRef5(({
|
|
|
4182
4067
|
}
|
|
4183
4068
|
return c;
|
|
4184
4069
|
}, []);
|
|
4185
|
-
const [initialLoopBehavior] =
|
|
4186
|
-
|
|
4070
|
+
const [initialLoopBehavior] = useState6(() => loopBehavior);
|
|
4071
|
+
useEffect5(() => {
|
|
4187
4072
|
const controller = new AbortController;
|
|
4188
4073
|
decodeImage({
|
|
4189
4074
|
resolvedSrc,
|
|
@@ -4220,16 +4105,24 @@ var AnimatedImageContent = forwardRef5(({
|
|
|
4220
4105
|
return;
|
|
4221
4106
|
}
|
|
4222
4107
|
const delay = delayRender2(`Rendering frame at ${currentTime} of <AnimatedImage src="${src}"/>`);
|
|
4223
|
-
|
|
4224
|
-
|
|
4225
|
-
|
|
4226
|
-
|
|
4227
|
-
|
|
4228
|
-
|
|
4229
|
-
|
|
4108
|
+
let cancelled = false;
|
|
4109
|
+
imageDecoder.getFrame(currentTime, loopBehavior).then(async (videoFrame) => {
|
|
4110
|
+
if (cancelled) {
|
|
4111
|
+
return;
|
|
4112
|
+
}
|
|
4113
|
+
if (videoFrame === null) {
|
|
4114
|
+
ref.current?.clear();
|
|
4115
|
+
continueRender2(delay);
|
|
4116
|
+
return;
|
|
4117
|
+
}
|
|
4118
|
+
const completed = await ref.current?.draw(videoFrame.frame);
|
|
4119
|
+
if (completed && !cancelled) {
|
|
4120
|
+
continueRender2(delay);
|
|
4230
4121
|
}
|
|
4231
|
-
continueRender2(delay);
|
|
4232
4122
|
}).catch((err) => {
|
|
4123
|
+
if (cancelled) {
|
|
4124
|
+
return;
|
|
4125
|
+
}
|
|
4233
4126
|
if (onError) {
|
|
4234
4127
|
onError(err);
|
|
4235
4128
|
continueRender2(delay);
|
|
@@ -4237,6 +4130,10 @@ var AnimatedImageContent = forwardRef5(({
|
|
|
4237
4130
|
cancelRender(err);
|
|
4238
4131
|
}
|
|
4239
4132
|
});
|
|
4133
|
+
return () => {
|
|
4134
|
+
cancelled = true;
|
|
4135
|
+
continueRender2(delay);
|
|
4136
|
+
};
|
|
4240
4137
|
}, [
|
|
4241
4138
|
currentTime,
|
|
4242
4139
|
imageDecoder,
|
|
@@ -4244,13 +4141,18 @@ var AnimatedImageContent = forwardRef5(({
|
|
|
4244
4141
|
onError,
|
|
4245
4142
|
src,
|
|
4246
4143
|
continueRender2,
|
|
4247
|
-
delayRender2
|
|
4144
|
+
delayRender2,
|
|
4145
|
+
memoizedEffects,
|
|
4146
|
+
fit,
|
|
4147
|
+
width,
|
|
4148
|
+
height
|
|
4248
4149
|
]);
|
|
4249
|
-
return /* @__PURE__ */
|
|
4150
|
+
return /* @__PURE__ */ jsx13(Canvas, {
|
|
4250
4151
|
ref,
|
|
4251
4152
|
width,
|
|
4252
4153
|
height,
|
|
4253
4154
|
fit,
|
|
4155
|
+
effects: memoizedEffects,
|
|
4254
4156
|
...props
|
|
4255
4157
|
});
|
|
4256
4158
|
});
|
|
@@ -4267,12 +4169,14 @@ var AnimatedImageInner = ({
|
|
|
4267
4169
|
className,
|
|
4268
4170
|
style,
|
|
4269
4171
|
durationInFrames,
|
|
4172
|
+
_experimentalEffects: effects = [],
|
|
4270
4173
|
_experimentalControls: controls,
|
|
4271
4174
|
ref,
|
|
4272
4175
|
...sequenceProps
|
|
4273
4176
|
}) => {
|
|
4274
4177
|
const { durationInFrames: videoDuration } = useVideoConfig();
|
|
4275
4178
|
const resolvedDuration = durationInFrames ?? videoDuration;
|
|
4179
|
+
const memoizedEffectDefinitions = useMemoizedEffectDefinitions(effects);
|
|
4276
4180
|
const animatedImageProps = {
|
|
4277
4181
|
src,
|
|
4278
4182
|
width,
|
|
@@ -4285,21 +4189,179 @@ var AnimatedImageInner = ({
|
|
|
4285
4189
|
className,
|
|
4286
4190
|
style
|
|
4287
4191
|
};
|
|
4288
|
-
return /* @__PURE__ */
|
|
4192
|
+
return /* @__PURE__ */ jsx13(Sequence, {
|
|
4289
4193
|
layout: "none",
|
|
4290
4194
|
durationInFrames: resolvedDuration,
|
|
4291
4195
|
name: "<AnimatedImage>",
|
|
4292
4196
|
_experimentalControls: controls,
|
|
4197
|
+
_experimentalEffects: memoizedEffectDefinitions,
|
|
4293
4198
|
...sequenceProps,
|
|
4294
|
-
children: /* @__PURE__ */
|
|
4199
|
+
children: /* @__PURE__ */ jsx13(AnimatedImageContent, {
|
|
4295
4200
|
...animatedImageProps,
|
|
4296
|
-
ref
|
|
4201
|
+
ref,
|
|
4202
|
+
effects,
|
|
4203
|
+
controls
|
|
4297
4204
|
})
|
|
4298
4205
|
});
|
|
4299
4206
|
};
|
|
4300
4207
|
var AnimatedImage = wrapInSchema(AnimatedImageInner, animatedImageSchema);
|
|
4301
4208
|
AnimatedImage.displayName = "AnimatedImage";
|
|
4302
4209
|
addSequenceStackTraces(AnimatedImage);
|
|
4210
|
+
var solidSchema = {
|
|
4211
|
+
color: {
|
|
4212
|
+
type: "color",
|
|
4213
|
+
default: "transparent",
|
|
4214
|
+
description: "Color"
|
|
4215
|
+
},
|
|
4216
|
+
width: {
|
|
4217
|
+
type: "number",
|
|
4218
|
+
min: 1,
|
|
4219
|
+
step: 1,
|
|
4220
|
+
default: 1920,
|
|
4221
|
+
description: "Width"
|
|
4222
|
+
},
|
|
4223
|
+
height: {
|
|
4224
|
+
type: "number",
|
|
4225
|
+
min: 1,
|
|
4226
|
+
step: 1,
|
|
4227
|
+
default: 1080,
|
|
4228
|
+
description: "Height"
|
|
4229
|
+
},
|
|
4230
|
+
...sequenceVisualStyleSchema
|
|
4231
|
+
};
|
|
4232
|
+
var SolidInner = ({
|
|
4233
|
+
color,
|
|
4234
|
+
width,
|
|
4235
|
+
height,
|
|
4236
|
+
_experimentalEffects: experimentalEffects = [],
|
|
4237
|
+
className,
|
|
4238
|
+
style,
|
|
4239
|
+
overrideId,
|
|
4240
|
+
ref
|
|
4241
|
+
}) => {
|
|
4242
|
+
const { delayRender: delayRender2, continueRender: continueRender2, cancelRender: cancelRender2 } = useDelayRender();
|
|
4243
|
+
const [outputCanvas, setOutputCanvas] = useState7(null);
|
|
4244
|
+
const memoizedEffects = useMemoizedEffects({
|
|
4245
|
+
effects: experimentalEffects,
|
|
4246
|
+
overrideId: overrideId ?? null
|
|
4247
|
+
});
|
|
4248
|
+
const sourceCanvas = useMemo17(() => {
|
|
4249
|
+
if (typeof document === "undefined") {
|
|
4250
|
+
return null;
|
|
4251
|
+
}
|
|
4252
|
+
const canvas = document.createElement("canvas");
|
|
4253
|
+
canvas.width = 1;
|
|
4254
|
+
canvas.height = 1;
|
|
4255
|
+
return canvas;
|
|
4256
|
+
}, []);
|
|
4257
|
+
const chainState = useEffectChainState();
|
|
4258
|
+
const canvasRef = useCallback7((canvas) => {
|
|
4259
|
+
setOutputCanvas(canvas);
|
|
4260
|
+
if (typeof ref === "function") {
|
|
4261
|
+
ref(canvas);
|
|
4262
|
+
} else if (ref) {
|
|
4263
|
+
ref.current = canvas;
|
|
4264
|
+
}
|
|
4265
|
+
}, [ref]);
|
|
4266
|
+
useEffect6(() => {
|
|
4267
|
+
if (!outputCanvas || !sourceCanvas) {
|
|
4268
|
+
return;
|
|
4269
|
+
}
|
|
4270
|
+
const handle = delayRender2("Solid effect chain");
|
|
4271
|
+
if (!chainState) {
|
|
4272
|
+
continueRender2(handle);
|
|
4273
|
+
return () => {
|
|
4274
|
+
continueRender2(handle);
|
|
4275
|
+
};
|
|
4276
|
+
}
|
|
4277
|
+
const ctx = sourceCanvas.getContext("2d", { colorSpace: "srgb" });
|
|
4278
|
+
if (!ctx) {
|
|
4279
|
+
cancelRender2(new Error("Failed to acquire 2D context for <Solid> source"));
|
|
4280
|
+
return;
|
|
4281
|
+
}
|
|
4282
|
+
ctx.clearRect(0, 0, 1, 1);
|
|
4283
|
+
if (color !== undefined) {
|
|
4284
|
+
ctx.fillStyle = color;
|
|
4285
|
+
ctx.fillRect(0, 0, 1, 1);
|
|
4286
|
+
}
|
|
4287
|
+
runEffectChain({
|
|
4288
|
+
state: chainState.get(width, height),
|
|
4289
|
+
source: sourceCanvas,
|
|
4290
|
+
effects: memoizedEffects,
|
|
4291
|
+
output: outputCanvas,
|
|
4292
|
+
width,
|
|
4293
|
+
height
|
|
4294
|
+
}).then((completed) => {
|
|
4295
|
+
if (completed) {
|
|
4296
|
+
continueRender2(handle);
|
|
4297
|
+
}
|
|
4298
|
+
}).catch((err) => {
|
|
4299
|
+
cancelRender2(err);
|
|
4300
|
+
});
|
|
4301
|
+
return () => {
|
|
4302
|
+
continueRender2(handle);
|
|
4303
|
+
};
|
|
4304
|
+
}, [
|
|
4305
|
+
color,
|
|
4306
|
+
outputCanvas,
|
|
4307
|
+
sourceCanvas,
|
|
4308
|
+
chainState,
|
|
4309
|
+
width,
|
|
4310
|
+
height,
|
|
4311
|
+
delayRender2,
|
|
4312
|
+
continueRender2,
|
|
4313
|
+
cancelRender2,
|
|
4314
|
+
memoizedEffects
|
|
4315
|
+
]);
|
|
4316
|
+
return /* @__PURE__ */ jsx14("canvas", {
|
|
4317
|
+
ref: canvasRef,
|
|
4318
|
+
width,
|
|
4319
|
+
height,
|
|
4320
|
+
className,
|
|
4321
|
+
style
|
|
4322
|
+
});
|
|
4323
|
+
};
|
|
4324
|
+
var SolidOuter = forwardRef5(({
|
|
4325
|
+
_experimentalEffects = [],
|
|
4326
|
+
_experimentalControls: controls,
|
|
4327
|
+
color,
|
|
4328
|
+
height,
|
|
4329
|
+
width,
|
|
4330
|
+
className,
|
|
4331
|
+
durationInFrames,
|
|
4332
|
+
style,
|
|
4333
|
+
name,
|
|
4334
|
+
from,
|
|
4335
|
+
hidden,
|
|
4336
|
+
showInTimeline,
|
|
4337
|
+
...props
|
|
4338
|
+
}, ref) => {
|
|
4339
|
+
const memoizedEffectDefinitions = useMemoizedEffectDefinitions(_experimentalEffects);
|
|
4340
|
+
return /* @__PURE__ */ jsx14(Sequence, {
|
|
4341
|
+
layout: "none",
|
|
4342
|
+
from,
|
|
4343
|
+
hidden,
|
|
4344
|
+
showInTimeline,
|
|
4345
|
+
_experimentalControls: controls,
|
|
4346
|
+
_experimentalEffects: memoizedEffectDefinitions,
|
|
4347
|
+
durationInFrames,
|
|
4348
|
+
name: name ?? "<Solid>",
|
|
4349
|
+
...props,
|
|
4350
|
+
children: /* @__PURE__ */ jsx14(SolidInner, {
|
|
4351
|
+
ref,
|
|
4352
|
+
overrideId: controls?.overrideId ?? null,
|
|
4353
|
+
color,
|
|
4354
|
+
height,
|
|
4355
|
+
width,
|
|
4356
|
+
className,
|
|
4357
|
+
style,
|
|
4358
|
+
_experimentalEffects
|
|
4359
|
+
})
|
|
4360
|
+
});
|
|
4361
|
+
});
|
|
4362
|
+
var Solid = wrapInSchema(SolidOuter, solidSchema);
|
|
4363
|
+
Solid.displayName = "Solid";
|
|
4364
|
+
addSequenceStackTraces(Solid);
|
|
4303
4365
|
var cachedSupport = null;
|
|
4304
4366
|
var isHtmlInCanvasSupported = () => {
|
|
4305
4367
|
if (cachedSupport !== null) {
|
|
@@ -4310,7 +4372,7 @@ var isHtmlInCanvasSupported = () => {
|
|
|
4310
4372
|
}
|
|
4311
4373
|
const canvas = document.createElement("canvas");
|
|
4312
4374
|
const ctx = canvas.getContext("2d");
|
|
4313
|
-
cachedSupport = typeof ctx?.drawElementImage === "function" && typeof canvas.requestPaint === "function" && typeof canvas.captureElementImage === "function";
|
|
4375
|
+
cachedSupport = typeof ctx?.drawElementImage === "function" && typeof canvas.requestPaint === "function" && typeof canvas.captureElementImage === "function" && "transferControlToOffscreen" in HTMLCanvasElement.prototype;
|
|
4314
4376
|
return cachedSupport;
|
|
4315
4377
|
};
|
|
4316
4378
|
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).";
|
|
@@ -4346,8 +4408,10 @@ var HtmlInCanvasContent = forwardRef6(({ width, height, effects, children, onPai
|
|
|
4346
4408
|
if (!isHtmlInCanvasSupported()) {
|
|
4347
4409
|
cancelRender2(new Error(HTML_IN_CANVAS_UNSUPPORTED_MESSAGE));
|
|
4348
4410
|
}
|
|
4349
|
-
const canvas2dRef =
|
|
4350
|
-
const
|
|
4411
|
+
const canvas2dRef = useRef10(null);
|
|
4412
|
+
const offscreenRef = useRef10(null);
|
|
4413
|
+
const divRef = useRef10(null);
|
|
4414
|
+
const canvasSizeKey = `${width}x${height}`;
|
|
4351
4415
|
const setLayoutCanvasRef = useCallback8((node) => {
|
|
4352
4416
|
canvas2dRef.current = node;
|
|
4353
4417
|
if (typeof ref === "function") {
|
|
@@ -4356,45 +4420,48 @@ var HtmlInCanvasContent = forwardRef6(({ width, height, effects, children, onPai
|
|
|
4356
4420
|
ref.current = node;
|
|
4357
4421
|
}
|
|
4358
4422
|
}, [ref]);
|
|
4359
|
-
const [offscreenCanvas] = useState8(() => new OffscreenCanvas(1, 1));
|
|
4360
4423
|
const chainState = useEffectChainState();
|
|
4361
4424
|
const memoizedEffects = useMemoizedEffects({
|
|
4362
4425
|
effects,
|
|
4363
4426
|
overrideId: controls?.overrideId ?? null
|
|
4364
4427
|
});
|
|
4365
|
-
const effectsRef =
|
|
4428
|
+
const effectsRef = useRef10(memoizedEffects);
|
|
4366
4429
|
effectsRef.current = memoizedEffects;
|
|
4367
|
-
const onPaintRef =
|
|
4430
|
+
const onPaintRef = useRef10(onPaint);
|
|
4368
4431
|
onPaintRef.current = onPaint;
|
|
4369
|
-
const onInitRef =
|
|
4432
|
+
const onInitRef = useRef10(onInit);
|
|
4370
4433
|
onInitRef.current = onInit;
|
|
4371
|
-
const initializedRef =
|
|
4372
|
-
const onInitCleanupRef =
|
|
4373
|
-
const unmountedRef =
|
|
4434
|
+
const initializedRef = useRef10(false);
|
|
4435
|
+
const onInitCleanupRef = useRef10(null);
|
|
4436
|
+
const unmountedRef = useRef10(false);
|
|
4374
4437
|
const onPaintCb = useCallback8(async () => {
|
|
4375
4438
|
const element = divRef.current;
|
|
4376
4439
|
if (!element) {
|
|
4377
4440
|
throw new Error("Canvas or scene element not found");
|
|
4378
4441
|
}
|
|
4379
|
-
|
|
4380
|
-
|
|
4442
|
+
const offscreen = offscreenRef.current;
|
|
4443
|
+
if (!offscreen) {
|
|
4444
|
+
throw new Error("HtmlInCanvas: offscreen canvas not ready (transferControlToOffscreen failed or canvas is remounting)");
|
|
4445
|
+
}
|
|
4446
|
+
offscreen.width = width;
|
|
4447
|
+
offscreen.height = height;
|
|
4381
4448
|
try {
|
|
4382
|
-
const
|
|
4383
|
-
if (!
|
|
4449
|
+
const placeholderCanvas = canvas2dRef.current;
|
|
4450
|
+
if (!placeholderCanvas) {
|
|
4384
4451
|
throw new Error("Canvas not found");
|
|
4385
4452
|
}
|
|
4386
|
-
const
|
|
4387
|
-
if (!
|
|
4388
|
-
throw new Error("Failed to acquire 2D context for <HtmlInCanvas>
|
|
4453
|
+
const offscreen2d = offscreen.getContext("2d");
|
|
4454
|
+
if (!offscreen2d) {
|
|
4455
|
+
throw new Error("Failed to acquire 2D context for <HtmlInCanvas> offscreen canvas");
|
|
4389
4456
|
}
|
|
4390
4457
|
const handle = delayRender("onPaint");
|
|
4391
4458
|
if (!initializedRef.current) {
|
|
4392
4459
|
initializedRef.current = true;
|
|
4393
|
-
const initImage =
|
|
4460
|
+
const initImage = placeholderCanvas.captureElementImage(element);
|
|
4394
4461
|
const currentOnInit = onInitRef.current;
|
|
4395
4462
|
if (currentOnInit) {
|
|
4396
4463
|
const cleanup = await currentOnInit({
|
|
4397
|
-
canvas:
|
|
4464
|
+
canvas: offscreen,
|
|
4398
4465
|
element,
|
|
4399
4466
|
elementImage: initImage
|
|
4400
4467
|
});
|
|
@@ -4409,17 +4476,17 @@ var HtmlInCanvasContent = forwardRef6(({ width, height, effects, children, onPai
|
|
|
4409
4476
|
}
|
|
4410
4477
|
}
|
|
4411
4478
|
const handler = onPaintRef.current ?? defaultOnPaint;
|
|
4412
|
-
const elImage =
|
|
4479
|
+
const elImage = placeholderCanvas.captureElementImage(element);
|
|
4413
4480
|
await handler({
|
|
4414
|
-
canvas:
|
|
4481
|
+
canvas: offscreen,
|
|
4415
4482
|
element,
|
|
4416
4483
|
elementImage: elImage
|
|
4417
4484
|
});
|
|
4418
4485
|
await runEffectChain({
|
|
4419
4486
|
state: chainState.get(width, height),
|
|
4420
|
-
source:
|
|
4487
|
+
source: offscreen,
|
|
4421
4488
|
effects: effectsRef.current,
|
|
4422
|
-
output:
|
|
4489
|
+
output: offscreen,
|
|
4423
4490
|
width,
|
|
4424
4491
|
height
|
|
4425
4492
|
});
|
|
@@ -4427,29 +4494,30 @@ var HtmlInCanvasContent = forwardRef6(({ width, height, effects, children, onPai
|
|
|
4427
4494
|
} catch (error2) {
|
|
4428
4495
|
cancelRender2(error2);
|
|
4429
4496
|
}
|
|
4430
|
-
}, [
|
|
4431
|
-
chainState,
|
|
4432
|
-
continueRender2,
|
|
4433
|
-
cancelRender2,
|
|
4434
|
-
width,
|
|
4435
|
-
height,
|
|
4436
|
-
offscreenCanvas
|
|
4437
|
-
]);
|
|
4497
|
+
}, [chainState, continueRender2, cancelRender2, width, height]);
|
|
4438
4498
|
useLayoutEffect3(() => {
|
|
4439
|
-
const
|
|
4440
|
-
if (!
|
|
4499
|
+
const placeholder = canvas2dRef.current;
|
|
4500
|
+
if (!placeholder) {
|
|
4441
4501
|
throw new Error("Canvas not found");
|
|
4442
4502
|
}
|
|
4443
|
-
|
|
4444
|
-
|
|
4503
|
+
placeholder.layoutSubtree = true;
|
|
4504
|
+
const offscreen = placeholder.transferControlToOffscreen();
|
|
4505
|
+
offscreenRef.current = offscreen;
|
|
4506
|
+
offscreen.width = width;
|
|
4507
|
+
offscreen.height = height;
|
|
4508
|
+
initializedRef.current = false;
|
|
4509
|
+
unmountedRef.current = false;
|
|
4510
|
+
placeholder.addEventListener("paint", onPaintCb);
|
|
4445
4511
|
return () => {
|
|
4446
|
-
|
|
4512
|
+
placeholder.removeEventListener("paint", onPaintCb);
|
|
4513
|
+
offscreenRef.current = null;
|
|
4514
|
+
initializedRef.current = false;
|
|
4447
4515
|
unmountedRef.current = true;
|
|
4448
4516
|
onInitCleanupRef.current?.();
|
|
4449
4517
|
onInitCleanupRef.current = null;
|
|
4450
4518
|
};
|
|
4451
|
-
}, [onPaintCb, cancelRender2]);
|
|
4452
|
-
const onPaintChangedRef =
|
|
4519
|
+
}, [onPaintCb, cancelRender2, width, height]);
|
|
4520
|
+
const onPaintChangedRef = useRef10(false);
|
|
4453
4521
|
useLayoutEffect3(() => {
|
|
4454
4522
|
if (!onPaintChangedRef.current) {
|
|
4455
4523
|
onPaintChangedRef.current = true;
|
|
@@ -4473,8 +4541,8 @@ var HtmlInCanvasContent = forwardRef6(({ width, height, effects, children, onPai
|
|
|
4473
4541
|
return () => {
|
|
4474
4542
|
continueRender2(handle);
|
|
4475
4543
|
};
|
|
4476
|
-
}, [width, height, continueRender2]);
|
|
4477
|
-
const innerStyle =
|
|
4544
|
+
}, [width, height, continueRender2, canvasSizeKey]);
|
|
4545
|
+
const innerStyle = useMemo18(() => {
|
|
4478
4546
|
return {
|
|
4479
4547
|
width,
|
|
4480
4548
|
height
|
|
@@ -4495,7 +4563,7 @@ var HtmlInCanvasContent = forwardRef6(({ width, height, effects, children, onPai
|
|
|
4495
4563
|
style: innerStyle,
|
|
4496
4564
|
children
|
|
4497
4565
|
})
|
|
4498
|
-
})
|
|
4566
|
+
}, canvasSizeKey)
|
|
4499
4567
|
});
|
|
4500
4568
|
});
|
|
4501
4569
|
HtmlInCanvasContent.displayName = "HtmlInCanvasContent";
|
|
@@ -4537,7 +4605,7 @@ var HtmlInCanvasInner = forwardRef6(({
|
|
|
4537
4605
|
});
|
|
4538
4606
|
HtmlInCanvasInner.displayName = "HtmlInCanvas";
|
|
4539
4607
|
var htmlInCanvasSchema = {
|
|
4540
|
-
...
|
|
4608
|
+
...sequenceVisualStyleSchema,
|
|
4541
4609
|
hidden: hiddenField
|
|
4542
4610
|
};
|
|
4543
4611
|
var HtmlInCanvasWrapped = wrapInSchema(HtmlInCanvasInner, htmlInCanvasSchema);
|
|
@@ -4585,8 +4653,8 @@ var RenderAssetManager = createContext17({
|
|
|
4585
4653
|
renderAssets: []
|
|
4586
4654
|
});
|
|
4587
4655
|
var RenderAssetManagerProvider = ({ children, collectAssets }) => {
|
|
4588
|
-
const [renderAssets, setRenderAssets] =
|
|
4589
|
-
const renderAssetsRef =
|
|
4656
|
+
const [renderAssets, setRenderAssets] = useState8([]);
|
|
4657
|
+
const renderAssetsRef = useRef11([]);
|
|
4590
4658
|
const registerRenderAsset = useCallback9((renderAsset) => {
|
|
4591
4659
|
validateRenderAsset(renderAsset);
|
|
4592
4660
|
renderAssetsRef.current = [...renderAssetsRef.current, renderAsset];
|
|
@@ -4618,7 +4686,7 @@ var RenderAssetManagerProvider = ({ children, collectAssets }) => {
|
|
|
4618
4686
|
};
|
|
4619
4687
|
}
|
|
4620
4688
|
}, []);
|
|
4621
|
-
const contextValue =
|
|
4689
|
+
const contextValue = useMemo19(() => {
|
|
4622
4690
|
return {
|
|
4623
4691
|
registerRenderAsset,
|
|
4624
4692
|
unregisterRenderAsset,
|
|
@@ -4635,7 +4703,7 @@ var Artifact = ({ filename, content, downloadBehavior }) => {
|
|
|
4635
4703
|
const { registerRenderAsset, unregisterRenderAsset } = useContext19(RenderAssetManager);
|
|
4636
4704
|
const env = useRemotionEnvironment();
|
|
4637
4705
|
const frame = useCurrentFrame();
|
|
4638
|
-
const [id] =
|
|
4706
|
+
const [id] = useState9(() => {
|
|
4639
4707
|
return String(Math.random());
|
|
4640
4708
|
});
|
|
4641
4709
|
useLayoutEffect5(() => {
|
|
@@ -4747,14 +4815,14 @@ var Loop = ({
|
|
|
4747
4815
|
const iteration = Math.floor(currentFrame / durationInFrames);
|
|
4748
4816
|
const start = iteration * durationInFrames;
|
|
4749
4817
|
const from = Math.min(start, maxFrame);
|
|
4750
|
-
const loopDisplay =
|
|
4818
|
+
const loopDisplay = useMemo20(() => {
|
|
4751
4819
|
return {
|
|
4752
4820
|
numberOfTimes: Math.min(compDuration / durationInFrames, times),
|
|
4753
4821
|
startOffset: -from,
|
|
4754
4822
|
durationInFrames
|
|
4755
4823
|
};
|
|
4756
4824
|
}, [compDuration, durationInFrames, from, times]);
|
|
4757
|
-
const loopContext =
|
|
4825
|
+
const loopContext = useMemo20(() => {
|
|
4758
4826
|
return {
|
|
4759
4827
|
iteration: Math.floor(currentFrame / durationInFrames),
|
|
4760
4828
|
durationInFrames
|
|
@@ -4792,7 +4860,7 @@ var setPreloads = (updater) => {
|
|
|
4792
4860
|
updaters.forEach((u) => u());
|
|
4793
4861
|
};
|
|
4794
4862
|
var PrefetchProvider = ({ children }) => {
|
|
4795
|
-
const [_preloads, _setPreloads] =
|
|
4863
|
+
const [_preloads, _setPreloads] = useState10(() => preloads);
|
|
4796
4864
|
useEffect7(() => {
|
|
4797
4865
|
const updaterFunction = () => {
|
|
4798
4866
|
_setPreloads(preloads);
|
|
@@ -5116,7 +5184,7 @@ var DurationsContext = createContext20({
|
|
|
5116
5184
|
});
|
|
5117
5185
|
var DurationsContextProvider = ({ children }) => {
|
|
5118
5186
|
const [durations, setDurations] = useReducer(durationReducer, {});
|
|
5119
|
-
const value =
|
|
5187
|
+
const value = useMemo21(() => {
|
|
5120
5188
|
return {
|
|
5121
5189
|
durations,
|
|
5122
5190
|
setDurations
|
|
@@ -5250,7 +5318,7 @@ var useSingletonAudioContext = ({
|
|
|
5250
5318
|
audioEnabled
|
|
5251
5319
|
}) => {
|
|
5252
5320
|
const env = useRemotionEnvironment();
|
|
5253
|
-
const context =
|
|
5321
|
+
const context = useMemo22(() => {
|
|
5254
5322
|
if (env.isRendering) {
|
|
5255
5323
|
return null;
|
|
5256
5324
|
}
|
|
@@ -5331,11 +5399,11 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
|
|
|
5331
5399
|
latencyHint: audioLatencyHint,
|
|
5332
5400
|
audioEnabled
|
|
5333
5401
|
});
|
|
5334
|
-
const audioContextIsPlayingEventually =
|
|
5335
|
-
const isResuming =
|
|
5336
|
-
const audioSyncAnchor =
|
|
5337
|
-
const audioSyncAnchorListeners =
|
|
5338
|
-
const audioSyncAnchorEmitter =
|
|
5402
|
+
const audioContextIsPlayingEventually = useRef12(false);
|
|
5403
|
+
const isResuming = useRef12(null);
|
|
5404
|
+
const audioSyncAnchor = useMemo23(() => ({ value: 0 }), []);
|
|
5405
|
+
const audioSyncAnchorListeners = useRef12([]);
|
|
5406
|
+
const audioSyncAnchorEmitter = useMemo23(() => {
|
|
5339
5407
|
return {
|
|
5340
5408
|
dispatch: (event) => {
|
|
5341
5409
|
audioSyncAnchorListeners.current.forEach((l) => l(event));
|
|
@@ -5350,12 +5418,12 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
|
|
|
5350
5418
|
}
|
|
5351
5419
|
};
|
|
5352
5420
|
}, []);
|
|
5353
|
-
const prevEndTimes =
|
|
5354
|
-
const nodesToResume =
|
|
5421
|
+
const prevEndTimes = useRef12({ scheduledEndTime: null, mediaEndTime: null });
|
|
5422
|
+
const nodesToResume = useRef12(new Map);
|
|
5355
5423
|
const unscheduleAudioNode = useCallback10((node) => {
|
|
5356
5424
|
nodesToResume.current.delete(node);
|
|
5357
5425
|
}, []);
|
|
5358
|
-
const scheduleAudioNode =
|
|
5426
|
+
const scheduleAudioNode = useMemo23(() => {
|
|
5359
5427
|
return ({
|
|
5360
5428
|
node,
|
|
5361
5429
|
mediaTimestamp,
|
|
@@ -5440,7 +5508,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
|
|
|
5440
5508
|
audioContextIsPlayingEventually.current = false;
|
|
5441
5509
|
ctxAndGain.audioContext.suspend();
|
|
5442
5510
|
}, [ctxAndGain]);
|
|
5443
|
-
const audioContextValue =
|
|
5511
|
+
const audioContextValue = useMemo23(() => {
|
|
5444
5512
|
return {
|
|
5445
5513
|
audioContext: ctxAndGain?.audioContext ?? null,
|
|
5446
5514
|
gainNode: ctxAndGain?.gainNode ?? null,
|
|
@@ -5468,8 +5536,8 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
|
|
|
5468
5536
|
});
|
|
5469
5537
|
};
|
|
5470
5538
|
var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
5471
|
-
const audios =
|
|
5472
|
-
const [initialNumberOfAudioTags] =
|
|
5539
|
+
const audios = useRef12([]);
|
|
5540
|
+
const [initialNumberOfAudioTags] = useState11(numberOfAudioTags);
|
|
5473
5541
|
if (numberOfAudioTags !== initialNumberOfAudioTags) {
|
|
5474
5542
|
throw new Error("The number of shared audio tags has changed dynamically. Once you have set this property, you cannot change it afterwards.");
|
|
5475
5543
|
}
|
|
@@ -5479,7 +5547,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
5479
5547
|
const audioCtx = useContext21(SharedAudioContext);
|
|
5480
5548
|
const audioContext = audioCtx?.audioContext ?? null;
|
|
5481
5549
|
const resume = audioCtx?.resume;
|
|
5482
|
-
const refs =
|
|
5550
|
+
const refs = useMemo23(() => {
|
|
5483
5551
|
return new Array(numberOfAudioTags).fill(true).map(() => {
|
|
5484
5552
|
const ref = createRef2();
|
|
5485
5553
|
return {
|
|
@@ -5502,7 +5570,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
5502
5570
|
});
|
|
5503
5571
|
};
|
|
5504
5572
|
}, [refs]);
|
|
5505
|
-
const takenAudios =
|
|
5573
|
+
const takenAudios = useRef12(new Array(numberOfAudioTags).fill(false));
|
|
5506
5574
|
const rerenderAudios = useCallback10(() => {
|
|
5507
5575
|
refs.forEach(({ ref, id }) => {
|
|
5508
5576
|
const data = audios.current?.find((a) => a.id === id);
|
|
@@ -5616,7 +5684,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
5616
5684
|
});
|
|
5617
5685
|
resume?.();
|
|
5618
5686
|
}, [logLevel, mountTime, refs, env.isPlayer, resume]);
|
|
5619
|
-
const audioTagsValue =
|
|
5687
|
+
const audioTagsValue = useMemo23(() => {
|
|
5620
5688
|
return {
|
|
5621
5689
|
registerAudio,
|
|
5622
5690
|
unregisterAudio,
|
|
@@ -5653,7 +5721,7 @@ var useSharedAudio = ({
|
|
|
5653
5721
|
}) => {
|
|
5654
5722
|
const audioCtx = useContext21(SharedAudioContext);
|
|
5655
5723
|
const tagsCtx = useContext21(SharedAudioTagsContext);
|
|
5656
|
-
const [elem] =
|
|
5724
|
+
const [elem] = useState11(() => {
|
|
5657
5725
|
if (tagsCtx && tagsCtx.numberOfAudioTags > 0) {
|
|
5658
5726
|
return tagsCtx.registerAudio({ aud, audioId, premounting, postmounting });
|
|
5659
5727
|
}
|
|
@@ -5789,9 +5857,9 @@ var useAppendVideoFragment = ({
|
|
|
5789
5857
|
duration: initialDuration,
|
|
5790
5858
|
fps
|
|
5791
5859
|
}) => {
|
|
5792
|
-
const actualFromRef =
|
|
5793
|
-
const actualDuration =
|
|
5794
|
-
const actualSrc =
|
|
5860
|
+
const actualFromRef = useRef13(initialActualFrom);
|
|
5861
|
+
const actualDuration = useRef13(initialDuration);
|
|
5862
|
+
const actualSrc = useRef13(initialActualSrc);
|
|
5795
5863
|
if (!isSubsetOfDuration({
|
|
5796
5864
|
prevStartFrom: actualFromRef.current,
|
|
5797
5865
|
newStartFrom: initialActualFrom,
|
|
@@ -5828,8 +5896,8 @@ var useVolume = ({
|
|
|
5828
5896
|
source,
|
|
5829
5897
|
shouldUseWebAudioApi
|
|
5830
5898
|
}) => {
|
|
5831
|
-
const audioStuffRef =
|
|
5832
|
-
const currentVolumeRef =
|
|
5899
|
+
const audioStuffRef = useRef14(null);
|
|
5900
|
+
const currentVolumeRef = useRef14(volume);
|
|
5833
5901
|
currentVolumeRef.current = volume;
|
|
5834
5902
|
const sharedAudioContext = useContext22(SharedAudioContext);
|
|
5835
5903
|
if (!sharedAudioContext) {
|
|
@@ -5986,7 +6054,7 @@ var useBasicMediaInTimeline = ({
|
|
|
5986
6054
|
throw new Error("No src passed");
|
|
5987
6055
|
}
|
|
5988
6056
|
const parentSequence = useContext24(SequenceContext);
|
|
5989
|
-
const [initialVolume] =
|
|
6057
|
+
const [initialVolume] = useState12(() => volume);
|
|
5990
6058
|
const duration = getTimelineDuration({
|
|
5991
6059
|
compositionDurationInFrames: sequenceDurationInFrames,
|
|
5992
6060
|
playbackRate,
|
|
@@ -5995,7 +6063,7 @@ var useBasicMediaInTimeline = ({
|
|
|
5995
6063
|
parentSequenceDurationInFrames: parentSequence?.durationInFrames ?? null,
|
|
5996
6064
|
loop
|
|
5997
6065
|
});
|
|
5998
|
-
const volumes =
|
|
6066
|
+
const volumes = useMemo24(() => {
|
|
5999
6067
|
if (typeof volume === "number") {
|
|
6000
6068
|
return volume;
|
|
6001
6069
|
}
|
|
@@ -6016,7 +6084,7 @@ var useBasicMediaInTimeline = ({
|
|
|
6016
6084
|
const nonce = useNonce();
|
|
6017
6085
|
const { rootId } = useTimelineContext();
|
|
6018
6086
|
const startMediaFrom = 0 - mediaStartsAt + (trimBefore ?? 0);
|
|
6019
|
-
const memoizedResult =
|
|
6087
|
+
const memoizedResult = useMemo24(() => {
|
|
6020
6088
|
return {
|
|
6021
6089
|
volumes,
|
|
6022
6090
|
duration,
|
|
@@ -6045,7 +6113,7 @@ var useImageInTimeline = ({
|
|
|
6045
6113
|
src,
|
|
6046
6114
|
displayName,
|
|
6047
6115
|
id,
|
|
6048
|
-
|
|
6116
|
+
getStack,
|
|
6049
6117
|
showInTimeline,
|
|
6050
6118
|
premountDisplay,
|
|
6051
6119
|
postmountDisplay,
|
|
@@ -6092,7 +6160,7 @@ var useImageInTimeline = ({
|
|
|
6092
6160
|
showInTimeline: true,
|
|
6093
6161
|
nonce: nonce.get(),
|
|
6094
6162
|
loopDisplay,
|
|
6095
|
-
|
|
6163
|
+
getStack,
|
|
6096
6164
|
premountDisplay,
|
|
6097
6165
|
postmountDisplay,
|
|
6098
6166
|
controls,
|
|
@@ -6109,7 +6177,7 @@ var useImageInTimeline = ({
|
|
|
6109
6177
|
registerSequence,
|
|
6110
6178
|
unregisterSequence,
|
|
6111
6179
|
nonce,
|
|
6112
|
-
|
|
6180
|
+
getStack,
|
|
6113
6181
|
showInTimeline,
|
|
6114
6182
|
premountDisplay,
|
|
6115
6183
|
postmountDisplay,
|
|
@@ -6128,7 +6196,7 @@ var useMediaInTimeline = ({
|
|
|
6128
6196
|
playbackRate,
|
|
6129
6197
|
displayName,
|
|
6130
6198
|
id,
|
|
6131
|
-
|
|
6199
|
+
getStack,
|
|
6132
6200
|
showInTimeline,
|
|
6133
6201
|
premountDisplay,
|
|
6134
6202
|
postmountDisplay,
|
|
@@ -6179,7 +6247,7 @@ var useMediaInTimeline = ({
|
|
|
6179
6247
|
doesVolumeChange,
|
|
6180
6248
|
loopDisplay,
|
|
6181
6249
|
playbackRate,
|
|
6182
|
-
|
|
6250
|
+
getStack,
|
|
6183
6251
|
premountDisplay,
|
|
6184
6252
|
postmountDisplay,
|
|
6185
6253
|
controls: null,
|
|
@@ -6201,7 +6269,7 @@ var useMediaInTimeline = ({
|
|
|
6201
6269
|
mediaType,
|
|
6202
6270
|
startsAt,
|
|
6203
6271
|
playbackRate,
|
|
6204
|
-
|
|
6272
|
+
getStack,
|
|
6205
6273
|
showInTimeline,
|
|
6206
6274
|
premountDisplay,
|
|
6207
6275
|
postmountDisplay,
|
|
@@ -6212,12 +6280,12 @@ var useMediaInTimeline = ({
|
|
|
6212
6280
|
]);
|
|
6213
6281
|
};
|
|
6214
6282
|
var useBufferManager = (logLevel, mountTime) => {
|
|
6215
|
-
const [blocks, setBlocks] =
|
|
6216
|
-
const [onBufferingCallbacks, setOnBufferingCallbacks] =
|
|
6217
|
-
const [onResumeCallbacks, setOnResumeCallbacks] =
|
|
6283
|
+
const [blocks, setBlocks] = useState13([]);
|
|
6284
|
+
const [onBufferingCallbacks, setOnBufferingCallbacks] = useState13([]);
|
|
6285
|
+
const [onResumeCallbacks, setOnResumeCallbacks] = useState13([]);
|
|
6218
6286
|
const env = useRemotionEnvironment();
|
|
6219
6287
|
const rendering = env.isRendering;
|
|
6220
|
-
const buffering =
|
|
6288
|
+
const buffering = useRef15(false);
|
|
6221
6289
|
const addBlock = useCallback11((block) => {
|
|
6222
6290
|
if (rendering) {
|
|
6223
6291
|
return {
|
|
@@ -6290,7 +6358,7 @@ var useBufferManager = (logLevel, mountTime) => {
|
|
|
6290
6358
|
}
|
|
6291
6359
|
}, [blocks]);
|
|
6292
6360
|
}
|
|
6293
|
-
return
|
|
6361
|
+
return useMemo25(() => {
|
|
6294
6362
|
return { addBlock, listenForBuffering, listenForResume, buffering };
|
|
6295
6363
|
}, [addBlock, buffering, listenForBuffering, listenForResume]);
|
|
6296
6364
|
};
|
|
@@ -6304,7 +6372,7 @@ var BufferingProvider = ({ children }) => {
|
|
|
6304
6372
|
});
|
|
6305
6373
|
};
|
|
6306
6374
|
var useIsPlayerBuffering = (bufferManager) => {
|
|
6307
|
-
const [isBuffering, setIsBuffering] =
|
|
6375
|
+
const [isBuffering, setIsBuffering] = useState13(bufferManager.buffering.current);
|
|
6308
6376
|
useEffect9(() => {
|
|
6309
6377
|
const onBuffer = () => {
|
|
6310
6378
|
setIsBuffering(true);
|
|
@@ -6329,7 +6397,7 @@ var useBufferState = () => {
|
|
|
6329
6397
|
const buffer = useContext26(BufferingContextReact);
|
|
6330
6398
|
const logLevel = useLogLevel();
|
|
6331
6399
|
const addBlock = buffer ? buffer.addBlock : null;
|
|
6332
|
-
return
|
|
6400
|
+
return useMemo26(() => ({
|
|
6333
6401
|
delayPlayback: () => {
|
|
6334
6402
|
if (!addBlock) {
|
|
6335
6403
|
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");
|
|
@@ -6364,7 +6432,7 @@ var useBufferUntilFirstFrame = ({
|
|
|
6364
6432
|
logLevel,
|
|
6365
6433
|
mountTime
|
|
6366
6434
|
}) => {
|
|
6367
|
-
const bufferingRef =
|
|
6435
|
+
const bufferingRef = useRef16(false);
|
|
6368
6436
|
const { delayPlayback } = useBufferState();
|
|
6369
6437
|
const bufferUntilFirstFrame = useCallback12((requestedTime) => {
|
|
6370
6438
|
if (mediaType !== "video") {
|
|
@@ -6437,7 +6505,7 @@ var useBufferUntilFirstFrame = ({
|
|
|
6437
6505
|
onVariableFpsVideoDetected,
|
|
6438
6506
|
pauseWhenBuffering
|
|
6439
6507
|
]);
|
|
6440
|
-
return
|
|
6508
|
+
return useMemo27(() => {
|
|
6441
6509
|
return {
|
|
6442
6510
|
isBuffering: () => bufferingRef.current,
|
|
6443
6511
|
bufferUntilFirstFrame
|
|
@@ -6485,7 +6553,7 @@ var useMediaBuffering = ({
|
|
|
6485
6553
|
src
|
|
6486
6554
|
}) => {
|
|
6487
6555
|
const buffer = useBufferState();
|
|
6488
|
-
const [isBuffering, setIsBuffering] =
|
|
6556
|
+
const [isBuffering, setIsBuffering] = useState14(false);
|
|
6489
6557
|
useEffect10(() => {
|
|
6490
6558
|
let cleanupFns = [];
|
|
6491
6559
|
const { current } = element;
|
|
@@ -6618,7 +6686,7 @@ var useRequestVideoCallbackTime = ({
|
|
|
6618
6686
|
lastSeek,
|
|
6619
6687
|
onVariableFpsVideoDetected
|
|
6620
6688
|
}) => {
|
|
6621
|
-
const currentTime =
|
|
6689
|
+
const currentTime = useRef17(null);
|
|
6622
6690
|
useEffect11(() => {
|
|
6623
6691
|
const { current } = mediaRef;
|
|
6624
6692
|
if (current) {
|
|
@@ -6875,14 +6943,14 @@ var useMediaPlayback = ({
|
|
|
6875
6943
|
const buffering = useContext27(BufferingContextReact);
|
|
6876
6944
|
const { fps } = useVideoConfig();
|
|
6877
6945
|
const mediaStartsAt = useMediaStartsAt();
|
|
6878
|
-
const lastSeekDueToShift =
|
|
6879
|
-
const lastSeek =
|
|
6946
|
+
const lastSeekDueToShift = useRef18(null);
|
|
6947
|
+
const lastSeek = useRef18(null);
|
|
6880
6948
|
const logLevel = useLogLevel();
|
|
6881
6949
|
const mountTime = useMountTime();
|
|
6882
6950
|
if (!buffering) {
|
|
6883
6951
|
throw new Error("useMediaPlayback must be used inside a <BufferingContext>");
|
|
6884
6952
|
}
|
|
6885
|
-
const isVariableFpsVideoMap =
|
|
6953
|
+
const isVariableFpsVideoMap = useRef18({});
|
|
6886
6954
|
const onVariableFpsVideoDetected = useCallback13(() => {
|
|
6887
6955
|
if (!src) {
|
|
6888
6956
|
return;
|
|
@@ -7165,14 +7233,14 @@ var SetMediaVolumeContext = createContext22({
|
|
|
7165
7233
|
var useMediaVolumeState = () => {
|
|
7166
7234
|
const { mediaVolume } = useContext28(MediaVolumeContext);
|
|
7167
7235
|
const { setMediaVolume } = useContext28(SetMediaVolumeContext);
|
|
7168
|
-
return
|
|
7236
|
+
return useMemo28(() => {
|
|
7169
7237
|
return [mediaVolume, setMediaVolume];
|
|
7170
7238
|
}, [mediaVolume, setMediaVolume]);
|
|
7171
7239
|
};
|
|
7172
7240
|
var useMediaMutedState = () => {
|
|
7173
7241
|
const { mediaMuted } = useContext28(MediaVolumeContext);
|
|
7174
7242
|
const { setMediaMuted } = useContext28(SetMediaVolumeContext);
|
|
7175
|
-
return
|
|
7243
|
+
return useMemo28(() => {
|
|
7176
7244
|
return [mediaMuted, setMediaMuted];
|
|
7177
7245
|
}, [mediaMuted, setMediaMuted]);
|
|
7178
7246
|
};
|
|
@@ -7182,7 +7250,7 @@ var warnAboutTooHighVolume = (volume) => {
|
|
|
7182
7250
|
}
|
|
7183
7251
|
};
|
|
7184
7252
|
var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
7185
|
-
const [initialShouldPreMountAudioElements] =
|
|
7253
|
+
const [initialShouldPreMountAudioElements] = useState15(props.shouldPreMountAudioTags);
|
|
7186
7254
|
if (props.shouldPreMountAudioTags !== initialShouldPreMountAudioElements) {
|
|
7187
7255
|
throw new Error("Cannot change the behavior for pre-mounting audio tags dynamically.");
|
|
7188
7256
|
}
|
|
@@ -7227,7 +7295,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
7227
7295
|
}
|
|
7228
7296
|
const preloadedSrc = usePreload(src);
|
|
7229
7297
|
const sequenceContext = useContext29(SequenceContext);
|
|
7230
|
-
const [timelineId] =
|
|
7298
|
+
const [timelineId] = useState15(() => String(Math.random()));
|
|
7231
7299
|
const userPreferredVolume = evaluateVolume({
|
|
7232
7300
|
frame: volumePropFrame,
|
|
7233
7301
|
volume,
|
|
@@ -7239,7 +7307,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
7239
7307
|
requestsVideoFrame: false,
|
|
7240
7308
|
isClientSideRendering: false
|
|
7241
7309
|
});
|
|
7242
|
-
const propsToPass =
|
|
7310
|
+
const propsToPass = useMemo29(() => {
|
|
7243
7311
|
return {
|
|
7244
7312
|
muted: muted || mediaMuted || userPreferredVolume <= 0,
|
|
7245
7313
|
src: preloadedSrc,
|
|
@@ -7256,7 +7324,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
7256
7324
|
userPreferredVolume,
|
|
7257
7325
|
crossOriginValue
|
|
7258
7326
|
]);
|
|
7259
|
-
const id =
|
|
7327
|
+
const id = useMemo29(() => `audio-${random(src ?? "")}-${sequenceContext?.relativeFrom}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.durationInFrames}-muted:${props.muted}-loop:${props.loop}`, [
|
|
7260
7328
|
src,
|
|
7261
7329
|
sequenceContext?.relativeFrom,
|
|
7262
7330
|
sequenceContext?.cumulatedFrom,
|
|
@@ -7274,6 +7342,9 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
7274
7342
|
premounting: Boolean(sequenceContext?.premounting),
|
|
7275
7343
|
postmounting: Boolean(sequenceContext?.postmounting)
|
|
7276
7344
|
});
|
|
7345
|
+
const getStack = useCallback14(() => {
|
|
7346
|
+
return _remotionInternalStack ?? null;
|
|
7347
|
+
}, [_remotionInternalStack]);
|
|
7277
7348
|
useMediaInTimeline({
|
|
7278
7349
|
volume,
|
|
7279
7350
|
mediaVolume,
|
|
@@ -7282,7 +7353,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
7282
7353
|
playbackRate: playbackRate ?? 1,
|
|
7283
7354
|
displayName: name ?? null,
|
|
7284
7355
|
id: timelineId,
|
|
7285
|
-
|
|
7356
|
+
getStack,
|
|
7286
7357
|
showInTimeline,
|
|
7287
7358
|
premountDisplay: sequenceContext?.premountDisplay ?? null,
|
|
7288
7359
|
postmountDisplay: sequenceContext?.postmountDisplay ?? null,
|
|
@@ -7327,7 +7398,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
7327
7398
|
useImperativeHandle4(ref, () => {
|
|
7328
7399
|
return audioRef.current;
|
|
7329
7400
|
}, [audioRef]);
|
|
7330
|
-
const currentOnDurationCallback =
|
|
7401
|
+
const currentOnDurationCallback = useRef19(onDuration);
|
|
7331
7402
|
currentOnDurationCallback.current = onDuration;
|
|
7332
7403
|
useEffect14(() => {
|
|
7333
7404
|
const { current } = audioRef;
|
|
@@ -7358,7 +7429,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
7358
7429
|
};
|
|
7359
7430
|
var AudioForPreview = forwardRef7(AudioForDevelopmentForwardRefFunction);
|
|
7360
7431
|
var AudioForRenderingRefForwardingFunction = (props, ref) => {
|
|
7361
|
-
const audioRef =
|
|
7432
|
+
const audioRef = useRef20(null);
|
|
7362
7433
|
const {
|
|
7363
7434
|
volume: volumeProp,
|
|
7364
7435
|
playbackRate,
|
|
@@ -7384,7 +7455,7 @@ var AudioForRenderingRefForwardingFunction = (props, ref) => {
|
|
|
7384
7455
|
const sequenceContext = useContext30(SequenceContext);
|
|
7385
7456
|
const { registerRenderAsset, unregisterRenderAsset } = useContext30(RenderAssetManager);
|
|
7386
7457
|
const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
|
|
7387
|
-
const id =
|
|
7458
|
+
const id = useMemo30(() => `audio-${random(props.src ?? "")}-${sequenceContext?.relativeFrom}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.durationInFrames}`, [
|
|
7388
7459
|
props.src,
|
|
7389
7460
|
sequenceContext?.relativeFrom,
|
|
7390
7461
|
sequenceContext?.cumulatedFrom,
|
|
@@ -7515,7 +7586,7 @@ var AudioRefForwardingFunction = (props, ref) => {
|
|
|
7515
7586
|
throw new TypeError(`The \`<Html5Audio>\` tag requires a string for \`src\`, but got ${JSON.stringify(props.src)} instead.`);
|
|
7516
7587
|
}
|
|
7517
7588
|
const preloadedSrc = usePreload(props.src);
|
|
7518
|
-
const onError =
|
|
7589
|
+
const onError = useCallback15((e) => {
|
|
7519
7590
|
console.log(e.currentTarget.error);
|
|
7520
7591
|
const errMessage = `Could not play audio with src ${preloadedSrc}: ${e.currentTarget.error}. See https://remotion.dev/docs/media-playback-error for help.`;
|
|
7521
7592
|
if (loop) {
|
|
@@ -7529,7 +7600,7 @@ var AudioRefForwardingFunction = (props, ref) => {
|
|
|
7529
7600
|
console.warn(errMessage);
|
|
7530
7601
|
}
|
|
7531
7602
|
}, [loop, onRemotionError, preloadedSrc]);
|
|
7532
|
-
const onDuration =
|
|
7603
|
+
const onDuration = useCallback15((src, durationInSeconds) => {
|
|
7533
7604
|
setDurations({ type: "got-duration", durationInSeconds, src });
|
|
7534
7605
|
}, [setDurations]);
|
|
7535
7606
|
const durationFetched = durations[getAbsoluteSrc(preloadedSrc)] ?? durations[getAbsoluteSrc(props.src)];
|
|
@@ -7619,15 +7690,15 @@ var IFrameRefForwarding = ({
|
|
|
7619
7690
|
...props2
|
|
7620
7691
|
}, ref) => {
|
|
7621
7692
|
const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
|
|
7622
|
-
const [handle] =
|
|
7693
|
+
const [handle] = useState16(() => delayRender2(`Loading <IFrame> with source ${props2.src}`, {
|
|
7623
7694
|
retries: delayRenderRetries ?? undefined,
|
|
7624
7695
|
timeoutInMilliseconds: delayRenderTimeoutInMilliseconds ?? undefined
|
|
7625
7696
|
}));
|
|
7626
|
-
const didLoad =
|
|
7697
|
+
const didLoad = useCallback16((e) => {
|
|
7627
7698
|
continueRender2(handle);
|
|
7628
7699
|
onLoad?.(e);
|
|
7629
7700
|
}, [handle, onLoad, continueRender2]);
|
|
7630
|
-
const didGetError =
|
|
7701
|
+
const didGetError = useCallback16((e) => {
|
|
7631
7702
|
continueRender2(handle);
|
|
7632
7703
|
if (onError) {
|
|
7633
7704
|
onError(e);
|
|
@@ -7665,8 +7736,8 @@ var ImgContent = ({
|
|
|
7665
7736
|
ref,
|
|
7666
7737
|
...props2
|
|
7667
7738
|
}) => {
|
|
7668
|
-
const imageRef =
|
|
7669
|
-
const errors =
|
|
7739
|
+
const imageRef = useRef21(null);
|
|
7740
|
+
const errors = useRef21({});
|
|
7670
7741
|
const { delayPlayback } = useBufferState();
|
|
7671
7742
|
const sequenceContext = useContext32(SequenceContext);
|
|
7672
7743
|
const _propsValid = true;
|
|
@@ -7677,7 +7748,7 @@ var ImgContent = ({
|
|
|
7677
7748
|
return imageRef.current;
|
|
7678
7749
|
}, []);
|
|
7679
7750
|
const actualSrc = usePreload(src);
|
|
7680
|
-
const retryIn =
|
|
7751
|
+
const retryIn = useCallback17((timeout) => {
|
|
7681
7752
|
if (!imageRef.current) {
|
|
7682
7753
|
return;
|
|
7683
7754
|
}
|
|
@@ -7695,7 +7766,7 @@ var ImgContent = ({
|
|
|
7695
7766
|
}, timeout);
|
|
7696
7767
|
}, []);
|
|
7697
7768
|
const { delayRender: delayRender2, continueRender: continueRender2, cancelRender: cancelRender2 } = useDelayRender();
|
|
7698
|
-
const didGetError =
|
|
7769
|
+
const didGetError = useCallback17((e) => {
|
|
7699
7770
|
if (!errors.current) {
|
|
7700
7771
|
return;
|
|
7701
7772
|
}
|
|
@@ -7807,15 +7878,18 @@ var ImgInner = ({
|
|
|
7807
7878
|
...props2
|
|
7808
7879
|
}) => {
|
|
7809
7880
|
const sequenceContext = useContext32(SequenceContext);
|
|
7810
|
-
const [timelineId] =
|
|
7881
|
+
const [timelineId] = useState17(() => String(Math.random()));
|
|
7811
7882
|
if (!src) {
|
|
7812
7883
|
throw new Error('No "src" prop was passed to <Img>.');
|
|
7813
7884
|
}
|
|
7885
|
+
const stackRef = useRef21(null);
|
|
7886
|
+
stackRef.current = stack ?? null;
|
|
7887
|
+
const getStack = useCallback17(() => stackRef.current, []);
|
|
7814
7888
|
useImageInTimeline({
|
|
7815
7889
|
src,
|
|
7816
7890
|
displayName: name ?? null,
|
|
7817
7891
|
id: timelineId,
|
|
7818
|
-
|
|
7892
|
+
getStack,
|
|
7819
7893
|
showInTimeline: showInTimeline ?? true,
|
|
7820
7894
|
premountDisplay: sequenceContext?.premountDisplay ?? null,
|
|
7821
7895
|
postmountDisplay: sequenceContext?.postmountDisplay ?? null,
|
|
@@ -7831,7 +7905,7 @@ var ImgInner = ({
|
|
|
7831
7905
|
});
|
|
7832
7906
|
};
|
|
7833
7907
|
var imgSchema = {
|
|
7834
|
-
...
|
|
7908
|
+
...sequenceVisualStyleSchema,
|
|
7835
7909
|
hidden: hiddenField
|
|
7836
7910
|
};
|
|
7837
7911
|
var Img = wrapInSchema(ImgInner, imgSchema);
|
|
@@ -7844,18 +7918,18 @@ var CompositionManagerProvider = ({
|
|
|
7844
7918
|
initialCompositions,
|
|
7845
7919
|
initialCanvasContent
|
|
7846
7920
|
}) => {
|
|
7847
|
-
const [folders, setFolders] =
|
|
7848
|
-
const [canvasContent, setCanvasContent] =
|
|
7849
|
-
const [compositions, setCompositions] =
|
|
7850
|
-
const currentcompositionsRef =
|
|
7851
|
-
const updateCompositions =
|
|
7921
|
+
const [folders, setFolders] = useState18([]);
|
|
7922
|
+
const [canvasContent, setCanvasContent] = useState18(initialCanvasContent);
|
|
7923
|
+
const [compositions, setCompositions] = useState18(initialCompositions);
|
|
7924
|
+
const currentcompositionsRef = useRef22(compositions);
|
|
7925
|
+
const updateCompositions = useCallback18((updateComps) => {
|
|
7852
7926
|
setCompositions((comps) => {
|
|
7853
7927
|
const updated = updateComps(comps);
|
|
7854
7928
|
currentcompositionsRef.current = updated;
|
|
7855
7929
|
return updated;
|
|
7856
7930
|
});
|
|
7857
7931
|
}, []);
|
|
7858
|
-
const registerComposition =
|
|
7932
|
+
const registerComposition = useCallback18((comp) => {
|
|
7859
7933
|
updateCompositions((comps) => {
|
|
7860
7934
|
if (comps.find((c2) => c2.id === comp.id)) {
|
|
7861
7935
|
throw new Error(`Multiple composition with id ${comp.id} are registered.`);
|
|
@@ -7863,12 +7937,12 @@ var CompositionManagerProvider = ({
|
|
|
7863
7937
|
return [...comps, comp];
|
|
7864
7938
|
});
|
|
7865
7939
|
}, [updateCompositions]);
|
|
7866
|
-
const unregisterComposition =
|
|
7940
|
+
const unregisterComposition = useCallback18((id) => {
|
|
7867
7941
|
setCompositions((comps) => {
|
|
7868
7942
|
return comps.filter((c2) => c2.id !== id);
|
|
7869
7943
|
});
|
|
7870
7944
|
}, []);
|
|
7871
|
-
const registerFolder =
|
|
7945
|
+
const registerFolder = useCallback18((name, parent, nonce) => {
|
|
7872
7946
|
setFolders((prevFolders) => {
|
|
7873
7947
|
return [
|
|
7874
7948
|
...prevFolders,
|
|
@@ -7880,7 +7954,7 @@ var CompositionManagerProvider = ({
|
|
|
7880
7954
|
];
|
|
7881
7955
|
});
|
|
7882
7956
|
}, []);
|
|
7883
|
-
const unregisterFolder =
|
|
7957
|
+
const unregisterFolder = useCallback18((name, parent) => {
|
|
7884
7958
|
setFolders((prevFolders) => {
|
|
7885
7959
|
return prevFolders.filter((p) => !(p.name === name && p.parent === parent));
|
|
7886
7960
|
});
|
|
@@ -7890,7 +7964,7 @@ var CompositionManagerProvider = ({
|
|
|
7890
7964
|
getCompositions: () => currentcompositionsRef.current
|
|
7891
7965
|
};
|
|
7892
7966
|
}, []);
|
|
7893
|
-
const compositionManagerSetters =
|
|
7967
|
+
const compositionManagerSetters = useMemo31(() => {
|
|
7894
7968
|
return {
|
|
7895
7969
|
registerComposition,
|
|
7896
7970
|
unregisterComposition,
|
|
@@ -7906,7 +7980,7 @@ var CompositionManagerProvider = ({
|
|
|
7906
7980
|
unregisterFolder,
|
|
7907
7981
|
onlyRenderComposition
|
|
7908
7982
|
]);
|
|
7909
|
-
const compositionManagerContextValue =
|
|
7983
|
+
const compositionManagerContextValue = useMemo31(() => {
|
|
7910
7984
|
return {
|
|
7911
7985
|
compositions,
|
|
7912
7986
|
folders,
|
|
@@ -7986,7 +8060,7 @@ var disabledEffectField = {
|
|
|
7986
8060
|
description: "Disabled"
|
|
7987
8061
|
};
|
|
7988
8062
|
var createEffect = (definition) => {
|
|
7989
|
-
const userCalculateKey = definition
|
|
8063
|
+
const { calculateKey: userCalculateKey, validateParams } = definition;
|
|
7990
8064
|
const widened = {
|
|
7991
8065
|
...definition,
|
|
7992
8066
|
calculateKey: (params) => {
|
|
@@ -7998,12 +8072,15 @@ var createEffect = (definition) => {
|
|
|
7998
8072
|
...definition.schema
|
|
7999
8073
|
}
|
|
8000
8074
|
};
|
|
8001
|
-
const factory = (params = {}) =>
|
|
8002
|
-
|
|
8003
|
-
|
|
8004
|
-
|
|
8005
|
-
|
|
8006
|
-
|
|
8075
|
+
const factory = (params = {}) => {
|
|
8076
|
+
validateParams(params);
|
|
8077
|
+
return {
|
|
8078
|
+
definition: widened,
|
|
8079
|
+
params,
|
|
8080
|
+
effectKey: widened.calculateKey(params),
|
|
8081
|
+
memoized: false
|
|
8082
|
+
};
|
|
8083
|
+
};
|
|
8007
8084
|
return factory;
|
|
8008
8085
|
};
|
|
8009
8086
|
var REMOTION_STUDIO_CONTAINER_ELEMENT = "__remotion-studio-container";
|
|
@@ -8054,7 +8131,7 @@ var MediaEnabledProvider = ({
|
|
|
8054
8131
|
videoEnabled,
|
|
8055
8132
|
audioEnabled
|
|
8056
8133
|
}) => {
|
|
8057
|
-
const value =
|
|
8134
|
+
const value = useMemo32(() => ({ videoEnabled, audioEnabled }), [videoEnabled, audioEnabled]);
|
|
8058
8135
|
return /* @__PURE__ */ jsx28(MediaEnabledContext.Provider, {
|
|
8059
8136
|
value,
|
|
8060
8137
|
children
|
|
@@ -8069,13 +8146,13 @@ var RemotionRootContexts = ({
|
|
|
8069
8146
|
audioEnabled,
|
|
8070
8147
|
frameState
|
|
8071
8148
|
}) => {
|
|
8072
|
-
const nonceContext =
|
|
8149
|
+
const nonceContext = useMemo33(() => {
|
|
8073
8150
|
let counter = 0;
|
|
8074
8151
|
return {
|
|
8075
8152
|
getNonce: () => counter++
|
|
8076
8153
|
};
|
|
8077
8154
|
}, []);
|
|
8078
|
-
const logging =
|
|
8155
|
+
const logging = useMemo33(() => {
|
|
8079
8156
|
return { logLevel, mountTime: Date.now() };
|
|
8080
8157
|
}, [logLevel]);
|
|
8081
8158
|
return /* @__PURE__ */ jsx29(LogLevelContext.Provider, {
|
|
@@ -8369,7 +8446,7 @@ var OffthreadVideoForRendering = ({
|
|
|
8369
8446
|
if (!src) {
|
|
8370
8447
|
throw new TypeError("No `src` was passed to <OffthreadVideo>.");
|
|
8371
8448
|
}
|
|
8372
|
-
const id =
|
|
8449
|
+
const id = useMemo34(() => `offthreadvideo-${random(src)}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
|
|
8373
8450
|
src,
|
|
8374
8451
|
sequenceContext?.cumulatedFrom,
|
|
8375
8452
|
sequenceContext?.relativeFrom,
|
|
@@ -8424,14 +8501,14 @@ var OffthreadVideoForRendering = ({
|
|
|
8424
8501
|
sequenceContext?.relativeFrom,
|
|
8425
8502
|
audioStreamIndex
|
|
8426
8503
|
]);
|
|
8427
|
-
const currentTime =
|
|
8504
|
+
const currentTime = useMemo34(() => {
|
|
8428
8505
|
return getExpectedMediaFrameUncorrected({
|
|
8429
8506
|
frame,
|
|
8430
8507
|
playbackRate: playbackRate || 1,
|
|
8431
8508
|
startFrom: -mediaStartsAt
|
|
8432
8509
|
}) / videoConfig.fps;
|
|
8433
8510
|
}, [frame, mediaStartsAt, playbackRate, videoConfig.fps]);
|
|
8434
|
-
const actualSrc =
|
|
8511
|
+
const actualSrc = useMemo34(() => {
|
|
8435
8512
|
return getOffthreadVideoSource({
|
|
8436
8513
|
src,
|
|
8437
8514
|
currentTime,
|
|
@@ -8439,7 +8516,7 @@ var OffthreadVideoForRendering = ({
|
|
|
8439
8516
|
toneMapped
|
|
8440
8517
|
});
|
|
8441
8518
|
}, [toneMapped, currentTime, src, transparent]);
|
|
8442
|
-
const [imageSrc, setImageSrc] =
|
|
8519
|
+
const [imageSrc, setImageSrc] = useState19(null);
|
|
8443
8520
|
const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
|
|
8444
8521
|
useLayoutEffect11(() => {
|
|
8445
8522
|
if (!window.remotion_videoEnabled) {
|
|
@@ -8512,17 +8589,17 @@ var OffthreadVideoForRendering = ({
|
|
|
8512
8589
|
continueRender2,
|
|
8513
8590
|
delayRender2
|
|
8514
8591
|
]);
|
|
8515
|
-
const onErr =
|
|
8592
|
+
const onErr = useCallback19(() => {
|
|
8516
8593
|
if (onError) {
|
|
8517
8594
|
onError?.(new Error("Failed to load image with src " + imageSrc));
|
|
8518
8595
|
} else {
|
|
8519
8596
|
cancelRender("Failed to load image with src " + imageSrc);
|
|
8520
8597
|
}
|
|
8521
8598
|
}, [imageSrc, onError]);
|
|
8522
|
-
const className =
|
|
8599
|
+
const className = useMemo34(() => {
|
|
8523
8600
|
return [OBJECTFIT_CONTAIN_CLASS_NAME, props2.className].filter(truthy).join(" ");
|
|
8524
8601
|
}, [props2.className]);
|
|
8525
|
-
const onImageFrame =
|
|
8602
|
+
const onImageFrame = useCallback19((img) => {
|
|
8526
8603
|
if (onVideoFrame) {
|
|
8527
8604
|
onVideoFrame(img);
|
|
8528
8605
|
}
|
|
@@ -8581,8 +8658,8 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
8581
8658
|
if (!context) {
|
|
8582
8659
|
throw new Error("SharedAudioContext not found");
|
|
8583
8660
|
}
|
|
8584
|
-
const videoRef =
|
|
8585
|
-
const sharedSource =
|
|
8661
|
+
const videoRef = useRef23(null);
|
|
8662
|
+
const sharedSource = useMemo35(() => {
|
|
8586
8663
|
if (!context.audioContext) {
|
|
8587
8664
|
return null;
|
|
8588
8665
|
}
|
|
@@ -8637,7 +8714,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
8637
8714
|
const parentSequence = useContext35(SequenceContext);
|
|
8638
8715
|
const logLevel = useLogLevel();
|
|
8639
8716
|
const mountTime = useMountTime();
|
|
8640
|
-
const [timelineId] =
|
|
8717
|
+
const [timelineId] = useState20(() => String(Math.random()));
|
|
8641
8718
|
if (typeof acceptableTimeShift !== "undefined") {
|
|
8642
8719
|
throw new Error("acceptableTimeShift has been removed. Use acceptableTimeShiftInSeconds instead.");
|
|
8643
8720
|
}
|
|
@@ -8649,6 +8726,9 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
8649
8726
|
mediaVolume
|
|
8650
8727
|
});
|
|
8651
8728
|
warnAboutTooHighVolume(userPreferredVolume);
|
|
8729
|
+
const getStack = useCallback20(() => {
|
|
8730
|
+
return _remotionInternalStack ?? null;
|
|
8731
|
+
}, [_remotionInternalStack]);
|
|
8652
8732
|
useMediaInTimeline({
|
|
8653
8733
|
volume,
|
|
8654
8734
|
mediaVolume,
|
|
@@ -8657,7 +8737,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
8657
8737
|
playbackRate: props2.playbackRate ?? 1,
|
|
8658
8738
|
displayName: name ?? null,
|
|
8659
8739
|
id: timelineId,
|
|
8660
|
-
|
|
8740
|
+
getStack,
|
|
8661
8741
|
showInTimeline,
|
|
8662
8742
|
premountDisplay: parentSequence?.premountDisplay ?? null,
|
|
8663
8743
|
postmountDisplay: parentSequence?.postmountDisplay ?? null,
|
|
@@ -8703,7 +8783,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
8703
8783
|
useImperativeHandle8(ref, () => {
|
|
8704
8784
|
return videoRef.current;
|
|
8705
8785
|
}, []);
|
|
8706
|
-
|
|
8786
|
+
useState20(() => playbackLogging({
|
|
8707
8787
|
logLevel,
|
|
8708
8788
|
message: `Mounting video with source = ${actualSrc}, v=${VERSION}, user agent=${typeof navigator === "undefined" ? "server" : navigator.userAgent}`,
|
|
8709
8789
|
tag: "video",
|
|
@@ -8749,7 +8829,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
8749
8829
|
current.removeEventListener("error", errorHandler);
|
|
8750
8830
|
};
|
|
8751
8831
|
}, [onError, src]);
|
|
8752
|
-
const currentOnDurationCallback =
|
|
8832
|
+
const currentOnDurationCallback = useRef23(onDuration);
|
|
8753
8833
|
currentOnDurationCallback.current = onDuration;
|
|
8754
8834
|
useEmitVideoFrame({ ref: videoRef, onVideoFrame });
|
|
8755
8835
|
useEffect18(() => {
|
|
@@ -8780,7 +8860,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
8780
8860
|
current.preload = "auto";
|
|
8781
8861
|
}
|
|
8782
8862
|
}, []);
|
|
8783
|
-
const actualStyle =
|
|
8863
|
+
const actualStyle = useMemo35(() => {
|
|
8784
8864
|
return {
|
|
8785
8865
|
...style
|
|
8786
8866
|
};
|
|
@@ -8819,7 +8899,7 @@ var InnerOffthreadVideo = (props2) => {
|
|
|
8819
8899
|
if (environment.isClientSideRendering) {
|
|
8820
8900
|
throw new Error("<OffthreadVideo> is not supported in @remotion/web-renderer. Use <Video> from @remotion/media instead. See https://remotion.dev/docs/client-side-rendering/limitations");
|
|
8821
8901
|
}
|
|
8822
|
-
const onDuration =
|
|
8902
|
+
const onDuration = useCallback21(() => {
|
|
8823
8903
|
return;
|
|
8824
8904
|
}, []);
|
|
8825
8905
|
if (typeof props2.src !== "string") {
|
|
@@ -8975,7 +9055,7 @@ function useRemotionContexts() {
|
|
|
8975
9055
|
const sequenceManagerContext = React36.useContext(SequenceManager);
|
|
8976
9056
|
const bufferManagerContext = React36.useContext(BufferingContextReact);
|
|
8977
9057
|
const logLevelContext = React36.useContext(LogLevelContext);
|
|
8978
|
-
return
|
|
9058
|
+
return useMemo36(() => ({
|
|
8979
9059
|
compositionManagerCtx,
|
|
8980
9060
|
timelineContext,
|
|
8981
9061
|
setTimelineContext,
|
|
@@ -9067,6 +9147,8 @@ var Internals = {
|
|
|
9067
9147
|
wrapInSchema,
|
|
9068
9148
|
sequenceSchema,
|
|
9069
9149
|
sequenceStyleSchema,
|
|
9150
|
+
sequenceVisualStyleSchema,
|
|
9151
|
+
sequencePremountSchema,
|
|
9070
9152
|
flattenActiveSchema,
|
|
9071
9153
|
getFlatSchemaWithAllKeys,
|
|
9072
9154
|
RemotionRootContexts,
|
|
@@ -9161,6 +9243,8 @@ var Internals = {
|
|
|
9161
9243
|
useMemoizedEffects,
|
|
9162
9244
|
useMemoizedEffectDefinitions,
|
|
9163
9245
|
createEffect,
|
|
9246
|
+
createWebGLContextError,
|
|
9247
|
+
createWebGL2ContextError,
|
|
9164
9248
|
computeEffectiveSchemaValuesDotNotation,
|
|
9165
9249
|
OverrideIdsToNodePathsGettersContext,
|
|
9166
9250
|
OverrideIdsToNodePathsSettersContext,
|
|
@@ -9233,7 +9317,7 @@ var SeriesSequenceRefForwardingFunction = ({ children }, _ref) => {
|
|
|
9233
9317
|
};
|
|
9234
9318
|
var SeriesSequence = forwardRef12(SeriesSequenceRefForwardingFunction);
|
|
9235
9319
|
var SeriesInner = (props2) => {
|
|
9236
|
-
const childrenValue =
|
|
9320
|
+
const childrenValue = useMemo37(() => {
|
|
9237
9321
|
let startFrame = 0;
|
|
9238
9322
|
const flattenedChildren = flattenChildren(props2.children);
|
|
9239
9323
|
return Children.map(flattenedChildren, (child, i) => {
|
|
@@ -9763,7 +9847,7 @@ var VideoForRenderingForwardFunction = ({
|
|
|
9763
9847
|
const frame = useCurrentFrame();
|
|
9764
9848
|
const volumePropsFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
|
|
9765
9849
|
const videoConfig = useUnsafeVideoConfig();
|
|
9766
|
-
const videoRef =
|
|
9850
|
+
const videoRef = useRef24(null);
|
|
9767
9851
|
const sequenceContext = useContext36(SequenceContext);
|
|
9768
9852
|
const mediaStartsAt = useMediaStartsAt();
|
|
9769
9853
|
const environment = useRemotionEnvironment();
|
|
@@ -9771,7 +9855,7 @@ var VideoForRenderingForwardFunction = ({
|
|
|
9771
9855
|
const mountTime = useMountTime();
|
|
9772
9856
|
const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
|
|
9773
9857
|
const { registerRenderAsset, unregisterRenderAsset } = useContext36(RenderAssetManager);
|
|
9774
|
-
const id =
|
|
9858
|
+
const id = useMemo38(() => `video-${random(props2.src ?? "")}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
|
|
9775
9859
|
props2.src,
|
|
9776
9860
|
sequenceContext?.cumulatedFrom,
|
|
9777
9861
|
sequenceContext?.relativeFrom,
|
|
@@ -9988,10 +10072,10 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
9988
10072
|
throw new TypeError(`The \`<Html5Video>\` tag requires a string for \`src\`, but got ${JSON.stringify(props2.src)} instead.`);
|
|
9989
10073
|
}
|
|
9990
10074
|
const preloadedSrc = usePreload(props2.src);
|
|
9991
|
-
const onDuration =
|
|
10075
|
+
const onDuration = useCallback22((src, durationInSeconds) => {
|
|
9992
10076
|
setDurations({ type: "got-duration", durationInSeconds, src });
|
|
9993
10077
|
}, [setDurations]);
|
|
9994
|
-
const onVideoFrame =
|
|
10078
|
+
const onVideoFrame = useCallback22(() => {}, []);
|
|
9995
10079
|
const durationFetched = durations[getAbsoluteSrc(preloadedSrc)] ?? durations[getAbsoluteSrc(props2.src)];
|
|
9996
10080
|
validateMediaTrimProps({ startFrom, endAt, trimBefore, trimAfter });
|
|
9997
10081
|
const { trimBeforeValue, trimAfterValue } = resolveTrimProps({
|
|
@@ -10434,7 +10518,7 @@ var ExpertCard = ({ expert, Link }) => {
|
|
|
10434
10518
|
});
|
|
10435
10519
|
};
|
|
10436
10520
|
var ExpertsPageContent = ({ Link }) => {
|
|
10437
|
-
const expertsInRandomOrder =
|
|
10521
|
+
const expertsInRandomOrder = useMemo39(() => {
|
|
10438
10522
|
if (typeof window === "undefined") {
|
|
10439
10523
|
return [];
|
|
10440
10524
|
}
|
|
@@ -10535,7 +10619,7 @@ var ExpertsPageContent = ({ Link }) => {
|
|
|
10535
10619
|
import * as React24 from "react";
|
|
10536
10620
|
import * as React8 from "react";
|
|
10537
10621
|
import { Fragment as Fragment22, jsx as jsx44 } from "react/jsx-runtime";
|
|
10538
|
-
import React52, { useCallback as
|
|
10622
|
+
import React52, { useCallback as useCallback24, useRef as useRef25, useState as useState22 } from "react";
|
|
10539
10623
|
|
|
10540
10624
|
// ../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
|
|
10541
10625
|
function r(e) {
|
|
@@ -11877,7 +11961,7 @@ var getDefaultConfig = () => {
|
|
|
11877
11961
|
var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
|
|
11878
11962
|
|
|
11879
11963
|
// ../design/dist/esm/index.mjs
|
|
11880
|
-
import React33, { useEffect as useEffect20, useMemo as
|
|
11964
|
+
import React33, { useEffect as useEffect20, useMemo as useMemo42, useState as useState21 } from "react";
|
|
11881
11965
|
|
|
11882
11966
|
// ../paths/dist/esm/index.mjs
|
|
11883
11967
|
var cutLInstruction = ({
|
|
@@ -14643,7 +14727,7 @@ var PathInternals = {
|
|
|
14643
14727
|
};
|
|
14644
14728
|
|
|
14645
14729
|
// ../shapes/dist/esm/index.mjs
|
|
14646
|
-
import React3, { useMemo as
|
|
14730
|
+
import React3, { useMemo as useMemo41 } from "react";
|
|
14647
14731
|
import { version } from "react-dom";
|
|
14648
14732
|
import { jsx as jsx42, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
14649
14733
|
import { jsx as jsx210 } from "react/jsx-runtime";
|
|
@@ -14674,13 +14758,13 @@ var RenderSvg = ({
|
|
|
14674
14758
|
instructions,
|
|
14675
14759
|
...props
|
|
14676
14760
|
}) => {
|
|
14677
|
-
const actualStyle =
|
|
14761
|
+
const actualStyle = useMemo41(() => {
|
|
14678
14762
|
return {
|
|
14679
14763
|
overflow: "visible",
|
|
14680
14764
|
...style ?? {}
|
|
14681
14765
|
};
|
|
14682
14766
|
}, [style]);
|
|
14683
|
-
const actualPathStyle =
|
|
14767
|
+
const actualPathStyle = useMemo41(() => {
|
|
14684
14768
|
return {
|
|
14685
14769
|
transformBox: "fill-box",
|
|
14686
14770
|
...pathStyle ?? {}
|
|
@@ -16217,7 +16301,7 @@ var extrudeAndTransformElement = (options) => {
|
|
|
16217
16301
|
// ../design/dist/esm/index.mjs
|
|
16218
16302
|
import { jsx as jsx212, Fragment as Fragment3 } from "react/jsx-runtime";
|
|
16219
16303
|
import { jsx as jsx311, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
16220
|
-
import { useEffect as useEffect22, useMemo as useMemo210, useRef as
|
|
16304
|
+
import { useEffect as useEffect22, useMemo as useMemo210, useRef as useRef26 } from "react";
|
|
16221
16305
|
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
16222
16306
|
import { jsx as jsx53, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
16223
16307
|
import React62 from "react";
|
|
@@ -16244,8 +16328,8 @@ import * as React16 from "react";
|
|
|
16244
16328
|
import * as React13 from "react";
|
|
16245
16329
|
import * as ReactDOM from "react-dom";
|
|
16246
16330
|
import { jsx as jsx172 } from "react/jsx-runtime";
|
|
16247
|
-
import * as
|
|
16248
|
-
import * as
|
|
16331
|
+
import * as React142 from "react";
|
|
16332
|
+
import * as React15 from "react";
|
|
16249
16333
|
import { jsx as jsx182 } from "react/jsx-runtime";
|
|
16250
16334
|
import * as React172 from "react";
|
|
16251
16335
|
import * as React18 from "react";
|
|
@@ -16269,8 +16353,8 @@ import * as React282 from "react";
|
|
|
16269
16353
|
import { jsx as jsx232 } from "react/jsx-runtime";
|
|
16270
16354
|
import * as React35 from "react";
|
|
16271
16355
|
import * as React312 from "react";
|
|
16272
|
-
import * as React292 from "react";
|
|
16273
16356
|
import { useState as useState112 } from "react";
|
|
16357
|
+
import * as React292 from "react";
|
|
16274
16358
|
import * as React30 from "react";
|
|
16275
16359
|
import * as React342 from "react";
|
|
16276
16360
|
import * as React332 from "react";
|
|
@@ -16471,7 +16555,7 @@ var useHoverTransforms = (ref, disabled) => {
|
|
|
16471
16555
|
progress: 0,
|
|
16472
16556
|
isActive: false
|
|
16473
16557
|
});
|
|
16474
|
-
const eventTarget =
|
|
16558
|
+
const eventTarget = useMemo42(() => new EventTarget, []);
|
|
16475
16559
|
useEffect20(() => {
|
|
16476
16560
|
if (disabled) {
|
|
16477
16561
|
eventTarget.dispatchEvent(new Event("disabled"));
|
|
@@ -16618,7 +16702,7 @@ var getAngle = (ref, coordinates) => {
|
|
|
16618
16702
|
};
|
|
16619
16703
|
var lastCoordinates = null;
|
|
16620
16704
|
var useMousePosition = (ref) => {
|
|
16621
|
-
const [angle, setAngle] =
|
|
16705
|
+
const [angle, setAngle] = useState21(getAngle(ref.current, lastCoordinates));
|
|
16622
16706
|
useEffect20(() => {
|
|
16623
16707
|
const element = ref.current;
|
|
16624
16708
|
if (!element) {
|
|
@@ -16739,7 +16823,7 @@ var Spinner = ({ size, duration }) => {
|
|
|
16739
16823
|
height: size
|
|
16740
16824
|
};
|
|
16741
16825
|
}, [size]);
|
|
16742
|
-
const pathsRef =
|
|
16826
|
+
const pathsRef = useRef26([]);
|
|
16743
16827
|
useEffect22(() => {
|
|
16744
16828
|
const animate = () => {
|
|
16745
16829
|
const now = performance.now();
|
|
@@ -16785,9 +16869,9 @@ var Button = ({
|
|
|
16785
16869
|
...rest
|
|
16786
16870
|
}) => {
|
|
16787
16871
|
const [dimensions, setDimensions] = useState22(null);
|
|
16788
|
-
const ref =
|
|
16872
|
+
const ref = useRef25(null);
|
|
16789
16873
|
const { isActive, progress } = useHoverTransforms(ref, Boolean(disabled || loading));
|
|
16790
|
-
const onPointerEnter =
|
|
16874
|
+
const onPointerEnter = useCallback24((e) => {
|
|
16791
16875
|
if (e.pointerType !== "mouse") {
|
|
16792
16876
|
return;
|
|
16793
16877
|
}
|
|
@@ -16824,7 +16908,7 @@ var Button = ({
|
|
|
16824
16908
|
const isDisabled = disabled || loading;
|
|
16825
16909
|
const isAnchor = !asChild && "href" in rest && rest.href !== undefined;
|
|
16826
16910
|
const sharedClasses = cn("text-text", "inline-flex", "justify-center", "bg-button-bg", "items-center", "font-brand", "border-solid", "text-[1em]", "rounded-lg", "border-black", "border-2", "border-b-4", "cursor-pointer", "px-4", "h-12", "flex-row", "items-center", "relative", "overflow-hidden", isDisabled && "cursor-default opacity-50", className);
|
|
16827
|
-
const preventInteraction =
|
|
16911
|
+
const preventInteraction = useCallback24((e) => {
|
|
16828
16912
|
e.preventDefault();
|
|
16829
16913
|
e.stopPropagation();
|
|
16830
16914
|
}, []);
|
|
@@ -17299,15 +17383,15 @@ function dispatchDiscreteCustomEvent(target, event) {
|
|
|
17299
17383
|
ReactDOM.flushSync(() => target.dispatchEvent(event));
|
|
17300
17384
|
}
|
|
17301
17385
|
function useCallbackRef(callback) {
|
|
17302
|
-
const callbackRef =
|
|
17303
|
-
|
|
17386
|
+
const callbackRef = React142.useRef(callback);
|
|
17387
|
+
React142.useEffect(() => {
|
|
17304
17388
|
callbackRef.current = callback;
|
|
17305
17389
|
});
|
|
17306
|
-
return
|
|
17390
|
+
return React142.useMemo(() => (...args) => callbackRef.current?.(...args), []);
|
|
17307
17391
|
}
|
|
17308
17392
|
function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {
|
|
17309
17393
|
const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);
|
|
17310
|
-
|
|
17394
|
+
React15.useEffect(() => {
|
|
17311
17395
|
const handleKeyDown = (event) => {
|
|
17312
17396
|
if (event.key === "Escape") {
|
|
17313
17397
|
onEscapeKeyDown(event);
|
|
@@ -20025,7 +20109,7 @@ var hideOthers = function(originalTarget, parentNode, markerName) {
|
|
|
20025
20109
|
return applyAttributeToOthers(targets, activeParentNode, markerName, "aria-hidden");
|
|
20026
20110
|
};
|
|
20027
20111
|
var __assign = function() {
|
|
20028
|
-
__assign = Object.assign || function
|
|
20112
|
+
__assign = Object.assign || function __assign(t) {
|
|
20029
20113
|
for (var s, i = 1, n = arguments.length;i < n; i++) {
|
|
20030
20114
|
s = arguments[i];
|
|
20031
20115
|
for (var p in s)
|
|
@@ -21812,17 +21896,17 @@ function createContextScope2(scopeName, createContextScopeDeps = []) {
|
|
|
21812
21896
|
let defaultContexts = [];
|
|
21813
21897
|
function createContext32(rootComponentName, defaultContext) {
|
|
21814
21898
|
const BaseContext = React382.createContext(defaultContext);
|
|
21815
|
-
const
|
|
21899
|
+
const index2 = defaultContexts.length;
|
|
21816
21900
|
defaultContexts = [...defaultContexts, defaultContext];
|
|
21817
21901
|
const Provider = (props) => {
|
|
21818
21902
|
const { scope, children, ...context } = props;
|
|
21819
|
-
const Context = scope?.[scopeName]?.[
|
|
21903
|
+
const Context = scope?.[scopeName]?.[index2] || BaseContext;
|
|
21820
21904
|
const value = React382.useMemo(() => context, Object.values(context));
|
|
21821
21905
|
return /* @__PURE__ */ jsx272(Context.Provider, { value, children });
|
|
21822
21906
|
};
|
|
21823
21907
|
Provider.displayName = rootComponentName + "Provider";
|
|
21824
21908
|
function useContext222(consumerName, scope) {
|
|
21825
|
-
const Context = scope?.[scopeName]?.[
|
|
21909
|
+
const Context = scope?.[scopeName]?.[index2] || BaseContext;
|
|
21826
21910
|
const context = React382.useContext(Context);
|
|
21827
21911
|
if (context)
|
|
21828
21912
|
return context;
|
|
@@ -22019,10 +22103,10 @@ var OrderedDict = class _OrderedDict extends Map {
|
|
|
22019
22103
|
super.set(key, value);
|
|
22020
22104
|
return this;
|
|
22021
22105
|
}
|
|
22022
|
-
insert(
|
|
22106
|
+
insert(index2, key, value) {
|
|
22023
22107
|
const has = this.has(key);
|
|
22024
22108
|
const length2 = this.#keys.length;
|
|
22025
|
-
const relativeIndex = toSafeInteger(
|
|
22109
|
+
const relativeIndex = toSafeInteger(index2);
|
|
22026
22110
|
let actualIndex = relativeIndex >= 0 ? relativeIndex : length2 + relativeIndex;
|
|
22027
22111
|
const safeIndex = actualIndex < 0 || actualIndex >= length2 ? -1 : actualIndex;
|
|
22028
22112
|
if (safeIndex === this.size || has && safeIndex === this.size - 1 || safeIndex === -1) {
|
|
@@ -22060,39 +22144,39 @@ var OrderedDict = class _OrderedDict extends Map {
|
|
|
22060
22144
|
}
|
|
22061
22145
|
return this;
|
|
22062
22146
|
}
|
|
22063
|
-
with(
|
|
22147
|
+
with(index2, key, value) {
|
|
22064
22148
|
const copy = new _OrderedDict(this);
|
|
22065
|
-
copy.insert(
|
|
22149
|
+
copy.insert(index2, key, value);
|
|
22066
22150
|
return copy;
|
|
22067
22151
|
}
|
|
22068
22152
|
before(key) {
|
|
22069
|
-
const
|
|
22070
|
-
if (
|
|
22153
|
+
const index2 = this.#keys.indexOf(key) - 1;
|
|
22154
|
+
if (index2 < 0) {
|
|
22071
22155
|
return;
|
|
22072
22156
|
}
|
|
22073
|
-
return this.entryAt(
|
|
22157
|
+
return this.entryAt(index2);
|
|
22074
22158
|
}
|
|
22075
22159
|
setBefore(key, newKey, value) {
|
|
22076
|
-
const
|
|
22077
|
-
if (
|
|
22160
|
+
const index2 = this.#keys.indexOf(key);
|
|
22161
|
+
if (index2 === -1) {
|
|
22078
22162
|
return this;
|
|
22079
22163
|
}
|
|
22080
|
-
return this.insert(
|
|
22164
|
+
return this.insert(index2, newKey, value);
|
|
22081
22165
|
}
|
|
22082
22166
|
after(key) {
|
|
22083
|
-
let
|
|
22084
|
-
|
|
22085
|
-
if (
|
|
22167
|
+
let index2 = this.#keys.indexOf(key);
|
|
22168
|
+
index2 = index2 === -1 || index2 === this.size - 1 ? -1 : index2 + 1;
|
|
22169
|
+
if (index2 === -1) {
|
|
22086
22170
|
return;
|
|
22087
22171
|
}
|
|
22088
|
-
return this.entryAt(
|
|
22172
|
+
return this.entryAt(index2);
|
|
22089
22173
|
}
|
|
22090
22174
|
setAfter(key, newKey, value) {
|
|
22091
|
-
const
|
|
22092
|
-
if (
|
|
22175
|
+
const index2 = this.#keys.indexOf(key);
|
|
22176
|
+
if (index2 === -1) {
|
|
22093
22177
|
return this;
|
|
22094
22178
|
}
|
|
22095
|
-
return this.insert(
|
|
22179
|
+
return this.insert(index2 + 1, newKey, value);
|
|
22096
22180
|
}
|
|
22097
22181
|
first() {
|
|
22098
22182
|
return this.entryAt(0);
|
|
@@ -22111,21 +22195,21 @@ var OrderedDict = class _OrderedDict extends Map {
|
|
|
22111
22195
|
}
|
|
22112
22196
|
return deleted;
|
|
22113
22197
|
}
|
|
22114
|
-
deleteAt(
|
|
22115
|
-
const key = this.keyAt(
|
|
22198
|
+
deleteAt(index2) {
|
|
22199
|
+
const key = this.keyAt(index2);
|
|
22116
22200
|
if (key !== undefined) {
|
|
22117
22201
|
return this.delete(key);
|
|
22118
22202
|
}
|
|
22119
22203
|
return false;
|
|
22120
22204
|
}
|
|
22121
|
-
at(
|
|
22122
|
-
const key = at(this.#keys,
|
|
22205
|
+
at(index2) {
|
|
22206
|
+
const key = at(this.#keys, index2);
|
|
22123
22207
|
if (key !== undefined) {
|
|
22124
22208
|
return this.get(key);
|
|
22125
22209
|
}
|
|
22126
22210
|
}
|
|
22127
|
-
entryAt(
|
|
22128
|
-
const key = at(this.#keys,
|
|
22211
|
+
entryAt(index2) {
|
|
22212
|
+
const key = at(this.#keys, index2);
|
|
22129
22213
|
if (key !== undefined) {
|
|
22130
22214
|
return [key, this.get(key)];
|
|
22131
22215
|
}
|
|
@@ -22133,15 +22217,15 @@ var OrderedDict = class _OrderedDict extends Map {
|
|
|
22133
22217
|
indexOf(key) {
|
|
22134
22218
|
return this.#keys.indexOf(key);
|
|
22135
22219
|
}
|
|
22136
|
-
keyAt(
|
|
22137
|
-
return at(this.#keys,
|
|
22220
|
+
keyAt(index2) {
|
|
22221
|
+
return at(this.#keys, index2);
|
|
22138
22222
|
}
|
|
22139
22223
|
from(key, offset4) {
|
|
22140
|
-
const
|
|
22141
|
-
if (
|
|
22224
|
+
const index2 = this.indexOf(key);
|
|
22225
|
+
if (index2 === -1) {
|
|
22142
22226
|
return;
|
|
22143
22227
|
}
|
|
22144
|
-
let dest =
|
|
22228
|
+
let dest = index2 + offset4;
|
|
22145
22229
|
if (dest < 0)
|
|
22146
22230
|
dest = 0;
|
|
22147
22231
|
if (dest >= this.size)
|
|
@@ -22149,11 +22233,11 @@ var OrderedDict = class _OrderedDict extends Map {
|
|
|
22149
22233
|
return this.at(dest);
|
|
22150
22234
|
}
|
|
22151
22235
|
keyFrom(key, offset4) {
|
|
22152
|
-
const
|
|
22153
|
-
if (
|
|
22236
|
+
const index2 = this.indexOf(key);
|
|
22237
|
+
if (index2 === -1) {
|
|
22154
22238
|
return;
|
|
22155
22239
|
}
|
|
22156
|
-
let dest =
|
|
22240
|
+
let dest = index2 + offset4;
|
|
22157
22241
|
if (dest < 0)
|
|
22158
22242
|
dest = 0;
|
|
22159
22243
|
if (dest >= this.size)
|
|
@@ -22161,68 +22245,68 @@ var OrderedDict = class _OrderedDict extends Map {
|
|
|
22161
22245
|
return this.keyAt(dest);
|
|
22162
22246
|
}
|
|
22163
22247
|
find(predicate, thisArg) {
|
|
22164
|
-
let
|
|
22248
|
+
let index2 = 0;
|
|
22165
22249
|
for (const entry of this) {
|
|
22166
|
-
if (Reflect.apply(predicate, thisArg, [entry,
|
|
22250
|
+
if (Reflect.apply(predicate, thisArg, [entry, index2, this])) {
|
|
22167
22251
|
return entry;
|
|
22168
22252
|
}
|
|
22169
|
-
|
|
22253
|
+
index2++;
|
|
22170
22254
|
}
|
|
22171
22255
|
return;
|
|
22172
22256
|
}
|
|
22173
22257
|
findIndex(predicate, thisArg) {
|
|
22174
|
-
let
|
|
22258
|
+
let index2 = 0;
|
|
22175
22259
|
for (const entry of this) {
|
|
22176
|
-
if (Reflect.apply(predicate, thisArg, [entry,
|
|
22177
|
-
return
|
|
22260
|
+
if (Reflect.apply(predicate, thisArg, [entry, index2, this])) {
|
|
22261
|
+
return index2;
|
|
22178
22262
|
}
|
|
22179
|
-
|
|
22263
|
+
index2++;
|
|
22180
22264
|
}
|
|
22181
22265
|
return -1;
|
|
22182
22266
|
}
|
|
22183
22267
|
filter(predicate, thisArg) {
|
|
22184
22268
|
const entries = [];
|
|
22185
|
-
let
|
|
22269
|
+
let index2 = 0;
|
|
22186
22270
|
for (const entry of this) {
|
|
22187
|
-
if (Reflect.apply(predicate, thisArg, [entry,
|
|
22271
|
+
if (Reflect.apply(predicate, thisArg, [entry, index2, this])) {
|
|
22188
22272
|
entries.push(entry);
|
|
22189
22273
|
}
|
|
22190
|
-
|
|
22274
|
+
index2++;
|
|
22191
22275
|
}
|
|
22192
22276
|
return new _OrderedDict(entries);
|
|
22193
22277
|
}
|
|
22194
22278
|
map(callbackfn, thisArg) {
|
|
22195
22279
|
const entries = [];
|
|
22196
|
-
let
|
|
22280
|
+
let index2 = 0;
|
|
22197
22281
|
for (const entry of this) {
|
|
22198
|
-
entries.push([entry[0], Reflect.apply(callbackfn, thisArg, [entry,
|
|
22199
|
-
|
|
22282
|
+
entries.push([entry[0], Reflect.apply(callbackfn, thisArg, [entry, index2, this])]);
|
|
22283
|
+
index2++;
|
|
22200
22284
|
}
|
|
22201
22285
|
return new _OrderedDict(entries);
|
|
22202
22286
|
}
|
|
22203
22287
|
reduce(...args) {
|
|
22204
22288
|
const [callbackfn, initialValue] = args;
|
|
22205
|
-
let
|
|
22289
|
+
let index2 = 0;
|
|
22206
22290
|
let accumulator = initialValue ?? this.at(0);
|
|
22207
22291
|
for (const entry of this) {
|
|
22208
|
-
if (
|
|
22292
|
+
if (index2 === 0 && args.length === 1) {
|
|
22209
22293
|
accumulator = entry;
|
|
22210
22294
|
} else {
|
|
22211
|
-
accumulator = Reflect.apply(callbackfn, this, [accumulator, entry,
|
|
22295
|
+
accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index2, this]);
|
|
22212
22296
|
}
|
|
22213
|
-
|
|
22297
|
+
index2++;
|
|
22214
22298
|
}
|
|
22215
22299
|
return accumulator;
|
|
22216
22300
|
}
|
|
22217
22301
|
reduceRight(...args) {
|
|
22218
22302
|
const [callbackfn, initialValue] = args;
|
|
22219
22303
|
let accumulator = initialValue ?? this.at(-1);
|
|
22220
|
-
for (let
|
|
22221
|
-
const entry = this.at(
|
|
22222
|
-
if (
|
|
22304
|
+
for (let index2 = this.size - 1;index2 >= 0; index2--) {
|
|
22305
|
+
const entry = this.at(index2);
|
|
22306
|
+
if (index2 === this.size - 1 && args.length === 1) {
|
|
22223
22307
|
accumulator = entry;
|
|
22224
22308
|
} else {
|
|
22225
|
-
accumulator = Reflect.apply(callbackfn, this, [accumulator, entry,
|
|
22309
|
+
accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index2, this]);
|
|
22226
22310
|
}
|
|
22227
22311
|
}
|
|
22228
22312
|
return accumulator;
|
|
@@ -22233,8 +22317,8 @@ var OrderedDict = class _OrderedDict extends Map {
|
|
|
22233
22317
|
}
|
|
22234
22318
|
toReversed() {
|
|
22235
22319
|
const reversed = new _OrderedDict;
|
|
22236
|
-
for (let
|
|
22237
|
-
const key = this.keyAt(
|
|
22320
|
+
for (let index2 = this.size - 1;index2 >= 0; index2--) {
|
|
22321
|
+
const key = this.keyAt(index2);
|
|
22238
22322
|
const element = this.get(key);
|
|
22239
22323
|
reversed.set(key, element);
|
|
22240
22324
|
}
|
|
@@ -22257,44 +22341,44 @@ var OrderedDict = class _OrderedDict extends Map {
|
|
|
22257
22341
|
if (end !== undefined && end > 0) {
|
|
22258
22342
|
stop = end - 1;
|
|
22259
22343
|
}
|
|
22260
|
-
for (let
|
|
22261
|
-
const key = this.keyAt(
|
|
22344
|
+
for (let index2 = start;index2 <= stop; index2++) {
|
|
22345
|
+
const key = this.keyAt(index2);
|
|
22262
22346
|
const element = this.get(key);
|
|
22263
22347
|
result.set(key, element);
|
|
22264
22348
|
}
|
|
22265
22349
|
return result;
|
|
22266
22350
|
}
|
|
22267
22351
|
every(predicate, thisArg) {
|
|
22268
|
-
let
|
|
22352
|
+
let index2 = 0;
|
|
22269
22353
|
for (const entry of this) {
|
|
22270
|
-
if (!Reflect.apply(predicate, thisArg, [entry,
|
|
22354
|
+
if (!Reflect.apply(predicate, thisArg, [entry, index2, this])) {
|
|
22271
22355
|
return false;
|
|
22272
22356
|
}
|
|
22273
|
-
|
|
22357
|
+
index2++;
|
|
22274
22358
|
}
|
|
22275
22359
|
return true;
|
|
22276
22360
|
}
|
|
22277
22361
|
some(predicate, thisArg) {
|
|
22278
|
-
let
|
|
22362
|
+
let index2 = 0;
|
|
22279
22363
|
for (const entry of this) {
|
|
22280
|
-
if (Reflect.apply(predicate, thisArg, [entry,
|
|
22364
|
+
if (Reflect.apply(predicate, thisArg, [entry, index2, this])) {
|
|
22281
22365
|
return true;
|
|
22282
22366
|
}
|
|
22283
|
-
|
|
22367
|
+
index2++;
|
|
22284
22368
|
}
|
|
22285
22369
|
return false;
|
|
22286
22370
|
}
|
|
22287
22371
|
};
|
|
22288
|
-
function at(array,
|
|
22372
|
+
function at(array, index2) {
|
|
22289
22373
|
if ("at" in Array.prototype) {
|
|
22290
|
-
return Array.prototype.at.call(array,
|
|
22374
|
+
return Array.prototype.at.call(array, index2);
|
|
22291
22375
|
}
|
|
22292
|
-
const actualIndex = toSafeIndex(array,
|
|
22376
|
+
const actualIndex = toSafeIndex(array, index2);
|
|
22293
22377
|
return actualIndex === -1 ? undefined : array[actualIndex];
|
|
22294
22378
|
}
|
|
22295
|
-
function toSafeIndex(array,
|
|
22379
|
+
function toSafeIndex(array, index2) {
|
|
22296
22380
|
const length2 = array.length;
|
|
22297
|
-
const relativeIndex = toSafeInteger(
|
|
22381
|
+
const relativeIndex = toSafeInteger(index2);
|
|
22298
22382
|
const actualIndex = relativeIndex >= 0 ? relativeIndex : length2 + relativeIndex;
|
|
22299
22383
|
return actualIndex < 0 || actualIndex >= length2 ? -1 : actualIndex;
|
|
22300
22384
|
}
|
|
@@ -22346,7 +22430,7 @@ var Primitive2 = NODES2.reduce((primitive, node) => {
|
|
|
22346
22430
|
Node2.displayName = `Primitive.${node}`;
|
|
22347
22431
|
return { ...primitive, [node]: Node2 };
|
|
22348
22432
|
}, {});
|
|
22349
|
-
function
|
|
22433
|
+
function useCallbackRef3(callback) {
|
|
22350
22434
|
const callbackRef = React44.useRef(callback);
|
|
22351
22435
|
React44.useEffect(() => {
|
|
22352
22436
|
callbackRef.current = callback;
|
|
@@ -22450,7 +22534,7 @@ var RovingFocusGroupImpl = React47.forwardRef((props, forwardedRef) => {
|
|
|
22450
22534
|
caller: GROUP_NAME2
|
|
22451
22535
|
});
|
|
22452
22536
|
const [isTabbingBackOut, setIsTabbingBackOut] = React47.useState(false);
|
|
22453
|
-
const handleEntryFocus =
|
|
22537
|
+
const handleEntryFocus = useCallbackRef3(onEntryFocus);
|
|
22454
22538
|
const getItems = useCollection2(__scopeRovingFocusGroup);
|
|
22455
22539
|
const isClickFocusRef = React47.useRef(false);
|
|
22456
22540
|
const [focusableItemsCount, setFocusableItemsCount] = React47.useState(0);
|
|
@@ -22603,7 +22687,7 @@ function focusFirst2(candidates, preventScroll = false) {
|
|
|
22603
22687
|
}
|
|
22604
22688
|
}
|
|
22605
22689
|
function wrapArray2(array, startIndex) {
|
|
22606
|
-
return array.map((_,
|
|
22690
|
+
return array.map((_, index2) => array[(startIndex + index2) % array.length]);
|
|
22607
22691
|
}
|
|
22608
22692
|
var Root3 = RovingFocusGroup;
|
|
22609
22693
|
var Item2 = RovingFocusGroupItem;
|
|
@@ -22918,7 +23002,7 @@ var Triangle2 = (props) => {
|
|
|
22918
23002
|
};
|
|
22919
23003
|
|
|
22920
23004
|
// src/components/homepage/FreePricing.tsx
|
|
22921
|
-
import React53, { useCallback as
|
|
23005
|
+
import React53, { useCallback as useCallback34, useMemo as useMemo51 } from "react";
|
|
22922
23006
|
|
|
22923
23007
|
// ../../node_modules/.bun/tailwind-merge@2.5.2/node_modules/tailwind-merge/dist/bundle-mjs.mjs
|
|
22924
23008
|
var CLASS_PART_SEPARATOR2 = "-";
|
|
@@ -24565,7 +24649,7 @@ var CompanyPricing = () => {
|
|
|
24565
24649
|
const [automatorsSelected, setAutomatorsSelected] = React53.useState(true);
|
|
24566
24650
|
const [devSeatCount, setDevSeatCount] = React53.useState(3);
|
|
24567
24651
|
const [cloudRenders, setCloudRenders] = React53.useState(1e4);
|
|
24568
|
-
const formatPrice =
|
|
24652
|
+
const formatPrice = useCallback34((price) => {
|
|
24569
24653
|
const formatter = new Intl.NumberFormat("en-US", {
|
|
24570
24654
|
style: "currency",
|
|
24571
24655
|
currency: "USD",
|
|
@@ -24575,14 +24659,14 @@ var CompanyPricing = () => {
|
|
|
24575
24659
|
}, []);
|
|
24576
24660
|
const creatorsPrice = creatorsSelected ? devSeatCount * SEAT_PRICE : 0;
|
|
24577
24661
|
const automatorsPrice = automatorsSelected ? Math.ceil(cloudRenders / 1000) * RENDER_UNIT_PRICE : 0;
|
|
24578
|
-
const totalPrice =
|
|
24662
|
+
const totalPrice = useMemo51(() => {
|
|
24579
24663
|
const basePrice = creatorsPrice + automatorsPrice;
|
|
24580
24664
|
if (automatorsSelected) {
|
|
24581
24665
|
return Math.max(100, basePrice);
|
|
24582
24666
|
}
|
|
24583
24667
|
return basePrice;
|
|
24584
24668
|
}, [creatorsPrice, automatorsPrice, automatorsSelected]);
|
|
24585
|
-
const totalPriceString =
|
|
24669
|
+
const totalPriceString = useMemo51(() => {
|
|
24586
24670
|
return formatPrice(totalPrice);
|
|
24587
24671
|
}, [formatPrice, totalPrice]);
|
|
24588
24672
|
const showMinimumMessage = automatorsSelected && creatorsPrice + automatorsPrice < 100;
|
|
@@ -25288,14 +25372,14 @@ import { createContext as createContext32 } from "react";
|
|
|
25288
25372
|
import { jsx as jsx56, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
25289
25373
|
import { jsx as jsx214, jsxs as jsxs24, Fragment as Fragment11 } from "react/jsx-runtime";
|
|
25290
25374
|
import React56 from "react";
|
|
25291
|
-
import { useContext as useContext210, useEffect as useEffect42, useState as
|
|
25375
|
+
import { useContext as useContext210, useEffect as useEffect42, useState as useState38 } from "react";
|
|
25292
25376
|
import { useContext as useContext44, useLayoutEffect as useLayoutEffect17 } from "react";
|
|
25293
25377
|
import { jsx as jsx313 } from "react/jsx-runtime";
|
|
25294
|
-
import { useEffect as useEffect24, useState as
|
|
25378
|
+
import { useEffect as useEffect24, useState as useState210 } from "react";
|
|
25295
25379
|
import { useLayoutEffect as useLayoutEffect23 } from "react";
|
|
25296
|
-
import { useContext as useContext45, useEffect as useEffect52, useRef as
|
|
25297
|
-
import { useEffect as useEffect310, useRef as
|
|
25298
|
-
import { useCallback as
|
|
25380
|
+
import { useContext as useContext45, useEffect as useEffect52, useRef as useRef43 } from "react";
|
|
25381
|
+
import { useEffect as useEffect310, useRef as useRef27 } from "react";
|
|
25382
|
+
import { useCallback as useCallback35, useContext as useContext39, useMemo as useMemo52, useRef as useRef44, useState as useState39 } from "react";
|
|
25299
25383
|
import { useEffect as useEffect43, useRef as useRef310 } from "react";
|
|
25300
25384
|
import { useCallback as useCallback210, useEffect as useEffect62, useMemo as useMemo212, useState as useState42 } from "react";
|
|
25301
25385
|
import {
|
|
@@ -25325,10 +25409,10 @@ import { jsx as jsx55 } from "react/jsx-runtime";
|
|
|
25325
25409
|
import { useCallback as useCallback72, useEffect as useEffect112, useMemo as useMemo92, useRef as useRef82, useState as useState102 } from "react";
|
|
25326
25410
|
import { jsx as jsx64 } from "react/jsx-runtime";
|
|
25327
25411
|
import { useCallback as useCallback42, useMemo as useMemo410, useRef as useRef52, useState as useState62 } from "react";
|
|
25328
|
-
import React54, { useCallback as
|
|
25412
|
+
import React54, { useCallback as useCallback36, useMemo as useMemo310, useState as useState52 } from "react";
|
|
25329
25413
|
import { jsx as jsx74, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
25330
25414
|
import { jsx as jsx84, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
25331
|
-
import { useCallback as useCallback52, useEffect as useEffect92, useMemo as
|
|
25415
|
+
import { useCallback as useCallback52, useEffect as useEffect92, useMemo as useMemo53, useState as useState82 } from "react";
|
|
25332
25416
|
import { useEffect as useEffect83, useRef as useRef62, useState as useState72 } from "react";
|
|
25333
25417
|
import { jsx as jsx94, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
25334
25418
|
import { useCallback as useCallback62, useEffect as useEffect102, useMemo as useMemo62, useRef as useRef72, useState as useState92 } from "react";
|
|
@@ -26020,7 +26104,7 @@ var proResProfileOptions = [
|
|
|
26020
26104
|
"light",
|
|
26021
26105
|
"proxy"
|
|
26022
26106
|
];
|
|
26023
|
-
var
|
|
26107
|
+
var sequenceVisualStyleSchema2 = {
|
|
26024
26108
|
"style.translate": {
|
|
26025
26109
|
type: "translate",
|
|
26026
26110
|
step: 1,
|
|
@@ -26048,7 +26132,9 @@ var sequenceStyleSchema2 = {
|
|
|
26048
26132
|
step: 0.01,
|
|
26049
26133
|
default: 1,
|
|
26050
26134
|
description: "Opacity"
|
|
26051
|
-
}
|
|
26135
|
+
}
|
|
26136
|
+
};
|
|
26137
|
+
var sequencePremountSchema2 = {
|
|
26052
26138
|
premountFor: {
|
|
26053
26139
|
type: "number",
|
|
26054
26140
|
default: 0,
|
|
@@ -26066,6 +26152,10 @@ var sequenceStyleSchema2 = {
|
|
|
26066
26152
|
type: "hidden"
|
|
26067
26153
|
}
|
|
26068
26154
|
};
|
|
26155
|
+
var sequenceStyleSchema2 = {
|
|
26156
|
+
...sequenceVisualStyleSchema2,
|
|
26157
|
+
...sequencePremountSchema2
|
|
26158
|
+
};
|
|
26069
26159
|
var hiddenField2 = {
|
|
26070
26160
|
type: "boolean",
|
|
26071
26161
|
default: false,
|
|
@@ -26746,7 +26836,7 @@ var useBufferStateEmitter = (emitter) => {
|
|
|
26746
26836
|
}, [bufferManager, emitter]);
|
|
26747
26837
|
};
|
|
26748
26838
|
var PlayerEmitterProvider = ({ children, currentPlaybackRate }) => {
|
|
26749
|
-
const [emitter] =
|
|
26839
|
+
const [emitter] = useState38(() => new PlayerEmitter);
|
|
26750
26840
|
const bufferManager = useContext210(Internals.BufferingContextReact);
|
|
26751
26841
|
if (!bufferManager) {
|
|
26752
26842
|
throw new Error("BufferingContextReact not found");
|
|
@@ -26763,7 +26853,7 @@ var PlayerEmitterProvider = ({ children, currentPlaybackRate }) => {
|
|
|
26763
26853
|
});
|
|
26764
26854
|
};
|
|
26765
26855
|
var useHoverState = (ref, hideControlsWhenPointerDoesntMove) => {
|
|
26766
|
-
const [hovered, setHovered] =
|
|
26856
|
+
const [hovered, setHovered] = useState210(false);
|
|
26767
26857
|
useEffect24(() => {
|
|
26768
26858
|
const { current } = ref;
|
|
26769
26859
|
if (!current) {
|
|
@@ -26804,15 +26894,15 @@ var useHoverState = (ref, hideControlsWhenPointerDoesntMove) => {
|
|
|
26804
26894
|
};
|
|
26805
26895
|
var usePlayer = () => {
|
|
26806
26896
|
const [playing, setPlaying, imperativePlaying] = Internals.Timeline.usePlayingState();
|
|
26807
|
-
const [hasPlayed, setHasPlayed] =
|
|
26897
|
+
const [hasPlayed, setHasPlayed] = useState39(false);
|
|
26808
26898
|
const frame = Internals.Timeline.useTimelinePosition();
|
|
26809
|
-
const playStart =
|
|
26899
|
+
const playStart = useRef44(frame);
|
|
26810
26900
|
const setFrame = Internals.Timeline.useTimelineSetFrame();
|
|
26811
26901
|
const setTimelinePosition = Internals.Timeline.useTimelineSetFrame();
|
|
26812
26902
|
const audioContext = useContext39(Internals.SharedAudioContext);
|
|
26813
26903
|
const audioTagsContext = useContext39(Internals.SharedAudioTagsContext);
|
|
26814
26904
|
const { audioAndVideoTags } = Internals.useTimelineContext();
|
|
26815
|
-
const frameRef =
|
|
26905
|
+
const frameRef = useRef44(frame);
|
|
26816
26906
|
frameRef.current = frame;
|
|
26817
26907
|
const video = Internals.useVideo();
|
|
26818
26908
|
const config = Internals.useUnsafeVideoConfig();
|
|
@@ -26828,14 +26918,14 @@ var usePlayer = () => {
|
|
|
26828
26918
|
throw new Error("Missing the buffering context. Most likely you have a Remotion version mismatch.");
|
|
26829
26919
|
}
|
|
26830
26920
|
const { buffering } = bufferingContext;
|
|
26831
|
-
const seek2 =
|
|
26921
|
+
const seek2 = useCallback35((newFrame) => {
|
|
26832
26922
|
if (video?.id) {
|
|
26833
26923
|
setTimelinePosition((c) => ({ ...c, [video.id]: newFrame }));
|
|
26834
26924
|
}
|
|
26835
26925
|
frameRef.current = newFrame;
|
|
26836
26926
|
emitter.dispatchSeek(newFrame);
|
|
26837
26927
|
}, [emitter, setTimelinePosition, video?.id]);
|
|
26838
|
-
const play =
|
|
26928
|
+
const play = useCallback35((e) => {
|
|
26839
26929
|
if (imperativePlaying.current) {
|
|
26840
26930
|
return;
|
|
26841
26931
|
}
|
|
@@ -26862,7 +26952,7 @@ var usePlayer = () => {
|
|
|
26862
26952
|
seek2,
|
|
26863
26953
|
audioAndVideoTags
|
|
26864
26954
|
]);
|
|
26865
|
-
const pause =
|
|
26955
|
+
const pause = useCallback35(() => {
|
|
26866
26956
|
if (imperativePlaying.current) {
|
|
26867
26957
|
imperativePlaying.current = false;
|
|
26868
26958
|
setPlaying(false);
|
|
@@ -26870,7 +26960,7 @@ var usePlayer = () => {
|
|
|
26870
26960
|
audioContext?.suspend();
|
|
26871
26961
|
}
|
|
26872
26962
|
}, [emitter, imperativePlaying, setPlaying, audioContext]);
|
|
26873
|
-
const pauseAndReturnToPlayStart =
|
|
26963
|
+
const pauseAndReturnToPlayStart = useCallback35(() => {
|
|
26874
26964
|
if (imperativePlaying.current) {
|
|
26875
26965
|
imperativePlaying.current = false;
|
|
26876
26966
|
frameRef.current = playStart.current;
|
|
@@ -26885,7 +26975,7 @@ var usePlayer = () => {
|
|
|
26885
26975
|
}
|
|
26886
26976
|
}, [config, emitter, imperativePlaying, setPlaying, setTimelinePosition]);
|
|
26887
26977
|
const videoId = video?.id;
|
|
26888
|
-
const frameBack =
|
|
26978
|
+
const frameBack = useCallback35((frames) => {
|
|
26889
26979
|
if (!videoId) {
|
|
26890
26980
|
return null;
|
|
26891
26981
|
}
|
|
@@ -26904,7 +26994,7 @@ var usePlayer = () => {
|
|
|
26904
26994
|
};
|
|
26905
26995
|
});
|
|
26906
26996
|
}, [imperativePlaying, setFrame, videoId]);
|
|
26907
|
-
const frameForward =
|
|
26997
|
+
const frameForward = useCallback35((frames) => {
|
|
26908
26998
|
if (!videoId) {
|
|
26909
26999
|
return null;
|
|
26910
27000
|
}
|
|
@@ -26923,23 +27013,23 @@ var usePlayer = () => {
|
|
|
26923
27013
|
};
|
|
26924
27014
|
});
|
|
26925
27015
|
}, [videoId, imperativePlaying, lastFrame, setFrame]);
|
|
26926
|
-
const toggle =
|
|
27016
|
+
const toggle = useCallback35((e) => {
|
|
26927
27017
|
if (imperativePlaying.current) {
|
|
26928
27018
|
pause();
|
|
26929
27019
|
} else {
|
|
26930
27020
|
play(e);
|
|
26931
27021
|
}
|
|
26932
27022
|
}, [imperativePlaying, pause, play]);
|
|
26933
|
-
const isPlaying =
|
|
27023
|
+
const isPlaying = useCallback35(() => {
|
|
26934
27024
|
return imperativePlaying.current;
|
|
26935
27025
|
}, [imperativePlaying]);
|
|
26936
|
-
const getCurrentFrame =
|
|
27026
|
+
const getCurrentFrame = useCallback35(() => {
|
|
26937
27027
|
return frameRef.current;
|
|
26938
27028
|
}, [frameRef]);
|
|
26939
|
-
const isBuffering =
|
|
27029
|
+
const isBuffering = useCallback35(() => {
|
|
26940
27030
|
return buffering.current;
|
|
26941
27031
|
}, [buffering]);
|
|
26942
|
-
const returnValue =
|
|
27032
|
+
const returnValue = useMemo52(() => {
|
|
26943
27033
|
return {
|
|
26944
27034
|
frameBack,
|
|
26945
27035
|
frameForward,
|
|
@@ -26982,7 +27072,7 @@ var useBrowserMediaSession = ({
|
|
|
26982
27072
|
playbackRate
|
|
26983
27073
|
}) => {
|
|
26984
27074
|
const { playing, pause, play, emitter, getCurrentFrame, seek: seek2 } = usePlayer();
|
|
26985
|
-
const hasEverPlayed =
|
|
27075
|
+
const hasEverPlayed = useRef27(false);
|
|
26986
27076
|
useEffect310(() => {
|
|
26987
27077
|
if (playing) {
|
|
26988
27078
|
hasEverPlayed.current = true;
|
|
@@ -27174,7 +27264,7 @@ var usePlayback = ({
|
|
|
27174
27264
|
const sharedAudioContext = useContext45(Internals.SharedAudioContext);
|
|
27175
27265
|
const logLevel = Internals.useLogLevel();
|
|
27176
27266
|
const isBackgroundedRef = useIsBackgrounded();
|
|
27177
|
-
const lastTimeUpdateTimestamp =
|
|
27267
|
+
const lastTimeUpdateTimestamp = useRef43(0);
|
|
27178
27268
|
const context = useContext45(Internals.BufferingContextReact);
|
|
27179
27269
|
if (!context) {
|
|
27180
27270
|
throw new Error("Missing the buffering context. Most likely you have a Remotion version mismatch.");
|
|
@@ -27640,7 +27730,7 @@ var DefaultVolumeSlider = ({
|
|
|
27640
27730
|
inputRef,
|
|
27641
27731
|
setVolume
|
|
27642
27732
|
}) => {
|
|
27643
|
-
const sliderContainer =
|
|
27733
|
+
const sliderContainer = useMemo310(() => {
|
|
27644
27734
|
const paddingLeft = 5;
|
|
27645
27735
|
const common = {
|
|
27646
27736
|
paddingLeft,
|
|
@@ -27662,10 +27752,10 @@ var DefaultVolumeSlider = ({
|
|
|
27662
27752
|
}, [isVertical]);
|
|
27663
27753
|
const randomId = typeof React54.useId === "undefined" ? "volume-slider" : React54.useId();
|
|
27664
27754
|
const [randomClass] = useState52(() => `__remotion-volume-slider-${random(randomId)}`.replace(".", ""));
|
|
27665
|
-
const onVolumeChange =
|
|
27755
|
+
const onVolumeChange = useCallback36((e) => {
|
|
27666
27756
|
setVolume(parseFloat(e.target.value));
|
|
27667
27757
|
}, [setVolume]);
|
|
27668
|
-
const inputStyle =
|
|
27758
|
+
const inputStyle = useMemo310(() => {
|
|
27669
27759
|
const commonStyle = {
|
|
27670
27760
|
WebkitAppearance: "none",
|
|
27671
27761
|
backgroundColor: "rgba(255, 255, 255, 0.5)",
|
|
@@ -27885,7 +27975,7 @@ var PlaybackrateOption = ({ rate, onSelect, selectedRate, keyboardSelectedRate }
|
|
|
27885
27975
|
setHovered(false);
|
|
27886
27976
|
}, []);
|
|
27887
27977
|
const isFocused = keyboardSelectedRate === rate;
|
|
27888
|
-
const actualStyle =
|
|
27978
|
+
const actualStyle = useMemo53(() => {
|
|
27889
27979
|
return {
|
|
27890
27980
|
...rateDiv,
|
|
27891
27981
|
backgroundColor: hovered || isFocused ? "#eee" : "transparent"
|
|
@@ -27952,7 +28042,7 @@ var PlaybackPopup = ({ setIsComponentVisible, playbackRates, canvasSize }) => {
|
|
|
27952
28042
|
setPlaybackRate(rate);
|
|
27953
28043
|
setIsComponentVisible(false);
|
|
27954
28044
|
}, [setIsComponentVisible, setPlaybackRate]);
|
|
27955
|
-
const playbackPopup =
|
|
28045
|
+
const playbackPopup = useMemo53(() => {
|
|
27956
28046
|
return {
|
|
27957
28047
|
position: "absolute",
|
|
27958
28048
|
right: 0,
|
|
@@ -29840,10 +29930,10 @@ var Thumbnail = forward2(ThumbnailFn);
|
|
|
29840
29930
|
|
|
29841
29931
|
// src/components/homepage/Demo/index.tsx
|
|
29842
29932
|
import {
|
|
29843
|
-
useCallback as
|
|
29933
|
+
useCallback as useCallback50,
|
|
29844
29934
|
useEffect as useEffect58,
|
|
29845
|
-
useMemo as
|
|
29846
|
-
useRef as
|
|
29935
|
+
useMemo as useMemo66,
|
|
29936
|
+
useRef as useRef55,
|
|
29847
29937
|
useState as useState56
|
|
29848
29938
|
} from "react";
|
|
29849
29939
|
|
|
@@ -29899,7 +29989,7 @@ function _isNativeReflectConstruct() {
|
|
|
29899
29989
|
try {
|
|
29900
29990
|
var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
29901
29991
|
} catch (t2) {}
|
|
29902
|
-
return (_isNativeReflectConstruct = function
|
|
29992
|
+
return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {
|
|
29903
29993
|
return !!t;
|
|
29904
29994
|
})();
|
|
29905
29995
|
}
|
|
@@ -29917,7 +30007,7 @@ function _construct(t, e, r2) {
|
|
|
29917
30007
|
// ../../node_modules/.bun/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js
|
|
29918
30008
|
function _wrapNativeSuper(t) {
|
|
29919
30009
|
var r2 = typeof Map == "function" ? new Map : undefined;
|
|
29920
|
-
return _wrapNativeSuper = function
|
|
30010
|
+
return _wrapNativeSuper = function _wrapNativeSuper(t2) {
|
|
29921
30011
|
if (t2 === null || !_isNativeFunction(t2))
|
|
29922
30012
|
return t2;
|
|
29923
30013
|
if (typeof t2 != "function")
|
|
@@ -30593,7 +30683,7 @@ var UNDERLAY_RED = curriedTransparentize$1(0.9, RED);
|
|
|
30593
30683
|
var BLUE_TEXT = curriedDarken$1(0.3, "#42e9f5");
|
|
30594
30684
|
|
|
30595
30685
|
// src/components/homepage/layout/use-color-mode.tsx
|
|
30596
|
-
import React57, { useContext as useContext46, useMemo as
|
|
30686
|
+
import React57, { useContext as useContext46, useMemo as useMemo54 } from "react";
|
|
30597
30687
|
import { jsx as jsx57 } from "react/jsx-runtime";
|
|
30598
30688
|
var Context = React57.createContext(undefined);
|
|
30599
30689
|
var ColorModeProvider = ({
|
|
@@ -30601,7 +30691,7 @@ var ColorModeProvider = ({
|
|
|
30601
30691
|
colorMode,
|
|
30602
30692
|
setColorMode
|
|
30603
30693
|
}) => {
|
|
30604
|
-
const value =
|
|
30694
|
+
const value = useMemo54(() => {
|
|
30605
30695
|
return { colorMode, setColorMode };
|
|
30606
30696
|
}, [colorMode, setColorMode]);
|
|
30607
30697
|
return /* @__PURE__ */ jsx57(Context.Provider, {
|
|
@@ -30618,15 +30708,15 @@ function useColorMode() {
|
|
|
30618
30708
|
}
|
|
30619
30709
|
|
|
30620
30710
|
// ../media/dist/esm/index.mjs
|
|
30621
|
-
import { useState as
|
|
30622
|
-
import { useMemo as
|
|
30623
|
-
import { useContext as useContext212, useEffect as useEffect44, useMemo as
|
|
30711
|
+
import { useState as useState311 } from "react";
|
|
30712
|
+
import { useMemo as useMemo312 } from "react";
|
|
30713
|
+
import { useContext as useContext212, useEffect as useEffect44, useMemo as useMemo56, useRef as useRef46, useState as useState40 } from "react";
|
|
30624
30714
|
import { ALL_FORMATS, Input as Input2, UrlSource } from "mediabunny";
|
|
30625
30715
|
import { AudioBufferSink, InputDisposedError } from "mediabunny";
|
|
30626
30716
|
import { CanvasSink } from "mediabunny";
|
|
30627
30717
|
import { useContext as useContext48, useLayoutEffect as useLayoutEffect18 } from "react";
|
|
30628
30718
|
import { jsx as jsx58 } from "react/jsx-runtime";
|
|
30629
|
-
import { useContext as useContext311, useLayoutEffect as useLayoutEffect24, useMemo as useMemo213, useState as
|
|
30719
|
+
import { useContext as useContext311, useLayoutEffect as useLayoutEffect24, useMemo as useMemo213, useState as useState212 } from "react";
|
|
30630
30720
|
import React211 from "react";
|
|
30631
30721
|
import {
|
|
30632
30722
|
ALL_FORMATS as ALL_FORMATS2,
|
|
@@ -30653,7 +30743,7 @@ import { jsx as jsx412 } from "react/jsx-runtime";
|
|
|
30653
30743
|
import {
|
|
30654
30744
|
useContext as useContext53,
|
|
30655
30745
|
useLayoutEffect as useLayoutEffect43,
|
|
30656
|
-
useMemo as
|
|
30746
|
+
useMemo as useMemo55,
|
|
30657
30747
|
useRef as useRef312,
|
|
30658
30748
|
useState as useState53
|
|
30659
30749
|
} from "react";
|
|
@@ -31722,6 +31812,10 @@ var videoIteratorManager = async ({
|
|
|
31722
31812
|
let videoFrameIterator = null;
|
|
31723
31813
|
let framesRendered = 0;
|
|
31724
31814
|
let currentDelayHandle = null;
|
|
31815
|
+
let lastDrawnFrame = null;
|
|
31816
|
+
const clearLastDrawnFrame = () => {
|
|
31817
|
+
lastDrawnFrame = null;
|
|
31818
|
+
};
|
|
31725
31819
|
if (canvas) {
|
|
31726
31820
|
const displayWidth = await videoTrack.getDisplayWidth();
|
|
31727
31821
|
const displayHeight = await videoTrack.getDisplayHeight();
|
|
@@ -31736,7 +31830,7 @@ var videoIteratorManager = async ({
|
|
|
31736
31830
|
alpha: true
|
|
31737
31831
|
});
|
|
31738
31832
|
const prewarmedVideoIteratorCache = makePrewarmedVideoIteratorCache(canvasSink);
|
|
31739
|
-
const
|
|
31833
|
+
const paintFrame = async (frame) => {
|
|
31740
31834
|
if (context && canvas) {
|
|
31741
31835
|
const effects = getEffects();
|
|
31742
31836
|
const chainState = getEffectChainState(canvas.width, canvas.height);
|
|
@@ -31754,6 +31848,10 @@ var videoIteratorManager = async ({
|
|
|
31754
31848
|
context.drawImage(frame.canvas, 0, 0);
|
|
31755
31849
|
}
|
|
31756
31850
|
}
|
|
31851
|
+
};
|
|
31852
|
+
const drawFrame = async (frame) => {
|
|
31853
|
+
await paintFrame(frame);
|
|
31854
|
+
lastDrawnFrame = frame;
|
|
31757
31855
|
framesRendered++;
|
|
31758
31856
|
drawDebugOverlay();
|
|
31759
31857
|
const callback = getOnVideoFrameCallback();
|
|
@@ -31762,9 +31860,22 @@ var videoIteratorManager = async ({
|
|
|
31762
31860
|
}
|
|
31763
31861
|
Internals.Log.trace({ logLevel, tag: "@remotion/media" }, `[MediaPlayer] Drew frame ${frame.timestamp.toFixed(3)}s`);
|
|
31764
31862
|
};
|
|
31863
|
+
const redrawCurrentFrame = async () => {
|
|
31864
|
+
if (!lastDrawnFrame) {
|
|
31865
|
+
return;
|
|
31866
|
+
}
|
|
31867
|
+
await paintFrame(lastDrawnFrame);
|
|
31868
|
+
drawDebugOverlay();
|
|
31869
|
+
const callback = getOnVideoFrameCallback();
|
|
31870
|
+
if (callback) {
|
|
31871
|
+
callback(lastDrawnFrame.canvas);
|
|
31872
|
+
}
|
|
31873
|
+
Internals.Log.trace({ logLevel, tag: "@remotion/media" }, `[MediaPlayer] Redrew frame ${lastDrawnFrame.timestamp.toFixed(3)}s with updated effects`);
|
|
31874
|
+
};
|
|
31765
31875
|
const startVideoIterator = async (timeToSeek, nonce) => {
|
|
31766
31876
|
let __stack = [];
|
|
31767
31877
|
try {
|
|
31878
|
+
clearLastDrawnFrame();
|
|
31768
31879
|
videoFrameIterator?.destroy();
|
|
31769
31880
|
const delayHandle = __using(__stack, delayPlaybackHandleIfNotPremounting(), 0);
|
|
31770
31881
|
currentDelayHandle = delayHandle;
|
|
@@ -31816,6 +31927,7 @@ var videoIteratorManager = async ({
|
|
|
31816
31927
|
getVideoIteratorsCreated: () => videoIteratorsCreated,
|
|
31817
31928
|
seek: seek2,
|
|
31818
31929
|
destroy: () => {
|
|
31930
|
+
clearLastDrawnFrame();
|
|
31819
31931
|
prewarmedVideoIteratorCache.destroy();
|
|
31820
31932
|
videoFrameIterator?.destroy();
|
|
31821
31933
|
if (context && canvas) {
|
|
@@ -31829,6 +31941,7 @@ var videoIteratorManager = async ({
|
|
|
31829
31941
|
},
|
|
31830
31942
|
getVideoFrameIterator: () => videoFrameIterator,
|
|
31831
31943
|
drawFrame,
|
|
31944
|
+
redrawCurrentFrame,
|
|
31832
31945
|
getFramesRendered: () => framesRendered
|
|
31833
31946
|
};
|
|
31834
31947
|
};
|
|
@@ -32338,6 +32451,9 @@ class MediaPlayer {
|
|
|
32338
32451
|
setVideoFrameCallback(callback) {
|
|
32339
32452
|
this.onVideoFrameCallback = callback;
|
|
32340
32453
|
}
|
|
32454
|
+
async redrawVideoEffects() {
|
|
32455
|
+
await this.videoIteratorManager?.redrawCurrentFrame();
|
|
32456
|
+
}
|
|
32341
32457
|
drawDebugOverlay = () => {
|
|
32342
32458
|
if (!this.debugOverlay)
|
|
32343
32459
|
return;
|
|
@@ -32559,11 +32675,11 @@ var AudioForPreviewAssertedShowing = ({
|
|
|
32559
32675
|
}) => {
|
|
32560
32676
|
const videoConfig = useUnsafeVideoConfig2();
|
|
32561
32677
|
const frame = useCurrentFrame();
|
|
32562
|
-
const mediaPlayerRef =
|
|
32563
|
-
const initialTrimBeforeRef =
|
|
32564
|
-
const initialTrimAfterRef =
|
|
32565
|
-
const [mediaPlayerReady, setMediaPlayerReady] =
|
|
32566
|
-
const [shouldFallbackToNativeAudio, setShouldFallbackToNativeAudio] =
|
|
32678
|
+
const mediaPlayerRef = useRef46(null);
|
|
32679
|
+
const initialTrimBeforeRef = useRef46(trimBefore);
|
|
32680
|
+
const initialTrimAfterRef = useRef46(trimAfter);
|
|
32681
|
+
const [mediaPlayerReady, setMediaPlayerReady] = useState40(false);
|
|
32682
|
+
const [shouldFallbackToNativeAudio, setShouldFallbackToNativeAudio] = useState40(false);
|
|
32567
32683
|
const [playing] = Timeline.usePlayingState();
|
|
32568
32684
|
const { playbackRate: globalPlaybackRate } = Internals.usePlaybackRate();
|
|
32569
32685
|
const sharedAudioContext = useContext212(SharedAudioContext2);
|
|
@@ -32584,7 +32700,7 @@ var AudioForPreviewAssertedShowing = ({
|
|
|
32584
32700
|
throw new TypeError("No `src` was passed to <NewAudioForPreview>.");
|
|
32585
32701
|
}
|
|
32586
32702
|
const currentTime = frame / videoConfig.fps;
|
|
32587
|
-
const currentTimeRef =
|
|
32703
|
+
const currentTimeRef = useRef46(currentTime);
|
|
32588
32704
|
currentTimeRef.current = currentTime;
|
|
32589
32705
|
const preloadedSrc = usePreload2(src);
|
|
32590
32706
|
const parentSequence = useContext212(SequenceContext2);
|
|
@@ -32597,14 +32713,14 @@ var AudioForPreviewAssertedShowing = ({
|
|
|
32597
32713
|
}
|
|
32598
32714
|
const effectiveMuted = muted || mediaMuted || userPreferredVolume <= 0;
|
|
32599
32715
|
const isPlayerBuffering = Internals.useIsPlayerBuffering(bufferingContext);
|
|
32600
|
-
const initialPlaying =
|
|
32601
|
-
const initialIsPremounting =
|
|
32602
|
-
const initialIsPostmounting =
|
|
32603
|
-
const initialGlobalPlaybackRate =
|
|
32604
|
-
const initialPlaybackRate =
|
|
32605
|
-
const initialMuted =
|
|
32606
|
-
const initialDurationInFrames =
|
|
32607
|
-
const initialSequenceOffset =
|
|
32716
|
+
const initialPlaying = useRef46(playing && !isPlayerBuffering);
|
|
32717
|
+
const initialIsPremounting = useRef46(isPremounting);
|
|
32718
|
+
const initialIsPostmounting = useRef46(isPostmounting);
|
|
32719
|
+
const initialGlobalPlaybackRate = useRef46(globalPlaybackRate);
|
|
32720
|
+
const initialPlaybackRate = useRef46(playbackRate);
|
|
32721
|
+
const initialMuted = useRef46(effectiveMuted);
|
|
32722
|
+
const initialDurationInFrames = useRef46(videoConfig.durationInFrames);
|
|
32723
|
+
const initialSequenceOffset = useRef46(sequenceOffset);
|
|
32608
32724
|
useCommonEffects({
|
|
32609
32725
|
mediaPlayerRef,
|
|
32610
32726
|
mediaPlayerReady,
|
|
@@ -32815,7 +32931,7 @@ var AudioForPreview2 = ({
|
|
|
32815
32931
|
const frame = useCurrentFrame();
|
|
32816
32932
|
const videoConfig = useVideoConfig();
|
|
32817
32933
|
const currentTime = frame / videoConfig.fps;
|
|
32818
|
-
const showShow =
|
|
32934
|
+
const showShow = useMemo56(() => {
|
|
32819
32935
|
return getTimeInSeconds({
|
|
32820
32936
|
unloopedTimeInSeconds: currentTime,
|
|
32821
32937
|
playbackRate,
|
|
@@ -34689,7 +34805,7 @@ var AudioForRendering2 = ({
|
|
|
34689
34805
|
}
|
|
34690
34806
|
const { fps } = videoConfig;
|
|
34691
34807
|
const { delayRender: delayRender2, continueRender } = useDelayRender();
|
|
34692
|
-
const [replaceWithHtml5Audio, setReplaceWithHtml5Audio] =
|
|
34808
|
+
const [replaceWithHtml5Audio, setReplaceWithHtml5Audio] = useState212(false);
|
|
34693
34809
|
const sequenceContext = useContext311(Internals.SequenceContext);
|
|
34694
34810
|
const id = useMemo213(() => `media-audio-${random(src)}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
|
|
34695
34811
|
src,
|
|
@@ -34905,8 +35021,8 @@ var AudioInner = (props) => {
|
|
|
34905
35021
|
mediaStartsAt,
|
|
34906
35022
|
loop: props.loop ?? false
|
|
34907
35023
|
});
|
|
34908
|
-
const [mediaDurationInSeconds, setMediaDurationInSeconds] =
|
|
34909
|
-
const loopDisplay =
|
|
35024
|
+
const [mediaDurationInSeconds, setMediaDurationInSeconds] = useState311(null);
|
|
35025
|
+
const loopDisplay = useMemo312(() => getLoopDisplay({
|
|
34910
35026
|
loop: props.loop ?? false,
|
|
34911
35027
|
mediaDurationInSeconds,
|
|
34912
35028
|
playbackRate: props.playbackRate ?? 1,
|
|
@@ -34923,7 +35039,7 @@ var AudioInner = (props) => {
|
|
|
34923
35039
|
sequenceDurationInFrames,
|
|
34924
35040
|
videoConfig.fps
|
|
34925
35041
|
]);
|
|
34926
|
-
const isMedia =
|
|
35042
|
+
const isMedia = useMemo312(() => ({
|
|
34927
35043
|
type: "audio",
|
|
34928
35044
|
data: basicInfo
|
|
34929
35045
|
}), [basicInfo]);
|
|
@@ -35306,6 +35422,13 @@ var VideoForPreviewAssertedShowing = ({
|
|
|
35306
35422
|
}
|
|
35307
35423
|
mediaPlayer.setVideoFrameCallback(onVideoFrame ?? null);
|
|
35308
35424
|
}, [onVideoFrame, mediaPlayerReady]);
|
|
35425
|
+
useLayoutEffect34(() => {
|
|
35426
|
+
const mediaPlayer = mediaPlayerRef.current;
|
|
35427
|
+
if (!mediaPlayer || !mediaPlayerReady) {
|
|
35428
|
+
return;
|
|
35429
|
+
}
|
|
35430
|
+
mediaPlayer.redrawVideoEffects().catch(() => {});
|
|
35431
|
+
}, [_experimentalEffects, mediaPlayerReady, mediaPlayerRef]);
|
|
35309
35432
|
const actualStyle = useMemo412(() => {
|
|
35310
35433
|
return {
|
|
35311
35434
|
...style2,
|
|
@@ -35405,7 +35528,7 @@ var VideoForRendering2 = ({
|
|
|
35405
35528
|
const { registerRenderAsset, unregisterRenderAsset } = useContext53(Internals.RenderAssetManager);
|
|
35406
35529
|
const startsAt = Internals.useMediaStartsAt();
|
|
35407
35530
|
const sequenceContext = useContext53(Internals.SequenceContext);
|
|
35408
|
-
const id =
|
|
35531
|
+
const id = useMemo55(() => `media-video-${random(src)}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
|
|
35409
35532
|
src,
|
|
35410
35533
|
sequenceContext?.cumulatedFrom,
|
|
35411
35534
|
sequenceContext?.relativeFrom,
|
|
@@ -35598,10 +35721,10 @@ var VideoForRendering2 = ({
|
|
|
35598
35721
|
credentials
|
|
35599
35722
|
]);
|
|
35600
35723
|
warnAboutObjectFitInStyleOrClassName({ style: style2, className: className2, logLevel });
|
|
35601
|
-
const classNameValue =
|
|
35724
|
+
const classNameValue = useMemo55(() => {
|
|
35602
35725
|
return [Internals.OBJECTFIT_CONTAIN_CLASS_NAME, className2].filter(Internals.truthy).join(" ");
|
|
35603
35726
|
}, [className2]);
|
|
35604
|
-
const styleWithObjectFit =
|
|
35727
|
+
const styleWithObjectFit = useMemo55(() => {
|
|
35605
35728
|
return {
|
|
35606
35729
|
...style2,
|
|
35607
35730
|
objectFit: objectFitProp
|
|
@@ -35692,7 +35815,7 @@ var videoSchema = {
|
|
|
35692
35815
|
description: "Hidden"
|
|
35693
35816
|
},
|
|
35694
35817
|
loop: { type: "boolean", default: false, description: "Loop" },
|
|
35695
|
-
...Internals.
|
|
35818
|
+
...Internals.sequenceVisualStyleSchema
|
|
35696
35819
|
};
|
|
35697
35820
|
var InnerVideo = ({
|
|
35698
35821
|
src,
|
|
@@ -35929,19 +36052,19 @@ var Video = Internals.wrapInSchema(VideoInner, videoSchema);
|
|
|
35929
36052
|
Internals.addSequenceStackTraces(Video);
|
|
35930
36053
|
|
|
35931
36054
|
// src/components/homepage/Demo/Comp.tsx
|
|
35932
|
-
import { useCallback as
|
|
36055
|
+
import { useCallback as useCallback43, useEffect as useEffect50, useMemo as useMemo59, useState as useState48 } from "react";
|
|
35933
36056
|
|
|
35934
36057
|
// src/components/homepage/Demo/Cards.tsx
|
|
35935
36058
|
import {
|
|
35936
36059
|
createRef as createRef4,
|
|
35937
|
-
useCallback as
|
|
36060
|
+
useCallback as useCallback41,
|
|
35938
36061
|
useEffect as useEffect49,
|
|
35939
|
-
useRef as
|
|
36062
|
+
useRef as useRef50,
|
|
35940
36063
|
useState as useState47
|
|
35941
36064
|
} from "react";
|
|
35942
36065
|
|
|
35943
36066
|
// src/components/homepage/Demo/Card.tsx
|
|
35944
|
-
import { useCallback as
|
|
36067
|
+
import { useCallback as useCallback39, useRef as useRef47 } from "react";
|
|
35945
36068
|
|
|
35946
36069
|
// src/components/homepage/Demo/math.ts
|
|
35947
36070
|
var paddingAndMargin = 20;
|
|
@@ -35975,10 +36098,10 @@ var getIndexFromPosition = (clientX, clientY) => {
|
|
|
35975
36098
|
};
|
|
35976
36099
|
|
|
35977
36100
|
// src/components/homepage/Demo/Switcher.tsx
|
|
35978
|
-
import { useCallback as
|
|
36101
|
+
import { useCallback as useCallback37 } from "react";
|
|
35979
36102
|
import { jsx as jsx60, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
35980
36103
|
var Switcher = ({ type, theme, onTap }) => {
|
|
35981
|
-
const onPointerDown =
|
|
36104
|
+
const onPointerDown = useCallback37((e) => {
|
|
35982
36105
|
e.stopPropagation();
|
|
35983
36106
|
onTap();
|
|
35984
36107
|
}, [onTap]);
|
|
@@ -36039,9 +36162,9 @@ var Card2 = ({
|
|
|
36039
36162
|
onClickRight
|
|
36040
36163
|
}) => {
|
|
36041
36164
|
const refToUse = refsToUse[index2];
|
|
36042
|
-
const stopPrevious =
|
|
36165
|
+
const stopPrevious = useRef47([]);
|
|
36043
36166
|
let newIndices = [...indices];
|
|
36044
|
-
const applyPositions =
|
|
36167
|
+
const applyPositions = useCallback39((except) => {
|
|
36045
36168
|
let stopped = false;
|
|
36046
36169
|
stopPrevious.current.forEach((s) => {
|
|
36047
36170
|
s();
|
|
@@ -36114,7 +36237,7 @@ var Card2 = ({
|
|
|
36114
36237
|
update();
|
|
36115
36238
|
});
|
|
36116
36239
|
}, [newIndices, onUpdate, positions, refsToUse, shouldBePositions]);
|
|
36117
|
-
const onPointerDown =
|
|
36240
|
+
const onPointerDown = useCallback39((e) => {
|
|
36118
36241
|
e.currentTarget.setPointerCapture(e.pointerId);
|
|
36119
36242
|
const cardLeft = refToUse.current.offsetLeft;
|
|
36120
36243
|
const cardTop = refToUse.current.offsetTop;
|
|
@@ -36175,7 +36298,7 @@ var Card2 = ({
|
|
|
36175
36298
|
}, { once: true });
|
|
36176
36299
|
refToUse.current.addEventListener("pointermove", onMove);
|
|
36177
36300
|
}, [applyPositions, index2, positions, refToUse, shouldBePositions]);
|
|
36178
|
-
const onPointerUp =
|
|
36301
|
+
const onPointerUp = useCallback39((e) => {
|
|
36179
36302
|
e.currentTarget.releasePointerCapture(e.pointerId);
|
|
36180
36303
|
}, []);
|
|
36181
36304
|
const { x, y } = getPositionForIndex(index2);
|
|
@@ -36302,15 +36425,15 @@ var CurrentCountry = ({ theme, countryPaths, countryLabel }) => {
|
|
|
36302
36425
|
// src/components/homepage/Demo/EmojiCard.tsx
|
|
36303
36426
|
import {
|
|
36304
36427
|
forwardRef as forwardRef36,
|
|
36305
|
-
useCallback as
|
|
36428
|
+
useCallback as useCallback40,
|
|
36306
36429
|
useEffect as useEffect48,
|
|
36307
36430
|
useImperativeHandle as useImperativeHandle12,
|
|
36308
|
-
useRef as
|
|
36431
|
+
useRef as useRef49
|
|
36309
36432
|
} from "react";
|
|
36310
36433
|
|
|
36311
36434
|
// ../lottie/dist/esm/index.mjs
|
|
36312
36435
|
import lottie from "lottie-web";
|
|
36313
|
-
import { useEffect as useEffect46, useRef as
|
|
36436
|
+
import { useEffect as useEffect46, useRef as useRef48, useState as useState44 } from "react";
|
|
36314
36437
|
import { jsx as jsx69 } from "react/jsx-runtime";
|
|
36315
36438
|
var getLottieMetadata = (animationData) => {
|
|
36316
36439
|
const width2 = animationData.w;
|
|
@@ -36379,10 +36502,10 @@ var Lottie = ({
|
|
|
36379
36502
|
}
|
|
36380
36503
|
validatePlaybackRate2(playbackRate);
|
|
36381
36504
|
validateLoop(loop);
|
|
36382
|
-
const animationRef =
|
|
36383
|
-
const currentFrameRef =
|
|
36384
|
-
const containerRef =
|
|
36385
|
-
const onAnimationLoadedRef =
|
|
36505
|
+
const animationRef = useRef48(null);
|
|
36506
|
+
const currentFrameRef = useRef48(null);
|
|
36507
|
+
const containerRef = useRef48(null);
|
|
36508
|
+
const onAnimationLoadedRef = useRef48(onAnimationLoaded);
|
|
36386
36509
|
onAnimationLoadedRef.current = onAnimationLoaded;
|
|
36387
36510
|
const { delayRender: delayRender2, continueRender } = useDelayRender();
|
|
36388
36511
|
const [handle] = useState44(() => delayRender2("Waiting for Lottie animation to load"));
|
|
@@ -36481,14 +36604,14 @@ var Lottie = ({
|
|
|
36481
36604
|
};
|
|
36482
36605
|
|
|
36483
36606
|
// src/components/homepage/Demo/DisplayedEmoji.tsx
|
|
36484
|
-
import { useEffect as useEffect47, useMemo as
|
|
36607
|
+
import { useEffect as useEffect47, useMemo as useMemo57, useState as useState46 } from "react";
|
|
36485
36608
|
import { jsx as jsx70 } from "react/jsx-runtime";
|
|
36486
36609
|
var DisplayedEmoji = ({ emoji }) => {
|
|
36487
36610
|
const [data, setData] = useState46(null);
|
|
36488
36611
|
const { durationInFrames, fps } = useVideoConfig();
|
|
36489
36612
|
const [browser, setBrowser] = useState46(typeof document !== "undefined");
|
|
36490
36613
|
const { delayRender: delayRender2, continueRender, cancelRender: cancelRender2 } = useDelayRender();
|
|
36491
|
-
const src =
|
|
36614
|
+
const src = useMemo57(() => {
|
|
36492
36615
|
if (emoji === "melting") {
|
|
36493
36616
|
return "https://fonts.gstatic.com/s/e/notoemoji/latest/1fae0/lottie.json";
|
|
36494
36617
|
}
|
|
@@ -36582,11 +36705,11 @@ var emojiStyle = {
|
|
|
36582
36705
|
top: "calc(50% - 50px)"
|
|
36583
36706
|
};
|
|
36584
36707
|
var EmojiCardRefFn = ({ emojiIndex }, ref) => {
|
|
36585
|
-
const ref1 =
|
|
36586
|
-
const ref2 =
|
|
36587
|
-
const ref3 =
|
|
36588
|
-
const transforms =
|
|
36589
|
-
const onLeft =
|
|
36708
|
+
const ref1 = useRef49(null);
|
|
36709
|
+
const ref2 = useRef49(null);
|
|
36710
|
+
const ref3 = useRef49(null);
|
|
36711
|
+
const transforms = useRef49([-100, 0, 100]);
|
|
36712
|
+
const onLeft = useCallback40(() => {
|
|
36590
36713
|
if (!ref1.current || !ref2.current || !ref3.current) {
|
|
36591
36714
|
return;
|
|
36592
36715
|
}
|
|
@@ -36597,7 +36720,7 @@ var EmojiCardRefFn = ({ emojiIndex }, ref) => {
|
|
|
36597
36720
|
transforms: transforms.current
|
|
36598
36721
|
});
|
|
36599
36722
|
}, []);
|
|
36600
|
-
const onRight =
|
|
36723
|
+
const onRight = useCallback40(() => {
|
|
36601
36724
|
if (!ref1.current || !ref2.current || !ref3.current) {
|
|
36602
36725
|
return;
|
|
36603
36726
|
}
|
|
@@ -36915,7 +37038,7 @@ var Temperature = ({ theme, city, temperatureInCelsius }) => {
|
|
|
36915
37038
|
};
|
|
36916
37039
|
|
|
36917
37040
|
// src/components/homepage/Demo/TrendingRepos.tsx
|
|
36918
|
-
import { useMemo as
|
|
37041
|
+
import { useMemo as useMemo58 } from "react";
|
|
36919
37042
|
import { jsx as jsx80, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
36920
37043
|
var TrendingRepoItem = ({ repo, theme, number }) => {
|
|
36921
37044
|
const frame = useCurrentFrame();
|
|
@@ -36928,7 +37051,7 @@ var TrendingRepoItem = ({ repo, theme, number }) => {
|
|
|
36928
37051
|
},
|
|
36929
37052
|
delay: number * 10 + 20
|
|
36930
37053
|
});
|
|
36931
|
-
const item =
|
|
37054
|
+
const item = useMemo58(() => {
|
|
36932
37055
|
return {
|
|
36933
37056
|
lineHeight: 1.1,
|
|
36934
37057
|
fontFamily: "GTPlanar",
|
|
@@ -37031,14 +37154,14 @@ var Cards = ({
|
|
|
37031
37154
|
location,
|
|
37032
37155
|
trending
|
|
37033
37156
|
}) => {
|
|
37034
|
-
const container4 =
|
|
37157
|
+
const container4 = useRef50(null);
|
|
37035
37158
|
const [refs] = useState47(() => {
|
|
37036
37159
|
return new Array(4).fill(true).map(() => {
|
|
37037
37160
|
return createRef4();
|
|
37038
37161
|
});
|
|
37039
37162
|
});
|
|
37040
|
-
const positions =
|
|
37041
|
-
const shouldBePositions =
|
|
37163
|
+
const positions = useRef50(getInitialPositions());
|
|
37164
|
+
const shouldBePositions = useRef50(getInitialPositions());
|
|
37042
37165
|
const { isRendering } = useRemotionEnvironment();
|
|
37043
37166
|
useEffect49(() => {
|
|
37044
37167
|
const { current } = container4;
|
|
@@ -37056,12 +37179,12 @@ var Cards = ({
|
|
|
37056
37179
|
current.removeEventListener("click", onClick);
|
|
37057
37180
|
};
|
|
37058
37181
|
}, [onToggle]);
|
|
37059
|
-
const ref =
|
|
37060
|
-
const onLeft =
|
|
37182
|
+
const ref = useRef50(null);
|
|
37183
|
+
const onLeft = useCallback41(() => {
|
|
37061
37184
|
ref.current?.onRight();
|
|
37062
37185
|
onRightPress();
|
|
37063
37186
|
}, [onRightPress]);
|
|
37064
|
-
const onRight =
|
|
37187
|
+
const onRight = useCallback41(() => {
|
|
37065
37188
|
ref.current?.onLeft();
|
|
37066
37189
|
onLeftPress();
|
|
37067
37190
|
}, [onLeftPress]);
|
|
@@ -37131,11 +37254,11 @@ var HomepageVideoComp = ({
|
|
|
37131
37254
|
onClickRight
|
|
37132
37255
|
}) => {
|
|
37133
37256
|
const [rerenders, setRerenders] = useState48(0);
|
|
37134
|
-
const onUpdate =
|
|
37257
|
+
const onUpdate = useCallback43((newIndices) => {
|
|
37135
37258
|
setRerenders(rerenders + 1);
|
|
37136
37259
|
updateCardOrder(newIndices);
|
|
37137
37260
|
}, [rerenders, updateCardOrder]);
|
|
37138
|
-
const emoji =
|
|
37261
|
+
const emoji = useMemo59(() => {
|
|
37139
37262
|
if ((emojiIndex + 1e4 * 3) % 3 === 1) {
|
|
37140
37263
|
return "melting";
|
|
37141
37264
|
}
|
|
@@ -37144,7 +37267,7 @@ var HomepageVideoComp = ({
|
|
|
37144
37267
|
}
|
|
37145
37268
|
return "partying-face";
|
|
37146
37269
|
}, [emojiIndex]);
|
|
37147
|
-
const audioSrc =
|
|
37270
|
+
const audioSrc = useMemo59(() => {
|
|
37148
37271
|
if (emoji === "fire") {
|
|
37149
37272
|
return fireAudio;
|
|
37150
37273
|
}
|
|
@@ -37229,7 +37352,7 @@ import {
|
|
|
37229
37352
|
import { BufferTarget, StreamTarget } from "mediabunny";
|
|
37230
37353
|
|
|
37231
37354
|
// ../core/dist/esm/version.mjs
|
|
37232
|
-
var VERSION2 = "4.0.
|
|
37355
|
+
var VERSION2 = "4.0.464";
|
|
37233
37356
|
|
|
37234
37357
|
// ../web-renderer/dist/esm/index.mjs
|
|
37235
37358
|
import { AudioSample, VideoSample } from "mediabunny";
|
|
@@ -41858,7 +41981,7 @@ var renderMediaOnWeb = (options2) => {
|
|
|
41858
41981
|
};
|
|
41859
41982
|
|
|
41860
41983
|
// src/components/homepage/Demo/DemoRender.tsx
|
|
41861
|
-
import React68, { useCallback as
|
|
41984
|
+
import React68, { useCallback as useCallback45 } from "react";
|
|
41862
41985
|
import { z } from "zod";
|
|
41863
41986
|
|
|
41864
41987
|
// src/components/homepage/Demo/DemoErrorIcon.tsx
|
|
@@ -41964,7 +42087,7 @@ var Progress = ({ progress }) => {
|
|
|
41964
42087
|
};
|
|
41965
42088
|
|
|
41966
42089
|
// src/components/homepage/Demo/Spinner.tsx
|
|
41967
|
-
import { useMemo as
|
|
42090
|
+
import { useMemo as useMemo60 } from "react";
|
|
41968
42091
|
import { jsx as jsx95, jsxs as jsxs29, Fragment as Fragment14 } from "react/jsx-runtime";
|
|
41969
42092
|
var viewBox2 = 100;
|
|
41970
42093
|
var lines2 = 8;
|
|
@@ -41972,7 +42095,7 @@ var className2 = "__remotion_spinner_line";
|
|
|
41972
42095
|
var remotionSpinnerAnimation = "__remotion_spinner_animation";
|
|
41973
42096
|
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";
|
|
41974
42097
|
var Spinner2 = ({ size: size4, duration }) => {
|
|
41975
|
-
const style2 =
|
|
42098
|
+
const style2 = useMemo60(() => {
|
|
41976
42099
|
return {
|
|
41977
42100
|
width: size4,
|
|
41978
42101
|
height: size4
|
|
@@ -42059,7 +42182,7 @@ var RenderButton = ({ renderData, onError, playerRef }) => {
|
|
|
42059
42182
|
const [state, setState] = React68.useState({
|
|
42060
42183
|
type: "idle"
|
|
42061
42184
|
});
|
|
42062
|
-
const triggerRender =
|
|
42185
|
+
const triggerRender = useCallback45(async () => {
|
|
42063
42186
|
if (renderData === null) {
|
|
42064
42187
|
return;
|
|
42065
42188
|
}
|
|
@@ -42234,13 +42357,13 @@ var DragAndDropNudge = () => {
|
|
|
42234
42357
|
};
|
|
42235
42358
|
|
|
42236
42359
|
// src/components/homepage/Demo/PlayerSeekBar.tsx
|
|
42237
|
-
import { useCallback as
|
|
42360
|
+
import { useCallback as useCallback47, useEffect as useEffect53, useMemo as useMemo64, useRef as useRef51, useState as useState51 } from "react";
|
|
42238
42361
|
|
|
42239
42362
|
// src/components/homepage/layout/use-el-size.ts
|
|
42240
|
-
import { useCallback as
|
|
42363
|
+
import { useCallback as useCallback46, useEffect as useEffect51, useMemo as useMemo61, useState as useState50 } from "react";
|
|
42241
42364
|
var useElementSize2 = (ref) => {
|
|
42242
42365
|
const [size4, setSize] = useState50(null);
|
|
42243
|
-
const observer =
|
|
42366
|
+
const observer = useMemo61(() => {
|
|
42244
42367
|
if (typeof ResizeObserver === "undefined") {
|
|
42245
42368
|
return;
|
|
42246
42369
|
}
|
|
@@ -42251,7 +42374,7 @@ var useElementSize2 = (ref) => {
|
|
|
42251
42374
|
});
|
|
42252
42375
|
});
|
|
42253
42376
|
}, []);
|
|
42254
|
-
const updateSize =
|
|
42377
|
+
const updateSize = useCallback46(() => {
|
|
42255
42378
|
if (ref === null) {
|
|
42256
42379
|
return;
|
|
42257
42380
|
}
|
|
@@ -42363,7 +42486,7 @@ var PlayerSeekBar2 = ({
|
|
|
42363
42486
|
outFrame,
|
|
42364
42487
|
playerRef
|
|
42365
42488
|
}) => {
|
|
42366
|
-
const containerRef =
|
|
42489
|
+
const containerRef = useRef51(null);
|
|
42367
42490
|
const barHovered = useHoverState2(containerRef, false);
|
|
42368
42491
|
const size4 = useElementSize2(containerRef.current);
|
|
42369
42492
|
const [playing, setPlaying] = useState51(false);
|
|
@@ -42403,7 +42526,7 @@ var PlayerSeekBar2 = ({
|
|
|
42403
42526
|
dragging: false
|
|
42404
42527
|
});
|
|
42405
42528
|
const width2 = size4?.width ?? 0;
|
|
42406
|
-
const onPointerDown =
|
|
42529
|
+
const onPointerDown = useCallback47((e) => {
|
|
42407
42530
|
if (e.button !== 0) {
|
|
42408
42531
|
return;
|
|
42409
42532
|
}
|
|
@@ -42417,7 +42540,7 @@ var PlayerSeekBar2 = ({
|
|
|
42417
42540
|
});
|
|
42418
42541
|
onSeekStart();
|
|
42419
42542
|
}, [durationInFrames, width2, playerRef, playing, onSeekStart]);
|
|
42420
|
-
const onPointerMove =
|
|
42543
|
+
const onPointerMove = useCallback47((e) => {
|
|
42421
42544
|
if (!size4) {
|
|
42422
42545
|
throw new Error("Player has no size");
|
|
42423
42546
|
}
|
|
@@ -42428,7 +42551,7 @@ var PlayerSeekBar2 = ({
|
|
|
42428
42551
|
const _frame = getFrameFromX2(e.clientX - posLeft, durationInFrames, size4.width);
|
|
42429
42552
|
playerRef.current.seekTo(_frame);
|
|
42430
42553
|
}, [dragging.dragging, durationInFrames, playerRef, size4]);
|
|
42431
|
-
const onPointerUp =
|
|
42554
|
+
const onPointerUp = useCallback47(() => {
|
|
42432
42555
|
setDragging({
|
|
42433
42556
|
dragging: false
|
|
42434
42557
|
});
|
|
@@ -42454,7 +42577,7 @@ var PlayerSeekBar2 = ({
|
|
|
42454
42577
|
body.removeEventListener("pointerup", onPointerUp);
|
|
42455
42578
|
};
|
|
42456
42579
|
}, [dragging.dragging, onPointerMove, onPointerUp]);
|
|
42457
|
-
const knobStyle =
|
|
42580
|
+
const knobStyle = useMemo64(() => {
|
|
42458
42581
|
return {
|
|
42459
42582
|
height: KNOB_SIZE3,
|
|
42460
42583
|
width: KNOB_SIZE3,
|
|
@@ -42468,7 +42591,7 @@ var PlayerSeekBar2 = ({
|
|
|
42468
42591
|
transition: "opacity 0.s ease"
|
|
42469
42592
|
};
|
|
42470
42593
|
}, [barHovered, durationInFrames, frame, width2]);
|
|
42471
|
-
const fillStyle =
|
|
42594
|
+
const fillStyle = useMemo64(() => {
|
|
42472
42595
|
return {
|
|
42473
42596
|
height: BAR_HEIGHT3,
|
|
42474
42597
|
backgroundColor: "var(--ifm-font-color-base)",
|
|
@@ -42477,7 +42600,7 @@ var PlayerSeekBar2 = ({
|
|
|
42477
42600
|
borderRadius: BAR_HEIGHT3 / 2
|
|
42478
42601
|
};
|
|
42479
42602
|
}, [durationInFrames, frame, inFrame]);
|
|
42480
|
-
const active =
|
|
42603
|
+
const active = useMemo64(() => {
|
|
42481
42604
|
return {
|
|
42482
42605
|
height: BAR_HEIGHT3,
|
|
42483
42606
|
backgroundColor: "var(--ifm-font-color-base)",
|
|
@@ -42512,7 +42635,7 @@ var PlayerSeekBar2 = ({
|
|
|
42512
42635
|
};
|
|
42513
42636
|
|
|
42514
42637
|
// src/components/homepage/Demo/PlayerVolume.tsx
|
|
42515
|
-
import { useCallback as
|
|
42638
|
+
import { useCallback as useCallback48, useEffect as useEffect55, useRef as useRef53, useState as useState54 } from "react";
|
|
42516
42639
|
|
|
42517
42640
|
// src/components/homepage/Demo/icons.tsx
|
|
42518
42641
|
import { jsx as jsx101 } from "react/jsx-runtime";
|
|
@@ -42572,7 +42695,7 @@ import { jsx as jsx105 } from "react/jsx-runtime";
|
|
|
42572
42695
|
var PlayerVolume = ({ playerRef }) => {
|
|
42573
42696
|
const [muted, setIsMuted] = useState54(() => playerRef.current?.isMuted() ?? true);
|
|
42574
42697
|
const [isHovered, setIsHovered] = useState54(false);
|
|
42575
|
-
const timerRef =
|
|
42698
|
+
const timerRef = useRef53(null);
|
|
42576
42699
|
useEffect55(() => {
|
|
42577
42700
|
const { current } = playerRef;
|
|
42578
42701
|
if (!current) {
|
|
@@ -42593,7 +42716,7 @@ var PlayerVolume = ({ playerRef }) => {
|
|
|
42593
42716
|
document.body.style.userSelect = "auto";
|
|
42594
42717
|
}
|
|
42595
42718
|
}, [isHovered]);
|
|
42596
|
-
const onClick =
|
|
42719
|
+
const onClick = useCallback48(() => {
|
|
42597
42720
|
if (timerRef.current !== null) {
|
|
42598
42721
|
clearTimeout(timerRef.current);
|
|
42599
42722
|
timerRef.current = null;
|
|
@@ -42631,7 +42754,7 @@ var PlayerVolume = ({ playerRef }) => {
|
|
|
42631
42754
|
};
|
|
42632
42755
|
|
|
42633
42756
|
// src/components/homepage/Demo/PlayPauseButton.tsx
|
|
42634
|
-
import React71, { useCallback as
|
|
42757
|
+
import React71, { useCallback as useCallback49, useEffect as useEffect56 } from "react";
|
|
42635
42758
|
import { jsx as jsx107 } from "react/jsx-runtime";
|
|
42636
42759
|
var playerButtonStyle2 = {
|
|
42637
42760
|
appearance: "none",
|
|
@@ -42667,7 +42790,7 @@ var PlayPauseButton = ({ playerRef }) => {
|
|
|
42667
42790
|
current.removeEventListener("pause", onPause);
|
|
42668
42791
|
};
|
|
42669
42792
|
}, [playerRef]);
|
|
42670
|
-
const onToggle =
|
|
42793
|
+
const onToggle = useCallback49(() => {
|
|
42671
42794
|
playerRef.current?.toggle();
|
|
42672
42795
|
}, [playerRef]);
|
|
42673
42796
|
const playPauseIconStyle = {
|
|
@@ -42861,7 +42984,7 @@ var playerWrapper = {
|
|
|
42861
42984
|
var Demo = () => {
|
|
42862
42985
|
const { colorMode } = useColorMode();
|
|
42863
42986
|
const [data2, setData] = useState56(null);
|
|
42864
|
-
const ref =
|
|
42987
|
+
const ref = useRef55(null);
|
|
42865
42988
|
const [isFullscreen, setIsFullscreen] = useState56(false);
|
|
42866
42989
|
const [cardOrder, setCardOrder] = useState56([0, 1, 2, 3]);
|
|
42867
42990
|
const [emojiIndex, setEmojiIndex] = useState56(0);
|
|
@@ -42887,10 +43010,10 @@ var Demo = () => {
|
|
|
42887
43010
|
playerRef.removeEventListener("fullscreenchange", onFullscreenChange);
|
|
42888
43011
|
};
|
|
42889
43012
|
}, [data2]);
|
|
42890
|
-
const updateCardOrder =
|
|
43013
|
+
const updateCardOrder = useCallback50((newCardOrder) => {
|
|
42891
43014
|
setCardOrder(newCardOrder);
|
|
42892
43015
|
}, []);
|
|
42893
|
-
const props =
|
|
43016
|
+
const props = useMemo66(() => {
|
|
42894
43017
|
return {
|
|
42895
43018
|
theme: colorMode,
|
|
42896
43019
|
onToggle: () => {
|
|
@@ -42909,7 +43032,7 @@ var Demo = () => {
|
|
|
42909
43032
|
emojiIndex
|
|
42910
43033
|
};
|
|
42911
43034
|
}, [cardOrder, emojiIndex, colorMode, data2, updateCardOrder]);
|
|
42912
|
-
const onError =
|
|
43035
|
+
const onError = useCallback50(() => {
|
|
42913
43036
|
setError(true);
|
|
42914
43037
|
}, []);
|
|
42915
43038
|
return /* @__PURE__ */ jsxs38("div", {
|
|
@@ -43019,15 +43142,15 @@ var ClearButton = (props) => {
|
|
|
43019
43142
|
|
|
43020
43143
|
// src/components/homepage/MuxVideo.tsx
|
|
43021
43144
|
import Hls2 from "hls.js";
|
|
43022
|
-
import { forwardRef as forwardRef39, useEffect as useEffect60, useImperativeHandle as useImperativeHandle14, useRef as
|
|
43145
|
+
import { forwardRef as forwardRef39, useEffect as useEffect60, useImperativeHandle as useImperativeHandle14, useRef as useRef57 } from "react";
|
|
43023
43146
|
|
|
43024
43147
|
// src/components/homepage/VideoPlayerWithControls.tsx
|
|
43025
43148
|
import Hls from "hls.js";
|
|
43026
43149
|
import"plyr/dist/plyr.css";
|
|
43027
|
-
import { forwardRef as forwardRef38, useCallback as
|
|
43150
|
+
import { forwardRef as forwardRef38, useCallback as useCallback51, useEffect as useEffect59, useRef as useRef56, useState as useState57 } from "react";
|
|
43028
43151
|
import { jsx as jsx116 } from "react/jsx-runtime";
|
|
43029
43152
|
var useCombinedRefs = function(...refs) {
|
|
43030
|
-
const targetRef =
|
|
43153
|
+
const targetRef = useRef56(null);
|
|
43031
43154
|
useEffect59(() => {
|
|
43032
43155
|
refs.forEach((ref) => {
|
|
43033
43156
|
if (!ref)
|
|
@@ -43042,12 +43165,12 @@ var useCombinedRefs = function(...refs) {
|
|
|
43042
43165
|
return targetRef;
|
|
43043
43166
|
};
|
|
43044
43167
|
var VideoPlayerWithControls = forwardRef38(({ playbackId, poster, currentTime, onLoaded, onError, onSize, autoPlay }, ref) => {
|
|
43045
|
-
const videoRef =
|
|
43168
|
+
const videoRef = useRef56(null);
|
|
43046
43169
|
const metaRef = useCombinedRefs(ref, videoRef);
|
|
43047
|
-
const playerRef =
|
|
43170
|
+
const playerRef = useRef56(null);
|
|
43048
43171
|
const [playerInitTime] = useState57(Date.now());
|
|
43049
|
-
const videoError =
|
|
43050
|
-
const onImageLoad =
|
|
43172
|
+
const videoError = useCallback51((event) => onError(event), [onError]);
|
|
43173
|
+
const onImageLoad = useCallback51((event) => {
|
|
43051
43174
|
const [w, h] = [event.target.width, event.target.height];
|
|
43052
43175
|
if (w && h) {
|
|
43053
43176
|
onSize({ width: w, height: h });
|
|
@@ -43129,7 +43252,7 @@ var getVideoToPlayUrl = (muxId) => {
|
|
|
43129
43252
|
return `https://stream.mux.com/${muxId}.m3u8`;
|
|
43130
43253
|
};
|
|
43131
43254
|
var MuxVideoForward = ({ muxId, ...props }, ref) => {
|
|
43132
|
-
const videoRef =
|
|
43255
|
+
const videoRef = useRef57(null);
|
|
43133
43256
|
const vidUrl = getVideoToPlayUrl(muxId);
|
|
43134
43257
|
useImperativeHandle14(ref, () => videoRef.current, []);
|
|
43135
43258
|
useEffect60(() => {
|
|
@@ -43421,13 +43544,13 @@ var IfYouKnowReact = () => {
|
|
|
43421
43544
|
};
|
|
43422
43545
|
|
|
43423
43546
|
// src/components/homepage/NewsletterButton.tsx
|
|
43424
|
-
import { useCallback as
|
|
43547
|
+
import { useCallback as useCallback53, useState as useState60 } from "react";
|
|
43425
43548
|
import { jsx as jsx121, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
43426
43549
|
var NewsletterButton = () => {
|
|
43427
43550
|
const [email, setEmail] = useState60("");
|
|
43428
43551
|
const [submitting, setSubmitting] = useState60(false);
|
|
43429
43552
|
const [subscribed, setSubscribed] = useState60(false);
|
|
43430
|
-
const handleSubmit =
|
|
43553
|
+
const handleSubmit = useCallback53(async (e) => {
|
|
43431
43554
|
try {
|
|
43432
43555
|
setSubmitting(true);
|
|
43433
43556
|
e.preventDefault();
|
|
@@ -43509,14 +43632,14 @@ var NewsletterButton = () => {
|
|
|
43509
43632
|
};
|
|
43510
43633
|
|
|
43511
43634
|
// src/components/homepage/ParameterizeAndEdit.tsx
|
|
43512
|
-
import { useEffect as useEffect65, useRef as
|
|
43635
|
+
import { useEffect as useEffect65, useRef as useRef58, useState as useState61 } from "react";
|
|
43513
43636
|
import { jsx as jsx124, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
43514
43637
|
var icon3 = {
|
|
43515
43638
|
height: 16,
|
|
43516
43639
|
marginLeft: 10
|
|
43517
43640
|
};
|
|
43518
43641
|
var ParameterizeAndEdit = () => {
|
|
43519
|
-
const ref =
|
|
43642
|
+
const ref = useRef58(null);
|
|
43520
43643
|
const [vid, setVid] = useState61("/img/editing-vp9-chrome.webm");
|
|
43521
43644
|
useEffect65(() => {
|
|
43522
43645
|
if (isWebkit()) {
|
|
@@ -43632,15 +43755,15 @@ var ParameterizeAndEdit = () => {
|
|
|
43632
43755
|
};
|
|
43633
43756
|
|
|
43634
43757
|
// src/components/homepage/RealMp4Videos.tsx
|
|
43635
|
-
import { useEffect as useEffect66, useRef as
|
|
43758
|
+
import { useEffect as useEffect66, useRef as useRef59, useState as useState64 } from "react";
|
|
43636
43759
|
import { jsx as jsx126, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
43637
43760
|
var icon4 = {
|
|
43638
43761
|
height: 16,
|
|
43639
43762
|
marginLeft: 10
|
|
43640
43763
|
};
|
|
43641
43764
|
var RealMP4Videos = () => {
|
|
43642
|
-
const ref =
|
|
43643
|
-
const videoRef =
|
|
43765
|
+
const ref = useRef59(null);
|
|
43766
|
+
const videoRef = useRef59(null);
|
|
43644
43767
|
const [vid, setVid] = useState64("/img/render-progress.webm");
|
|
43645
43768
|
useEffect66(() => {
|
|
43646
43769
|
if (isWebkit()) {
|
|
@@ -43893,7 +44016,7 @@ var TrustedByBanner = () => {
|
|
|
43893
44016
|
var TrustedByBanner_default = TrustedByBanner;
|
|
43894
44017
|
|
|
43895
44018
|
// src/components/homepage/VideoAppsShowcase.tsx
|
|
43896
|
-
import { useRef as
|
|
44019
|
+
import { useRef as useRef60, useState as useState66 } from "react";
|
|
43897
44020
|
import { jsx as jsx128, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
43898
44021
|
var tabs = [
|
|
43899
44022
|
"Music visualization",
|
|
@@ -43950,8 +44073,8 @@ var VideoAppsShowcase = () => {
|
|
|
43950
44073
|
const [isMuted, setIsMuted] = useState66(true);
|
|
43951
44074
|
const [isPlaying, setIsPlaying] = useState66(false);
|
|
43952
44075
|
const [videoLoaded, setVideoLoaded] = useState66(false);
|
|
43953
|
-
const videoRef =
|
|
43954
|
-
const containerRef =
|
|
44076
|
+
const videoRef = useRef60(null);
|
|
44077
|
+
const containerRef = useRef60(null);
|
|
43955
44078
|
const handleTabChange = (index2) => {
|
|
43956
44079
|
const video = videoRef.current;
|
|
43957
44080
|
if (video) {
|
|
@@ -44233,6 +44356,7 @@ var listOfRemotionPackages = [
|
|
|
44233
44356
|
"@remotion/example-videos",
|
|
44234
44357
|
"@remotion/whisper-web",
|
|
44235
44358
|
"@remotion/media",
|
|
44359
|
+
"@remotion/remotion-media",
|
|
44236
44360
|
"@remotion/web-renderer",
|
|
44237
44361
|
"@remotion/design",
|
|
44238
44362
|
"@remotion/light-leaks",
|
|
@@ -45603,7 +45727,7 @@ var WriteInReact = () => {
|
|
|
45603
45727
|
return /* @__PURE__ */ jsxs67("div", {
|
|
45604
45728
|
children: [
|
|
45605
45729
|
/* @__PURE__ */ jsx167("h1", {
|
|
45606
|
-
className: "text-5xl lg:text-[5em] text-center fontbrand font-black leading-none ",
|
|
45730
|
+
className: "text-4xl sm:text-5xl lg:text-[5em] text-center fontbrand font-black leading-none text-balance",
|
|
45607
45731
|
style: {
|
|
45608
45732
|
textShadow: "0 5px 30px var(--background)"
|
|
45609
45733
|
},
|
|
@@ -45617,7 +45741,7 @@ var WriteInReact = () => {
|
|
|
45617
45741
|
children: [
|
|
45618
45742
|
"Create real MP4 videos with React. ",
|
|
45619
45743
|
/* @__PURE__ */ jsx167("br", {}),
|
|
45620
|
-
"
|
|
45744
|
+
"Use coding agents, build apps and render in bulk."
|
|
45621
45745
|
]
|
|
45622
45746
|
}),
|
|
45623
45747
|
/* @__PURE__ */ jsx167("br", {}),
|