@remotion/studio 4.0.174 → 4.0.176
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/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-test.log +85 -0
- package/dist/components/Editor.js +2 -1
- package/dist/components/EditorContent.d.ts +1 -5
- package/dist/components/EditorContent.js +2 -3
- package/dist/esm/internals.mjs +67 -80
- package/dist/helpers/colors.d.ts +1 -1
- package/package.json +7 -7
- package/tsconfig.tsbuildinfo +1 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
|
|
2
|
+
> @remotion/studio@4.0.163 test /Users/jonathanburger/remotion/packages/studio
|
|
3
|
+
> bun test src
|
|
4
|
+
|
|
5
|
+
[0m[1mbun test [0m[2mv1.1.9-canary.1 (4df387d5)[0m
|
|
6
|
+
[0m
|
|
7
|
+
src/test/stringify-default-props.test.ts:
|
|
8
|
+
[0m[32m✓[0m[0m[1m Should stringify default props correctly[0m [0m[2m[2.87ms[0m[2m][0m
|
|
9
|
+
[0m[32m✓[0m[0m[1m Should stringify default props correctly[0m [0m[2m[4.96ms[0m[2m][0m
|
|
10
|
+
[0m
|
|
11
|
+
src/test/sequenced-timeline.test.ts:
|
|
12
|
+
[0m[32m✓[0m[0m[1m Should calculate sequences correctly[0m [0m[2m[9.98ms[0m[2m][0m
|
|
13
|
+
[0m
|
|
14
|
+
src/test/create-zod-values.test.ts:
|
|
15
|
+
[0m[32m✓[0m[0m[1m Should be able to create a string[0m [0m[2m[5.47ms[0m[2m][0m
|
|
16
|
+
[0m[32m✓[0m[0m[1m Should be able to create a number[0m [0m[2m[0.33ms[0m[2m][0m
|
|
17
|
+
[0m[32m✓[0m[0m[1m Should be able to create an object[0m [0m[2m[0.25ms[0m[2m][0m
|
|
18
|
+
[0m[32m✓[0m[0m[1m Should be able to create an array[0m [0m[2m[0.22ms[0m[2m][0m
|
|
19
|
+
[0m[32m✓[0m[0m[1m Should be able to create a union[0m [0m[2m[0.32ms[0m[2m][0m
|
|
20
|
+
[0m[32m✓[0m[0m[1m Zod literal[0m [0m[2m[0.20ms[0m[2m][0m
|
|
21
|
+
[0m[32m✓[0m[0m[1m Should be able to create a discriminated union[0m [0m[2m[1.18ms[0m[2m][0m
|
|
22
|
+
[0m[32m✓[0m[0m[1m Zod instanceof[0m [0m[2m[0.47ms[0m[2m][0m
|
|
23
|
+
[0m[32m✓[0m[0m[1m Zod intersection[0m [0m[2m[0.81ms[0m[2m][0m
|
|
24
|
+
[0m[32m✓[0m[0m[1m Zod tuples[0m [0m[2m[0.40ms[0m[2m][0m
|
|
25
|
+
[0m[32m✓[0m[0m[1m Zod record[0m [0m[2m[0.11ms[0m[2m][0m
|
|
26
|
+
[0m[32m✓[0m[0m[1m Zod map[0m [0m[2m[0.09ms[0m[2m][0m
|
|
27
|
+
[0m[32m✓[0m[0m[1m Zod lazy[0m [0m[2m[0.08ms[0m[2m][0m
|
|
28
|
+
[0m[32m✓[0m[0m[1m Zod set[0m [0m[2m[0.10ms[0m[2m][0m
|
|
29
|
+
[0m[32m✓[0m[0m[1m Zod function[0m [0m[2m[0.17ms[0m[2m][0m
|
|
30
|
+
[0m[32m✓[0m[0m[1m Zod undefined[0m [0m[2m[0.07ms[0m[2m][0m
|
|
31
|
+
[0m[32m✓[0m[0m[1m Zod null[0m [0m[2m[0.07ms[0m[2m][0m
|
|
32
|
+
[0m[32m✓[0m[0m[1m Zod enum[0m [0m[2m[0.20ms[0m[2m][0m
|
|
33
|
+
[0m[32m✓[0m[0m[1m Zod nativeEnum[0m [0m[2m[0.32ms[0m[2m][0m
|
|
34
|
+
[0m[32m✓[0m[0m[1m Zod optional[0m [0m[2m[0.34ms[0m[2m][0m
|
|
35
|
+
[0m[32m✓[0m[0m[1m Zod nullable[0m [0m[2m[0.38ms[0m[2m][0m
|
|
36
|
+
[0m[32m✓[0m[0m[1m Zod undefined[0m [0m[2m[0.24ms[0m[2m][0m
|
|
37
|
+
[0m[32m✓[0m[0m[1m Zod catch[0m [0m[2m[0.28ms[0m[2m][0m
|
|
38
|
+
[0m[32m✓[0m[0m[1m Zod promise[0m [0m[2m[0.34ms[0m[2m][0m
|
|
39
|
+
[0m[32m✓[0m[0m[1m Zod transform[0m [0m[2m[0.34ms[0m[2m][0m
|
|
40
|
+
[0m[32m✓[0m[0m[1m Zod branded[0m [0m[2m[0.35ms[0m[2m][0m
|
|
41
|
+
[0m[32m✓[0m[0m[1m Zod lazy[0m [0m[2m[1.06ms[0m[2m][0m
|
|
42
|
+
[0m[32m✓[0m[0m[1m Zod coerce[0m [0m[2m[0.16ms[0m[2m][0m
|
|
43
|
+
[0m[32m✓[0m[0m[1m Zod strict[0m [0m[2m[0.14ms[0m[2m][0m
|
|
44
|
+
[0m[32m✓[0m[0m[1m Should create a color[0m [0m[2m[0.10ms[0m[2m][0m
|
|
45
|
+
[0m[32m✓[0m[0m[1m Should create a textarea[0m [0m[2m[0.05ms[0m[2m][0m
|
|
46
|
+
[0m
|
|
47
|
+
src/test/folder-tree.test.ts:
|
|
48
|
+
[0m[32m✓[0m[0m[1m Should create a good folder tree with 1 item inside and 1 item outside[0m [0m[2m[0.89ms[0m[2m][0m
|
|
49
|
+
[0m[32m✓[0m[0m[1m Should handle nested folders well[0m [0m[2m[0.39ms[0m[2m][0m
|
|
50
|
+
[0m[32m✓[0m[0m[1m Should throw if two folders with the same name[0m [0m[2m[0.24ms[0m[2m][0m
|
|
51
|
+
[0m
|
|
52
|
+
src/test/big-timeline.test.ts:
|
|
53
|
+
[0m[32m✓[0m[0m[1m Should calculate timeline as expected[0m [0m[2m[2.52ms[0m[2m][0m
|
|
54
|
+
[0m
|
|
55
|
+
src/test/smooth-zoom.test.ts:
|
|
56
|
+
[0m[32m✓[0m[0m[1m Smoothen zoom[0m [0m[2m[0.07ms[0m[2m][0m
|
|
57
|
+
[0m[32m✓[0m[0m[1m Unsmoothen zoom[0m [0m[2m[0.09ms[0m[2m][0m
|
|
58
|
+
[0m
|
|
59
|
+
src/test/validate-gui-output-filename.test.ts:
|
|
60
|
+
[0m[32m✓[0m[0m[1m Should catch dot after slash[0m [0m[2m[0.47ms[0m[2m][0m
|
|
61
|
+
[0m[32m✓[0m[0m[1m Should catch dot in front [0m [0m[2m[0.03ms[0m[2m][0m
|
|
62
|
+
[0m
|
|
63
|
+
src/test/timeline-sequence-layout.test.ts:
|
|
64
|
+
[0m[32m✓[0m[0m[1m Should test timeline sequence layout without max media duration[0m [0m[2m[0.22ms[0m[2m][0m
|
|
65
|
+
[0m[32m✓[0m[0m[1m Should test timeline sequence layout with max media duration[0m [0m[2m[0.05ms[0m[2m][0m
|
|
66
|
+
[0m
|
|
67
|
+
src/test/extract-zod-enums.test.ts:
|
|
68
|
+
[0m[32m✓[0m[0m[1m Extract Zod enums[0m [0m[2m[0.12ms[0m[2m][0m
|
|
69
|
+
[0m[32m✓[0m[0m[1m Extract Zod enums #2[0m [0m[2m[0.44ms[0m[2m][0m
|
|
70
|
+
[0m
|
|
71
|
+
src/test/color-math.test.ts:
|
|
72
|
+
[0m[32m✓[0m[0m[1m Color math[0m [0m[2m[0.88ms[0m[2m][0m
|
|
73
|
+
[0m
|
|
74
|
+
src/test/format-time.test.ts:
|
|
75
|
+
[0m[32m✓[0m[0m[1m Format time[0m [0m[2m[0.20ms[0m[2m][0m
|
|
76
|
+
[0m
|
|
77
|
+
src/test/timeline.test.ts:
|
|
78
|
+
[0m[32m✓[0m[0m[1m Should calculate timeline with no sequences[0m [0m[2m[0.06ms[0m[2m][0m
|
|
79
|
+
[0m[32m✓[0m[0m[1m Should calculate a basic timeline[0m [0m[2m[0.09ms[0m[2m][0m
|
|
80
|
+
[0m[32m✓[0m[0m[1m Should follow order of nesting[0m [0m[2m[0.12ms[0m[2m][0m
|
|
81
|
+
|
|
82
|
+
[0m[32m 51 pass[0m
|
|
83
|
+
[0m[2m 0 fail[0m
|
|
84
|
+
67 expect() calls
|
|
85
|
+
Ran 51 tests across 12 files. [0m[2m[[1m192.00ms[0m[2m][0m
|
|
@@ -37,6 +37,7 @@ const EditorContent_1 = require("./EditorContent");
|
|
|
37
37
|
const GlobalKeybindings_1 = require("./GlobalKeybindings");
|
|
38
38
|
const Modals_1 = require("./Modals");
|
|
39
39
|
const NotificationCenter_1 = require("./Notifications/NotificationCenter");
|
|
40
|
+
const TopPanel_1 = require("./TopPanel");
|
|
40
41
|
const background = {
|
|
41
42
|
backgroundColor: colors_1.BACKGROUND,
|
|
42
43
|
display: 'flex',
|
|
@@ -85,6 +86,6 @@ const Editor = ({ Root, readOnlyStudio }) => {
|
|
|
85
86
|
const MemoRoot = (0, react_1.useMemo)(() => {
|
|
86
87
|
return react_1.default.memo(Root);
|
|
87
88
|
}, [Root]);
|
|
88
|
-
return ((0, jsx_runtime_1.jsx)(z_index_1.HigherZIndex, { onEscape: noop_1.noop, onOutsideClick: noop_1.noop, children: (0, jsx_runtime_1.jsxs)(timeline_zoom_1.TimelineZoomContext, { children: [(0, jsx_runtime_1.jsx)(remotion_1.Internals.CurrentScaleContext.Provider, { value: value, children: (0, jsx_runtime_1.jsxs)("div", { style: background, children: [canvasMounted ? (0, jsx_runtime_1.jsx)(MemoRoot, {}) : null, (0, jsx_runtime_1.jsxs)(remotion_1.Internals.CanUseRemotionHooksProvider, { children: [(0, jsx_runtime_1.jsx)(EditorContent_1.EditorContent, { drawRef: canvas_ref_1.drawRef,
|
|
89
|
+
return ((0, jsx_runtime_1.jsx)(z_index_1.HigherZIndex, { onEscape: noop_1.noop, onOutsideClick: noop_1.noop, children: (0, jsx_runtime_1.jsxs)(timeline_zoom_1.TimelineZoomContext, { children: [(0, jsx_runtime_1.jsx)(remotion_1.Internals.CurrentScaleContext.Provider, { value: value, children: (0, jsx_runtime_1.jsxs)("div", { style: background, children: [canvasMounted ? (0, jsx_runtime_1.jsx)(MemoRoot, {}) : null, (0, jsx_runtime_1.jsxs)(remotion_1.Internals.CanUseRemotionHooksProvider, { children: [(0, jsx_runtime_1.jsx)(EditorContent_1.EditorContent, { readOnlyStudio: readOnlyStudio, children: (0, jsx_runtime_1.jsx)(TopPanel_1.TopPanel, { size: size, drawRef: canvas_ref_1.drawRef, bufferStateDelayInMilliseconds: exports.BUFFER_STATE_DELAY_IN_MILLISECONDS, onMounted: onMounted, readOnlyStudio: readOnlyStudio }) }), (0, jsx_runtime_1.jsx)(GlobalKeybindings_1.GlobalKeybindings, {})] })] }) }), (0, jsx_runtime_1.jsx)(Modals_1.Modals, { readOnlyStudio: readOnlyStudio }), (0, jsx_runtime_1.jsx)(NotificationCenter_1.NotificationCenter, {})] }) }));
|
|
89
90
|
};
|
|
90
91
|
exports.Editor = Editor;
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import type { Size } from '@remotion/player';
|
|
2
1
|
import React from 'react';
|
|
3
2
|
export declare const EditorContent: React.FC<{
|
|
4
3
|
readonly readOnlyStudio: boolean;
|
|
5
|
-
readonly
|
|
6
|
-
readonly drawRef: React.RefObject<HTMLDivElement>;
|
|
7
|
-
readonly size: Size | null;
|
|
8
|
-
readonly bufferStateDelayInMilliseconds: number;
|
|
4
|
+
readonly children: React.ReactNode;
|
|
9
5
|
}>;
|
|
@@ -11,7 +11,6 @@ const SplitterContainer_1 = require("./Splitter/SplitterContainer");
|
|
|
11
11
|
const SplitterElement_1 = require("./Splitter/SplitterElement");
|
|
12
12
|
const SplitterHandle_1 = require("./Splitter/SplitterHandle");
|
|
13
13
|
const Timeline_1 = require("./Timeline/Timeline");
|
|
14
|
-
const TopPanel_1 = require("./TopPanel");
|
|
15
14
|
const noop = () => undefined;
|
|
16
15
|
const container = {
|
|
17
16
|
display: 'flex',
|
|
@@ -19,11 +18,11 @@ const container = {
|
|
|
19
18
|
flex: 1,
|
|
20
19
|
height: 0,
|
|
21
20
|
};
|
|
22
|
-
const EditorContent = ({ readOnlyStudio,
|
|
21
|
+
const EditorContent = ({ readOnlyStudio, children }) => {
|
|
23
22
|
const isStill = (0, is_current_selected_still_1.useIsStill)();
|
|
24
23
|
const { canvasContent } = (0, react_1.useContext)(remotion_1.Internals.CompositionManager);
|
|
25
24
|
// Preventing multiple renders so the update check doesn't get rendered twice and needs to be aborted
|
|
26
25
|
const onlyTopPanel = canvasContent === null || isStill || canvasContent.type !== 'composition';
|
|
27
|
-
return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)(InitialCompositionLoader_1.InitialCompositionLoader, {}), (0, jsx_runtime_1.jsx)(MenuToolbar_1.MenuToolbar, { readOnlyStudio: readOnlyStudio }),
|
|
26
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)(InitialCompositionLoader_1.InitialCompositionLoader, {}), (0, jsx_runtime_1.jsx)(MenuToolbar_1.MenuToolbar, { readOnlyStudio: readOnlyStudio }), (0, jsx_runtime_1.jsxs)(SplitterContainer_1.SplitterContainer, { orientation: "horizontal", id: "top-to-bottom", maxFlex: 0.9, minFlex: 0.2, defaultFlex: 0.75, children: [(0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "flexer", children: children }), onlyTopPanel ? null : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(SplitterHandle_1.SplitterHandle, { allowToCollapse: "none", onCollapse: noop }), (0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "anti-flexer", children: (0, jsx_runtime_1.jsx)(Timeline_1.Timeline, {}) })] }))] })] }));
|
|
28
27
|
};
|
|
29
28
|
exports.EditorContent = EditorContent;
|
package/dist/esm/internals.mjs
CHANGED
|
@@ -5801,7 +5801,7 @@ var TimelineInOutPointToggle = () => {
|
|
|
5801
5801
|
}
|
|
5802
5802
|
setInAndOutFrames((prev) => {
|
|
5803
5803
|
const prevInFrame = prev[videoConfig.id]?.inFrame;
|
|
5804
|
-
const smallestPossible = prevInFrame === null || prevInFrame === undefined ?
|
|
5804
|
+
const smallestPossible = prevInFrame === null || prevInFrame === undefined ? -Infinity : prevInFrame + 1;
|
|
5805
5805
|
const selected = Math.max(timelinePosition, smallestPossible);
|
|
5806
5806
|
if (selected === videoConfig.durationInFrames - 1) {
|
|
5807
5807
|
return {
|
|
@@ -13235,13 +13235,13 @@ var fullWidth6 = {
|
|
|
13235
13235
|
var getMinValue = (schema) => {
|
|
13236
13236
|
const minCheck = schema._def.checks.find((c) => c.kind === "min");
|
|
13237
13237
|
if (!minCheck) {
|
|
13238
|
-
return
|
|
13238
|
+
return -Infinity;
|
|
13239
13239
|
}
|
|
13240
13240
|
if (minCheck.kind !== "min") {
|
|
13241
13241
|
throw new Error("Expected min check");
|
|
13242
13242
|
}
|
|
13243
13243
|
if (!minCheck.inclusive) {
|
|
13244
|
-
return
|
|
13244
|
+
return -Infinity;
|
|
13245
13245
|
}
|
|
13246
13246
|
return minCheck.value;
|
|
13247
13247
|
};
|
|
@@ -18137,7 +18137,7 @@ var Inner2 = () => {
|
|
|
18137
18137
|
setInOutDragging({
|
|
18138
18138
|
dragging: "in",
|
|
18139
18139
|
initialOffset: getClientXWithScroll(e.clientX),
|
|
18140
|
-
boundaries: [
|
|
18140
|
+
boundaries: [-Infinity, outMarker - inMarker]
|
|
18141
18141
|
});
|
|
18142
18142
|
return;
|
|
18143
18143
|
}
|
|
@@ -18146,7 +18146,7 @@ var Inner2 = () => {
|
|
|
18146
18146
|
throw new Error("expected outframe");
|
|
18147
18147
|
}
|
|
18148
18148
|
const outMarker = get(outFrame);
|
|
18149
|
-
const inMarker = inFrame === null ?
|
|
18149
|
+
const inMarker = inFrame === null ? -Infinity : get(inFrame + 1);
|
|
18150
18150
|
setInOutDragging({
|
|
18151
18151
|
dragging: "out",
|
|
18152
18152
|
initialOffset: getClientXWithScroll(e.clientX),
|
|
@@ -18357,7 +18357,7 @@ var Inner2 = () => {
|
|
|
18357
18357
|
}
|
|
18358
18358
|
}));
|
|
18359
18359
|
}
|
|
18360
|
-
const minFrame = inFrame === null ?
|
|
18360
|
+
const minFrame = inFrame === null ? -Infinity : inFrame + 1;
|
|
18361
18361
|
setInAndOutFrames((prev) => ({
|
|
18362
18362
|
...prev,
|
|
18363
18363
|
[videoConfig.id]: {
|
|
@@ -19836,7 +19836,8 @@ var Timeline = () => {
|
|
|
19836
19836
|
// src/components/EditorContent.tsx
|
|
19837
19837
|
import {
|
|
19838
19838
|
jsx as jsx188,
|
|
19839
|
-
jsxs as jsxs93
|
|
19839
|
+
jsxs as jsxs93,
|
|
19840
|
+
Fragment as Fragment27
|
|
19840
19841
|
} from "react/jsx-runtime";
|
|
19841
19842
|
var noop8 = () => {
|
|
19842
19843
|
return;
|
|
@@ -19847,13 +19848,7 @@ var container41 = {
|
|
|
19847
19848
|
flex: 1,
|
|
19848
19849
|
height: 0
|
|
19849
19850
|
};
|
|
19850
|
-
var EditorContent = ({
|
|
19851
|
-
readOnlyStudio,
|
|
19852
|
-
onMounted,
|
|
19853
|
-
size: size4,
|
|
19854
|
-
drawRef: drawRef2,
|
|
19855
|
-
bufferStateDelayInMilliseconds
|
|
19856
|
-
}) => {
|
|
19851
|
+
var EditorContent = ({ readOnlyStudio, children }) => {
|
|
19857
19852
|
const isStill = useIsStill();
|
|
19858
19853
|
const { canvasContent } = useContext63(Internals51.CompositionManager);
|
|
19859
19854
|
const onlyTopPanel = canvasContent === null || isStill || canvasContent.type !== "composition";
|
|
@@ -19864,16 +19859,7 @@ var EditorContent = ({
|
|
|
19864
19859
|
jsx188(MenuToolbar, {
|
|
19865
19860
|
readOnlyStudio
|
|
19866
19861
|
}),
|
|
19867
|
-
|
|
19868
|
-
style: containerColumn,
|
|
19869
|
-
children: jsx188(TopPanel, {
|
|
19870
|
-
size: size4,
|
|
19871
|
-
drawRef: drawRef2,
|
|
19872
|
-
bufferStateDelayInMilliseconds,
|
|
19873
|
-
onMounted,
|
|
19874
|
-
readOnlyStudio
|
|
19875
|
-
})
|
|
19876
|
-
}) : jsxs93(SplitterContainer, {
|
|
19862
|
+
jsxs93(SplitterContainer, {
|
|
19877
19863
|
orientation: "horizontal",
|
|
19878
19864
|
id: "top-to-bottom",
|
|
19879
19865
|
maxFlex: 0.9,
|
|
@@ -19883,22 +19869,20 @@ var EditorContent = ({
|
|
|
19883
19869
|
jsx188(SplitterElement, {
|
|
19884
19870
|
sticky: null,
|
|
19885
19871
|
type: "flexer",
|
|
19886
|
-
children
|
|
19887
|
-
size: size4,
|
|
19888
|
-
drawRef: drawRef2,
|
|
19889
|
-
bufferStateDelayInMilliseconds,
|
|
19890
|
-
onMounted,
|
|
19891
|
-
readOnlyStudio
|
|
19892
|
-
})
|
|
19893
|
-
}),
|
|
19894
|
-
jsx188(SplitterHandle, {
|
|
19895
|
-
allowToCollapse: "none",
|
|
19896
|
-
onCollapse: noop8
|
|
19872
|
+
children
|
|
19897
19873
|
}),
|
|
19898
|
-
|
|
19899
|
-
|
|
19900
|
-
|
|
19901
|
-
|
|
19874
|
+
onlyTopPanel ? null : jsxs93(Fragment27, {
|
|
19875
|
+
children: [
|
|
19876
|
+
jsx188(SplitterHandle, {
|
|
19877
|
+
allowToCollapse: "none",
|
|
19878
|
+
onCollapse: noop8
|
|
19879
|
+
}),
|
|
19880
|
+
jsx188(SplitterElement, {
|
|
19881
|
+
sticky: null,
|
|
19882
|
+
type: "anti-flexer",
|
|
19883
|
+
children: jsx188(Timeline, {})
|
|
19884
|
+
})
|
|
19885
|
+
]
|
|
19902
19886
|
})
|
|
19903
19887
|
]
|
|
19904
19888
|
})
|
|
@@ -20364,7 +20348,7 @@ var DismissableModal = ({ children }) => {
|
|
|
20364
20348
|
import {
|
|
20365
20349
|
jsx as jsx195,
|
|
20366
20350
|
jsxs as jsxs98,
|
|
20367
|
-
Fragment as
|
|
20351
|
+
Fragment as Fragment28
|
|
20368
20352
|
} from "react/jsx-runtime";
|
|
20369
20353
|
var content2 = {
|
|
20370
20354
|
padding: 16,
|
|
@@ -20387,7 +20371,7 @@ var DeleteCompositionLoaded = ({ compositionId }) => {
|
|
|
20387
20371
|
const onSubmit = useCallback93((e) => {
|
|
20388
20372
|
e.preventDefault();
|
|
20389
20373
|
}, []);
|
|
20390
|
-
return jsxs98(
|
|
20374
|
+
return jsxs98(Fragment28, {
|
|
20391
20375
|
children: [
|
|
20392
20376
|
jsx195(NewCompHeader, {
|
|
20393
20377
|
title: "Delete composition"
|
|
@@ -20492,7 +20476,7 @@ import {useCallback as useCallback94} from "react";
|
|
|
20492
20476
|
import {
|
|
20493
20477
|
jsx as jsx196,
|
|
20494
20478
|
jsxs as jsxs99,
|
|
20495
|
-
Fragment as
|
|
20479
|
+
Fragment as Fragment29
|
|
20496
20480
|
} from "react/jsx-runtime";
|
|
20497
20481
|
var NewCompDuration = ({ durationInFrames, setDurationInFrames }) => {
|
|
20498
20482
|
const onDurationInFramesChanged = useCallback94((newValue) => {
|
|
@@ -20526,7 +20510,7 @@ var NewCompDuration = ({ durationInFrames, setDurationInFrames }) => {
|
|
|
20526
20510
|
onValueChange: onDurationChangedDirectly,
|
|
20527
20511
|
rightAlign: false
|
|
20528
20512
|
}),
|
|
20529
|
-
compDurationErrMessage ? jsxs99(
|
|
20513
|
+
compDurationErrMessage ? jsxs99(Fragment29, {
|
|
20530
20514
|
children: [
|
|
20531
20515
|
jsx196(Spacing, {
|
|
20532
20516
|
y: 1,
|
|
@@ -20549,7 +20533,7 @@ var NewCompDuration = ({ durationInFrames, setDurationInFrames }) => {
|
|
|
20549
20533
|
import {
|
|
20550
20534
|
jsx as jsx197,
|
|
20551
20535
|
jsxs as jsxs100,
|
|
20552
|
-
Fragment as
|
|
20536
|
+
Fragment as Fragment30
|
|
20553
20537
|
} from "react/jsx-runtime";
|
|
20554
20538
|
var content3 = {
|
|
20555
20539
|
padding: 12,
|
|
@@ -20700,7 +20684,7 @@ var DuplicateCompositionLoaded = ({ initialType }) => {
|
|
|
20700
20684
|
const onSubmit = useCallback95((e) => {
|
|
20701
20685
|
e.preventDefault();
|
|
20702
20686
|
}, []);
|
|
20703
|
-
return jsxs100(
|
|
20687
|
+
return jsxs100(Fragment30, {
|
|
20704
20688
|
children: [
|
|
20705
20689
|
jsx197(NewCompHeader, {
|
|
20706
20690
|
title: `Duplicate ${resolved.result.id}`
|
|
@@ -20749,7 +20733,7 @@ var DuplicateCompositionLoaded = ({ initialType }) => {
|
|
|
20749
20733
|
status: "ok",
|
|
20750
20734
|
rightAlign: true
|
|
20751
20735
|
}),
|
|
20752
|
-
compNameErrMessage ? jsxs100(
|
|
20736
|
+
compNameErrMessage ? jsxs100(Fragment30, {
|
|
20753
20737
|
children: [
|
|
20754
20738
|
jsx197(Spacing, {
|
|
20755
20739
|
y: 1,
|
|
@@ -20767,7 +20751,7 @@ var DuplicateCompositionLoaded = ({ initialType }) => {
|
|
|
20767
20751
|
})
|
|
20768
20752
|
]
|
|
20769
20753
|
}),
|
|
20770
|
-
hadDimensionsDefined ? jsxs100(
|
|
20754
|
+
hadDimensionsDefined ? jsxs100(Fragment30, {
|
|
20771
20755
|
children: [
|
|
20772
20756
|
jsxs100("div", {
|
|
20773
20757
|
style: optionRow,
|
|
@@ -20794,7 +20778,7 @@ var DuplicateCompositionLoaded = ({ initialType }) => {
|
|
|
20794
20778
|
onValueChange: onWidthDirectlyChanged,
|
|
20795
20779
|
rightAlign: false
|
|
20796
20780
|
}),
|
|
20797
|
-
compWidthErrMessage ? jsxs100(
|
|
20781
|
+
compWidthErrMessage ? jsxs100(Fragment30, {
|
|
20798
20782
|
children: [
|
|
20799
20783
|
jsx197(Spacing, {
|
|
20800
20784
|
y: 1,
|
|
@@ -20836,7 +20820,7 @@ var DuplicateCompositionLoaded = ({ initialType }) => {
|
|
|
20836
20820
|
onValueChange: onHeightDirectlyChanged,
|
|
20837
20821
|
rightAlign: false
|
|
20838
20822
|
}),
|
|
20839
|
-
compHeightErrMessage ? jsxs100(
|
|
20823
|
+
compHeightErrMessage ? jsxs100(Fragment30, {
|
|
20840
20824
|
children: [
|
|
20841
20825
|
jsx197(Spacing, {
|
|
20842
20826
|
y: 1,
|
|
@@ -20921,7 +20905,7 @@ import {Internals as Internals55} from "remotion";
|
|
|
20921
20905
|
import {
|
|
20922
20906
|
jsx as jsx198,
|
|
20923
20907
|
jsxs as jsxs101,
|
|
20924
|
-
Fragment as
|
|
20908
|
+
Fragment as Fragment31
|
|
20925
20909
|
} from "react/jsx-runtime";
|
|
20926
20910
|
var content4 = {
|
|
20927
20911
|
padding: 12,
|
|
@@ -20955,7 +20939,7 @@ var RenameCompositionLoaded = () => {
|
|
|
20955
20939
|
const onSubmit = useCallback96((e) => {
|
|
20956
20940
|
e.preventDefault();
|
|
20957
20941
|
}, []);
|
|
20958
|
-
return jsxs101(
|
|
20942
|
+
return jsxs101(Fragment31, {
|
|
20959
20943
|
children: [
|
|
20960
20944
|
jsx198(NewCompHeader, {
|
|
20961
20945
|
title: `Rename ${resolved.result.id}`
|
|
@@ -20985,7 +20969,7 @@ var RenameCompositionLoaded = () => {
|
|
|
20985
20969
|
status: "ok",
|
|
20986
20970
|
rightAlign: true
|
|
20987
20971
|
}),
|
|
20988
|
-
compNameErrMessage ? jsxs101(
|
|
20972
|
+
compNameErrMessage ? jsxs101(Fragment31, {
|
|
20989
20973
|
children: [
|
|
20990
20974
|
jsx198(Spacing, {
|
|
20991
20975
|
y: 1,
|
|
@@ -21781,7 +21765,7 @@ import {useEffect as useEffect65, useMemo as useMemo105, useRef as useRef34, use
|
|
|
21781
21765
|
import {
|
|
21782
21766
|
jsx as jsx202,
|
|
21783
21767
|
jsxs as jsxs104,
|
|
21784
|
-
Fragment as
|
|
21768
|
+
Fragment as Fragment32
|
|
21785
21769
|
} from "react/jsx-runtime";
|
|
21786
21770
|
var container45 = {
|
|
21787
21771
|
paddingLeft: 16,
|
|
@@ -21885,7 +21869,7 @@ var QuickSwitcherResult = ({ result, selected }) => {
|
|
|
21885
21869
|
}),
|
|
21886
21870
|
jsx202("div", {
|
|
21887
21871
|
style: labelContainer,
|
|
21888
|
-
children: result.type === "search-result" ? jsxs104(
|
|
21872
|
+
children: result.type === "search-result" ? jsxs104(Fragment32, {
|
|
21889
21873
|
children: [
|
|
21890
21874
|
jsx202("div", {
|
|
21891
21875
|
dangerouslySetInnerHTML: {
|
|
@@ -22006,7 +21990,7 @@ var waitForElm = function(selector) {
|
|
|
22006
21990
|
import {
|
|
22007
21991
|
jsx as jsx203,
|
|
22008
21992
|
jsxs as jsxs105,
|
|
22009
|
-
Fragment as
|
|
21993
|
+
Fragment as Fragment33
|
|
22010
21994
|
} from "react/jsx-runtime";
|
|
22011
21995
|
var input2 = {
|
|
22012
21996
|
width: "100%"
|
|
@@ -22298,7 +22282,7 @@ var QuickSwitcherContent = ({ initialMode, invocationTimestamp, readOnlyStudio }
|
|
|
22298
22282
|
placeholder: "Search compositions...",
|
|
22299
22283
|
rightAlign: false
|
|
22300
22284
|
}),
|
|
22301
|
-
showKeyboardShortcuts ? jsxs105(
|
|
22285
|
+
showKeyboardShortcuts ? jsxs105(Fragment33, {
|
|
22302
22286
|
children: [
|
|
22303
22287
|
jsx203(Spacing, {
|
|
22304
22288
|
x: 2
|
|
@@ -22769,7 +22753,7 @@ var OptionExplainerBubble = ({ id }) => {
|
|
|
22769
22753
|
import {
|
|
22770
22754
|
jsx as jsx214,
|
|
22771
22755
|
jsxs as jsxs107,
|
|
22772
|
-
Fragment as
|
|
22756
|
+
Fragment as Fragment34
|
|
22773
22757
|
} from "react/jsx-runtime";
|
|
22774
22758
|
var NumberSetting = ({ name, value, step, hint, onValueChanged, max, min, formatter }) => {
|
|
22775
22759
|
const onTextChanged = useCallback100((e) => {
|
|
@@ -22791,7 +22775,7 @@ var NumberSetting = ({ name, value, step, hint, onValueChanged, max, min, format
|
|
|
22791
22775
|
style: label5,
|
|
22792
22776
|
children: [
|
|
22793
22777
|
name,
|
|
22794
|
-
hint ? jsxs107(
|
|
22778
|
+
hint ? jsxs107(Fragment34, {
|
|
22795
22779
|
children: [
|
|
22796
22780
|
jsx214(Spacing, {
|
|
22797
22781
|
x: 0.5
|
|
@@ -22951,7 +22935,7 @@ var InlineEyeButton = ({ onClick, enabled }) => {
|
|
|
22951
22935
|
import {
|
|
22952
22936
|
jsx as jsx217,
|
|
22953
22937
|
jsxs as jsxs108,
|
|
22954
|
-
Fragment as
|
|
22938
|
+
Fragment as Fragment35
|
|
22955
22939
|
} from "react/jsx-runtime";
|
|
22956
22940
|
var input3 = {
|
|
22957
22941
|
flex: 1,
|
|
@@ -22999,7 +22983,7 @@ var EnvInput = ({
|
|
|
22999
22983
|
setValueWarningEligible(true);
|
|
23000
22984
|
}, []);
|
|
23001
22985
|
const isNodeEnvKey = envKey.trim() === "NODE_ENV";
|
|
23002
|
-
return jsxs108(
|
|
22986
|
+
return jsxs108(Fragment35, {
|
|
23003
22987
|
children: [
|
|
23004
22988
|
jsxs108(Row, {
|
|
23005
22989
|
align: "center",
|
|
@@ -23793,7 +23777,7 @@ var useFileExistence = (outName) => {
|
|
|
23793
23777
|
import {
|
|
23794
23778
|
jsx as jsx223,
|
|
23795
23779
|
jsxs as jsxs113,
|
|
23796
|
-
Fragment as
|
|
23780
|
+
Fragment as Fragment36
|
|
23797
23781
|
} from "react/jsx-runtime";
|
|
23798
23782
|
var RenderModalOutputName = ({
|
|
23799
23783
|
existence,
|
|
@@ -23824,7 +23808,7 @@ var RenderModalOutputName = ({
|
|
|
23824
23808
|
onChange: onValueChange,
|
|
23825
23809
|
rightAlign: true
|
|
23826
23810
|
}),
|
|
23827
|
-
validationMessage ? jsxs113(
|
|
23811
|
+
validationMessage ? jsxs113(Fragment36, {
|
|
23828
23812
|
children: [
|
|
23829
23813
|
jsx223(Spacing, {
|
|
23830
23814
|
y: 1,
|
|
@@ -23836,7 +23820,7 @@ var RenderModalOutputName = ({
|
|
|
23836
23820
|
type: "error"
|
|
23837
23821
|
})
|
|
23838
23822
|
]
|
|
23839
|
-
}) : existence ? jsxs113(
|
|
23823
|
+
}) : existence ? jsxs113(Fragment36, {
|
|
23840
23824
|
children: [
|
|
23841
23825
|
jsx223(Spacing, {
|
|
23842
23826
|
y: 1,
|
|
@@ -23869,7 +23853,7 @@ var getStringBeforeSuffix = (fileName) => {
|
|
|
23869
23853
|
import {
|
|
23870
23854
|
jsx as jsx224,
|
|
23871
23855
|
jsxs as jsxs114,
|
|
23872
|
-
Fragment as
|
|
23856
|
+
Fragment as Fragment37
|
|
23873
23857
|
} from "react/jsx-runtime";
|
|
23874
23858
|
var SeparateAudioOptionInput = ({ separateAudioTo, setSeparateAudioTo, audioCodec }) => {
|
|
23875
23859
|
const existence = useFileExistence(separateAudioTo);
|
|
@@ -23902,7 +23886,7 @@ var SeparateAudioOption = ({ separateAudioTo, setSeparateAudioTo, audioCodec, ou
|
|
|
23902
23886
|
setSeparateAudioTo(null);
|
|
23903
23887
|
}
|
|
23904
23888
|
}, [audioCodec, outName, setSeparateAudioTo]);
|
|
23905
|
-
return jsxs114(
|
|
23889
|
+
return jsxs114(Fragment37, {
|
|
23906
23890
|
children: [
|
|
23907
23891
|
jsxs114("div", {
|
|
23908
23892
|
style: optionRow,
|
|
@@ -23959,7 +23943,7 @@ var humanReadableAudioCodec = (audioCodec) => {
|
|
|
23959
23943
|
import {
|
|
23960
23944
|
jsx as jsx225,
|
|
23961
23945
|
jsxs as jsxs115,
|
|
23962
|
-
Fragment as
|
|
23946
|
+
Fragment as Fragment38
|
|
23963
23947
|
} from "react/jsx-runtime";
|
|
23964
23948
|
var container49 = {
|
|
23965
23949
|
flex: 1,
|
|
@@ -24013,7 +23997,7 @@ var RenderModalAudio = ({
|
|
|
24013
23997
|
style: container49,
|
|
24014
23998
|
className: VERTICAL_SCROLLBAR_CLASSNAME,
|
|
24015
23999
|
children: [
|
|
24016
|
-
renderMode === "video" ? jsxs115(
|
|
24000
|
+
renderMode === "video" ? jsxs115(Fragment38, {
|
|
24017
24001
|
children: [
|
|
24018
24002
|
jsx225(MutedSetting, {
|
|
24019
24003
|
enforceAudioTrack,
|
|
@@ -24048,7 +24032,7 @@ var RenderModalAudio = ({
|
|
|
24048
24032
|
})
|
|
24049
24033
|
]
|
|
24050
24034
|
}) : null,
|
|
24051
|
-
(renderMode === "video" || renderMode === "audio") && !muted && jsxs115(
|
|
24035
|
+
(renderMode === "video" || renderMode === "audio") && !muted && jsxs115(Fragment38, {
|
|
24052
24036
|
children: [
|
|
24053
24037
|
jsx225(EnforceAudioTrackSetting, {
|
|
24054
24038
|
muted,
|
|
@@ -24684,7 +24668,7 @@ var ScaleSetting = ({ scale, setScale }) => {
|
|
|
24684
24668
|
import {
|
|
24685
24669
|
jsx as jsx233,
|
|
24686
24670
|
jsxs as jsxs121,
|
|
24687
|
-
Fragment as
|
|
24671
|
+
Fragment as Fragment39
|
|
24688
24672
|
} from "react/jsx-runtime";
|
|
24689
24673
|
var qualityControlModes = ["crf", "bitrate"];
|
|
24690
24674
|
var container53 = {
|
|
@@ -24840,7 +24824,7 @@ var RenderModalPicture = ({
|
|
|
24840
24824
|
})
|
|
24841
24825
|
]
|
|
24842
24826
|
}) : null,
|
|
24843
|
-
renderMode === "video" ? jsxs121(
|
|
24827
|
+
renderMode === "video" ? jsxs121(Fragment39, {
|
|
24844
24828
|
children: [
|
|
24845
24829
|
jsxs121("div", {
|
|
24846
24830
|
style: optionRow,
|
|
@@ -26371,7 +26355,7 @@ var GuiRenderStatus = ({ job }) => {
|
|
|
26371
26355
|
import {
|
|
26372
26356
|
jsx as jsx237,
|
|
26373
26357
|
jsxs as jsxs124,
|
|
26374
|
-
Fragment as
|
|
26358
|
+
Fragment as Fragment40
|
|
26375
26359
|
} from "react/jsx-runtime";
|
|
26376
26360
|
var container55 = {
|
|
26377
26361
|
padding: 20,
|
|
@@ -26434,7 +26418,7 @@ var RenderStatusModal = ({ jobId }) => {
|
|
|
26434
26418
|
jsxs124("div", {
|
|
26435
26419
|
style: container55,
|
|
26436
26420
|
children: [
|
|
26437
|
-
job.status === "failed" ? jsxs124(
|
|
26421
|
+
job.status === "failed" ? jsxs124(Fragment40, {
|
|
26438
26422
|
children: [
|
|
26439
26423
|
jsx237("p", {
|
|
26440
26424
|
children: "The render failed because of the following error:"
|
|
@@ -26643,7 +26627,7 @@ var KnownBugs = ({ bugs }) => {
|
|
|
26643
26627
|
import {
|
|
26644
26628
|
jsx as jsx241,
|
|
26645
26629
|
jsxs as jsxs127,
|
|
26646
|
-
Fragment as
|
|
26630
|
+
Fragment as Fragment41
|
|
26647
26631
|
} from "react/jsx-runtime";
|
|
26648
26632
|
var container57 = {
|
|
26649
26633
|
padding: 20,
|
|
@@ -26695,7 +26679,7 @@ var UpdateModal = ({ info, knownBugs }) => {
|
|
|
26695
26679
|
jsxs127("div", {
|
|
26696
26680
|
style: container57,
|
|
26697
26681
|
children: [
|
|
26698
|
-
hasKnownBugs ? jsxs127(
|
|
26682
|
+
hasKnownBugs ? jsxs127(Fragment41, {
|
|
26699
26683
|
children: [
|
|
26700
26684
|
jsxs127("div", {
|
|
26701
26685
|
style: title7,
|
|
@@ -26778,12 +26762,12 @@ var UpdateModal = ({ info, knownBugs }) => {
|
|
|
26778
26762
|
import {
|
|
26779
26763
|
jsx as jsx242,
|
|
26780
26764
|
jsxs as jsxs128,
|
|
26781
|
-
Fragment as
|
|
26765
|
+
Fragment as Fragment42
|
|
26782
26766
|
} from "react/jsx-runtime";
|
|
26783
26767
|
var Modals = ({ readOnlyStudio }) => {
|
|
26784
26768
|
const { selectedModal: modalContextType } = useContext76(ModalsContext);
|
|
26785
26769
|
const canRender = useContext76(StudioServerConnectionCtx).previewServerState.type === "connected";
|
|
26786
|
-
return jsxs128(
|
|
26770
|
+
return jsxs128(Fragment42, {
|
|
26787
26771
|
children: [
|
|
26788
26772
|
modalContextType && modalContextType.type === "duplicate-comp" && jsx242(DuplicateComposition, {
|
|
26789
26773
|
compositionType: modalContextType.compositionType,
|
|
@@ -26917,11 +26901,14 @@ var Editor = ({ Root, readOnlyStudio }) => {
|
|
|
26917
26901
|
jsxs129(Internals57.CanUseRemotionHooksProvider, {
|
|
26918
26902
|
children: [
|
|
26919
26903
|
jsx243(EditorContent, {
|
|
26920
|
-
drawRef,
|
|
26921
|
-
size: size4,
|
|
26922
|
-
onMounted,
|
|
26923
26904
|
readOnlyStudio,
|
|
26924
|
-
|
|
26905
|
+
children: jsx243(TopPanel, {
|
|
26906
|
+
size: size4,
|
|
26907
|
+
drawRef,
|
|
26908
|
+
bufferStateDelayInMilliseconds: BUFFER_STATE_DELAY_IN_MILLISECONDS,
|
|
26909
|
+
onMounted,
|
|
26910
|
+
readOnlyStudio
|
|
26911
|
+
})
|
|
26925
26912
|
}),
|
|
26926
26913
|
jsx243(GlobalKeybindings, {})
|
|
26927
26914
|
]
|
package/dist/helpers/colors.d.ts
CHANGED
|
@@ -23,4 +23,4 @@ export declare const TIMELINE_TRACK_SEPARATOR = "rgba(0, 0, 0, 0.3)";
|
|
|
23
23
|
export declare const getBackgroundFromHoverState: ({ selected, hovered, }: {
|
|
24
24
|
selected: boolean;
|
|
25
25
|
hovered: boolean;
|
|
26
|
-
}) => "hsla(0, 0%, 100%, 0.15)" | "hsla(0, 0%, 100%, 0.25)" | "rgba(255, 255, 255, 0.06)"
|
|
26
|
+
}) => "transparent" | "hsla(0, 0%, 100%, 0.15)" | "hsla(0, 0%, 100%, 0.25)" | "rgba(255, 255, 255, 0.06)";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/studio",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.176",
|
|
4
4
|
"description": "Remotion Editor",
|
|
5
5
|
"main": "dist",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -18,11 +18,11 @@
|
|
|
18
18
|
"memfs": "3.4.3",
|
|
19
19
|
"source-map": "0.7.3",
|
|
20
20
|
"open": "^8.4.2",
|
|
21
|
-
"remotion": "4.0.
|
|
22
|
-
"@remotion/player": "4.0.
|
|
23
|
-
"@remotion/media-utils": "4.0.
|
|
24
|
-
"@remotion/renderer": "4.0.
|
|
25
|
-
"@remotion/studio-shared": "4.0.
|
|
21
|
+
"remotion": "4.0.176",
|
|
22
|
+
"@remotion/player": "4.0.176",
|
|
23
|
+
"@remotion/media-utils": "4.0.176",
|
|
24
|
+
"@remotion/renderer": "4.0.176",
|
|
25
|
+
"@remotion/studio-shared": "4.0.176"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"react": "18.3.1",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"@types/semver": "^7.3.4",
|
|
40
40
|
"prettier-plugin-organize-imports": "3.2.4",
|
|
41
41
|
"zod": "3.22.3",
|
|
42
|
-
"@remotion/zod-types": "4.0.
|
|
42
|
+
"@remotion/zod-types": "4.0.176"
|
|
43
43
|
},
|
|
44
44
|
"publishConfig": {
|
|
45
45
|
"access": "public"
|