@remotion/cli 3.3.54 → 3.3.55
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/log.d.ts +1 -1
- package/dist/editor/components/Canvas.js +6 -1
- package/dist/editor/components/CurrentComposition.d.ts +0 -1
- package/dist/editor/components/EditorContexts.js +16 -1
- package/dist/editor/components/Menu/MenuItem.d.ts +2 -1
- package/dist/editor/components/Menu/MenuItem.js +20 -3
- package/dist/editor/components/Menu/MenuSubItem.js +3 -2
- package/dist/editor/components/Menu/is-menu-item.d.ts +3 -0
- package/dist/editor/components/Menu/is-menu-item.js +12 -0
- package/dist/editor/components/Menu/styles.js +0 -2
- package/dist/editor/components/NewComposition/ComboBox.js +31 -1
- package/dist/editor/components/NewComposition/MenuContent.js +4 -1
- package/dist/editor/components/NewComposition/NewCompCode.d.ts +0 -1
- package/dist/editor/components/UpdateCheck.d.ts +0 -1
- package/dist/editor/helpers/use-menu-structure.js +23 -0
- package/dist/editor/icons/Checkmark.d.ts +0 -1
- package/dist/editor/icons/caret.d.ts +0 -1
- package/dist/editor/state/editor-zoom-gestures.d.ts +9 -0
- package/dist/editor/state/editor-zoom-gestures.js +17 -0
- package/dist/editor/state/preview-size.js +12 -2
- package/dist/get-cli-options.d.ts +1 -1
- package/dist/get-input-props.d.ts +4 -0
- package/dist/get-input-props.js +4 -0
- package/dist/index.d.ts +1 -1
- package/package.json +7 -7
- package/dist/gcp-command.d.ts +0 -1
- package/dist/gcp-command.js +0 -27
package/dist/config/log.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { LogLevel } from '@remotion/renderer';
|
|
2
|
-
export declare const getLogLevel: () => "verbose" | "
|
|
2
|
+
export declare const getLogLevel: () => "verbose" | "error" | "info" | "warn";
|
|
3
3
|
export declare const setLogLevel: (newLogLevel: LogLevel) => void;
|
|
@@ -9,6 +9,7 @@ const colors_1 = require("../helpers/colors");
|
|
|
9
9
|
const get_effective_translation_1 = require("../helpers/get-effective-translation");
|
|
10
10
|
const is_current_selected_still_1 = require("../helpers/is-current-selected-still");
|
|
11
11
|
const use_keybinding_1 = require("../helpers/use-keybinding");
|
|
12
|
+
const editor_zoom_gestures_1 = require("../state/editor-zoom-gestures");
|
|
12
13
|
const preview_size_1 = require("../state/preview-size");
|
|
13
14
|
const layout_1 = require("./layout");
|
|
14
15
|
const Preview_1 = require("./Preview");
|
|
@@ -30,6 +31,7 @@ const Canvas = () => {
|
|
|
30
31
|
const dimensions = (0, is_current_selected_still_1.useDimensions)();
|
|
31
32
|
const ref = (0, react_1.useRef)(null);
|
|
32
33
|
const { setSize, size: previewSize } = (0, react_1.useContext)(preview_size_1.PreviewSizeContext);
|
|
34
|
+
const { editorZoomGestures } = (0, react_1.useContext)(editor_zoom_gestures_1.EditorZoomGesturesContext);
|
|
33
35
|
const keybindings = (0, use_keybinding_1.useKeybinding)();
|
|
34
36
|
const size = player_1.PlayerInternals.useElementSize(ref, {
|
|
35
37
|
triggerOnWindowResize: false,
|
|
@@ -40,6 +42,9 @@ const Canvas = () => {
|
|
|
40
42
|
previewSize.translation.x === 0 &&
|
|
41
43
|
previewSize.translation.y === 0);
|
|
42
44
|
const onWheel = (0, react_1.useCallback)((e) => {
|
|
45
|
+
if (!editorZoomGestures) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
43
48
|
if (!size) {
|
|
44
49
|
return;
|
|
45
50
|
}
|
|
@@ -116,7 +121,7 @@ const Canvas = () => {
|
|
|
116
121
|
}),
|
|
117
122
|
};
|
|
118
123
|
});
|
|
119
|
-
}, [dimensions, isFit, setSize, size]);
|
|
124
|
+
}, [editorZoomGestures, dimensions, isFit, setSize, size]);
|
|
120
125
|
(0, react_1.useEffect)(() => {
|
|
121
126
|
const { current } = ref;
|
|
122
127
|
if (!current) {
|
|
@@ -6,6 +6,7 @@ const player_1 = require("@remotion/player");
|
|
|
6
6
|
const react_1 = require("react");
|
|
7
7
|
const remotion_1 = require("remotion");
|
|
8
8
|
const checkerboard_1 = require("../state/checkerboard");
|
|
9
|
+
const editor_zoom_gestures_1 = require("../state/editor-zoom-gestures");
|
|
9
10
|
const folders_1 = require("../state/folders");
|
|
10
11
|
const highest_z_index_1 = require("../state/highest-z-index");
|
|
11
12
|
const in_out_1 = require("../state/in-out");
|
|
@@ -37,6 +38,14 @@ const EditorContexts = ({ children }) => {
|
|
|
37
38
|
return newVal;
|
|
38
39
|
});
|
|
39
40
|
}, []);
|
|
41
|
+
const [editorZoomGestures, setEditorZoomGesturesState] = (0, react_1.useState)(() => (0, editor_zoom_gestures_1.loadEditorZoomGesturesOption)());
|
|
42
|
+
const setEditorZoomGestures = (0, react_1.useCallback)((newValue) => {
|
|
43
|
+
setEditorZoomGesturesState((prevState) => {
|
|
44
|
+
const newVal = newValue(prevState);
|
|
45
|
+
(0, editor_zoom_gestures_1.persistEditorZoomGesturesOption)(newVal);
|
|
46
|
+
return newVal;
|
|
47
|
+
});
|
|
48
|
+
}, []);
|
|
40
49
|
const [richTimeline, setRichTimelineState] = (0, react_1.useState)(() => (0, rich_timeline_1.loadRichTimelineOption)());
|
|
41
50
|
const setRichTimeline = (0, react_1.useCallback)((newValue) => {
|
|
42
51
|
setRichTimelineState((prevState) => {
|
|
@@ -54,6 +63,12 @@ const EditorContexts = ({ children }) => {
|
|
|
54
63
|
setCheckerboard,
|
|
55
64
|
};
|
|
56
65
|
}, [checkerboard, setCheckerboard]);
|
|
66
|
+
const editorZoomGesturesCtx = (0, react_1.useMemo)(() => {
|
|
67
|
+
return {
|
|
68
|
+
editorZoomGestures,
|
|
69
|
+
setEditorZoomGestures,
|
|
70
|
+
};
|
|
71
|
+
}, [editorZoomGestures, setEditorZoomGestures]);
|
|
57
72
|
const richTimelineCtx = (0, react_1.useMemo)(() => {
|
|
58
73
|
return {
|
|
59
74
|
richTimeline,
|
|
@@ -78,6 +93,6 @@ const EditorContexts = ({ children }) => {
|
|
|
78
93
|
setSelectedModal: setModalContextType,
|
|
79
94
|
};
|
|
80
95
|
}, [modalContextType]);
|
|
81
|
-
return ((0, jsx_runtime_1.jsx)(keybindings_1.KeybindingContextProvider, { children: (0, jsx_runtime_1.jsx)(rich_timeline_1.RichTimelineContext.Provider, { value: richTimelineCtx, children: (0, jsx_runtime_1.jsx)(checkerboard_1.CheckerboardContext.Provider, { value: checkerboardCtx, children: (0, jsx_runtime_1.jsx)(preview_size_1.PreviewSizeProvider, { children: (0, jsx_runtime_1.jsx)(modals_1.ModalsContext.Provider, { value: modalsContext, children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.MediaVolumeContext.Provider, { value: mediaVolumeContextValue, children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.SetMediaVolumeContext.Provider, { value: setMediaVolumeContextValue, children: (0, jsx_runtime_1.jsx)(player_1.PlayerInternals.PlayerEventEmitterContext.Provider, { value: emitter, children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarContextProvider, { children: (0, jsx_runtime_1.jsx)(folders_1.FolderContextProvider, { children: (0, jsx_runtime_1.jsx)(highest_z_index_1.HighestZIndexProvider, { children: (0, jsx_runtime_1.jsx)(in_out_1.TimelineInOutContext.Provider, { value: timelineInOutContextValue, children: (0, jsx_runtime_1.jsx)(in_out_1.SetTimelineInOutContext.Provider, { value: setTimelineInOutContextValue, children: children }) }) }) }) }) }) }) }) }) }) }) }) }));
|
|
96
|
+
return ((0, jsx_runtime_1.jsx)(keybindings_1.KeybindingContextProvider, { children: (0, jsx_runtime_1.jsx)(rich_timeline_1.RichTimelineContext.Provider, { value: richTimelineCtx, children: (0, jsx_runtime_1.jsx)(checkerboard_1.CheckerboardContext.Provider, { value: checkerboardCtx, children: (0, jsx_runtime_1.jsx)(editor_zoom_gestures_1.EditorZoomGesturesContext.Provider, { value: editorZoomGesturesCtx, children: (0, jsx_runtime_1.jsx)(preview_size_1.PreviewSizeProvider, { children: (0, jsx_runtime_1.jsx)(modals_1.ModalsContext.Provider, { value: modalsContext, children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.MediaVolumeContext.Provider, { value: mediaVolumeContextValue, children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.SetMediaVolumeContext.Provider, { value: setMediaVolumeContextValue, children: (0, jsx_runtime_1.jsx)(player_1.PlayerInternals.PlayerEventEmitterContext.Provider, { value: emitter, children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarContextProvider, { children: (0, jsx_runtime_1.jsx)(folders_1.FolderContextProvider, { children: (0, jsx_runtime_1.jsx)(highest_z_index_1.HighestZIndexProvider, { children: (0, jsx_runtime_1.jsx)(in_out_1.TimelineInOutContext.Provider, { value: timelineInOutContextValue, children: (0, jsx_runtime_1.jsx)(in_out_1.SetTimelineInOutContext.Provider, { value: setTimelineInOutContextValue, children: children }) }) }) }) }) }) }) }) }) }) }) }) }) }));
|
|
82
97
|
};
|
|
83
98
|
exports.EditorContexts = EditorContexts;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SetStateAction } from 'react';
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import type { ComboboxValue } from '../NewComposition/ComboBox';
|
|
3
4
|
export declare type MenuId = 'remotion' | 'file' | 'view' | 'tools' | 'help';
|
|
@@ -11,7 +12,7 @@ export declare const MenuItem: React.FC<{
|
|
|
11
12
|
label: React.ReactNode;
|
|
12
13
|
id: MenuId;
|
|
13
14
|
selected: boolean;
|
|
14
|
-
onItemSelected: (
|
|
15
|
+
onItemSelected: (s: SetStateAction<string | null>) => void;
|
|
15
16
|
onItemHovered: (id: MenuId) => void;
|
|
16
17
|
onItemQuit: () => void;
|
|
17
18
|
onPreviousMenu: () => void;
|
|
@@ -11,6 +11,7 @@ const react_dom_1 = __importDefault(require("react-dom"));
|
|
|
11
11
|
const colors_1 = require("../../helpers/colors");
|
|
12
12
|
const z_index_1 = require("../../state/z-index");
|
|
13
13
|
const MenuContent_1 = require("../NewComposition/MenuContent");
|
|
14
|
+
const is_menu_item_1 = require("./is-menu-item");
|
|
14
15
|
const portals_1 = require("./portals");
|
|
15
16
|
const styles_1 = require("./styles");
|
|
16
17
|
const container = {
|
|
@@ -58,9 +59,25 @@ const MenuItem = ({ label: itemName, selected, id, onItemSelected, onItemHovered
|
|
|
58
59
|
const onPointerLeave = (0, react_1.useCallback)(() => {
|
|
59
60
|
setHovered(false);
|
|
60
61
|
}, []);
|
|
61
|
-
const
|
|
62
|
+
const onPointerDown = (0, react_1.useCallback)(() => {
|
|
62
63
|
onItemSelected(id);
|
|
63
|
-
|
|
64
|
+
window.addEventListener('pointerup', (e) => {
|
|
65
|
+
if (!(0, is_menu_item_1.isMenuItem)(e.target)) {
|
|
66
|
+
onItemQuit();
|
|
67
|
+
}
|
|
68
|
+
}, {
|
|
69
|
+
once: true,
|
|
70
|
+
});
|
|
71
|
+
}, [id, onItemQuit, onItemSelected]);
|
|
72
|
+
const onClick = (0, react_1.useCallback)((e) => {
|
|
73
|
+
e.stopPropagation();
|
|
74
|
+
const isKeyboardInitiated = e.detail === 0;
|
|
75
|
+
if (!isKeyboardInitiated) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
onItemSelected((p) => {
|
|
79
|
+
return p === null ? id : null;
|
|
80
|
+
});
|
|
64
81
|
}, [id, onItemSelected]);
|
|
65
82
|
const outerStyle = (0, react_1.useMemo)(() => {
|
|
66
83
|
var _a, _b;
|
|
@@ -69,7 +86,7 @@ const MenuItem = ({ label: itemName, selected, id, onItemSelected, onItemHovered
|
|
|
69
86
|
top: ((_a = size === null || size === void 0 ? void 0 : size.top) !== null && _a !== void 0 ? _a : 0) + ((_b = size === null || size === void 0 ? void 0 : size.height) !== null && _b !== void 0 ? _b : 0),
|
|
70
87
|
};
|
|
71
88
|
}, [size]);
|
|
72
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("button", { ref: ref, role: "button", tabIndex: tabIndex, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, onClick: onClick, style: containerStyle, type: "button", children: itemName }), portalStyle
|
|
89
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("button", { ref: ref, role: "button", tabIndex: tabIndex, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, onPointerDown: onPointerDown, onClick: onClick, style: containerStyle, type: "button", className: is_menu_item_1.MENU_INITIATOR_CLASSNAME, children: itemName }), portalStyle
|
|
73
90
|
? react_dom_1.default.createPortal((0, jsx_runtime_1.jsx)("div", { className: "css-reset", style: outerStyle, children: (0, jsx_runtime_1.jsx)(z_index_1.HigherZIndex, { onEscape: onItemQuit, onOutsideClick: onItemQuit, children: (0, jsx_runtime_1.jsx)("div", { style: portalStyle, children: (0, jsx_runtime_1.jsx)(MenuContent_1.MenuContent, { onNextMenu: onPreviousMenu, onPreviousMenu: onNextMenu, values: menu.items, onHide: onItemQuit, leaveLeftSpace: menu.leaveLeftPadding, preselectIndex: false, topItemCanBeUnselected: true }) }) }) }), (0, portals_1.getPortal)(currentZIndex))
|
|
74
91
|
: null] }));
|
|
75
92
|
};
|
|
@@ -13,6 +13,7 @@ const use_keybinding_1 = require("../../helpers/use-keybinding");
|
|
|
13
13
|
const caret_1 = require("../../icons/caret");
|
|
14
14
|
const z_index_1 = require("../../state/z-index");
|
|
15
15
|
const layout_1 = require("../layout");
|
|
16
|
+
const is_menu_item_1 = require("./is-menu-item");
|
|
16
17
|
const portals_1 = require("./portals");
|
|
17
18
|
const styles_1 = require("./styles");
|
|
18
19
|
const SubMenu_1 = require("./SubMenu");
|
|
@@ -53,7 +54,7 @@ const MenuSubItem = ({ label, leaveLeftSpace, leftItem, onActionChosen, id, sele
|
|
|
53
54
|
backgroundColor: selected ? colors_1.CLEAR_HOVER : 'transparent',
|
|
54
55
|
};
|
|
55
56
|
}, [selected]);
|
|
56
|
-
const
|
|
57
|
+
const onItemTriggered = (0, react_1.useCallback)(() => {
|
|
57
58
|
onActionChosen(id);
|
|
58
59
|
}, [id, onActionChosen]);
|
|
59
60
|
const onPointerEnter = (0, react_1.useCallback)(() => {
|
|
@@ -85,7 +86,7 @@ const MenuSubItem = ({ label, leaveLeftSpace, leftItem, onActionChosen, id, sele
|
|
|
85
86
|
}, 100);
|
|
86
87
|
return () => clearTimeout(hi);
|
|
87
88
|
}, [hovered, selected, setSubMenuActivated, subMenu]);
|
|
88
|
-
return ((0, jsx_runtime_1.jsx)("div", { ref: ref, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, style: style,
|
|
89
|
+
return ((0, jsx_runtime_1.jsx)("div", { ref: ref, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, style: style, onPointerUp: onItemTriggered, role: "button", className: is_menu_item_1.MENU_ITEM_CLASSNAME, children: (0, jsx_runtime_1.jsxs)(layout_1.Row, { children: [leaveLeftSpace ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { style: leftSpace, children: leftItem }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 })] })) : null, (0, jsx_runtime_1.jsx)("div", { style: labelStyle, children: label }), " ", (0, jsx_runtime_1.jsx)(layout_1.Flex, {}), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }), subMenu ? (0, jsx_runtime_1.jsx)(caret_1.CaretRight, {}) : null, keyHint && !(0, use_keybinding_1.areKeyboardShortcutsDisabled)() ? ((0, jsx_runtime_1.jsx)("span", { style: keyHintCss, children: keyHint })) : null, portalStyle && subMenu
|
|
89
90
|
? react_dom_1.default.createPortal((0, jsx_runtime_1.jsx)(SubMenu_1.SubMenuComponent, { onQuitFullMenu: onQuitMenu, subMenu: subMenu, onQuitSubMenu: onQuitSubmenu, portalStyle: portalStyle, subMenuActivated: subMenuActivated }), (0, portals_1.getPortal)(currentZIndex))
|
|
90
91
|
: null] }) }));
|
|
91
92
|
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isMenuItem = exports.MENU_ITEM_CLASSNAME = exports.MENU_INITIATOR_CLASSNAME = void 0;
|
|
4
|
+
exports.MENU_INITIATOR_CLASSNAME = '__remotion-preview-menu-initiator';
|
|
5
|
+
exports.MENU_ITEM_CLASSNAME = '__remotion-preview-menu-item';
|
|
6
|
+
const isMenuItem = (el) => {
|
|
7
|
+
return Boolean(el.classList.contains(exports.MENU_ITEM_CLASSNAME) ||
|
|
8
|
+
el.closest(`.${exports.MENU_ITEM_CLASSNAME}`) ||
|
|
9
|
+
el.classList.contains(exports.MENU_INITIATOR_CLASSNAME) ||
|
|
10
|
+
el.closest(`.${exports.MENU_INITIATOR_CLASSNAME}`));
|
|
11
|
+
};
|
|
12
|
+
exports.isMenuItem = isMenuItem;
|
|
@@ -13,6 +13,7 @@ const noop_1 = require("../../helpers/noop");
|
|
|
13
13
|
const caret_1 = require("../../icons/caret");
|
|
14
14
|
const z_index_1 = require("../../state/z-index");
|
|
15
15
|
const layout_1 = require("../layout");
|
|
16
|
+
const is_menu_item_1 = require("../Menu/is-menu-item");
|
|
16
17
|
const portals_1 = require("../Menu/portals");
|
|
17
18
|
const styles_1 = require("../Menu/styles");
|
|
18
19
|
const MenuContent_1 = require("./MenuContent");
|
|
@@ -44,21 +45,50 @@ const Combobox = ({ values, selectedId, style: customStyle, title }) => {
|
|
|
44
45
|
}
|
|
45
46
|
const onMouseEnter = () => setIsHovered(true);
|
|
46
47
|
const onMouseLeave = () => setIsHovered(false);
|
|
48
|
+
const onPointerDown = (e) => {
|
|
49
|
+
e.stopPropagation();
|
|
50
|
+
return setOpened((o) => {
|
|
51
|
+
if (!o) {
|
|
52
|
+
refresh === null || refresh === void 0 ? void 0 : refresh();
|
|
53
|
+
window.addEventListener('pointerup', (evt) => {
|
|
54
|
+
if (!(0, is_menu_item_1.isMenuItem)(evt.target)) {
|
|
55
|
+
setOpened(false);
|
|
56
|
+
}
|
|
57
|
+
}, {
|
|
58
|
+
once: true,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
return !o;
|
|
62
|
+
});
|
|
63
|
+
};
|
|
47
64
|
const onClick = (e) => {
|
|
48
65
|
e.stopPropagation();
|
|
66
|
+
const isKeyboardInitiated = e.detail === 0;
|
|
67
|
+
if (!isKeyboardInitiated) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
49
70
|
return setOpened((o) => {
|
|
50
71
|
if (!o) {
|
|
51
72
|
refresh === null || refresh === void 0 ? void 0 : refresh();
|
|
73
|
+
window.addEventListener('pointerup', (evt) => {
|
|
74
|
+
if (!(0, is_menu_item_1.isMenuItem)(evt.target)) {
|
|
75
|
+
setOpened(false);
|
|
76
|
+
}
|
|
77
|
+
}, {
|
|
78
|
+
once: true,
|
|
79
|
+
});
|
|
52
80
|
}
|
|
53
81
|
return !o;
|
|
54
82
|
});
|
|
55
83
|
};
|
|
56
84
|
current.addEventListener('mouseenter', onMouseEnter);
|
|
57
85
|
current.addEventListener('mouseleave', onMouseLeave);
|
|
86
|
+
current.addEventListener('pointerdown', onPointerDown);
|
|
58
87
|
current.addEventListener('click', onClick);
|
|
59
88
|
return () => {
|
|
60
89
|
current.removeEventListener('mouseenter', onMouseEnter);
|
|
61
90
|
current.removeEventListener('mouseleave', onMouseLeave);
|
|
91
|
+
current.removeEventListener('pointerdown', onPointerDown);
|
|
62
92
|
current.removeEventListener('click', onClick);
|
|
63
93
|
};
|
|
64
94
|
}, [refresh]);
|
|
@@ -99,7 +129,7 @@ const Combobox = ({ values, selectedId, style: customStyle, title }) => {
|
|
|
99
129
|
: colors_1.INPUT_BORDER_COLOR_UNHOVERED,
|
|
100
130
|
};
|
|
101
131
|
}, [customStyle, hovered, opened]);
|
|
102
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("button", { ref: ref, title: title, tabIndex: tabIndex, type: "button", style: style, children: [selected.label, " ", (0, jsx_runtime_1.jsx)(layout_1.Flex, {}), " ", (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), " ", (0, jsx_runtime_1.jsx)(caret_1.CaretDown, {})] }), portalStyle
|
|
132
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("button", { ref: ref, title: title, tabIndex: tabIndex, type: "button", style: style, className: is_menu_item_1.MENU_INITIATOR_CLASSNAME, children: [selected.label, " ", (0, jsx_runtime_1.jsx)(layout_1.Flex, {}), " ", (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), " ", (0, jsx_runtime_1.jsx)(caret_1.CaretDown, {})] }), portalStyle
|
|
103
133
|
? react_dom_1.default.createPortal((0, jsx_runtime_1.jsx)("div", { style: styles_1.outerPortal, className: "css-reset", children: (0, jsx_runtime_1.jsx)(z_index_1.HigherZIndex, { onOutsideClick: onHide, onEscape: onHide, children: (0, jsx_runtime_1.jsx)("div", { style: portalStyle, children: (0, jsx_runtime_1.jsx)(MenuContent_1.MenuContent, { onNextMenu: noop_1.noop, onPreviousMenu: noop_1.noop, values: values, onHide: onHide, leaveLeftSpace: true, preselectIndex: values.findIndex((v) => v.id === selected.id), topItemCanBeUnselected: false }) }) }) }), (0, portals_1.getPortal)(currentZIndex))
|
|
104
134
|
: null] }));
|
|
105
135
|
};
|
|
@@ -22,7 +22,9 @@ const MenuContent = ({ onHide, values, preselectIndex, onNextMenu, onPreviousMen
|
|
|
22
22
|
if (values[0].type === 'divider') {
|
|
23
23
|
throw new Error('first value cant be divide');
|
|
24
24
|
}
|
|
25
|
-
const [selectedItem, setSelectedItem] = (0, react_1.useState)(typeof preselectIndex === 'number'
|
|
25
|
+
const [selectedItem, setSelectedItem] = (0, react_1.useState)(typeof preselectIndex === 'number'
|
|
26
|
+
? values[preselectIndex].id
|
|
27
|
+
: null);
|
|
26
28
|
const onEscape = (0, react_1.useCallback)(() => {
|
|
27
29
|
onHide();
|
|
28
30
|
}, [onHide]);
|
|
@@ -80,6 +82,7 @@ const MenuContent = ({ onHide, values, preselectIndex, onNextMenu, onPreviousMen
|
|
|
80
82
|
if (item.subMenu) {
|
|
81
83
|
return setSubMenuActivated('without-mouse');
|
|
82
84
|
}
|
|
85
|
+
onHide();
|
|
83
86
|
item.onClick(item.id);
|
|
84
87
|
}, [onHide, selectedItem, values]);
|
|
85
88
|
const onArrowRight = (0, react_1.useCallback)(() => {
|
|
@@ -12,6 +12,7 @@ const SizeSelector_1 = require("../components/SizeSelector");
|
|
|
12
12
|
const TimelineInOutToggle_1 = require("../components/TimelineInOutToggle");
|
|
13
13
|
const Checkmark_1 = require("../icons/Checkmark");
|
|
14
14
|
const checkerboard_1 = require("../state/checkerboard");
|
|
15
|
+
const editor_zoom_gestures_1 = require("../state/editor-zoom-gestures");
|
|
15
16
|
const modals_1 = require("../state/modals");
|
|
16
17
|
const preview_size_1 = require("../state/preview-size");
|
|
17
18
|
const rich_timeline_1 = require("../state/rich-timeline");
|
|
@@ -30,6 +31,7 @@ const ICON_SIZE = 16;
|
|
|
30
31
|
const useMenuStructure = (closeMenu) => {
|
|
31
32
|
const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
|
|
32
33
|
const { checkerboard, setCheckerboard } = (0, react_1.useContext)(checkerboard_1.CheckerboardContext);
|
|
34
|
+
const { editorZoomGestures, setEditorZoomGestures } = (0, react_1.useContext)(editor_zoom_gestures_1.EditorZoomGesturesContext);
|
|
33
35
|
const { richTimeline, setRichTimeline } = (0, react_1.useContext)(rich_timeline_1.RichTimelineContext);
|
|
34
36
|
const { size, setSize } = (0, react_1.useContext)(preview_size_1.PreviewSizeContext);
|
|
35
37
|
const { setSidebarCollapsedState, sidebarCollapsedState } = (0, react_1.useContext)(sidebar_1.SidebarContext);
|
|
@@ -205,6 +207,22 @@ const useMenuStructure = (closeMenu) => {
|
|
|
205
207
|
},
|
|
206
208
|
quickSwitcherLabel: null,
|
|
207
209
|
},
|
|
210
|
+
{
|
|
211
|
+
id: 'editor-zoom-gestures',
|
|
212
|
+
keyHint: null,
|
|
213
|
+
label: 'Zoom and Pan Gestures',
|
|
214
|
+
onClick: () => {
|
|
215
|
+
closeMenu();
|
|
216
|
+
setEditorZoomGestures((c) => !c);
|
|
217
|
+
},
|
|
218
|
+
type: 'item',
|
|
219
|
+
value: 'editor-zoom-gestures',
|
|
220
|
+
leftItem: editorZoomGestures ? (0, jsx_runtime_1.jsx)(Checkmark_1.Checkmark, {}) : null,
|
|
221
|
+
subMenu: null,
|
|
222
|
+
quickSwitcherLabel: editorZoomGestures
|
|
223
|
+
? 'Disable Zoom and Pan Gestures'
|
|
224
|
+
: 'Enable Zoom and Pan Gestures',
|
|
225
|
+
},
|
|
208
226
|
{
|
|
209
227
|
id: 'timeline-divider-1',
|
|
210
228
|
type: 'divider',
|
|
@@ -227,6 +245,7 @@ const useMenuStructure = (closeMenu) => {
|
|
|
227
245
|
label: 'Responsive',
|
|
228
246
|
leftItem: sidebarCollapsedState === 'responsive' ? ((0, jsx_runtime_1.jsx)(Checkmark_1.Checkmark, {})) : null,
|
|
229
247
|
onClick: () => {
|
|
248
|
+
closeMenu();
|
|
230
249
|
setSidebarCollapsedState('responsive');
|
|
231
250
|
},
|
|
232
251
|
subMenu: null,
|
|
@@ -240,6 +259,7 @@ const useMenuStructure = (closeMenu) => {
|
|
|
240
259
|
label: 'Expanded',
|
|
241
260
|
leftItem: sidebarCollapsedState === 'expanded' ? (0, jsx_runtime_1.jsx)(Checkmark_1.Checkmark, {}) : null,
|
|
242
261
|
onClick: () => {
|
|
262
|
+
closeMenu();
|
|
243
263
|
setSidebarCollapsedState('expanded');
|
|
244
264
|
},
|
|
245
265
|
subMenu: null,
|
|
@@ -253,6 +273,7 @@ const useMenuStructure = (closeMenu) => {
|
|
|
253
273
|
label: 'Collapsed',
|
|
254
274
|
leftItem: sidebarCollapsedState === 'collapsed' ? ((0, jsx_runtime_1.jsx)(Checkmark_1.Checkmark, {})) : null,
|
|
255
275
|
onClick: () => {
|
|
276
|
+
closeMenu();
|
|
256
277
|
setSidebarCollapsedState('collapsed');
|
|
257
278
|
},
|
|
258
279
|
subMenu: null,
|
|
@@ -567,8 +588,10 @@ const useMenuStructure = (closeMenu) => {
|
|
|
567
588
|
}, [
|
|
568
589
|
checkerboard,
|
|
569
590
|
closeMenu,
|
|
591
|
+
editorZoomGestures,
|
|
570
592
|
richTimeline,
|
|
571
593
|
setCheckerboard,
|
|
594
|
+
setEditorZoomGestures,
|
|
572
595
|
setRichTimeline,
|
|
573
596
|
setSelectedModal,
|
|
574
597
|
setSidebarCollapsedState,
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type State = {
|
|
3
|
+
editorZoomGestures: boolean;
|
|
4
|
+
setEditorZoomGestures: (cb: (prevState: boolean) => boolean) => void;
|
|
5
|
+
};
|
|
6
|
+
export declare const persistEditorZoomGesturesOption: (option: boolean) => void;
|
|
7
|
+
export declare const loadEditorZoomGesturesOption: () => boolean;
|
|
8
|
+
export declare const EditorZoomGesturesContext: import("react").Context<State>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EditorZoomGesturesContext = exports.loadEditorZoomGesturesOption = exports.persistEditorZoomGesturesOption = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const persistEditorZoomGesturesOption = (option) => {
|
|
6
|
+
localStorage.setItem('remotion.editorZoomGestures', String(option));
|
|
7
|
+
};
|
|
8
|
+
exports.persistEditorZoomGesturesOption = persistEditorZoomGesturesOption;
|
|
9
|
+
const loadEditorZoomGesturesOption = () => {
|
|
10
|
+
const item = localStorage.getItem('remotion.editorZoomGestures');
|
|
11
|
+
return item !== 'false';
|
|
12
|
+
};
|
|
13
|
+
exports.loadEditorZoomGesturesOption = loadEditorZoomGesturesOption;
|
|
14
|
+
exports.EditorZoomGesturesContext = (0, react_1.createContext)({
|
|
15
|
+
editorZoomGestures: (0, exports.loadEditorZoomGesturesOption)(),
|
|
16
|
+
setEditorZoomGestures: () => undefined,
|
|
17
|
+
});
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.PreviewSizeProvider = exports.PreviewSizeContext = exports.loadPreviewSizeOption = exports.persistPreviewSizeOption = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
|
+
const editor_zoom_gestures_1 = require("./editor-zoom-gestures");
|
|
6
7
|
const key = 'remotion.previewSize';
|
|
7
8
|
const persistPreviewSizeOption = (option) => {
|
|
8
9
|
localStorage.setItem(key, JSON.stringify(option));
|
|
@@ -34,6 +35,7 @@ const PreviewSizeProvider = ({ children }) => {
|
|
|
34
35
|
y: 0,
|
|
35
36
|
};
|
|
36
37
|
});
|
|
38
|
+
const { editorZoomGestures } = (0, react_1.useContext)(editor_zoom_gestures_1.EditorZoomGesturesContext);
|
|
37
39
|
const setSize = (0, react_1.useCallback)((newValue) => {
|
|
38
40
|
setSizeState((prevState) => {
|
|
39
41
|
const newVal = newValue(prevState);
|
|
@@ -43,12 +45,20 @@ const PreviewSizeProvider = ({ children }) => {
|
|
|
43
45
|
}, []);
|
|
44
46
|
const previewSizeCtx = (0, react_1.useMemo)(() => {
|
|
45
47
|
return {
|
|
46
|
-
size
|
|
48
|
+
size: editorZoomGestures
|
|
49
|
+
? size
|
|
50
|
+
: {
|
|
51
|
+
size: size.size,
|
|
52
|
+
translation: {
|
|
53
|
+
x: 0,
|
|
54
|
+
y: 0,
|
|
55
|
+
},
|
|
56
|
+
},
|
|
47
57
|
setSize,
|
|
48
58
|
translation,
|
|
49
59
|
setTranslation,
|
|
50
60
|
};
|
|
51
|
-
}, [
|
|
61
|
+
}, [editorZoomGestures, size, setSize, translation]);
|
|
52
62
|
return ((0, jsx_runtime_1.jsx)(exports.PreviewSizeContext.Provider, { value: previewSizeCtx, children: children }));
|
|
53
63
|
};
|
|
54
64
|
exports.PreviewSizeProvider = PreviewSizeProvider;
|
|
@@ -30,7 +30,7 @@ export declare const getCliOptions: (options: {
|
|
|
30
30
|
browserExecutable: BrowserExecutable;
|
|
31
31
|
ffmpegExecutable: import("@remotion/renderer").FfmpegExecutable;
|
|
32
32
|
ffprobeExecutable: import("@remotion/renderer").FfmpegExecutable;
|
|
33
|
-
logLevel: "verbose" | "
|
|
33
|
+
logLevel: "verbose" | "error" | "info" | "warn";
|
|
34
34
|
scale: number;
|
|
35
35
|
chromiumOptions: ChromiumOptions;
|
|
36
36
|
overwrite: boolean;
|
|
@@ -1 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description You can retrieve inputs that you pass in, from the command line using --props, or the inputProps parameter if you're using the Node.js API
|
|
3
|
+
* @see [Documentation](https://www.remotion.dev/docs/get-input-props)
|
|
4
|
+
*/
|
|
1
5
|
export declare const getInputProps: (onUpdate: (newProps: object) => void) => object;
|
package/dist/get-input-props.js
CHANGED
|
@@ -9,6 +9,10 @@ const os_1 = __importDefault(require("os"));
|
|
|
9
9
|
const path_1 = __importDefault(require("path"));
|
|
10
10
|
const log_1 = require("./log");
|
|
11
11
|
const parse_command_line_1 = require("./parse-command-line");
|
|
12
|
+
/**
|
|
13
|
+
* @description You can retrieve inputs that you pass in, from the command line using --props, or the inputProps parameter if you're using the Node.js API
|
|
14
|
+
* @see [Documentation](https://www.remotion.dev/docs/get-input-props)
|
|
15
|
+
*/
|
|
12
16
|
const getInputProps = (onUpdate) => {
|
|
13
17
|
if (!parse_command_line_1.parsedCli.props) {
|
|
14
18
|
return {};
|
package/dist/index.d.ts
CHANGED
|
@@ -88,7 +88,7 @@ export declare const CliInternals: {
|
|
|
88
88
|
browserExecutable: import("@remotion/renderer").BrowserExecutable;
|
|
89
89
|
ffmpegExecutable: import("@remotion/renderer").FfmpegExecutable;
|
|
90
90
|
ffprobeExecutable: import("@remotion/renderer").FfmpegExecutable;
|
|
91
|
-
logLevel: "verbose" | "
|
|
91
|
+
logLevel: "verbose" | "error" | "info" | "warn";
|
|
92
92
|
scale: number;
|
|
93
93
|
chromiumOptions: import("@remotion/renderer").ChromiumOptions;
|
|
94
94
|
overwrite: boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/cli",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.55",
|
|
4
4
|
"description": "CLI for Remotion",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -22,16 +22,16 @@
|
|
|
22
22
|
"author": "Jonny Burger <jonny@remotion.dev>",
|
|
23
23
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@remotion/bundler": "3.3.
|
|
26
|
-
"@remotion/media-utils": "3.3.
|
|
27
|
-
"@remotion/player": "3.3.
|
|
28
|
-
"@remotion/renderer": "3.3.
|
|
25
|
+
"@remotion/bundler": "3.3.55",
|
|
26
|
+
"@remotion/media-utils": "3.3.55",
|
|
27
|
+
"@remotion/player": "3.3.55",
|
|
28
|
+
"@remotion/renderer": "3.3.55",
|
|
29
29
|
"better-opn": "2.1.1",
|
|
30
30
|
"dotenv": "9.0.2",
|
|
31
31
|
"memfs": "3.4.3",
|
|
32
32
|
"minimist": "1.2.6",
|
|
33
33
|
"prompts": "2.4.1",
|
|
34
|
-
"remotion": "3.3.
|
|
34
|
+
"remotion": "3.3.55",
|
|
35
35
|
"semver": "7.3.5",
|
|
36
36
|
"source-map": "0.6.1"
|
|
37
37
|
},
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"publishConfig": {
|
|
72
72
|
"access": "public"
|
|
73
73
|
},
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "4cecccc293e9c906c693f55fac65df8f1cfd2338"
|
|
75
75
|
}
|
package/dist/gcp-command.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const gcpCommand: (remotionRoot: string, args: string[]) => Promise<never>;
|
package/dist/gcp-command.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.gcpCommand = void 0;
|
|
4
|
-
const log_1 = require("./log");
|
|
5
|
-
const get_package_manager_1 = require("./preview-server/get-package-manager");
|
|
6
|
-
const update_available_1 = require("./preview-server/update-available");
|
|
7
|
-
const gcpCommand = async (remotionRoot, args) => {
|
|
8
|
-
try {
|
|
9
|
-
const path = require.resolve('@remotion/gcp', {
|
|
10
|
-
paths: [remotionRoot],
|
|
11
|
-
});
|
|
12
|
-
const { GCPInternals } = require(path);
|
|
13
|
-
await GCPInternals.executeCommand(args, remotionRoot);
|
|
14
|
-
process.exit(0);
|
|
15
|
-
}
|
|
16
|
-
catch (err) {
|
|
17
|
-
const manager = (0, get_package_manager_1.getPackageManager)(remotionRoot, undefined);
|
|
18
|
-
const installCommand = manager === 'unknown' ? 'npm i' : manager.installCommand;
|
|
19
|
-
log_1.Log.error(err);
|
|
20
|
-
log_1.Log.error('Remotion GCP is not installed.');
|
|
21
|
-
log_1.Log.info('');
|
|
22
|
-
log_1.Log.info('You can install it using:');
|
|
23
|
-
log_1.Log.info(`${installCommand} @remotion/gcp@${(0, update_available_1.getRemotionVersion)()}`);
|
|
24
|
-
process.exit(1);
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
exports.gcpCommand = gcpCommand;
|