@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
|
@@ -29,6 +29,7 @@ const useTimelineAssetDrop = () => {
|
|
|
29
29
|
const { previewServerState } = (0, react_1.useContext)(client_id_1.StudioServerConnectionCtx);
|
|
30
30
|
const [isAddingAsset, setIsAddingAsset] = (0, react_1.useState)(false);
|
|
31
31
|
const [assetDropFrame, setAssetDropFrame] = (0, react_1.useState)(null);
|
|
32
|
+
const unsupportedDropNotifiedRef = (0, react_1.useRef)(false);
|
|
32
33
|
const currentCompositionId = (canvasContent === null || canvasContent === void 0 ? void 0 : canvasContent.type) === 'composition' ? canvasContent.compositionId : null;
|
|
33
34
|
const currentComposition = (0, react_1.useMemo)(() => {
|
|
34
35
|
var _a;
|
|
@@ -71,9 +72,18 @@ const useTimelineAssetDrop = () => {
|
|
|
71
72
|
dataTransfer === null ||
|
|
72
73
|
!(0, drop_handler_data_1.isSupportedDropEvent)(event) ||
|
|
73
74
|
!isEventTargetInsideElement(event, timeline)) {
|
|
75
|
+
unsupportedDropNotifiedRef.current = false;
|
|
74
76
|
setAssetDropFrame(null);
|
|
75
77
|
return;
|
|
76
78
|
}
|
|
79
|
+
const mayBeCanvasCapture = (0, drop_handler_data_1.isFileDragEvent)(event) && !window.remotion_isReadOnlyStudio;
|
|
80
|
+
const shouldNotifyAboutUnsupportedDrop = (compositionComponentInfo === null || compositionComponentInfo === void 0 ? void 0 : compositionComponentInfo.canAddSequence) === false &&
|
|
81
|
+
!mayBeCanvasCapture;
|
|
82
|
+
if (shouldNotifyAboutUnsupportedDrop &&
|
|
83
|
+
!unsupportedDropNotifiedRef.current) {
|
|
84
|
+
(0, NotificationCenter_1.showCannotAddSequenceDropNotification)();
|
|
85
|
+
}
|
|
86
|
+
unsupportedDropNotifiedRef.current = shouldNotifyAboutUnsupportedDrop;
|
|
77
87
|
event.preventDefault();
|
|
78
88
|
event.stopPropagation();
|
|
79
89
|
dataTransfer.dropEffect = canInsertAsset ? 'copy' : 'none';
|
|
@@ -82,8 +92,10 @@ const useTimelineAssetDrop = () => {
|
|
|
82
92
|
scrollable !== null &&
|
|
83
93
|
isEventTargetInsideElement(event, scrollable);
|
|
84
94
|
setAssetDropFrame(shouldShowDropFrame ? getDropFrame(event) : null);
|
|
85
|
-
}, [canInsertAsset, getDropFrame]);
|
|
95
|
+
}, [canInsertAsset, compositionComponentInfo === null || compositionComponentInfo === void 0 ? void 0 : compositionComponentInfo.canAddSequence, getDropFrame]);
|
|
86
96
|
const onAssetDrop = (0, react_1.useCallback)(async (event) => {
|
|
97
|
+
const unsupportedDropWasNotified = unsupportedDropNotifiedRef.current;
|
|
98
|
+
unsupportedDropNotifiedRef.current = false;
|
|
87
99
|
setAssetDropFrame(null);
|
|
88
100
|
const timeline = timeline_refs_1.timelineVerticalScroll.current;
|
|
89
101
|
const { dataTransfer } = event;
|
|
@@ -122,8 +134,9 @@ const useTimelineAssetDrop = () => {
|
|
|
122
134
|
currentCompositionId === null ||
|
|
123
135
|
compositionFile === null ||
|
|
124
136
|
videoConfig === null) {
|
|
125
|
-
if ((compositionComponentInfo === null || compositionComponentInfo === void 0 ? void 0 : compositionComponentInfo.canAddSequence) === false
|
|
126
|
-
|
|
137
|
+
if ((compositionComponentInfo === null || compositionComponentInfo === void 0 ? void 0 : compositionComponentInfo.canAddSequence) === false &&
|
|
138
|
+
!unsupportedDropWasNotified) {
|
|
139
|
+
(0, NotificationCenter_1.showCannotAddSequenceDropNotification)();
|
|
127
140
|
}
|
|
128
141
|
return;
|
|
129
142
|
}
|
|
@@ -166,6 +179,7 @@ const useTimelineAssetDrop = () => {
|
|
|
166
179
|
videoConfig,
|
|
167
180
|
]);
|
|
168
181
|
const clearAssetDropFrame = (0, react_1.useCallback)(() => {
|
|
182
|
+
unsupportedDropNotifiedRef.current = false;
|
|
169
183
|
setAssetDropFrame(null);
|
|
170
184
|
}, []);
|
|
171
185
|
(0, react_1.useEffect)(() => {
|
|
@@ -450,8 +450,8 @@ const useTimelineKeyframeDrag = ({ frame, nodePathInfo, onSelect, selectable, se
|
|
|
450
450
|
event: e,
|
|
451
451
|
captureTarget: e.currentTarget,
|
|
452
452
|
onMove: onPointerMove,
|
|
453
|
-
onEnd: (reason) => {
|
|
454
|
-
if (
|
|
453
|
+
onEnd: (reason, endEvent) => {
|
|
454
|
+
if ((0, pointer_session_1.isPointerSessionRelease)(reason, endEvent)) {
|
|
455
455
|
onPointerUp();
|
|
456
456
|
}
|
|
457
457
|
else {
|
|
@@ -657,8 +657,8 @@ const useTimelineEasingKeyframeDrag = ({ onSelect, selectable, selected, selecti
|
|
|
657
657
|
event: e,
|
|
658
658
|
captureTarget: e.currentTarget,
|
|
659
659
|
onMove: onPointerMove,
|
|
660
|
-
onEnd: (reason) => {
|
|
661
|
-
if (
|
|
660
|
+
onEnd: (reason, endEvent) => {
|
|
661
|
+
if ((0, pointer_session_1.isPointerSessionRelease)(reason, endEvent)) {
|
|
662
662
|
onPointerUp();
|
|
663
663
|
}
|
|
664
664
|
else {
|
|
@@ -6,6 +6,7 @@ const react_1 = require("react");
|
|
|
6
6
|
const browser_studio_operations_1 = require("../helpers/browser-studio-operations");
|
|
7
7
|
const client_id_1 = require("../helpers/client-id");
|
|
8
8
|
const colors_1 = require("../helpers/colors");
|
|
9
|
+
const url_state_1 = require("../helpers/url-state");
|
|
9
10
|
const use_keybinding_1 = require("../helpers/use-keybinding");
|
|
10
11
|
const use_keyboard_shortcut_label_1 = require("../helpers/use-keyboard-shortcut-label");
|
|
11
12
|
const redo_1 = require("../icons/redo");
|
|
@@ -43,6 +44,11 @@ const UndoRedoButtons = () => {
|
|
|
43
44
|
? browserStudioOperations.undo()
|
|
44
45
|
: (0, call_api_1.callApi)('/api/undo', {});
|
|
45
46
|
promise
|
|
47
|
+
.then((response) => {
|
|
48
|
+
if (response.success && response.route !== null) {
|
|
49
|
+
(0, url_state_1.pushUrl)(response.route);
|
|
50
|
+
}
|
|
51
|
+
})
|
|
46
52
|
.catch(() => {
|
|
47
53
|
// Ignore errors
|
|
48
54
|
})
|
|
@@ -60,6 +66,11 @@ const UndoRedoButtons = () => {
|
|
|
60
66
|
? browserStudioOperations.redo()
|
|
61
67
|
: (0, call_api_1.callApi)('/api/redo', {});
|
|
62
68
|
promise
|
|
69
|
+
.then((response) => {
|
|
70
|
+
if (response.success && response.route !== null) {
|
|
71
|
+
(0, url_state_1.pushUrl)(response.route);
|
|
72
|
+
}
|
|
73
|
+
})
|
|
63
74
|
.catch(() => {
|
|
64
75
|
// Ignore errors
|
|
65
76
|
})
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getCompositionContextMenuItems = exports.getCompositionMenuItems = void 0;
|
|
4
4
|
const no_react_1 = require("remotion/no-react");
|
|
5
5
|
const format_file_location_1 = require("../helpers/format-file-location");
|
|
6
|
+
const get_git_menu_item_1 = require("../helpers/get-git-menu-item");
|
|
6
7
|
const open_in_editor_1 = require("../helpers/open-in-editor");
|
|
7
8
|
const NotificationCenter_1 = require("./Notifications/NotificationCenter");
|
|
8
9
|
const open_in_new_window_1 = require("./open-in-new-window");
|
|
@@ -22,6 +23,13 @@ const getCompositionMenuItems = ({ composition, connectionStatus, resolvedLocati
|
|
|
22
23
|
connectionStatus !== 'connected' ||
|
|
23
24
|
!resolvedLocation;
|
|
24
25
|
const openComponentInEditorDisabled = showInEditorDisabled || !(resolvedLocation === null || resolvedLocation === void 0 ? void 0 : resolvedLocation.source);
|
|
26
|
+
const gitSourceName = window.remotion_gitSource
|
|
27
|
+
? (0, get_git_menu_item_1.getGitSourceName)(window.remotion_gitSource)
|
|
28
|
+
: null;
|
|
29
|
+
const openCompositionInGitSourceDisabled = !composition || !resolvedLocation;
|
|
30
|
+
const openComponentInGitSourceDisabled = openCompositionInGitSourceDisabled ||
|
|
31
|
+
!(resolvedLocation === null || resolvedLocation === void 0 ? void 0 : resolvedLocation.source) ||
|
|
32
|
+
(!readOnlyStudio && connectionStatus !== 'connected');
|
|
25
33
|
const copyFileLocationDisabled = !composition || !fileLocation;
|
|
26
34
|
return [
|
|
27
35
|
editorName
|
|
@@ -78,7 +86,53 @@ const getCompositionMenuItems = ({ composition, connectionStatus, resolvedLocati
|
|
|
78
86
|
disabled: openComponentInEditorDisabled,
|
|
79
87
|
}
|
|
80
88
|
: null,
|
|
81
|
-
|
|
89
|
+
gitSourceName
|
|
90
|
+
? {
|
|
91
|
+
id: 'open-composition-in-git-source',
|
|
92
|
+
keyHint: null,
|
|
93
|
+
label: `Open composition in ${gitSourceName}`,
|
|
94
|
+
leftItem: null,
|
|
95
|
+
onClick: () => {
|
|
96
|
+
closeMenu();
|
|
97
|
+
(0, get_git_menu_item_1.openGitSource)({ folder: false, location: resolvedLocation });
|
|
98
|
+
},
|
|
99
|
+
quickSwitcherLabel: `Open composition in ${gitSourceName}`,
|
|
100
|
+
subMenu: null,
|
|
101
|
+
type: 'item',
|
|
102
|
+
value: 'open-composition-in-git-source',
|
|
103
|
+
disabled: openCompositionInGitSourceDisabled,
|
|
104
|
+
}
|
|
105
|
+
: null,
|
|
106
|
+
gitSourceName
|
|
107
|
+
? {
|
|
108
|
+
id: 'open-component-in-git-source',
|
|
109
|
+
keyHint: null,
|
|
110
|
+
label: `Open component in ${gitSourceName}`,
|
|
111
|
+
leftItem: null,
|
|
112
|
+
onClick: async () => {
|
|
113
|
+
closeMenu();
|
|
114
|
+
if (!composition || !(resolvedLocation === null || resolvedLocation === void 0 ? void 0 : resolvedLocation.source)) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
try {
|
|
118
|
+
const info = await (0, open_in_editor_1.loadCompositionComponentInfo)({
|
|
119
|
+
compositionFile: resolvedLocation.source,
|
|
120
|
+
compositionId: composition.id,
|
|
121
|
+
});
|
|
122
|
+
(0, get_git_menu_item_1.openGitSource)({ folder: false, location: info.location });
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
(0, NotificationCenter_1.showNotification)(err.message, 2000);
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
quickSwitcherLabel: `Open composition component in ${gitSourceName}`,
|
|
129
|
+
subMenu: null,
|
|
130
|
+
type: 'item',
|
|
131
|
+
value: 'open-component-in-git-source',
|
|
132
|
+
disabled: openComponentInGitSourceDisabled,
|
|
133
|
+
}
|
|
134
|
+
: null,
|
|
135
|
+
(editorName || gitSourceName) && includeCompositionManagementItems
|
|
82
136
|
? {
|
|
83
137
|
type: 'divider',
|
|
84
138
|
id: 'show-in-editor-divider',
|
|
@@ -154,7 +208,7 @@ const getCompositionMenuItems = ({ composition, connectionStatus, resolvedLocati
|
|
|
154
208
|
disabled: !composition || readOnlyStudio,
|
|
155
209
|
}
|
|
156
210
|
: null,
|
|
157
|
-
editorName || includeCompositionManagementItems
|
|
211
|
+
editorName || gitSourceName || includeCompositionManagementItems
|
|
158
212
|
? {
|
|
159
213
|
type: 'divider',
|
|
160
214
|
id: 'copy-actions-divider',
|
|
@@ -15,6 +15,11 @@ const getFolderMenuItems = ({ closeMenu, connectionStatus, folder, readOnlyStudi
|
|
|
15
15
|
location: resolvedLocation,
|
|
16
16
|
root: window.remotion_cwd,
|
|
17
17
|
});
|
|
18
|
+
const contextForAgents = (0, format_file_location_1.formatContextForAgents)({
|
|
19
|
+
location: resolvedLocation,
|
|
20
|
+
name: folderId,
|
|
21
|
+
root: window.remotion_cwd,
|
|
22
|
+
});
|
|
18
23
|
const showInEditorDisabled = !editorId || connectionStatus !== 'connected' || !resolvedLocation;
|
|
19
24
|
const copyFileLocationDisabled = !fileLocation;
|
|
20
25
|
const codemodDisabled = readOnlyStudio || !folder.stack;
|
|
@@ -44,6 +49,26 @@ const getFolderMenuItems = ({ closeMenu, connectionStatus, folder, readOnlyStudi
|
|
|
44
49
|
disabled: showInEditorDisabled,
|
|
45
50
|
}
|
|
46
51
|
: null,
|
|
52
|
+
{
|
|
53
|
+
id: 'copy-context-for-agents',
|
|
54
|
+
keyHint: null,
|
|
55
|
+
label: `Copy context for agents`,
|
|
56
|
+
leftItem: null,
|
|
57
|
+
onClick: () => {
|
|
58
|
+
closeMenu();
|
|
59
|
+
if (!contextForAgents) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
navigator.clipboard.writeText(contextForAgents).catch((err) => {
|
|
63
|
+
(0, NotificationCenter_1.showNotification)(`Could not copy to clipboard: ${err.message}`, 1000);
|
|
64
|
+
});
|
|
65
|
+
},
|
|
66
|
+
quickSwitcherLabel: null,
|
|
67
|
+
subMenu: null,
|
|
68
|
+
type: 'item',
|
|
69
|
+
value: 'copy-context-for-agents',
|
|
70
|
+
disabled: !contextForAgents,
|
|
71
|
+
},
|
|
47
72
|
{
|
|
48
73
|
id: 'copy-folder-file-location',
|
|
49
74
|
keyHint: null,
|
|
@@ -96,6 +121,25 @@ const getFolderMenuItems = ({ closeMenu, connectionStatus, folder, readOnlyStudi
|
|
|
96
121
|
value: 'new-composition-in-folder',
|
|
97
122
|
disabled: codemodDisabled,
|
|
98
123
|
},
|
|
124
|
+
{
|
|
125
|
+
id: 'new-folder-in-folder',
|
|
126
|
+
keyHint: null,
|
|
127
|
+
label: `New folder...`,
|
|
128
|
+
leftItem: null,
|
|
129
|
+
onClick: () => {
|
|
130
|
+
closeMenu();
|
|
131
|
+
setSelectedModal({
|
|
132
|
+
type: 'new-folder',
|
|
133
|
+
parentName: folderId,
|
|
134
|
+
stack: folder.stack,
|
|
135
|
+
});
|
|
136
|
+
},
|
|
137
|
+
quickSwitcherLabel: 'New folder in folder...',
|
|
138
|
+
subMenu: null,
|
|
139
|
+
type: 'item',
|
|
140
|
+
value: 'new-folder-in-folder',
|
|
141
|
+
disabled: codemodDisabled,
|
|
142
|
+
},
|
|
99
143
|
{
|
|
100
144
|
id: 'rename-folder',
|
|
101
145
|
keyHint: null,
|
|
@@ -81,7 +81,7 @@ const getOpenInMenuItems = ({ codingAgentInfo, editorDisabled, editorInfo, exclu
|
|
|
81
81
|
id: 'open-in-github',
|
|
82
82
|
keyHint: null,
|
|
83
83
|
label: jsx_runtime_1.jsx("span", { style: menuLabel, children: "GitHub.com" }),
|
|
84
|
-
leftItem: jsx_runtime_1.jsx(github_1.GitHubIcon, { size:
|
|
84
|
+
leftItem: jsx_runtime_1.jsx(github_1.GitHubIcon, { size: 16 }),
|
|
85
85
|
onClick: () => {
|
|
86
86
|
(0, get_git_menu_item_1.openGitSource)({ folder, location });
|
|
87
87
|
},
|
|
@@ -156,7 +156,7 @@ export declare const insertComposition: ({ composition, compositionFile, composi
|
|
|
156
156
|
from: number | null;
|
|
157
157
|
preferCompositionStart: boolean | null;
|
|
158
158
|
}) => Promise<void>;
|
|
159
|
-
export declare const insertElement: ({ installationName, compositionFile, compositionId, element, expectedFileState, position, from, overwriteExisting, }: {
|
|
159
|
+
export declare const insertElement: ({ installationName, compositionFile, compositionId, element, expectedFileState, position, from, overwriteExisting, undoRedoNavigation, newComposition, }: {
|
|
160
160
|
installationName: string | null;
|
|
161
161
|
compositionFile: string;
|
|
162
162
|
compositionId: string;
|
|
@@ -165,4 +165,27 @@ export declare const insertElement: ({ installationName, compositionFile, compos
|
|
|
165
165
|
position: InsertableCompositionElementPosition | null;
|
|
166
166
|
from: number | null;
|
|
167
167
|
overwriteExisting: boolean;
|
|
168
|
+
undoRedoNavigation: import("@remotion/studio-shared").UndoRedoNavigation | null;
|
|
169
|
+
newComposition: {
|
|
170
|
+
codemod: {
|
|
171
|
+
type: "new-composition";
|
|
172
|
+
newId: string;
|
|
173
|
+
componentName: string;
|
|
174
|
+
componentImportPath: string;
|
|
175
|
+
folderName: string | null;
|
|
176
|
+
parentName: string | null;
|
|
177
|
+
newHeight: number;
|
|
178
|
+
newWidth: number;
|
|
179
|
+
newFps: number;
|
|
180
|
+
newDurationInFrames: number;
|
|
181
|
+
canvasCapture: {
|
|
182
|
+
readonly videoFileName: string;
|
|
183
|
+
readonly videoHeight: number;
|
|
184
|
+
readonly videoWidth: number;
|
|
185
|
+
readonly keyframeFps: number;
|
|
186
|
+
readonly data: import("@remotion/studio-shared").CanvasCaptureData;
|
|
187
|
+
} | null;
|
|
188
|
+
};
|
|
189
|
+
symbolicatedStack: import("@remotion/studio-shared").SymbolicatedStackFrame | null;
|
|
190
|
+
} | null;
|
|
168
191
|
}) => Promise<boolean>;
|
|
@@ -875,7 +875,7 @@ const insertComposition = async ({ composition, compositionFile, compositionId,
|
|
|
875
875
|
}
|
|
876
876
|
};
|
|
877
877
|
exports.insertComposition = insertComposition;
|
|
878
|
-
const insertElement = async ({ installationName, compositionFile, compositionId, element, expectedFileState, position, from, overwriteExisting, }) => {
|
|
878
|
+
const insertElement = async ({ installationName, compositionFile, compositionId, element, expectedFileState, position, from, overwriteExisting, undoRedoNavigation, newComposition, }) => {
|
|
879
879
|
try {
|
|
880
880
|
if ((0, browser_studio_operations_1.getBrowserStudioOperations)() === null) {
|
|
881
881
|
await (0, install_required_package_1.installRequiredPackages)(element.dependencies);
|
|
@@ -889,6 +889,8 @@ const insertElement = async ({ installationName, compositionFile, compositionId,
|
|
|
889
889
|
from,
|
|
890
890
|
overwriteExisting,
|
|
891
891
|
position,
|
|
892
|
+
undoRedoNavigation,
|
|
893
|
+
newComposition,
|
|
892
894
|
});
|
|
893
895
|
if (!response.success) {
|
|
894
896
|
const reason = response.type === 'error'
|
|
@@ -12,15 +12,15 @@ export type KeyboardShortcutGroup = {
|
|
|
12
12
|
export declare const defaultKeyboardShortcuts: Record<StudioKeyboardShortcutAction, readonly StudioKeyboardShortcut[]>;
|
|
13
13
|
export declare const keyboardShortcutGroups: readonly KeyboardShortcutGroup[];
|
|
14
14
|
export declare const askAIKeyboardShortcutGroup: KeyboardShortcutGroup;
|
|
15
|
-
export declare const getKeyboardShortcutsForAction: (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", configured?: 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", StudioKeyboardShortcutValue>> | null) => readonly StudioKeyboardShortcut[];
|
|
15
|
+
export declare const getKeyboardShortcutsForAction: (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", configured?: 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", StudioKeyboardShortcutValue>> | null) => readonly StudioKeyboardShortcut[];
|
|
16
16
|
export declare const keyboardEventMatchesShortcut: ({ event, shortcut: value, }: {
|
|
17
17
|
readonly event: KeyboardEvent;
|
|
18
18
|
readonly shortcut: StudioKeyboardShortcut;
|
|
19
19
|
}) => boolean;
|
|
20
20
|
export declare const keyboardShortcutsOverlap: (first: StudioKeyboardShortcut, second: StudioKeyboardShortcut) => boolean;
|
|
21
|
-
export declare const keyboardEventMatchesAction: (event: KeyboardEvent, 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") => boolean;
|
|
21
|
+
export declare const keyboardEventMatchesAction: (event: KeyboardEvent, 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") => boolean;
|
|
22
22
|
export declare const formatKeyboardShortcut: (value: StudioKeyboardShortcut) => readonly string[];
|
|
23
23
|
export declare const formatKeyboardShortcutForAria: (value: StudioKeyboardShortcut) => string;
|
|
24
|
-
export declare const getKeyboardShortcutLabel: (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;
|
|
25
|
-
export declare const getKeyboardShortcutAriaKeyShortcuts: (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;
|
|
24
|
+
export declare const getKeyboardShortcutLabel: (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;
|
|
25
|
+
export declare const getKeyboardShortcutAriaKeyShortcuts: (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;
|
|
26
26
|
export declare const shortcutFromKeyboardEvent: (event: KeyboardEvent) => StudioKeyboardShortcut | null;
|
|
@@ -50,6 +50,7 @@ exports.defaultKeyboardShortcuts = {
|
|
|
50
50
|
cutEffects: [{ key: 'x', commandOrControl: true }],
|
|
51
51
|
deleteSelection: [{ key: 'Backspace' }, { key: 'Delete' }],
|
|
52
52
|
askAI: [{ key: 'i', commandOrControl: true }],
|
|
53
|
+
pickColor: [{ key: 'c', shift: true }],
|
|
53
54
|
};
|
|
54
55
|
exports.keyboardShortcutGroups = [
|
|
55
56
|
{
|
|
@@ -116,6 +117,10 @@ exports.keyboardShortcutGroups = [
|
|
|
116
117
|
shortcut('Reset zoom', 'resetZoom'),
|
|
117
118
|
],
|
|
118
119
|
},
|
|
120
|
+
{
|
|
121
|
+
name: 'Tools',
|
|
122
|
+
shortcuts: [shortcut('Color Picker', 'pickColor')],
|
|
123
|
+
},
|
|
119
124
|
{
|
|
120
125
|
name: 'Props Editor',
|
|
121
126
|
shortcuts: [shortcut('Undo', 'undo'), shortcut('Redo', 'redo')],
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Models
|
|
3
|
-
} from "./index-
|
|
4
|
-
import"./index-
|
|
5
|
-
import"./index-
|
|
3
|
+
} from "./index-vsxrxfpj.mjs";
|
|
4
|
+
import"./index-jrw61pkj.mjs";
|
|
5
|
+
import"./index-0x13f28h.mjs";
|
|
6
6
|
import"./index-5zrb1ft4.mjs";
|
|
7
7
|
import"./index-k426ye99.mjs";
|
|
8
8
|
import"./index-rcv7qkt5.mjs";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Models
|
|
3
|
-
} from "./index-
|
|
4
|
-
import"./index-
|
|
5
|
-
import"./index-
|
|
3
|
+
} from "./index-hbezgbbq.mjs";
|
|
4
|
+
import"./index-jrw61pkj.mjs";
|
|
5
|
+
import"./index-0x13f28h.mjs";
|
|
6
6
|
import"./index-5zrb1ft4.mjs";
|
|
7
7
|
import"./index-k426ye99.mjs";
|
|
8
8
|
import"./index-rcv7qkt5.mjs";
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
NumberSetting,
|
|
7
7
|
getDefaultCaptionOutputName,
|
|
8
8
|
validateCaptionOutputName
|
|
9
|
-
} from "./index-
|
|
9
|
+
} from "./index-1089795y.mjs";
|
|
10
10
|
import {
|
|
11
11
|
Button,
|
|
12
12
|
Checkbox,
|
|
@@ -32,20 +32,20 @@ import {
|
|
|
32
32
|
rightRow,
|
|
33
33
|
showNotification,
|
|
34
34
|
useStaticFiles
|
|
35
|
-
} from "./index-
|
|
35
|
+
} from "./index-ggqpre9v.mjs";
|
|
36
36
|
import {
|
|
37
37
|
RenderQueueContext
|
|
38
38
|
} from "./index-9x6e1dq0.mjs";
|
|
39
39
|
import {
|
|
40
40
|
openInFileExplorer
|
|
41
|
-
} from "./index-
|
|
41
|
+
} from "./index-41kqns5c.mjs";
|
|
42
42
|
import {
|
|
43
43
|
getBrowserStudioOperations
|
|
44
44
|
} from "./index-cw0pnpg5.mjs";
|
|
45
45
|
import {
|
|
46
46
|
Models
|
|
47
|
-
} from "./index-
|
|
48
|
-
import"./index-
|
|
47
|
+
} from "./index-vsxrxfpj.mjs";
|
|
48
|
+
import"./index-jrw61pkj.mjs";
|
|
49
49
|
import {
|
|
50
50
|
InlineAction,
|
|
51
51
|
Spacing,
|
|
@@ -61,7 +61,7 @@ import {
|
|
|
61
61
|
leftSidebar,
|
|
62
62
|
optionsPanel,
|
|
63
63
|
outerModalStyle
|
|
64
|
-
} from "./index-
|
|
64
|
+
} from "./index-0x13f28h.mjs";
|
|
65
65
|
import"./index-5zrb1ft4.mjs";
|
|
66
66
|
import {
|
|
67
67
|
BLUE_DISABLED,
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./index-7tt71e8n.mjs";
|
|
4
4
|
import {
|
|
5
5
|
RenderModalOutputName
|
|
6
|
-
} from "./index-
|
|
6
|
+
} from "./index-mww32xc8.mjs";
|
|
7
7
|
import {
|
|
8
8
|
Button,
|
|
9
9
|
Checkmark,
|
|
@@ -25,16 +25,16 @@ import {
|
|
|
25
25
|
rightRow,
|
|
26
26
|
useStaticFiles,
|
|
27
27
|
validatePublicOutputName
|
|
28
|
-
} from "./index-
|
|
28
|
+
} from "./index-ggqpre9v.mjs";
|
|
29
29
|
import {
|
|
30
30
|
RenderQueueContext
|
|
31
31
|
} from "./index-9x6e1dq0.mjs";
|
|
32
|
-
import"./index-
|
|
32
|
+
import"./index-41kqns5c.mjs";
|
|
33
33
|
import"./index-cw0pnpg5.mjs";
|
|
34
34
|
import {
|
|
35
35
|
Models
|
|
36
|
-
} from "./index-
|
|
37
|
-
import"./index-
|
|
36
|
+
} from "./index-hbezgbbq.mjs";
|
|
37
|
+
import"./index-jrw61pkj.mjs";
|
|
38
38
|
import {
|
|
39
39
|
VERTICAL_SCROLLBAR_CLASSNAME,
|
|
40
40
|
ValidationMessage,
|
|
@@ -48,7 +48,7 @@ import {
|
|
|
48
48
|
leftSidebar,
|
|
49
49
|
optionsPanel,
|
|
50
50
|
outerModalStyle
|
|
51
|
-
} from "./index-
|
|
51
|
+
} from "./index-0x13f28h.mjs";
|
|
52
52
|
import"./index-5zrb1ft4.mjs";
|
|
53
53
|
import {
|
|
54
54
|
BLUE_DISABLED
|
|
@@ -163,6 +163,12 @@ import {
|
|
|
163
163
|
} from "react";
|
|
164
164
|
|
|
165
165
|
// src/helpers/pointer-session.ts
|
|
166
|
+
var isPointerSessionRelease = (reason, event) => {
|
|
167
|
+
if (event === null) {
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
return reason === "pointerup" || reason === "buttons-released" || reason === "lostpointercapture" && event.buttons === 0;
|
|
171
|
+
};
|
|
166
172
|
var getButtonMask = (button) => {
|
|
167
173
|
if (button === 0) {
|
|
168
174
|
return 1;
|
|
@@ -347,7 +353,8 @@ var defaultKeyboardShortcuts = {
|
|
|
347
353
|
copyEffectsAndValues: [{ key: "c", commandOrControl: true }],
|
|
348
354
|
cutEffects: [{ key: "x", commandOrControl: true }],
|
|
349
355
|
deleteSelection: [{ key: "Backspace" }, { key: "Delete" }],
|
|
350
|
-
askAI: [{ key: "i", commandOrControl: true }]
|
|
356
|
+
askAI: [{ key: "i", commandOrControl: true }],
|
|
357
|
+
pickColor: [{ key: "c", shift: true }]
|
|
351
358
|
};
|
|
352
359
|
var keyboardShortcutGroups = [
|
|
353
360
|
{
|
|
@@ -414,6 +421,10 @@ var keyboardShortcutGroups = [
|
|
|
414
421
|
shortcut("Reset zoom", "resetZoom")
|
|
415
422
|
]
|
|
416
423
|
},
|
|
424
|
+
{
|
|
425
|
+
name: "Tools",
|
|
426
|
+
shortcuts: [shortcut("Color Picker", "pickColor")]
|
|
427
|
+
},
|
|
417
428
|
{
|
|
418
429
|
name: "Props Editor",
|
|
419
430
|
shortcuts: [shortcut("Undo", "undo"), shortcut("Redo", "redo")]
|
|
@@ -733,7 +744,7 @@ var HigherZIndex = ({
|
|
|
733
744
|
event: downEvent,
|
|
734
745
|
onEnd: (reason, upEvent) => {
|
|
735
746
|
endPointerSession = null;
|
|
736
|
-
if ((reason
|
|
747
|
+
if (isPointerSessionRelease(reason, upEvent) && !getClickLock()) {
|
|
737
748
|
const target = document.elementFromPoint(upEvent.clientX, upEvent.clientY) ?? upEvent.target;
|
|
738
749
|
if (document.contains(target)) {
|
|
739
750
|
upEvent.stopPropagation();
|
|
@@ -1021,9 +1032,12 @@ var horizontalLayout = {
|
|
|
1021
1032
|
};
|
|
1022
1033
|
var leftSidebar = {
|
|
1023
1034
|
flexShrink: 0,
|
|
1035
|
+
display: "flex",
|
|
1036
|
+
flexDirection: "column",
|
|
1024
1037
|
padding: 6
|
|
1025
1038
|
};
|
|
1026
1039
|
var horizontalTab = {
|
|
1040
|
+
flex: "none",
|
|
1027
1041
|
width: 150,
|
|
1028
1042
|
display: "flex",
|
|
1029
1043
|
flexDirection: "row",
|
|
@@ -1151,4 +1165,4 @@ var CheckCircleFilled = (props) => /* @__PURE__ */ jsx11("svg", {
|
|
|
1151
1165
|
})
|
|
1152
1166
|
});
|
|
1153
1167
|
|
|
1154
|
-
export { startCapturedPointerSession, startDeferredCapturedPointerSession, isMac, defaultKeyboardShortcuts, keyboardShortcutGroups, askAIKeyboardShortcutGroup, getKeyboardShortcutsForAction, keyboardShortcutsOverlap, formatKeyboardShortcut, getKeyboardShortcutLabel, getKeyboardShortcutAriaKeyShortcuts, shortcutFromKeyboardEvent, KeybindingContextProvider, areKeyboardShortcutsDisabled, useKeybinding, HighestZIndexProvider, getClickLock, setClickLock, HigherZIndex, useZIndex,
|
|
1168
|
+
export { isPointerSessionRelease, startCapturedPointerSession, startDeferredCapturedPointerSession, isMac, defaultKeyboardShortcuts, keyboardShortcutGroups, askAIKeyboardShortcutGroup, getKeyboardShortcutsForAction, keyboardShortcutsOverlap, formatKeyboardShortcut, getKeyboardShortcutLabel, getKeyboardShortcutAriaKeyShortcuts, shortcutFromKeyboardEvent, KeybindingContextProvider, areKeyboardShortcutsDisabled, useKeybinding, HighestZIndexProvider, getClickLock, setClickLock, HigherZIndex, useZIndex, SPACING_UNIT, COMPACT_CONTROL_ROW_HEIGHT, COMPACT_INLINE_ROW_HEIGHT, Spacing, Flex, Row, Column, getMaxModalWidth, getMaxModalHeight, ModalContainer, HOVERABLE_CLASS_NAME, HOVER_GROUP_CLASS_NAME, HOVER_GROUP_REVEAL_CLASS_NAME, FOCUS_VISIBLE_ONLY_CLASS_NAME, NO_HOVER_BACKGROUND_STYLE, hoverableStyle, makeHoverableCSS, InlineAction, MENU_INITIATOR_CLASSNAME, MENU_ITEM_CLASSNAME, HORIZONTAL_SCROLLBAR_CLASSNAME, VERTICAL_SCROLLBAR_CLASSNAME, isMenuItem, Spinner, TrashIcon, WarningTriangle, ValidationMessage, CloudDownloadIcon, outerModalStyle, container2 as container, optionsPanel, horizontalLayout, leftSidebar, horizontalTab, iconContainer, icon, buttonStyle, flexer, CheckCircleFilled };
|
|
@@ -11,10 +11,10 @@ import {
|
|
|
11
11
|
showNotification,
|
|
12
12
|
useCopyFeedback,
|
|
13
13
|
validatePublicOutputName
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-ggqpre9v.mjs";
|
|
15
15
|
import {
|
|
16
16
|
Spacing
|
|
17
|
-
} from "./index-
|
|
17
|
+
} from "./index-0x13f28h.mjs";
|
|
18
18
|
import {
|
|
19
19
|
BLUE,
|
|
20
20
|
CURRENT_COLOR_LOWERCASE,
|
|
@@ -652,12 +652,14 @@ var applyCodemod = ({
|
|
|
652
652
|
codemod,
|
|
653
653
|
dryRun,
|
|
654
654
|
symbolicatedStack,
|
|
655
|
-
signal
|
|
655
|
+
signal,
|
|
656
|
+
undoRedoNavigation
|
|
656
657
|
}) => {
|
|
657
658
|
const body = {
|
|
658
659
|
codemod,
|
|
659
660
|
dryRun,
|
|
660
|
-
symbolicatedStack
|
|
661
|
+
symbolicatedStack,
|
|
662
|
+
undoRedoNavigation
|
|
661
663
|
};
|
|
662
664
|
const browserStudioOperations = getBrowserStudioOperations();
|
|
663
665
|
if (browserStudioOperations !== null) {
|