@remotion/serverless-client 4.0.474 → 4.0.476
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/esm/index.mjs +158 -5
- package/package.json +5 -5
package/dist/esm/index.mjs
CHANGED
|
@@ -40,6 +40,32 @@ var lengthUnits = new Set([
|
|
|
40
40
|
"vw"
|
|
41
41
|
]);
|
|
42
42
|
var cssNumberRegex = /^([+-]?(?:\d+\.?\d*|\.\d+))([a-zA-Z%]+)?$/;
|
|
43
|
+
var transformOriginKeywords = new Set([
|
|
44
|
+
"left",
|
|
45
|
+
"center",
|
|
46
|
+
"right",
|
|
47
|
+
"top",
|
|
48
|
+
"bottom"
|
|
49
|
+
]);
|
|
50
|
+
var transformOriginKeywordOptions = (keyword) => {
|
|
51
|
+
if (keyword === "left") {
|
|
52
|
+
return [{ axis: "x", value: { value: 0, unit: "%" } }];
|
|
53
|
+
}
|
|
54
|
+
if (keyword === "right") {
|
|
55
|
+
return [{ axis: "x", value: { value: 100, unit: "%" } }];
|
|
56
|
+
}
|
|
57
|
+
if (keyword === "top") {
|
|
58
|
+
return [{ axis: "y", value: { value: 0, unit: "%" } }];
|
|
59
|
+
}
|
|
60
|
+
if (keyword === "bottom") {
|
|
61
|
+
return [{ axis: "y", value: { value: 100, unit: "%" } }];
|
|
62
|
+
}
|
|
63
|
+
return [
|
|
64
|
+
{ axis: "x", value: { value: 50, unit: "%" } },
|
|
65
|
+
{ axis: "y", value: { value: 50, unit: "%" } }
|
|
66
|
+
];
|
|
67
|
+
};
|
|
68
|
+
var transformOriginCenter = { value: 50, unit: "%" };
|
|
43
69
|
var stringifyNumber = (value) => {
|
|
44
70
|
return String(normalizeNumber(value));
|
|
45
71
|
};
|
|
@@ -64,6 +90,110 @@ var parseStringInterpolationComponent = (component, value) => {
|
|
|
64
90
|
}
|
|
65
91
|
throw new TypeError(`Cannot interpolate "${value}" because "${unit}" is not a supported translate or rotate unit`);
|
|
66
92
|
};
|
|
93
|
+
var parseTransformOriginLengthPercentage = ({
|
|
94
|
+
component,
|
|
95
|
+
value,
|
|
96
|
+
allowPercentage
|
|
97
|
+
}) => {
|
|
98
|
+
const match = cssNumberRegex.exec(component);
|
|
99
|
+
if (match === null) {
|
|
100
|
+
throw new TypeError(`Cannot interpolate "${value}" because "${component}" is not a supported transform-origin ${allowPercentage ? "length-percentage" : "z length"}`);
|
|
101
|
+
}
|
|
102
|
+
const unit = match[2] ?? null;
|
|
103
|
+
const numberValue = Number(match[1]);
|
|
104
|
+
if (!Number.isFinite(numberValue)) {
|
|
105
|
+
throw new TypeError(`Cannot interpolate "${value}" because "${component}" is not finite`);
|
|
106
|
+
}
|
|
107
|
+
if (unit === null || !lengthUnits.has(unit) || !allowPercentage && unit === "%") {
|
|
108
|
+
throw new TypeError(`Cannot interpolate "${value}" because "${component}" is not a supported transform-origin ${allowPercentage ? "length-percentage" : "z length"}`);
|
|
109
|
+
}
|
|
110
|
+
return { value: numberValue, unit };
|
|
111
|
+
};
|
|
112
|
+
var parseTransformOriginToken = (component, value) => {
|
|
113
|
+
const lower = component.toLowerCase();
|
|
114
|
+
if (transformOriginKeywords.has(lower)) {
|
|
115
|
+
return { type: "keyword", keyword: lower };
|
|
116
|
+
}
|
|
117
|
+
return {
|
|
118
|
+
type: "length-percentage",
|
|
119
|
+
parsed: parseTransformOriginLengthPercentage({
|
|
120
|
+
component,
|
|
121
|
+
value,
|
|
122
|
+
allowPercentage: true
|
|
123
|
+
})
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
var parseTwoTransformOriginKeywords = (first, second, value) => {
|
|
127
|
+
const candidates = [];
|
|
128
|
+
for (const firstOption of transformOriginKeywordOptions(first)) {
|
|
129
|
+
for (const secondOption of transformOriginKeywordOptions(second)) {
|
|
130
|
+
if (firstOption.axis === secondOption.axis) {
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
candidates.push(firstOption.axis === "x" ? [firstOption.value, secondOption.value] : [secondOption.value, firstOption.value]);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (candidates.length === 0) {
|
|
137
|
+
throw new TypeError(`Cannot interpolate "${value}" because "${first} ${second}" is not a valid transform-origin keyword pair`);
|
|
138
|
+
}
|
|
139
|
+
return candidates[0];
|
|
140
|
+
};
|
|
141
|
+
var parseTransformOriginXY = (parts, value) => {
|
|
142
|
+
if (parts.length === 1) {
|
|
143
|
+
const token = parseTransformOriginToken(parts[0], value);
|
|
144
|
+
if (token.type === "length-percentage") {
|
|
145
|
+
return [token.parsed, transformOriginCenter];
|
|
146
|
+
}
|
|
147
|
+
if (token.keyword === "top" || token.keyword === "bottom") {
|
|
148
|
+
return [
|
|
149
|
+
transformOriginCenter,
|
|
150
|
+
transformOriginKeywordOptions(token.keyword)[0].value
|
|
151
|
+
];
|
|
152
|
+
}
|
|
153
|
+
return [
|
|
154
|
+
transformOriginKeywordOptions(token.keyword)[0].value,
|
|
155
|
+
transformOriginCenter
|
|
156
|
+
];
|
|
157
|
+
}
|
|
158
|
+
const first = parseTransformOriginToken(parts[0], value);
|
|
159
|
+
const second = parseTransformOriginToken(parts[1], value);
|
|
160
|
+
if (first.type === "length-percentage" && second.type === "length-percentage") {
|
|
161
|
+
return [first.parsed, second.parsed];
|
|
162
|
+
}
|
|
163
|
+
if (first.type === "keyword" && second.type === "keyword") {
|
|
164
|
+
return parseTwoTransformOriginKeywords(first.keyword, second.keyword, value);
|
|
165
|
+
}
|
|
166
|
+
const keyword = first.type === "keyword" ? first : second.type === "keyword" ? second : null;
|
|
167
|
+
const length = first.type === "length-percentage" ? first.parsed : second.type === "length-percentage" ? second.parsed : null;
|
|
168
|
+
if (keyword === null || length === null) {
|
|
169
|
+
throw new Error("Expected a keyword and a length-percentage value");
|
|
170
|
+
}
|
|
171
|
+
const keywordIsFirst = first.type === "keyword";
|
|
172
|
+
if (keyword.keyword === "left" || keyword.keyword === "right") {
|
|
173
|
+
if (!keywordIsFirst) {
|
|
174
|
+
throw new TypeError(`Cannot interpolate "${value}" because horizontal transform-origin keywords must come before a length-percentage value`);
|
|
175
|
+
}
|
|
176
|
+
return [transformOriginKeywordOptions(keyword.keyword)[0].value, length];
|
|
177
|
+
}
|
|
178
|
+
if (keyword.keyword === "top" || keyword.keyword === "bottom") {
|
|
179
|
+
return [length, transformOriginKeywordOptions(keyword.keyword)[0].value];
|
|
180
|
+
}
|
|
181
|
+
return keywordIsFirst ? [transformOriginCenter, length] : [length, transformOriginCenter];
|
|
182
|
+
};
|
|
183
|
+
var parseTransformOriginValue = (output, parts) => {
|
|
184
|
+
const [x, y] = parseTransformOriginXY(parts.slice(0, 2), output);
|
|
185
|
+
const z = parts[2] === undefined ? { value: 0, unit: null } : parseTransformOriginLengthPercentage({
|
|
186
|
+
component: parts[2],
|
|
187
|
+
value: output,
|
|
188
|
+
allowPercentage: false
|
|
189
|
+
});
|
|
190
|
+
return {
|
|
191
|
+
kind: "translate",
|
|
192
|
+
values: [x.value, y.value, z.value],
|
|
193
|
+
units: [x.unit, y.unit, z.unit],
|
|
194
|
+
dimensions: parts[2] === undefined ? 2 : 3
|
|
195
|
+
};
|
|
196
|
+
};
|
|
67
197
|
var parseStringInterpolationValue = (output) => {
|
|
68
198
|
if (typeof output === "number") {
|
|
69
199
|
if (!Number.isFinite(output)) {
|
|
@@ -80,6 +210,9 @@ var parseStringInterpolationValue = (output) => {
|
|
|
80
210
|
if (parts.length < 1 || parts.length > 3 || parts[0] === "") {
|
|
81
211
|
throw new TypeError(`String outputRange values must contain 1 to 3 components, but got "${output}"`);
|
|
82
212
|
}
|
|
213
|
+
if (parts.some((part) => transformOriginKeywords.has(part.toLowerCase()))) {
|
|
214
|
+
return parseTransformOriginValue(output, parts);
|
|
215
|
+
}
|
|
83
216
|
const parsed = parts.map((part) => parseStringInterpolationComponent(part, output));
|
|
84
217
|
const [{ kind }] = parsed;
|
|
85
218
|
for (const part of parsed) {
|
|
@@ -989,6 +1122,12 @@ var serializeScaleValue = ([x, y, z]) => {
|
|
|
989
1122
|
return `${normalizedX} ${normalizedY} ${normalizedZ}`;
|
|
990
1123
|
};
|
|
991
1124
|
var sequenceVisualStyleSchema = {
|
|
1125
|
+
"style.transformOrigin": {
|
|
1126
|
+
type: "transform-origin",
|
|
1127
|
+
step: 1,
|
|
1128
|
+
default: "50% 50%",
|
|
1129
|
+
description: "Transform origin"
|
|
1130
|
+
},
|
|
992
1131
|
"style.translate": {
|
|
993
1132
|
type: "translate",
|
|
994
1133
|
step: 1,
|
|
@@ -1050,6 +1189,18 @@ var hiddenField = {
|
|
|
1050
1189
|
default: false,
|
|
1051
1190
|
description: "Hidden"
|
|
1052
1191
|
};
|
|
1192
|
+
var showInTimelineField = {
|
|
1193
|
+
type: "hidden"
|
|
1194
|
+
};
|
|
1195
|
+
var sequenceNameField = {
|
|
1196
|
+
type: "hidden"
|
|
1197
|
+
};
|
|
1198
|
+
var extendSchemaWithSequenceName = (schema) => {
|
|
1199
|
+
return {
|
|
1200
|
+
name: sequenceNameField,
|
|
1201
|
+
...schema
|
|
1202
|
+
};
|
|
1203
|
+
};
|
|
1053
1204
|
var durationInFramesField = {
|
|
1054
1205
|
type: "number",
|
|
1055
1206
|
default: undefined,
|
|
@@ -1063,8 +1214,9 @@ var fromField = {
|
|
|
1063
1214
|
step: 1,
|
|
1064
1215
|
hiddenFromList: true
|
|
1065
1216
|
};
|
|
1066
|
-
var sequenceSchema = {
|
|
1217
|
+
var sequenceSchema = extendSchemaWithSequenceName({
|
|
1067
1218
|
hidden: hiddenField,
|
|
1219
|
+
showInTimeline: showInTimelineField,
|
|
1068
1220
|
from: fromField,
|
|
1069
1221
|
durationInFrames: durationInFramesField,
|
|
1070
1222
|
layout: {
|
|
@@ -1076,12 +1228,13 @@ var sequenceSchema = {
|
|
|
1076
1228
|
none: {}
|
|
1077
1229
|
}
|
|
1078
1230
|
}
|
|
1079
|
-
};
|
|
1080
|
-
var sequenceSchemaWithoutFrom = {
|
|
1231
|
+
});
|
|
1232
|
+
var sequenceSchemaWithoutFrom = extendSchemaWithSequenceName({
|
|
1081
1233
|
hidden: hiddenField,
|
|
1234
|
+
showInTimeline: showInTimelineField,
|
|
1082
1235
|
durationInFrames: durationInFramesField,
|
|
1083
1236
|
layout: sequenceSchema.layout
|
|
1084
|
-
};
|
|
1237
|
+
});
|
|
1085
1238
|
var sequenceSchemaDefaultLayoutNone = {
|
|
1086
1239
|
...sequenceSchema,
|
|
1087
1240
|
layout: {
|
|
@@ -1444,7 +1597,7 @@ var validateFramesPerFunction = ({
|
|
|
1444
1597
|
import * as tty from "tty";
|
|
1445
1598
|
|
|
1446
1599
|
// ../core/dist/esm/version.mjs
|
|
1447
|
-
var VERSION = "4.0.
|
|
1600
|
+
var VERSION = "4.0.476";
|
|
1448
1601
|
|
|
1449
1602
|
// ../renderer/dist/esm/error-handling.mjs
|
|
1450
1603
|
var isColorSupported = () => {
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/serverless-client"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/serverless-client",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.476",
|
|
7
7
|
"main": "dist",
|
|
8
8
|
"scripts": {
|
|
9
9
|
"lint": "eslint src",
|
|
@@ -23,10 +23,10 @@
|
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"remotion": "4.0.
|
|
27
|
-
"@remotion/streaming": "4.0.
|
|
28
|
-
"@remotion/renderer": "4.0.
|
|
29
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
26
|
+
"remotion": "4.0.476",
|
|
27
|
+
"@remotion/streaming": "4.0.476",
|
|
28
|
+
"@remotion/renderer": "4.0.476",
|
|
29
|
+
"@remotion/eslint-config-internal": "4.0.476",
|
|
30
30
|
"eslint": "9.19.0",
|
|
31
31
|
"@typescript/native-preview": "7.0.0-dev.20260217.1"
|
|
32
32
|
},
|