@remotion/studio 4.0.524 → 4.0.525
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/ActionTooltip.d.ts +2 -0
- package/dist/components/ActionTooltip.js +14 -4
- package/dist/components/AppLaunchButton.js +2 -0
- package/dist/components/AssetSelectorModal.d.ts +6 -0
- package/dist/components/AssetSelectorModal.js +174 -0
- package/dist/components/Canvas.js +15 -1
- package/dist/components/CheckboardToggle.js +2 -1
- package/dist/components/ColorPicker/AlphaSlider.js +1 -1
- package/dist/components/ColorPicker/HueSlider.js +1 -1
- package/dist/components/ColorPicker/SaturationValueArea.js +1 -1
- package/dist/components/CompositionSelector.js +1 -0
- package/dist/components/CompositionSelectorItem.js +1 -0
- package/dist/components/EditorGuides/Guide.js +1 -1
- package/dist/components/ElementInstallConfirmation.js +31 -23
- package/dist/components/FullscreenToggle.js +1 -1
- package/dist/components/GlobalKeybindings.js +14 -0
- package/dist/components/InspectorLocationCopy.js +1 -1
- package/dist/components/InspectorOpenInEditor.d.ts +1 -0
- package/dist/components/InspectorOpenInEditor.js +18 -15
- package/dist/components/InspectorPanel/CompositionInspectorHeader.js +6 -7
- package/dist/components/InspectorPanel/CompositionMetadata.js +1 -0
- package/dist/components/InspectorPanel/ElementLibraryButton.js +1 -0
- package/dist/components/InspectorPanel/SequenceInspectorHeader.js +4 -12
- package/dist/components/InspectorSequenceSection.js +18 -9
- package/dist/components/LoopToggle.js +2 -1
- package/dist/components/Menu/MenuItem.js +1 -2
- package/dist/components/MenuBuildIndicator.js +1 -1
- package/dist/components/Modals.js +2 -1
- package/dist/components/MuteToggle.js +2 -1
- package/dist/components/NewComposition/CodemodFooter.js +1 -0
- package/dist/components/NewComposition/DeleteComposition.js +42 -6
- package/dist/components/NewComposition/DeleteFolder.js +1 -0
- package/dist/components/NewComposition/DuplicateComposition.js +5 -0
- package/dist/components/NewComposition/InputDragger.js +2 -2
- package/dist/components/NewComposition/NewFolder.js +29 -2
- package/dist/components/NewComposition/RenameFolder.js +1 -0
- package/dist/components/NewComposition/duplicate-composition-api.d.ts +3 -2
- package/dist/components/NewComposition/duplicate-composition-api.js +9 -2
- package/dist/components/Notifications/NotificationCenter.d.ts +1 -0
- package/dist/components/Notifications/NotificationCenter.js +22 -1
- package/dist/components/OutlineToggle.js +2 -1
- package/dist/components/PlayPause.js +1 -1
- package/dist/components/Preview.js +0 -3
- package/dist/components/PreviewToolbar.js +3 -6
- package/dist/components/PreviewToolbarOverflowButton.js +2 -1
- package/dist/components/QuickSwitcher/QuickSwitcherContent.js +1 -1
- package/dist/components/RenderButton.js +40 -4
- package/dist/components/RenderModal/WebRenderModalBasic.js +1 -1
- package/dist/components/RenderModal/render-modals.js +3 -0
- package/dist/components/RenderQueue/RenderQueueCopyToClipboard.js +1 -1
- package/dist/components/RenderQueue/RenderQueueItemCancelButton.js +1 -1
- package/dist/components/RenderQueue/actions.d.ts +2 -1
- package/dist/components/RenderQueue/actions.js +2 -1
- package/dist/components/RulersAndGuidesToggle.js +2 -1
- package/dist/components/SegmentedButton.d.ts +1 -0
- package/dist/components/SegmentedButton.js +9 -3
- package/dist/components/SelectedOutlineElement.js +16 -6
- package/dist/components/SelectedOutlinePolygon.js +4 -2
- package/dist/components/SettingsContext.d.ts +8 -0
- package/dist/components/SettingsContext.js +57 -2
- package/dist/components/SettingsModal.js +4 -1
- package/dist/components/SettingsModalFooter.js +1 -1
- package/dist/components/SidebarCollapserControls.js +1 -1
- package/dist/components/SkillsSettings.js +35 -4
- package/dist/components/SnappingToggle.js +2 -1
- package/dist/components/Splitter/SplitterHandle.js +1 -2
- package/dist/components/Tabs/vertical.d.ts +1 -1
- package/dist/components/Tabs/vertical.js +16 -2
- package/dist/components/Timeline/EasingEditorModal.js +2 -2
- package/dist/components/Timeline/TimelineAssetField.js +148 -9
- package/dist/components/Timeline/TimelineDragHandler.js +1 -2
- package/dist/components/Timeline/TimelineEffectItem.d.ts +1 -0
- package/dist/components/Timeline/TimelineEffectItem.js +2 -2
- package/dist/components/Timeline/TimelineEffectPropItem.d.ts +1 -0
- package/dist/components/Timeline/TimelineEffectPropItem.js +2 -2
- package/dist/components/Timeline/TimelineExpandedRow.js +2 -2
- package/dist/components/Timeline/TimelineInOutDragHandler.js +1 -2
- package/dist/components/Timeline/TimelineSchemaField.js +8 -1
- package/dist/components/Timeline/TimelineSelection.d.ts +3 -1
- package/dist/components/Timeline/TimelineSelection.js +32 -5
- package/dist/components/Timeline/TimelineSequence.js +6 -6
- package/dist/components/Timeline/TimelineSequenceItem.js +12 -10
- package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +3 -12
- package/dist/components/Timeline/TimelineTranslateField.js +25 -12
- package/dist/components/Timeline/TimelineZoomControls.js +1 -1
- package/dist/components/Timeline/get-sequence-context-menu-items.js +22 -6
- package/dist/components/Timeline/timeline-field-display-utils.js +4 -2
- package/dist/components/Timeline/timeline-translate-utils.d.ts +17 -0
- package/dist/components/Timeline/timeline-translate-utils.js +53 -12
- package/dist/components/Timeline/use-open-sequence-in-apps.d.ts +2 -0
- package/dist/components/Timeline/use-open-sequence-in-apps.js +17 -0
- package/dist/components/Timeline/use-timeline-asset-drop.js +17 -3
- package/dist/components/Timeline/use-timeline-keyframe-drag.js +4 -4
- package/dist/components/TimelineCombobox.js +1 -0
- package/dist/components/UndoRedoButtons.js +11 -0
- package/dist/components/composition-menu-items.js +56 -2
- package/dist/components/folder-menu-items.js +44 -0
- package/dist/components/get-open-in-menu-items.js +1 -1
- package/dist/components/import-assets.d.ts +24 -1
- package/dist/components/import-assets.js +3 -1
- package/dist/components/keyboard-shortcuts.d.ts +4 -4
- package/dist/components/keyboard-shortcuts.js +5 -0
- package/dist/esm/{LazyModels-hc33szyn.mjs → LazyModels-gfmpcy4h.mjs} +3 -3
- package/dist/esm/{LazyModels-sg40rjw6.mjs → LazyModels-m1rf06wh.mjs} +3 -3
- package/dist/esm/{TranscriptionModal-3ctnxpt6.mjs → TranscriptionModal-8pvrehg4.mjs} +6 -6
- package/dist/esm/{VideoMattingModal-b0r7e60n.mjs → VideoMattingModal-fefbzgka.mjs} +6 -6
- package/dist/esm/{index-yfrysr5f.mjs → index-0x13f28h.mjs} +17 -3
- package/dist/esm/{index-q2epbw93.mjs → index-1089795y.mjs} +2 -2
- package/dist/esm/{index-9qtvmwtx.mjs → index-41kqns5c.mjs} +4 -2
- package/dist/esm/{index-c37kme2v.mjs → index-ggqpre9v.mjs} +2202 -1719
- package/dist/esm/{index-wbmp5srk.mjs → index-hbezgbbq.mjs} +1 -1
- package/dist/esm/{index-2j3d1g81.mjs → index-jrw61pkj.mjs} +1 -1
- package/dist/esm/{index-1b9skrrd.mjs → index-mww32xc8.mjs} +3 -3
- package/dist/esm/{index-er3mh6em.mjs → index-s848rffx.mjs} +7123 -6588
- package/dist/esm/{index-q5xv20xx.mjs → index-tzxb8808.mjs} +1 -1
- package/dist/esm/{index-e3zwf3e7.mjs → index-vsxrxfpj.mjs} +1 -1
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/internals.mjs +7 -7
- package/dist/esm/previewEntry.mjs +7 -7
- package/dist/helpers/get-git-menu-item.d.ts +4 -0
- package/dist/helpers/get-git-menu-item.js +8 -1
- package/dist/helpers/get-sequence-double-click-action.d.ts +3 -3
- package/dist/helpers/get-sequence-double-click-action.js +2 -2
- package/dist/helpers/pointer-session.d.ts +1 -0
- package/dist/helpers/pointer-session.js +10 -1
- package/dist/helpers/studio-runtime-config.d.ts +1 -1
- package/dist/helpers/use-create-composition.js +5 -0
- package/dist/helpers/use-keybinding.d.ts +1 -1
- package/dist/helpers/use-keyboard-shortcut-label.d.ts +2 -2
- package/dist/helpers/use-media-metadata.js +5 -1
- package/dist/helpers/use-menu-structure.js +5 -1
- package/dist/helpers/use-rename-composition.js +6 -1
- package/dist/state/modals.d.ts +13 -1
- package/dist/state/z-index.js +1 -3
- package/package.json +19 -19
package/dist/esm/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
play,
|
|
4
4
|
restartStudio,
|
|
5
5
|
seek
|
|
6
|
-
} from "./index-
|
|
6
|
+
} from "./index-tzxb8808.mjs";
|
|
7
7
|
import {
|
|
8
8
|
CodingAgentIcon,
|
|
9
9
|
DEFAULT_PROPS_PATH_ACTIVE_CLASSNAME,
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
visualControlRef,
|
|
21
21
|
visualControlStore,
|
|
22
22
|
watchPublicFolder
|
|
23
|
-
} from "./index-
|
|
23
|
+
} from "./index-41kqns5c.mjs";
|
|
24
24
|
import {
|
|
25
25
|
getBrowserStudioOperations,
|
|
26
26
|
writeStaticFile
|
package/dist/esm/internals.mjs
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Studio
|
|
3
|
-
} from "./index-
|
|
4
|
-
import"./index-
|
|
5
|
-
import"./index-
|
|
6
|
-
import"./index-
|
|
3
|
+
} from "./index-s848rffx.mjs";
|
|
4
|
+
import"./index-1089795y.mjs";
|
|
5
|
+
import"./index-mww32xc8.mjs";
|
|
6
|
+
import"./index-ggqpre9v.mjs";
|
|
7
7
|
import"./index-9x6e1dq0.mjs";
|
|
8
|
-
import"./index-
|
|
9
|
-
import"./index-
|
|
8
|
+
import"./index-tzxb8808.mjs";
|
|
9
|
+
import"./index-41kqns5c.mjs";
|
|
10
10
|
import"./index-cw0pnpg5.mjs";
|
|
11
|
-
import"./index-
|
|
11
|
+
import"./index-0x13f28h.mjs";
|
|
12
12
|
import"./index-5zrb1ft4.mjs";
|
|
13
13
|
import"./index-k426ye99.mjs";
|
|
14
14
|
import"./index-rcv7qkt5.mjs";
|
|
@@ -5,18 +5,18 @@ import {
|
|
|
5
5
|
markErrorMessageAsLoggedByServer,
|
|
6
6
|
setErrorsRef,
|
|
7
7
|
startReportingRuntimeErrors
|
|
8
|
-
} from "./index-
|
|
9
|
-
import"./index-
|
|
10
|
-
import"./index-
|
|
8
|
+
} from "./index-s848rffx.mjs";
|
|
9
|
+
import"./index-1089795y.mjs";
|
|
10
|
+
import"./index-mww32xc8.mjs";
|
|
11
11
|
import {
|
|
12
12
|
reloadUrl,
|
|
13
13
|
subscribeToPreviewServerEvents
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-ggqpre9v.mjs";
|
|
15
15
|
import"./index-9x6e1dq0.mjs";
|
|
16
|
-
import"./index-
|
|
17
|
-
import"./index-
|
|
16
|
+
import"./index-tzxb8808.mjs";
|
|
17
|
+
import"./index-41kqns5c.mjs";
|
|
18
18
|
import"./index-cw0pnpg5.mjs";
|
|
19
|
-
import"./index-
|
|
19
|
+
import"./index-0x13f28h.mjs";
|
|
20
20
|
import"./index-5zrb1ft4.mjs";
|
|
21
21
|
import {
|
|
22
22
|
BACKGROUND_HEX,
|
|
@@ -5,6 +5,10 @@ export declare const getGitSourceName: (gitSource: GitSource) => string;
|
|
|
5
5
|
export declare const getGitSourceBranchUrl: (gitSource: GitSource) => string;
|
|
6
6
|
export declare const getGitRefUrl: (gitSource: GitSource, originalLocation: OriginalPosition, remotionRoot: string) => string;
|
|
7
7
|
export declare const hasReadOnlyGitSource: () => boolean;
|
|
8
|
+
export type DefaultOpenInTarget = 'editor' | 'git-source';
|
|
9
|
+
export declare const getDefaultOpenInTarget: ({ canOpenInEditor, }: {
|
|
10
|
+
readonly canOpenInEditor: boolean;
|
|
11
|
+
}) => DefaultOpenInTarget | null;
|
|
8
12
|
export declare const openGitSource: ({ folder, location, }: {
|
|
9
13
|
folder: boolean;
|
|
10
14
|
location: OriginalPosition | null;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getGitMenuItem = exports.openGitSource = exports.hasReadOnlyGitSource = exports.getGitRefUrl = exports.getGitSourceBranchUrl = exports.getGitSourceName = void 0;
|
|
3
|
+
exports.getGitMenuItem = exports.openGitSource = exports.getDefaultOpenInTarget = exports.hasReadOnlyGitSource = exports.getGitRefUrl = exports.getGitSourceBranchUrl = exports.getGitSourceName = void 0;
|
|
4
4
|
const getGitSourceName = (gitSource) => {
|
|
5
5
|
if (gitSource.type === 'github') {
|
|
6
6
|
return 'GitHub';
|
|
@@ -56,6 +56,13 @@ const hasReadOnlyGitSource = () => {
|
|
|
56
56
|
return Boolean(window.remotion_isReadOnlyStudio && window.remotion_gitSource);
|
|
57
57
|
};
|
|
58
58
|
exports.hasReadOnlyGitSource = hasReadOnlyGitSource;
|
|
59
|
+
const getDefaultOpenInTarget = ({ canOpenInEditor, }) => {
|
|
60
|
+
if (canOpenInEditor) {
|
|
61
|
+
return 'editor';
|
|
62
|
+
}
|
|
63
|
+
return (0, exports.hasReadOnlyGitSource)() ? 'git-source' : null;
|
|
64
|
+
};
|
|
65
|
+
exports.getDefaultOpenInTarget = getDefaultOpenInTarget;
|
|
59
66
|
const openGitSource = ({ folder, location, }) => {
|
|
60
67
|
const gitSource = window.remotion_gitSource;
|
|
61
68
|
if (!gitSource) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { TSequence } from 'remotion';
|
|
2
|
-
export type SequenceDoubleClickAction = 'open-connected-composition' | 'open-
|
|
3
|
-
export declare const getSequenceDoubleClickAction: ({ button,
|
|
2
|
+
export type SequenceDoubleClickAction = 'open-connected-composition' | 'open-source';
|
|
3
|
+
export declare const getSequenceDoubleClickAction: ({ button, canOpenSource, numberOfConnectedCompositions, sequenceWasDragged, }: {
|
|
4
4
|
readonly button: number;
|
|
5
|
-
readonly
|
|
5
|
+
readonly canOpenSource: boolean;
|
|
6
6
|
readonly numberOfConnectedCompositions: number;
|
|
7
7
|
readonly sequenceWasDragged: boolean;
|
|
8
8
|
}) => SequenceDoubleClickAction | null;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getConnectedCompositionFrame = exports.getSequenceDoubleClickAction = void 0;
|
|
4
|
-
const getSequenceDoubleClickAction = ({ button,
|
|
4
|
+
const getSequenceDoubleClickAction = ({ button, canOpenSource, numberOfConnectedCompositions, sequenceWasDragged, }) => {
|
|
5
5
|
// The browser still fires `dblclick` when the second press of a
|
|
6
6
|
// double-click turned into a drag. That gesture is a drag, not a
|
|
7
7
|
// double-click.
|
|
@@ -14,7 +14,7 @@ const getSequenceDoubleClickAction = ({ button, canOpenInEditor, numberOfConnect
|
|
|
14
14
|
if (numberOfConnectedCompositions === 1) {
|
|
15
15
|
return 'open-connected-composition';
|
|
16
16
|
}
|
|
17
|
-
return
|
|
17
|
+
return canOpenSource ? 'open-source' : null;
|
|
18
18
|
};
|
|
19
19
|
exports.getSequenceDoubleClickAction = getSequenceDoubleClickAction;
|
|
20
20
|
const getConnectedCompositionFrame = ({ timelinePosition, sequence, sequenceFrameOffset, }) => {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export type PointerSessionEndReason = 'pointerup' | 'pointercancel' | 'lostpointercapture' | 'blur' | 'visibilitychange' | 'buttons-released' | 'manual';
|
|
2
|
+
export declare const isPointerSessionRelease: (reason: PointerSessionEndReason, event: PointerEvent | null) => event is PointerEvent;
|
|
2
3
|
type PointerSessionEvent = Pick<PointerEvent, 'button' | 'pointerId'>;
|
|
3
4
|
export declare const startCapturedPointerSession: ({ event, captureTarget, onMove, onEnd, }: {
|
|
4
5
|
event: PointerSessionEvent;
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.observePointerRelease = exports.startDeferredCapturedPointerSession = exports.startCapturedPointerSession = void 0;
|
|
3
|
+
exports.observePointerRelease = exports.startDeferredCapturedPointerSession = exports.startCapturedPointerSession = exports.isPointerSessionRelease = void 0;
|
|
4
|
+
const isPointerSessionRelease = (reason, event) => {
|
|
5
|
+
if (event === null) {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
return (reason === 'pointerup' ||
|
|
9
|
+
reason === 'buttons-released' ||
|
|
10
|
+
(reason === 'lostpointercapture' && event.buttons === 0));
|
|
11
|
+
};
|
|
12
|
+
exports.isPointerSessionRelease = isPointerSessionRelease;
|
|
4
13
|
const getButtonMask = (button) => {
|
|
5
14
|
if (button === 0) {
|
|
6
15
|
return 1;
|
|
@@ -2,6 +2,6 @@ export declare const DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS = 300;
|
|
|
2
2
|
export declare const getStudioAskAIEnabled: () => boolean;
|
|
3
3
|
export declare const getStudioInteractivityEnabled: () => boolean;
|
|
4
4
|
export declare const getStudioKeyboardShortcutsEnabled: () => boolean;
|
|
5
|
-
export declare const getStudioKeyboardShortcuts: () => Partial<Record<"askAI" | "clearInOutPoints" | "copyEffectsAndValues" | "cutEffects" | "deleteSelection" | "duplicateSequences" | "enterFullscreen" | "goToFrame" | "jumpToBeginning" | "jumpToEnd" | "nextComposition" | "pauseAndReturnToPlaybackStart" | "pausePlayback" | "playForward" | "playPause" | "previousComposition" | "quickSwitcher" | "redo" | "render" | "resetZoom" | "reversePlayback" | "selectAllSequenceRows" | "selectOpacityProp" | "selectRotateProp" | "selectScaleProp" | "selectTranslateProp" | "setInPoint" | "setOutPoint" | "showKeyboardShortcuts" | "toggleBothSidebars" | "toggleCheckerboard" | "toggleLeftSidebar" | "toggleLoop" | "toggleMute" | "toggleOutlines" | "toggleRightSidebar" | "toggleRulersAndGuides" | "toggleSnapping" | "undo" | "zoomIn" | "zoomOut", import("@remotion/studio-shared").StudioKeyboardShortcutValue>> | null;
|
|
5
|
+
export declare const getStudioKeyboardShortcuts: () => Partial<Record<"askAI" | "clearInOutPoints" | "copyEffectsAndValues" | "cutEffects" | "deleteSelection" | "duplicateSequences" | "enterFullscreen" | "goToFrame" | "jumpToBeginning" | "jumpToEnd" | "nextComposition" | "pauseAndReturnToPlaybackStart" | "pausePlayback" | "pickColor" | "playForward" | "playPause" | "previousComposition" | "quickSwitcher" | "redo" | "render" | "resetZoom" | "reversePlayback" | "selectAllSequenceRows" | "selectOpacityProp" | "selectRotateProp" | "selectScaleProp" | "selectTranslateProp" | "setInPoint" | "setOutPoint" | "showKeyboardShortcuts" | "toggleBothSidebars" | "toggleCheckerboard" | "toggleLeftSidebar" | "toggleLoop" | "toggleMute" | "toggleOutlines" | "toggleRightSidebar" | "toggleRulersAndGuides" | "toggleSnapping" | "undo" | "zoomIn" | "zoomOut", import("@remotion/studio-shared").StudioKeyboardShortcutValue>> | null;
|
|
6
6
|
export declare const getStudioMaxTimelineTracks: () => number | null;
|
|
7
7
|
export declare const getStudioBufferStateDelayInMilliseconds: () => number;
|
|
@@ -5,6 +5,7 @@ const react_1 = require("react");
|
|
|
5
5
|
const InitialCompositionLoader_1 = require("../components/InitialCompositionLoader");
|
|
6
6
|
const actions_1 = require("../components/RenderQueue/actions");
|
|
7
7
|
const slugify_name_1 = require("./slugify-name");
|
|
8
|
+
const url_state_1 = require("./url-state");
|
|
8
9
|
const validate_new_comp_data_1 = require("./validate-new-comp-data");
|
|
9
10
|
const toPascalCase = (value) => {
|
|
10
11
|
var _a;
|
|
@@ -89,6 +90,10 @@ const useCreateComposition = ({ compositions, durationInFrames, folderName, newI
|
|
|
89
90
|
dryRun: false,
|
|
90
91
|
signal,
|
|
91
92
|
symbolicatedStack,
|
|
93
|
+
undoRedoNavigation: {
|
|
94
|
+
undoRoute: (0, url_state_1.getRoute)(),
|
|
95
|
+
redoRoute: `/${compositionId}`,
|
|
96
|
+
},
|
|
92
97
|
});
|
|
93
98
|
if (result.success) {
|
|
94
99
|
selectComposition({
|
|
@@ -8,7 +8,7 @@ export declare const useKeybinding: () => {
|
|
|
8
8
|
triggerIfInputFieldFocused: boolean;
|
|
9
9
|
keepRegisteredWhenNotHighestContext: boolean;
|
|
10
10
|
} & ({
|
|
11
|
-
action: "askAI" | "clearInOutPoints" | "copyEffectsAndValues" | "cutEffects" | "deleteSelection" | "duplicateSequences" | "enterFullscreen" | "goToFrame" | "jumpToBeginning" | "jumpToEnd" | "nextComposition" | "pauseAndReturnToPlaybackStart" | "pausePlayback" | "playForward" | "playPause" | "previousComposition" | "quickSwitcher" | "redo" | "render" | "resetZoom" | "reversePlayback" | "selectAllSequenceRows" | "selectOpacityProp" | "selectRotateProp" | "selectScaleProp" | "selectTranslateProp" | "setInPoint" | "setOutPoint" | "showKeyboardShortcuts" | "toggleBothSidebars" | "toggleCheckerboard" | "toggleLeftSidebar" | "toggleLoop" | "toggleMute" | "toggleOutlines" | "toggleRightSidebar" | "toggleRulersAndGuides" | "toggleSnapping" | "undo" | "zoomIn" | "zoomOut";
|
|
11
|
+
action: "askAI" | "clearInOutPoints" | "copyEffectsAndValues" | "cutEffects" | "deleteSelection" | "duplicateSequences" | "enterFullscreen" | "goToFrame" | "jumpToBeginning" | "jumpToEnd" | "nextComposition" | "pauseAndReturnToPlaybackStart" | "pausePlayback" | "pickColor" | "playForward" | "playPause" | "previousComposition" | "quickSwitcher" | "redo" | "render" | "resetZoom" | "reversePlayback" | "selectAllSequenceRows" | "selectOpacityProp" | "selectRotateProp" | "selectScaleProp" | "selectTranslateProp" | "setInPoint" | "setOutPoint" | "showKeyboardShortcuts" | "toggleBothSidebars" | "toggleCheckerboard" | "toggleLeftSidebar" | "toggleLoop" | "toggleMute" | "toggleOutlines" | "toggleRightSidebar" | "toggleRulersAndGuides" | "toggleSnapping" | "undo" | "zoomIn" | "zoomOut";
|
|
12
12
|
key?: undefined;
|
|
13
13
|
commandCtrlKey?: undefined;
|
|
14
14
|
} | {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const useKeyboardShortcutLabel: (action: "askAI" | "clearInOutPoints" | "copyEffectsAndValues" | "cutEffects" | "deleteSelection" | "duplicateSequences" | "enterFullscreen" | "goToFrame" | "jumpToBeginning" | "jumpToEnd" | "nextComposition" | "pauseAndReturnToPlaybackStart" | "pausePlayback" | "playForward" | "playPause" | "previousComposition" | "quickSwitcher" | "redo" | "render" | "resetZoom" | "reversePlayback" | "selectAllSequenceRows" | "selectOpacityProp" | "selectRotateProp" | "selectScaleProp" | "selectTranslateProp" | "setInPoint" | "setOutPoint" | "showKeyboardShortcuts" | "toggleBothSidebars" | "toggleCheckerboard" | "toggleLeftSidebar" | "toggleLoop" | "toggleMute" | "toggleOutlines" | "toggleRightSidebar" | "toggleRulersAndGuides" | "toggleSnapping" | "undo" | "zoomIn" | "zoomOut") => string;
|
|
2
|
-
export declare const useKeyboardShortcutAriaKeyShortcuts: (action: "askAI" | "clearInOutPoints" | "copyEffectsAndValues" | "cutEffects" | "deleteSelection" | "duplicateSequences" | "enterFullscreen" | "goToFrame" | "jumpToBeginning" | "jumpToEnd" | "nextComposition" | "pauseAndReturnToPlaybackStart" | "pausePlayback" | "playForward" | "playPause" | "previousComposition" | "quickSwitcher" | "redo" | "render" | "resetZoom" | "reversePlayback" | "selectAllSequenceRows" | "selectOpacityProp" | "selectRotateProp" | "selectScaleProp" | "selectTranslateProp" | "setInPoint" | "setOutPoint" | "showKeyboardShortcuts" | "toggleBothSidebars" | "toggleCheckerboard" | "toggleLeftSidebar" | "toggleLoop" | "toggleMute" | "toggleOutlines" | "toggleRightSidebar" | "toggleRulersAndGuides" | "toggleSnapping" | "undo" | "zoomIn" | "zoomOut") => string;
|
|
1
|
+
export declare const useKeyboardShortcutLabel: (action: "askAI" | "clearInOutPoints" | "copyEffectsAndValues" | "cutEffects" | "deleteSelection" | "duplicateSequences" | "enterFullscreen" | "goToFrame" | "jumpToBeginning" | "jumpToEnd" | "nextComposition" | "pauseAndReturnToPlaybackStart" | "pausePlayback" | "pickColor" | "playForward" | "playPause" | "previousComposition" | "quickSwitcher" | "redo" | "render" | "resetZoom" | "reversePlayback" | "selectAllSequenceRows" | "selectOpacityProp" | "selectRotateProp" | "selectScaleProp" | "selectTranslateProp" | "setInPoint" | "setOutPoint" | "showKeyboardShortcuts" | "toggleBothSidebars" | "toggleCheckerboard" | "toggleLeftSidebar" | "toggleLoop" | "toggleMute" | "toggleOutlines" | "toggleRightSidebar" | "toggleRulersAndGuides" | "toggleSnapping" | "undo" | "zoomIn" | "zoomOut") => string;
|
|
2
|
+
export declare const useKeyboardShortcutAriaKeyShortcuts: (action: "askAI" | "clearInOutPoints" | "copyEffectsAndValues" | "cutEffects" | "deleteSelection" | "duplicateSequences" | "enterFullscreen" | "goToFrame" | "jumpToBeginning" | "jumpToEnd" | "nextComposition" | "pauseAndReturnToPlaybackStart" | "pausePlayback" | "pickColor" | "playForward" | "playPause" | "previousComposition" | "quickSwitcher" | "redo" | "render" | "resetZoom" | "reversePlayback" | "selectAllSequenceRows" | "selectOpacityProp" | "selectRotateProp" | "selectScaleProp" | "selectTranslateProp" | "setInPoint" | "setOutPoint" | "showKeyboardShortcuts" | "toggleBothSidebars" | "toggleCheckerboard" | "toggleLeftSidebar" | "toggleLoop" | "toggleMute" | "toggleOutlines" | "toggleRightSidebar" | "toggleRulersAndGuides" | "toggleSnapping" | "undo" | "zoomIn" | "zoomOut") => string;
|
|
@@ -42,7 +42,11 @@ const getMediabunnyMetadata = async (src) => {
|
|
|
42
42
|
create: () => {
|
|
43
43
|
const createdInput = new mediabunny_1.Input({
|
|
44
44
|
formats: mediabunny_1.ALL_FORMATS,
|
|
45
|
-
source: new mediabunny_1.UrlSource(src
|
|
45
|
+
source: new mediabunny_1.UrlSource(src, {
|
|
46
|
+
handleUnhandledError: (error) => {
|
|
47
|
+
remotion_1.Internals.Log.warn({ logLevel: 'info', tag: '@remotion/studio' }, `A speculative fetch for "${src}" failed:`, error);
|
|
48
|
+
},
|
|
49
|
+
}),
|
|
46
50
|
});
|
|
47
51
|
return {
|
|
48
52
|
resource: createdInput,
|
|
@@ -256,6 +256,7 @@ const useMenuStructure = (closeMenu, readOnlyStudio) => {
|
|
|
256
256
|
const goToFrameShortcut = (0, use_keyboard_shortcut_label_1.useKeyboardShortcutLabel)('goToFrame');
|
|
257
257
|
const renderShortcut = (0, use_keyboard_shortcut_label_1.useKeyboardShortcutLabel)('render');
|
|
258
258
|
const askAIShortcut = (0, use_keyboard_shortcut_label_1.useKeyboardShortcutLabel)('askAI');
|
|
259
|
+
const colorPickerShortcut = (0, use_keyboard_shortcut_label_1.useKeyboardShortcutLabel)('pickColor');
|
|
259
260
|
const showKeyboardShortcutsShortcut = (0, use_keyboard_shortcut_label_1.useKeyboardShortcutLabel)('showKeyboardShortcuts');
|
|
260
261
|
const studioAskAIEnabled = (0, studio_runtime_config_1.getStudioAskAIEnabled)();
|
|
261
262
|
const { setSidebarCollapsedState, sidebarCollapsedStateLeft, sidebarCollapsedStateRight, } = (0, react_1.useContext)(sidebar_1.SidebarContext);
|
|
@@ -823,7 +824,9 @@ const useMenuStructure = (closeMenu, readOnlyStudio) => {
|
|
|
823
824
|
(0, pick_color_1.pickColor)();
|
|
824
825
|
},
|
|
825
826
|
leftItem: null,
|
|
826
|
-
keyHint:
|
|
827
|
+
keyHint: keyboardShortcutsDisabled
|
|
828
|
+
? null
|
|
829
|
+
: colorPickerShortcut || null,
|
|
827
830
|
subMenu: null,
|
|
828
831
|
type: 'item',
|
|
829
832
|
quickSwitcherLabel: 'Show Color Picker',
|
|
@@ -1057,6 +1060,7 @@ const useMenuStructure = (closeMenu, readOnlyStudio) => {
|
|
|
1057
1060
|
keyboardShortcutsDisabled,
|
|
1058
1061
|
studioAskAIEnabled,
|
|
1059
1062
|
askAIShortcut,
|
|
1063
|
+
colorPickerShortcut,
|
|
1060
1064
|
checkerboardShortcut,
|
|
1061
1065
|
clearInOutPointsShortcut,
|
|
1062
1066
|
goToFrameShortcut,
|
|
@@ -32,14 +32,19 @@ const useRenameComposition = ({ compositions, currentId, newId, }) => {
|
|
|
32
32
|
}, [getCodemod, newId]);
|
|
33
33
|
const valid = validationMessage === null && currentId !== compositionId;
|
|
34
34
|
const renameComposition = (0, react_1.useCallback)(async ({ newCompositionId, signal, symbolicatedStack, }) => {
|
|
35
|
+
const nextCompositionId = (0, slugify_name_1.slugifyName)(newCompositionId);
|
|
35
36
|
const result = await (0, actions_1.applyCodemod)({
|
|
36
37
|
codemod: getCodemod(newCompositionId),
|
|
37
38
|
dryRun: false,
|
|
38
39
|
signal,
|
|
39
40
|
symbolicatedStack,
|
|
41
|
+
undoRedoNavigation: {
|
|
42
|
+
undoRoute: (0, url_state_1.getRoute)(),
|
|
43
|
+
redoRoute: `/${nextCompositionId}`,
|
|
44
|
+
},
|
|
40
45
|
});
|
|
41
46
|
if (result.success) {
|
|
42
|
-
(0, url_state_1.pushUrl)(`/${
|
|
47
|
+
(0, url_state_1.pushUrl)(`/${nextCompositionId}`);
|
|
43
48
|
}
|
|
44
49
|
return result;
|
|
45
50
|
}, [getCodemod]);
|
package/dist/state/modals.d.ts
CHANGED
|
@@ -109,6 +109,18 @@ export type AddEffectModalState = {
|
|
|
109
109
|
nodePath: SequencePropsSubscriptionKey;
|
|
110
110
|
clientId: string;
|
|
111
111
|
};
|
|
112
|
+
export type AssetSelectionModalState = {
|
|
113
|
+
readonly type: 'asset-selection';
|
|
114
|
+
readonly assetType: 'audio' | 'video' | 'image';
|
|
115
|
+
readonly initialUrl: string | null;
|
|
116
|
+
readonly invocationTimestamp: number;
|
|
117
|
+
readonly assetSelection: {
|
|
118
|
+
readonly initialQuery: string;
|
|
119
|
+
readonly onSelectFile: () => void;
|
|
120
|
+
readonly onSelected: (asset: StaticFile) => void;
|
|
121
|
+
};
|
|
122
|
+
readonly onSelectedUrl: (url: string) => void;
|
|
123
|
+
};
|
|
112
124
|
export type TranscriptionModalState = {
|
|
113
125
|
type: 'transcribe';
|
|
114
126
|
src: string;
|
|
@@ -206,7 +218,7 @@ export type ModalState = {
|
|
|
206
218
|
type: 'element-library';
|
|
207
219
|
name: string;
|
|
208
220
|
url: string;
|
|
209
|
-
} | ElementInstallModalState | AddEffectModalState | TranscriptionModalState | VideoMattingModalState | ConfirmationDialogState | SvgImportDialogState;
|
|
221
|
+
} | ElementInstallModalState | AddEffectModalState | AssetSelectionModalState | TranscriptionModalState | VideoMattingModalState | ConfirmationDialogState | SvgImportDialogState;
|
|
210
222
|
export type SetSelectedModalContextType = {
|
|
211
223
|
setSelectedModal: React.Dispatch<React.SetStateAction<ModalState | null>>;
|
|
212
224
|
};
|
package/dist/state/z-index.js
CHANGED
|
@@ -81,9 +81,7 @@ const HigherZIndex = ({ children, onEscape, onOutsideClick, disabled, outsideCli
|
|
|
81
81
|
onEnd: (reason, upEvent) => {
|
|
82
82
|
var _a;
|
|
83
83
|
endPointerSession = null;
|
|
84
|
-
if ((reason
|
|
85
|
-
upEvent &&
|
|
86
|
-
!(0, input_dragger_click_lock_1.getClickLock)()) {
|
|
84
|
+
if ((0, pointer_session_1.isPointerSessionRelease)(reason, upEvent) && !(0, input_dragger_click_lock_1.getClickLock)()) {
|
|
87
85
|
const target = (_a = document.elementFromPoint(upEvent.clientX, upEvent.clientY)) !== null && _a !== void 0 ? _a : upEvent.target;
|
|
88
86
|
if (document.contains(target)) {
|
|
89
87
|
upEvent.stopPropagation();
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/studio"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/studio",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.525",
|
|
7
7
|
"description": "APIs for interacting with the Remotion Studio",
|
|
8
8
|
"main": "dist",
|
|
9
9
|
"scripts": {
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"url": "https://github.com/remotion-dev/remotion/issues"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"@remotion/video-matting": "4.0.
|
|
24
|
-
"@remotion/whisper-webgpu": "4.0.
|
|
23
|
+
"@remotion/video-matting": "4.0.525",
|
|
24
|
+
"@remotion/whisper-webgpu": "4.0.525",
|
|
25
25
|
"react": ">=16.8.0",
|
|
26
26
|
"react-dom": ">=16.8.0"
|
|
27
27
|
},
|
|
@@ -35,32 +35,32 @@
|
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@jridgewell/trace-mapping": "0.3.31",
|
|
38
|
-
"@remotion/canvas": "4.0.
|
|
39
|
-
"@remotion/captions": "4.0.
|
|
40
|
-
"@remotion/media": "4.0.
|
|
41
|
-
"@remotion/media-utils": "4.0.
|
|
42
|
-
"@remotion/player": "4.0.
|
|
43
|
-
"@remotion/renderer": "4.0.
|
|
44
|
-
"@remotion/studio-codemods": "4.0.
|
|
45
|
-
"@remotion/studio-protocol": "4.0.
|
|
46
|
-
"@remotion/studio-shared": "4.0.
|
|
47
|
-
"@remotion/timeline-utils": "4.0.
|
|
48
|
-
"@remotion/web-renderer": "4.0.
|
|
49
|
-
"@remotion/zod-types": "4.0.
|
|
38
|
+
"@remotion/canvas": "4.0.525",
|
|
39
|
+
"@remotion/captions": "4.0.525",
|
|
40
|
+
"@remotion/media": "4.0.525",
|
|
41
|
+
"@remotion/media-utils": "4.0.525",
|
|
42
|
+
"@remotion/player": "4.0.525",
|
|
43
|
+
"@remotion/renderer": "4.0.525",
|
|
44
|
+
"@remotion/studio-codemods": "4.0.525",
|
|
45
|
+
"@remotion/studio-protocol": "4.0.525",
|
|
46
|
+
"@remotion/studio-shared": "4.0.525",
|
|
47
|
+
"@remotion/timeline-utils": "4.0.525",
|
|
48
|
+
"@remotion/web-renderer": "4.0.525",
|
|
49
|
+
"@remotion/zod-types": "4.0.525",
|
|
50
50
|
"@tanstack/react-virtual": "3.14.9",
|
|
51
51
|
"mediabunny": "1.56.1",
|
|
52
52
|
"memfs": "3.4.3",
|
|
53
53
|
"open": "8.4.2",
|
|
54
54
|
"prismjs": "1.30.0",
|
|
55
|
-
"remotion": "4.0.
|
|
55
|
+
"remotion": "4.0.525",
|
|
56
56
|
"semver": "7.5.3",
|
|
57
57
|
"zod": "4.5.4"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@happy-dom/global-registrator": "14.5.1",
|
|
61
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
62
|
-
"@remotion/video-matting": "4.0.
|
|
63
|
-
"@remotion/whisper-webgpu": "4.0.
|
|
61
|
+
"@remotion/eslint-config-internal": "4.0.525",
|
|
62
|
+
"@remotion/video-matting": "4.0.525",
|
|
63
|
+
"@remotion/whisper-webgpu": "4.0.525",
|
|
64
64
|
"@testing-library/react": "16.1.0",
|
|
65
65
|
"@types/prismjs": "1.26.4",
|
|
66
66
|
"@types/semver": "7.5.3",
|