@remotion/studio 4.0.501 → 4.0.503
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/AssetSelectorItem.js +4 -4
- package/dist/components/Canvas.js +37 -57
- package/dist/components/ColorPicker/AlphaSlider.js +14 -10
- package/dist/components/ColorPicker/HueSlider.js +14 -10
- package/dist/components/ColorPicker/SaturationValueArea.js +14 -12
- package/dist/components/CompositionContextButton.js +1 -1
- package/dist/components/CompositionSelector.js +4 -4
- package/dist/components/CompositionSelectorItem.js +5 -5
- package/dist/components/ConfigureDefaultEditorModal.d.ts +2 -0
- package/dist/components/ConfigureDefaultEditorModal.js +151 -0
- package/dist/components/ConfirmationDialog.js +6 -3
- package/dist/components/ContextMenu.js +0 -2
- package/dist/components/Editor.js +1 -4
- package/dist/components/EditorContent.js +1 -1
- package/dist/components/EditorGuides/Guide.js +48 -74
- package/dist/components/EditorRuler/Ruler.d.ts +1 -0
- package/dist/components/EditorRuler/Ruler.js +3 -1
- package/dist/components/EditorRuler/index.js +26 -23
- package/dist/components/ElementInstallConfirmation.d.ts +12 -0
- package/dist/components/ElementInstallConfirmation.js +205 -0
- package/dist/components/ForceSpecificCursor.js +14 -0
- package/dist/components/FullscreenToggle.d.ts +3 -1
- package/dist/components/FullscreenToggle.js +2 -2
- package/dist/components/InlineAction.d.ts +2 -1
- package/dist/components/InlineAction.js +4 -4
- package/dist/components/InspectorLocationCopy.d.ts +1 -0
- package/dist/components/InspectorLocationCopy.js +7 -3
- package/dist/components/InspectorOpenInEditor.d.ts +5 -0
- package/dist/components/InspectorOpenInEditor.js +135 -0
- package/dist/components/InspectorPanel/AlignmentControls.js +1 -1
- package/dist/components/InspectorPanel/CompositionInspectorHeader.js +3 -3
- package/dist/components/InspectorPanel/CompositionMetadata.js +1 -1
- package/dist/components/InspectorPanel/KeyframeEasingNavigator.js +2 -2
- package/dist/components/InspectorPanel/SequenceInspectorHeader.js +2 -2
- package/dist/components/InspectorPanel/use-composition-actions.d.ts +1 -1
- package/dist/components/InspectorPanel/use-composition-actions.js +46 -3
- package/dist/components/InspectorSequenceSection.js +2 -2
- package/dist/components/LoopToggle.d.ts +1 -0
- package/dist/components/LoopToggle.js +9 -5
- package/dist/components/Menu/MenuItem.js +13 -6
- package/dist/components/Menu/MenuSubItem.js +11 -1
- package/dist/components/MenuBuildIndicator.js +1 -1
- package/dist/components/MenuCompositionName.js +1 -1
- package/dist/components/MobilePanel.js +5 -1
- package/dist/components/ModalContainer.js +1 -1
- package/dist/components/ModalFooter.d.ts +1 -0
- package/dist/components/ModalFooter.js +2 -2
- package/dist/components/Modals.js +11 -2
- package/dist/components/NewComposition/InputDragger.js +19 -29
- package/dist/components/ObserveDefaultPropsContext.js +7 -4
- package/dist/components/PlayPause.d.ts +1 -0
- package/dist/components/PlayPause.js +2 -4
- package/dist/components/PlaybackRateSelector.d.ts +9 -2
- package/dist/components/PlaybackRateSelector.js +21 -10
- package/dist/components/PreviewToolbar.js +19 -109
- package/dist/components/PreviewToolbarOverflowButton.d.ts +12 -0
- package/dist/components/PreviewToolbarOverflowButton.js +217 -0
- package/dist/components/QuickSwitcher/QuickSwitcher.d.ts +1 -0
- package/dist/components/QuickSwitcher/QuickSwitcherContent.d.ts +1 -0
- package/dist/components/QuickSwitcher/QuickSwitcherContent.js +16 -1
- package/dist/components/QuickSwitcher/QuickSwitcherResult.d.ts +2 -0
- package/dist/components/QuickSwitcher/QuickSwitcherResult.js +7 -1
- package/dist/components/RenderButton.d.ts +1 -0
- package/dist/components/RenderButton.js +6 -4
- package/dist/components/RenderModal/InlineEyeIcon.js +1 -1
- package/dist/components/RenderModal/InlineRemoveButton.js +1 -1
- package/dist/components/RenderModal/RenderModalOutputName.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/SchemaResetButton.js +1 -1
- package/dist/components/RenderQueue/RenderQueueCopyToClipboard.js +1 -1
- package/dist/components/RenderQueue/RenderQueueDownloadItem.js +1 -1
- package/dist/components/RenderQueue/RenderQueueItemCancelButton.js +1 -1
- package/dist/components/RenderQueue/RenderQueueOpenInFolder.js +1 -1
- package/dist/components/RenderQueue/RenderQueueRemoveItem.js +1 -1
- package/dist/components/RenderQueue/RenderQueueRepeat.js +1 -1
- package/dist/components/SelectedOutlineCropControls.js +7 -6
- package/dist/components/SelectedOutlineElement.js +28 -26
- package/dist/components/SelectedOutlineUvControls.js +25 -24
- package/dist/components/ShowGuidesProvider.js +2 -0
- package/dist/components/SidebarCollapserControls.js +2 -2
- package/dist/components/SidebarRenderButton.js +1 -1
- package/dist/components/SizeSelector.d.ts +6 -0
- package/dist/components/SizeSelector.js +17 -8
- package/dist/components/Splitter/SplitterContainer.d.ts +1 -0
- package/dist/components/Splitter/SplitterContainer.js +23 -3
- package/dist/components/Splitter/SplitterContext.d.ts +14 -0
- package/dist/components/Splitter/SplitterContext.js +16 -1
- package/dist/components/Splitter/SplitterHandle.js +25 -74
- package/dist/components/Timeline/EasingEditorModal.js +27 -19
- package/dist/components/Timeline/Timeline.js +2 -1
- package/dist/components/Timeline/TimelineAssetField.d.ts +1 -1
- package/dist/components/Timeline/TimelineAssetField.js +37 -2
- package/dist/components/Timeline/TimelineDragHandler.js +39 -8
- package/dist/components/Timeline/TimelineInOutDragHandler.js +26 -11
- package/dist/components/Timeline/TimelineLayerEye.js +36 -4
- package/dist/components/Timeline/TimelineSelection.js +14 -21
- package/dist/components/Timeline/TimelineSequence.js +7 -3
- package/dist/components/Timeline/TimelineSequenceItem.js +24 -18
- package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.d.ts +1 -1
- package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +76 -43
- package/dist/components/Timeline/TimelineStack/get-stack.js +13 -0
- package/dist/components/Timeline/get-sequence-context-menu-items.d.ts +4 -2
- package/dist/components/Timeline/get-sequence-context-menu-items.js +38 -2
- package/dist/components/Timeline/save-sequence-prop.js +4 -4
- package/dist/components/Timeline/sequence-props-subscription-store.d.ts +2 -2
- package/dist/components/Timeline/sequence-props-subscription-store.js +3 -3
- package/dist/components/Timeline/should-subscribe-to-source-file.d.ts +1 -0
- package/dist/components/Timeline/should-subscribe-to-source-file.js +11 -0
- package/dist/components/Timeline/use-open-sequence-in-editor.d.ts +3 -1
- package/dist/components/Timeline/use-open-sequence-in-editor.js +5 -2
- package/dist/components/Timeline/use-sequence-props-subscription.js +2 -0
- package/dist/components/Timeline/use-timeline-asset-drop.js +0 -4
- package/dist/components/Timeline/use-timeline-keyframe-drag.js +31 -16
- package/dist/components/TopPanel.js +1 -1
- package/dist/components/UndoRedoButtons.js +1 -1
- package/dist/components/UpdateCheck.d.ts +2 -0
- package/dist/components/UpdateCheck.js +20 -8
- package/dist/components/UpdateModal/UpdateModal.js +26 -10
- package/dist/components/VisualControls/ClickableFileName.js +5 -2
- package/dist/components/composition-menu-items.js +1 -1
- package/dist/components/default-props-api.d.ts +3 -0
- package/dist/components/default-props-api.js +19 -0
- package/dist/components/drop-handler-data.d.ts +1 -1
- package/dist/components/drop-handler-data.js +6 -6
- package/dist/components/effect-drag-and-drop.d.ts +1 -1
- package/dist/components/effect-drag-and-drop.js +3 -3
- package/dist/components/element-drag-and-drop.d.ts +1 -1
- package/dist/components/element-drag-and-drop.js +3 -3
- package/dist/components/element-install-request.d.ts +3 -0
- package/dist/components/element-install-request.js +17 -0
- package/dist/components/folder-menu-items.js +1 -1
- package/dist/components/handle-drop.d.ts +2 -3
- package/dist/components/handle-drop.js +11 -4
- package/dist/components/import-assets.d.ts +9 -9
- package/dist/components/import-assets.js +4 -15
- package/dist/components/sequence-props-api.d.ts +4 -0
- package/dist/components/sequence-props-api.js +26 -0
- package/dist/components/use-default-editor-info.d.ts +4 -0
- package/dist/components/use-default-editor-info.js +47 -0
- package/dist/error-overlay/remotion-overlay/ErrorDisplay.d.ts +1 -0
- package/dist/error-overlay/remotion-overlay/ErrorDisplay.js +29 -5
- package/dist/error-overlay/remotion-overlay/ErrorLoader.js +4 -20
- package/dist/error-overlay/remotion-overlay/OpenInEditor.js +1 -1
- package/dist/error-overlay/remotion-overlay/StackFrame.js +1 -1
- package/dist/esm/{chunk-n1kj09yv.js → chunk-bj1r1hh5.js} +8153 -6662
- package/dist/esm/internals.mjs +8153 -6662
- package/dist/esm/previewEntry.mjs +8210 -6719
- package/dist/esm/renderEntry.mjs +1 -1
- package/dist/helpers/inject-css.js +18 -44
- package/dist/helpers/open-in-editor.d.ts +3 -3
- package/dist/helpers/open-in-editor.js +10 -6
- package/dist/helpers/pointer-session.d.ts +9 -0
- package/dist/helpers/pointer-session.js +94 -0
- package/dist/helpers/use-menu-structure.js +24 -2
- package/dist/icons/custom-editor.d.ts +4 -0
- package/dist/icons/custom-editor.js +11 -0
- package/dist/icons/editor.d.ts +6 -0
- package/dist/icons/editor.js +52 -0
- package/dist/icons/upload.d.ts +4 -0
- package/dist/icons/upload.js +8 -0
- package/dist/state/editor-guides.d.ts +1 -0
- package/dist/state/editor-guides.js +1 -0
- package/dist/state/modals.d.ts +3 -0
- package/dist/state/z-index.d.ts +1 -0
- package/dist/state/z-index.js +34 -18
- package/package.json +12 -13
- package/dist/components/StudioCanvasCapture.d.ts +0 -5
- package/dist/components/StudioCanvasCapture.js +0 -40
- package/dist/components/canvas-capture-enabled.d.ts +0 -1
- package/dist/components/canvas-capture-enabled.js +0 -4
- package/dist/components/use-element-overwrite-confirmation.d.ts +0 -2
- package/dist/components/use-element-overwrite-confirmation.js +0 -73
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getSfxDragUrl = exports.getComponentDragData = exports.getCompositionDragData = exports.getAssetDragPath = exports.isSupportedDropEvent = exports.isRemoteAssetDragEvent = exports.isSfxDragEvent = exports.isElementDragEvent = exports.isCompositionDragEvent = exports.isComponentDragEvent = exports.isAssetDragEvent = exports.isFileDragEvent = void 0;
|
|
4
|
-
const
|
|
4
|
+
const studio_protocol_1 = require("@remotion/studio-protocol");
|
|
5
5
|
const remote_asset_drag_1 = require("../helpers/remote-asset-drag");
|
|
6
6
|
const isFileDragEvent = (event) => {
|
|
7
7
|
var _a;
|
|
@@ -12,7 +12,7 @@ exports.isFileDragEvent = isFileDragEvent;
|
|
|
12
12
|
const isRemotionDragEvent = (event, type) => {
|
|
13
13
|
var _a, _b;
|
|
14
14
|
var _c;
|
|
15
|
-
return (((_b =
|
|
15
|
+
return (((_b = studio_protocol_1.StudioProtocolInternals.getDragPreviewMetadata((_c = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.types) !== null && _c !== void 0 ? _c : [])) === null || _b === void 0 ? void 0 : _b.type) === type);
|
|
16
16
|
};
|
|
17
17
|
const isAssetDragEvent = (event) => {
|
|
18
18
|
return isRemotionDragEvent(event, 'asset');
|
|
@@ -56,28 +56,28 @@ const isSupportedDropEvent = (event) => {
|
|
|
56
56
|
exports.isSupportedDropEvent = isSupportedDropEvent;
|
|
57
57
|
const getAssetDragPath = (event) => {
|
|
58
58
|
const parsed = event.dataTransfer
|
|
59
|
-
?
|
|
59
|
+
? studio_protocol_1.StudioProtocolInternals.parseDragData(event.dataTransfer)
|
|
60
60
|
: null;
|
|
61
61
|
return (parsed === null || parsed === void 0 ? void 0 : parsed.type) === 'asset' ? parsed.data.assetPath : null;
|
|
62
62
|
};
|
|
63
63
|
exports.getAssetDragPath = getAssetDragPath;
|
|
64
64
|
const getCompositionDragData = (event) => {
|
|
65
65
|
const parsed = event.dataTransfer
|
|
66
|
-
?
|
|
66
|
+
? studio_protocol_1.StudioProtocolInternals.parseDragData(event.dataTransfer)
|
|
67
67
|
: null;
|
|
68
68
|
return (parsed === null || parsed === void 0 ? void 0 : parsed.type) === 'composition' ? parsed.data : null;
|
|
69
69
|
};
|
|
70
70
|
exports.getCompositionDragData = getCompositionDragData;
|
|
71
71
|
const getComponentDragData = (event) => {
|
|
72
72
|
const parsed = event.dataTransfer
|
|
73
|
-
?
|
|
73
|
+
? studio_protocol_1.StudioProtocolInternals.parseDragData(event.dataTransfer)
|
|
74
74
|
: null;
|
|
75
75
|
return (parsed === null || parsed === void 0 ? void 0 : parsed.type) === 'component' ? parsed.data : null;
|
|
76
76
|
};
|
|
77
77
|
exports.getComponentDragData = getComponentDragData;
|
|
78
78
|
const getSfxDragUrl = (event) => {
|
|
79
79
|
const parsed = event.dataTransfer
|
|
80
|
-
?
|
|
80
|
+
? studio_protocol_1.StudioProtocolInternals.parseDragData(event.dataTransfer)
|
|
81
81
|
: null;
|
|
82
82
|
return (parsed === null || parsed === void 0 ? void 0 : parsed.type) === 'sfx' ? parsed.data.sfx.url : null;
|
|
83
83
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type EffectDragData } from '@remotion/
|
|
1
|
+
import { type EffectDragData } from '@remotion/studio-protocol';
|
|
2
2
|
import type { SequencePropsSubscriptionKey } from 'remotion';
|
|
3
3
|
export declare const hasEffectDragType: (dataTransfer: DataTransfer) => boolean;
|
|
4
4
|
export declare const hasExplicitEffectDragType: (dataTransfer: DataTransfer) => boolean;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addEffectToSequence = exports.addEffectFromDragData = exports.getEffectDragData = exports.hasExplicitEffectDragType = exports.hasEffectDragType = void 0;
|
|
4
|
-
const
|
|
4
|
+
const studio_protocol_1 = require("@remotion/studio-protocol");
|
|
5
5
|
const studio_shared_1 = require("@remotion/studio-shared");
|
|
6
6
|
const install_required_package_1 = require("../helpers/install-required-package");
|
|
7
7
|
const call_api_1 = require("./call-api");
|
|
8
8
|
const NotificationCenter_1 = require("./Notifications/NotificationCenter");
|
|
9
9
|
const hasEffectDragType = (dataTransfer) => {
|
|
10
10
|
var _a;
|
|
11
|
-
return (((_a =
|
|
11
|
+
return (((_a = studio_protocol_1.StudioProtocolInternals.getDragPreviewMetadata(dataTransfer.types)) === null || _a === void 0 ? void 0 : _a.type) ===
|
|
12
12
|
'effect');
|
|
13
13
|
};
|
|
14
14
|
exports.hasEffectDragType = hasEffectDragType;
|
|
@@ -17,7 +17,7 @@ const hasExplicitEffectDragType = (dataTransfer) => {
|
|
|
17
17
|
};
|
|
18
18
|
exports.hasExplicitEffectDragType = hasExplicitEffectDragType;
|
|
19
19
|
const getEffectDragData = (dataTransfer) => {
|
|
20
|
-
const parsed =
|
|
20
|
+
const parsed = studio_protocol_1.StudioProtocolInternals.parseDragData(dataTransfer);
|
|
21
21
|
return (parsed === null || parsed === void 0 ? void 0 : parsed.type) === 'effect' ? parsed.data : null;
|
|
22
22
|
};
|
|
23
23
|
exports.getEffectDragData = getEffectDragData;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { type ElementDragData } from '@remotion/
|
|
1
|
+
import { type ElementDragData } from '@remotion/studio-protocol';
|
|
2
2
|
export declare const hasElementDragType: (dataTransfer: DataTransfer | null) => boolean;
|
|
3
3
|
export declare const getElementDragData: (dataTransfer: DataTransfer | null) => ElementDragData | null;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getElementDragData = exports.hasElementDragType = void 0;
|
|
4
|
-
const
|
|
4
|
+
const studio_protocol_1 = require("@remotion/studio-protocol");
|
|
5
5
|
const hasElementDragType = (dataTransfer) => {
|
|
6
6
|
var _a;
|
|
7
7
|
var _b;
|
|
8
|
-
return (((_a =
|
|
8
|
+
return (((_a = studio_protocol_1.StudioProtocolInternals.getDragPreviewMetadata((_b = dataTransfer === null || dataTransfer === void 0 ? void 0 : dataTransfer.types) !== null && _b !== void 0 ? _b : [])) === null || _a === void 0 ? void 0 : _a.type) === 'element');
|
|
9
9
|
};
|
|
10
10
|
exports.hasElementDragType = hasElementDragType;
|
|
11
11
|
const getElementDragData = (dataTransfer) => {
|
|
12
12
|
if (!dataTransfer) {
|
|
13
13
|
return null;
|
|
14
14
|
}
|
|
15
|
-
const parsed =
|
|
15
|
+
const parsed = studio_protocol_1.StudioProtocolInternals.parseDragData(dataTransfer);
|
|
16
16
|
return (parsed === null || parsed === void 0 ? void 0 : parsed.type) === 'element' ? parsed.data : null;
|
|
17
17
|
};
|
|
18
18
|
exports.getElementDragData = getElementDragData;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ElementInstallRequest } from '@remotion/studio-shared';
|
|
2
|
+
export declare const enqueueElementInstallRequest: (request: ElementInstallRequest) => void;
|
|
3
|
+
export declare const subscribeToElementInstallRequests: (listener: (request: ElementInstallRequest) => void) => () => void;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.subscribeToElementInstallRequests = exports.enqueueElementInstallRequest = void 0;
|
|
4
|
+
const listeners = new Set();
|
|
5
|
+
const enqueueElementInstallRequest = (request) => {
|
|
6
|
+
for (const listener of listeners) {
|
|
7
|
+
listener(request);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
exports.enqueueElementInstallRequest = enqueueElementInstallRequest;
|
|
11
|
+
const subscribeToElementInstallRequests = (listener) => {
|
|
12
|
+
listeners.add(listener);
|
|
13
|
+
return () => {
|
|
14
|
+
listeners.delete(listener);
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
exports.subscribeToElementInstallRequests = subscribeToElementInstallRequests;
|
|
@@ -32,7 +32,7 @@ const getFolderMenuItems = ({ closeMenu, connectionStatus, folder, readOnlyStudi
|
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
34
34
|
try {
|
|
35
|
-
await (0, open_in_editor_1.openOriginalPositionInEditor)(resolvedLocation);
|
|
35
|
+
await (0, open_in_editor_1.openOriginalPositionInEditor)(resolvedLocation, null);
|
|
36
36
|
}
|
|
37
37
|
catch (err) {
|
|
38
38
|
(0, NotificationCenter_1.showNotification)(err.message, 2000);
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { Dimensions } from '../helpers/is-current-selected-still';
|
|
2
|
-
import { type
|
|
2
|
+
import { type InsertElementDropPosition } from './import-assets';
|
|
3
3
|
import type { SvgImportMode } from './SvgImportDialog';
|
|
4
|
-
export declare const handleDrop: ({ chooseSvgImportMode, compositionFile,
|
|
4
|
+
export declare const handleDrop: ({ chooseSvgImportMode, compositionFile, compositionId, destinationDimensions, dropPosition, event, fps, from, }: {
|
|
5
5
|
chooseSvgImportMode: () => Promise<SvgImportMode | null>;
|
|
6
6
|
compositionFile: string;
|
|
7
|
-
confirmElementOverwrite: ConfirmElementOverwrite;
|
|
8
7
|
compositionId: string;
|
|
9
8
|
destinationDimensions: Dimensions | null;
|
|
10
9
|
dropPosition: InsertElementDropPosition | null;
|
|
@@ -4,8 +4,9 @@ exports.handleDrop = void 0;
|
|
|
4
4
|
const remote_asset_drag_1 = require("../helpers/remote-asset-drag");
|
|
5
5
|
const drop_handler_data_1 = require("./drop-handler-data");
|
|
6
6
|
const element_drag_and_drop_1 = require("./element-drag-and-drop");
|
|
7
|
+
const element_install_request_1 = require("./element-install-request");
|
|
7
8
|
const import_assets_1 = require("./import-assets");
|
|
8
|
-
const handleDrop = async ({ chooseSvgImportMode, compositionFile,
|
|
9
|
+
const handleDrop = async ({ chooseSvgImportMode, compositionFile, compositionId, destinationDimensions, dropPosition, event, fps, from, }) => {
|
|
9
10
|
var _a;
|
|
10
11
|
var _b;
|
|
11
12
|
if ((0, drop_handler_data_1.isFileDragEvent)(event)) {
|
|
@@ -77,13 +78,19 @@ const handleDrop = async ({ chooseSvgImportMode, compositionFile, confirmElement
|
|
|
77
78
|
}
|
|
78
79
|
const element = (0, element_drag_and_drop_1.getElementDragData)(event.dataTransfer);
|
|
79
80
|
if (element !== null) {
|
|
80
|
-
|
|
81
|
+
(0, element_install_request_1.enqueueElementInstallRequest)({
|
|
82
|
+
id: crypto.randomUUID(),
|
|
83
|
+
clientId: 'drag-and-drop',
|
|
84
|
+
createdAt: Date.now(),
|
|
81
85
|
compositionFile,
|
|
82
86
|
compositionId,
|
|
83
|
-
confirmOverwrite: confirmElementOverwrite,
|
|
84
|
-
dropPosition,
|
|
85
87
|
element: element.element,
|
|
86
88
|
from,
|
|
89
|
+
position: (0, import_assets_1.getElementPositionForDrop)({
|
|
90
|
+
dimensions: element.element.dimensions,
|
|
91
|
+
dropPosition,
|
|
92
|
+
}),
|
|
93
|
+
source: { type: 'drag-and-drop' },
|
|
87
94
|
});
|
|
88
95
|
return;
|
|
89
96
|
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { type CompositionDragData, type ComponentProp } from '@remotion/
|
|
2
|
-
import { type
|
|
1
|
+
import { type CompositionDragData, type ComponentProp } from '@remotion/studio-protocol';
|
|
2
|
+
import { type ElementInstallExpectedFileState, type FileType, type InsertableCompositionElementPosition } from '@remotion/studio-shared';
|
|
3
3
|
import type { Dimensions } from '../helpers/is-current-selected-still';
|
|
4
4
|
export type InsertElementDropPosition = {
|
|
5
5
|
readonly centerX: number;
|
|
6
6
|
readonly centerY: number;
|
|
7
7
|
};
|
|
8
|
-
export type ConfirmElementOverwrite = (conflict: InsertElementFileConflict) => Promise<boolean>;
|
|
9
8
|
export declare const getAssetElement: ({ fileType, src, }: {
|
|
10
9
|
fileType: FileType;
|
|
11
10
|
src: string;
|
|
@@ -64,7 +63,7 @@ export declare const getAssetPositionForDrop: ({ assetDimensions, destinationDim
|
|
|
64
63
|
}) => InsertableCompositionElementPosition | null;
|
|
65
64
|
export declare const getComponentDimensions: (component: {
|
|
66
65
|
componentName: string;
|
|
67
|
-
dimensions?: import("@remotion/
|
|
66
|
+
dimensions?: import("@remotion/studio-protocol").ComponentDimensions | undefined;
|
|
68
67
|
importName: string;
|
|
69
68
|
importPath: string;
|
|
70
69
|
props: ComponentProp[];
|
|
@@ -128,7 +127,7 @@ export declare const insertExistingAssets: ({ assetPaths, compositionFile, compo
|
|
|
128
127
|
export declare const insertComponent: ({ component, compositionFile, compositionId, dropPosition, from, }: {
|
|
129
128
|
component: {
|
|
130
129
|
componentName: string;
|
|
131
|
-
dimensions?: import("@remotion/
|
|
130
|
+
dimensions?: import("@remotion/studio-protocol").ComponentDimensions | undefined;
|
|
132
131
|
importName: string;
|
|
133
132
|
importPath: string;
|
|
134
133
|
props: ComponentProp[];
|
|
@@ -145,17 +144,18 @@ export declare const insertComposition: ({ composition, compositionFile, composi
|
|
|
145
144
|
dropPosition: InsertElementDropPosition | null;
|
|
146
145
|
from: number | null;
|
|
147
146
|
}) => Promise<void>;
|
|
148
|
-
export declare const insertElement: ({ compositionFile, compositionId,
|
|
147
|
+
export declare const insertElement: ({ compositionFile, compositionId, element, expectedFileState, position, from, overwriteExisting, }: {
|
|
149
148
|
compositionFile: string;
|
|
150
149
|
compositionId: string;
|
|
151
|
-
confirmOverwrite: ConfirmElementOverwrite;
|
|
152
|
-
dropPosition: InsertElementDropPosition | null;
|
|
153
150
|
element: {
|
|
154
151
|
dependencies: string[];
|
|
155
152
|
slug: string;
|
|
156
153
|
displayName: string;
|
|
157
154
|
sourceCode: string;
|
|
158
|
-
dimensions: import("@remotion/
|
|
155
|
+
dimensions: import("@remotion/studio-protocol").ComponentDimensions | null;
|
|
159
156
|
};
|
|
157
|
+
expectedFileState: ElementInstallExpectedFileState;
|
|
158
|
+
position: InsertableCompositionElementPosition | null;
|
|
160
159
|
from: number | null;
|
|
160
|
+
overwriteExisting: boolean;
|
|
161
161
|
}) => Promise<void>;
|
|
@@ -872,33 +872,22 @@ const insertComposition = async ({ composition, compositionFile, compositionId,
|
|
|
872
872
|
}
|
|
873
873
|
};
|
|
874
874
|
exports.insertComposition = insertComposition;
|
|
875
|
-
const insertElement = async ({ compositionFile, compositionId,
|
|
875
|
+
const insertElement = async ({ compositionFile, compositionId, element, expectedFileState, position, from, overwriteExisting, }) => {
|
|
876
876
|
try {
|
|
877
877
|
await (0, install_required_package_1.installRequiredPackages)(element.dependencies);
|
|
878
|
-
const
|
|
879
|
-
dimensions: element.dimensions,
|
|
880
|
-
dropPosition,
|
|
881
|
-
});
|
|
882
|
-
const callInsertElementApi = (overwriteExisting) => (0, call_api_1.callApi)('/api/insert-element', {
|
|
878
|
+
const response = await (0, call_api_1.callApi)('/api/insert-element', {
|
|
883
879
|
compositionFile,
|
|
884
880
|
compositionId,
|
|
885
881
|
element,
|
|
882
|
+
expectedFileState,
|
|
886
883
|
from,
|
|
887
884
|
overwriteExisting,
|
|
888
885
|
position,
|
|
889
886
|
});
|
|
890
|
-
let response = await callInsertElementApi(false);
|
|
891
|
-
if (!response.success && response.type === 'file-conflict') {
|
|
892
|
-
const shouldOverwrite = await confirmOverwrite(response.conflict);
|
|
893
|
-
if (!shouldOverwrite) {
|
|
894
|
-
return;
|
|
895
|
-
}
|
|
896
|
-
response = await callInsertElementApi(true);
|
|
897
|
-
}
|
|
898
887
|
if (!response.success) {
|
|
899
888
|
const reason = response.type === 'error'
|
|
900
889
|
? response.reason
|
|
901
|
-
: `Element file
|
|
890
|
+
: `Element file changed: ${response.conflict.filePath}`;
|
|
902
891
|
(0, NotificationCenter_1.showNotification)(`Could not add Element: ${reason}`, 4000);
|
|
903
892
|
return;
|
|
904
893
|
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { SaveSequencePropsRequest, SaveSequencePropsResponse, SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse, UnsubscribeFromSequencePropsRequest } from '@remotion/studio-shared';
|
|
2
|
+
export declare const saveSequenceProps: (request: SaveSequencePropsRequest) => Promise<SaveSequencePropsResponse>;
|
|
3
|
+
export declare const subscribeToSequenceProps: (request: SubscribeToSequencePropsRequest) => Promise<SubscribeToSequencePropsResponse>;
|
|
4
|
+
export declare const unsubscribeFromSequenceProps: (request: UnsubscribeFromSequencePropsRequest) => Promise<undefined>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.unsubscribeFromSequenceProps = exports.subscribeToSequenceProps = exports.saveSequenceProps = void 0;
|
|
4
|
+
const browser_studio_operations_1 = require("../helpers/browser-studio-operations");
|
|
5
|
+
const call_api_1 = require("./call-api");
|
|
6
|
+
const saveSequenceProps = (request) => {
|
|
7
|
+
const browserStudioOperations = (0, browser_studio_operations_1.getBrowserStudioOperations)();
|
|
8
|
+
return browserStudioOperations
|
|
9
|
+
? browserStudioOperations.saveSequenceProps(request)
|
|
10
|
+
: (0, call_api_1.callApi)('/api/save-sequence-props', request);
|
|
11
|
+
};
|
|
12
|
+
exports.saveSequenceProps = saveSequenceProps;
|
|
13
|
+
const subscribeToSequenceProps = (request) => {
|
|
14
|
+
const browserStudioOperations = (0, browser_studio_operations_1.getBrowserStudioOperations)();
|
|
15
|
+
return browserStudioOperations
|
|
16
|
+
? browserStudioOperations.subscribeToSequenceProps(request)
|
|
17
|
+
: (0, call_api_1.callApi)('/api/subscribe-to-sequence-props', request);
|
|
18
|
+
};
|
|
19
|
+
exports.subscribeToSequenceProps = subscribeToSequenceProps;
|
|
20
|
+
const unsubscribeFromSequenceProps = (request) => {
|
|
21
|
+
const browserStudioOperations = (0, browser_studio_operations_1.getBrowserStudioOperations)();
|
|
22
|
+
return browserStudioOperations
|
|
23
|
+
? browserStudioOperations.unsubscribeFromSequenceProps(request)
|
|
24
|
+
: (0, call_api_1.callApi)('/api/unsubscribe-from-sequence-props', request);
|
|
25
|
+
};
|
|
26
|
+
exports.unsubscribeFromSequenceProps = unsubscribeFromSequenceProps;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { EditorPickerId, GetDefaultEditorInfoResponse } from '@remotion/studio-shared';
|
|
2
|
+
export declare const canUseEditorPicker: (previewServerConnected: boolean) => boolean;
|
|
3
|
+
export declare const getPreferredEditorId: (editorInfo: GetDefaultEditorInfoResponse | null) => EditorPickerId | null;
|
|
4
|
+
export declare const useDefaultEditorInfo: (enabled: boolean) => GetDefaultEditorInfoResponse | null;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useDefaultEditorInfo = exports.getPreferredEditorId = exports.canUseEditorPicker = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const browser_studio_operations_1 = require("../helpers/browser-studio-operations");
|
|
6
|
+
const call_api_1 = require("./call-api");
|
|
7
|
+
let editorInfoPromise = null;
|
|
8
|
+
const loadDefaultEditorInfo = () => {
|
|
9
|
+
editorInfoPromise !== null && editorInfoPromise !== void 0 ? editorInfoPromise : (editorInfoPromise = (0, call_api_1.callApi)('/api/default-editor-info', {}).catch((err) => {
|
|
10
|
+
editorInfoPromise = null;
|
|
11
|
+
throw err;
|
|
12
|
+
}));
|
|
13
|
+
return editorInfoPromise;
|
|
14
|
+
};
|
|
15
|
+
const canUseEditorPicker = (previewServerConnected) => {
|
|
16
|
+
return (previewServerConnected &&
|
|
17
|
+
!window.remotion_isReadOnlyStudio &&
|
|
18
|
+
(0, browser_studio_operations_1.getBrowserStudioOperations)() === null);
|
|
19
|
+
};
|
|
20
|
+
exports.canUseEditorPicker = canUseEditorPicker;
|
|
21
|
+
const getPreferredEditorId = (editorInfo) => {
|
|
22
|
+
var _a;
|
|
23
|
+
var _b;
|
|
24
|
+
return ((_b = (_a = editorInfo === null || editorInfo === void 0 ? void 0 : editorInfo.installedEditors.find((editor) => editor.name === window.remotion_editorName)) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : null);
|
|
25
|
+
};
|
|
26
|
+
exports.getPreferredEditorId = getPreferredEditorId;
|
|
27
|
+
const useDefaultEditorInfo = (enabled) => {
|
|
28
|
+
const [editorInfo, setEditorInfo] = (0, react_1.useState)(null);
|
|
29
|
+
(0, react_1.useEffect)(() => {
|
|
30
|
+
if (!enabled) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
let cancelled = false;
|
|
34
|
+
loadDefaultEditorInfo()
|
|
35
|
+
.then((response) => {
|
|
36
|
+
if (!cancelled) {
|
|
37
|
+
setEditorInfo(response);
|
|
38
|
+
}
|
|
39
|
+
})
|
|
40
|
+
.catch(() => undefined);
|
|
41
|
+
return () => {
|
|
42
|
+
cancelled = true;
|
|
43
|
+
};
|
|
44
|
+
}, [enabled]);
|
|
45
|
+
return editorInfo;
|
|
46
|
+
};
|
|
47
|
+
exports.useDefaultEditorInfo = useDefaultEditorInfo;
|
|
@@ -7,6 +7,7 @@ const react_1 = require("react");
|
|
|
7
7
|
const remotion_1 = require("remotion");
|
|
8
8
|
const layout_1 = require("../../components/layout");
|
|
9
9
|
const is_menu_item_1 = require("../../components/Menu/is-menu-item");
|
|
10
|
+
const colors_1 = require("../../helpers/colors");
|
|
10
11
|
const AskOnDiscord_1 = require("./AskOnDiscord");
|
|
11
12
|
const CalculateMetadataErrorExplainer_1 = require("./CalculateMetadataErrorExplainer");
|
|
12
13
|
const CopyStackTrace_1 = require("./CopyStackTrace");
|
|
@@ -23,12 +24,35 @@ const stack = {
|
|
|
23
24
|
overflowX: 'scroll',
|
|
24
25
|
marginBottom: '10vh',
|
|
25
26
|
};
|
|
27
|
+
const rawStack = {
|
|
28
|
+
backgroundColor: colors_1.ERROR_CODE_FRAME_BACKGROUND,
|
|
29
|
+
boxSizing: 'border-box',
|
|
30
|
+
color: colors_1.WHITE,
|
|
31
|
+
fontFamily: 'monospace',
|
|
32
|
+
fontSize: 14,
|
|
33
|
+
lineHeight: 1.7,
|
|
34
|
+
marginBottom: 0,
|
|
35
|
+
marginTop: 17,
|
|
36
|
+
maxWidth: '100%',
|
|
37
|
+
overflowX: 'auto',
|
|
38
|
+
padding: 12,
|
|
39
|
+
whiteSpace: 'pre',
|
|
40
|
+
};
|
|
41
|
+
const symbolicationFailureStyle = {
|
|
42
|
+
color: colors_1.WHITE_ALPHA_60,
|
|
43
|
+
fontFamily: 'SF Pro Text, sans-serif',
|
|
44
|
+
fontSize: 14,
|
|
45
|
+
lineHeight: 1.5,
|
|
46
|
+
marginBottom: '10vh',
|
|
47
|
+
marginTop: 24,
|
|
48
|
+
};
|
|
26
49
|
const spacer = {
|
|
27
50
|
width: 5,
|
|
28
51
|
display: 'inline-block',
|
|
29
52
|
};
|
|
30
|
-
const ErrorDisplay = ({ display, keyboardShortcuts, onRetry, canHaveDismissButton, calculateMetadata, }) => {
|
|
31
|
-
|
|
53
|
+
const ErrorDisplay = ({ display, keyboardShortcuts, onRetry, canHaveDismissButton, calculateMetadata, symbolicationFailure, }) => {
|
|
54
|
+
var _a;
|
|
55
|
+
const highestLineNumber = Math.max(0, ...display.stackFrames
|
|
32
56
|
.map((s) => s.originalScriptCode)
|
|
33
57
|
.flat(1)
|
|
34
58
|
.map((s) => {
|
|
@@ -70,11 +94,11 @@ const ErrorDisplay = ({ display, keyboardShortcuts, onRetry, canHaveDismissButto
|
|
|
70
94
|
jsx_runtime_1.jsx("br", {}), jsx_runtime_1.jsx(layout_1.Spacing, { y: 0.5 }), jsx_runtime_1.jsx(CalculateMetadataErrorExplainer_1.CalculateMetadataErrorExplainer, {})
|
|
71
95
|
] })) : null, display.error instanceof remotion_1.MediaPlaybackError ? (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
|
|
72
96
|
jsx_runtime_1.jsx("br", {}), jsx_runtime_1.jsx(layout_1.Spacing, { y: 0.5 }), jsx_runtime_1.jsx(MediaPlaybackErrorExplainer_1.MediaPlaybackErrorExplainer, { src: display.error.src })
|
|
73
|
-
] })) : null, jsx_runtime_1.jsx("div", { style: stack, className: is_menu_item_1.HORIZONTAL_SCROLLBAR_CLASSNAME, children: display.stackFrames.map((s, i) => {
|
|
97
|
+
] })) : null, display.stackFrames.length > 0 ? (jsx_runtime_1.jsx("div", { style: stack, className: is_menu_item_1.HORIZONTAL_SCROLLBAR_CLASSNAME, children: display.stackFrames.map((s, i) => {
|
|
74
98
|
return (jsx_runtime_1.jsx(StackFrame_1.StackElement
|
|
75
99
|
// eslint-disable-next-line react/no-array-index-key
|
|
76
100
|
, { isFirst: i === 0, s: s, lineNumberWidth: lineNumberWidth, defaultFunctionName: '(anonymous function)' }, i));
|
|
77
|
-
}) })
|
|
78
|
-
|
|
101
|
+
}) })) : (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
|
|
102
|
+
jsx_runtime_1.jsx("pre", { "aria-label": "Unsymbolicated stack trace", className: is_menu_item_1.HORIZONTAL_SCROLLBAR_CLASSNAME, style: rawStack, children: (_a = display.error.stack) !== null && _a !== void 0 ? _a : 'Check the Terminal and browser console for error messages.' }), symbolicationFailure ? (jsx_runtime_1.jsx("div", { style: symbolicationFailureStyle, children: symbolicationFailure })) : null] }))] }));
|
|
79
103
|
};
|
|
80
104
|
exports.ErrorDisplay = ErrorDisplay;
|
|
@@ -4,7 +4,6 @@ exports.ErrorLoader = void 0;
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const studio_shared_1 = require("@remotion/studio-shared");
|
|
6
6
|
const react_1 = require("react");
|
|
7
|
-
const colors_1 = require("../../helpers/colors");
|
|
8
7
|
const error_origin_1 = require("../error-origin");
|
|
9
8
|
const listen_to_runtime_errors_1 = require("../react-overlay/listen-to-runtime-errors");
|
|
10
9
|
const ErrorDisplay_1 = require("./ErrorDisplay");
|
|
@@ -19,17 +18,7 @@ const container = {
|
|
|
19
18
|
marginRight: 'auto',
|
|
20
19
|
fontFamily: 'SF Pro Text, sans-serif',
|
|
21
20
|
paddingTop: '5vh',
|
|
22
|
-
|
|
23
|
-
const errorWhileErrorStyle = {
|
|
24
|
-
color: colors_1.WHITE,
|
|
25
|
-
lineHeight: 1.5,
|
|
26
|
-
whiteSpace: 'pre',
|
|
27
|
-
};
|
|
28
|
-
const errorWhileSymbolicatingStyle = {
|
|
29
|
-
color: colors_1.WHITE,
|
|
30
|
-
lineHeight: 1.5,
|
|
31
|
-
marginTop: 24,
|
|
32
|
-
opacity: 0.7,
|
|
21
|
+
boxSizing: 'border-box',
|
|
33
22
|
};
|
|
34
23
|
const shouldLogError = (error) => {
|
|
35
24
|
return (!(0, error_origin_1.wasErrorLoggedByServer)(error) && (0, studio_shared_1.getLocationFromBuildError)(error) === null);
|
|
@@ -58,7 +47,6 @@ const logSymbolicatedStudioError = (record) => {
|
|
|
58
47
|
});
|
|
59
48
|
};
|
|
60
49
|
const ErrorLoader = ({ error, keyboardShortcuts, onRetry, canHaveDismissButton, calculateMetadata, }) => {
|
|
61
|
-
var _a;
|
|
62
50
|
const [state, setState] = (0, react_1.useState)({
|
|
63
51
|
type: 'loading',
|
|
64
52
|
});
|
|
@@ -97,15 +85,11 @@ const ErrorLoader = ({ error, keyboardShortcuts, onRetry, canHaveDismissButton,
|
|
|
97
85
|
return (jsx_runtime_1.jsx("div", { style: container, children: jsx_runtime_1.jsx(ErrorTitle_1.ErrorTitle, { symbolicating: true, name: error.name, message: error.message, canHaveDismissButton: canHaveDismissButton }) }));
|
|
98
86
|
}
|
|
99
87
|
if (state.type === 'error') {
|
|
100
|
-
return (jsx_runtime_1.
|
|
101
|
-
jsx_runtime_1.jsx(ErrorTitle_1.ErrorTitle, { symbolicating: false, name: error.name, message: error.message, canHaveDismissButton: canHaveDismissButton }), jsx_runtime_1.jsx("div", { style: errorWhileErrorStyle, children: (_a = error.stack) !== null && _a !== void 0 ? _a : 'Check the Terminal and browser console for error messages.' }), jsx_runtime_1.jsxs("div", { style: errorWhileSymbolicatingStyle, children: ["Could not symbolicate the stack trace: ", state.err.message] })
|
|
102
|
-
] }));
|
|
88
|
+
return (jsx_runtime_1.jsx("div", { style: container, children: jsx_runtime_1.jsx(ErrorDisplay_1.ErrorDisplay, { keyboardShortcuts: keyboardShortcuts, display: { error, contextSize: 0, stackFrames: [] }, onRetry: onRetry, canHaveDismissButton: canHaveDismissButton, calculateMetadata: calculateMetadata, symbolicationFailure: `Could not symbolicate the stack trace: ${state.err.message}` }) }));
|
|
103
89
|
}
|
|
104
90
|
if (state.type === 'no-record') {
|
|
105
|
-
return (jsx_runtime_1.
|
|
106
|
-
jsx_runtime_1.jsx(ErrorTitle_1.ErrorTitle, { symbolicating: false, name: error.name, message: error.message, canHaveDismissButton: canHaveDismissButton }), jsx_runtime_1.jsx("div", { style: errorWhileErrorStyle, children: "Check the Terminal and browser console for error messages." })
|
|
107
|
-
] }));
|
|
91
|
+
return (jsx_runtime_1.jsx("div", { style: container, children: jsx_runtime_1.jsx(ErrorDisplay_1.ErrorDisplay, { keyboardShortcuts: keyboardShortcuts, display: { error, contextSize: 0, stackFrames: [] }, onRetry: onRetry, canHaveDismissButton: canHaveDismissButton, calculateMetadata: calculateMetadata, symbolicationFailure: "Could not symbolicate the stack trace." }) }));
|
|
108
92
|
}
|
|
109
|
-
return (jsx_runtime_1.jsx("div", { style: container, children: jsx_runtime_1.jsx(ErrorDisplay_1.ErrorDisplay, { keyboardShortcuts: keyboardShortcuts, display: state.record, onRetry: onRetry, canHaveDismissButton: canHaveDismissButton, calculateMetadata: calculateMetadata }) }));
|
|
93
|
+
return (jsx_runtime_1.jsx("div", { style: container, children: jsx_runtime_1.jsx(ErrorDisplay_1.ErrorDisplay, { keyboardShortcuts: keyboardShortcuts, display: state.record, onRetry: onRetry, canHaveDismissButton: canHaveDismissButton, calculateMetadata: calculateMetadata, symbolicationFailure: null }) }));
|
|
110
94
|
};
|
|
111
95
|
exports.ErrorLoader = ErrorLoader;
|
|
@@ -42,7 +42,7 @@ const OpenInEditor = ({ stack, canHaveKeyboardShortcuts }) => {
|
|
|
42
42
|
}, []);
|
|
43
43
|
const openInBrowser = (0, react_1.useCallback)(() => {
|
|
44
44
|
dispatch({ type: 'start' });
|
|
45
|
-
(0, open_in_editor_1.openInEditor)(stack)
|
|
45
|
+
(0, open_in_editor_1.openInEditor)(stack, null)
|
|
46
46
|
.then((data) => {
|
|
47
47
|
if (data.success) {
|
|
48
48
|
dispatchIfMounted({ type: 'succeed' });
|
|
@@ -48,7 +48,7 @@ const StackElement = ({ s, lineNumberWidth, isFirst, defaultFunctionName }) => {
|
|
|
48
48
|
if (!canOpenFileLocation) {
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
|
-
(0, open_in_editor_1.openInEditor)(s).catch((err) => {
|
|
51
|
+
(0, open_in_editor_1.openInEditor)(s, null).catch((err) => {
|
|
52
52
|
// eslint-disable-next-line no-console
|
|
53
53
|
console.log('Could not open in editor', err);
|
|
54
54
|
});
|