@remotion/studio 4.0.422 → 4.0.424

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 (369) hide show
  1. package/dist/FastRefreshProvider.js +1 -1
  2. package/dist/ResolveCompositionConfigInStudio.js +1 -1
  3. package/dist/Studio.js +6 -4
  4. package/dist/api/create-composition.js +2 -2
  5. package/dist/api/focus-default-props-path.d.ts +1 -1
  6. package/dist/api/get-zod-schema-from-primitive.d.ts +3 -2
  7. package/dist/api/get-zod-schema-from-primitive.js +3 -4
  8. package/dist/api/helpers/calc-new-props.d.ts +2 -2
  9. package/dist/api/play.d.ts +1 -1
  10. package/dist/api/save-render-output.d.ts +7 -0
  11. package/dist/api/save-render-output.js +45 -0
  12. package/dist/api/toggle.d.ts +1 -1
  13. package/dist/components/AskAiModal.js +3 -1
  14. package/dist/components/AssetSelector.js +21 -58
  15. package/dist/components/AssetSelectorItem.js +15 -9
  16. package/dist/components/AudioWaveform.js +5 -4
  17. package/dist/components/AudioWaveformBar.js +1 -1
  18. package/dist/components/Button.js +1 -1
  19. package/dist/components/Canvas.js +2 -1
  20. package/dist/components/CanvasIfSizeIsAvailable.js +1 -1
  21. package/dist/components/CanvasOrLoading.js +12 -6
  22. package/dist/components/CheckboardToggle.js +1 -1
  23. package/dist/components/Checkbox.js +3 -1
  24. package/dist/components/CheckerboardProvider.js +1 -1
  25. package/dist/components/CompSelectorRef.js +1 -1
  26. package/dist/components/CompositionContextButton.js +2 -2
  27. package/dist/components/CompositionSelector.js +4 -3
  28. package/dist/components/CompositionSelectorItem.js +6 -3
  29. package/dist/components/ContextMenu.js +3 -2
  30. package/dist/components/ControlButton.d.ts +1 -1
  31. package/dist/components/ControlButton.js +1 -1
  32. package/dist/components/CopyButton.js +3 -2
  33. package/dist/components/CurrentAsset.d.ts +3 -0
  34. package/dist/components/CurrentAsset.js +113 -0
  35. package/dist/components/CurrentComposition.js +3 -2
  36. package/dist/components/Editor.js +6 -1
  37. package/dist/components/EditorContent.js +6 -1
  38. package/dist/components/EditorContexts.js +3 -1
  39. package/dist/components/EditorGuides/Guide.js +1 -1
  40. package/dist/components/EditorGuides/index.js +2 -2
  41. package/dist/components/EditorRuler/Ruler.js +1 -1
  42. package/dist/components/EditorRuler/index.js +3 -1
  43. package/dist/components/ExplorerPanel.js +4 -1
  44. package/dist/components/FilePreview.js +8 -6
  45. package/dist/components/FpsCounter.js +1 -1
  46. package/dist/components/FullscreenToggle.js +1 -1
  47. package/dist/components/GlobalPropsEditorUpdateButton.js +3 -1
  48. package/dist/components/InitialCompositionLoader.d.ts +1 -2
  49. package/dist/components/InitialCompositionLoader.js +3 -3
  50. package/dist/components/InlineAction.js +1 -1
  51. package/dist/components/InlineDropdown.js +3 -2
  52. package/dist/components/InstallPackage.js +19 -9
  53. package/dist/components/InstallablePackage.js +5 -3
  54. package/dist/components/JSONViewer.js +1 -1
  55. package/dist/components/KeyboardShortcutsExplainer.js +91 -1
  56. package/dist/components/KnownBugs.js +4 -2
  57. package/dist/components/LoopToggle.js +1 -1
  58. package/dist/components/MediaVolumeProvider.js +1 -1
  59. package/dist/components/Menu/MenuDivider.js +1 -1
  60. package/dist/components/Menu/MenuItem.js +3 -2
  61. package/dist/components/Menu/MenuSubItem.js +4 -2
  62. package/dist/components/Menu/SubMenu.js +1 -1
  63. package/dist/components/MenuBuildIndicator.js +1 -1
  64. package/dist/components/MenuToolbar.js +5 -3
  65. package/dist/components/MobilePanel.d.ts +1 -1
  66. package/dist/components/MobilePanel.js +2 -1
  67. package/dist/components/ModalButton.js +1 -1
  68. package/dist/components/ModalContainer.js +1 -1
  69. package/dist/components/ModalFooter.js +1 -1
  70. package/dist/components/ModalHeader.js +3 -1
  71. package/dist/components/Modals.js +2 -2
  72. package/dist/components/ModalsProvider.js +1 -1
  73. package/dist/components/MuteToggle.js +1 -1
  74. package/dist/components/NewComposition/CancelButton.js +1 -1
  75. package/dist/components/NewComposition/CodemodFooter.js +5 -2
  76. package/dist/components/NewComposition/ComboBox.js +6 -2
  77. package/dist/components/NewComposition/DeleteComposition.js +10 -2
  78. package/dist/components/NewComposition/DiffPreview.js +5 -3
  79. package/dist/components/NewComposition/DismissableModal.js +1 -1
  80. package/dist/components/NewComposition/DuplicateComposition.js +28 -3
  81. package/dist/components/NewComposition/InputDragger.d.ts +1 -1
  82. package/dist/components/NewComposition/InputDragger.js +2 -2
  83. package/dist/components/NewComposition/MenuContent.js +3 -3
  84. package/dist/components/NewComposition/NewCompDuration.js +7 -2
  85. package/dist/components/NewComposition/RemInput.d.ts +2 -2
  86. package/dist/components/NewComposition/RemInput.js +2 -2
  87. package/dist/components/NewComposition/RemInputTypeColor.js +1 -1
  88. package/dist/components/NewComposition/RemTextarea.js +1 -1
  89. package/dist/components/NewComposition/RenameComposition.js +11 -2
  90. package/dist/components/NewComposition/ValidationMessage.js +4 -2
  91. package/dist/components/NoRegisterRoot.js +4 -1
  92. package/dist/components/Notifications/ColorDot.js +1 -1
  93. package/dist/components/Notifications/Notification.js +1 -1
  94. package/dist/components/Notifications/NotificationCenter.js +2 -2
  95. package/dist/components/Notifications/ServerDisconnected.js +2 -1
  96. package/dist/components/OpenEditorButton.js +2 -2
  97. package/dist/components/OptionsPanel.js +7 -4
  98. package/dist/components/OverrideInputProps.js +7 -2
  99. package/dist/components/PlayPause.js +3 -1
  100. package/dist/components/PlaybackRateSelector.js +2 -2
  101. package/dist/components/Preview.js +8 -8
  102. package/dist/components/PreviewToolbar.js +11 -1
  103. package/dist/components/QuickSwitcher/AlgoliaCredit.js +1 -1
  104. package/dist/components/QuickSwitcher/NoResults.js +1 -1
  105. package/dist/components/QuickSwitcher/QuickSwitcher.js +1 -1
  106. package/dist/components/QuickSwitcher/QuickSwitcherContent.js +12 -3
  107. package/dist/components/QuickSwitcher/QuickSwitcherResult.js +6 -3
  108. package/dist/components/RefreshCompositionOverlay.js +1 -1
  109. package/dist/components/RenderButton.js +26 -9
  110. package/dist/components/RenderModal/CliCopyButton.js +3 -3
  111. package/dist/components/RenderModal/ClientRenderProgress.js +18 -13
  112. package/dist/components/RenderModal/CrfSetting.d.ts +1 -2
  113. package/dist/components/RenderModal/CrfSetting.js +1 -1
  114. package/dist/components/RenderModal/DataEditor.js +15 -8
  115. package/dist/components/RenderModal/EnforceAudioTrackSetting.js +5 -1
  116. package/dist/components/RenderModal/EnvInput.js +4 -1
  117. package/dist/components/RenderModal/FrameRangeSetting.js +5 -1
  118. package/dist/components/RenderModal/GuiRenderStatus.js +15 -10
  119. package/dist/components/RenderModal/InfoBubble.js +3 -2
  120. package/dist/components/RenderModal/InfoTooltip.js +3 -2
  121. package/dist/components/RenderModal/InlineEyeIcon.js +2 -2
  122. package/dist/components/RenderModal/InlineRemoveButton.js +2 -2
  123. package/dist/components/RenderModal/JpegQualitySetting.js +1 -1
  124. package/dist/components/RenderModal/MultiRangeSlider.js +3 -1
  125. package/dist/components/RenderModal/MutedSetting.js +5 -1
  126. package/dist/components/RenderModal/NumberOfLoopsSetting.js +3 -1
  127. package/dist/components/RenderModal/NumberSetting.js +6 -2
  128. package/dist/components/RenderModal/OptionExplainer.js +14 -1
  129. package/dist/components/RenderModal/OptionExplainerBubble.js +1 -1
  130. package/dist/components/RenderModal/RenderModalAdvanced.js +66 -7
  131. package/dist/components/RenderModal/RenderModalAudio.js +21 -4
  132. package/dist/components/RenderModal/RenderModalBasic.js +18 -3
  133. package/dist/components/RenderModal/RenderModalEnvironmentVariables.js +5 -3
  134. package/dist/components/RenderModal/RenderModalGif.js +6 -1
  135. package/dist/components/RenderModal/RenderModalHr.js +1 -1
  136. package/dist/components/RenderModal/RenderModalJSONPropsEditor.js +5 -2
  137. package/dist/components/RenderModal/RenderModalOutputName.js +8 -1
  138. package/dist/components/RenderModal/RenderModalPicture.js +30 -3
  139. package/dist/components/RenderModal/RenderStatusModal.js +12 -2
  140. package/dist/components/RenderModal/ResolveCompositionBeforeModal.js +6 -3
  141. package/dist/components/RenderModal/ScaleSetting.js +3 -2
  142. package/dist/components/RenderModal/SchemaEditor/Fieldset.js +2 -2
  143. package/dist/components/RenderModal/SchemaEditor/SchemaEditor.js +4 -4
  144. package/dist/components/RenderModal/SchemaEditor/SchemaErrorMessages.js +31 -6
  145. package/dist/components/RenderModal/SchemaEditor/SchemaLabel.js +3 -3
  146. package/dist/components/RenderModal/SchemaEditor/SchemaResetButton.js +2 -2
  147. package/dist/components/RenderModal/SchemaEditor/SchemaSaveButton.js +2 -2
  148. package/dist/components/RenderModal/SchemaEditor/SchemaSeparationLine.js +9 -5
  149. package/dist/components/RenderModal/SchemaEditor/SchemaVerticalGuide.js +3 -1
  150. package/dist/components/RenderModal/SchemaEditor/ZodArrayEditor.js +9 -5
  151. package/dist/components/RenderModal/SchemaEditor/ZodArrayItemEditor.js +1 -1
  152. package/dist/components/RenderModal/SchemaEditor/ZodBooleanEditor.js +3 -1
  153. package/dist/components/RenderModal/SchemaEditor/ZodColorEditor.js +8 -2
  154. package/dist/components/RenderModal/SchemaEditor/ZodDateEditor.js +5 -1
  155. package/dist/components/RenderModal/SchemaEditor/ZodDefaultEditor.js +1 -1
  156. package/dist/components/RenderModal/SchemaEditor/ZodDiscriminatedUnionEditor.js +6 -4
  157. package/dist/components/RenderModal/SchemaEditor/ZodEffectEditor.js +3 -1
  158. package/dist/components/RenderModal/SchemaEditor/ZodEnumEditor.js +4 -2
  159. package/dist/components/RenderModal/SchemaEditor/ZodErrorMessages.js +6 -4
  160. package/dist/components/RenderModal/SchemaEditor/ZodFieldValidation.js +8 -2
  161. package/dist/components/RenderModal/SchemaEditor/ZodMatrixEditor.js +8 -6
  162. package/dist/components/RenderModal/SchemaEditor/ZodNonEditableValue.js +3 -1
  163. package/dist/components/RenderModal/SchemaEditor/ZodNullableEditor.js +1 -1
  164. package/dist/components/RenderModal/SchemaEditor/ZodNumberEditor.js +5 -1
  165. package/dist/components/RenderModal/SchemaEditor/ZodObjectEditor.js +6 -5
  166. package/dist/components/RenderModal/SchemaEditor/ZodOptionalEditor.js +1 -1
  167. package/dist/components/RenderModal/SchemaEditor/ZodOrNullishEditor.js +4 -1
  168. package/dist/components/RenderModal/SchemaEditor/ZodStaticFileEditor.js +8 -5
  169. package/dist/components/RenderModal/SchemaEditor/ZodStringEditor.js +5 -1
  170. package/dist/components/RenderModal/SchemaEditor/ZodSwitch.js +24 -24
  171. package/dist/components/RenderModal/SchemaEditor/ZodTextareaEditor.js +5 -1
  172. package/dist/components/RenderModal/SchemaEditor/ZodTupleEditor.js +9 -5
  173. package/dist/components/RenderModal/SchemaEditor/ZodTupleItemEditor.js +1 -1
  174. package/dist/components/RenderModal/SchemaEditor/ZodUnionEditor.js +5 -5
  175. package/dist/components/RenderModal/SchemaEditor/create-zod-values.d.ts +2 -2
  176. package/dist/components/RenderModal/SchemaEditor/extract-enum-json-paths.d.ts +4 -4
  177. package/dist/components/RenderModal/SchemaEditor/local-state.js +1 -1
  178. package/dist/components/RenderModal/SeparateAudioOption.js +7 -2
  179. package/dist/components/RenderModal/ServerRenderModal.js +28 -6
  180. package/dist/components/RenderModal/WarningIndicatorButton.js +4 -2
  181. package/dist/components/RenderModal/WebRenderModal.js +35 -7
  182. package/dist/components/RenderModal/WebRenderModalAdvanced.js +11 -4
  183. package/dist/components/RenderModal/WebRenderModalAudio.js +12 -2
  184. package/dist/components/RenderModal/WebRenderModalBasic.js +23 -5
  185. package/dist/components/RenderModal/WebRenderModalLicense.js +24 -2
  186. package/dist/components/RenderModal/WebRenderModalLicenseKeyDetails.js +12 -1
  187. package/dist/components/RenderModal/WebRenderModalPicture.js +8 -1
  188. package/dist/components/RenderModal/WebRendererExperimentalBadge.js +3 -1
  189. package/dist/components/RenderModal/get-default-codecs.d.ts +7 -8
  190. package/dist/components/RenderModal/human-readable-audio-codecs.d.ts +1 -2
  191. package/dist/components/RenderModal/human-readable-codec.d.ts +1 -2
  192. package/dist/components/RenderModal/human-readable-loglevel.d.ts +1 -2
  193. package/dist/components/RenderModal/out-name-checker.d.ts +4 -5
  194. package/dist/components/RenderModal/quality-options.js +1 -1
  195. package/dist/components/RenderPreview.js +4 -4
  196. package/dist/components/RenderQueue/CircularProgress.js +1 -1
  197. package/dist/components/RenderQueue/ClientRenderQueueProcessor.d.ts +1 -0
  198. package/dist/components/RenderQueue/ClientRenderQueueProcessor.js +34 -5
  199. package/dist/components/RenderQueue/RenderQueueCancelledMessage.js +1 -1
  200. package/dist/components/RenderQueue/RenderQueueCopyToClipboard.js +2 -2
  201. package/dist/components/RenderQueue/RenderQueueDownloadItem.d.ts +5 -0
  202. package/dist/components/RenderQueue/RenderQueueDownloadItem.js +35 -0
  203. package/dist/components/RenderQueue/RenderQueueError.js +1 -1
  204. package/dist/components/RenderQueue/RenderQueueItem.js +51 -16
  205. package/dist/components/RenderQueue/RenderQueueItemCancelButton.js +2 -2
  206. package/dist/components/RenderQueue/RenderQueueItemStatus.js +10 -7
  207. package/dist/components/RenderQueue/RenderQueueOpenInFolder.d.ts +2 -2
  208. package/dist/components/RenderQueue/RenderQueueOpenInFolder.js +2 -2
  209. package/dist/components/RenderQueue/RenderQueueOutputName.js +2 -9
  210. package/dist/components/RenderQueue/RenderQueueProgressMessage.js +4 -2
  211. package/dist/components/RenderQueue/RenderQueueRemoveItem.js +6 -4
  212. package/dist/components/RenderQueue/RenderQueueRepeat.js +2 -2
  213. package/dist/components/RenderQueue/RenderQueueSavingMessage.d.ts +2 -0
  214. package/dist/components/RenderQueue/RenderQueueSavingMessage.js +13 -0
  215. package/dist/components/RenderQueue/SuccessIcon.js +1 -1
  216. package/dist/components/RenderQueue/actions.d.ts +21 -24
  217. package/dist/components/RenderQueue/client-side-render-types.d.ts +11 -9
  218. package/dist/components/RenderQueue/client-side-render-types.js +5 -0
  219. package/dist/components/RenderQueue/context.d.ts +6 -3
  220. package/dist/components/RenderQueue/context.js +39 -8
  221. package/dist/components/RenderQueue/index.js +11 -19
  222. package/dist/components/RendersTab.js +3 -1
  223. package/dist/components/ResetZoomButton.js +1 -1
  224. package/dist/components/RunningCalculateMetadata.js +5 -1
  225. package/dist/components/SegmentedControl.js +3 -3
  226. package/dist/components/SetTimelineInOutProvider.js +1 -1
  227. package/dist/components/ShowGuidesProvider.js +1 -1
  228. package/dist/components/ShowRulersProvider.js +1 -1
  229. package/dist/components/SidebarCollapserControls.js +5 -3
  230. package/dist/components/SidebarRenderButton.js +2 -2
  231. package/dist/components/SizeSelector.js +2 -2
  232. package/dist/components/Spinner.js +6 -4
  233. package/dist/components/Splitter/SplitterContainer.js +1 -1
  234. package/dist/components/Splitter/SplitterElement.js +3 -1
  235. package/dist/components/Splitter/SplitterHandle.js +1 -1
  236. package/dist/components/StaticFilePreview.js +5 -5
  237. package/dist/components/Tabs/index.js +2 -2
  238. package/dist/components/Tabs/vertical.js +1 -1
  239. package/dist/components/TextViewer.js +1 -1
  240. package/dist/components/TimeValue.js +3 -1
  241. package/dist/components/Timeline/LoopedIndicator.js +4 -2
  242. package/dist/components/Timeline/LoopedTimelineIndicators.js +5 -4
  243. package/dist/components/Timeline/MaxTimelineTracks.js +1 -1
  244. package/dist/components/Timeline/Timeline.js +5 -1
  245. package/dist/components/Timeline/TimelineCollapseToggle.js +2 -2
  246. package/dist/components/Timeline/TimelineDragHandler.js +5 -3
  247. package/dist/components/Timeline/TimelineInOutPointer.js +2 -2
  248. package/dist/components/Timeline/TimelineInOutPointerHandle.js +2 -2
  249. package/dist/components/Timeline/TimelineLayerEye.js +3 -3
  250. package/dist/components/Timeline/TimelineList.js +3 -2
  251. package/dist/components/Timeline/TimelineListItem.js +3 -1
  252. package/dist/components/Timeline/TimelineScrollable.js +1 -1
  253. package/dist/components/Timeline/TimelineSequence.js +6 -6
  254. package/dist/components/Timeline/TimelineSequenceFrame.js +1 -1
  255. package/dist/components/Timeline/TimelineSlider.d.ts +1 -1
  256. package/dist/components/Timeline/TimelineSlider.js +6 -3
  257. package/dist/components/Timeline/TimelineSliderHandle.js +1 -1
  258. package/dist/components/Timeline/TimelineStack/index.js +5 -2
  259. package/dist/components/Timeline/TimelineTimeIndicators.js +5 -5
  260. package/dist/components/Timeline/TimelineTracks.js +6 -4
  261. package/dist/components/Timeline/TimelineVideoInfo.js +1 -1
  262. package/dist/components/Timeline/TimelineWidthProvider.js +1 -1
  263. package/dist/components/Timeline/TimelineZoomControls.js +3 -1
  264. package/dist/components/Timeline/timeline-scroll-logic.d.ts +1 -1
  265. package/dist/components/Timeline/timeline-scroll-logic.js +12 -8
  266. package/dist/components/TimelineInOutToggle.js +11 -7
  267. package/dist/components/TopPanel.js +5 -1
  268. package/dist/components/UpdateCheck.js +2 -2
  269. package/dist/components/UpdateModal/OpenIssueButton.js +2 -2
  270. package/dist/components/UpdateModal/UpdateModal.js +8 -1
  271. package/dist/components/VisualControls/ClickableFileName.js +1 -1
  272. package/dist/components/VisualControls/VisualControlHandle.js +3 -1
  273. package/dist/components/VisualControls/VisualControlHandleHeader.js +1 -1
  274. package/dist/components/VisualControls/VisualControlsContent.js +3 -2
  275. package/dist/components/ZoomGesturesProvider.js +1 -1
  276. package/dist/components/call-api.d.ts +1 -1
  277. package/dist/components/get-zod-if-possible.d.ts +3 -3
  278. package/dist/components/get-zod-if-possible.js +9 -9
  279. package/dist/components/layout.js +4 -4
  280. package/dist/components/use-static-files.d.ts +6 -0
  281. package/dist/components/use-static-files.js +63 -0
  282. package/dist/error-overlay/react-overlay/utils/parser.d.ts +1 -1
  283. package/dist/error-overlay/remotion-overlay/AskOnDiscord.js +1 -1
  284. package/dist/error-overlay/remotion-overlay/CalculateMetadataErrorExplainer.js +2 -1
  285. package/dist/error-overlay/remotion-overlay/CodeFrame.js +6 -4
  286. package/dist/error-overlay/remotion-overlay/CompositionIdListItem.js +1 -1
  287. package/dist/error-overlay/remotion-overlay/CompositionIdsDropdown.js +8 -3
  288. package/dist/error-overlay/remotion-overlay/DismissButton.js +1 -1
  289. package/dist/error-overlay/remotion-overlay/ErrorDisplay.js +19 -4
  290. package/dist/error-overlay/remotion-overlay/ErrorLoader.js +8 -4
  291. package/dist/error-overlay/remotion-overlay/ErrorMessage.js +2 -1
  292. package/dist/error-overlay/remotion-overlay/ErrorTitle.js +7 -1
  293. package/dist/error-overlay/remotion-overlay/HelpLink.js +1 -1
  294. package/dist/error-overlay/remotion-overlay/OpenInEditor.js +1 -1
  295. package/dist/error-overlay/remotion-overlay/Overlay.js +2 -2
  296. package/dist/error-overlay/remotion-overlay/Retry.js +1 -1
  297. package/dist/error-overlay/remotion-overlay/SearchGitHubIssues.js +1 -1
  298. package/dist/error-overlay/remotion-overlay/ShortcutHint.js +2 -1
  299. package/dist/error-overlay/remotion-overlay/StackFrame.js +6 -2
  300. package/dist/error-overlay/remotion-overlay/Symbolicating.js +3 -1
  301. package/dist/error-overlay/remotion-overlay/carets.d.ts +1 -1
  302. package/dist/error-overlay/remotion-overlay/carets.js +2 -2
  303. package/dist/error-overlay/remotion-overlay/index.js +2 -2
  304. package/dist/esm/{chunk-4153e552.js → chunk-3g77e2p9.js} +4722 -19219
  305. package/dist/esm/internals.mjs +4722 -19219
  306. package/dist/esm/previewEntry.mjs +4747 -19244
  307. package/dist/esm/renderEntry.mjs +1 -1
  308. package/dist/helpers/client-id.js +5 -2
  309. package/dist/helpers/color-math.d.ts +1 -2
  310. package/dist/helpers/create-folder-tree.d.ts +2 -2
  311. package/dist/helpers/document-title.js +2 -2
  312. package/dist/helpers/editor-ruler.d.ts +3 -3
  313. package/dist/helpers/extract-frames.d.ts +1 -1
  314. package/dist/helpers/pick-color.js +5 -1
  315. package/dist/helpers/presets-labels.d.ts +1 -2
  316. package/dist/helpers/prores-labels.d.ts +1 -2
  317. package/dist/helpers/render-modal-sections.d.ts +1 -2
  318. package/dist/helpers/retry-payload.d.ts +2 -2
  319. package/dist/helpers/timeline-layout.d.ts +1 -1
  320. package/dist/helpers/use-asset-drag-events.d.ts +1 -1
  321. package/dist/helpers/use-menu-structure.d.ts +1 -1
  322. package/dist/helpers/use-menu-structure.js +11 -11
  323. package/dist/helpers/use-studio-canvas-dimensions.d.ts +1 -1
  324. package/dist/helpers/validate-new-comp-data.d.ts +2 -3
  325. package/dist/hot-middleware-client/client.d.ts +1 -1
  326. package/dist/hot-middleware-client/process-update.d.ts +8 -2
  327. package/dist/hot-middleware-client/process-update.js +2 -1
  328. package/dist/icons/Checkmark.js +1 -1
  329. package/dist/icons/audio.js +1 -1
  330. package/dist/icons/caret.js +3 -3
  331. package/dist/icons/certificate.d.ts +1 -1
  332. package/dist/icons/certificate.js +1 -1
  333. package/dist/icons/check-circle-filled.js +1 -1
  334. package/dist/icons/clipboard.js +1 -1
  335. package/dist/icons/data.js +1 -1
  336. package/dist/icons/ellipsis.js +1 -1
  337. package/dist/icons/file.js +1 -1
  338. package/dist/icons/folder.js +3 -3
  339. package/dist/icons/frame.js +1 -1
  340. package/dist/icons/gear.js +1 -1
  341. package/dist/icons/gif.js +1 -1
  342. package/dist/icons/jump-to-start.js +1 -1
  343. package/dist/icons/keys.js +3 -3
  344. package/dist/icons/media-volume.js +2 -2
  345. package/dist/icons/minus.js +1 -1
  346. package/dist/icons/pause.js +1 -1
  347. package/dist/icons/play.js +1 -1
  348. package/dist/icons/plus.js +1 -1
  349. package/dist/icons/render.js +1 -1
  350. package/dist/icons/step-back.js +1 -1
  351. package/dist/icons/step-forward.js +1 -1
  352. package/dist/icons/still.js +1 -1
  353. package/dist/icons/timelineInOutPointer.js +2 -2
  354. package/dist/icons/video.js +1 -1
  355. package/dist/index.js +16 -16
  356. package/dist/internals.d.ts +1 -1
  357. package/dist/previewEntry.js +2 -2
  358. package/dist/renderEntry.js +10 -8
  359. package/dist/state/folders.js +1 -1
  360. package/dist/state/highest-z-index.js +1 -1
  361. package/dist/state/in-out.js +4 -3
  362. package/dist/state/keybindings.js +1 -1
  363. package/dist/state/preview-size.js +1 -1
  364. package/dist/state/sidebar.js +1 -1
  365. package/dist/state/timeline-zoom.js +1 -1
  366. package/dist/state/z-index.js +2 -1
  367. package/dist/visual-controls/VisualControls.js +1 -1
  368. package/dist/visual-controls/get-current-edited-value.js +2 -1
  369. package/package.json +13 -12
@@ -32,80 +32,80 @@ const ZodSwitch = ({ schema, jsonPath, value, setValue, defaultValue, onSave, sh
32
32
  }
33
33
  const zodTypes = (0, get_zod_if_possible_1.useZodTypesIfPossible)();
34
34
  if (typeName === z.ZodFirstPartyTypeKind.ZodObject) {
35
- return ((0, jsx_runtime_1.jsx)(ZodObjectEditor_1.ZodObjectEditor, { setValue: setValue, unsavedValue: value, savedValue: defaultValue, jsonPath: jsonPath, schema: schema, onSave: onSave, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad, discriminatedUnionReplacement: null }));
35
+ return (jsx_runtime_1.jsx(ZodObjectEditor_1.ZodObjectEditor, { setValue: setValue, unsavedValue: value, savedValue: defaultValue, jsonPath: jsonPath, schema: schema, onSave: onSave, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad, discriminatedUnionReplacement: null }));
36
36
  }
37
37
  if (typeName === z.ZodFirstPartyTypeKind.ZodString) {
38
38
  if (value.startsWith(window.remotion_staticBase)) {
39
- return ((0, jsx_runtime_1.jsx)(ZodStaticFileEditor_1.ZodStaticFileEditor, { setValue: setValue, value: value, jsonPath: jsonPath, schema: schema, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
39
+ return (jsx_runtime_1.jsx(ZodStaticFileEditor_1.ZodStaticFileEditor, { setValue: setValue, value: value, jsonPath: jsonPath, schema: schema, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
40
40
  }
41
41
  if (zodTypes &&
42
42
  schema._def.description ===
43
43
  zodTypes.ZodZypesInternals.REMOTION_TEXTAREA_BRAND) {
44
- return ((0, jsx_runtime_1.jsx)(ZodTextareaEditor_1.ZodTextareaEditor, { value: value, setValue: setValue, jsonPath: jsonPath, schema: schema, onSave: onSave, defaultValue: defaultValue, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
44
+ return (jsx_runtime_1.jsx(ZodTextareaEditor_1.ZodTextareaEditor, { value: value, setValue: setValue, jsonPath: jsonPath, schema: schema, onSave: onSave, defaultValue: defaultValue, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
45
45
  }
46
- return ((0, jsx_runtime_1.jsx)(ZodStringEditor_1.ZodStringEditor, { value: value, setValue: setValue, jsonPath: jsonPath, schema: schema, onSave: onSave, defaultValue: defaultValue, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
46
+ return (jsx_runtime_1.jsx(ZodStringEditor_1.ZodStringEditor, { value: value, setValue: setValue, jsonPath: jsonPath, schema: schema, onSave: onSave, defaultValue: defaultValue, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
47
47
  }
48
48
  if (typeName === z.ZodFirstPartyTypeKind.ZodDate) {
49
- return ((0, jsx_runtime_1.jsx)(ZodDateEditor_1.ZodDateEditor, { value: value, setValue: setValue, jsonPath: jsonPath, schema: schema, onSave: onSave, defaultValue: defaultValue, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
49
+ return (jsx_runtime_1.jsx(ZodDateEditor_1.ZodDateEditor, { value: value, setValue: setValue, jsonPath: jsonPath, schema: schema, onSave: onSave, defaultValue: defaultValue, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
50
50
  }
51
51
  if (typeName === z.ZodFirstPartyTypeKind.ZodNumber) {
52
- return ((0, jsx_runtime_1.jsx)(ZodNumberEditor_1.ZodNumberEditor, { value: value, setValue: setValue, jsonPath: jsonPath, schema: schema, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
52
+ return (jsx_runtime_1.jsx(ZodNumberEditor_1.ZodNumberEditor, { value: value, setValue: setValue, jsonPath: jsonPath, schema: schema, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
53
53
  }
54
54
  if (typeName === z.ZodFirstPartyTypeKind.ZodBoolean) {
55
- return ((0, jsx_runtime_1.jsx)(ZodBooleanEditor_1.ZodBooleanEditor, { value: value, setValue: setValue, jsonPath: jsonPath, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad, schema: schema }));
55
+ return (jsx_runtime_1.jsx(ZodBooleanEditor_1.ZodBooleanEditor, { value: value, setValue: setValue, jsonPath: jsonPath, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad, schema: schema }));
56
56
  }
57
57
  if (typeName === z.ZodFirstPartyTypeKind.ZodUndefined) {
58
- return ((0, jsx_runtime_1.jsx)(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, showSaveButton: showSaveButton, label: 'undefined', saving: saving, mayPad: mayPad }));
58
+ return (jsx_runtime_1.jsx(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, showSaveButton: showSaveButton, label: 'undefined', saving: saving, mayPad: mayPad }));
59
59
  }
60
60
  if (typeName === z.ZodFirstPartyTypeKind.ZodNull) {
61
- return ((0, jsx_runtime_1.jsx)(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, showSaveButton: showSaveButton, label: 'null', saving: saving, mayPad: mayPad }));
61
+ return (jsx_runtime_1.jsx(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, showSaveButton: showSaveButton, label: 'null', saving: saving, mayPad: mayPad }));
62
62
  }
63
63
  if (typeName === z.ZodFirstPartyTypeKind.ZodAny) {
64
- return ((0, jsx_runtime_1.jsx)(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, showSaveButton: showSaveButton, label: 'any (not editable)', saving: saving, mayPad: mayPad }));
64
+ return (jsx_runtime_1.jsx(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, showSaveButton: showSaveButton, label: 'any (not editable)', saving: saving, mayPad: mayPad }));
65
65
  }
66
66
  if (typeName === z.ZodFirstPartyTypeKind.ZodBigInt) {
67
- return ((0, jsx_runtime_1.jsx)(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, showSaveButton: showSaveButton, label: 'BigInt (not editable)', saving: saving, mayPad: mayPad }));
67
+ return (jsx_runtime_1.jsx(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, showSaveButton: showSaveButton, label: 'BigInt (not editable)', saving: saving, mayPad: mayPad }));
68
68
  }
69
69
  if (typeName === z.ZodFirstPartyTypeKind.ZodUnknown) {
70
- return ((0, jsx_runtime_1.jsx)(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, showSaveButton: showSaveButton, label: 'unknown (not editable)', saving: saving, mayPad: mayPad }));
70
+ return (jsx_runtime_1.jsx(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, showSaveButton: showSaveButton, label: 'unknown (not editable)', saving: saving, mayPad: mayPad }));
71
71
  }
72
72
  if (typeName === z.ZodFirstPartyTypeKind.ZodArray) {
73
- return ((0, jsx_runtime_1.jsx)(ZodArrayEditor_1.ZodArrayEditor, { setValue: setValue, value: value, jsonPath: jsonPath, schema: schema, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
73
+ return (jsx_runtime_1.jsx(ZodArrayEditor_1.ZodArrayEditor, { setValue: setValue, value: value, jsonPath: jsonPath, schema: schema, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
74
74
  }
75
75
  if (typeName === z.ZodFirstPartyTypeKind.ZodEnum) {
76
- return ((0, jsx_runtime_1.jsx)(ZodEnumEditor_1.ZodEnumEditor, { setValue: setValue, value: value, jsonPath: jsonPath, schema: schema, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving }));
76
+ return (jsx_runtime_1.jsx(ZodEnumEditor_1.ZodEnumEditor, { setValue: setValue, value: value, jsonPath: jsonPath, schema: schema, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving }));
77
77
  }
78
78
  if (typeName === z.ZodFirstPartyTypeKind.ZodEffects) {
79
79
  if (zodTypes &&
80
80
  schema._def.description ===
81
81
  zodTypes.ZodZypesInternals.REMOTION_COLOR_BRAND) {
82
- return ((0, jsx_runtime_1.jsx)(ZodColorEditor_1.ZodColorEditor, { value: value, setValue: setValue, jsonPath: jsonPath, schema: schema, onSave: onSave, defaultValue: defaultValue, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
82
+ return (jsx_runtime_1.jsx(ZodColorEditor_1.ZodColorEditor, { value: value, setValue: setValue, jsonPath: jsonPath, schema: schema, onSave: onSave, defaultValue: defaultValue, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
83
83
  }
84
84
  if (zodTypes &&
85
85
  schema._def.description ===
86
86
  zodTypes.ZodZypesInternals.REMOTION_MATRIX_BRAND) {
87
- return ((0, jsx_runtime_1.jsx)(ZodMatrixEditor_1.ZodMatrixEditor, { setValue: setValue, value: value, jsonPath: jsonPath, schema: schema._def.schema, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
87
+ return (jsx_runtime_1.jsx(ZodMatrixEditor_1.ZodMatrixEditor, { setValue: setValue, value: value, jsonPath: jsonPath, schema: schema._def.schema, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
88
88
  }
89
- return ((0, jsx_runtime_1.jsx)(ZodEffectEditor_1.ZodEffectEditor, { value: value, setValue: setValue, jsonPath: jsonPath, schema: schema, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, mayPad: mayPad }));
89
+ return (jsx_runtime_1.jsx(ZodEffectEditor_1.ZodEffectEditor, { value: value, setValue: setValue, jsonPath: jsonPath, schema: schema, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, mayPad: mayPad }));
90
90
  }
91
91
  if (typeName === z.ZodFirstPartyTypeKind.ZodUnion) {
92
- return ((0, jsx_runtime_1.jsx)(ZodUnionEditor_1.ZodUnionEditor, { schema: schema, showSaveButton: showSaveButton, jsonPath: jsonPath, value: value, defaultValue: defaultValue, setValue: setValue, onSave: onSave, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
92
+ return (jsx_runtime_1.jsx(ZodUnionEditor_1.ZodUnionEditor, { schema: schema, showSaveButton: showSaveButton, jsonPath: jsonPath, value: value, defaultValue: defaultValue, setValue: setValue, onSave: onSave, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
93
93
  }
94
94
  if (typeName === z.ZodFirstPartyTypeKind.ZodOptional) {
95
- return ((0, jsx_runtime_1.jsx)(ZodOptionalEditor_1.ZodOptionalEditor, { jsonPath: jsonPath, showSaveButton: showSaveButton, defaultValue: defaultValue, value: value, setValue: setValue, onSave: onSave, onRemove: onRemove, schema: schema, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
95
+ return (jsx_runtime_1.jsx(ZodOptionalEditor_1.ZodOptionalEditor, { jsonPath: jsonPath, showSaveButton: showSaveButton, defaultValue: defaultValue, value: value, setValue: setValue, onSave: onSave, onRemove: onRemove, schema: schema, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
96
96
  }
97
97
  if (typeName === z.ZodFirstPartyTypeKind.ZodNullable) {
98
- return ((0, jsx_runtime_1.jsx)(ZodNullableEditor_1.ZodNullableEditor, { jsonPath: jsonPath, showSaveButton: showSaveButton, defaultValue: defaultValue, value: value, setValue: setValue, onSave: onSave, onRemove: onRemove, schema: schema, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
98
+ return (jsx_runtime_1.jsx(ZodNullableEditor_1.ZodNullableEditor, { jsonPath: jsonPath, showSaveButton: showSaveButton, defaultValue: defaultValue, value: value, setValue: setValue, onSave: onSave, onRemove: onRemove, schema: schema, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
99
99
  }
100
100
  if (typeName === z.ZodFirstPartyTypeKind.ZodDefault) {
101
- return ((0, jsx_runtime_1.jsx)(ZodDefaultEditor_1.ZodDefaultEditor, { jsonPath: jsonPath, showSaveButton: showSaveButton, defaultValue: defaultValue, value: value, setValue: setValue, onSave: onSave, onRemove: onRemove, schema: schema, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
101
+ return (jsx_runtime_1.jsx(ZodDefaultEditor_1.ZodDefaultEditor, { jsonPath: jsonPath, showSaveButton: showSaveButton, defaultValue: defaultValue, value: value, setValue: setValue, onSave: onSave, onRemove: onRemove, schema: schema, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
102
102
  }
103
103
  if (typeName === z.ZodFirstPartyTypeKind.ZodDiscriminatedUnion) {
104
- return ((0, jsx_runtime_1.jsx)(ZodDiscriminatedUnionEditor_1.ZodDiscriminatedUnionEditor, { defaultValue: defaultValue, mayPad: mayPad, schema: schema, setValue: setValue, value: value, jsonPath: jsonPath, onRemove: onRemove, onSave: onSave, saving: saving, saveDisabledByParent: saveDisabledByParent, showSaveButton: showSaveButton }));
104
+ return (jsx_runtime_1.jsx(ZodDiscriminatedUnionEditor_1.ZodDiscriminatedUnionEditor, { defaultValue: defaultValue, mayPad: mayPad, schema: schema, setValue: setValue, value: value, jsonPath: jsonPath, onRemove: onRemove, onSave: onSave, saving: saving, saveDisabledByParent: saveDisabledByParent, showSaveButton: showSaveButton }));
105
105
  }
106
106
  if (typeName === z.ZodFirstPartyTypeKind.ZodTuple) {
107
- return ((0, jsx_runtime_1.jsx)(ZodTupleEditor_1.ZodTupleEditor, { setValue: setValue, value: value, jsonPath: jsonPath, schema: schema, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
107
+ return (jsx_runtime_1.jsx(ZodTupleEditor_1.ZodTupleEditor, { setValue: setValue, value: value, jsonPath: jsonPath, schema: schema, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
108
108
  }
109
- return ((0, jsx_runtime_1.jsx)(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, showSaveButton: showSaveButton, label: `${typeName} (not editable)`, saving: saving, mayPad: mayPad }));
109
+ return (jsx_runtime_1.jsx(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, showSaveButton: showSaveButton, label: `${typeName} (not editable)`, saving: saving, mayPad: mayPad }));
110
110
  };
111
111
  exports.ZodSwitch = ZodSwitch;
@@ -37,6 +37,10 @@ const ZodTextareaEditor = ({ jsonPath, value, setValue, showSaveButton, defaultV
37
37
  const save = (0, react_1.useCallback)(() => {
38
38
  onSave(() => value, false, false);
39
39
  }, [onSave, value]);
40
- return ((0, jsx_runtime_1.jsxs)(Fieldset_1.Fieldset, { shouldPad: mayPad, success: localValue.zodValidation.success, children: [(0, jsx_runtime_1.jsx)(SchemaLabel_1.SchemaLabel, { handleClick: null, isDefaultValue: localValue.value === defaultValue, jsonPath: jsonPath, onReset: reset, onSave: save, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, valid: localValue.zodValidation.success, saveDisabledByParent: saveDisabledByParent, suffix: null }), (0, jsx_runtime_1.jsxs)("div", { style: fullWidth, children: [(0, jsx_runtime_1.jsx)(RemTextarea_1.RemTextarea, { onChange: onChange, value: localValue.value, status: localValue.zodValidation ? 'ok' : 'error', placeholder: jsonPath.join('.'), name: jsonPath.join('.'), style: textareaStyle }), (0, jsx_runtime_1.jsx)(ZodFieldValidation_1.ZodFieldValidation, { path: jsonPath, localValue: localValue })] })] }));
40
+ return (jsx_runtime_1.jsxs(Fieldset_1.Fieldset, { shouldPad: mayPad, success: localValue.zodValidation.success, children: [
41
+ jsx_runtime_1.jsx(SchemaLabel_1.SchemaLabel, { handleClick: null, isDefaultValue: localValue.value === defaultValue, jsonPath: jsonPath, onReset: reset, onSave: save, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, valid: localValue.zodValidation.success, saveDisabledByParent: saveDisabledByParent, suffix: null }), jsx_runtime_1.jsxs("div", { style: fullWidth, children: [
42
+ jsx_runtime_1.jsx(RemTextarea_1.RemTextarea, { onChange: onChange, value: localValue.value, status: localValue.zodValidation ? 'ok' : 'error', placeholder: jsonPath.join('.'), name: jsonPath.join('.'), style: textareaStyle }), jsx_runtime_1.jsx(ZodFieldValidation_1.ZodFieldValidation, { path: jsonPath, localValue: localValue })
43
+ ] })
44
+ ] }));
41
45
  };
42
46
  exports.ZodTextareaEditor = ZodTextareaEditor;
@@ -70,16 +70,20 @@ const ZodTupleEditor = ({ schema, jsonPath, setValue, defaultValue, value, onSav
70
70
  const isDefaultValue = (0, react_1.useMemo)(() => {
71
71
  return (0, deep_equal_1.deepEqual)(localValue.value, defaultValue);
72
72
  }, [defaultValue, localValue]);
73
- return ((0, jsx_runtime_1.jsxs)(Fieldset_1.Fieldset, { shouldPad: mayPad, success: localValue.zodValidation.success, children: [(0, jsx_runtime_1.jsx)("div", { style: {
73
+ return (jsx_runtime_1.jsxs(Fieldset_1.Fieldset, { shouldPad: mayPad, success: localValue.zodValidation.success, children: [
74
+ jsx_runtime_1.jsx("div", { style: {
74
75
  display: 'flex',
75
76
  flexDirection: 'row',
76
- }, children: (0, jsx_runtime_1.jsx)(SchemaLabel_1.SchemaLabel, { onReset: reset, isDefaultValue: isDefaultValue, jsonPath: jsonPath, onRemove: onRemove, suffix: suffix, onSave: () => {
77
+ }, children: jsx_runtime_1.jsx(SchemaLabel_1.SchemaLabel, { onReset: reset, isDefaultValue: isDefaultValue, jsonPath: jsonPath, onRemove: onRemove, suffix: suffix, onSave: () => {
77
78
  onSave(() => localValue.value, false, false);
78
- }, saveDisabledByParent: saveDisabledByParent, saving: saving, showSaveButton: showSaveButton, valid: localValue.zodValidation.success, handleClick: () => setExpanded(!expanded) }) }), expanded ? ((0, jsx_runtime_1.jsx)(RevisionContextProvider, { children: (0, jsx_runtime_1.jsxs)(SchemaVerticalGuide_1.SchemaVerticalGuide, { isRoot: false, children: [localValue.value.map((child, i) => {
79
+ }, saveDisabledByParent: saveDisabledByParent, saving: saving, showSaveButton: showSaveButton, valid: localValue.zodValidation.success, handleClick: () => setExpanded(!expanded) }) }), expanded ? (jsx_runtime_1.jsx(RevisionContextProvider, { children: jsx_runtime_1.jsxs(SchemaVerticalGuide_1.SchemaVerticalGuide, { isRoot: false, children: [localValue.value.map((child, i) => {
79
80
  var _a;
80
81
  return (
81
82
  // eslint-disable-next-line react/no-array-index-key
82
- (0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsx)(ZodTupleItemEditor_1.ZodTupleItemEditor, { onChange: onChange, value: child, def: def, index: i, jsonPath: jsonPath, defaultValue: (_a = defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue[i]) !== null && _a !== void 0 ? _a : (0, create_zod_values_1.createZodValues)(def.items[i], z, zodTypes), onSave: onSave, showSaveButton: showSaveButton, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }), (0, jsx_runtime_1.jsx)(SchemaSeparationLine_1.SchemaArrayItemSeparationLine, { schema: schema, index: i, onChange: onChange, isLast: i === localValue.value.length - 1, showAddButton: false })] }, `${i}${localValue.keyStabilityRevision}`));
83
- }), value.length === 0 ? ((0, jsx_runtime_1.jsx)(SchemaSeparationLine_1.SchemaArrayItemSeparationLine, { schema: schema, index: 0, onChange: onChange, isLast: true, showAddButton: false })) : null] }) })) : null, (0, jsx_runtime_1.jsx)(ZodFieldValidation_1.ZodFieldValidation, { path: jsonPath, localValue: localValue })] }));
83
+ jsx_runtime_1.jsxs(react_1.default.Fragment, { children: [
84
+ jsx_runtime_1.jsx(ZodTupleItemEditor_1.ZodTupleItemEditor, { onChange: onChange, value: child, def: def, index: i, jsonPath: jsonPath, defaultValue: (_a = defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue[i]) !== null && _a !== void 0 ? _a : (0, create_zod_values_1.createZodValues)(def.items[i], z, zodTypes), onSave: onSave, showSaveButton: showSaveButton, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }), jsx_runtime_1.jsx(SchemaSeparationLine_1.SchemaArrayItemSeparationLine, { schema: schema, index: i, onChange: onChange, isLast: i === localValue.value.length - 1, showAddButton: false })
85
+ ] }, `${i}${localValue.keyStabilityRevision}`));
86
+ }), value.length === 0 ? (jsx_runtime_1.jsx(SchemaSeparationLine_1.SchemaArrayItemSeparationLine, { schema: schema, index: 0, onChange: onChange, isLast: true, showAddButton: false })) : null] }) })) : null, jsx_runtime_1.jsx(ZodFieldValidation_1.ZodFieldValidation, { path: jsonPath, localValue: localValue })
87
+ ] }));
84
88
  };
85
89
  exports.ZodTupleEditor = ZodTupleEditor;
@@ -25,6 +25,6 @@ const ZodTupleItemEditor = ({ def, onChange, jsonPath, index, value, defaultValu
25
25
  ...oldV.slice(index + 1),
26
26
  ], false, false);
27
27
  }, [index, onSaveObject]);
28
- return ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(ZodSwitch_1.ZodSwitch, { jsonPath: newJsonPath, schema: def.items[index], value: value, setValue: setValue, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: null, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }) }));
28
+ return (jsx_runtime_1.jsx("div", { children: jsx_runtime_1.jsx(ZodSwitch_1.ZodSwitch, { jsonPath: newJsonPath, schema: def.items[index], value: value, setValue: setValue, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: null, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }) }));
29
29
  };
30
30
  exports.ZodTupleItemEditor = ZodTupleItemEditor;
@@ -31,19 +31,19 @@ const ZodUnionEditor = ({ jsonPath, schema, setValue, onSave, defaultValue, valu
31
31
  throw new Error('expected zod');
32
32
  }
33
33
  if (options.length > 2) {
34
- return ((0, jsx_runtime_1.jsx)(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, label: 'Union with more than 2 options not editable', showSaveButton: showSaveButton, saving: saving, mayPad: mayPad }));
34
+ return (jsx_runtime_1.jsx(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, label: 'Union with more than 2 options not editable', showSaveButton: showSaveButton, saving: saving, mayPad: mayPad }));
35
35
  }
36
36
  if (options.length < 2) {
37
- return ((0, jsx_runtime_1.jsx)(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, label: 'Union with less than 2 options not editable', showSaveButton: showSaveButton, saving: saving, mayPad: mayPad }));
37
+ return (jsx_runtime_1.jsx(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, label: 'Union with less than 2 options not editable', showSaveButton: showSaveButton, saving: saving, mayPad: mayPad }));
38
38
  }
39
39
  const nullResult = findNull(options, z);
40
40
  if (!nullResult) {
41
- return ((0, jsx_runtime_1.jsx)(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, label: 'Union only editable with 1 value being null', showSaveButton: showSaveButton, saving: saving, mayPad: mayPad }));
41
+ return (jsx_runtime_1.jsx(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, label: 'Union only editable with 1 value being null', showSaveButton: showSaveButton, saving: saving, mayPad: mayPad }));
42
42
  }
43
43
  const { otherSchema, nullishValue, otherSchemaIsAlsoNullish } = nullResult;
44
44
  if (otherSchemaIsAlsoNullish) {
45
- return ((0, jsx_runtime_1.jsx)(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, label: 'Not editable - both union values are nullish', showSaveButton: showSaveButton, saving: saving, mayPad: mayPad }));
45
+ return (jsx_runtime_1.jsx(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, label: 'Not editable - both union values are nullish', showSaveButton: showSaveButton, saving: saving, mayPad: mayPad }));
46
46
  }
47
- return ((0, jsx_runtime_1.jsx)(ZodOrNullishEditor_1.ZodOrNullishEditor, { defaultValue: defaultValue, jsonPath: jsonPath, onRemove: onRemove, onSave: onSave, schema: schema, innerSchema: otherSchema, setValue: setValue, showSaveButton: showSaveButton, value: value, nullishValue: nullishValue, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
47
+ return (jsx_runtime_1.jsx(ZodOrNullishEditor_1.ZodOrNullishEditor, { defaultValue: defaultValue, jsonPath: jsonPath, onRemove: onRemove, onSave: onSave, schema: schema, innerSchema: otherSchema, setValue: setValue, showSaveButton: showSaveButton, value: value, nullishValue: nullishValue, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
48
48
  };
49
49
  exports.ZodUnionEditor = ZodUnionEditor;
@@ -1,2 +1,2 @@
1
- import type { ZodType, ZodTypesType } from '../../get-zod-if-possible';
2
- export declare const createZodValues: (schema: Zod.ZodTypeAny, zodRuntime: ZodType, zodTypes: ZodTypesType | null) => unknown;
1
+ import type { z } from 'zod';
2
+ export declare const createZodValues: (schema: z.ZodTypeAny, zodRuntime: typeof z, zodTypes: typeof import("@remotion/zod-types") | null) => unknown;
@@ -1,7 +1,7 @@
1
- import type { ZodType, ZodTypesType } from '../../get-zod-if-possible';
1
+ import type { z } from 'zod';
2
2
  export declare const extractEnumJsonPaths: ({ schema, zodRuntime, currentPath, zodTypes, }: {
3
- schema: Zod.ZodTypeAny;
4
- zodRuntime: ZodType;
5
- zodTypes: ZodTypesType | null;
3
+ schema: z.ZodTypeAny;
4
+ zodRuntime: typeof z;
5
+ zodTypes: typeof import("@remotion/zod-types") | null;
6
6
  currentPath: (string | number)[];
7
7
  }) => (string | number)[][];
@@ -94,7 +94,7 @@ const useLocalState = ({ unsavedValue, schema, setValue, savedValue, }) => {
94
94
  setResetRevision((old) => old + 1);
95
95
  }, [savedValue, onChange]);
96
96
  const RevisionContextProvider = (0, react_1.useCallback)(({ children }) => {
97
- return ((0, jsx_runtime_1.jsx)(exports.RevisionContext.Provider, { value: contextValue, children: children }));
97
+ return (jsx_runtime_1.jsx(exports.RevisionContext.Provider, { value: contextValue, children: children }));
98
98
  }, [contextValue]);
99
99
  return (0, react_1.useMemo)(() => ({
100
100
  localValue: currentLocalValue,
@@ -24,7 +24,7 @@ const SeparateAudioOptionInput = ({ separateAudioTo, setSeparateAudioTo, audioCo
24
24
  }
25
25
  return null;
26
26
  }, [audioCodec, separateAudioTo]);
27
- return ((0, jsx_runtime_1.jsx)(RenderModalOutputName_1.RenderModalOutputName, { existence: existence, inputStyle: layout_2.input, onValueChange: onValueChange, outName: separateAudioTo, label: 'Separate audio to', validationMessage: validationMessage }));
27
+ return (jsx_runtime_1.jsx(RenderModalOutputName_1.RenderModalOutputName, { existence: existence, inputStyle: layout_2.input, onValueChange: onValueChange, outName: separateAudioTo, label: 'Separate audio to', validationMessage: validationMessage }));
28
28
  };
29
29
  exports.SeparateAudioOptionInput = SeparateAudioOptionInput;
30
30
  const SeparateAudioOption = ({ separateAudioTo, setSeparateAudioTo, audioCodec, outName }) => {
@@ -37,6 +37,11 @@ const SeparateAudioOption = ({ separateAudioTo, setSeparateAudioTo, audioCodec,
37
37
  setSeparateAudioTo(null);
38
38
  }
39
39
  }, [audioCodec, outName, setSeparateAudioTo]);
40
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { style: layout_2.optionRow, children: [(0, jsx_runtime_1.jsxs)("div", { style: layout_2.label, children: ["Separate audio", (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 0.5 }), (0, jsx_runtime_1.jsx)(OptionExplainerBubble_1.OptionExplainerBubble, { id: "separateAudioOption" })] }), (0, jsx_runtime_1.jsx)("div", { style: layout_2.rightRow, children: (0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { disabled: false, checked: Boolean(separateAudioTo), onChange: onSeparateAudioChange, name: "separate-audio-to" }) })] }), separateAudioTo === null ? null : ((0, jsx_runtime_1.jsx)(exports.SeparateAudioOptionInput, { separateAudioTo: separateAudioTo, setSeparateAudioTo: setSeparateAudioTo, audioCodec: audioCodec }))] }));
40
+ return (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
41
+ jsx_runtime_1.jsxs("div", { style: layout_2.optionRow, children: [
42
+ jsx_runtime_1.jsxs("div", { style: layout_2.label, children: ["Separate audio",
43
+ jsx_runtime_1.jsx(layout_1.Spacing, { x: 0.5 }), jsx_runtime_1.jsx(OptionExplainerBubble_1.OptionExplainerBubble, { id: "separateAudioOption" })
44
+ ] }), jsx_runtime_1.jsx("div", { style: layout_2.rightRow, children: jsx_runtime_1.jsx(Checkbox_1.Checkbox, { disabled: false, checked: Boolean(separateAudioTo), onChange: onSeparateAudioChange, name: "separate-audio-to" }) })
45
+ ] }), separateAudioTo === null ? null : (jsx_runtime_1.jsx(exports.SeparateAudioOptionInput, { separateAudioTo: separateAudioTo, setSeparateAudioTo: setSeparateAudioTo, audioCodec: audioCodec }))] }));
41
46
  };
42
47
  exports.SeparateAudioOption = SeparateAudioOption;
@@ -103,7 +103,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
103
103
  : initialStillImageFormat,
104
104
  type: 'asset',
105
105
  compositionDefaultOutName: resolvedComposition.defaultOutName,
106
- clientSideRender: false,
106
+ outputLocation: renderDefaults.outputLocation,
107
107
  });
108
108
  });
109
109
  const [videoCodecForAudioTab, setVideoCodecForAudioTab] = (0, react_1.useState)(() => initialVideoCodecForAudioTab);
@@ -151,7 +151,10 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
151
151
  const [outName, setOutName] = (0, react_1.useState)(() => initialOutName);
152
152
  const [endFrameOrNull, setEndFrame] = (0, react_1.useState)(() => outFrameMark !== null && outFrameMark !== void 0 ? outFrameMark : null);
153
153
  const [startFrameOrNull, setStartFrame] = (0, react_1.useState)(() => inFrameMark !== null && inFrameMark !== void 0 ? inFrameMark : null);
154
- const [proResProfileSetting, setProResProfile] = (0, react_1.useState)(() => { var _a; return (_a = initialProResProfile !== null && initialProResProfile !== void 0 ? initialProResProfile : resolvedComposition.defaultProResProfile) !== null && _a !== void 0 ? _a : 'hq'; });
154
+ const [proResProfileSetting, setProResProfile] = (0, react_1.useState)(() => {
155
+ var _a;
156
+ return (_a = initialProResProfile !== null && initialProResProfile !== void 0 ? initialProResProfile : resolvedComposition.defaultProResProfile) !== null && _a !== void 0 ? _a : 'hq';
157
+ });
155
158
  const [x264PresetSetting, setx264Preset] = (0, react_1.useState)(() => initialx264Preset);
156
159
  const [hardwareAcceleration, setHardwareAcceleration] = (0, react_1.useState)(() => initialHardwareAcceleration);
157
160
  const [userPreferredPixelFormat, setPixelFormat] = (0, react_1.useState)(() => {
@@ -789,7 +792,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
789
792
  key: option,
790
793
  id: option,
791
794
  keyHint: null,
792
- leftItem: pixelFormat === option ? (0, jsx_runtime_1.jsx)(Checkmark_1.Checkmark, {}) : null,
795
+ leftItem: pixelFormat === option ? jsx_runtime_1.jsx(Checkmark_1.Checkmark, {}) : null,
793
796
  quickSwitcherLabel: null,
794
797
  subMenu: null,
795
798
  type: 'item',
@@ -797,12 +800,31 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
797
800
  };
798
801
  });
799
802
  }, [availablePixelFormats, pixelFormat]);
800
- return ((0, jsx_runtime_1.jsxs)("div", { style: render_modals_1.outerModalStyle, children: [(0, jsx_runtime_1.jsx)(ModalHeader_1.ModalHeader, { title: `Render ${resolvedComposition.id}` }), (0, jsx_runtime_1.jsxs)("div", { style: render_modals_1.container, children: [(0, jsx_runtime_1.jsx)(SegmentedControl_1.SegmentedControl, { items: renderTabOptions, needsWrapping: false }), (0, jsx_runtime_1.jsx)("div", { style: render_modals_1.flexer }), (0, jsx_runtime_1.jsxs)(Button_1.Button, { autoFocus: true, onClick: trigger, disabled: renderDisabled, style: {
803
+ return (jsx_runtime_1.jsxs("div", { style: render_modals_1.outerModalStyle, children: [
804
+ jsx_runtime_1.jsx(ModalHeader_1.ModalHeader, { title: `Render ${resolvedComposition.id}` }), jsx_runtime_1.jsxs("div", { style: render_modals_1.container, children: [
805
+ jsx_runtime_1.jsx(SegmentedControl_1.SegmentedControl, { items: renderTabOptions, needsWrapping: false }), jsx_runtime_1.jsx("div", { style: render_modals_1.flexer }), jsx_runtime_1.jsxs(Button_1.Button, { autoFocus: true, onClick: trigger, disabled: renderDisabled, style: {
801
806
  ...render_modals_1.buttonStyle,
802
807
  backgroundColor: outnameValidation.valid ? colors_1.BLUE : colors_1.BLUE_DISABLED,
803
- }, 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: render_modals_1.horizontalLayout, children: [(0, jsx_runtime_1.jsxs)("div", { style: render_modals_1.leftSidebar, children: [shownTabs.includes('general') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'general', onClick: () => setTab('general'), children: [(0, jsx_runtime_1.jsx)("div", { style: render_modals_1.iconContainer, children: (0, jsx_runtime_1.jsx)(file_1.FileIcon, { style: render_modals_1.icon }) }), "General"] })) : null, shownTabs.includes('data') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'data', onClick: () => setTab('data'), children: [(0, jsx_runtime_1.jsx)("div", { style: render_modals_1.iconContainer, children: (0, jsx_runtime_1.jsx)(data_1.DataIcon, { style: render_modals_1.icon }) }), "Input Props"] })) : null, shownTabs.includes('picture') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'picture', onClick: () => setTab('picture'), children: [(0, jsx_runtime_1.jsx)("div", { style: render_modals_1.iconContainer, children: (0, jsx_runtime_1.jsx)(frame_1.PicIcon, { style: render_modals_1.icon }) }), "Picture"] })) : null, shownTabs.includes('audio') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'audio', onClick: () => setTab('audio'), children: [(0, jsx_runtime_1.jsx)("div", { style: render_modals_1.iconContainer, children: (0, jsx_runtime_1.jsx)(audio_1.AudioIcon, { style: render_modals_1.icon }) }), "Audio"] })) : null, shownTabs.includes('gif') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'gif', onClick: () => setTab('gif'), children: [(0, jsx_runtime_1.jsx)("div", { style: render_modals_1.iconContainer, children: (0, jsx_runtime_1.jsx)(gif_1.GifIcon, { style: render_modals_1.icon }) }), "GIF"] })) : null, shownTabs.includes('advanced') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'advanced', onClick: () => setTab('advanced'), children: [(0, jsx_runtime_1.jsx)("div", { style: render_modals_1.iconContainer, children: (0, jsx_runtime_1.jsx)(gear_1.GearIcon, { style: render_modals_1.icon }) }), "Other"] })) : null] }), (0, jsx_runtime_1.jsx)("div", { style: render_modals_1.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, setVerboseLogging: setLogLevel, logLevel: logLevel, 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, compositionWidth: resolvedComposition.width, compositionHeight: resolvedComposition.height })) : 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, forSeamlessAacConcatenation: forSeamlessAacConcatenation, setForSeamlessAacConcatenation: setForSeamlessAacConcatenation, separateAudioTo: separateAudioTo, setSeparateAudioTo: setSeparateAudioTo, outName: outName })) : 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, { defaultProps: inputProps, setDefaultProps: 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, 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, setMediaCacheSizeInBytes: setMediaCacheSizeInBytes, mediaCacheSizeInBytes: mediaCacheSizeInBytes, setOffthreadVideoCacheSizeInBytes: setOffthreadVideoCacheSizeInBytes, offthreadVideoThreads: offthreadVideoThreads, setOffthreadVideoThreads: setOffthreadVideoThreads, enableMultiProcessOnLinux: multiProcessOnLinux, setChromiumMultiProcessOnLinux: setChromiumMultiProcessOnLinux, codec: codec, userAgent: userAgent, setUserAgent: setUserAgent, setBeep: setBeepOnFinish, beep: beepOnFinish, repro: repro, setRepro: setRepro, hardwareAcceleration: hardwareAcceleration, setHardwareAcceleration: setHardwareAcceleration, chromeModeOption: chromeMode, setChromeModeOption: setChromeMode, darkMode: darkMode, setDarkMode: setDarkMode })) })] })] }));
808
+ }, children: [state.type === 'idle' ? `Render ${renderMode}` : 'Rendering...', jsx_runtime_1.jsx(ShortcutHint_1.ShortcutHint, { keyToPress: "\u21B5", cmdOrCtrl: true })
809
+ ] })
810
+ ] }), jsx_runtime_1.jsxs("div", { style: render_modals_1.horizontalLayout, children: [
811
+ jsx_runtime_1.jsxs("div", { style: render_modals_1.leftSidebar, children: [shownTabs.includes('general') ? (jsx_runtime_1.jsxs(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'general', onClick: () => setTab('general'), children: [
812
+ jsx_runtime_1.jsx("div", { style: render_modals_1.iconContainer, children: jsx_runtime_1.jsx(file_1.FileIcon, { style: render_modals_1.icon }) }),
813
+ "General"] })) : null, shownTabs.includes('data') ? (jsx_runtime_1.jsxs(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'data', onClick: () => setTab('data'), children: [
814
+ jsx_runtime_1.jsx("div", { style: render_modals_1.iconContainer, children: jsx_runtime_1.jsx(data_1.DataIcon, { style: render_modals_1.icon }) }),
815
+ "Input Props"] })) : null, shownTabs.includes('picture') ? (jsx_runtime_1.jsxs(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'picture', onClick: () => setTab('picture'), children: [
816
+ jsx_runtime_1.jsx("div", { style: render_modals_1.iconContainer, children: jsx_runtime_1.jsx(frame_1.PicIcon, { style: render_modals_1.icon }) }),
817
+ "Picture"] })) : null, shownTabs.includes('audio') ? (jsx_runtime_1.jsxs(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'audio', onClick: () => setTab('audio'), children: [
818
+ jsx_runtime_1.jsx("div", { style: render_modals_1.iconContainer, children: jsx_runtime_1.jsx(audio_1.AudioIcon, { style: render_modals_1.icon }) }),
819
+ "Audio"] })) : null, shownTabs.includes('gif') ? (jsx_runtime_1.jsxs(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'gif', onClick: () => setTab('gif'), children: [
820
+ jsx_runtime_1.jsx("div", { style: render_modals_1.iconContainer, children: jsx_runtime_1.jsx(gif_1.GifIcon, { style: render_modals_1.icon }) }),
821
+ "GIF"] })) : null, shownTabs.includes('advanced') ? (jsx_runtime_1.jsxs(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'advanced', onClick: () => setTab('advanced'), children: [
822
+ jsx_runtime_1.jsx("div", { style: render_modals_1.iconContainer, children: jsx_runtime_1.jsx(gear_1.GearIcon, { style: render_modals_1.icon }) }),
823
+ "Other"] })) : null] }), jsx_runtime_1.jsx("div", { style: render_modals_1.optionsPanel, className: is_menu_item_1.VERTICAL_SCROLLBAR_CLASSNAME, children: tab === 'general' ? (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, setVerboseLogging: setLogLevel, logLevel: logLevel, startFrame: startFrame, validationMessage: outnameValidation.valid ? null : outnameValidation.error.message })) : tab === 'picture' ? (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, compositionWidth: resolvedComposition.width, compositionHeight: resolvedComposition.height })) : tab === 'audio' ? (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, forSeamlessAacConcatenation: forSeamlessAacConcatenation, setForSeamlessAacConcatenation: setForSeamlessAacConcatenation, separateAudioTo: separateAudioTo, setSeparateAudioTo: setSeparateAudioTo, outName: outName })) : tab === 'gif' ? (jsx_runtime_1.jsx(RenderModalGif_1.RenderModalGif, { everyNthFrame: everyNthFrame, limitNumberOfGifLoops: limitNumberOfGifLoops, numberOfGifLoopsSetting: numberOfGifLoopsSetting, setEveryNthFrameSetting: setEveryNthFrameSetting, setLimitNumberOfGifLoops: setLimitNumberOfGifLoops, setNumberOfGifLoopsSetting: setNumberOfGifLoopsSetting })) : tab === 'data' ? (jsx_runtime_1.jsx(DataEditor_1.DataEditor, { defaultProps: inputProps, setDefaultProps: setInputProps, unresolvedComposition: unresolvedComposition, mayShowSaveButton: false, propsEditType: "input-props", saving: saving, setSaving: setSaving, readOnlyStudio: false })) : (jsx_runtime_1.jsx(RenderModalAdvanced_1.RenderModalAdvanced, { x264Preset: x264Preset, setx264Preset: setx264Preset, concurrency: concurrency, maxConcurrency: maxConcurrency, minConcurrency: minConcurrency, renderMode: renderMode, setConcurrency: setConcurrency, 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, setMediaCacheSizeInBytes: setMediaCacheSizeInBytes, mediaCacheSizeInBytes: mediaCacheSizeInBytes, setOffthreadVideoCacheSizeInBytes: setOffthreadVideoCacheSizeInBytes, offthreadVideoThreads: offthreadVideoThreads, setOffthreadVideoThreads: setOffthreadVideoThreads, enableMultiProcessOnLinux: multiProcessOnLinux, setChromiumMultiProcessOnLinux: setChromiumMultiProcessOnLinux, codec: codec, userAgent: userAgent, setUserAgent: setUserAgent, setBeep: setBeepOnFinish, beep: beepOnFinish, repro: repro, setRepro: setRepro, hardwareAcceleration: hardwareAcceleration, setHardwareAcceleration: setHardwareAcceleration, chromeModeOption: chromeMode, setChromeModeOption: setChromeMode, darkMode: darkMode, setDarkMode: setDarkMode })) })
824
+ ] })
825
+ ] }));
804
826
  };
805
827
  const RenderModalWithLoader = (props) => {
806
- return ((0, jsx_runtime_1.jsx)(DismissableModal_1.DismissableModal, { children: (0, jsx_runtime_1.jsx)(ResolveCompositionBeforeModal_1.ResolveCompositionBeforeModal, { compositionId: props.compositionId, children: (0, jsx_runtime_1.jsx)(RenderModal, { ...props }) }) }));
828
+ return (jsx_runtime_1.jsx(DismissableModal_1.DismissableModal, { children: jsx_runtime_1.jsx(ResolveCompositionBeforeModal_1.ResolveCompositionBeforeModal, { compositionId: props.compositionId, children: jsx_runtime_1.jsx(RenderModal, { ...props }) }) }));
807
829
  };
808
830
  exports.RenderModalWithLoader = RenderModalWithLoader;
@@ -28,7 +28,7 @@ const triangleStyle = {
28
28
  fill: colors_1.WARNING_COLOR,
29
29
  };
30
30
  const WarningTriangle = (props) => {
31
- return ((0, jsx_runtime_1.jsx)("svg", { viewBox: "0 0 576 512", ...props, children: (0, jsx_runtime_1.jsx)("path", { d: "M248.747 204.705l6.588 112c.373 6.343 5.626 11.295 11.979 11.295h41.37a12 12 0 0 0 11.979-11.295l6.588-112c.405-6.893-5.075-12.705-11.979-12.705h-54.547c-6.903 0-12.383 5.812-11.978 12.705zM330 384c0 23.196-18.804 42-42 42s-42-18.804-42-42 18.804-42 42-42 42 18.804 42 42zm-.423-360.015c-18.433-31.951-64.687-32.009-83.154 0L6.477 440.013C-11.945 471.946 11.118 512 48.054 512H527.94c36.865 0 60.035-39.993 41.577-71.987L329.577 23.985zM53.191 455.002L282.803 57.008c2.309-4.002 8.085-4.002 10.394 0l229.612 397.993c2.308 4-.579 8.998-5.197 8.998H58.388c-4.617.001-7.504-4.997-5.197-8.997z" }) }));
31
+ return (jsx_runtime_1.jsx("svg", { viewBox: "0 0 576 512", ...props, children: jsx_runtime_1.jsx("path", { d: "M248.747 204.705l6.588 112c.373 6.343 5.626 11.295 11.979 11.295h41.37a12 12 0 0 0 11.979-11.295l6.588-112c.405-6.893-5.075-12.705-11.979-12.705h-54.547c-6.903 0-12.383 5.812-11.978 12.705zM330 384c0 23.196-18.804 42-42 42s-42-18.804-42-42 18.804-42 42-42 42 18.804 42 42zm-.423-360.015c-18.433-31.951-64.687-32.009-83.154 0L6.477 440.013C-11.945 471.946 11.118 512 48.054 512H527.94c36.865 0 60.035-39.993 41.577-71.987L329.577 23.985zM53.191 455.002L282.803 57.008c2.309-4.002 8.085-4.002 10.394 0l229.612 397.993c2.308 4-.579 8.998-5.197 8.998H58.388c-4.617.001-7.504-4.997-5.197-8.997z" }) }));
32
32
  };
33
33
  const WarningIndicatorButton = ({ setShowWarning, showWarning, warningCount }) => {
34
34
  const onClick = (0, react_1.useCallback)(() => {
@@ -44,6 +44,8 @@ const WarningIndicatorButton = ({ setShowWarning, showWarning, warningCount }) =
44
44
  color: showWarning ? 'white' : colors_1.LIGHT_TEXT,
45
45
  };
46
46
  }, [showWarning]);
47
- return ((0, jsx_runtime_1.jsxs)("button", { type: "button", style: buttonStyle, onClick: onClick, children: [(0, jsx_runtime_1.jsx)(WarningTriangle, { style: triangleStyle }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 0.5 }), warningCount, (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), (0, jsx_runtime_1.jsx)(caret_1.AngleDown, { down: showWarning })] }));
47
+ return (jsx_runtime_1.jsxs("button", { type: "button", style: buttonStyle, onClick: onClick, children: [
48
+ jsx_runtime_1.jsx(WarningTriangle, { style: triangleStyle }), jsx_runtime_1.jsx(layout_1.Spacing, { x: 0.5 }), warningCount, jsx_runtime_1.jsx(layout_1.Spacing, { x: 1 }), jsx_runtime_1.jsx(caret_1.AngleDown, { down: showWarning })
49
+ ] }));
48
50
  };
49
51
  exports.WarningIndicatorButton = WarningIndicatorButton;
@@ -148,10 +148,12 @@ const WebRenderModal = ({ initialFrame, defaultProps, inFrameMark, outFrameMark,
148
148
  return Math.max(0, Math.min(finalEndFrame, startFrame));
149
149
  }, [finalEndFrame, startFrame]);
150
150
  const [initialOutNameState] = (0, react_1.useState)(() => {
151
+ var _a;
152
+ var _b;
151
153
  if (initialDefaultOutName) {
152
154
  return initialDefaultOutName;
153
155
  }
154
- return (0, studio_shared_1.getDefaultOutLocation)({
156
+ const defaultOut = (0, studio_shared_1.getDefaultOutLocation)({
155
157
  compositionName: resolvedComposition.id,
156
158
  defaultExtension: renderMode === 'still'
157
159
  ? imageFormat
@@ -160,8 +162,12 @@ const WebRenderModal = ({ initialFrame, defaultProps, inFrameMark, outFrameMark,
160
162
  : imageFormat,
161
163
  type: 'asset',
162
164
  compositionDefaultOutName: resolvedComposition.defaultOutName,
163
- clientSideRender: true,
165
+ outputLocation: (_b = (_a = window.remotion_renderDefaults) === null || _a === void 0 ? void 0 : _a.outputLocation) !== null && _b !== void 0 ? _b : null,
164
166
  });
167
+ if (window.remotion_isReadOnlyStudio) {
168
+ return defaultOut.replace(/^out\//, '');
169
+ }
170
+ return defaultOut;
165
171
  });
166
172
  const [outName, setOutName] = (0, react_1.useState)(() => initialOutNameState);
167
173
  const setStillFormat = (0, react_1.useCallback)((format) => {
@@ -277,10 +283,11 @@ const WebRenderModal = ({ initialFrame, defaultProps, inFrameMark, outFrameMark,
277
283
  }
278
284
  }, [outName, imageFormat, renderMode, container]);
279
285
  const onAddToQueue = (0, react_1.useCallback)(() => {
280
- var _a, _b;
286
+ var _a;
287
+ var _b;
281
288
  const compositionRef = {
282
289
  component: unresolvedComposition.component,
283
- calculateMetadata: (_a = unresolvedComposition.calculateMetadata) !== null && _a !== void 0 ? _a : null,
290
+ calculateMetadata: (_b = unresolvedComposition.calculateMetadata) !== null && _b !== void 0 ? _b : null,
284
291
  width: resolvedComposition.width,
285
292
  height: resolvedComposition.height,
286
293
  fps: resolvedComposition.fps,
@@ -328,7 +335,7 @@ const WebRenderModal = ({ initialFrame, defaultProps, inFrameMark, outFrameMark,
328
335
  }
329
336
  setSidebarCollapsedState({ left: null, right: 'expanded' });
330
337
  (0, OptionsPanel_1.persistSelectedOptionsSidebarPanel)('renders');
331
- (_b = OptionsPanel_1.optionsSidebarTabs.current) === null || _b === void 0 ? void 0 : _b.selectRendersPanel();
338
+ (_a = OptionsPanel_1.optionsSidebarTabs.current) === null || _a === void 0 ? void 0 : _a.selectRendersPanel();
332
339
  setSelectedModal(null);
333
340
  }, [
334
341
  renderMode,
@@ -365,9 +372,30 @@ const WebRenderModal = ({ initialFrame, defaultProps, inFrameMark, outFrameMark,
365
372
  addClientVideoJob,
366
373
  scale,
367
374
  ]);
368
- return ((0, jsx_runtime_1.jsxs)("div", { style: render_modals_1.outerModalStyle, children: [(0, jsx_runtime_1.jsx)(ModalHeader_1.ModalHeader, { title: `Render ${resolvedComposition.id}` }), (0, jsx_runtime_1.jsxs)("div", { style: render_modals_1.container, children: [(0, jsx_runtime_1.jsx)(SegmentedControl_1.SegmentedControl, { items: renderTabOptions, needsWrapping: false }), (0, jsx_runtime_1.jsx)("div", { style: render_modals_1.flexer }), (0, jsx_runtime_1.jsxs)(Button_1.Button, { autoFocus: true, onClick: onAddToQueue, style: render_modals_1.buttonStyle, disabled: !outnameValidation.valid, children: ["Render ", renderMode, (0, jsx_runtime_1.jsx)(ShortcutHint_1.ShortcutHint, { keyToPress: "\u21B5", cmdOrCtrl: true })] })] }), (0, jsx_runtime_1.jsx)("div", { style: render_modals_1.container, children: (0, jsx_runtime_1.jsx)(WebRendererExperimentalBadge_1.WebRendererExperimentalBadge, {}) }), (0, jsx_runtime_1.jsxs)("div", { style: render_modals_1.horizontalLayout, children: [(0, jsx_runtime_1.jsxs)("div", { style: render_modals_1.leftSidebar, children: [(0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'general', onClick: () => setTab('general'), children: [(0, jsx_runtime_1.jsx)("div", { style: render_modals_1.iconContainer, children: (0, jsx_runtime_1.jsx)(file_1.FileIcon, { style: render_modals_1.icon }) }), "General"] }), (0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'data', onClick: () => setTab('data'), children: [(0, jsx_runtime_1.jsx)("div", { style: render_modals_1.iconContainer, children: (0, jsx_runtime_1.jsx)(data_1.DataIcon, { style: render_modals_1.icon }) }), "Input Props"] }), (0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'picture', onClick: () => setTab('picture'), children: [(0, jsx_runtime_1.jsx)("div", { style: render_modals_1.iconContainer, children: (0, jsx_runtime_1.jsx)(frame_1.PicIcon, { style: render_modals_1.icon }) }), "Picture"] }), renderMode === 'video' ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'audio', onClick: () => setTab('audio'), children: [(0, jsx_runtime_1.jsx)("div", { style: render_modals_1.iconContainer, children: (0, jsx_runtime_1.jsx)(audio_1.AudioIcon, { style: render_modals_1.icon }) }), "Audio"] })) : null, (0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'advanced', onClick: () => setTab('advanced'), children: [(0, jsx_runtime_1.jsx)("div", { style: render_modals_1.iconContainer, children: (0, jsx_runtime_1.jsx)(gear_1.GearIcon, { style: render_modals_1.icon }) }), "Other"] }), (0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'license', onClick: () => setTab('license'), children: [(0, jsx_runtime_1.jsx)("div", { style: render_modals_1.iconContainer, children: (0, jsx_runtime_1.jsx)(certificate_1.CertificateIcon, { style: render_modals_1.icon }) }), "License"] })] }), (0, jsx_runtime_1.jsx)("div", { style: render_modals_1.optionsPanel, className: is_menu_item_1.VERTICAL_SCROLLBAR_CLASSNAME, children: tab === 'general' ? ((0, jsx_runtime_1.jsx)(WebRenderModalBasic_1.WebRenderModalBasic, { renderMode: renderMode, resolvedComposition: resolvedComposition, imageFormat: imageFormat, setStillFormat: setStillFormat, frame: frame, onFrameChanged: onFrameChanged, onFrameSetDirectly: onFrameSetDirectly, container: container, setContainerFormat: setContainerFormat, setCodec: setCodec, encodableVideoCodecs: encodableVideoCodecs, effectiveVideoCodec: effectiveVideoCodec, startFrame: finalStartFrame, setStartFrame: setStartFrame, endFrame: finalEndFrame, setEndFrame: setEndFrame, outName: outName, onOutNameChange: onOutNameChange, validationMessage: outnameValidation.valid ? null : outnameValidation.error.message, logLevel: logLevel, setLogLevel: setLogLevel })) : tab === 'data' ? ((0, jsx_runtime_1.jsx)(DataEditor_1.DataEditor, { defaultProps: inputProps, setDefaultProps: setInputProps, unresolvedComposition: unresolvedComposition, mayShowSaveButton: false, propsEditType: "input-props", saving: saving, setSaving: setSaving, readOnlyStudio: false })) : tab === 'picture' ? ((0, jsx_runtime_1.jsx)(WebRenderModalPicture_1.WebRenderModalPicture, { renderMode: renderMode, videoBitrate: videoBitrate, setVideoBitrate: setVideoBitrate, keyframeIntervalInSeconds: keyframeIntervalInSeconds, setKeyframeIntervalInSeconds: setKeyframeIntervalInSeconds, transparent: transparent, setTransparent: setTransparent, scale: scale, setScale: setScale, compositionWidth: resolvedComposition.width, compositionHeight: resolvedComposition.height })) : tab === 'audio' ? ((0, jsx_runtime_1.jsx)(WebRenderModalAudio_1.WebRenderModalAudio, { muted: muted, setMuted: setMuted, audioCodec: audioCodec, setAudioCodec: setAudioCodec, audioBitrate: audioBitrate, setAudioBitrate: setAudioBitrate, container: container, encodableCodecs: encodableAudioCodecs, effectiveAudioCodec: effectiveAudioCodec })) : tab === 'advanced' ? ((0, jsx_runtime_1.jsx)(WebRenderModalAdvanced_1.WebRenderModalAdvanced, { renderMode: renderMode, delayRenderTimeout: delayRenderTimeout, setDelayRenderTimeout: setDelayRenderTimeout, mediaCacheSizeInBytes: mediaCacheSizeInBytes, setMediaCacheSizeInBytes: setMediaCacheSizeInBytes, hardwareAcceleration: hardwareAcceleration, setHardwareAcceleration: setHardwareAcceleration })) : ((0, jsx_runtime_1.jsx)(WebRenderModalLicense_1.WebRenderModalLicense, { licenseKey: licenseKey, setLicenseKey: setLicenseKey, initialPublicLicenseKey: initialLicenseKey })) })] })] }));
375
+ return (jsx_runtime_1.jsxs("div", { style: render_modals_1.outerModalStyle, children: [
376
+ jsx_runtime_1.jsx(ModalHeader_1.ModalHeader, { title: `Render ${resolvedComposition.id}` }), jsx_runtime_1.jsxs("div", { style: render_modals_1.container, children: [
377
+ jsx_runtime_1.jsx(SegmentedControl_1.SegmentedControl, { items: renderTabOptions, needsWrapping: false }), jsx_runtime_1.jsx("div", { style: render_modals_1.flexer }), jsx_runtime_1.jsxs(Button_1.Button, { autoFocus: true, onClick: onAddToQueue, style: render_modals_1.buttonStyle, disabled: !outnameValidation.valid, children: ["Render ", renderMode, jsx_runtime_1.jsx(ShortcutHint_1.ShortcutHint, { keyToPress: "\u21B5", cmdOrCtrl: true })
378
+ ] })
379
+ ] }), jsx_runtime_1.jsx("div", { style: render_modals_1.container, children: jsx_runtime_1.jsx(WebRendererExperimentalBadge_1.WebRendererExperimentalBadge, {}) }), jsx_runtime_1.jsxs("div", { style: render_modals_1.horizontalLayout, children: [
380
+ jsx_runtime_1.jsxs("div", { style: render_modals_1.leftSidebar, children: [
381
+ jsx_runtime_1.jsxs(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'general', onClick: () => setTab('general'), children: [
382
+ jsx_runtime_1.jsx("div", { style: render_modals_1.iconContainer, children: jsx_runtime_1.jsx(file_1.FileIcon, { style: render_modals_1.icon }) }),
383
+ "General"] }), jsx_runtime_1.jsxs(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'data', onClick: () => setTab('data'), children: [
384
+ jsx_runtime_1.jsx("div", { style: render_modals_1.iconContainer, children: jsx_runtime_1.jsx(data_1.DataIcon, { style: render_modals_1.icon }) }),
385
+ "Input Props"] }), jsx_runtime_1.jsxs(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'picture', onClick: () => setTab('picture'), children: [
386
+ jsx_runtime_1.jsx("div", { style: render_modals_1.iconContainer, children: jsx_runtime_1.jsx(frame_1.PicIcon, { style: render_modals_1.icon }) }),
387
+ "Picture"] }), renderMode === 'video' ? (jsx_runtime_1.jsxs(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'audio', onClick: () => setTab('audio'), children: [
388
+ jsx_runtime_1.jsx("div", { style: render_modals_1.iconContainer, children: jsx_runtime_1.jsx(audio_1.AudioIcon, { style: render_modals_1.icon }) }),
389
+ "Audio"] })) : null, jsx_runtime_1.jsxs(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'advanced', onClick: () => setTab('advanced'), children: [
390
+ jsx_runtime_1.jsx("div", { style: render_modals_1.iconContainer, children: jsx_runtime_1.jsx(gear_1.GearIcon, { style: render_modals_1.icon }) }),
391
+ "Other"] }), jsx_runtime_1.jsxs(vertical_1.VerticalTab, { style: render_modals_1.horizontalTab, selected: tab === 'license', onClick: () => setTab('license'), children: [
392
+ jsx_runtime_1.jsx("div", { style: render_modals_1.iconContainer, children: jsx_runtime_1.jsx(certificate_1.CertificateIcon, { style: render_modals_1.icon }) }),
393
+ "License"] })
394
+ ] }), jsx_runtime_1.jsx("div", { style: render_modals_1.optionsPanel, className: is_menu_item_1.VERTICAL_SCROLLBAR_CLASSNAME, children: tab === 'general' ? (jsx_runtime_1.jsx(WebRenderModalBasic_1.WebRenderModalBasic, { renderMode: renderMode, resolvedComposition: resolvedComposition, imageFormat: imageFormat, setStillFormat: setStillFormat, frame: frame, onFrameChanged: onFrameChanged, onFrameSetDirectly: onFrameSetDirectly, container: container, setContainerFormat: setContainerFormat, setCodec: setCodec, encodableVideoCodecs: encodableVideoCodecs, effectiveVideoCodec: effectiveVideoCodec, startFrame: finalStartFrame, setStartFrame: setStartFrame, endFrame: finalEndFrame, setEndFrame: setEndFrame, outName: outName, onOutNameChange: onOutNameChange, validationMessage: outnameValidation.valid ? null : outnameValidation.error.message, logLevel: logLevel, setLogLevel: setLogLevel })) : tab === 'data' ? (jsx_runtime_1.jsx(DataEditor_1.DataEditor, { defaultProps: inputProps, setDefaultProps: setInputProps, unresolvedComposition: unresolvedComposition, mayShowSaveButton: false, propsEditType: "input-props", saving: saving, setSaving: setSaving, readOnlyStudio: false })) : tab === 'picture' ? (jsx_runtime_1.jsx(WebRenderModalPicture_1.WebRenderModalPicture, { renderMode: renderMode, videoBitrate: videoBitrate, setVideoBitrate: setVideoBitrate, keyframeIntervalInSeconds: keyframeIntervalInSeconds, setKeyframeIntervalInSeconds: setKeyframeIntervalInSeconds, transparent: transparent, setTransparent: setTransparent, scale: scale, setScale: setScale, compositionWidth: resolvedComposition.width, compositionHeight: resolvedComposition.height })) : tab === 'audio' ? (jsx_runtime_1.jsx(WebRenderModalAudio_1.WebRenderModalAudio, { muted: muted, setMuted: setMuted, audioCodec: audioCodec, setAudioCodec: setAudioCodec, audioBitrate: audioBitrate, setAudioBitrate: setAudioBitrate, container: container, encodableCodecs: encodableAudioCodecs, effectiveAudioCodec: effectiveAudioCodec })) : tab === 'advanced' ? (jsx_runtime_1.jsx(WebRenderModalAdvanced_1.WebRenderModalAdvanced, { renderMode: renderMode, delayRenderTimeout: delayRenderTimeout, setDelayRenderTimeout: setDelayRenderTimeout, mediaCacheSizeInBytes: mediaCacheSizeInBytes, setMediaCacheSizeInBytes: setMediaCacheSizeInBytes, hardwareAcceleration: hardwareAcceleration, setHardwareAcceleration: setHardwareAcceleration })) : (jsx_runtime_1.jsx(WebRenderModalLicense_1.WebRenderModalLicense, { licenseKey: licenseKey, setLicenseKey: setLicenseKey, initialPublicLicenseKey: initialLicenseKey })) })
395
+ ] })
396
+ ] }));
369
397
  };
370
398
  const WebRenderModalWithLoader = (props) => {
371
- return ((0, jsx_runtime_1.jsx)(DismissableModal_1.DismissableModal, { children: (0, jsx_runtime_1.jsx)(ResolveCompositionBeforeModal_1.ResolveCompositionBeforeModal, { compositionId: props.compositionId, children: (0, jsx_runtime_1.jsx)(WebRenderModal, { ...props }) }) }));
399
+ return (jsx_runtime_1.jsx(DismissableModal_1.DismissableModal, { children: jsx_runtime_1.jsx(ResolveCompositionBeforeModal_1.ResolveCompositionBeforeModal, { compositionId: props.compositionId, children: jsx_runtime_1.jsx(WebRenderModal, { ...props }) }) }));
372
400
  };
373
401
  exports.WebRenderModalWithLoader = WebRenderModalWithLoader;
@@ -38,7 +38,7 @@ const WebRenderModalAdvanced = ({ renderMode, delayRenderTimeout, setDelayRender
38
38
  {
39
39
  label: 'No Preference',
40
40
  onClick: () => setHardwareAcceleration('no-preference'),
41
- leftItem: hardwareAcceleration === 'no-preference' ? (0, jsx_runtime_1.jsx)(Checkmark_1.Checkmark, {}) : null,
41
+ leftItem: hardwareAcceleration === 'no-preference' ? jsx_runtime_1.jsx(Checkmark_1.Checkmark, {}) : null,
42
42
  id: 'no-preference',
43
43
  keyHint: null,
44
44
  quickSwitcherLabel: null,
@@ -49,7 +49,7 @@ const WebRenderModalAdvanced = ({ renderMode, delayRenderTimeout, setDelayRender
49
49
  {
50
50
  label: 'Prefer Hardware',
51
51
  onClick: () => setHardwareAcceleration('prefer-hardware'),
52
- leftItem: hardwareAcceleration === 'prefer-hardware' ? (0, jsx_runtime_1.jsx)(Checkmark_1.Checkmark, {}) : null,
52
+ leftItem: hardwareAcceleration === 'prefer-hardware' ? jsx_runtime_1.jsx(Checkmark_1.Checkmark, {}) : null,
53
53
  id: 'prefer-hardware',
54
54
  keyHint: null,
55
55
  quickSwitcherLabel: null,
@@ -60,7 +60,7 @@ const WebRenderModalAdvanced = ({ renderMode, delayRenderTimeout, setDelayRender
60
60
  {
61
61
  label: 'Prefer Software',
62
62
  onClick: () => setHardwareAcceleration('prefer-software'),
63
- leftItem: hardwareAcceleration === 'prefer-software' ? (0, jsx_runtime_1.jsx)(Checkmark_1.Checkmark, {}) : null,
63
+ leftItem: hardwareAcceleration === 'prefer-software' ? jsx_runtime_1.jsx(Checkmark_1.Checkmark, {}) : null,
64
64
  id: 'prefer-software',
65
65
  keyHint: null,
66
66
  quickSwitcherLabel: null,
@@ -70,6 +70,13 @@ const WebRenderModalAdvanced = ({ renderMode, delayRenderTimeout, setDelayRender
70
70
  },
71
71
  ];
72
72
  }, [hardwareAcceleration, setHardwareAcceleration]);
73
- return ((0, jsx_runtime_1.jsxs)("div", { style: tabContainer, children: [(0, jsx_runtime_1.jsx)(NumberSetting_1.NumberSetting, { name: "Delay Render Timeout", formatter: (v) => `${v}ms`, min: 0, max: 1000000000, step: 1000, value: delayRenderTimeout, onValueChanged: setDelayRenderTimeout, hint: "delayRenderTimeoutInMillisecondsOption" }), (0, jsx_runtime_1.jsxs)("div", { style: layout_2.optionRow, children: [(0, jsx_runtime_1.jsxs)("div", { style: layout_2.label, children: ["Custom @remotion/media cache size ", (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 0.5 }), (0, jsx_runtime_1.jsx)(OptionExplainerBubble_1.OptionExplainerBubble, { id: "mediaCacheSizeInBytesOption" })] }), (0, jsx_runtime_1.jsx)("div", { style: layout_2.rightRow, children: (0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { checked: mediaCacheSizeInBytes !== null, onChange: toggleCustomMediaCacheSizeInBytes, name: "media-cache-size" }) })] }), mediaCacheSizeInBytes === null ? null : ((0, jsx_runtime_1.jsx)(NumberSetting_1.NumberSetting, { name: "@remotion/media cache size", formatter: (w) => `${w} bytes`, min: 0, max: 10000000000, step: 10 * 1024 * 1024, value: mediaCacheSizeInBytes, onValueChanged: changeMediaCacheSizeInBytes })), renderMode === 'video' ? ((0, jsx_runtime_1.jsxs)("div", { style: layout_2.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_2.label, children: "Hardware Acceleration" }), (0, jsx_runtime_1.jsx)("div", { style: layout_2.rightRow, children: (0, jsx_runtime_1.jsx)(ComboBox_1.Combobox, { values: hardwareAccelerationOptions, selectedId: hardwareAcceleration, title: "Hardware Acceleration" }) })] })) : null] }));
73
+ return (jsx_runtime_1.jsxs("div", { style: tabContainer, children: [
74
+ jsx_runtime_1.jsx(NumberSetting_1.NumberSetting, { name: "Delay Render Timeout", formatter: (v) => `${v}ms`, min: 0, max: 1000000000, step: 1000, value: delayRenderTimeout, onValueChanged: setDelayRenderTimeout, hint: "delayRenderTimeoutInMillisecondsOption" }), jsx_runtime_1.jsxs("div", { style: layout_2.optionRow, children: [
75
+ jsx_runtime_1.jsxs("div", { style: layout_2.label, children: ["Custom @remotion/media cache size ",
76
+ jsx_runtime_1.jsx(layout_1.Spacing, { x: 0.5 }), jsx_runtime_1.jsx(OptionExplainerBubble_1.OptionExplainerBubble, { id: "mediaCacheSizeInBytesOption" })
77
+ ] }), jsx_runtime_1.jsx("div", { style: layout_2.rightRow, children: jsx_runtime_1.jsx(Checkbox_1.Checkbox, { checked: mediaCacheSizeInBytes !== null, onChange: toggleCustomMediaCacheSizeInBytes, name: "media-cache-size" }) })
78
+ ] }), mediaCacheSizeInBytes === null ? null : (jsx_runtime_1.jsx(NumberSetting_1.NumberSetting, { name: "@remotion/media cache size", formatter: (w) => `${w} bytes`, min: 0, max: 10000000000, step: 10 * 1024 * 1024, value: mediaCacheSizeInBytes, onValueChanged: changeMediaCacheSizeInBytes })), renderMode === 'video' ? (jsx_runtime_1.jsxs("div", { style: layout_2.optionRow, children: [
79
+ jsx_runtime_1.jsx("div", { style: layout_2.label, children: "Hardware Acceleration" }), jsx_runtime_1.jsx("div", { style: layout_2.rightRow, children: jsx_runtime_1.jsx(ComboBox_1.Combobox, { values: hardwareAccelerationOptions, selectedId: hardwareAcceleration, title: "Hardware Acceleration" }) })
80
+ ] })) : null] }));
74
81
  };
75
82
  exports.WebRenderModalAdvanced = WebRenderModalAdvanced;
@@ -46,7 +46,7 @@ const WebRenderModalAudio = ({ muted, setMuted, audioCodec, setAudioCodec, audio
46
46
  return {
47
47
  label: humanReadableWebAudioCodec(codec),
48
48
  onClick: () => setAudioCodec(codec),
49
- leftItem: audioCodec === codec ? (0, jsx_runtime_1.jsx)(Checkmark_1.Checkmark, {}) : null,
49
+ leftItem: audioCodec === codec ? jsx_runtime_1.jsx(Checkmark_1.Checkmark, {}) : null,
50
50
  id: codec,
51
51
  keyHint: null,
52
52
  quickSwitcherLabel: null,
@@ -58,6 +58,16 @@ const WebRenderModalAudio = ({ muted, setMuted, audioCodec, setAudioCodec, audio
58
58
  });
59
59
  }, [containerSupported, encodableCodecs, audioCodec, setAudioCodec]);
60
60
  const audioBitrateOptions = (0, react_1.useMemo)(() => (0, quality_options_1.getQualityOptions)(audioBitrate, setAudioBitrate), [audioBitrate, setAudioBitrate]);
61
- return ((0, jsx_runtime_1.jsxs)("div", { style: container, className: is_menu_item_1.VERTICAL_SCROLLBAR_CLASSNAME, children: [(0, jsx_runtime_1.jsx)(MutedSetting_1.MutedSetting, { enforceAudioTrack: false, muted: muted, setMuted: setMuted }), !muted ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(RenderModalHr_1.RenderModalHr, {}), (0, jsx_runtime_1.jsxs)("div", { style: layout_2.optionRow, children: [(0, jsx_runtime_1.jsxs)("div", { style: layout_2.label, children: ["Audio Quality", (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 0.5 })] }), (0, jsx_runtime_1.jsx)("div", { style: layout_2.rightRow, children: (0, jsx_runtime_1.jsx)(ComboBox_1.Combobox, { values: audioBitrateOptions, selectedId: audioBitrate, title: "Audio Quality" }) })] }), (0, jsx_runtime_1.jsxs)("div", { style: layout_2.optionRow, children: [(0, jsx_runtime_1.jsxs)("div", { style: layout_2.label, children: ["Audio Codec", (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 0.5 })] }), (0, jsx_runtime_1.jsx)("div", { style: layout_2.rightRow, children: (0, jsx_runtime_1.jsx)(ComboBox_1.Combobox, { values: audioCodecOptions, selectedId: audioCodec, title: "Audio Codec" }) })] }), effectiveAudioCodec !== audioCodec ? ((0, jsx_runtime_1.jsxs)("div", { style: fallbackNoticeStyle, children: [humanReadableWebAudioCodec(audioCodec), " is not available in this browser. Using ", humanReadableWebAudioCodec(effectiveAudioCodec), ' ', "instead."] })) : null] })) : null] }));
61
+ return (jsx_runtime_1.jsxs("div", { style: container, className: is_menu_item_1.VERTICAL_SCROLLBAR_CLASSNAME, children: [
62
+ jsx_runtime_1.jsx(MutedSetting_1.MutedSetting, { enforceAudioTrack: false, muted: muted, setMuted: setMuted }), !muted ? (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
63
+ jsx_runtime_1.jsx(RenderModalHr_1.RenderModalHr, {}), jsx_runtime_1.jsxs("div", { style: layout_2.optionRow, children: [
64
+ jsx_runtime_1.jsxs("div", { style: layout_2.label, children: ["Audio Quality",
65
+ jsx_runtime_1.jsx(layout_1.Spacing, { x: 0.5 })
66
+ ] }), jsx_runtime_1.jsx("div", { style: layout_2.rightRow, children: jsx_runtime_1.jsx(ComboBox_1.Combobox, { values: audioBitrateOptions, selectedId: audioBitrate, title: "Audio Quality" }) })
67
+ ] }), jsx_runtime_1.jsxs("div", { style: layout_2.optionRow, children: [
68
+ jsx_runtime_1.jsxs("div", { style: layout_2.label, children: ["Audio Codec",
69
+ jsx_runtime_1.jsx(layout_1.Spacing, { x: 0.5 })
70
+ ] }), jsx_runtime_1.jsx("div", { style: layout_2.rightRow, children: jsx_runtime_1.jsx(ComboBox_1.Combobox, { values: audioCodecOptions, selectedId: audioCodec, title: "Audio Codec" }) })
71
+ ] }), effectiveAudioCodec !== audioCodec ? (jsx_runtime_1.jsxs("div", { style: fallbackNoticeStyle, children: [humanReadableWebAudioCodec(audioCodec), " is not available in this browser. Using ", humanReadableWebAudioCodec(effectiveAudioCodec), ' ', "instead."] })) : null] })) : null] }));
62
72
  };
63
73
  exports.WebRenderModalAudio = WebRenderModalAudio;