@remotion/studio 4.0.465 → 4.0.467

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.
Files changed (68) hide show
  1. package/dist/components/CompositionSelectorItem.js +16 -79
  2. package/dist/components/CurrentAsset.js +8 -54
  3. package/dist/components/EditorContent.js +1 -3
  4. package/dist/components/Menu/MenuItem.d.ts +1 -1
  5. package/dist/components/Modals.js +1 -1
  6. package/dist/components/NewComposition/MenuContent.js +1 -0
  7. package/dist/components/NewComposition/ValidationMessage.d.ts +1 -0
  8. package/dist/components/NewComposition/ValidationMessage.js +3 -3
  9. package/dist/components/RenderButton.js +1 -0
  10. package/dist/components/RenderModal/DataEditor.js +8 -2
  11. package/dist/components/RenderModal/RenderModalAdvanced.d.ts +1 -11
  12. package/dist/components/RenderModal/RenderModalAdvanced.js +4 -50
  13. package/dist/components/RenderModal/RenderModalEncoding.d.ts +37 -0
  14. package/dist/components/RenderModal/RenderModalEncoding.js +165 -0
  15. package/dist/components/RenderModal/RenderModalPicture.d.ts +1 -22
  16. package/dist/components/RenderModal/RenderModalPicture.js +6 -84
  17. package/dist/components/RenderModal/ServerRenderModal.d.ts +1 -0
  18. package/dist/components/RenderModal/ServerRenderModal.js +16 -4
  19. package/dist/components/RenderModal/get-render-modal-warnings.d.ts +7 -1
  20. package/dist/components/RenderModal/get-render-modal-warnings.js +21 -7
  21. package/dist/components/RenderQueue/actions.d.ts +2 -1
  22. package/dist/components/RenderQueue/actions.js +2 -1
  23. package/dist/components/SidebarRenderButton.js +1 -0
  24. package/dist/components/Timeline/Timeline.js +6 -4
  25. package/dist/components/Timeline/TimelineEffectFieldRow.js +2 -1
  26. package/dist/components/Timeline/TimelineEffectGroupRow.d.ts +1 -0
  27. package/dist/components/Timeline/TimelineEffectGroupRow.js +18 -2
  28. package/dist/components/Timeline/TimelineExpandedRow.d.ts +1 -1
  29. package/dist/components/Timeline/TimelineExpandedRow.js +1 -1
  30. package/dist/components/Timeline/TimelineExpandedSection.js +9 -2
  31. package/dist/components/Timeline/TimelineExpandedTrackKeyframes.d.ts +7 -0
  32. package/dist/components/Timeline/TimelineExpandedTrackKeyframes.js +124 -0
  33. package/dist/components/Timeline/TimelineListItem.js +21 -3
  34. package/dist/components/Timeline/TimelineMediaInfo.d.ts +5 -0
  35. package/dist/components/Timeline/TimelineMediaInfo.js +173 -0
  36. package/dist/components/Timeline/TimelineSchemaField.js +2 -1
  37. package/dist/components/Timeline/TimelineStack/index.js +7 -47
  38. package/dist/components/Timeline/TimelineTracks.js +2 -16
  39. package/dist/components/Timeline/TimelineVideoInfo.js +2 -2
  40. package/dist/components/Timeline/get-timeline-keyframes.d.ts +6 -0
  41. package/dist/components/Timeline/get-timeline-keyframes.js +22 -0
  42. package/dist/components/composition-menu-items.d.ts +12 -0
  43. package/dist/components/composition-menu-items.js +166 -0
  44. package/dist/esm/chunk-5gtx3pza.js +9 -0
  45. package/dist/esm/{chunk-pqk2qd0d.js → chunk-vwnse6c9.js} +4297 -3547
  46. package/dist/esm/index.mjs +0 -16
  47. package/dist/esm/internals.mjs +4295 -3560
  48. package/dist/esm/previewEntry.mjs +4049 -3314
  49. package/dist/esm/renderEntry.mjs +3 -4
  50. package/dist/helpers/format-media-duration.d.ts +1 -0
  51. package/dist/helpers/format-media-duration.js +14 -0
  52. package/dist/helpers/get-timeline-sequence-layout.js +4 -3
  53. package/dist/helpers/make-render-command.d.ts +2 -2
  54. package/dist/helpers/make-render-command.js +2 -1
  55. package/dist/helpers/open-in-editor.d.ts +8 -0
  56. package/dist/helpers/open-in-editor.js +58 -1
  57. package/dist/helpers/render-modal-sections.d.ts +1 -1
  58. package/dist/helpers/render-modal-sections.js +35 -5
  59. package/dist/helpers/retry-payload.js +3 -0
  60. package/dist/helpers/timeline-layout.d.ts +11 -6
  61. package/dist/helpers/timeline-layout.js +28 -8
  62. package/dist/helpers/use-max-media-duration.js +25 -28
  63. package/dist/helpers/use-media-metadata.d.ts +10 -0
  64. package/dist/helpers/use-media-metadata.js +135 -0
  65. package/dist/helpers/use-menu-structure.js +43 -0
  66. package/dist/state/modals.d.ts +1 -0
  67. package/package.json +10 -10
  68. package/dist/esm/chunk-6jf1natv.js +0 -25
@@ -7,9 +7,11 @@ const remotion_1 = require("remotion");
7
7
  const no_react_1 = require("remotion/no-react");
8
8
  const restart_studio_1 = require("../api/restart-studio");
9
9
  const AskAiModal_1 = require("../components/AskAiModal");
10
+ const composition_menu_items_1 = require("../components/composition-menu-items");
10
11
  const layout_1 = require("../components/layout");
11
12
  const NotificationCenter_1 = require("../components/Notifications/NotificationCenter");
12
13
  const SizeSelector_1 = require("../components/SizeSelector");
14
+ const use_resolved_stack_1 = require("../components/Timeline/use-resolved-stack");
13
15
  const TimelineInOutToggle_1 = require("../components/TimelineInOutToggle");
14
16
  const ShortcutHint_1 = require("../error-overlay/remotion-overlay/ShortcutHint");
15
17
  const Checkmark_1 = require("../icons/Checkmark");
@@ -145,12 +147,14 @@ const getFileMenu = ({ readOnlyStudio, closeMenu, previewServerState, setSelecte
145
147
  };
146
148
  };
147
149
  const useMenuStructure = (closeMenu, readOnlyStudio) => {
150
+ var _a;
148
151
  const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
149
152
  const { checkerboard, setCheckerboard } = (0, react_1.useContext)(checkerboard_1.CheckerboardContext);
150
153
  const { editorZoomGestures, setEditorZoomGestures } = (0, react_1.useContext)(editor_zoom_gestures_1.EditorZoomGesturesContext);
151
154
  const { editorShowRulers, setEditorShowRulers } = (0, react_1.useContext)(editor_rulers_1.EditorShowRulersContext);
152
155
  const { editorShowGuides, setEditorShowGuides } = (0, react_1.useContext)(editor_guides_1.EditorShowGuidesContext);
153
156
  const { size, setSize } = (0, react_1.useContext)(remotion_1.Internals.PreviewSizeContext);
157
+ const { canvasContent, compositions } = (0, react_1.useContext)(remotion_1.Internals.CompositionManager);
154
158
  const { type } = (0, react_1.useContext)(client_id_1.StudioServerConnectionCtx).previewServerState;
155
159
  const { setSidebarCollapsedState, sidebarCollapsedStateLeft, sidebarCollapsedStateRight, } = (0, react_1.useContext)(sidebar_1.SidebarContext);
156
160
  const sizes = (0, react_1.useMemo)(() => (0, SizeSelector_1.getUniqueSizes)(size), [size]);
@@ -158,6 +162,26 @@ const useMenuStructure = (closeMenu, readOnlyStudio) => {
158
162
  const { remotion_packageManager } = window;
159
163
  const sizePreselectIndex = sizes.findIndex((s) => String(size.size) === String(s.size));
160
164
  const mobileLayout = (0, mobile_layout_1.useMobileLayout)();
165
+ const currentComposition = (0, react_1.useMemo)(() => {
166
+ var _a;
167
+ if (canvasContent === null || canvasContent.type !== 'composition') {
168
+ return null;
169
+ }
170
+ return ((_a = compositions.find((c) => c.id === canvasContent.compositionId)) !== null && _a !== void 0 ? _a : null);
171
+ }, [canvasContent, compositions]);
172
+ const resolvedCompositionLocation = (0, use_resolved_stack_1.useResolvedStack)((_a = currentComposition === null || currentComposition === void 0 ? void 0 : currentComposition.stack) !== null && _a !== void 0 ? _a : null);
173
+ (0, react_1.useEffect)(() => {
174
+ if (type !== 'connected' ||
175
+ !window.remotion_editorName ||
176
+ !currentComposition ||
177
+ !(resolvedCompositionLocation === null || resolvedCompositionLocation === void 0 ? void 0 : resolvedCompositionLocation.source)) {
178
+ return;
179
+ }
180
+ (0, open_in_editor_1.preloadCompositionComponentInfo)({
181
+ compositionFile: resolvedCompositionLocation.source,
182
+ compositionId: currentComposition.id,
183
+ });
184
+ }, [currentComposition, resolvedCompositionLocation === null || resolvedCompositionLocation === void 0 ? void 0 : resolvedCompositionLocation.source, type]);
161
185
  const structure = (0, react_1.useMemo)(() => {
162
186
  let struct = [
163
187
  {
@@ -574,6 +598,20 @@ const useMenuStructure = (closeMenu, readOnlyStudio) => {
574
598
  : null,
575
599
  ].filter(remotion_1.Internals.truthy),
576
600
  },
601
+ {
602
+ id: 'composition',
603
+ label: 'Composition',
604
+ leaveLeftPadding: false,
605
+ items: (0, composition_menu_items_1.getCompositionMenuItems)({
606
+ closeMenu,
607
+ composition: currentComposition,
608
+ connectionStatus: type,
609
+ resolvedLocation: resolvedCompositionLocation,
610
+ setSelectedModal,
611
+ readOnlyStudio,
612
+ }),
613
+ quickSwitcherLabel: null,
614
+ },
577
615
  {
578
616
  id: 'tools',
579
617
  label: 'Tools',
@@ -834,6 +872,8 @@ const useMenuStructure = (closeMenu, readOnlyStudio) => {
834
872
  type,
835
873
  sizePreselectIndex,
836
874
  sizes,
875
+ currentComposition,
876
+ resolvedCompositionLocation,
837
877
  editorZoomGestures,
838
878
  editorShowRulers,
839
879
  editorShowGuides,
@@ -866,6 +906,9 @@ const getItemLabel = (item) => {
866
906
  return (_a = item.label) === null || _a === void 0 ? void 0 : _a.toString();
867
907
  };
868
908
  const itemToSearchResult = (item, setSelectedModal, prefixes) => {
909
+ if (item.disabled) {
910
+ return [];
911
+ }
869
912
  if (item.subMenu) {
870
913
  return item.subMenu.items
871
914
  .map((subItem) => {
@@ -48,6 +48,7 @@ export type RenderModalState = {
48
48
  initialEnforceAudioTrack: boolean;
49
49
  initialProResProfile: _InternalTypes['ProResProfile'] | null;
50
50
  initialx264Preset: X264Preset;
51
+ initialGopSize: number | null;
51
52
  initialPixelFormat: PixelFormat | null;
52
53
  initialVideoBitrate: string | null;
53
54
  initialAudioBitrate: string | null;
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.465",
6
+ "version": "4.0.467",
7
7
  "description": "APIs for interacting with the Remotion Studio",
8
8
  "main": "dist",
9
9
  "scripts": {
@@ -25,14 +25,14 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "semver": "7.5.3",
28
- "remotion": "4.0.465",
29
- "@remotion/player": "4.0.465",
30
- "@remotion/media-utils": "4.0.465",
31
- "@remotion/renderer": "4.0.465",
32
- "@remotion/web-renderer": "4.0.465",
33
- "@remotion/studio-shared": "4.0.465",
34
- "@remotion/timeline-utils": "4.0.465",
35
- "@remotion/zod-types": "4.0.465",
28
+ "remotion": "4.0.467",
29
+ "@remotion/player": "4.0.467",
30
+ "@remotion/media-utils": "4.0.467",
31
+ "@remotion/renderer": "4.0.467",
32
+ "@remotion/web-renderer": "4.0.467",
33
+ "@remotion/studio-shared": "4.0.467",
34
+ "@remotion/timeline-utils": "4.0.467",
35
+ "@remotion/zod-types": "4.0.467",
36
36
  "@jridgewell/trace-mapping": "0.3.31",
37
37
  "mediabunny": "1.45.0",
38
38
  "memfs": "3.4.3",
@@ -43,7 +43,7 @@
43
43
  "react": "19.2.3",
44
44
  "react-dom": "19.2.3",
45
45
  "@types/semver": "7.5.3",
46
- "@remotion/eslint-config-internal": "4.0.465",
46
+ "@remotion/eslint-config-internal": "4.0.467",
47
47
  "eslint": "9.19.0",
48
48
  "@typescript/native-preview": "7.0.0-dev.20260217.1"
49
49
  },
@@ -1,25 +0,0 @@
1
- var __create = Object.create;
2
- var __getProtoOf = Object.getPrototypeOf;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __toESM = (mod, isNodeMode, target) => {
7
- target = mod != null ? __create(__getProtoOf(mod)) : {};
8
- const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
9
- for (let key of __getOwnPropNames(mod))
10
- if (!__hasOwnProp.call(to, key))
11
- __defProp(to, key, {
12
- get: () => mod[key],
13
- enumerable: true
14
- });
15
- return to;
16
- };
17
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
18
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
19
- }) : x)(function(x) {
20
- if (typeof require !== "undefined")
21
- return require.apply(this, arguments);
22
- throw Error('Dynamic require of "' + x + '" is not supported');
23
- });
24
-
25
- export { __toESM, __require };