@remotion/studio 4.0.513 → 4.0.515
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/Studio.js +2 -1
- package/dist/api/install-package.js +14 -1
- package/dist/components/AskAiModal.js +1 -1
- package/dist/components/AssetSelector.js +2 -0
- package/dist/components/AssetSelectorItem.d.ts +2 -1
- package/dist/components/AssetSelectorItem.js +19 -16
- package/dist/components/AudioWaveform.d.ts +3 -0
- package/dist/components/AudioWaveform.js +65 -199
- package/dist/components/Canvas.js +40 -5
- package/dist/components/CanvasOrLoading.js +5 -0
- package/dist/components/CompositionSelector.js +2 -0
- package/dist/components/ConfigureDefaultEditorModal.js +17 -11
- package/dist/components/Editor.js +16 -1
- package/dist/components/ElementInstallConfirmation.d.ts +1 -0
- package/dist/components/ElementInstallConfirmation.js +4 -2
- package/dist/components/FixComputedValueModal.d.ts +9 -0
- package/dist/components/FixComputedValueModal.js +217 -0
- package/dist/components/InitialCompositionLoader.js +19 -0
- package/dist/components/InlineDropdown.js +4 -4
- package/dist/components/InspectorInfoHeader.js +3 -3
- package/dist/components/InspectorOpenInEditor.js +3 -1
- package/dist/components/InspectorPanel/CompositionInspector.js +37 -5
- package/dist/components/InspectorPanel/CompositionInspectorHeader.js +2 -2
- package/dist/components/InspectorPanel/ConnectedCompositionsSection.js +1 -1
- package/dist/components/InspectorPanel/EasingInspector.js +1 -1
- package/dist/components/InspectorPanel/KeyframeInspector.js +2 -2
- package/dist/components/InspectorPanel/SequenceInspectorHeader.js +1 -1
- package/dist/components/InspectorPanel/SequenceSelectionInspector.js +35 -6
- package/dist/components/InspectorPanel/common.d.ts +5 -5
- package/dist/components/InspectorPanel/common.js +8 -8
- package/dist/components/InspectorPanel/styles.d.ts +1 -1
- package/dist/components/InspectorPanel/styles.js +4 -2
- package/dist/components/InspectorSourceLocation.d.ts +1 -1
- package/dist/components/InspectorSourceLocation.js +2 -2
- package/dist/components/InstallPackage.d.ts +1 -1
- package/dist/components/InstallPackage.js +38 -6
- package/dist/components/LicenseKeyValidation.js +2 -2
- package/dist/components/Menu/MenuDivider.js +1 -1
- package/dist/components/Modals.js +11 -3
- package/dist/components/NewComposition/CodemodFooter.d.ts +1 -0
- package/dist/components/NewComposition/CodemodFooter.js +10 -8
- package/dist/components/NewComposition/DeleteComposition.js +1 -1
- package/dist/components/NewComposition/DeleteFolder.js +1 -1
- package/dist/components/NewComposition/DuplicateComposition.js +7 -2
- package/dist/components/NewComposition/NewComposition.js +1 -1
- package/dist/components/NewComposition/NewFolder.js +1 -1
- package/dist/components/NewComposition/RenameComposition.js +1 -1
- package/dist/components/NewComposition/RenameFolder.js +1 -1
- package/dist/components/NewComposition/duplicate-composition-api.d.ts +16 -0
- package/dist/components/NewComposition/duplicate-composition-api.js +16 -0
- package/dist/components/NoRegisterRoot.js +1 -1
- package/dist/components/QuickSwitcher/ExplorerQuickSwitcherTrigger.js +4 -3
- package/dist/components/QuickSwitcher/QuickSwitcherContent.js +1 -0
- package/dist/components/QuickSwitcher/fuzzy-search.js +1 -1
- package/dist/components/RefreshCompositionOverlay.js +1 -1
- package/dist/components/RenderButton.js +6 -3
- package/dist/components/RenderModal/GuiRenderStatus.js +3 -1
- package/dist/components/RenderModal/RenderModalOutputName.js +3 -3
- package/dist/components/RenderModal/WebRenderModal.js +10 -4
- package/dist/components/RenderModal/WebRenderModalAdvanced.d.ts +2 -0
- package/dist/components/RenderModal/WebRenderModalAdvanced.js +9 -2
- package/dist/components/RenderModal/render-modals.js +5 -1
- package/dist/components/RenderQueue/ClientRenderQueueProcessor.js +5 -1
- package/dist/components/RenderQueue/RenderQueueItem.js +3 -1
- package/dist/components/RenderQueue/RenderQueueOpenInFolder.js +3 -1
- package/dist/components/RenderQueue/RenderQueueRemoveItem.js +1 -1
- package/dist/components/RenderQueue/actions.js +12 -2
- package/dist/components/RenderQueue/client-side-render-types.d.ts +1 -0
- package/dist/components/RenderingSettings.d.ts +2 -0
- package/dist/components/RenderingSettings.js +355 -0
- package/dist/components/SelectedOutlineCanvasRotation.d.ts +1 -0
- package/dist/components/SelectedOutlineCanvasRotation.js +11 -4
- package/dist/components/SelectedOutlineElement.js +3 -3
- package/dist/components/SelectedOutlinePolygon.d.ts +2 -0
- package/dist/components/SelectedOutlinePolygon.js +54 -9
- package/dist/components/SettingsContext.d.ts +4 -1
- package/dist/components/SettingsContext.js +9 -2
- package/dist/components/SettingsModal.d.ts +1 -1
- package/dist/components/SettingsModal.js +10 -1
- package/dist/components/SettingsModalFooter.js +1 -1
- package/dist/components/StudioSettings.d.ts +2 -0
- package/dist/components/StudioSettings.js +185 -0
- package/dist/components/Timeline/LoopedIndicator.js +1 -1
- package/dist/components/Timeline/LoopedTimelineIndicators.d.ts +3 -0
- package/dist/components/Timeline/LoopedTimelineIndicators.js +22 -14
- package/dist/components/Timeline/Timeline.js +11 -9
- package/dist/components/Timeline/TimelineAssetField.d.ts +2 -2
- package/dist/components/Timeline/TimelineAssetField.js +1 -1
- package/dist/components/Timeline/TimelineClipboardKeybindings.js +6 -2
- package/dist/components/Timeline/TimelineDragHandler.js +62 -76
- package/dist/components/Timeline/TimelineEffectItem.js +23 -6
- package/dist/components/Timeline/TimelineEffectPropItem.d.ts +4 -2
- package/dist/components/Timeline/TimelineEffectPropItem.js +22 -13
- package/dist/components/Timeline/TimelineExpandArrowButton.js +10 -7
- package/dist/components/Timeline/TimelineExpandedKeyframeRow.js +4 -1
- package/dist/components/Timeline/TimelineExpandedRow.d.ts +1 -1
- package/dist/components/Timeline/TimelineExpandedRow.js +4 -4
- package/dist/components/Timeline/TimelineExpandedSection.js +8 -5
- package/dist/components/Timeline/TimelineHeightContainer.d.ts +0 -4
- package/dist/components/Timeline/TimelineHeightContainer.js +4 -4
- package/dist/components/Timeline/TimelineImageInfo.d.ts +1 -0
- package/dist/components/Timeline/TimelineImageInfo.js +3 -2
- package/dist/components/Timeline/TimelineKeyframeControls.js +6 -1
- package/dist/components/Timeline/TimelineList.d.ts +1 -5
- package/dist/components/Timeline/TimelineList.js +14 -9
- package/dist/components/Timeline/TimelinePinchZoom.js +5 -5
- package/dist/components/Timeline/TimelineRowChrome.d.ts +1 -2
- package/dist/components/Timeline/TimelineRowChrome.js +50 -7
- package/dist/components/Timeline/TimelineSchemaField.d.ts +7 -3
- package/dist/components/Timeline/TimelineSchemaField.js +71 -13
- package/dist/components/Timeline/TimelineScrollable.js +3 -1
- package/dist/components/Timeline/TimelineSelection.d.ts +13 -5
- package/dist/components/Timeline/TimelineSelection.js +95 -106
- package/dist/components/Timeline/TimelineSequence.js +59 -25
- package/dist/components/Timeline/TimelineSequenceItem.d.ts +1 -1
- package/dist/components/Timeline/TimelineSequenceItem.js +21 -12
- package/dist/components/Timeline/TimelineSequenceName.js +1 -1
- package/dist/components/Timeline/TimelineSequencePropItem.d.ts +2 -1
- package/dist/components/Timeline/TimelineSequencePropItem.js +3 -3
- package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +33 -10
- package/dist/components/Timeline/TimelineSlider.js +42 -33
- package/dist/components/Timeline/TimelineTimeIndicators.js +90 -98
- package/dist/components/Timeline/TimelineTrack.js +4 -1
- package/dist/components/Timeline/TimelineTracks.d.ts +0 -2
- package/dist/components/Timeline/TimelineTracks.js +11 -4
- package/dist/components/Timeline/TimelineTransformOriginField.js +1 -1
- package/dist/components/Timeline/TimelineVideoInfo.d.ts +4 -4
- package/dist/components/Timeline/TimelineVideoInfo.js +155 -63
- package/dist/components/Timeline/TimelineViewport.d.ts +12 -0
- package/dist/components/Timeline/TimelineViewport.js +62 -0
- package/dist/components/Timeline/TimelineVirtualization.d.ts +22 -0
- package/dist/components/Timeline/TimelineVirtualization.js +144 -0
- package/dist/components/Timeline/TimelineZoomControls.js +16 -8
- package/dist/components/Timeline/call-add-keyframe.js +31 -3
- package/dist/components/Timeline/call-delete-keyframe.js +13 -3
- package/dist/components/Timeline/call-move-keyframe.js +11 -1
- package/dist/components/Timeline/call-update-keyframe-settings.js +31 -3
- package/dist/components/Timeline/delete-selected-timeline-item.js +8 -3
- package/dist/components/Timeline/duplicate-selected-timeline-item.js +4 -2
- package/dist/components/Timeline/get-timeline-keyframes.d.ts +1 -2
- package/dist/components/Timeline/get-timeline-keyframes.js +1 -8
- package/dist/components/Timeline/get-timeline-sequence-visible-layout.d.ts +30 -0
- package/dist/components/Timeline/get-timeline-sequence-visible-layout.js +61 -0
- package/dist/components/Timeline/save-effect-prop.js +3 -3
- package/dist/components/Timeline/split-selected-timeline-item.js +2 -2
- package/dist/components/Timeline/timeline-scroll-logic.d.ts +24 -0
- package/dist/components/Timeline/timeline-scroll-logic.js +127 -4
- package/dist/components/Timeline/use-timeline-height.d.ts +3 -5
- package/dist/components/Timeline/use-timeline-height.js +16 -18
- package/dist/components/UpdateCheck.d.ts +2 -10
- package/dist/components/UpdateCheck.js +8 -2
- package/dist/components/VisualControls/VisualControlHandle.js +8 -0
- package/dist/components/delete-jsx-node-api.d.ts +2 -0
- package/dist/components/delete-jsx-node-api.js +12 -0
- package/dist/components/effect-drag-and-drop.js +6 -3
- package/dist/components/effect-operations-api.d.ts +8 -0
- package/dist/components/effect-operations-api.js +52 -0
- package/dist/components/element-install-api.d.ts +3 -0
- package/dist/components/element-install-api.js +19 -0
- package/dist/components/import-assets.js +20 -9
- package/dist/components/reorder-sequence-api.d.ts +2 -0
- package/dist/components/reorder-sequence-api.js +12 -0
- package/dist/components/split-jsx-sequence-api.d.ts +2 -0
- package/dist/components/split-jsx-sequence-api.js +12 -0
- package/dist/components/split-video-from-audio-api.d.ts +2 -0
- package/dist/components/split-video-from-audio-api.js +12 -0
- package/dist/error-overlay/remotion-overlay/Overlay.js +1 -1
- package/dist/error-overlay/remotion-overlay/log-studio-error.js +4 -0
- package/dist/esm/{chunk-r46yxrjr.js → chunk-s6k99gh2.js} +1 -1
- package/dist/esm/{chunk-tv7r0jy3.js → chunk-v5a8vpv4.js} +11479 -7851
- package/dist/esm/index.mjs +7 -5
- package/dist/esm/internals.mjs +11479 -7851
- package/dist/esm/previewEntry.mjs +11311 -7683
- package/dist/esm/renderEntry.mjs +3 -4
- package/dist/helpers/browser-studio-operations.d.ts +5 -0
- package/dist/helpers/browser-studio-operations.js +27 -1
- package/dist/helpers/colors.d.ts +1 -1
- package/dist/helpers/colors.js +1 -1
- package/dist/helpers/get-timeline-max-zoom.d.ts +26 -0
- package/dist/helpers/get-timeline-max-zoom.js +45 -0
- package/dist/helpers/inject-css.js +7 -5
- package/dist/helpers/render-codec-label.d.ts +1 -1
- package/dist/helpers/retry-payload.js +1 -0
- package/dist/helpers/studio-runtime-config.d.ts +1 -1
- package/dist/helpers/studio-runtime-config.js +2 -3
- package/dist/helpers/timeline-layout.d.ts +3 -1
- package/dist/helpers/timeline-layout.js +6 -1
- package/dist/helpers/url-state.js +3 -2
- package/dist/helpers/use-max-media-duration.js +5 -3
- package/dist/helpers/use-media-metadata.js +37 -20
- package/dist/helpers/use-menu-structure.js +67 -84
- package/dist/helpers/use-runtime-values.d.ts +2 -1
- package/dist/helpers/use-runtime-values.js +7 -3
- package/dist/icons/cloud-download.d.ts +4 -0
- package/dist/icons/cloud-download.js +8 -0
- package/dist/icons/remotion-triangle.d.ts +2 -0
- package/dist/icons/remotion-triangle.js +7 -0
- package/dist/renderEntry.js +1 -1
- package/dist/state/composition-list.d.ts +13 -0
- package/dist/state/composition-list.js +21 -0
- package/dist/state/modals.d.ts +8 -2
- package/dist/state/timeline-zoom.d.ts +1 -2
- package/dist/state/timeline-zoom.js +9 -5
- package/package.json +14 -13
|
@@ -29,7 +29,6 @@ const browser_studio_operations_1 = require("./browser-studio-operations");
|
|
|
29
29
|
const check_fullscreen_support_1 = require("./check-fullscreen-support");
|
|
30
30
|
const client_id_1 = require("./client-id");
|
|
31
31
|
const colors_1 = require("./colors");
|
|
32
|
-
const download_blob_1 = require("./download-blob");
|
|
33
32
|
const get_file_manager_name_1 = require("./get-file-manager-name");
|
|
34
33
|
const get_git_menu_item_1 = require("./get-git-menu-item");
|
|
35
34
|
const mobile_layout_1 = require("./mobile-layout");
|
|
@@ -47,8 +46,7 @@ const ICON_SIZE = 14;
|
|
|
47
46
|
const getFileMenu = ({ readOnlyStudio, closeMenu, editorName, editorId, previewServerState, setSelectedModal, }) => {
|
|
48
47
|
const fileManagerName = (0, get_file_manager_name_1.getFileManagerName)(window.remotion_fileSystemPlatform);
|
|
49
48
|
const browserStudioOperations = (0, browser_studio_operations_1.getBrowserStudioOperations)();
|
|
50
|
-
const
|
|
51
|
-
const items = [
|
|
49
|
+
const newProjectItems = [
|
|
52
50
|
readOnlyStudio
|
|
53
51
|
? null
|
|
54
52
|
: {
|
|
@@ -93,12 +91,8 @@ const getFileMenu = ({ readOnlyStudio, closeMenu, editorName, editorId, previewS
|
|
|
93
91
|
quickSwitcherLabel: 'New folder...',
|
|
94
92
|
disabled: previewServerState !== 'connected',
|
|
95
93
|
},
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
: {
|
|
99
|
-
type: 'divider',
|
|
100
|
-
id: 'new-project-item-divider',
|
|
101
|
-
},
|
|
94
|
+
].filter(no_react_1.NoReactInternals.truthy);
|
|
95
|
+
const projectItems = [
|
|
102
96
|
window.remotion_isReadOnlyStudio
|
|
103
97
|
? {
|
|
104
98
|
id: 'input-props-override',
|
|
@@ -117,35 +111,6 @@ const getFileMenu = ({ readOnlyStudio, closeMenu, editorName, editorId, previewS
|
|
|
117
111
|
quickSwitcherLabel: 'Override input props',
|
|
118
112
|
}
|
|
119
113
|
: null,
|
|
120
|
-
downloadProject
|
|
121
|
-
? {
|
|
122
|
-
id: 'download-project',
|
|
123
|
-
value: 'download-project',
|
|
124
|
-
label: 'Download project',
|
|
125
|
-
onClick: async () => {
|
|
126
|
-
closeMenu();
|
|
127
|
-
try {
|
|
128
|
-
const { data, fileName } = await downloadProject();
|
|
129
|
-
const arrayBuffer = data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
|
|
130
|
-
(0, download_blob_1.downloadBlob)(new Blob([arrayBuffer], { type: 'application/zip' }), fileName);
|
|
131
|
-
}
|
|
132
|
-
catch (error) {
|
|
133
|
-
(0, NotificationCenter_1.showNotification)(`Could not download project: ${error instanceof Error ? error.message : String(error)}`, 2000);
|
|
134
|
-
}
|
|
135
|
-
},
|
|
136
|
-
type: 'item',
|
|
137
|
-
keyHint: null,
|
|
138
|
-
leftItem: null,
|
|
139
|
-
subMenu: null,
|
|
140
|
-
quickSwitcherLabel: 'Download project',
|
|
141
|
-
}
|
|
142
|
-
: null,
|
|
143
|
-
!readOnlyStudio && downloadProject
|
|
144
|
-
? {
|
|
145
|
-
type: 'divider',
|
|
146
|
-
id: 'open-project-divider',
|
|
147
|
-
}
|
|
148
|
-
: null,
|
|
149
114
|
editorName && editorId && !readOnlyStudio
|
|
150
115
|
? {
|
|
151
116
|
id: 'open-in-editor',
|
|
@@ -178,7 +143,7 @@ const getFileMenu = ({ readOnlyStudio, closeMenu, editorName, editorId, previewS
|
|
|
178
143
|
disabled: previewServerState !== 'connected',
|
|
179
144
|
}
|
|
180
145
|
: null,
|
|
181
|
-
!readOnlyStudio
|
|
146
|
+
!readOnlyStudio && browserStudioOperations === null
|
|
182
147
|
? {
|
|
183
148
|
id: 'open-project-in-explorer',
|
|
184
149
|
value: 'open-project-in-explorer',
|
|
@@ -199,6 +164,16 @@ const getFileMenu = ({ readOnlyStudio, closeMenu, editorName, editorId, previewS
|
|
|
199
164
|
: null,
|
|
200
165
|
(0, get_git_menu_item_1.getGitMenuItem)(),
|
|
201
166
|
].filter(no_react_1.NoReactInternals.truthy);
|
|
167
|
+
const items = [
|
|
168
|
+
...newProjectItems,
|
|
169
|
+
newProjectItems.length > 0 && projectItems.length > 0
|
|
170
|
+
? {
|
|
171
|
+
type: 'divider',
|
|
172
|
+
id: 'new-project-item-divider',
|
|
173
|
+
}
|
|
174
|
+
: null,
|
|
175
|
+
...projectItems,
|
|
176
|
+
].filter(no_react_1.NoReactInternals.truthy);
|
|
202
177
|
if (items.length === 0) {
|
|
203
178
|
return null;
|
|
204
179
|
}
|
|
@@ -268,13 +243,11 @@ const useMenuStructure = (closeMenu, readOnlyStudio) => {
|
|
|
268
243
|
const { defaultEditorId, defaultEditorName } = (0, use_default_editor_info_1.useEditorOpening)(type === 'connected');
|
|
269
244
|
const keyboardShortcutsDisabled = (0, use_keybinding_1.areKeyboardShortcutsDisabled)();
|
|
270
245
|
const studioAskAIEnabled = (0, studio_runtime_config_1.getStudioAskAIEnabled)();
|
|
271
|
-
const canConfigureDefaultEditor = !readOnlyStudio &&
|
|
272
|
-
type === 'connected' &&
|
|
273
|
-
(0, browser_studio_operations_1.getBrowserStudioOperations)() === null;
|
|
274
246
|
const { setSidebarCollapsedState, sidebarCollapsedStateLeft, sidebarCollapsedStateRight, } = (0, react_1.useContext)(sidebar_1.SidebarContext);
|
|
275
247
|
const sizes = (0, react_1.useMemo)(() => (0, SizeSelector_1.getUniqueSizes)(size), [size]);
|
|
276
248
|
const isFullscreenSupported = (0, check_fullscreen_support_1.checkFullscreenSupport)();
|
|
277
249
|
const { remotion_packageManager } = window;
|
|
250
|
+
const browserStudioOperations = (0, browser_studio_operations_1.getBrowserStudioOperations)();
|
|
278
251
|
const sizePreselectIndex = sizes.findIndex((s) => String(size.size) === String(s.size));
|
|
279
252
|
const mobileLayout = (0, mobile_layout_1.useMobileLayout)();
|
|
280
253
|
const currentComposition = (0, react_1.useMemo)(() => {
|
|
@@ -331,27 +304,29 @@ const useMenuStructure = (closeMenu, readOnlyStudio) => {
|
|
|
331
304
|
subMenu: null,
|
|
332
305
|
quickSwitcherLabel: 'Help: Changelog',
|
|
333
306
|
},
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
307
|
+
browserStudioOperations === null
|
|
308
|
+
? {
|
|
309
|
+
id: 'settings',
|
|
310
|
+
value: 'settings',
|
|
311
|
+
label: 'Settings...',
|
|
312
|
+
onClick: () => {
|
|
313
|
+
var _a;
|
|
314
|
+
var _b;
|
|
315
|
+
closeMenu();
|
|
316
|
+
setSelectedModal({
|
|
317
|
+
type: 'settings',
|
|
318
|
+
initialTab: 'rendering',
|
|
319
|
+
initialPublicLicenseKey: (_b = (_a = window.remotion_renderDefaults) === null || _a === void 0 ? void 0 : _a.publicLicenseKey) !== null && _b !== void 0 ? _b : null,
|
|
320
|
+
});
|
|
321
|
+
},
|
|
322
|
+
type: 'item',
|
|
323
|
+
keyHint: null,
|
|
324
|
+
leftItem: null,
|
|
325
|
+
subMenu: null,
|
|
326
|
+
quickSwitcherLabel: 'Settings...',
|
|
327
|
+
disabled: readOnlyStudio || type !== 'connected',
|
|
328
|
+
}
|
|
329
|
+
: null,
|
|
355
330
|
{
|
|
356
331
|
id: 'acknowledgements',
|
|
357
332
|
value: 'acknowledgements',
|
|
@@ -366,24 +341,28 @@ const useMenuStructure = (closeMenu, readOnlyStudio) => {
|
|
|
366
341
|
subMenu: null,
|
|
367
342
|
quickSwitcherLabel: 'Help: Acknowledgements',
|
|
368
343
|
},
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
344
|
+
browserStudioOperations === null
|
|
345
|
+
? {
|
|
346
|
+
type: 'divider',
|
|
347
|
+
id: 'timeline-divider-1',
|
|
348
|
+
}
|
|
349
|
+
: null,
|
|
350
|
+
browserStudioOperations === null
|
|
351
|
+
? {
|
|
352
|
+
id: 'restart-studio',
|
|
353
|
+
value: 'restart-studio',
|
|
354
|
+
label: 'Restart Studio Server',
|
|
355
|
+
onClick: () => {
|
|
356
|
+
closeMenu();
|
|
357
|
+
(0, restart_studio_1.restartStudio)();
|
|
358
|
+
},
|
|
359
|
+
type: 'item',
|
|
360
|
+
keyHint: null,
|
|
361
|
+
leftItem: null,
|
|
362
|
+
subMenu: null,
|
|
363
|
+
quickSwitcherLabel: 'Restart Studio Server',
|
|
364
|
+
}
|
|
365
|
+
: null,
|
|
387
366
|
].filter(no_react_1.NoReactInternals.truthy),
|
|
388
367
|
quickSwitcherLabel: null,
|
|
389
368
|
},
|
|
@@ -801,7 +780,9 @@ const useMenuStructure = (closeMenu, readOnlyStudio) => {
|
|
|
801
780
|
quickSwitcherLabel: 'Show Color Picker',
|
|
802
781
|
}
|
|
803
782
|
: null,
|
|
804
|
-
|
|
783
|
+
!(0, browser_studio_operations_1.canInstallPackages)() ||
|
|
784
|
+
(browserStudioOperations === null &&
|
|
785
|
+
remotion_packageManager === 'unknown')
|
|
805
786
|
? null
|
|
806
787
|
: {
|
|
807
788
|
id: 'install-packages',
|
|
@@ -811,7 +792,9 @@ const useMenuStructure = (closeMenu, readOnlyStudio) => {
|
|
|
811
792
|
closeMenu();
|
|
812
793
|
setSelectedModal({
|
|
813
794
|
type: 'install-packages',
|
|
814
|
-
packageManager: remotion_packageManager
|
|
795
|
+
packageManager: remotion_packageManager === 'unknown'
|
|
796
|
+
? null
|
|
797
|
+
: remotion_packageManager,
|
|
815
798
|
});
|
|
816
799
|
},
|
|
817
800
|
type: 'item',
|
|
@@ -999,7 +982,6 @@ const useMenuStructure = (closeMenu, readOnlyStudio) => {
|
|
|
999
982
|
}
|
|
1000
983
|
return struct;
|
|
1001
984
|
}, [
|
|
1002
|
-
canConfigureDefaultEditor,
|
|
1003
985
|
readOnlyStudio,
|
|
1004
986
|
closeMenu,
|
|
1005
987
|
type,
|
|
@@ -1021,6 +1003,7 @@ const useMenuStructure = (closeMenu, readOnlyStudio) => {
|
|
|
1021
1003
|
defaultEditorName,
|
|
1022
1004
|
keyboardShortcutsDisabled,
|
|
1023
1005
|
studioAskAIEnabled,
|
|
1006
|
+
browserStudioOperations,
|
|
1024
1007
|
size.size,
|
|
1025
1008
|
setSize,
|
|
1026
1009
|
setEditorZoomGestures,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { SequenceRegistrationControls } from 'remotion';
|
|
1
|
+
import type { RuntimeValueStore, SequenceRegistrationControls } from 'remotion';
|
|
2
2
|
export declare const useRuntimeValues: (controls: SequenceRegistrationControls | null) => Readonly<Record<string, unknown>>;
|
|
3
3
|
export declare const useRuntimeValue: (controls: SequenceRegistrationControls | null, key: string) => unknown;
|
|
4
|
+
export declare const useRuntimeStoreValue: (storeOrNull: RuntimeValueStore | null, key: string) => unknown;
|
|
4
5
|
export declare const useRuntimeValueSelector: <T>({ controls, selector, isEqual, }: {
|
|
5
6
|
controls: SequenceRegistrationControls | null;
|
|
6
7
|
selector: (values: Readonly<Record<string, unknown>>) => T;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useRuntimeValueSnapshots = exports.useRuntimeValueSelector = exports.useRuntimeValue = exports.useRuntimeValues = void 0;
|
|
3
|
+
exports.useRuntimeValueSnapshots = exports.useRuntimeValueSelector = exports.useRuntimeStoreValue = exports.useRuntimeValue = exports.useRuntimeValues = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const EMPTY_RUNTIME_VALUES = {};
|
|
6
6
|
const EMPTY_RUNTIME_VALUE_STORE = {
|
|
@@ -15,11 +15,15 @@ const useRuntimeValues = (controls) => {
|
|
|
15
15
|
exports.useRuntimeValues = useRuntimeValues;
|
|
16
16
|
const useRuntimeValue = (controls, key) => {
|
|
17
17
|
var _a;
|
|
18
|
-
|
|
18
|
+
return (0, exports.useRuntimeStoreValue)((_a = controls === null || controls === void 0 ? void 0 : controls.runtimeValues) !== null && _a !== void 0 ? _a : null, key);
|
|
19
|
+
};
|
|
20
|
+
exports.useRuntimeValue = useRuntimeValue;
|
|
21
|
+
const useRuntimeStoreValue = (storeOrNull, key) => {
|
|
22
|
+
const store = storeOrNull !== null && storeOrNull !== void 0 ? storeOrNull : EMPTY_RUNTIME_VALUE_STORE;
|
|
19
23
|
const getSnapshot = (0, react_1.useCallback)(() => store.getSnapshot()[key], [key, store]);
|
|
20
24
|
return (0, react_1.useSyncExternalStore)(store.subscribe, getSnapshot, getSnapshot);
|
|
21
25
|
};
|
|
22
|
-
exports.
|
|
26
|
+
exports.useRuntimeStoreValue = useRuntimeStoreValue;
|
|
23
27
|
const useRuntimeValueSelector = ({ controls, selector, isEqual = Object.is, }) => {
|
|
24
28
|
var _a;
|
|
25
29
|
const store = (_a = controls === null || controls === void 0 ? void 0 : controls.runtimeValues) !== null && _a !== void 0 ? _a : EMPTY_RUNTIME_VALUE_STORE;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CloudDownloadIcon = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const CloudDownloadIcon = ({ color, ...props }) => {
|
|
6
|
+
return (jsx_runtime_1.jsx("svg", { ...props, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 576 512", children: jsx_runtime_1.jsx("path", { fill: color, d: "M128 176c0-61.9 50.1-112 112-112 39.3 0 73.8 20.2 93.8 50.8 4.4 6.7 13.1 9.1 20.3 5.7 11.4-5.5 24.3-8.5 37.9-8.5 48.6 0 88 39.4 88 88 0 14.1-3.3 27.4-9.2 39.2-2 4.1-2.2 8.9-.5 13.1s5.2 7.6 9.5 9.1c37.4 13.1 64.2 48.8 64.2 90.6 0 53-43 96-96 96l-304 0c-61.9 0-112-50.1-112-112 0-53.7 37.8-98.6 88.2-109.5 4.3-.9 8.1-3.6 10.3-7.4s2.9-8.3 1.7-12.6c-2.7-9.7-4.2-19.9-4.2-30.5zM240 32c-79.5 0-144 64.5-144 144 0 8 .7 15.9 1.9 23.5-56.9 19.2-97.9 73-97.9 136.5 0 79.5 64.5 144 144 144l304 0c70.7 0 128-57.3 128-128 0-49.9-28.5-93-70.1-114.2 3.9-11.9 6.1-24.6 6.1-37.8 0-66.3-53.7-120-120-120-13.7 0-26.9 2.3-39.2 6.5-26.4-33.2-67.1-54.5-112.8-54.5zM371.3 307.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L304 329.4 304 208c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 121.4-44.7-44.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l72 72c6.2 6.2 16.4 6.2 22.6 0l72-72z" }) }));
|
|
7
|
+
};
|
|
8
|
+
exports.CloudDownloadIcon = CloudDownloadIcon;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RemotionTriangleIcon = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const colors_1 = require("../helpers/colors");
|
|
6
|
+
const RemotionTriangleIcon = ({ color, ...props }) => (jsx_runtime_1.jsx("svg", { viewBox: "-14 -14 438 453", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx_runtime_1.jsx("path", { d: "M92.3905 0.603638C83.5124 1.08554 76.358 2.49417 69.1481 5.2373C65.5523 6.59033 59.6583 9.53735 56.4148 11.5762C42.8474 20.0836 32.5051 32.8724 27.1115 47.7558C26.0365 50.7028 23.1266 60.0998 21.2546 66.5684C8.78078 109.81 1.70055 157.092 0.180713 207.135C-0.0602375 215.105 -0.0602375 234.084 0.180713 241.925C1.20012 275.102 4.36954 305.053 10.1153 335.599C12.4506 347.961 16.1946 364.568 18.3632 372.112C22.793 387.44 31.8379 400.488 44.7009 410.052C53.3195 416.465 63.1058 420.765 73.9485 422.878C79.1753 423.897 86.0702 424.361 91.1487 424.027C98.1733 423.564 112.111 421.692 123.436 419.672C174.48 410.571 221.632 394.279 264.392 370.963C291.471 356.19 314.621 340.195 336.955 320.789C359.215 301.476 378.194 280.699 394.894 257.382C398.768 251.989 400.714 248.838 402.66 244.872C407.665 234.64 410.018 224.465 410 213.085C410 202.483 407.998 193.067 403.68 183.429C401.604 178.777 399.62 175.441 395.172 169.102C378.788 145.767 360.605 125.434 338.438 105.676C304.074 75.0573 263.261 49.9428 217.685 31.3526C207.806 27.3306 198.075 23.7905 186.361 19.9538C161.562 11.8542 130.868 4.82956 104.901 1.32651C100.824 0.770477 95.2819 0.455353 92.3905 0.603638Z", stroke: color !== null && color !== void 0 ? color : colors_1.CURRENT_COLOR_LOWERCASE, strokeLinejoin: "round", strokeWidth: 24 }) }));
|
|
7
|
+
exports.RemotionTriangleIcon = RemotionTriangleIcon;
|
package/dist/renderEntry.js
CHANGED
|
@@ -89,7 +89,7 @@ const DelayedSpinner = () => {
|
|
|
89
89
|
if (!show) {
|
|
90
90
|
return null;
|
|
91
91
|
}
|
|
92
|
-
return (jsx_runtime_1.jsx(remotion_1.
|
|
92
|
+
return (jsx_runtime_1.jsx(remotion_1.Internals.AbsoluteFillElement, { style: {
|
|
93
93
|
justifyContent: 'center',
|
|
94
94
|
alignItems: 'center',
|
|
95
95
|
fontSize: 13,
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type CompositionListState = 'loading' | 'ready';
|
|
3
|
+
export declare const compositionListRenderedRef: {
|
|
4
|
+
current: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare const CompositionListContext: React.Context<{
|
|
7
|
+
compositionListState: CompositionListState;
|
|
8
|
+
setCompositionListState: React.Dispatch<React.SetStateAction<CompositionListState>>;
|
|
9
|
+
}>;
|
|
10
|
+
export declare const CompositionListProvider: React.FC<{
|
|
11
|
+
readonly children: React.ReactNode;
|
|
12
|
+
}>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CompositionListProvider = exports.CompositionListContext = exports.compositionListRenderedRef = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
exports.compositionListRenderedRef = { current: false };
|
|
7
|
+
exports.CompositionListContext = (0, react_1.createContext)({
|
|
8
|
+
compositionListState: 'loading',
|
|
9
|
+
setCompositionListState: () => {
|
|
10
|
+
throw new Error('CompositionListContext provider is missing');
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
const CompositionListProvider = ({ children }) => {
|
|
14
|
+
const [compositionListState, setCompositionListState] = (0, react_1.useState)(() => {
|
|
15
|
+
exports.compositionListRenderedRef.current = false;
|
|
16
|
+
return 'loading';
|
|
17
|
+
});
|
|
18
|
+
const value = (0, react_1.useMemo)(() => ({ compositionListState, setCompositionListState }), [compositionListState]);
|
|
19
|
+
return (jsx_runtime_1.jsx(exports.CompositionListContext.Provider, { value: value, children: children }));
|
|
20
|
+
};
|
|
21
|
+
exports.CompositionListProvider = CompositionListProvider;
|
package/dist/state/modals.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ export type WebRenderModalState = {
|
|
|
31
31
|
initialTransparent: boolean | null;
|
|
32
32
|
initialMuted: boolean | null;
|
|
33
33
|
initialMediaCacheSizeInBytes: number | null;
|
|
34
|
+
initialAllowHtmlInCanvas: boolean;
|
|
34
35
|
initialPageResponsiveness: WebRendererPageResponsiveness;
|
|
35
36
|
};
|
|
36
37
|
export type RenderModalState = {
|
|
@@ -153,7 +154,7 @@ export type ModalState = {
|
|
|
153
154
|
type: 'input-props-override';
|
|
154
155
|
} | {
|
|
155
156
|
type: 'settings';
|
|
156
|
-
initialTab: 'apps' | 'license';
|
|
157
|
+
initialTab: 'apps' | 'rendering' | 'studio' | 'license';
|
|
157
158
|
initialPublicLicenseKey: string | null;
|
|
158
159
|
} | RenderModalState | WebRenderModalState | {
|
|
159
160
|
type: 'render-progress';
|
|
@@ -162,9 +163,14 @@ export type ModalState = {
|
|
|
162
163
|
type: 'update';
|
|
163
164
|
info: UpdateInfo;
|
|
164
165
|
knownBugs: Bug[];
|
|
166
|
+
} | {
|
|
167
|
+
type: 'fix-computed-value';
|
|
168
|
+
prop: string;
|
|
169
|
+
context: string;
|
|
170
|
+
remotionInteractivitySkillAvailable: boolean;
|
|
165
171
|
} | {
|
|
166
172
|
type: 'install-packages';
|
|
167
|
-
packageManager: PackageManager;
|
|
173
|
+
packageManager: PackageManager | null;
|
|
168
174
|
} | {
|
|
169
175
|
type: 'quick-switcher';
|
|
170
176
|
mode: QuickSwitcherMode;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export
|
|
3
|
-
export declare const TIMELINE_MAX_ZOOM = 5;
|
|
2
|
+
export { getTimelineMaxZoom, TIMELINE_MIN_ZOOM, } from '../helpers/get-timeline-max-zoom';
|
|
4
3
|
export type TimelineSetZoomOptions = {
|
|
5
4
|
anchorFrame: number | null;
|
|
6
5
|
anchorContentX: number | null;
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TimelineZoomContext = exports.TimelineZoomCtx = exports.
|
|
3
|
+
exports.TimelineZoomContext = exports.TimelineZoomCtx = exports.TIMELINE_MIN_ZOOM = exports.getTimelineMaxZoom = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const react_dom_1 = require("react-dom");
|
|
7
7
|
const imperative_state_1 = require("../components/Timeline/imperative-state");
|
|
8
8
|
const timeline_scroll_logic_1 = require("../components/Timeline/timeline-scroll-logic");
|
|
9
9
|
const ZoomPersistor_1 = require("../components/ZoomPersistor");
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
const get_timeline_max_zoom_1 = require("../helpers/get-timeline-max-zoom");
|
|
11
|
+
const get_timeline_max_zoom_2 = require("../helpers/get-timeline-max-zoom");
|
|
12
|
+
Object.defineProperty(exports, "getTimelineMaxZoom", { enumerable: true, get: function () { return get_timeline_max_zoom_2.getTimelineMaxZoom; } });
|
|
13
|
+
Object.defineProperty(exports, "TIMELINE_MIN_ZOOM", { enumerable: true, get: function () { return get_timeline_max_zoom_2.TIMELINE_MIN_ZOOM; } });
|
|
12
14
|
exports.TimelineZoomCtx = (0, react_1.createContext)({
|
|
13
15
|
zoom: {},
|
|
14
16
|
setZoom: () => {
|
|
@@ -29,8 +31,10 @@ const TimelineZoomContext = ({ children }) => {
|
|
|
29
31
|
(0, react_dom_1.flushSync)(() => {
|
|
30
32
|
setZoomState((prevZoomMap) => {
|
|
31
33
|
var _a;
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
+
const newZoom = (0, get_timeline_max_zoom_1.clampTimelineZoom)({
|
|
35
|
+
zoom: callback((_a = prevZoomMap[compositionId]) !== null && _a !== void 0 ? _a : get_timeline_max_zoom_1.TIMELINE_MIN_ZOOM),
|
|
36
|
+
durationInFrames: (0, imperative_state_1.getCurrentDuration)(),
|
|
37
|
+
});
|
|
34
38
|
return { ...prevZoomMap, [compositionId]: newZoom };
|
|
35
39
|
});
|
|
36
40
|
});
|
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.515",
|
|
7
7
|
"description": "APIs for interacting with the Remotion Studio",
|
|
8
8
|
"main": "dist",
|
|
9
9
|
"scripts": {
|
|
@@ -24,19 +24,20 @@
|
|
|
24
24
|
"react-dom": ">=16.8.0"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@
|
|
27
|
+
"@tanstack/react-virtual": "3.14.9",
|
|
28
|
+
"@remotion/studio-protocol": "4.0.515",
|
|
28
29
|
"semver": "7.5.3",
|
|
29
|
-
"remotion": "4.0.
|
|
30
|
-
"@remotion/captions": "4.0.
|
|
31
|
-
"@remotion/player": "4.0.
|
|
32
|
-
"@remotion/media-utils": "4.0.
|
|
33
|
-
"@remotion/renderer": "4.0.
|
|
34
|
-
"@remotion/web-renderer": "4.0.
|
|
35
|
-
"@remotion/studio-shared": "4.0.
|
|
36
|
-
"@remotion/timeline-utils": "4.0.
|
|
37
|
-
"@remotion/zod-types": "4.0.
|
|
30
|
+
"remotion": "4.0.515",
|
|
31
|
+
"@remotion/captions": "4.0.515",
|
|
32
|
+
"@remotion/player": "4.0.515",
|
|
33
|
+
"@remotion/media-utils": "4.0.515",
|
|
34
|
+
"@remotion/renderer": "4.0.515",
|
|
35
|
+
"@remotion/web-renderer": "4.0.515",
|
|
36
|
+
"@remotion/studio-shared": "4.0.515",
|
|
37
|
+
"@remotion/timeline-utils": "4.0.515",
|
|
38
|
+
"@remotion/zod-types": "4.0.515",
|
|
38
39
|
"@jridgewell/trace-mapping": "0.3.31",
|
|
39
|
-
"mediabunny": "1.
|
|
40
|
+
"mediabunny": "1.55.1",
|
|
40
41
|
"memfs": "3.4.3",
|
|
41
42
|
"open": "8.4.2",
|
|
42
43
|
"zod": "4.4.3"
|
|
@@ -45,7 +46,7 @@
|
|
|
45
46
|
"react": "19.2.3",
|
|
46
47
|
"react-dom": "19.2.3",
|
|
47
48
|
"@types/semver": "7.5.3",
|
|
48
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
49
|
+
"@remotion/eslint-config-internal": "4.0.515",
|
|
49
50
|
"eslint": "9.19.0",
|
|
50
51
|
"@typescript/native-preview": "7.0.0-dev.20260217.1"
|
|
51
52
|
},
|