@remotion/studio 4.0.503 → 4.0.504

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 (125) hide show
  1. package/dist/api/install-package.d.ts +2 -1
  2. package/dist/api/install-package.js +6 -2
  3. package/dist/components/AssetSelectorItem.js +2 -14
  4. package/dist/components/Canvas.js +12 -5
  5. package/dist/components/CheckboardToggle.js +3 -1
  6. package/dist/components/CompositionSelectorItem.js +2 -3
  7. package/dist/components/ControlButton.d.ts +4 -2
  8. package/dist/components/ControlButton.js +6 -20
  9. package/dist/components/EditorContent.js +1 -1
  10. package/dist/components/EffectPickerModal.js +68 -7
  11. package/dist/components/FullscreenToggle.js +1 -2
  12. package/dist/components/InitialCompositionLoader.js +1 -14
  13. package/dist/components/InlineAction.d.ts +3 -4
  14. package/dist/components/InlineAction.js +5 -3
  15. package/dist/components/InspectorPanel/CompositionMetadata.js +7 -6
  16. package/dist/components/InspectorPanel/KeyframeInspector.js +2 -3
  17. package/dist/components/InspectorPanel/styles.js +4 -0
  18. package/dist/components/LoopToggle.js +1 -1
  19. package/dist/components/MenuBuildIndicator.d.ts +3 -1
  20. package/dist/components/MenuBuildIndicator.js +5 -3
  21. package/dist/components/MenuToolbar.js +1 -1
  22. package/dist/components/MobilePanel.d.ts +1 -2
  23. package/dist/components/MobilePanel.js +6 -10
  24. package/dist/components/MuteToggle.js +2 -1
  25. package/dist/components/NewComposition/ComboBox.d.ts +1 -0
  26. package/dist/components/NewComposition/ComboBox.js +2 -2
  27. package/dist/components/NewComposition/InputDragger.d.ts +4 -0
  28. package/dist/components/NewComposition/InputDragger.js +7 -3
  29. package/dist/components/Notifications/NotificationCenter.js +12 -2
  30. package/dist/components/OutlineToggle.js +10 -2
  31. package/dist/components/PlayPause.js +1 -5
  32. package/dist/components/PlaybackRateSelector.js +2 -1
  33. package/dist/components/PreviewToolbar.js +8 -7
  34. package/dist/components/PreviewToolbarOverflowButton.d.ts +0 -1
  35. package/dist/components/PreviewToolbarOverflowButton.js +2 -75
  36. package/dist/components/QuickSwitcher/QuickSwitcherContent.js +1 -2
  37. package/dist/components/RenderButton.d.ts +0 -1
  38. package/dist/components/RenderButton.js +10 -9
  39. package/dist/components/RenderModal/FrameRangeSetting.js +6 -1
  40. package/dist/components/RenderModal/MultiRangeSlider.js +8 -8
  41. package/dist/components/RenderModal/RenderModalEnvironmentVariables.js +1 -9
  42. package/dist/components/RenderModal/RenderModalOutputName.js +11 -2
  43. package/dist/components/RenderModal/ServerRenderModal.js +2 -17
  44. package/dist/components/RenderModal/WebRenderModal.js +3 -17
  45. package/dist/components/RenderModal/layout.js +7 -5
  46. package/dist/components/RenderModal/render-modals.js +18 -15
  47. package/dist/components/RenderQueue/RenderQueueRepeat.js +1 -14
  48. package/dist/components/SelectedOutlineElement.js +4 -12
  49. package/dist/components/SidebarRenderButton.js +1 -15
  50. package/dist/components/SizeSelector.js +2 -1
  51. package/dist/components/SnappingToggle.js +1 -2
  52. package/dist/components/Spinner.d.ts +1 -0
  53. package/dist/components/Spinner.js +2 -2
  54. package/dist/components/Splitter/SplitterContainer.d.ts +1 -0
  55. package/dist/components/Splitter/SplitterContainer.js +4 -1
  56. package/dist/components/Splitter/SplitterContext.d.ts +4 -3
  57. package/dist/components/Splitter/SplitterContext.js +3 -2
  58. package/dist/components/Splitter/SplitterElement.js +6 -1
  59. package/dist/components/Splitter/SplitterHandle.js +1 -0
  60. package/dist/components/Tabs/vertical.d.ts +1 -0
  61. package/dist/components/Tabs/vertical.js +8 -10
  62. package/dist/components/TimeValue.js +26 -8
  63. package/dist/components/Timeline/Timeline.js +1 -1
  64. package/dist/components/Timeline/TimelineClipboardKeybindings.js +3 -6
  65. package/dist/components/Timeline/TimelineDeleteKeybindings.js +5 -7
  66. package/dist/components/Timeline/TimelineExpandedKeyframeRow.js +2 -1
  67. package/dist/components/Timeline/TimelineKeyframeEasingLine.d.ts +1 -1
  68. package/dist/components/Timeline/TimelineKeyframeEasingLine.js +2 -2
  69. package/dist/components/Timeline/TimelineSelection.js +2 -3
  70. package/dist/components/Timeline/TimelineZoomControls.d.ts +3 -1
  71. package/dist/components/Timeline/TimelineZoomControls.js +24 -12
  72. package/dist/components/Timeline/use-expanded-track-keyframe-rows.js +2 -3
  73. package/dist/components/Timeline/use-timeline-asset-drop.js +3 -3
  74. package/dist/components/TimelineInOutToggle.js +3 -3
  75. package/dist/components/TopPanel.js +3 -2
  76. package/dist/components/UndoRedoButtons.js +6 -5
  77. package/dist/components/UpdateCheck.js +18 -5
  78. package/dist/components/UpdateModal/UpdateModal.js +35 -12
  79. package/dist/components/composition-menu-items.d.ts +2 -4
  80. package/dist/components/composition-menu-items.js +31 -54
  81. package/dist/components/import-assets.d.ts +2 -1
  82. package/dist/components/import-assets.js +1 -1
  83. package/dist/esm/{chunk-bj1r1hh5.js → chunk-43m68z1k.js} +4824 -4457
  84. package/dist/esm/internals.mjs +4824 -4457
  85. package/dist/esm/previewEntry.mjs +4801 -4434
  86. package/dist/esm/renderEntry.mjs +1 -1
  87. package/dist/helpers/inject-css.js +40 -23
  88. package/dist/helpers/install-required-package.d.ts +3 -2
  89. package/dist/helpers/install-required-package.js +20 -15
  90. package/dist/helpers/use-menu-structure.js +85 -49
  91. package/dist/icons/audio.d.ts +1 -1
  92. package/dist/icons/audio.js +1 -1
  93. package/dist/icons/caret.js +1 -1
  94. package/dist/icons/certificate.d.ts +1 -1
  95. package/dist/icons/certificate.js +1 -1
  96. package/dist/icons/data.d.ts +1 -1
  97. package/dist/icons/data.js +2 -2
  98. package/dist/icons/effects.d.ts +5 -0
  99. package/dist/icons/effects.js +8 -0
  100. package/dist/icons/ellipsis.js +1 -1
  101. package/dist/icons/external-link.d.ts +5 -0
  102. package/dist/icons/external-link.js +10 -0
  103. package/dist/icons/fullscreen.js +1 -1
  104. package/dist/icons/gear.d.ts +1 -1
  105. package/dist/icons/gear.js +1 -1
  106. package/dist/icons/gif.d.ts +1 -1
  107. package/dist/icons/gif.js +1 -1
  108. package/dist/icons/input-props.d.ts +2 -0
  109. package/dist/icons/input-props.js +9 -0
  110. package/dist/icons/jump-to-start.js +2 -2
  111. package/dist/icons/magnet.d.ts +3 -1
  112. package/dist/icons/magnet.js +2 -2
  113. package/dist/icons/media-volume.d.ts +6 -2
  114. package/dist/icons/media-volume.js +8 -6
  115. package/dist/icons/minus.d.ts +3 -1
  116. package/dist/icons/minus.js +2 -2
  117. package/dist/icons/pause.js +1 -1
  118. package/dist/icons/play.js +1 -1
  119. package/dist/icons/plus.js +1 -1
  120. package/dist/icons/redo.js +2 -2
  121. package/dist/icons/step-back.js +2 -2
  122. package/dist/icons/step-forward.js +2 -2
  123. package/dist/icons/timelineInOutPointer.js +2 -2
  124. package/dist/icons/undo.js +2 -2
  125. package/package.json +12 -12
@@ -2,14 +2,13 @@ import type { SetStateAction } from 'react';
2
2
  import type { ResolvedStackLocation } from 'remotion';
3
3
  import type { ModalState } from '../state/modals';
4
4
  import type { ComboboxValue } from './NewComposition/ComboBox';
5
- export declare const getCompositionMenuItems: ({ composition, connectionStatus, resolvedLocation, setSelectedModal, closeMenu, readOnlyStudio, includeNewCompositionItem, includeCompositionManagementItems, }: {
5
+ export declare const getCompositionMenuItems: ({ composition, connectionStatus, resolvedLocation, setSelectedModal, closeMenu, readOnlyStudio, includeCompositionManagementItems, }: {
6
6
  composition: import("remotion").AnyComposition | null;
7
7
  connectionStatus: "connected" | "disconnected" | "init";
8
8
  resolvedLocation: ResolvedStackLocation | null;
9
9
  setSelectedModal: (value: SetStateAction<ModalState | null>) => void;
10
10
  closeMenu: () => void;
11
11
  readOnlyStudio: boolean;
12
- includeNewCompositionItem: boolean;
13
12
  includeCompositionManagementItems: boolean;
14
13
  }) => ComboboxValue[];
15
14
  export declare const getCompositionContextMenuItems: (args: Omit<{
@@ -19,8 +18,7 @@ export declare const getCompositionContextMenuItems: (args: Omit<{
19
18
  setSelectedModal: (value: SetStateAction<ModalState | null>) => void;
20
19
  closeMenu: () => void;
21
20
  readOnlyStudio: boolean;
22
- includeNewCompositionItem: boolean;
23
21
  includeCompositionManagementItems: boolean;
24
- }, "includeCompositionManagementItems" | "includeNewCompositionItem"> & {
22
+ }, "includeCompositionManagementItems"> & {
25
23
  readonly includeCompositionManagementItems: boolean;
26
24
  }) => ComboboxValue[];
@@ -6,7 +6,7 @@ const format_file_location_1 = require("../helpers/format-file-location");
6
6
  const open_in_editor_1 = require("../helpers/open-in-editor");
7
7
  const NotificationCenter_1 = require("./Notifications/NotificationCenter");
8
8
  const open_in_new_window_1 = require("./open-in-new-window");
9
- const getCompositionMenuItems = ({ composition, connectionStatus, resolvedLocation, setSelectedModal, closeMenu, readOnlyStudio, includeNewCompositionItem, includeCompositionManagementItems, }) => {
9
+ const getCompositionMenuItems = ({ composition, connectionStatus, resolvedLocation, setSelectedModal, closeMenu, readOnlyStudio, includeCompositionManagementItems, }) => {
10
10
  const editorName = window.remotion_editorName;
11
11
  const fileLocation = (0, format_file_location_1.formatFileLocation)({
12
12
  location: resolvedLocation,
@@ -69,60 +69,12 @@ const getCompositionMenuItems = ({ composition, connectionStatus, resolvedLocati
69
69
  disabled: openComponentInEditorDisabled,
70
70
  }
71
71
  : null,
72
- {
73
- id: 'copy-file-location',
74
- keyHint: null,
75
- label: `Copy file location`,
76
- leftItem: null,
77
- onClick: () => {
78
- closeMenu();
79
- if (!fileLocation) {
80
- return;
81
- }
82
- navigator.clipboard
83
- .writeText(fileLocation)
84
- .then(() => {
85
- (0, NotificationCenter_1.showNotification)('Copied file location to clipboard', 1000);
86
- })
87
- .catch((err) => {
88
- (0, NotificationCenter_1.showNotification)(`Could not copy to clipboard: ${err.message}`, 1000);
89
- });
90
- },
91
- quickSwitcherLabel: 'Copy composition file location',
92
- subMenu: null,
93
- type: 'item',
94
- value: 'copy-file-location',
95
- disabled: copyFileLocationDisabled,
96
- },
97
- (editorName || fileLocation) &&
98
- (includeNewCompositionItem || includeCompositionManagementItems)
72
+ editorName && includeCompositionManagementItems
99
73
  ? {
100
74
  type: 'divider',
101
75
  id: 'show-in-editor-divider',
102
76
  }
103
77
  : null,
104
- includeNewCompositionItem
105
- ? {
106
- id: 'new',
107
- keyHint: null,
108
- label: `New...`,
109
- leftItem: null,
110
- onClick: () => {
111
- closeMenu();
112
- setSelectedModal({
113
- type: 'new-comp',
114
- folderName: null,
115
- parentName: null,
116
- stack: null,
117
- });
118
- },
119
- quickSwitcherLabel: 'New composition...',
120
- subMenu: null,
121
- type: 'item',
122
- value: 'new',
123
- disabled: readOnlyStudio,
124
- }
125
- : null,
126
78
  includeCompositionManagementItems
127
79
  ? {
128
80
  id: 'rename',
@@ -193,9 +145,36 @@ const getCompositionMenuItems = ({ composition, connectionStatus, resolvedLocati
193
145
  disabled: !composition || readOnlyStudio,
194
146
  }
195
147
  : null,
148
+ editorName || includeCompositionManagementItems
149
+ ? {
150
+ type: 'divider',
151
+ id: 'copy-actions-divider',
152
+ }
153
+ : null,
196
154
  {
197
- type: 'divider',
198
- id: 'copy-id-divider',
155
+ id: 'copy-file-location',
156
+ keyHint: null,
157
+ label: `Copy file location`,
158
+ leftItem: null,
159
+ onClick: () => {
160
+ closeMenu();
161
+ if (!fileLocation) {
162
+ return;
163
+ }
164
+ navigator.clipboard
165
+ .writeText(fileLocation)
166
+ .then(() => {
167
+ (0, NotificationCenter_1.showNotification)('Copied file location to clipboard', 1000);
168
+ })
169
+ .catch((err) => {
170
+ (0, NotificationCenter_1.showNotification)(`Could not copy to clipboard: ${err.message}`, 1000);
171
+ });
172
+ },
173
+ quickSwitcherLabel: 'Copy composition file location',
174
+ subMenu: null,
175
+ type: 'item',
176
+ value: 'copy-file-location',
177
+ disabled: copyFileLocationDisabled,
199
178
  },
200
179
  {
201
180
  id: 'copy-id',
@@ -229,7 +208,6 @@ const getCompositionContextMenuItems = (args) => {
229
208
  if (args.composition === null) {
230
209
  return (0, exports.getCompositionMenuItems)({
231
210
  ...args,
232
- includeNewCompositionItem: false,
233
211
  });
234
212
  }
235
213
  return [
@@ -240,7 +218,6 @@ const getCompositionContextMenuItems = (args) => {
240
218
  },
241
219
  ...(0, exports.getCompositionMenuItems)({
242
220
  ...args,
243
- includeNewCompositionItem: false,
244
221
  }),
245
222
  ];
246
223
  };
@@ -148,7 +148,8 @@ export declare const insertElement: ({ compositionFile, compositionId, element,
148
148
  compositionFile: string;
149
149
  compositionId: string;
150
150
  element: {
151
- dependencies: string[];
151
+ dependencies: import("@remotion/studio-protocol").ElementDependency[];
152
+ durationInFrames?: number | undefined;
152
153
  slug: string;
153
154
  displayName: string;
154
155
  sourceCode: string;
@@ -480,7 +480,7 @@ const notifyUnsupportedFiles = (unsupportedFiles) => {
480
480
  };
481
481
  const insertCompositionElement = async ({ compositionFile, compositionId, element, from, }) => {
482
482
  const requiredPackage = (0, studio_shared_1.getRequiredPackageForInsertableElement)(element);
483
- await (0, install_required_package_1.installRequiredPackages)(requiredPackage ? [requiredPackage] : []);
483
+ await (0, install_required_package_1.installRequiredPackages)(requiredPackage ? [{ name: requiredPackage, version: null }] : []);
484
484
  const result = await (0, call_api_1.callApi)('/api/insert-jsx-element', {
485
485
  compositionFile,
486
486
  compositionId,