@remotion/studio 4.0.496 → 4.0.497
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/components/AudioWaveform.js +1 -11
- package/dist/components/Canvas.js +22 -203
- package/dist/components/CompositionSelectorItem.js +2 -10
- package/dist/components/InspectorPanel/AlignmentControls.js +2 -0
- package/dist/components/InspectorPanel/ConnectedCompositionsSection.js +27 -2
- package/dist/components/InspectorPanel/SequenceSelectionInspector.js +65 -8
- package/dist/components/InspectorPanel/use-composition-actions.js +6 -2
- package/dist/components/NewComposition/CodemodFooter.d.ts +1 -1
- package/dist/components/NewComposition/CodemodFooter.js +23 -4
- package/dist/components/NewComposition/InputDragger.d.ts +6 -0
- package/dist/components/NewComposition/InputDragger.js +12 -3
- package/dist/components/NewComposition/NewComposition.js +1 -1
- package/dist/components/NewComposition/use-rename-static-file.js +1 -1
- package/dist/components/SelectedOutlineElement.js +56 -88
- package/dist/components/SelectedOutlineOverlay.d.ts +1 -1
- package/dist/components/SelectedOutlineOverlay.js +9 -10
- package/dist/components/Timeline/Timeline.js +10 -3
- package/dist/components/Timeline/TimelineAssetDropIndicator.d.ts +2 -0
- package/dist/components/Timeline/TimelineAssetDropIndicator.js +37 -0
- package/dist/components/Timeline/TimelineClipboardKeybindings.js +1 -7
- package/dist/components/Timeline/TimelineScrollable.js +3 -2
- package/dist/components/Timeline/TimelineSelection.d.ts +4 -0
- package/dist/components/Timeline/TimelineSelection.js +40 -5
- package/dist/components/Timeline/TimelineSequence.js +20 -8
- package/dist/components/Timeline/TimelineSequenceFrame.js +2 -4
- package/dist/components/Timeline/TimelineSequenceItem.js +2 -0
- package/dist/components/Timeline/TimelineSequencePropItem.js +4 -0
- package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.d.ts +15 -3
- package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +96 -18
- package/dist/components/Timeline/TimelineTimeIndicators.d.ts +16 -0
- package/dist/components/Timeline/TimelineTimeIndicators.js +154 -35
- package/dist/components/Timeline/TimelineTranslateField.js +2 -1
- package/dist/components/Timeline/TimelineVideoInfo.d.ts +1 -0
- package/dist/components/Timeline/TimelineVideoInfo.js +4 -1
- package/dist/components/Timeline/delete-selected-timeline-item.d.ts +2 -0
- package/dist/components/Timeline/delete-selected-timeline-item.js +5 -4
- package/dist/components/Timeline/disable-sequence-interactivity.js +2 -0
- package/dist/components/Timeline/get-timeline-media-visualization-layout.d.ts +8 -0
- package/dist/components/Timeline/get-timeline-media-visualization-layout.js +10 -0
- package/dist/components/Timeline/get-timeline-video-info-widths.js +11 -3
- package/dist/components/Timeline/keyframe-clipboard.js +21 -5
- package/dist/components/Timeline/reset-selected-timeline-props.js +2 -0
- package/dist/components/Timeline/save-sequence-prop.d.ts +5 -3
- package/dist/components/Timeline/save-sequence-prop.js +43 -18
- package/dist/components/Timeline/should-clear-selection-on-pointer-down.d.ts +2 -0
- package/dist/components/Timeline/should-clear-selection-on-pointer-down.js +1 -1
- package/dist/components/Timeline/timeline-asset-drop-context.d.ts +1 -0
- package/dist/components/Timeline/timeline-asset-drop-context.js +5 -0
- package/dist/components/Timeline/timeline-scroll-logic.d.ts +7 -0
- package/dist/components/Timeline/timeline-scroll-logic.js +10 -1
- package/dist/components/Timeline/use-rename-sequence.js +2 -0
- package/dist/components/Timeline/use-sequence-freeze-frame-menu-item.js +2 -0
- package/dist/components/Timeline/use-timeline-asset-drop.d.ts +1 -0
- package/dist/components/Timeline/use-timeline-asset-drop.js +168 -0
- package/dist/components/composition-menu-items.d.ts +15 -1
- package/dist/components/composition-menu-items.js +137 -107
- package/dist/components/drop-handler-data.d.ts +13 -0
- package/dist/components/drop-handler-data.js +117 -0
- package/dist/components/handle-drop.d.ts +13 -0
- package/dist/components/handle-drop.js +115 -0
- package/dist/components/import-assets.d.ts +26 -8
- package/dist/components/import-assets.js +161 -49
- package/dist/components/selected-outline-drag.d.ts +11 -1
- package/dist/components/selected-outline-drag.js +74 -1
- package/dist/esm/{chunk-0v4n7nkh.js → chunk-5wj95bdd.js} +4262 -3392
- package/dist/esm/internals.mjs +4262 -3392
- package/dist/esm/previewEntry.mjs +4464 -3594
- package/dist/esm/renderEntry.mjs +1 -1
- package/dist/helpers/is-video-with-last-frame-hold.d.ts +2 -0
- package/dist/helpers/is-video-with-last-frame-hold.js +9 -0
- package/dist/helpers/url-state.d.ts +1 -0
- package/dist/helpers/url-state.js +5 -1
- package/dist/helpers/use-max-media-duration.js +5 -3
- package/dist/helpers/use-menu-structure.js +2 -0
- package/dist/icons/duplicate.d.ts +5 -0
- package/dist/icons/duplicate.js +10 -0
- package/dist/icons/snowflake.d.ts +5 -0
- package/dist/icons/snowflake.js +10 -0
- package/dist/icons/trash.d.ts +5 -0
- package/dist/icons/trash.js +8 -0
- package/package.json +11 -11
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Dimensions } from '../helpers/is-current-selected-still';
|
|
2
|
+
import { type InsertElementDropPosition } from './import-assets';
|
|
3
|
+
import type { SvgImportMode } from './SvgImportDialog';
|
|
4
|
+
export declare const handleDrop: ({ chooseSvgImportMode, compositionFile, compositionId, destinationDimensions, dropPosition, event, fps, from, }: {
|
|
5
|
+
chooseSvgImportMode: () => Promise<SvgImportMode | null>;
|
|
6
|
+
compositionFile: string;
|
|
7
|
+
compositionId: string;
|
|
8
|
+
destinationDimensions: Dimensions | null;
|
|
9
|
+
dropPosition: InsertElementDropPosition | null;
|
|
10
|
+
event: DragEvent;
|
|
11
|
+
fps: number;
|
|
12
|
+
from: number | null;
|
|
13
|
+
}) => Promise<void>;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleDrop = void 0;
|
|
4
|
+
const remote_asset_drag_1 = require("../helpers/remote-asset-drag");
|
|
5
|
+
const drop_handler_data_1 = require("./drop-handler-data");
|
|
6
|
+
const element_drag_and_drop_1 = require("./element-drag-and-drop");
|
|
7
|
+
const import_assets_1 = require("./import-assets");
|
|
8
|
+
const handleDrop = async ({ chooseSvgImportMode, compositionFile, compositionId, destinationDimensions, dropPosition, event, fps, from, }) => {
|
|
9
|
+
var _a;
|
|
10
|
+
var _b;
|
|
11
|
+
if ((0, drop_handler_data_1.isFileDragEvent)(event)) {
|
|
12
|
+
const files = Array.from((_b = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.files) !== null && _b !== void 0 ? _b : []);
|
|
13
|
+
if (files.length === 0) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const svgImportMode = (0, import_assets_1.hasSvgFile)(files)
|
|
17
|
+
? await chooseSvgImportMode()
|
|
18
|
+
: 'image';
|
|
19
|
+
if (svgImportMode === null) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
await (0, import_assets_1.importAssets)({
|
|
23
|
+
compositionFile,
|
|
24
|
+
compositionId,
|
|
25
|
+
destinationDimensions,
|
|
26
|
+
dropPosition,
|
|
27
|
+
files,
|
|
28
|
+
fps,
|
|
29
|
+
from,
|
|
30
|
+
svgImportMode,
|
|
31
|
+
});
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if ((0, drop_handler_data_1.isAssetDragEvent)(event)) {
|
|
35
|
+
const assetPath = (0, drop_handler_data_1.getAssetDragPath)(event);
|
|
36
|
+
if (assetPath === null) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
await (0, import_assets_1.insertExistingAssets)({
|
|
40
|
+
assetPaths: [assetPath],
|
|
41
|
+
compositionFile,
|
|
42
|
+
compositionId,
|
|
43
|
+
destinationDimensions,
|
|
44
|
+
dropPosition,
|
|
45
|
+
fps,
|
|
46
|
+
from,
|
|
47
|
+
});
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if ((0, drop_handler_data_1.isSfxDragEvent)(event)) {
|
|
51
|
+
const sfxUrl = (0, drop_handler_data_1.getSfxDragUrl)(event);
|
|
52
|
+
if (sfxUrl === null) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
await (0, import_assets_1.insertRemoteAudio)({
|
|
56
|
+
compositionFile,
|
|
57
|
+
compositionId,
|
|
58
|
+
fps,
|
|
59
|
+
from,
|
|
60
|
+
url: sfxUrl,
|
|
61
|
+
});
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
if ((0, drop_handler_data_1.isCompositionDragEvent)(event)) {
|
|
65
|
+
const composition = (0, drop_handler_data_1.getCompositionDragData)(event);
|
|
66
|
+
if (composition === null) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
await (0, import_assets_1.insertComposition)({
|
|
70
|
+
composition,
|
|
71
|
+
compositionFile,
|
|
72
|
+
compositionId,
|
|
73
|
+
destinationDimensions,
|
|
74
|
+
dropPosition,
|
|
75
|
+
from,
|
|
76
|
+
});
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const element = (0, element_drag_and_drop_1.getElementDragData)(event.dataTransfer);
|
|
80
|
+
if (element !== null) {
|
|
81
|
+
await (0, import_assets_1.insertElement)({
|
|
82
|
+
compositionFile,
|
|
83
|
+
compositionId,
|
|
84
|
+
dropPosition,
|
|
85
|
+
element: element.element,
|
|
86
|
+
from,
|
|
87
|
+
});
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const component = (0, drop_handler_data_1.getComponentDragData)(event);
|
|
91
|
+
if (component !== null) {
|
|
92
|
+
await (0, import_assets_1.insertComponent)({
|
|
93
|
+
component: component.component,
|
|
94
|
+
compositionFile,
|
|
95
|
+
compositionId,
|
|
96
|
+
dropPosition,
|
|
97
|
+
from,
|
|
98
|
+
});
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const remoteAssetUrl = (0, remote_asset_drag_1.getRemoteAssetUrlFromDataTransfer)(event.dataTransfer);
|
|
102
|
+
if (remoteAssetUrl === null) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
await (0, import_assets_1.importRemoteAsset)({
|
|
106
|
+
compositionFile,
|
|
107
|
+
compositionId,
|
|
108
|
+
destinationDimensions,
|
|
109
|
+
dropPosition,
|
|
110
|
+
fps,
|
|
111
|
+
from,
|
|
112
|
+
url: remoteAssetUrl,
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
exports.handleDrop = handleDrop;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type ComponentProp, type CompositionDragData, type FileType, type InsertableCompositionElementPosition } from '@remotion/studio-shared';
|
|
2
2
|
import type { Dimensions } from '../helpers/is-current-selected-still';
|
|
3
3
|
export type InsertElementDropPosition = {
|
|
4
4
|
readonly centerX: number;
|
|
@@ -16,6 +16,7 @@ export declare const getAssetElement: ({ fileType, src, }: {
|
|
|
16
16
|
width: number;
|
|
17
17
|
height: number;
|
|
18
18
|
} | null;
|
|
19
|
+
durationInFrames: number | null;
|
|
19
20
|
position: InsertableCompositionElementPosition | null;
|
|
20
21
|
} | null;
|
|
21
22
|
export declare const getAssetElementFromPath: (assetPath: string) => {
|
|
@@ -27,6 +28,7 @@ export declare const getAssetElementFromPath: (assetPath: string) => {
|
|
|
27
28
|
width: number;
|
|
28
29
|
height: number;
|
|
29
30
|
} | null;
|
|
31
|
+
durationInFrames: number | null;
|
|
30
32
|
position: InsertableCompositionElementPosition | null;
|
|
31
33
|
} | null;
|
|
32
34
|
export declare const getAssetElementForDroppedFile: ({ fileType, src, }: {
|
|
@@ -41,6 +43,7 @@ export declare const getAssetElementForDroppedFile: ({ fileType, src, }: {
|
|
|
41
43
|
width: number;
|
|
42
44
|
height: number;
|
|
43
45
|
} | null;
|
|
46
|
+
durationInFrames: number | null;
|
|
44
47
|
position: InsertableCompositionElementPosition | null;
|
|
45
48
|
} | null;
|
|
46
49
|
export declare const hasSvgFile: (files: File[]) => boolean;
|
|
@@ -65,15 +68,21 @@ export declare const getComponentDimensions: (component: {
|
|
|
65
68
|
importPath: string;
|
|
66
69
|
props: ComponentProp[];
|
|
67
70
|
}) => Dimensions | null;
|
|
71
|
+
export declare const getDurationInFrames: ({ durationInSeconds, fps, }: {
|
|
72
|
+
durationInSeconds: number | null;
|
|
73
|
+
fps: number;
|
|
74
|
+
}) => number | null;
|
|
68
75
|
export declare const pickFilesToImport: ({ multiple, }?: {
|
|
69
76
|
readonly multiple?: boolean | undefined;
|
|
70
77
|
}) => Promise<File[]>;
|
|
71
|
-
export declare const importAssets: ({ compositionFile, compositionId, destinationDimensions, dropPosition, files, svgImportMode, }: {
|
|
78
|
+
export declare const importAssets: ({ compositionFile, compositionId, destinationDimensions, dropPosition, files, fps, from, svgImportMode, }: {
|
|
72
79
|
compositionFile: string;
|
|
73
80
|
compositionId: string;
|
|
74
81
|
destinationDimensions: Dimensions | null;
|
|
75
82
|
dropPosition: InsertElementDropPosition | null;
|
|
76
83
|
files: File[];
|
|
84
|
+
fps: number;
|
|
85
|
+
from: number | null;
|
|
77
86
|
svgImportMode: "image" | "inline";
|
|
78
87
|
}) => Promise<void>;
|
|
79
88
|
export declare const importFigmaClipboard: ({ compositionFile, compositionId, destinationDimensions, dropPosition, html, }: {
|
|
@@ -90,26 +99,32 @@ export declare const insertSvgMarkup: ({ compositionFile, compositionId, destina
|
|
|
90
99
|
dropPosition: InsertElementDropPosition | null;
|
|
91
100
|
markup: string;
|
|
92
101
|
}) => Promise<void>;
|
|
93
|
-
export declare const importRemoteAsset: ({ compositionFile, compositionId, destinationDimensions, dropPosition, url, }: {
|
|
102
|
+
export declare const importRemoteAsset: ({ compositionFile, compositionId, destinationDimensions, dropPosition, fps, from, url, }: {
|
|
94
103
|
compositionFile: string;
|
|
95
104
|
compositionId: string;
|
|
96
105
|
destinationDimensions: Dimensions | null;
|
|
97
106
|
dropPosition: InsertElementDropPosition | null;
|
|
107
|
+
fps: number;
|
|
108
|
+
from: number | null;
|
|
98
109
|
url: string;
|
|
99
110
|
}) => Promise<void>;
|
|
100
|
-
export declare const insertRemoteAudio: ({ compositionFile, compositionId, url, }: {
|
|
111
|
+
export declare const insertRemoteAudio: ({ compositionFile, compositionId, fps, from, url, }: {
|
|
101
112
|
compositionFile: string;
|
|
102
113
|
compositionId: string;
|
|
114
|
+
fps: number;
|
|
115
|
+
from: number | null;
|
|
103
116
|
url: string;
|
|
104
117
|
}) => Promise<void>;
|
|
105
|
-
export declare const insertExistingAssets: ({ assetPaths, compositionFile, compositionId, destinationDimensions, dropPosition, }: {
|
|
118
|
+
export declare const insertExistingAssets: ({ assetPaths, compositionFile, compositionId, destinationDimensions, dropPosition, fps, from, }: {
|
|
106
119
|
assetPaths: string[];
|
|
107
120
|
compositionFile: string;
|
|
108
121
|
compositionId: string;
|
|
109
122
|
destinationDimensions: Dimensions | null;
|
|
110
123
|
dropPosition: InsertElementDropPosition | null;
|
|
124
|
+
fps: number;
|
|
125
|
+
from: number | null;
|
|
111
126
|
}) => Promise<void>;
|
|
112
|
-
export declare const insertComponent: ({ component, compositionFile, compositionId, dropPosition, }: {
|
|
127
|
+
export declare const insertComponent: ({ component, compositionFile, compositionId, dropPosition, from, }: {
|
|
113
128
|
component: {
|
|
114
129
|
componentName: string;
|
|
115
130
|
dimensions?: import("@remotion/studio-shared").ComponentDimensions | undefined;
|
|
@@ -120,15 +135,17 @@ export declare const insertComponent: ({ component, compositionFile, composition
|
|
|
120
135
|
compositionFile: string;
|
|
121
136
|
compositionId: string;
|
|
122
137
|
dropPosition: InsertElementDropPosition | null;
|
|
138
|
+
from: number | null;
|
|
123
139
|
}) => Promise<void>;
|
|
124
|
-
export declare const insertComposition: ({ composition, compositionFile, compositionId, destinationDimensions, dropPosition, }: {
|
|
140
|
+
export declare const insertComposition: ({ composition, compositionFile, compositionId, destinationDimensions, dropPosition, from, }: {
|
|
125
141
|
composition: CompositionDragData;
|
|
126
142
|
compositionFile: string;
|
|
127
143
|
compositionId: string;
|
|
128
144
|
destinationDimensions: Dimensions | null;
|
|
129
145
|
dropPosition: InsertElementDropPosition | null;
|
|
146
|
+
from: number | null;
|
|
130
147
|
}) => Promise<void>;
|
|
131
|
-
export declare const insertElement: ({ compositionFile, compositionId, dropPosition, element, }: {
|
|
148
|
+
export declare const insertElement: ({ compositionFile, compositionId, dropPosition, element, from, }: {
|
|
132
149
|
compositionFile: string;
|
|
133
150
|
compositionId: string;
|
|
134
151
|
dropPosition: InsertElementDropPosition | null;
|
|
@@ -139,4 +156,5 @@ export declare const insertElement: ({ compositionFile, compositionId, dropPosit
|
|
|
139
156
|
sourceCode: string;
|
|
140
157
|
dimensions: import("@remotion/studio-shared").ComponentDimensions | null;
|
|
141
158
|
};
|
|
159
|
+
from: number | null;
|
|
142
160
|
}) => Promise<void>;
|