@remotion/cli 4.0.53 → 4.0.54
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/config/image-format.d.ts +1 -1
- package/dist/config/index.d.ts +2 -2
- package/dist/editor/components/CompositionSelector.js +11 -8
- package/dist/editor/components/CurrentComposition.d.ts +1 -1
- package/dist/editor/components/CurrentComposition.js +3 -2
- package/dist/editor/components/MenuBuildIndicator.js +1 -1
- package/dist/editor/components/MenuToolbar.js +3 -3
- package/dist/editor/components/NewComposition/RemInput.d.ts +2 -2
- package/dist/editor/components/NewComposition/RemInputTypeColor.d.ts +1 -1
- package/dist/editor/components/NewComposition/RemTextarea.d.ts +1 -1
- package/dist/editor/components/OpenEditorButton.js +2 -3
- package/dist/editor/components/PlayPause.js +5 -1
- package/dist/editor/components/PreviewToolbar.js +1 -1
- package/dist/editor/components/RenderModal/human-readable-codec.d.ts +1 -1
- package/dist/editor/components/Splitter/SplitterHandle.js +6 -1
- package/dist/editor/components/Timeline/is-collapsed.js +5 -0
- package/dist/editor/components/UpdateCheck.d.ts +0 -1
- package/dist/editor/components/UpdateCheck.js +7 -2
- package/dist/editor/components/UpdateModal/UpdateModal.js +1 -1
- package/dist/editor/helpers/get-timeline-sequence-sort-key.js +3 -1
- package/dist/editor/helpers/presets-labels.d.ts +1 -1
- package/dist/editor/icons/media-volume.js +1 -1
- package/dist/get-cli-options.d.ts +2 -2
- package/dist/index.d.ts +7 -7
- package/package.json +8 -8
- package/styles/styles.css +42 -6
|
@@ -2,4 +2,4 @@ import type { StillImageFormat, VideoImageFormat } from '@remotion/renderer';
|
|
|
2
2
|
export declare const setStillImageFormat: (format: StillImageFormat) => void;
|
|
3
3
|
export declare const setVideoImageFormat: (format: VideoImageFormat) => void;
|
|
4
4
|
export declare const getUserPreferredStillImageFormat: () => "png" | "jpeg" | "pdf" | "webp" | undefined;
|
|
5
|
-
export declare const getUserPreferredVideoImageFormat: () => "
|
|
5
|
+
export declare const getUserPreferredVideoImageFormat: () => "none" | "png" | "jpeg" | undefined;
|
package/dist/config/index.d.ts
CHANGED
|
@@ -296,7 +296,7 @@ export declare const ConfigInternals: {
|
|
|
296
296
|
getBrowser: () => null;
|
|
297
297
|
getPixelFormat: () => "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
|
|
298
298
|
getProResProfile: () => "4444-xq" | "4444" | "hq" | "standard" | "light" | "proxy" | undefined;
|
|
299
|
-
getPresetProfile: () => "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
299
|
+
getPresetProfile: () => "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | undefined;
|
|
300
300
|
getShouldOverwrite: ({ defaultValue, }: {
|
|
301
301
|
defaultValue: boolean;
|
|
302
302
|
}) => boolean;
|
|
@@ -316,7 +316,7 @@ export declare const ConfigInternals: {
|
|
|
316
316
|
getShouldOutputImageSequence: (frameRange: FrameRange | null) => boolean;
|
|
317
317
|
getDotEnvLocation: () => string | null;
|
|
318
318
|
getUserPreferredStillImageFormat: () => "png" | "jpeg" | "pdf" | "webp" | undefined;
|
|
319
|
-
getUserPreferredVideoImageFormat: () => "
|
|
319
|
+
getUserPreferredVideoImageFormat: () => "none" | "png" | "jpeg" | undefined;
|
|
320
320
|
getWebpackOverrideFn: () => WebpackOverrideFn;
|
|
321
321
|
getWebpackCaching: () => boolean;
|
|
322
322
|
getOutputLocation: () => string | null;
|
|
@@ -18,10 +18,6 @@ const container = {
|
|
|
18
18
|
overflow: 'hidden',
|
|
19
19
|
backgroundColor: colors_1.BACKGROUND,
|
|
20
20
|
};
|
|
21
|
-
const list = {
|
|
22
|
-
height: 'calc(100% - 80px)',
|
|
23
|
-
overflowY: 'auto',
|
|
24
|
-
};
|
|
25
21
|
const getKeysToExpand = (initialFolderName, parentFolderName, initial = []) => {
|
|
26
22
|
initial.push((0, persist_open_folders_1.openFolderKey)(initialFolderName, parentFolderName));
|
|
27
23
|
const { name, parent } = (0, create_folder_tree_1.splitParentIntoNameAndParent)(parentFolderName);
|
|
@@ -90,10 +86,17 @@ const CompositionSelector = () => {
|
|
|
90
86
|
const items = (0, react_1.useMemo)(() => {
|
|
91
87
|
return (0, create_folder_tree_1.createFolderTree)(compositions, folders, foldersExpanded);
|
|
92
88
|
}, [compositions, folders, foldersExpanded]);
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
89
|
+
const showCurrentComposition = canvasContent && canvasContent.type === 'composition';
|
|
90
|
+
const list = (0, react_1.useMemo)(() => {
|
|
91
|
+
return {
|
|
92
|
+
height: showCurrentComposition
|
|
93
|
+
? `calc(100% - ${CurrentComposition_1.CURRENT_COMPOSITION_HEIGHT}px)`
|
|
94
|
+
: '100%',
|
|
95
|
+
overflowY: 'auto',
|
|
96
|
+
};
|
|
97
|
+
}, [showCurrentComposition]);
|
|
98
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [showCurrentComposition ? (0, jsx_runtime_1.jsx)(CurrentComposition_1.CurrentComposition, {}) : null, (0, jsx_runtime_1.jsx)("div", { className: "__remotion-vertical-scrollbar", style: list, children: items.map((c) => {
|
|
99
|
+
return ((0, jsx_runtime_1.jsx)(CompositionSelectorItem_1.CompositionSelectorItem, { level: 0, currentComposition: showCurrentComposition ? canvasContent.compositionId : null, selectComposition: selectComposition, toggleFolder: toggleFolder, tabIndex: tabIndex, item: c }, c.key + c.type));
|
|
97
100
|
}) })] }));
|
|
98
101
|
};
|
|
99
102
|
exports.CompositionSelector = CompositionSelector;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
export declare const CURRENT_COMPOSITION_HEIGHT = 80;
|
|
2
2
|
export declare const CurrentComposition: () => JSX.Element;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CurrentComposition = void 0;
|
|
3
|
+
exports.CurrentComposition = exports.CURRENT_COMPOSITION_HEIGHT = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const remotion_1 = require("remotion");
|
|
6
6
|
const colors_1 = require("../helpers/colors");
|
|
7
7
|
const is_composition_still_1 = require("../helpers/is-composition-still");
|
|
8
8
|
const render_frame_1 = require("../state/render-frame");
|
|
9
|
+
exports.CURRENT_COMPOSITION_HEIGHT = 80;
|
|
9
10
|
const container = {
|
|
10
|
-
height:
|
|
11
|
+
height: exports.CURRENT_COMPOSITION_HEIGHT,
|
|
11
12
|
display: 'block',
|
|
12
13
|
borderBottom: `1px solid ${colors_1.BORDER_COLOR}`,
|
|
13
14
|
padding: 12,
|
|
@@ -40,6 +40,6 @@ const MenuBuildIndicator = () => {
|
|
|
40
40
|
window.remotion_finishedBuilding = undefined;
|
|
41
41
|
};
|
|
42
42
|
}, []);
|
|
43
|
-
return ((0, jsx_runtime_1.jsxs)("div", { style: cwd, title: window.remotion_cwd, children: [showButton ? (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }) : null, isBuilding ? ((0, jsx_runtime_1.jsx)("div", { style: spinner, children: (0, jsx_runtime_1.jsx)(Spinner_1.Spinner, { duration: 0.5, size: spinnerSize }) })) : ((0, jsx_runtime_1.jsx)("div", { style: noSpinner })), showButton ? (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 0.5 }) : null, window.remotion_projectName, showButton ? (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 0.
|
|
43
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: cwd, title: window.remotion_cwd, children: [showButton ? (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }) : null, isBuilding ? ((0, jsx_runtime_1.jsx)("div", { style: spinner, children: (0, jsx_runtime_1.jsx)(Spinner_1.Spinner, { duration: 0.5, size: spinnerSize }) })) : ((0, jsx_runtime_1.jsx)("div", { style: noSpinner })), showButton ? (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 0.5 }) : null, window.remotion_projectName, showButton ? (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 0.25 }) : null, showButton ? (0, jsx_runtime_1.jsx)(OpenEditorButton_1.OpenEditorButton, {}) : null] }));
|
|
44
44
|
};
|
|
45
45
|
exports.MenuBuildIndicator = MenuBuildIndicator;
|
|
@@ -22,13 +22,13 @@ const row = {
|
|
|
22
22
|
backgroundColor: colors_1.BACKGROUND,
|
|
23
23
|
};
|
|
24
24
|
const fixedWidthRight = {
|
|
25
|
-
|
|
25
|
+
width: '330px',
|
|
26
26
|
display: 'flex',
|
|
27
27
|
alignItems: 'center',
|
|
28
28
|
justifyContent: 'flex-end',
|
|
29
29
|
};
|
|
30
30
|
const fixedWidthLeft = {
|
|
31
|
-
minWidth: '
|
|
31
|
+
minWidth: '330px',
|
|
32
32
|
display: 'flex',
|
|
33
33
|
alignItems: 'center',
|
|
34
34
|
justifyContent: 'flex-start',
|
|
@@ -75,7 +75,7 @@ const MenuToolbar = () => {
|
|
|
75
75
|
const onItemQuit = (0, react_1.useCallback)(() => {
|
|
76
76
|
setSelected(null);
|
|
77
77
|
}, [setSelected]);
|
|
78
|
-
return ((0, jsx_runtime_1.jsxs)(layout_1.Row, {
|
|
78
|
+
return ((0, jsx_runtime_1.jsxs)(layout_1.Row, { align: "center", className: "css-reset", style: row, children: [(0, jsx_runtime_1.jsxs)("div", { style: fixedWidthLeft, children: [structure.map((s) => {
|
|
79
79
|
return ((0, jsx_runtime_1.jsx)(MenuItem_1.MenuItem, { selected: selected === s.id, onItemSelected: itemClicked, onItemHovered: itemHovered, id: s.id, label: s.label, onItemQuit: onItemQuit, menu: s, onPreviousMenu: onPreviousMenu, onNextMenu: onNextMenu, leaveLeftPadding: s.leaveLeftPadding }, s.id));
|
|
80
80
|
}), (0, jsx_runtime_1.jsx)(UpdateCheck_1.UpdateCheck, {})] }), (0, jsx_runtime_1.jsx)("div", { style: flex }), (0, jsx_runtime_1.jsx)(MenuBuildIndicator_1.MenuBuildIndicator, {}), (0, jsx_runtime_1.jsx)("div", { style: flex }), (0, jsx_runtime_1.jsx)("div", { style: fixedWidthRight, children: (0, jsx_runtime_1.jsx)(SidebarCollapserControls_1.SidebarCollapserControls, {}) }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 })] }));
|
|
81
81
|
};
|
|
@@ -12,6 +12,6 @@ export declare const getInputBorderColor: ({ status, isFocused, isHovered, }: {
|
|
|
12
12
|
status: 'error' | 'warning' | 'ok';
|
|
13
13
|
isFocused: boolean;
|
|
14
14
|
isHovered: boolean;
|
|
15
|
-
}) => "hsla(0, 0%, 100%, 0.15)" | "rgba(0, 0, 0, 0.6)" | "rgba(255, 255, 255, 0.05)" | "#ff3232"
|
|
16
|
-
export declare const RemotionInput: React.ForwardRefExoticComponent<Pick<Props, "
|
|
15
|
+
}) => "#f1c40f" | "hsla(0, 0%, 100%, 0.15)" | "rgba(0, 0, 0, 0.6)" | "rgba(255, 255, 255, 0.05)" | "#ff3232";
|
|
16
|
+
export declare const RemotionInput: React.ForwardRefExoticComponent<Pick<Props, "key" | keyof React.InputHTMLAttributes<HTMLInputElement> | "status" | "rightAlign"> & React.RefAttributes<HTMLInputElement>>;
|
|
17
17
|
export {};
|
|
@@ -4,5 +4,5 @@ type Props = React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>
|
|
|
4
4
|
status: RemInputStatus;
|
|
5
5
|
name: string;
|
|
6
6
|
};
|
|
7
|
-
export declare const RemInputTypeColor: React.ForwardRefExoticComponent<Pick<Props, "
|
|
7
|
+
export declare const RemInputTypeColor: React.ForwardRefExoticComponent<Pick<Props, "key" | keyof React.InputHTMLAttributes<HTMLInputElement> | "status"> & React.RefAttributes<HTMLInputElement>>;
|
|
8
8
|
export {};
|
|
@@ -3,5 +3,5 @@ type Props = React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLTextAreaEleme
|
|
|
3
3
|
status: 'error' | 'warning' | 'ok';
|
|
4
4
|
};
|
|
5
5
|
export declare const inputBaseStyle: React.CSSProperties;
|
|
6
|
-
export declare const RemTextarea: React.ForwardRefExoticComponent<Pick<Props, "
|
|
6
|
+
export declare const RemTextarea: React.ForwardRefExoticComponent<Pick<Props, "key" | "status" | keyof React.InputHTMLAttributes<HTMLTextAreaElement>> & React.RefAttributes<HTMLTextAreaElement>>;
|
|
7
7
|
export {};
|
|
@@ -7,12 +7,11 @@ const colors_1 = require("../helpers/colors");
|
|
|
7
7
|
const open_in_editor_1 = require("../helpers/open-in-editor");
|
|
8
8
|
const NotificationCenter_1 = require("./Notifications/NotificationCenter");
|
|
9
9
|
const svgStyle = {
|
|
10
|
-
width:
|
|
11
|
-
height:
|
|
10
|
+
width: 11,
|
|
11
|
+
height: 11,
|
|
12
12
|
};
|
|
13
13
|
const buttonStyle = {
|
|
14
14
|
border: 'none',
|
|
15
|
-
width: '20px',
|
|
16
15
|
height: '20px',
|
|
17
16
|
display: 'flex',
|
|
18
17
|
justifyContent: 'center',
|
|
@@ -16,6 +16,10 @@ const in_out_1 = require("../state/in-out");
|
|
|
16
16
|
const ControlButton_1 = require("./ControlButton");
|
|
17
17
|
const imperative_state_1 = require("./Timeline/imperative-state");
|
|
18
18
|
const timeline_scroll_logic_1 = require("./Timeline/timeline-scroll-logic");
|
|
19
|
+
const backStyle = {
|
|
20
|
+
height: 18,
|
|
21
|
+
color: 'white',
|
|
22
|
+
};
|
|
19
23
|
const forwardBackStyle = {
|
|
20
24
|
height: 16,
|
|
21
25
|
color: 'white',
|
|
@@ -186,7 +190,7 @@ const PlayPause = ({ playbackRate, loop }) => {
|
|
|
186
190
|
onEnter,
|
|
187
191
|
onSpace,
|
|
188
192
|
]);
|
|
189
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ControlButton_1.ControlButton, { "aria-label": "Jump to beginning", title: "Jump to beginning", disabled: !videoConfig || isFirstFrame, onClick: jumpToStart, children: (0, jsx_runtime_1.jsx)(jump_to_start_1.JumpToStart, { style:
|
|
193
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ControlButton_1.ControlButton, { "aria-label": "Jump to beginning", title: "Jump to beginning", disabled: !videoConfig || isFirstFrame, onClick: jumpToStart, children: (0, jsx_runtime_1.jsx)(jump_to_start_1.JumpToStart, { style: backStyle }) }), (0, jsx_runtime_1.jsx)(ControlButton_1.ControlButton, { "aria-label": "Step back one frame", title: "Step back one frame", disabled: !videoConfig || isFirstFrame, onClick: oneFrameBack, children: (0, jsx_runtime_1.jsx)(step_back_1.StepBack, { style: forwardBackStyle }) }), (0, jsx_runtime_1.jsx)(ControlButton_1.ControlButton, { "aria-label": playing ? 'Pause' : 'Play', title: playing ? 'Pause' : 'Play', onClick: playing ? pause : play, disabled: !videoConfig, children: playing ? ((0, jsx_runtime_1.jsx)(pause_1.Pause, { style: {
|
|
190
194
|
height: 14,
|
|
191
195
|
width: 14,
|
|
192
196
|
color: 'white',
|
|
@@ -50,6 +50,6 @@ const PreviewToolbar = () => {
|
|
|
50
50
|
const isStill = (0, is_current_selected_still_1.useIsStill)();
|
|
51
51
|
const [loop, setLoop] = (0, react_1.useState)((0, loop_1.loadLoopOption)());
|
|
52
52
|
const isFullscreenSupported = document.fullscreenEnabled || document.webkitFullscreenEnabled;
|
|
53
|
-
return ((0, jsx_runtime_1.jsxs)("div", { style: container, className: "css-reset", children: [(0, jsx_runtime_1.jsxs)("div", { style: sideContainer, children: [(0, jsx_runtime_1.jsx)("div", { style: padding }), (0, jsx_runtime_1.jsx)(TimelineZoomControls_1.TimelineZoomControls, {})] }), (0, jsx_runtime_1.jsx)(layout_1.Flex, {}), (0, jsx_runtime_1.jsx)(SizeSelector_1.SizeSelector, {}), isStill || isVideoComposition ? ((0, jsx_runtime_1.jsx)(PlaybackRateSelector_1.PlaybackRateSelector, { setPlaybackRate: setPlaybackRate, playbackRate: playbackRate })) : null, isVideoComposition ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }), (0, jsx_runtime_1.jsx)(PlayPause_1.PlayPause, { loop: loop, playbackRate: playbackRate }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }), (0, jsx_runtime_1.jsx)(LoopToggle_1.LoopToggle, { loop: loop, setLoop: setLoop }), (0, jsx_runtime_1.jsx)(
|
|
53
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: container, className: "css-reset", children: [(0, jsx_runtime_1.jsxs)("div", { style: sideContainer, children: [(0, jsx_runtime_1.jsx)("div", { style: padding }), (0, jsx_runtime_1.jsx)(TimelineZoomControls_1.TimelineZoomControls, {})] }), (0, jsx_runtime_1.jsx)(layout_1.Flex, {}), (0, jsx_runtime_1.jsx)(SizeSelector_1.SizeSelector, {}), isStill || isVideoComposition ? ((0, jsx_runtime_1.jsx)(PlaybackRateSelector_1.PlaybackRateSelector, { setPlaybackRate: setPlaybackRate, playbackRate: playbackRate })) : null, isVideoComposition ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }), (0, jsx_runtime_1.jsx)(PlayPause_1.PlayPause, { loop: loop, playbackRate: playbackRate }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }), (0, jsx_runtime_1.jsx)(LoopToggle_1.LoopToggle, { loop: loop, setLoop: setLoop }), (0, jsx_runtime_1.jsx)(MuteToggle_1.MuteToggle, { muted: mediaMuted, setMuted: setMediaMuted }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }), (0, jsx_runtime_1.jsx)(TimelineInOutToggle_1.TimelineInOutPointToggle, {}), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }), (0, jsx_runtime_1.jsx)(CheckboardToggle_1.CheckboardToggle, {}), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 })] })) : null, isFullscreenSupported && (0, jsx_runtime_1.jsx)(FullscreenToggle_1.FullScreenToggle, {}), (0, jsx_runtime_1.jsx)(layout_1.Flex, {}), (0, jsx_runtime_1.jsxs)("div", { style: sideContainer, children: [(0, jsx_runtime_1.jsx)(layout_1.Flex, {}), (0, jsx_runtime_1.jsx)(FpsCounter_1.FpsCounter, { playbackSpeed: playbackRate }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }), (0, jsx_runtime_1.jsx)(RenderButton_1.RenderButton, {}), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1.5 })] }), (0, jsx_runtime_1.jsx)(PlaybackKeyboardShortcutsManager_1.PlaybackKeyboardShortcutsManager, { setPlaybackRate: setPlaybackRate }), (0, jsx_runtime_1.jsx)(PlaybackRatePersistor_1.PlaybackRatePersistor, {})] }));
|
|
54
54
|
};
|
|
55
55
|
exports.PreviewToolbar = PreviewToolbar;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { Codec } from '@remotion/renderer';
|
|
2
|
-
export declare const humanReadableCodec: (codec: Codec) => "
|
|
2
|
+
export declare const humanReadableCodec: (codec: Codec) => "AAC" | "MP3" | "GIF" | "H.264" | "H.264 Matroska" | "H.265" | "ProRes" | "WebM VP8" | "WebM VP9" | "Waveform" | undefined;
|
|
@@ -115,6 +115,11 @@ const SplitterHandle = ({ allowToCollapse, onCollapse }) => {
|
|
|
115
115
|
lastPointerUp,
|
|
116
116
|
onCollapse,
|
|
117
117
|
]);
|
|
118
|
-
return ((0, jsx_runtime_1.jsx)("div", { ref: ref, className:
|
|
118
|
+
return ((0, jsx_runtime_1.jsx)("div", { ref: ref, className: [
|
|
119
|
+
'remotion-splitter',
|
|
120
|
+
context.orientation === 'horizontal'
|
|
121
|
+
? 'remotion-splitter-horizontal'
|
|
122
|
+
: 'remotion-splitter-vertical',
|
|
123
|
+
].join(' '), style: context.orientation === 'horizontal' ? containerRow : containerColumn }));
|
|
119
124
|
};
|
|
120
125
|
exports.SplitterHandle = SplitterHandle;
|
|
@@ -13,6 +13,11 @@ const isTrackHidden = (track, allTracks, viewState) => {
|
|
|
13
13
|
return false;
|
|
14
14
|
}
|
|
15
15
|
const parent = allTracks.find((t) => t.sequence.id === track.sequence.parent);
|
|
16
|
+
// Due to effects and conditional `showInTimeline`, a parent
|
|
17
|
+
// may not exist in the `allTracks` array.
|
|
18
|
+
if (!parent) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
16
21
|
if ((0, exports.isTrackCollapsed)(parent.hash, viewState)) {
|
|
17
22
|
return true;
|
|
18
23
|
}
|
|
@@ -16,6 +16,8 @@ const buttonStyle = {
|
|
|
16
16
|
backgroundColor: 'transparent',
|
|
17
17
|
cursor: 'pointer',
|
|
18
18
|
fontSize: 14,
|
|
19
|
+
display: 'inline-flex',
|
|
20
|
+
justifyContent: 'center',
|
|
19
21
|
};
|
|
20
22
|
const UpdateCheck = () => {
|
|
21
23
|
const [info, setInfo] = (0, react_1.useState)(null);
|
|
@@ -74,7 +76,7 @@ const UpdateCheck = () => {
|
|
|
74
76
|
const dynButtonStyle = (0, react_1.useMemo)(() => {
|
|
75
77
|
return {
|
|
76
78
|
...buttonStyle,
|
|
77
|
-
color: hasKnownBugs ? colors_1.WARNING_COLOR : colors_1.
|
|
79
|
+
color: hasKnownBugs ? colors_1.WARNING_COLOR : colors_1.LIGHT_TEXT,
|
|
78
80
|
};
|
|
79
81
|
}, [hasKnownBugs]);
|
|
80
82
|
if (!info) {
|
|
@@ -83,6 +85,9 @@ const UpdateCheck = () => {
|
|
|
83
85
|
if (!info.updateAvailable) {
|
|
84
86
|
return null;
|
|
85
87
|
}
|
|
86
|
-
return ((0, jsx_runtime_1.jsx)("button", { tabIndex: tabIndex, style: dynButtonStyle, onClick: openModal, type: "button",
|
|
88
|
+
return ((0, jsx_runtime_1.jsx)("button", { tabIndex: tabIndex, style: dynButtonStyle, onClick: openModal, type: "button", title: hasKnownBugs ? 'Bugfixes available' : 'Update available', children: hasKnownBugs ? ('Bugfixes available') : ((0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", style: {
|
|
89
|
+
height: 16,
|
|
90
|
+
width: 16,
|
|
91
|
+
}, viewBox: "0 0 512 512", children: (0, jsx_runtime_1.jsx)("path", { fill: "currentcolor", d: "M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM135.1 217.4c-4.5 4.2-7.1 10.1-7.1 16.3c0 12.3 10 22.3 22.3 22.3H208v96c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V256h57.7c12.3 0 22.3-10 22.3-22.3c0-6.2-2.6-12.1-7.1-16.3L269.8 117.5c-3.8-3.5-8.7-5.5-13.8-5.5s-10.1 2-13.8 5.5L135.1 217.4z" }) })) }));
|
|
87
92
|
};
|
|
88
93
|
exports.UpdateCheck = UpdateCheck;
|
|
@@ -58,6 +58,6 @@ const UpdateModal = ({ info, knownBugs }) => {
|
|
|
58
58
|
(0, NotificationCenter_1.sendErrorNotification)(`Could not copy: ${err.message}`);
|
|
59
59
|
});
|
|
60
60
|
}, [command]);
|
|
61
|
-
return ((0, jsx_runtime_1.jsxs)(ModalContainer_1.ModalContainer, { onOutsideClick: onQuit, onEscape: onQuit, children: [(0, jsx_runtime_1.jsx)(ModalHeader_1.NewCompHeader, { title: "Update available" }), (0, jsx_runtime_1.jsxs)("div", { style: container, children: [hasKnownBugs ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { style: title, children: ["The currently installed version ", info.currentVersion, " has the following known bugs:"] }), (0, jsx_runtime_1.jsx)(KnownBugs_1.KnownBugs, { bugs: knownBugs }), (0, jsx_runtime_1.jsx)("div", { style: { height: '20px' } }), (0, jsx_runtime_1.jsx)("div", { style: text, children: "To upgrade, run the following command:" })] })) : ((0, jsx_runtime_1.jsx)("div", { style:
|
|
61
|
+
return ((0, jsx_runtime_1.jsxs)(ModalContainer_1.ModalContainer, { onOutsideClick: onQuit, onEscape: onQuit, children: [(0, jsx_runtime_1.jsx)(ModalHeader_1.NewCompHeader, { title: "Update available" }), (0, jsx_runtime_1.jsxs)("div", { style: container, children: [hasKnownBugs ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { style: title, children: ["The currently installed version ", info.currentVersion, " has the following known bugs:"] }), (0, jsx_runtime_1.jsx)(KnownBugs_1.KnownBugs, { bugs: knownBugs }), (0, jsx_runtime_1.jsx)("div", { style: { height: '20px' } }), (0, jsx_runtime_1.jsx)("div", { style: text, children: "To upgrade, run the following command:" })] })) : ((0, jsx_runtime_1.jsx)("div", { style: title, children: "A new update for Remotion is available! Run the following command:" })), (0, jsx_runtime_1.jsxs)(layout_1.Row, { align: "center", children: [(0, jsx_runtime_1.jsx)(layout_1.Flex, { children: (0, jsx_runtime_1.jsx)("pre", { onClick: onClick, style: code, children: command }) }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), (0, jsx_runtime_1.jsx)(CopyButton_1.CopyButton, { textToCopy: command, label: "Copy", labelWhenCopied: "Copied!" })] }), (0, jsx_runtime_1.jsxs)("div", { style: text, children: ["This will upgrade Remotion from ", info.currentVersion, " to", ' ', info.latestVersion, "."] }), (0, jsx_runtime_1.jsxs)("div", { style: text, children: ["Read the", ' ', (0, jsx_runtime_1.jsx)("a", { style: link, target: "_blank", href: "https://github.com/remotion-dev/remotion/releases", children: "Release notes" }), ' ', "to know what", "'s", " new in Remotion."] })] })] }));
|
|
62
62
|
};
|
|
63
63
|
exports.UpdateModal = UpdateModal;
|
|
@@ -9,7 +9,9 @@ const getTimelineSequenceSequenceSortKey = (track, tracks, sameHashes = {}) => {
|
|
|
9
9
|
}
|
|
10
10
|
const parent = tracks.find((t) => t.sequence.id === track.sequence.parent);
|
|
11
11
|
if (!parent) {
|
|
12
|
-
|
|
12
|
+
// Due to effects and conditional `showInTimeline`, a parent
|
|
13
|
+
// may not exist in the `allTracks` array.
|
|
14
|
+
return id;
|
|
13
15
|
}
|
|
14
16
|
const firstParentWithSameHash = tracks.find((a) => {
|
|
15
17
|
return sameHashes[parent.hash].includes(a.sequence.id);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { X264Preset } from '@remotion/renderer';
|
|
2
|
-
export declare const labelx264Preset: (profile: X264Preset) => "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
2
|
+
export declare const labelx264Preset: (profile: X264Preset) => "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.VolumeOnIcon = exports.VolumeOffIcon = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const colors_1 = require("../helpers/colors");
|
|
6
|
-
const size =
|
|
6
|
+
const size = 22;
|
|
7
7
|
const VolumeOffIcon = () => {
|
|
8
8
|
return ((0, jsx_runtime_1.jsx)("svg", { width: size, height: size, viewBox: "0 0 24 24", children: (0, jsx_runtime_1.jsx)("path", { d: "M3.63 3.63a.996.996 0 000 1.41L7.29 8.7 7 9H4c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1h3l3.29 3.29c.63.63 1.71.18 1.71-.71v-4.17l4.18 4.18c-.49.37-1.02.68-1.6.91-.36.15-.58.53-.58.92 0 .72.73 1.18 1.39.91.8-.33 1.55-.77 2.22-1.31l1.34 1.34a.996.996 0 101.41-1.41L5.05 3.63c-.39-.39-1.02-.39-1.42 0zM19 12c0 .82-.15 1.61-.41 2.34l1.53 1.53c.56-1.17.88-2.48.88-3.87 0-3.83-2.4-7.11-5.78-8.4-.59-.23-1.22.23-1.22.86v.19c0 .38.25.71.61.85C17.18 6.54 19 9.06 19 12zm-8.71-6.29l-.17.17L12 7.76V6.41c0-.89-1.08-1.33-1.71-.7zM16.5 12A4.5 4.5 0 0014 7.97v1.79l2.48 2.48c.01-.08.02-.16.02-.24z", fill: colors_1.BLUE }) }));
|
|
9
9
|
};
|
|
@@ -16,7 +16,7 @@ export declare const getCliOptions: (options: {
|
|
|
16
16
|
crf: import("@remotion/renderer").Crf | null;
|
|
17
17
|
pixelFormat: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
|
|
18
18
|
proResProfile: "4444-xq" | "4444" | "hq" | "standard" | "light" | "proxy" | undefined;
|
|
19
|
-
x264Preset: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
19
|
+
x264Preset: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | undefined;
|
|
20
20
|
everyNthFrame: number;
|
|
21
21
|
numberOfGifLoops: import("./config/number-of-gif-loops").Loop;
|
|
22
22
|
stillFrame: number;
|
|
@@ -34,7 +34,7 @@ export declare const getCliOptions: (options: {
|
|
|
34
34
|
videoBitrate: string | null;
|
|
35
35
|
height: number | null;
|
|
36
36
|
width: number | null;
|
|
37
|
-
configFileImageFormat: "
|
|
37
|
+
configFileImageFormat: "none" | "png" | "jpeg" | undefined;
|
|
38
38
|
offthreadVideoCacheSizeInBytes: number | null;
|
|
39
39
|
deleteAfter: ("1-day" | "3-days" | "7-days" | "30-days") | null;
|
|
40
40
|
colorSpace: "default" | "bt709";
|
package/dist/index.d.ts
CHANGED
|
@@ -101,7 +101,7 @@ export declare const CliInternals: {
|
|
|
101
101
|
crf: import("@remotion/renderer").Crf | null;
|
|
102
102
|
pixelFormat: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
|
|
103
103
|
proResProfile: "4444-xq" | "4444" | "hq" | "standard" | "light" | "proxy" | undefined;
|
|
104
|
-
x264Preset: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
104
|
+
x264Preset: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | undefined;
|
|
105
105
|
everyNthFrame: number;
|
|
106
106
|
numberOfGifLoops: import("./config/number-of-gif-loops").Loop;
|
|
107
107
|
stillFrame: number;
|
|
@@ -119,7 +119,7 @@ export declare const CliInternals: {
|
|
|
119
119
|
videoBitrate: string | null;
|
|
120
120
|
height: number | null;
|
|
121
121
|
width: number | null;
|
|
122
|
-
configFileImageFormat: "
|
|
122
|
+
configFileImageFormat: "none" | "png" | "jpeg" | undefined;
|
|
123
123
|
offthreadVideoCacheSizeInBytes: number | null;
|
|
124
124
|
deleteAfter: ("1-day" | "3-days" | "7-days" | "30-days") | null;
|
|
125
125
|
colorSpace: "default" | "bt709";
|
|
@@ -131,9 +131,9 @@ export declare const CliInternals: {
|
|
|
131
131
|
parsedCli: {
|
|
132
132
|
"browser-executable": import("@remotion/renderer").BrowserExecutable;
|
|
133
133
|
"pixel-format": "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
|
|
134
|
-
"image-format": "
|
|
134
|
+
"image-format": "none" | "png" | "jpeg" | "pdf" | "webp";
|
|
135
135
|
"prores-profile": "4444-xq" | "4444" | "hq" | "standard" | "light" | "proxy";
|
|
136
|
-
"x264-preset": "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
136
|
+
"x264-preset": "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
|
|
137
137
|
"bundle-cache": string;
|
|
138
138
|
"env-file": string;
|
|
139
139
|
"ignore-certificate-errors": string;
|
|
@@ -202,7 +202,7 @@ export declare const CliInternals: {
|
|
|
202
202
|
downloadName: string | null;
|
|
203
203
|
outName: string | null;
|
|
204
204
|
configImageFormat: "png" | "jpeg" | "pdf" | "webp" | null;
|
|
205
|
-
cliFlag: "
|
|
205
|
+
cliFlag: "none" | "png" | "jpeg" | "pdf" | "webp" | null;
|
|
206
206
|
isLambda: boolean;
|
|
207
207
|
fromUi: "png" | "jpeg" | "pdf" | "webp" | null;
|
|
208
208
|
}) => {
|
|
@@ -217,8 +217,8 @@ export declare const CliInternals: {
|
|
|
217
217
|
};
|
|
218
218
|
getVideoImageFormat: ({ codec, uiImageFormat, }: {
|
|
219
219
|
codec: import("@remotion/renderer").CodecOrUndefined;
|
|
220
|
-
uiImageFormat: "
|
|
221
|
-
}) => "
|
|
220
|
+
uiImageFormat: "none" | "png" | "jpeg" | null;
|
|
221
|
+
}) => "none" | "png" | "jpeg";
|
|
222
222
|
printCompositions: (compositions: import("remotion").VideoConfig[]) => void;
|
|
223
223
|
getFinalOutputCodec: ({ cliFlag, configFile, downloadName, outName, uiCodec, compositionCodec, }: {
|
|
224
224
|
cliFlag: import("@remotion/renderer").CodecOrUndefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/cli",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.54",
|
|
4
4
|
"description": "CLI for Remotion",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -35,11 +35,11 @@
|
|
|
35
35
|
"prompts": "2.4.1",
|
|
36
36
|
"semver": "7.5.3",
|
|
37
37
|
"source-map": "0.6.1",
|
|
38
|
-
"@remotion/bundler": "4.0.
|
|
39
|
-
"@remotion/media-utils": "4.0.
|
|
40
|
-
"
|
|
41
|
-
"@remotion/renderer": "4.0.
|
|
42
|
-
"remotion": "4.0.
|
|
38
|
+
"@remotion/bundler": "4.0.54",
|
|
39
|
+
"@remotion/media-utils": "4.0.54",
|
|
40
|
+
"remotion": "4.0.54",
|
|
41
|
+
"@remotion/renderer": "4.0.54",
|
|
42
|
+
"@remotion/player": "4.0.54"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"react": ">=16.8.0",
|
|
@@ -65,8 +65,8 @@
|
|
|
65
65
|
"react-dom": "^18.0.0",
|
|
66
66
|
"vitest": "0.31.1",
|
|
67
67
|
"zod": "^3.22.3",
|
|
68
|
-
"@remotion/zod-types": "4.0.
|
|
69
|
-
"@remotion/tailwind": "4.0.
|
|
68
|
+
"@remotion/zod-types": "4.0.54",
|
|
69
|
+
"@remotion/tailwind": "4.0.54"
|
|
70
70
|
},
|
|
71
71
|
"keywords": [
|
|
72
72
|
"remotion",
|
package/styles/styles.css
CHANGED
|
@@ -10,14 +10,47 @@ body {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
.remotion-splitter {
|
|
13
|
-
background-color: black;
|
|
14
|
-
transition: background-color 0.2s ease;
|
|
15
13
|
user-select: none;
|
|
16
14
|
}
|
|
17
15
|
|
|
18
|
-
.remotion-splitter
|
|
19
|
-
|
|
20
|
-
background
|
|
16
|
+
.remotion-splitter-horizontal {
|
|
17
|
+
transform: scaleY(2);
|
|
18
|
+
background: linear-gradient(
|
|
19
|
+
to bottom,
|
|
20
|
+
transparent 25%,
|
|
21
|
+
black 25%,
|
|
22
|
+
black 75%,
|
|
23
|
+
transparent
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.remotion-splitter-horizontal:hover,
|
|
28
|
+
.remotion-splitter-horizontal.remotion-splitter-active {
|
|
29
|
+
background: linear-gradient(
|
|
30
|
+
to bottom,
|
|
31
|
+
var(--remotion-cli-internals-blue),
|
|
32
|
+
var(--remotion-cli-internals-blue)
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.remotion-splitter-vertical {
|
|
37
|
+
transform: scaleX(2);
|
|
38
|
+
background: linear-gradient(
|
|
39
|
+
to right,
|
|
40
|
+
transparent 25%,
|
|
41
|
+
black 25%,
|
|
42
|
+
black 75%,
|
|
43
|
+
transparent
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.remotion-splitter-vertical:hover,
|
|
48
|
+
.remotion-splitter-vertical.remotion-splitter-active {
|
|
49
|
+
background: linear-gradient(
|
|
50
|
+
to right,
|
|
51
|
+
var(--remotion-cli-internals-blue),
|
|
52
|
+
var(--remotion-cli-internals-blue)
|
|
53
|
+
);
|
|
21
54
|
}
|
|
22
55
|
|
|
23
56
|
input::-webkit-outer-spin-button,
|
|
@@ -31,7 +64,10 @@ textarea:focus,
|
|
|
31
64
|
button:focus,
|
|
32
65
|
a:focus {
|
|
33
66
|
outline: none;
|
|
34
|
-
box-shadow:
|
|
67
|
+
box-shadow:
|
|
68
|
+
inset 1px 1px #555,
|
|
69
|
+
inset -1px -1px #555,
|
|
70
|
+
inset 1px -1px #555,
|
|
35
71
|
inset -1px 1px #555;
|
|
36
72
|
border-radius: 0 !important;
|
|
37
73
|
}
|