@remotion/studio 4.0.519 → 4.0.521
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/api/shut-down-studio.d.ts +6 -0
- package/dist/api/shut-down-studio.js +23 -0
- package/dist/api/visual-control.js +2 -2
- package/dist/components/AudioWaveform.js +16 -7
- package/dist/components/Canvas.js +114 -48
- package/dist/components/CaptionInspector.d.ts +1 -0
- package/dist/components/CaptionInspector.js +43 -2
- package/dist/components/CaptionTextEditor.js +1 -1
- package/dist/components/CompositionSelector.js +41 -34
- package/dist/components/CompositionSelectorItem.d.ts +7 -0
- package/dist/components/CompositionSelectorItem.js +344 -73
- package/dist/components/CurrentCompositionSideEffects.js +5 -0
- package/dist/components/ElementInstallConfirmation.d.ts +2 -23
- package/dist/components/ElementInstallConfirmation.js +89 -65
- package/dist/components/ElementLibraryModal.js +3 -1
- package/dist/components/FpsCounter.js +1 -1
- package/dist/components/FramePersistor.js +1 -1
- package/dist/components/InlineCaptionInspector.js +37 -1
- package/dist/components/InspectorPanel/ElementLibraryButton.js +3 -18
- package/dist/components/InspectorPanel/SequenceSelectionInspector.js +4 -3
- package/dist/components/InspectorPanel/use-composition-actions.js +5 -8
- package/dist/components/InspectorSequenceSection.js +1 -4
- package/dist/components/Menu/MenuSubItem.js +1 -1
- package/dist/components/ModalContainer.d.ts +1 -0
- package/dist/components/ModalContainer.js +2 -2
- package/dist/components/ModalHeader.js +5 -1
- package/dist/components/Modals.js +1 -1
- package/dist/components/NewComposition/NewComposition.js +2 -2
- package/dist/components/PlayPause.js +2 -13
- package/dist/components/PreviewToolbar.js +1 -1
- package/dist/components/QuickSwitcher/QuickSwitcherContent.js +29 -15
- package/dist/components/QuickSwitcher/QuickSwitcherResult.d.ts +14 -1
- package/dist/components/QuickSwitcher/QuickSwitcherResult.js +64 -9
- package/dist/components/QuickSwitcher/asset-search.d.ts +0 -1
- package/dist/components/QuickSwitcher/asset-search.js +1 -16
- package/dist/components/QuickSwitcher/composition-search.d.ts +16 -0
- package/dist/components/QuickSwitcher/composition-search.js +136 -0
- package/dist/components/RenderButton.js +2 -2
- package/dist/components/RenderModal/RenderStatusModal.js +7 -1
- package/dist/components/RenderModal/ServerRenderModal.js +1 -1
- package/dist/components/RenderModal/WebRenderModal.js +1 -1
- package/dist/components/RenderQueue/ClientRenderQueueProcessor.js +1 -1
- package/dist/components/ResetZoomButton.js +17 -2
- package/dist/components/SelectedOutlineElement.js +10 -30
- package/dist/components/SettingsModal.js +8 -5
- package/dist/components/TimeValue.js +36 -7
- package/dist/components/Timeline/Timeline.d.ts +1 -1
- package/dist/components/Timeline/Timeline.js +33 -20
- package/dist/components/Timeline/TimelineAssetField.d.ts +0 -1
- package/dist/components/Timeline/TimelineAssetField.js +17 -9
- package/dist/components/Timeline/TimelineCollapseToggle.js +1 -1
- package/dist/components/Timeline/TimelineDeleteKeybindings.js +5 -90
- package/dist/components/Timeline/TimelineDragHandler.js +18 -8
- package/dist/components/Timeline/TimelineFontWeightField.d.ts +11 -0
- package/dist/components/Timeline/TimelineFontWeightField.js +65 -0
- package/dist/components/Timeline/TimelineInOutDragHandler.js +2 -3
- package/dist/components/Timeline/TimelineLayerChildren.d.ts +21 -0
- package/dist/components/Timeline/TimelineLayerChildren.js +129 -0
- package/dist/components/Timeline/TimelineNumberField.js +13 -5
- package/dist/components/Timeline/TimelinePinchZoom.js +14 -4
- package/dist/components/Timeline/TimelinePlayCursorSyncer.js +8 -4
- package/dist/components/Timeline/TimelinePrimitiveFieldValue.js +4 -0
- package/dist/components/Timeline/TimelineSequence.js +54 -73
- package/dist/components/Timeline/TimelineSequenceItem.js +16 -36
- package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +22 -10
- package/dist/components/Timeline/TimelineSlider.js +2 -2
- package/dist/components/Timeline/TimelineTickFormatProvider.d.ts +8 -0
- package/dist/components/Timeline/TimelineTickFormatProvider.js +16 -0
- package/dist/components/Timeline/TimelineTimeIndicators.js +7 -3
- package/dist/components/Timeline/TimelineVideoInfo.js +7 -3
- package/dist/components/Timeline/TimelineWidthProvider.js +15 -8
- package/dist/components/Timeline/TimelineZoomControls.js +25 -8
- package/dist/components/Timeline/delete-selected-timeline-item.js +2 -2
- package/dist/components/Timeline/timeline-field-display-utils.js +1 -0
- package/dist/components/Timeline/timeline-scroll-logic.d.ts +1 -0
- package/dist/components/Timeline/timeline-scroll-logic.js +21 -17
- package/dist/components/Timeline/use-delete-timeline-items.d.ts +1 -0
- package/dist/components/Timeline/use-delete-timeline-items.js +118 -0
- package/dist/components/Timeline/use-timeline-asset-drop.js +8 -14
- package/dist/components/UpdateStatusContext.d.ts +5 -0
- package/dist/components/UpdateStatusContext.js +53 -2
- package/dist/components/UpdatesSettings.js +25 -4
- package/dist/components/WebMcp.js +87 -8
- package/dist/components/ZoomPersistor.js +2 -2
- package/dist/components/composition-drag-data.d.ts +36 -0
- package/dist/components/composition-drag-data.js +232 -0
- package/dist/components/composition-selector-drag-data.d.ts +27 -0
- package/dist/components/composition-selector-drag-data.js +80 -0
- package/dist/components/drop-handler-data.d.ts +2 -1
- package/dist/components/drop-handler-data.js +6 -4
- package/dist/components/effect-drag-and-drop.d.ts +2 -5
- package/dist/components/handle-drop.js +6 -2
- package/dist/components/import-assets.d.ts +7 -14
- package/dist/components/import-assets.js +11 -1
- package/dist/components/parse-caption-file.d.ts +5 -0
- package/dist/components/parse-caption-file.js +63 -0
- package/dist/error-overlay/current-error.d.ts +13 -0
- package/dist/error-overlay/current-error.js +21 -0
- package/dist/error-overlay/remotion-overlay/ErrorLoader.js +5 -1
- package/dist/esm/chunk-emw4k5b0.js +99527 -0
- package/dist/esm/{chunk-1fkq5bfq.js → chunk-vkrvnx2h.js} +20116 -16283
- package/dist/esm/index.mjs +27 -9
- package/dist/esm/internals.mjs +17408 -13426
- package/dist/esm/previewEntry.mjs +17285 -13216
- package/dist/esm/renderEntry.mjs +1 -1
- package/dist/helpers/create-folder-tree.js +2 -5
- package/dist/helpers/document-title.d.ts +2 -0
- package/dist/helpers/document-title.js +14 -3
- package/dist/helpers/get-preview-file-type.js +22 -3
- package/dist/helpers/get-timeline-max-zoom.d.ts +34 -28
- package/dist/helpers/get-timeline-max-zoom.js +46 -29
- package/dist/helpers/inserted-element-selection.d.ts +2 -1
- package/dist/helpers/install-fiber-sequence-order-observer.d.ts +37 -0
- package/dist/helpers/install-fiber-sequence-order-observer.js +109 -0
- package/dist/helpers/open-in-editor.js +2 -1
- package/dist/helpers/use-menu-structure.js +2 -2
- package/dist/helpers/use-runtime-values.d.ts +1 -1
- package/dist/helpers/use-runtime-values.js +5 -4
- package/dist/helpers/use-sync-external-store.d.ts +3 -0
- package/dist/helpers/use-sync-external-store.js +5 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -1
- package/dist/previewEntry.js +2 -0
- package/dist/state/modals.d.ts +16 -2
- package/dist/state/timeline-sequence-hover.js +3 -2
- package/dist/state/timeline-zoom.d.ts +0 -1
- package/dist/state/timeline-zoom.js +13 -6
- package/package.json +17 -17
- package/dist/helpers/sort-by-nonce-history.d.ts +0 -1
- package/dist/helpers/sort-by-nonce-history.js +0 -6
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CompositionSelector = exports.useCompositionNavigation = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const studio_protocol_1 = require("@remotion/studio-protocol");
|
|
6
|
-
const studio_shared_1 = require("@remotion/studio-shared");
|
|
7
5
|
const react_1 = require("react");
|
|
8
6
|
const remotion_1 = require("remotion");
|
|
9
7
|
const client_id_1 = require("../helpers/client-id");
|
|
@@ -13,6 +11,7 @@ const persist_open_folders_1 = require("../helpers/persist-open-folders");
|
|
|
13
11
|
const folders_1 = require("../state/folders");
|
|
14
12
|
const modals_1 = require("../state/modals");
|
|
15
13
|
const z_index_1 = require("../state/z-index");
|
|
14
|
+
const composition_selector_drag_data_1 = require("./composition-selector-drag-data");
|
|
16
15
|
const CompositionSelectorItem_1 = require("./CompositionSelectorItem");
|
|
17
16
|
const ContextMenu_1 = require("./ContextMenu");
|
|
18
17
|
const InitialCompositionLoader_1 = require("./InitialCompositionLoader");
|
|
@@ -64,6 +63,19 @@ const container = {
|
|
|
64
63
|
overflow: 'hidden',
|
|
65
64
|
backgroundColor: colors_1.BACKGROUND,
|
|
66
65
|
};
|
|
66
|
+
const list = {
|
|
67
|
+
flex: 1,
|
|
68
|
+
overflowY: 'auto',
|
|
69
|
+
paddingTop: 4,
|
|
70
|
+
paddingBottom: 4,
|
|
71
|
+
backgroundColor: colors_1.BACKGROUND,
|
|
72
|
+
};
|
|
73
|
+
const rootReorderLine = {
|
|
74
|
+
backgroundColor: colors_1.TIMELINE_BLUE,
|
|
75
|
+
height: 2,
|
|
76
|
+
pointerEvents: 'none',
|
|
77
|
+
width: '100%',
|
|
78
|
+
};
|
|
67
79
|
const autoScrollThreshold = 70;
|
|
68
80
|
const maxAutoScrollSpeed = 18;
|
|
69
81
|
const getAutoScrollSpeed = ({ clientY, element, }) => {
|
|
@@ -106,6 +118,7 @@ const CompositionSelector = () => {
|
|
|
106
118
|
setSelectedModal,
|
|
107
119
|
]);
|
|
108
120
|
const [rootDragHovered, setRootDragHovered] = (0, react_1.useState)(false);
|
|
121
|
+
const activeDragRef = (0, react_1.useRef)(null);
|
|
109
122
|
const listRef = (0, react_1.useRef)(null);
|
|
110
123
|
const autoScrollAnimation = (0, react_1.useRef)(null);
|
|
111
124
|
const autoScrollSpeed = (0, react_1.useRef)(0);
|
|
@@ -117,15 +130,6 @@ const CompositionSelector = () => {
|
|
|
117
130
|
? (0, create_folder_tree_1.sortFolderTreeAlphabetically)(tree)
|
|
118
131
|
: tree;
|
|
119
132
|
}, [compositionSortOrder, compositions, folders, foldersExpanded]);
|
|
120
|
-
const list = (0, react_1.useMemo)(() => {
|
|
121
|
-
return {
|
|
122
|
-
flex: 1,
|
|
123
|
-
overflowY: 'auto',
|
|
124
|
-
paddingTop: 4,
|
|
125
|
-
paddingBottom: 4,
|
|
126
|
-
backgroundColor: rootDragHovered ? colors_1.WHITE_ALPHA_12 : colors_1.BACKGROUND,
|
|
127
|
-
};
|
|
128
|
-
}, [rootDragHovered]);
|
|
129
133
|
const toggleFolder = (0, react_1.useCallback)((folderName, parentName) => {
|
|
130
134
|
var _a;
|
|
131
135
|
(_a = remotion_1.Internals.compositionSelectorRef.current) === null || _a === void 0 ? void 0 : _a.toggleFolder(folderName, parentName);
|
|
@@ -166,9 +170,8 @@ const CompositionSelector = () => {
|
|
|
166
170
|
}
|
|
167
171
|
}, [runCompositionListAutoScroll, stopCompositionListAutoScroll]);
|
|
168
172
|
const onCompositionListDragOverCapture = (0, react_1.useCallback)((event) => {
|
|
169
|
-
var _a;
|
|
170
173
|
if (window.remotion_isReadOnlyStudio ||
|
|
171
|
-
(
|
|
174
|
+
!(0, composition_selector_drag_data_1.hasCompositionSelectorDragData)(event.dataTransfer.types)) {
|
|
172
175
|
stopCompositionListAutoScroll();
|
|
173
176
|
return;
|
|
174
177
|
}
|
|
@@ -183,9 +186,13 @@ const CompositionSelector = () => {
|
|
|
183
186
|
return stopCompositionListAutoScroll;
|
|
184
187
|
}, [stopCompositionListAutoScroll]);
|
|
185
188
|
const onRootDragOver = (0, react_1.useCallback)((event) => {
|
|
186
|
-
var _a;
|
|
187
189
|
if (window.remotion_isReadOnlyStudio ||
|
|
188
|
-
(
|
|
190
|
+
!(0, composition_selector_drag_data_1.hasCompositionSelectorDragData)(event.dataTransfer.types)) {
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
if (activeDragRef.current === null ||
|
|
194
|
+
activeDragRef.current.parentFolderPath === null) {
|
|
195
|
+
setRootDragHovered(false);
|
|
189
196
|
return;
|
|
190
197
|
}
|
|
191
198
|
event.preventDefault();
|
|
@@ -205,32 +212,32 @@ const CompositionSelector = () => {
|
|
|
205
212
|
if (window.remotion_isReadOnlyStudio) {
|
|
206
213
|
return;
|
|
207
214
|
}
|
|
208
|
-
const
|
|
209
|
-
if (
|
|
215
|
+
const dragData = (0, composition_selector_drag_data_1.parseCompositionSelectorDragData)(event.dataTransfer);
|
|
216
|
+
if (dragData === null) {
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
if (activeDragRef.current === null ||
|
|
220
|
+
activeDragRef.current.parentFolderPath === null) {
|
|
221
|
+
event.stopPropagation();
|
|
222
|
+
setRootDragHovered(false);
|
|
210
223
|
return;
|
|
211
224
|
}
|
|
212
|
-
const compositionDragData = parsed.data;
|
|
213
225
|
event.preventDefault();
|
|
214
226
|
event.stopPropagation();
|
|
215
227
|
stopCompositionListAutoScroll();
|
|
216
228
|
setRootDragHovered(false);
|
|
217
|
-
const
|
|
218
|
-
if (!composition || composition.folderName === null) {
|
|
219
|
-
return;
|
|
220
|
-
}
|
|
221
|
-
const notification = (0, NotificationCenter_1.showNotification)(`Moving ${compositionDragData.compositionId}...`, null);
|
|
229
|
+
const notification = (0, NotificationCenter_1.showNotification)(`Moving ${dragData.item.type === 'composition' ? dragData.item.compositionId : dragData.item.folderName}...`, null);
|
|
222
230
|
const controller = new AbortController();
|
|
223
231
|
try {
|
|
224
232
|
const result = await (0, actions_1.applyCodemod)({
|
|
225
233
|
codemod: {
|
|
226
|
-
type: 'move-composition-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
parentName: null,
|
|
234
|
+
type: 'move-composition-or-folder',
|
|
235
|
+
source: dragData.item,
|
|
236
|
+
destination: { type: 'root' },
|
|
230
237
|
},
|
|
231
238
|
dryRun: false,
|
|
232
239
|
signal: controller.signal,
|
|
233
|
-
symbolicatedStack: (0,
|
|
240
|
+
symbolicatedStack: (0, composition_selector_drag_data_1.compositionSelectorDragDataToSymbolicatedStack)(dragData),
|
|
234
241
|
});
|
|
235
242
|
if (result.success) {
|
|
236
243
|
notification.dismiss();
|
|
@@ -242,13 +249,13 @@ const CompositionSelector = () => {
|
|
|
242
249
|
catch (err) {
|
|
243
250
|
notification.replaceContent(err instanceof Error ? err.message : String(err), 4000);
|
|
244
251
|
}
|
|
245
|
-
}, [
|
|
252
|
+
}, [stopCompositionListAutoScroll]);
|
|
246
253
|
return (jsx_runtime_1.jsxs("div", { style: container, children: [
|
|
247
|
-
jsx_runtime_1.jsx(ContextMenu_1.ContextMenuForTarget, { triggerRef: listRef, getItems: getRootContextMenuItems }), jsx_runtime_1.jsx(ExplorerQuickSwitcherTrigger_1.ExplorerQuickSwitcherTrigger, { mode: "compositions", showShortcut: true, tabIndex: tabIndex, getActions: getRootContextMenuItems }), jsx_runtime_1.
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
254
|
+
jsx_runtime_1.jsx(ContextMenu_1.ContextMenuForTarget, { triggerRef: listRef, getItems: getRootContextMenuItems }), jsx_runtime_1.jsx(ExplorerQuickSwitcherTrigger_1.ExplorerQuickSwitcherTrigger, { mode: "compositions", showShortcut: true, tabIndex: tabIndex, getActions: getRootContextMenuItems }), jsx_runtime_1.jsxs("div", { ref: listRef, className: "__remotion-vertical-scrollbar", style: list, onDragOverCapture: onCompositionListDragOverCapture, onDragEndCapture: stopCompositionListAutoScroll, onDragOver: onRootDragOver, onDragLeave: onRootDragLeave, onDropCapture: stopCompositionListAutoScroll, onDrop: onRootDrop, children: [items.map((c, index) => {
|
|
255
|
+
return (jsx_runtime_1.jsx(CompositionSelectorItem_1.CompositionSelectorItem, { level: 0, currentComposition: canvasContent && canvasContent.type === 'composition'
|
|
256
|
+
? canvasContent.compositionId
|
|
257
|
+
: null, selectComposition: selectComposition, toggleFolder: toggleFolder, clearRootDragHover: clearRootDragHover, canReorder: compositionSortOrder === 'registration', tabIndex: tabIndex, item: c, activeDragRef: activeDragRef, parentFolderPath: null, previousSibling: index === 0 ? null : items[index - 1], nextSibling: index === items.length - 1 ? null : items[index + 1] }, c.key + c.type));
|
|
258
|
+
}), rootDragHovered ? (jsx_runtime_1.jsx("div", { "data-composition-root-reorder-line": true, style: rootReorderLine })) : null] })
|
|
252
259
|
] }));
|
|
253
260
|
};
|
|
254
261
|
exports.CompositionSelector = CompositionSelector;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type { MutableRefObject } from 'react';
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import { type _InternalTypes } from 'remotion';
|
|
4
|
+
import { type CompositionSelectorActiveDrag } from './composition-selector-drag-data';
|
|
3
5
|
export type CompositionSelectorItemType = {
|
|
4
6
|
key: string;
|
|
5
7
|
type: 'composition';
|
|
@@ -20,5 +22,10 @@ export declare const CompositionSelectorItem: React.FC<{
|
|
|
20
22
|
readonly selectComposition: (c: _InternalTypes['AnyComposition'], push: boolean) => void;
|
|
21
23
|
readonly toggleFolder: (folderName: string, parentName: string | null) => void;
|
|
22
24
|
readonly clearRootDragHover: () => void;
|
|
25
|
+
readonly canReorder: boolean;
|
|
23
26
|
readonly level: number;
|
|
27
|
+
readonly activeDragRef: MutableRefObject<CompositionSelectorActiveDrag | null>;
|
|
28
|
+
readonly parentFolderPath: string | null;
|
|
29
|
+
readonly previousSibling: CompositionSelectorItemType | null;
|
|
30
|
+
readonly nextSibling: CompositionSelectorItemType | null;
|
|
24
31
|
}>;
|