@remotion/studio 4.0.89 → 4.0.91

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 (263) hide show
  1. package/.eslintrc +33 -28
  2. package/.turbo/turbo-build.log +1 -1
  3. package/dist/Studio.js +6 -1
  4. package/dist/components/AssetSelectorItem.js +2 -1
  5. package/dist/components/ControlButton.d.ts +1 -1
  6. package/dist/components/CopyButton.js +1 -1
  7. package/dist/components/CurrentComposition.d.ts +1 -2
  8. package/dist/components/CurrentCompositionSideEffects.d.ts +3 -1
  9. package/dist/components/CurrentCompositionSideEffects.js +5 -2
  10. package/dist/components/Editor.d.ts +1 -0
  11. package/dist/components/Editor.js +6 -3
  12. package/dist/components/EditorContent.d.ts +3 -1
  13. package/dist/components/EditorContent.js +2 -2
  14. package/dist/components/EditorContexts.d.ts +1 -0
  15. package/dist/components/EditorContexts.js +2 -2
  16. package/dist/components/FilePreview.js +2 -2
  17. package/dist/components/InitialCompositionLoader.js +3 -2
  18. package/dist/components/MenuToolbar.d.ts +3 -1
  19. package/dist/components/MenuToolbar.js +3 -3
  20. package/dist/components/Modals.d.ts +3 -1
  21. package/dist/components/Modals.js +2 -2
  22. package/dist/components/NewComposition/NewCompCode.d.ts +1 -2
  23. package/dist/components/NewComposition/RemInput.d.ts +2 -2
  24. package/dist/components/NewComposition/RemInputTypeColor.d.ts +1 -1
  25. package/dist/components/NewComposition/RemTextarea.d.ts +1 -1
  26. package/dist/components/OptionsPanel.d.ts +3 -1
  27. package/dist/components/OptionsPanel.js +7 -4
  28. package/dist/components/PreviewToolbar.d.ts +3 -1
  29. package/dist/components/PreviewToolbar.js +2 -2
  30. package/dist/components/QuickSwitcher/QuickSwitcher.d.ts +1 -0
  31. package/dist/components/QuickSwitcher/QuickSwitcher.js +2 -2
  32. package/dist/components/QuickSwitcher/QuickSwitcherContent.d.ts +1 -0
  33. package/dist/components/QuickSwitcher/QuickSwitcherContent.js +2 -2
  34. package/dist/components/RenderButton.js +1 -1
  35. package/dist/components/RenderModal/DataEditor.d.ts +1 -0
  36. package/dist/components/RenderModal/DataEditor.js +3 -3
  37. package/dist/components/RenderModal/GuiRenderStatus.d.ts +1 -1
  38. package/dist/components/RenderModal/OptionExplainer.js +1 -1
  39. package/dist/components/RenderModal/RenderModal.js +10 -10
  40. package/dist/components/RenderModal/RenderModalAdvanced.d.ts +1 -1
  41. package/dist/components/RenderModal/RenderModalAudio.js +2 -2
  42. package/dist/components/RenderModal/RenderModalEnvironmentVariables.js +1 -1
  43. package/dist/components/RenderModal/RenderModalInput.d.ts +1 -1
  44. package/dist/components/RenderModal/RenderModalJSONPropsEditor.js +1 -1
  45. package/dist/components/RenderModal/RenderStatusModal.js +2 -2
  46. package/dist/components/RenderModal/SchemaEditor/SchemaErrorMessages.d.ts +3 -3
  47. package/dist/components/RenderModal/SchemaEditor/SchemaErrorMessages.js +2 -2
  48. package/dist/components/RenderModal/SchemaEditor/extract-enum-json-paths.d.ts +0 -1
  49. package/dist/components/RenderModal/SchemaEditor/local-state.d.ts +1 -1
  50. package/dist/components/RenderQueue/RenderQueueCopyToClipboard.d.ts +1 -1
  51. package/dist/components/RenderQueue/RenderQueueError.d.ts +1 -1
  52. package/dist/components/RenderQueue/RenderQueueItem.d.ts +1 -1
  53. package/dist/components/RenderQueue/RenderQueueItem.js +2 -1
  54. package/dist/components/RenderQueue/RenderQueueItemCancelButton.d.ts +1 -1
  55. package/dist/components/RenderQueue/RenderQueueItemStatus.d.ts +1 -1
  56. package/dist/components/RenderQueue/RenderQueueOpenInFolder.d.ts +1 -1
  57. package/dist/components/RenderQueue/RenderQueueOutputName.d.ts +1 -1
  58. package/dist/components/RenderQueue/RenderQueueProgressMessage.d.ts +1 -1
  59. package/dist/components/RenderQueue/RenderQueueRemoveItem.d.ts +1 -1
  60. package/dist/components/RenderQueue/RenderQueueRepeat.d.ts +1 -1
  61. package/dist/components/RenderQueue/RenderQueueRepeat.js +1 -1
  62. package/dist/components/RenderQueue/actions.d.ts +5 -7
  63. package/dist/components/RenderQueue/actions.js +7 -1
  64. package/dist/components/RenderQueue/context.d.ts +2 -2
  65. package/dist/components/RenderQueue/context.js +2 -1
  66. package/dist/components/ResetZoomButton.js +1 -1
  67. package/dist/components/Timeline/MaxTimelineTracks.d.ts +0 -1
  68. package/dist/components/Timeline/MaxTimelineTracks.js +3 -3
  69. package/dist/components/Timeline/TimelineStack/index.js +9 -8
  70. package/dist/components/TopPanel.d.ts +3 -1
  71. package/dist/components/TopPanel.js +2 -2
  72. package/dist/components/UpdateCheck.d.ts +2 -3
  73. package/dist/components/ZoomPersistor.js +4 -3
  74. package/dist/error-overlay/entry-basic.d.ts +95 -1
  75. package/dist/error-overlay/entry-basic.js +20 -15
  76. package/dist/error-overlay/react-overlay/effects/resolve-file-source.d.ts +1 -2
  77. package/dist/error-overlay/react-overlay/listen-to-runtime-errors.d.ts +7 -1
  78. package/dist/error-overlay/react-overlay/listen-to-runtime-errors.js +2 -7
  79. package/dist/error-overlay/react-overlay/utils/get-lines-around.d.ts +1 -1
  80. package/dist/error-overlay/react-overlay/utils/get-stack-frames.d.ts +7 -1
  81. package/dist/error-overlay/react-overlay/utils/get-stack-frames.js +0 -6
  82. package/dist/error-overlay/react-overlay/utils/parser.d.ts +7 -1
  83. package/dist/error-overlay/react-overlay/utils/parser.js +5 -11
  84. package/dist/error-overlay/react-overlay/utils/unmapper.d.ts +7 -1
  85. package/dist/error-overlay/react-overlay/utils/unmapper.js +0 -8
  86. package/dist/error-overlay/remotion-overlay/AskOnDiscord.js +1 -1
  87. package/dist/error-overlay/remotion-overlay/CodeFrame.d.ts +1 -1
  88. package/dist/error-overlay/remotion-overlay/DismissButton.js +2 -1
  89. package/dist/error-overlay/remotion-overlay/ErrorDisplay.js +2 -2
  90. package/dist/error-overlay/remotion-overlay/HelpLink.js +1 -1
  91. package/dist/error-overlay/remotion-overlay/OpenInEditor.d.ts +1 -1
  92. package/dist/error-overlay/remotion-overlay/OpenInEditor.js +1 -2
  93. package/dist/error-overlay/remotion-overlay/Retry.js +1 -1
  94. package/dist/error-overlay/remotion-overlay/SearchGitHubIssues.js +1 -1
  95. package/dist/error-overlay/remotion-overlay/ShortcutHint.d.ts +1 -1
  96. package/dist/error-overlay/remotion-overlay/ShortcutHint.js +8 -8
  97. package/dist/error-overlay/remotion-overlay/StackFrame.d.ts +1 -1
  98. package/dist/error-overlay/remotion-overlay/StackFrame.js +1 -1
  99. package/dist/error-overlay/remotion-overlay/carets.d.ts +1 -1
  100. package/dist/helpers/checkerboard-background.d.ts +1 -1
  101. package/dist/helpers/client-id.d.ts +2 -1
  102. package/dist/helpers/client-id.js +7 -3
  103. package/dist/helpers/colors.d.ts +1 -1
  104. package/dist/helpers/document-title.d.ts +1 -1
  105. package/dist/helpers/get-location-of-sequence.d.ts +1 -1
  106. package/dist/helpers/open-in-editor.d.ts +1 -1
  107. package/dist/helpers/presets-labels.d.ts +1 -1
  108. package/dist/helpers/render-modal-sections.d.ts +0 -1
  109. package/dist/helpers/url-state.d.ts +4 -0
  110. package/dist/helpers/url-state.js +33 -0
  111. package/dist/helpers/use-menu-structure.d.ts +1 -1
  112. package/dist/helpers/use-menu-structure.js +148 -113
  113. package/dist/helpers/use-studio-canvas-dimensions.d.ts +4 -4
  114. package/dist/helpers/use-studio-canvas-dimensions.js +4 -4
  115. package/dist/hot-middleware-client/process-update.js +3 -2
  116. package/dist/icons/Checkmark.d.ts +1 -2
  117. package/dist/icons/audio.d.ts +1 -1
  118. package/dist/icons/caret.d.ts +2 -2
  119. package/dist/icons/data.d.ts +1 -1
  120. package/dist/icons/frame.d.ts +1 -1
  121. package/dist/icons/gear.d.ts +1 -1
  122. package/dist/icons/gif.d.ts +1 -1
  123. package/dist/index.d.ts +2 -64
  124. package/dist/index.js +3 -25
  125. package/dist/previewEntry.d.ts +1 -1
  126. package/dist/previewEntry.js +6 -3
  127. package/package.json +23 -10
  128. package/prettierrc.js +14 -0
  129. package/tsconfig.tsbuildinfo +1 -1
  130. package/dist/ansi/ansi-diff.d.ts +0 -41
  131. package/dist/ansi/ansi-diff.js +0 -220
  132. package/dist/ansi/ansi-split.d.ts +0 -2
  133. package/dist/ansi/ansi-split.js +0 -44
  134. package/dist/better-opn/index.d.ts +0 -6
  135. package/dist/better-opn/index.js +0 -202
  136. package/dist/codemods/stringify-with-path.d.ts +0 -5
  137. package/dist/codemods/stringify-with-path.js +0 -49
  138. package/dist/codemods/update-default-props.d.ts +0 -7
  139. package/dist/codemods/update-default-props.js +0 -137
  140. package/dist/components/Studio.d.ts +0 -4
  141. package/dist/components/Studio.js +0 -16
  142. package/dist/components/render-defaults.d.ts +0 -40
  143. package/dist/components/render-defaults.js +0 -2
  144. package/dist/error-overlay/react-overlay/effects/map-error-to-react-stack.d.ts +0 -7
  145. package/dist/error-overlay/react-overlay/effects/map-error-to-react-stack.js +0 -46
  146. package/dist/error-overlay/react-overlay/utils/get-file-source.d.ts +0 -1
  147. package/dist/error-overlay/react-overlay/utils/get-file-source.js +0 -22
  148. package/dist/error-overlay/react-overlay/utils/open-in-editor.d.ts +0 -16
  149. package/dist/error-overlay/react-overlay/utils/open-in-editor.js +0 -503
  150. package/dist/error-overlay/react-overlay/utils/source-map-endpoint.d.ts +0 -1
  151. package/dist/error-overlay/react-overlay/utils/source-map-endpoint.js +0 -4
  152. package/dist/error-overlay/react-overlay/utils/stack-frame.d.ts +0 -40
  153. package/dist/error-overlay/react-overlay/utils/stack-frame.js +0 -31
  154. package/dist/error-overlay/remotion-overlay/Button.d.ts +0 -11
  155. package/dist/error-overlay/remotion-overlay/Button.js +0 -35
  156. package/dist/event-source-events.d.ts +0 -31
  157. package/dist/event-source-events.js +0 -2
  158. package/dist/file-watcher.d.ts +0 -9
  159. package/dist/file-watcher.js +0 -35
  160. package/dist/get-default-out-name.d.ts +0 -5
  161. package/dist/get-default-out-name.js +0 -10
  162. package/dist/get-latest-remotion-version.d.ts +0 -1
  163. package/dist/get-latest-remotion-version.js +0 -31
  164. package/dist/get-network-address.d.ts +0 -1
  165. package/dist/get-network-address.js +0 -16
  166. package/dist/helpers/format-bytes.d.ts +0 -6
  167. package/dist/helpers/format-bytes.js +0 -103
  168. package/dist/helpers/open-directory-in-finder.d.ts +0 -1
  169. package/dist/helpers/open-directory-in-finder.js +0 -49
  170. package/dist/max-timeline-tracks.d.ts +0 -2
  171. package/dist/max-timeline-tracks.js +0 -25
  172. package/dist/preview-server/api-routes.d.ts +0 -4
  173. package/dist/preview-server/api-routes.js +0 -25
  174. package/dist/preview-server/api-types.d.ts +0 -40
  175. package/dist/preview-server/api-types.js +0 -2
  176. package/dist/preview-server/dev-middleware/compatible-api.d.ts +0 -7
  177. package/dist/preview-server/dev-middleware/compatible-api.js +0 -20
  178. package/dist/preview-server/dev-middleware/get-paths.d.ts +0 -7
  179. package/dist/preview-server/dev-middleware/get-paths.js +0 -19
  180. package/dist/preview-server/dev-middleware/index.d.ts +0 -3
  181. package/dist/preview-server/dev-middleware/index.js +0 -27
  182. package/dist/preview-server/dev-middleware/middleware.d.ts +0 -9
  183. package/dist/preview-server/dev-middleware/middleware.js +0 -222
  184. package/dist/preview-server/dev-middleware/range-parser.d.ts +0 -15
  185. package/dist/preview-server/dev-middleware/range-parser.js +0 -96
  186. package/dist/preview-server/dev-middleware/ready.d.ts +0 -3
  187. package/dist/preview-server/dev-middleware/ready.js +0 -11
  188. package/dist/preview-server/dev-middleware/setup-hooks.d.ts +0 -2
  189. package/dist/preview-server/dev-middleware/setup-hooks.js +0 -52
  190. package/dist/preview-server/dev-middleware/setup-output-filesystem.d.ts +0 -2
  191. package/dist/preview-server/dev-middleware/setup-output-filesystem.js +0 -13
  192. package/dist/preview-server/dev-middleware/types.d.ts +0 -10
  193. package/dist/preview-server/dev-middleware/types.js +0 -2
  194. package/dist/preview-server/env-supports-fs-recursive.d.ts +0 -1
  195. package/dist/preview-server/env-supports-fs-recursive.js +0 -18
  196. package/dist/preview-server/file-existence-watchers.d.ts +0 -13
  197. package/dist/preview-server/file-existence-watchers.js +0 -62
  198. package/dist/preview-server/get-absolute-public-dir.d.ts +0 -4
  199. package/dist/preview-server/get-absolute-public-dir.js +0 -14
  200. package/dist/preview-server/get-package-manager.d.ts +0 -10
  201. package/dist/preview-server/get-package-manager.js +0 -62
  202. package/dist/preview-server/handler.d.ts +0 -12
  203. package/dist/preview-server/handler.js +0 -36
  204. package/dist/preview-server/hot-middleware/client.d.ts +0 -21
  205. package/dist/preview-server/hot-middleware/client.js +0 -179
  206. package/dist/preview-server/hot-middleware/index.d.ts +0 -102
  207. package/dist/preview-server/hot-middleware/index.js +0 -149
  208. package/dist/preview-server/hot-middleware/process-update.d.ts +0 -7
  209. package/dist/preview-server/hot-middleware/process-update.js +0 -162
  210. package/dist/preview-server/hot-middleware/types.d.ts +0 -27
  211. package/dist/preview-server/hot-middleware/types.js +0 -10
  212. package/dist/preview-server/job.d.ts +0 -232
  213. package/dist/preview-server/job.js +0 -2
  214. package/dist/preview-server/live-events.d.ts +0 -10
  215. package/dist/preview-server/live-events.js +0 -76
  216. package/dist/preview-server/parse-body.d.ts +0 -2
  217. package/dist/preview-server/parse-body.js +0 -16
  218. package/dist/preview-server/project-info.d.ts +0 -5
  219. package/dist/preview-server/project-info.js +0 -32
  220. package/dist/preview-server/public-folder.d.ts +0 -12
  221. package/dist/preview-server/public-folder.js +0 -58
  222. package/dist/preview-server/retry-payload.d.ts +0 -3
  223. package/dist/preview-server/retry-payload.js +0 -142
  224. package/dist/preview-server/routes/add-render.d.ts +0 -3
  225. package/dist/preview-server/routes/add-render.js +0 -122
  226. package/dist/preview-server/routes/can-update-default-props.d.ts +0 -4
  227. package/dist/preview-server/routes/can-update-default-props.js +0 -40
  228. package/dist/preview-server/routes/cancel-render.d.ts +0 -3
  229. package/dist/preview-server/routes/cancel-render.js +0 -8
  230. package/dist/preview-server/routes/copy-still-to-clipboard-handler.d.ts +0 -3
  231. package/dist/preview-server/routes/copy-still-to-clipboard-handler.js +0 -17
  232. package/dist/preview-server/routes/open-in-file-explorer.d.ts +0 -3
  233. package/dist/preview-server/routes/open-in-file-explorer.js +0 -8
  234. package/dist/preview-server/routes/remove-render.d.ts +0 -3
  235. package/dist/preview-server/routes/remove-render.js +0 -8
  236. package/dist/preview-server/routes/subscribe-to-file-existence.d.ts +0 -3
  237. package/dist/preview-server/routes/subscribe-to-file-existence.js +0 -13
  238. package/dist/preview-server/routes/unsubscribe-from-file-existence.d.ts +0 -3
  239. package/dist/preview-server/routes/unsubscribe-from-file-existence.js +0 -13
  240. package/dist/preview-server/routes/update-available.d.ts +0 -3
  241. package/dist/preview-server/routes/update-available.js +0 -9
  242. package/dist/preview-server/routes/update-default-props.d.ts +0 -3
  243. package/dist/preview-server/routes/update-default-props.js +0 -34
  244. package/dist/preview-server/serve-static.d.ts +0 -14
  245. package/dist/preview-server/serve-static.js +0 -75
  246. package/dist/preview-server/start-server.d.ts +0 -31
  247. package/dist/preview-server/start-server.js +0 -127
  248. package/dist/preview-server/update-available.d.ts +0 -3
  249. package/dist/preview-server/update-available.js +0 -47
  250. package/dist/required-chromium-options.d.ts +0 -3
  251. package/dist/required-chromium-options.js +0 -2
  252. package/dist/routes.d.ts +0 -25
  253. package/dist/routes.js +0 -242
  254. package/dist/server-ready.d.ts +0 -2
  255. package/dist/server-ready.js +0 -13
  256. package/dist/start-studio.d.ts +0 -26
  257. package/dist/start-studio.js +0 -117
  258. package/dist/watch-root-file.d.ts +0 -1
  259. package/dist/watch-root-file.js +0 -22
  260. package/out.txt +0 -1
  261. package/web/beep.wav +0 -0
  262. package/web/favicon.png +0 -0
  263. /package/{styles/styles.css → styles.css} +0 -0
@@ -3,24 +3,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RenderModalWithLoader = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const client_1 = require("@remotion/renderer/client");
6
+ const studio_shared_1 = require("@remotion/studio-shared");
6
7
  const react_1 = require("react");
7
8
  const remotion_1 = require("remotion");
8
- const audio_1 = require("../../icons/audio");
9
- const data_1 = require("../../icons/data");
10
- const file_1 = require("../../icons/file");
11
- const frame_1 = require("../../icons/frame");
12
- const gear_1 = require("../../icons/gear");
13
- const gif_1 = require("../../icons/gif");
14
- const Button_1 = require("../../error-overlay/remotion-overlay/Button");
15
9
  const ShortcutHint_1 = require("../../error-overlay/remotion-overlay/ShortcutHint");
16
- const get_default_out_name_1 = require("../../get-default-out-name");
17
10
  const colors_1 = require("../../helpers/colors");
18
11
  const convert_env_variables_1 = require("../../helpers/convert-env-variables");
19
12
  const render_modal_sections_1 = require("../../helpers/render-modal-sections");
20
13
  const use_keybinding_1 = require("../../helpers/use-keybinding");
14
+ const audio_1 = require("../../icons/audio");
21
15
  const Checkmark_1 = require("../../icons/Checkmark");
16
+ const data_1 = require("../../icons/data");
17
+ const file_1 = require("../../icons/file");
18
+ const frame_1 = require("../../icons/frame");
19
+ const gear_1 = require("../../icons/gear");
20
+ const gif_1 = require("../../icons/gif");
22
21
  const modals_1 = require("../../state/modals");
23
22
  const sidebar_1 = require("../../state/sidebar");
23
+ const Button_1 = require("../Button");
24
24
  const layout_1 = require("../layout");
25
25
  const is_menu_item_1 = require("../Menu/is-menu-item");
26
26
  const styles_1 = require("../Menu/styles");
@@ -143,7 +143,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
143
143
  const [userSelectedAudioCodec, setUserSelectedAudioCodec] = (0, react_1.useState)(() => initialAudioCodec);
144
144
  const [envVariables, setEnvVariables] = (0, react_1.useState)(() => (0, convert_env_variables_1.envVariablesObjectToArray)(initialEnvVariables).filter(([key]) => key !== 'NODE_ENV'));
145
145
  const [initialOutName] = (0, react_1.useState)(() => {
146
- return (0, get_default_out_name_1.getDefaultOutLocation)({
146
+ return (0, studio_shared_1.getDefaultOutLocation)({
147
147
  compositionName: resolvedComposition.id,
148
148
  defaultExtension: isVideo
149
149
  ? client_1.BrowserSafeApis.getFileExtensionFromCodec(initialVideoCodec, initialAudioCodec)
@@ -786,7 +786,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
786
786
  return ((0, jsx_runtime_1.jsxs)("div", { style: outer, children: [(0, jsx_runtime_1.jsx)(ModalHeader_1.NewCompHeader, { title: `Render ${resolvedComposition.id}` }), (0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)(SegmentedControl_1.SegmentedControl, { items: renderTabOptions, needsWrapping: false }), (0, jsx_runtime_1.jsx)("div", { style: flexer }), (0, jsx_runtime_1.jsxs)(Button_1.Button, { autoFocus: true, onClick: trigger, disabled: renderDisabled, style: {
787
787
  ...buttonStyle,
788
788
  backgroundColor: outnameValidation.valid ? colors_1.BLUE : colors_1.BLUE_DISABLED,
789
- }, children: [state.type === 'idle' ? `Render ${renderMode}` : 'Rendering...', (0, jsx_runtime_1.jsx)(ShortcutHint_1.ShortcutHint, { keyToPress: "\u21B5", cmdOrCtrl: true })] })] }), (0, jsx_runtime_1.jsxs)("div", { style: horizontalLayout, children: [(0, jsx_runtime_1.jsxs)("div", { style: leftSidebar, children: [shownTabs.includes('general') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'general', onClick: () => setTab('general'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(file_1.FileIcon, { style: icon }) }), "General"] })) : null, shownTabs.includes('data') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'data', onClick: () => setTab('data'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(data_1.DataIcon, { style: icon }) }), "Input Props"] })) : null, shownTabs.includes('picture') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'picture', onClick: () => setTab('picture'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(frame_1.PicIcon, { style: icon }) }), "Picture"] })) : null, shownTabs.includes('audio') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'audio', onClick: () => setTab('audio'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(audio_1.AudioIcon, { style: icon }) }), "Audio"] })) : null, shownTabs.includes('gif') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'gif', onClick: () => setTab('gif'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(gif_1.GifIcon, { style: icon }) }), "GIF"] })) : null, shownTabs.includes('advanced') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'advanced', onClick: () => setTab('advanced'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(gear_1.GearIcon, { style: icon }) }), "Other"] })) : null] }), (0, jsx_runtime_1.jsx)("div", { style: optionsPanel, className: is_menu_item_1.VERTICAL_SCROLLBAR_CLASSNAME, children: tab === 'general' ? ((0, jsx_runtime_1.jsx)(RenderModalBasic_1.RenderModalBasic, { codec: codec, resolvedComposition: resolvedComposition, frame: frame, imageFormatOptions: imageFormatOptions, outName: outName, proResProfile: proResProfile, renderMode: renderMode, setVideoCodec: setCodec, setFrame: setFrame, setOutName: setOutName, setProResProfile: setProResProfile, endFrame: endFrame, setEndFrame: setEndFrame, setStartFrame: setStartFrame, startFrame: startFrame, validationMessage: outnameValidation.valid ? null : outnameValidation.error.message })) : tab === 'picture' ? ((0, jsx_runtime_1.jsx)(RenderModalPicture_1.RenderModalPicture, { renderMode: renderMode, scale: scale, setScale: setScale, pixelFormat: pixelFormat, pixelFormatOptions: pixelFormatOptions, imageFormatOptions: imageFormatOptions, crf: crf, setCrf: setCrf, customTargetVideoBitrate: customTargetVideoBitrate, maxCrf: maxCrf, minCrf: minCrf, jpegQuality: jpegQuality, qualityControlType: qualityControlType, setJpegQuality: setJpegQuality, setColorSpace: setColorSpace, colorSpace: colorSpace, setCustomTargetVideoBitrateValue: setCustomTargetVideoBitrateValue, setQualityControl: setQualityControl, videoImageFormat: videoImageFormat, stillImageFormat: stillImageFormat, shouldDisplayQualityControlPicker: supportsBothQualityControls, encodingBufferSize: encodingBufferSize, setEncodingBufferSize: setEncodingBufferSize, encodingMaxRate: encodingMaxRate, setEncodingMaxRate: setEncodingMaxRate })) : tab === 'audio' ? ((0, jsx_runtime_1.jsx)(RenderModalAudio_1.RenderModalAudio, { muted: muted, renderMode: renderMode, setMuted: setMuted, codec: codec, audioCodec: audioCodec, setAudioCodec: setAudioCodec, enforceAudioTrack: enforceAudioTrack, setEnforceAudioTrackState: setEnforceAudioTrackState, customTargetAudioBitrate: customTargetAudioBitrate, setCustomTargetAudioBitrateValue: setCustomTargetAudioBitrateValue, setShouldHaveCustomTargetAudioBitrate: setShouldHaveCustomTargetAudioBitrate, shouldHaveCustomTargetAudioBitrate: shouldHaveCustomTargetAudioBitrate })) : tab === 'gif' ? ((0, jsx_runtime_1.jsx)(RenderModalGif_1.RenderModalGif, { everyNthFrame: everyNthFrame, limitNumberOfGifLoops: limitNumberOfGifLoops, numberOfGifLoopsSetting: numberOfGifLoopsSetting, setEveryNthFrameSetting: setEveryNthFrameSetting, setLimitNumberOfGifLoops: setLimitNumberOfGifLoops, setNumberOfGifLoopsSetting: setNumberOfGifLoopsSetting })) : tab === 'data' ? ((0, jsx_runtime_1.jsx)(DataEditor_1.DataEditor, { inputProps: inputProps, setInputProps: setInputProps, unresolvedComposition: unresolvedComposition, mayShowSaveButton: false, propsEditType: "input-props", saving: saving, setSaving: setSaving })) : ((0, jsx_runtime_1.jsx)(RenderModalAdvanced_1.RenderModalAdvanced, { x264Preset: x264Preset, setx264Preset: setx264Preset, concurrency: concurrency, maxConcurrency: maxConcurrency, minConcurrency: minConcurrency, renderMode: renderMode, setConcurrency: setConcurrency, setVerboseLogging: setLogLevel, logLevel: logLevel, delayRenderTimeout: delayRenderTimeout, setDelayRenderTimeout: setDelayRenderTimeout, disallowParallelEncoding: disallowParallelEncoding, setDisallowParallelEncoding: setDisallowParallelEncoding, setDisableWebSecurity: setDisableWebSecurity, setIgnoreCertificateErrors: setIgnoreCertificateErrors, setHeadless: setHeadless, headless: headless, ignoreCertificateErrors: ignoreCertificateErrors, disableWebSecurity: disableWebSecurity, openGlOption: openGlOption, setOpenGlOption: setOpenGlOption, setEnvVariables: setEnvVariables, envVariables: envVariables, offthreadVideoCacheSizeInBytes: offthreadVideoCacheSizeInBytes, setOffthreadVideoCacheSizeInBytes: setOffthreadVideoCacheSizeInBytes, enableMultiProcessOnLinux: multiProcessOnLinux, setChromiumMultiProcessOnLinux: setChromiumMultiProcessOnLinux, codec: codec, userAgent: userAgent, setUserAgent: setUserAgent, setBeep: setBeepOnFinish, beep: beepOnFinish, repro: repro, setRepro: setRepro })) })] })] }));
789
+ }, children: [state.type === 'idle' ? `Render ${renderMode}` : 'Rendering...', (0, jsx_runtime_1.jsx)(ShortcutHint_1.ShortcutHint, { keyToPress: "\u21B5", cmdOrCtrl: true })] })] }), (0, jsx_runtime_1.jsxs)("div", { style: horizontalLayout, children: [(0, jsx_runtime_1.jsxs)("div", { style: leftSidebar, children: [shownTabs.includes('general') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'general', onClick: () => setTab('general'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(file_1.FileIcon, { style: icon }) }), "General"] })) : null, shownTabs.includes('data') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'data', onClick: () => setTab('data'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(data_1.DataIcon, { style: icon }) }), "Input Props"] })) : null, shownTabs.includes('picture') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'picture', onClick: () => setTab('picture'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(frame_1.PicIcon, { style: icon }) }), "Picture"] })) : null, shownTabs.includes('audio') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'audio', onClick: () => setTab('audio'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(audio_1.AudioIcon, { style: icon }) }), "Audio"] })) : null, shownTabs.includes('gif') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'gif', onClick: () => setTab('gif'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(gif_1.GifIcon, { style: icon }) }), "GIF"] })) : null, shownTabs.includes('advanced') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'advanced', onClick: () => setTab('advanced'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(gear_1.GearIcon, { style: icon }) }), "Other"] })) : null] }), (0, jsx_runtime_1.jsx)("div", { style: optionsPanel, className: is_menu_item_1.VERTICAL_SCROLLBAR_CLASSNAME, children: tab === 'general' ? ((0, jsx_runtime_1.jsx)(RenderModalBasic_1.RenderModalBasic, { codec: codec, resolvedComposition: resolvedComposition, frame: frame, imageFormatOptions: imageFormatOptions, outName: outName, proResProfile: proResProfile, renderMode: renderMode, setVideoCodec: setCodec, setFrame: setFrame, setOutName: setOutName, setProResProfile: setProResProfile, endFrame: endFrame, setEndFrame: setEndFrame, setStartFrame: setStartFrame, startFrame: startFrame, validationMessage: outnameValidation.valid ? null : outnameValidation.error.message })) : tab === 'picture' ? ((0, jsx_runtime_1.jsx)(RenderModalPicture_1.RenderModalPicture, { renderMode: renderMode, scale: scale, setScale: setScale, pixelFormat: pixelFormat, pixelFormatOptions: pixelFormatOptions, imageFormatOptions: imageFormatOptions, crf: crf, setCrf: setCrf, customTargetVideoBitrate: customTargetVideoBitrate, maxCrf: maxCrf, minCrf: minCrf, jpegQuality: jpegQuality, qualityControlType: qualityControlType, setJpegQuality: setJpegQuality, setColorSpace: setColorSpace, colorSpace: colorSpace, setCustomTargetVideoBitrateValue: setCustomTargetVideoBitrateValue, setQualityControl: setQualityControl, videoImageFormat: videoImageFormat, stillImageFormat: stillImageFormat, shouldDisplayQualityControlPicker: supportsBothQualityControls, encodingBufferSize: encodingBufferSize, setEncodingBufferSize: setEncodingBufferSize, encodingMaxRate: encodingMaxRate, setEncodingMaxRate: setEncodingMaxRate })) : tab === 'audio' ? ((0, jsx_runtime_1.jsx)(RenderModalAudio_1.RenderModalAudio, { muted: muted, renderMode: renderMode, setMuted: setMuted, codec: codec, audioCodec: audioCodec, setAudioCodec: setAudioCodec, enforceAudioTrack: enforceAudioTrack, setEnforceAudioTrackState: setEnforceAudioTrackState, customTargetAudioBitrate: customTargetAudioBitrate, setCustomTargetAudioBitrateValue: setCustomTargetAudioBitrateValue, setShouldHaveCustomTargetAudioBitrate: setShouldHaveCustomTargetAudioBitrate, shouldHaveCustomTargetAudioBitrate: shouldHaveCustomTargetAudioBitrate })) : tab === 'gif' ? ((0, jsx_runtime_1.jsx)(RenderModalGif_1.RenderModalGif, { everyNthFrame: everyNthFrame, limitNumberOfGifLoops: limitNumberOfGifLoops, numberOfGifLoopsSetting: numberOfGifLoopsSetting, setEveryNthFrameSetting: setEveryNthFrameSetting, setLimitNumberOfGifLoops: setLimitNumberOfGifLoops, setNumberOfGifLoopsSetting: setNumberOfGifLoopsSetting })) : tab === 'data' ? ((0, jsx_runtime_1.jsx)(DataEditor_1.DataEditor, { inputProps: inputProps, setInputProps: setInputProps, unresolvedComposition: unresolvedComposition, mayShowSaveButton: false, propsEditType: "input-props", saving: saving, setSaving: setSaving, readOnlyStudio: false })) : ((0, jsx_runtime_1.jsx)(RenderModalAdvanced_1.RenderModalAdvanced, { x264Preset: x264Preset, setx264Preset: setx264Preset, concurrency: concurrency, maxConcurrency: maxConcurrency, minConcurrency: minConcurrency, renderMode: renderMode, setConcurrency: setConcurrency, setVerboseLogging: setLogLevel, logLevel: logLevel, delayRenderTimeout: delayRenderTimeout, setDelayRenderTimeout: setDelayRenderTimeout, disallowParallelEncoding: disallowParallelEncoding, setDisallowParallelEncoding: setDisallowParallelEncoding, setDisableWebSecurity: setDisableWebSecurity, setIgnoreCertificateErrors: setIgnoreCertificateErrors, setHeadless: setHeadless, headless: headless, ignoreCertificateErrors: ignoreCertificateErrors, disableWebSecurity: disableWebSecurity, openGlOption: openGlOption, setOpenGlOption: setOpenGlOption, setEnvVariables: setEnvVariables, envVariables: envVariables, offthreadVideoCacheSizeInBytes: offthreadVideoCacheSizeInBytes, setOffthreadVideoCacheSizeInBytes: setOffthreadVideoCacheSizeInBytes, enableMultiProcessOnLinux: multiProcessOnLinux, setChromiumMultiProcessOnLinux: setChromiumMultiProcessOnLinux, codec: codec, userAgent: userAgent, setUserAgent: setUserAgent, setBeep: setBeepOnFinish, beep: beepOnFinish, repro: repro, setRepro: setRepro })) })] })] }));
790
790
  };
791
791
  const RenderModalWithLoader = (props) => {
792
792
  const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
@@ -1,6 +1,6 @@
1
1
  import type { Codec, LogLevel, X264Preset } from '@remotion/renderer';
2
+ import type { UiOpenGlOptions } from '@remotion/studio-shared';
2
3
  import React from 'react';
3
- import type { UiOpenGlOptions } from '../../required-chromium-options';
4
4
  export type RenderType = 'still' | 'video' | 'audio' | 'sequence';
5
5
  export declare const RenderModalAdvanced: React.FC<{
6
6
  renderMode: RenderType;
@@ -9,11 +9,11 @@ const Checkbox_1 = require("../Checkbox");
9
9
  const ComboBox_1 = require("../NewComposition/ComboBox");
10
10
  const RemInput_1 = require("../NewComposition/RemInput");
11
11
  const EnforceAudioTrackSetting_1 = require("./EnforceAudioTrackSetting");
12
+ const human_readable_audio_codecs_1 = require("./human-readable-audio-codecs");
13
+ const layout_1 = require("./layout");
12
14
  const MutedSetting_1 = require("./MutedSetting");
13
15
  const OptionExplainerBubble_1 = require("./OptionExplainerBubble");
14
16
  const RenderModalHr_1 = require("./RenderModalHr");
15
- const human_readable_audio_codecs_1 = require("./human-readable-audio-codecs");
16
- const layout_1 = require("./layout");
17
17
  const container = {
18
18
  flex: 1,
19
19
  };
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RenderModalEnvironmentVariables = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
- const Button_1 = require("../../error-overlay/remotion-overlay/Button");
7
6
  const colors_1 = require("../../helpers/colors");
7
+ const Button_1 = require("../Button");
8
8
  const layout_1 = require("../layout");
9
9
  const EnvInput_1 = require("./EnvInput");
10
10
  const title = {
@@ -8,5 +8,5 @@ type Props = {
8
8
  validationMessage: string | null;
9
9
  renderType: RenderType;
10
10
  };
11
- export declare function RenderModalInput({ existence, inputStyle, outName, onValueChange, validationMessage, renderType, }: Props): JSX.Element;
11
+ export declare function RenderModalInput({ existence, inputStyle, outName, onValueChange, validationMessage, renderType, }: Props): import("react/jsx-runtime").JSX.Element;
12
12
  export {};
@@ -27,10 +27,10 @@ exports.RenderModalJSONPropsEditor = void 0;
27
27
  const jsx_runtime_1 = require("react/jsx-runtime");
28
28
  const react_1 = __importStar(require("react"));
29
29
  const no_react_1 = require("remotion/no-react");
30
- const Button_1 = require("../../error-overlay/remotion-overlay/Button");
31
30
  const colors_1 = require("../../helpers/colors");
32
31
  const document_title_1 = require("../../helpers/document-title");
33
32
  const use_keybinding_1 = require("../../helpers/use-keybinding");
33
+ const Button_1 = require("../Button");
34
34
  const layout_1 = require("../layout");
35
35
  const RemTextarea_1 = require("../NewComposition/RemTextarea");
36
36
  const ValidationMessage_1 = require("../NewComposition/ValidationMessage");
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RenderStatusModal = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
- const Button_1 = require("../../error-overlay/remotion-overlay/Button");
7
- const retry_payload_1 = require("../../preview-server/retry-payload");
6
+ const retry_payload_1 = require("../../helpers/retry-payload");
8
7
  const modals_1 = require("../../state/modals");
8
+ const Button_1 = require("../Button");
9
9
  const layout_1 = require("../layout");
10
10
  const is_menu_item_1 = require("../Menu/is-menu-item");
11
11
  const ModalContainer_1 = require("../ModalContainer");
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import type { z } from 'zod';
3
- export declare const ZodNotInstalled: () => JSX.Element;
4
- export declare const NoSchemaDefined: () => JSX.Element;
5
- export declare const NoDefaultProps: () => JSX.Element;
3
+ export declare const ZodNotInstalled: () => import("react/jsx-runtime").JSX.Element;
4
+ export declare const NoSchemaDefined: () => import("react/jsx-runtime").JSX.Element;
5
+ export declare const NoDefaultProps: () => import("react/jsx-runtime").JSX.Element;
6
6
  export declare const InvalidDefaultProps: React.FC<{
7
7
  zodValidationResult: z.SafeParseReturnType<unknown, unknown>;
8
8
  }>;
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TopLevelZodValue = exports.InvalidSchema = exports.InvalidDefaultProps = exports.NoDefaultProps = exports.NoSchemaDefined = exports.ZodNotInstalled = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const Button_1 = require("../../../error-overlay/remotion-overlay/Button");
6
5
  const colors_1 = require("../../../helpers/colors");
6
+ const Button_1 = require("../../Button");
7
7
  const layout_1 = require("../../layout");
8
8
  const styles_1 = require("../../Menu/styles");
9
9
  const ZodErrorMessages_1 = require("./ZodErrorMessages");
@@ -32,7 +32,7 @@ const errorContainer = {
32
32
  overflowY: 'auto',
33
33
  };
34
34
  const openDocs = () => {
35
- window.open('https://www.remotion.dev/docs/parameterized-rendering#define-a-schema-');
35
+ window.open('https://www.remotion.dev/docs/schemas');
36
36
  };
37
37
  const ZodNotInstalled = () => {
38
38
  return ((0, jsx_runtime_1.jsxs)("div", { style: explainer, children: [(0, jsx_runtime_1.jsxs)("div", { style: errorExplanation, children: ["Install ", (0, jsx_runtime_1.jsx)("code", { style: styles_1.inlineCodeSnippet, children: "zod" }), " as a dependency to interactively control the props of the composition."] }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 2, block: true }), (0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: openDocs, children: "Learn how" })] }));
@@ -1,3 +1,2 @@
1
1
  import type { ZodType } from '../../get-zod-if-possible';
2
- export type EnumPath = (string | number)[];
3
2
  export declare const extractEnumJsonPaths: (schema: Zod.ZodTypeAny, zodRuntime: ZodType, currentPath: (string | number)[]) => (string | number)[][];
@@ -17,5 +17,5 @@ export declare const useLocalState: <T>({ value, schema, setValue, defaultValue,
17
17
  reset: () => void;
18
18
  RevisionContextProvider: ({ children }: {
19
19
  children: React.ReactNode;
20
- }) => JSX.Element;
20
+ }) => import("react/jsx-runtime").JSX.Element;
21
21
  };
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import type { RenderJob } from '../../preview-server/job';
2
+ import type { RenderJob } from '@remotion/studio-shared';
3
3
  export declare const supportsCopyingToClipboard: (job: RenderJob) => boolean;
4
4
  export declare const RenderQueueCopyToClipboard: React.FC<{
5
5
  job: RenderJob;
@@ -1,5 +1,5 @@
1
+ import type { RenderJob } from '@remotion/studio-shared';
1
2
  import React from 'react';
2
- import type { RenderJob } from '../../preview-server/job';
3
3
  export declare const RenderQueueError: React.FC<{
4
4
  job: RenderJob;
5
5
  }>;
@@ -1,5 +1,5 @@
1
+ import type { RenderJob } from '@remotion/studio-shared';
1
2
  import React from 'react';
2
- import type { RenderJob } from '../../preview-server/job';
3
3
  export declare const RenderQueueItem: React.FC<{
4
4
  job: RenderJob;
5
5
  selected: boolean;
@@ -5,6 +5,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const remotion_1 = require("remotion");
7
7
  const colors_1 = require("../../helpers/colors");
8
+ const url_state_1 = require("../../helpers/url-state");
8
9
  const layout_1 = require("../layout");
9
10
  const RenderQueueCopyToClipboard_1 = require("./RenderQueueCopyToClipboard");
10
11
  const RenderQueueError_1 = require("./RenderQueueError");
@@ -76,7 +77,7 @@ const RenderQueueItem = ({ job, selected }) => {
76
77
  }
77
78
  return { type: 'output', path: `/${job.outName}` };
78
79
  });
79
- window.history.pushState({}, 'Studio', `/outputs/${job.outName}`);
80
+ (0, url_state_1.pushUrl)(`/outputs/${job.outName}`);
80
81
  }, [
81
82
  job.outName,
82
83
  job.status,
@@ -1,5 +1,5 @@
1
+ import type { RenderJob } from '@remotion/studio-shared';
1
2
  import React from 'react';
2
- import type { RenderJob } from '../../preview-server/job';
3
3
  export declare const RenderQueueCancelButton: React.FC<{
4
4
  job: RenderJob;
5
5
  }>;
@@ -1,5 +1,5 @@
1
+ import type { RenderJob } from '@remotion/studio-shared';
1
2
  import React from 'react';
2
- import type { RenderJob } from '../../preview-server/job';
3
3
  export declare const RenderQueueItemStatus: React.FC<{
4
4
  job: RenderJob;
5
5
  }>;
@@ -1,5 +1,5 @@
1
+ import type { RenderJob } from '@remotion/studio-shared';
1
2
  import React from 'react';
2
- import type { RenderJob } from '../../preview-server/job';
3
3
  export declare const RenderQueueOpenInFinderItem: React.FC<{
4
4
  job: RenderJob;
5
5
  }>;
@@ -1,5 +1,5 @@
1
+ import type { RenderJob } from '@remotion/studio-shared';
1
2
  import React from 'react';
2
- import type { RenderJob } from '../../preview-server/job';
3
3
  export declare const RenderQueueOutputName: React.FC<{
4
4
  job: RenderJob;
5
5
  }>;
@@ -1,5 +1,5 @@
1
+ import type { RenderJob } from '@remotion/studio-shared';
1
2
  import React from 'react';
2
- import type { RenderJob } from '../../preview-server/job';
3
3
  export declare const RenderQueueProgressMessage: React.FC<{
4
4
  job: RenderJob;
5
5
  }>;
@@ -1,5 +1,5 @@
1
+ import type { RenderJob } from '@remotion/studio-shared';
1
2
  import React from 'react';
2
- import type { RenderJob } from '../../preview-server/job';
3
3
  export declare const RenderQueueRemoveItem: React.FC<{
4
4
  job: RenderJob;
5
5
  }>;
@@ -1,5 +1,5 @@
1
+ import type { RenderJob } from '@remotion/studio-shared';
1
2
  import React from 'react';
2
- import type { RenderJob } from '../../preview-server/job';
3
3
  export declare const RenderQueueRepeatItem: React.FC<{
4
4
  job: RenderJob;
5
5
  }>;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RenderQueueRepeatItem = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
- const retry_payload_1 = require("../../preview-server/retry-payload");
6
+ const retry_payload_1 = require("../../helpers/retry-payload");
7
7
  const modals_1 = require("../../state/modals");
8
8
  const InlineAction_1 = require("../InlineAction");
9
9
  const RenderQueueRepeatItem = ({ job }) => {
@@ -1,7 +1,5 @@
1
1
  import type { AudioCodec, Codec, ColorSpace, LogLevel, PixelFormat, ProResProfile, StillImageFormat, VideoImageFormat, X264Preset } from '@remotion/renderer';
2
- import type { RenderJob } from '../../preview-server/job';
3
- import type { RequiredChromiumOptions } from '../../required-chromium-options';
4
- import type { EnumPath } from '../RenderModal/SchemaEditor/extract-enum-json-paths';
2
+ import type { CanUpdateDefaultPropsResponse, EnumPath, RenderJob, RequiredChromiumOptions } from '@remotion/studio-shared';
5
3
  export declare const addStillRenderJob: ({ compositionId, outName, imageFormat, jpegQuality, frame, scale, logLevel, chromiumOptions, delayRenderTimeout, envVariables, inputProps, offthreadVideoCacheSizeInBytes, multiProcessOnLinux, beepOnFinish, }: {
6
4
  compositionId: string;
7
5
  outName: string;
@@ -88,7 +86,7 @@ export declare const copyToClipboard: ({ outName }: {
88
86
  outName: string;
89
87
  }) => Promise<void>;
90
88
  export declare const removeRenderJob: (job: RenderJob) => Promise<undefined>;
91
- export declare const cancelRenderJob: (job: RenderJob) => Promise<import("../../preview-server/job").CancelRenderResponse>;
92
- export declare const updateAvailable: (signal: AbortSignal) => Promise<import("../../preview-server/job").UpdateAvailableResponse>;
93
- export declare const updateDefaultProps: (compositionId: string, defaultProps: Record<string, unknown>, enumPaths: EnumPath[]) => Promise<import("../../preview-server/job").UpdateDefaultPropsResponse>;
94
- export declare const canUpdateDefaultProps: (compositionId: string) => Promise<import("../../preview-server/job").CanUpdateDefaultPropsResponse>;
89
+ export declare const cancelRenderJob: (job: RenderJob) => Promise<import("@remotion/studio-shared").CancelRenderResponse>;
90
+ export declare const updateAvailable: (signal: AbortSignal) => Promise<import("@remotion/studio-shared").UpdateAvailableResponse>;
91
+ export declare const updateDefaultProps: (compositionId: string, defaultProps: Record<string, unknown>, enumPaths: EnumPath[]) => Promise<import("@remotion/studio-shared").UpdateDefaultPropsResponse>;
92
+ export declare const canUpdateDefaultProps: (compositionId: string, readOnlyStudio: boolean) => Promise<CanUpdateDefaultPropsResponse>;
@@ -175,7 +175,13 @@ const updateDefaultProps = (compositionId, defaultProps, enumPaths) => {
175
175
  });
176
176
  };
177
177
  exports.updateDefaultProps = updateDefaultProps;
178
- const canUpdateDefaultProps = (compositionId) => {
178
+ const canUpdateDefaultProps = (compositionId, readOnlyStudio) => {
179
+ if (readOnlyStudio) {
180
+ return Promise.resolve({
181
+ canUpdate: false,
182
+ reason: 'Read-only studio',
183
+ });
184
+ }
179
185
  return callApi('/api/can-update-default-props', {
180
186
  compositionId,
181
187
  });
@@ -1,8 +1,8 @@
1
+ import type { RenderJob } from '@remotion/studio-shared';
1
2
  import React from 'react';
2
- import type { RenderJob } from '../../preview-server/job';
3
3
  declare global {
4
4
  interface Window {
5
- remotion_initialRenderQueue: RenderJob[];
5
+ remotion_initialRenderQueue: RenderJob[] | null;
6
6
  }
7
7
  }
8
8
  type RenderQueueContextType = {
@@ -31,7 +31,8 @@ exports.RenderQueueContext = react_1.default.createContext({
31
31
  });
32
32
  exports.renderJobsRef = (0, react_1.createRef)();
33
33
  const RenderQueueContextProvider = ({ children }) => {
34
- const [jobs, setJobs] = (0, react_1.useState)(window.remotion_initialRenderQueue);
34
+ var _a;
35
+ const [jobs, setJobs] = (0, react_1.useState)((_a = window.remotion_initialRenderQueue) !== null && _a !== void 0 ? _a : []);
35
36
  const value = (0, react_1.useMemo)(() => {
36
37
  return {
37
38
  jobs,
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ResetZoomButton = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const Button_1 = require("../error-overlay/remotion-overlay/Button");
5
+ const Button_1 = require("./Button");
6
6
  const ResetZoomButton = ({ onClick }) => {
7
7
  return (0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: onClick, children: "Reset zoom" });
8
8
  };
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- export declare const DEFAULT_TIMELINE_TRACKS = 90;
3
2
  export declare const MAX_TIMELINE_TRACKS: number;
4
3
  export declare const MAX_TIMELINE_TRACKS_NOTICE_HEIGHT = 24;
5
4
  export declare const MaxTimelineTracksReached: React.FC;
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MaxTimelineTracksReached = exports.MAX_TIMELINE_TRACKS_NOTICE_HEIGHT = exports.MAX_TIMELINE_TRACKS = exports.DEFAULT_TIMELINE_TRACKS = void 0;
3
+ exports.MaxTimelineTracksReached = exports.MAX_TIMELINE_TRACKS_NOTICE_HEIGHT = exports.MAX_TIMELINE_TRACKS = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const studio_shared_1 = require("@remotion/studio-shared");
5
6
  const timeline_layout_1 = require("../../helpers/timeline-layout");
6
- exports.DEFAULT_TIMELINE_TRACKS = 90;
7
7
  exports.MAX_TIMELINE_TRACKS = typeof process.env.MAX_TIMELINE_TRACKS === 'undefined'
8
- ? exports.DEFAULT_TIMELINE_TRACKS
8
+ ? studio_shared_1.DEFAULT_TIMELINE_TRACKS
9
9
  : Number(process.env.MAX_TIMELINE_TRACKS);
10
10
  exports.MAX_TIMELINE_TRACKS_NOTICE_HEIGHT = 24;
11
11
  const container = {
@@ -2,11 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TimelineStack = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const studio_shared_1 = require("@remotion/studio-shared");
5
6
  const react_1 = require("react");
6
7
  const source_map_1 = require("source-map");
7
- const source_map_endpoint_1 = require("../../../error-overlay/react-overlay/utils/source-map-endpoint");
8
8
  const colors_1 = require("../../../helpers/colors");
9
9
  const open_in_editor_1 = require("../../../helpers/open-in-editor");
10
+ const url_state_1 = require("../../../helpers/url-state");
10
11
  const InitialCompositionLoader_1 = require("../../InitialCompositionLoader");
11
12
  const layout_1 = require("../../layout");
12
13
  const NotificationCenter_1 = require("../../Notifications/NotificationCenter");
@@ -15,7 +16,7 @@ const get_stack_1 = require("./get-stack");
15
16
  const source_attribution_1 = require("./source-attribution");
16
17
  // @ts-expect-error
17
18
  source_map_1.SourceMapConsumer.initialize({
18
- 'lib/mappings.wasm': source_map_endpoint_1.SOURCE_MAP_ENDPOINT,
19
+ 'lib/mappings.wasm': studio_shared_1.SOURCE_MAP_ENDPOINT,
19
20
  });
20
21
  const TimelineStack = ({ isCompact, sequence }) => {
21
22
  const [originalLocation, setOriginalLocation] = (0, react_1.useState)(null);
@@ -36,7 +37,7 @@ const TimelineStack = ({ isCompact, sequence }) => {
36
37
  }, [sequence]);
37
38
  const navigateToAsset = (0, react_1.useCallback)((asset) => {
38
39
  selectAsset(asset);
39
- window.history.pushState({}, 'Studio', `/assets/${asset}`);
40
+ (0, url_state_1.pushUrl)(`/assets/${asset}`);
40
41
  }, [selectAsset]);
41
42
  const openEditor = (0, react_1.useCallback)(async (location) => {
42
43
  if (!window.remotion_editorName) {
@@ -100,16 +101,18 @@ const TimelineStack = ({ isCompact, sequence }) => {
100
101
  const onTitlePointerLeave = (0, react_1.useCallback)(() => {
101
102
  setTitleHovered(false);
102
103
  }, []);
104
+ const hoverable = (originalLocation && isCompact) ||
105
+ (assetPath && window.remotion_editorName);
103
106
  const style = (0, react_1.useMemo)(() => {
104
107
  return {
105
108
  fontSize: 12,
106
109
  color: opening
107
110
  ? colors_1.VERY_LIGHT_TEXT
108
- : stackHovered
111
+ : stackHovered && hoverable
109
112
  ? colors_1.LIGHT_TEXT
110
113
  : colors_1.VERY_LIGHT_TEXT,
111
114
  marginLeft: 10,
112
- cursor: 'pointer',
115
+ cursor: hoverable ? 'pointer' : undefined,
113
116
  display: 'flex',
114
117
  flexDirection: 'row',
115
118
  alignItems: 'center',
@@ -118,9 +121,7 @@ const TimelineStack = ({ isCompact, sequence }) => {
118
121
  overflow: 'hidden',
119
122
  flexShrink: 100000,
120
123
  };
121
- }, [stackHovered, opening]);
122
- const hoverable = (originalLocation && isCompact) ||
123
- (assetPath && window.remotion_editorName);
124
+ }, [opening, stackHovered, hoverable]);
124
125
  const textStyle = (0, react_1.useMemo)(() => {
125
126
  const hoverEffect = titleHovered && hoverable;
126
127
  return {
@@ -1,3 +1,5 @@
1
1
  import React from 'react';
2
2
  export declare const useResponsiveSidebarStatus: () => 'collapsed' | 'expanded';
3
- export declare const TopPanel: React.FC;
3
+ export declare const TopPanel: React.FC<{
4
+ readOnlyStudio: boolean;
5
+ }>;
@@ -43,7 +43,7 @@ const useResponsiveSidebarStatus = () => {
43
43
  return actualStateLeft;
44
44
  };
45
45
  exports.useResponsiveSidebarStatus = useResponsiveSidebarStatus;
46
- const TopPanel = () => {
46
+ const TopPanel = ({ readOnlyStudio }) => {
47
47
  const { setSidebarCollapsedState, sidebarCollapsedStateRight } = (0, react_1.useContext)(sidebar_1.SidebarContext);
48
48
  const rulersAreVisible = (0, use_is_ruler_visible_1.useIsRulerVisible)();
49
49
  const actualStateLeft = (0, exports.useResponsiveSidebarStatus)();
@@ -65,6 +65,6 @@ const TopPanel = () => {
65
65
  const onCollapseRight = (0, react_1.useCallback)(() => {
66
66
  setSidebarCollapsedState({ left: null, right: 'collapsed' });
67
67
  }, [setSidebarCollapsedState]);
68
- return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)("div", { style: row, children: (0, jsx_runtime_1.jsxs)(SplitterContainer_1.SplitterContainer, { minFlex: 0.15, maxFlex: 0.4, defaultFlex: 0.2, id: "sidebar-to-preview", orientation: "vertical", children: [actualStateLeft === 'expanded' ? ((0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "flexer", children: (0, jsx_runtime_1.jsx)(ExplorerPanel_1.ExplorerPanel, {}) })) : null, actualStateLeft === 'expanded' ? ((0, jsx_runtime_1.jsx)(SplitterHandle_1.SplitterHandle, { allowToCollapse: "left", onCollapse: onCollapseLeft })) : null, (0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "anti-flexer", children: (0, jsx_runtime_1.jsxs)(SplitterContainer_1.SplitterContainer, { minFlex: 0.5, maxFlex: 0.8, defaultFlex: 0.7, id: "canvas-to-right-sidebar", orientation: "vertical", children: [(0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "flexer", children: (0, jsx_runtime_1.jsx)("div", { style: canvasContainerStyle, children: (0, jsx_runtime_1.jsx)(CanvasOrLoading_1.CanvasOrLoading, {}) }) }), actualStateRight === 'expanded' ? ((0, jsx_runtime_1.jsx)(SplitterHandle_1.SplitterHandle, { allowToCollapse: "right", onCollapse: onCollapseRight })) : null, actualStateRight === 'expanded' ? ((0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "anti-flexer", children: (0, jsx_runtime_1.jsx)(OptionsPanel_1.OptionsPanel, {}) })) : null] }) })] }) }), (0, jsx_runtime_1.jsx)(PreviewToolbar_1.PreviewToolbar, {}), (0, jsx_runtime_1.jsx)(CurrentCompositionSideEffects_1.CurrentCompositionKeybindings, {}), (0, jsx_runtime_1.jsx)(CurrentCompositionSideEffects_1.TitleUpdater, {})] }));
68
+ return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)("div", { style: row, children: (0, jsx_runtime_1.jsxs)(SplitterContainer_1.SplitterContainer, { minFlex: 0.15, maxFlex: 0.4, defaultFlex: 0.2, id: "sidebar-to-preview", orientation: "vertical", children: [actualStateLeft === 'expanded' ? ((0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "flexer", children: (0, jsx_runtime_1.jsx)(ExplorerPanel_1.ExplorerPanel, {}) })) : null, actualStateLeft === 'expanded' ? ((0, jsx_runtime_1.jsx)(SplitterHandle_1.SplitterHandle, { allowToCollapse: "left", onCollapse: onCollapseLeft })) : null, (0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "anti-flexer", children: (0, jsx_runtime_1.jsxs)(SplitterContainer_1.SplitterContainer, { minFlex: 0.5, maxFlex: 0.8, defaultFlex: 0.7, id: "canvas-to-right-sidebar", orientation: "vertical", children: [(0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "flexer", children: (0, jsx_runtime_1.jsx)("div", { style: canvasContainerStyle, children: (0, jsx_runtime_1.jsx)(CanvasOrLoading_1.CanvasOrLoading, {}) }) }), actualStateRight === 'expanded' ? ((0, jsx_runtime_1.jsx)(SplitterHandle_1.SplitterHandle, { allowToCollapse: "right", onCollapse: onCollapseRight })) : null, actualStateRight === 'expanded' ? ((0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "anti-flexer", children: (0, jsx_runtime_1.jsx)(OptionsPanel_1.OptionsPanel, { readOnlyStudio: readOnlyStudio }) })) : null] }) })] }) }), (0, jsx_runtime_1.jsx)(PreviewToolbar_1.PreviewToolbar, { readOnlyStudio: readOnlyStudio }), (0, jsx_runtime_1.jsx)(CurrentCompositionSideEffects_1.CurrentCompositionKeybindings, { readOnlyStudio: readOnlyStudio }), (0, jsx_runtime_1.jsx)(CurrentCompositionSideEffects_1.TitleUpdater, {})] }));
69
69
  };
70
70
  exports.TopPanel = TopPanel;
@@ -1,5 +1,4 @@
1
- /// <reference types="react" />
2
- import type { PackageManager } from '../preview-server/get-package-manager';
1
+ import type { PackageManager } from '@remotion/studio-shared';
3
2
  export type UpdateInfo = {
4
3
  currentVersion: string;
5
4
  latestVersion: string;
@@ -13,4 +12,4 @@ export type Bug = {
13
12
  link: string;
14
13
  versions: string[];
15
14
  };
16
- export declare const UpdateCheck: () => JSX.Element | null;
15
+ export declare const UpdateCheck: () => import("react/jsx-runtime").JSX.Element | null;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ZoomPersistor = exports.deriveCanvasContentFromUrl = exports.getZoomFromLocalStorage = void 0;
4
4
  const react_1 = require("react");
5
5
  const remotion_1 = require("remotion");
6
+ const url_state_1 = require("../helpers/url-state");
6
7
  const timeline_zoom_1 = require("../state/timeline-zoom");
7
8
  const makeKey = () => {
8
9
  return `remotion.zoom-map`;
@@ -16,18 +17,18 @@ const getZoomFromLocalStorage = () => {
16
17
  };
17
18
  exports.getZoomFromLocalStorage = getZoomFromLocalStorage;
18
19
  const deriveCanvasContentFromUrl = () => {
19
- const substrings = window.location.pathname.split('/').filter(Boolean);
20
+ const substrings = (0, url_state_1.getPathname)().split('/').filter(Boolean);
20
21
  const lastPart = substrings[substrings.length - 1];
21
22
  if (substrings[0] === 'assets') {
22
23
  return {
23
24
  type: 'asset',
24
- asset: decodeURIComponent(window.location.pathname.substring('/assets/'.length)),
25
+ asset: decodeURIComponent((0, url_state_1.getPathname)().substring('/assets/'.length)),
25
26
  };
26
27
  }
27
28
  if (substrings[0] === 'outputs') {
28
29
  return {
29
30
  type: 'output',
30
- path: decodeURIComponent(window.location.pathname.substring('/outputs/'.length)),
31
+ path: decodeURIComponent((0, url_state_1.getPathname)().substring('/outputs/'.length)),
31
32
  };
32
33
  }
33
34
  if (lastPart) {