@remotion/studio 4.0.423 → 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 (360) 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/toggle.d.ts +1 -1
  11. package/dist/components/AskAiModal.js +3 -1
  12. package/dist/components/AssetSelector.js +21 -58
  13. package/dist/components/AssetSelectorItem.js +15 -9
  14. package/dist/components/AudioWaveform.js +5 -4
  15. package/dist/components/AudioWaveformBar.js +1 -1
  16. package/dist/components/Button.js +1 -1
  17. package/dist/components/Canvas.js +2 -1
  18. package/dist/components/CanvasIfSizeIsAvailable.js +1 -1
  19. package/dist/components/CanvasOrLoading.js +12 -6
  20. package/dist/components/CheckboardToggle.js +1 -1
  21. package/dist/components/Checkbox.js +3 -1
  22. package/dist/components/CheckerboardProvider.js +1 -1
  23. package/dist/components/CompSelectorRef.js +1 -1
  24. package/dist/components/CompositionContextButton.js +2 -2
  25. package/dist/components/CompositionSelector.js +4 -3
  26. package/dist/components/CompositionSelectorItem.js +6 -3
  27. package/dist/components/ContextMenu.js +3 -2
  28. package/dist/components/ControlButton.d.ts +1 -1
  29. package/dist/components/ControlButton.js +1 -1
  30. package/dist/components/CopyButton.js +3 -2
  31. package/dist/components/CurrentAsset.d.ts +3 -0
  32. package/dist/components/CurrentAsset.js +113 -0
  33. package/dist/components/CurrentComposition.js +3 -2
  34. package/dist/components/Editor.js +6 -1
  35. package/dist/components/EditorContent.js +6 -1
  36. package/dist/components/EditorContexts.js +3 -1
  37. package/dist/components/EditorGuides/Guide.js +1 -1
  38. package/dist/components/EditorGuides/index.js +2 -2
  39. package/dist/components/EditorRuler/Ruler.js +1 -1
  40. package/dist/components/EditorRuler/index.js +3 -1
  41. package/dist/components/ExplorerPanel.js +4 -1
  42. package/dist/components/FilePreview.js +8 -6
  43. package/dist/components/FpsCounter.js +1 -1
  44. package/dist/components/FullscreenToggle.js +1 -1
  45. package/dist/components/GlobalPropsEditorUpdateButton.js +3 -1
  46. package/dist/components/InitialCompositionLoader.d.ts +1 -2
  47. package/dist/components/InitialCompositionLoader.js +3 -3
  48. package/dist/components/InlineAction.js +1 -1
  49. package/dist/components/InlineDropdown.js +3 -2
  50. package/dist/components/InstallPackage.js +19 -9
  51. package/dist/components/InstallablePackage.js +5 -3
  52. package/dist/components/JSONViewer.js +1 -1
  53. package/dist/components/KeyboardShortcutsExplainer.js +91 -1
  54. package/dist/components/KnownBugs.js +4 -2
  55. package/dist/components/LoopToggle.js +1 -1
  56. package/dist/components/MediaVolumeProvider.js +1 -1
  57. package/dist/components/Menu/MenuDivider.js +1 -1
  58. package/dist/components/Menu/MenuItem.js +3 -2
  59. package/dist/components/Menu/MenuSubItem.js +4 -2
  60. package/dist/components/Menu/SubMenu.js +1 -1
  61. package/dist/components/MenuBuildIndicator.js +1 -1
  62. package/dist/components/MenuToolbar.js +5 -3
  63. package/dist/components/MobilePanel.d.ts +1 -1
  64. package/dist/components/MobilePanel.js +2 -1
  65. package/dist/components/ModalButton.js +1 -1
  66. package/dist/components/ModalContainer.js +1 -1
  67. package/dist/components/ModalFooter.js +1 -1
  68. package/dist/components/ModalHeader.js +3 -1
  69. package/dist/components/Modals.js +2 -2
  70. package/dist/components/ModalsProvider.js +1 -1
  71. package/dist/components/MuteToggle.js +1 -1
  72. package/dist/components/NewComposition/CancelButton.js +1 -1
  73. package/dist/components/NewComposition/CodemodFooter.js +5 -2
  74. package/dist/components/NewComposition/ComboBox.js +6 -2
  75. package/dist/components/NewComposition/DeleteComposition.js +10 -2
  76. package/dist/components/NewComposition/DiffPreview.js +5 -3
  77. package/dist/components/NewComposition/DismissableModal.js +1 -1
  78. package/dist/components/NewComposition/DuplicateComposition.js +28 -3
  79. package/dist/components/NewComposition/InputDragger.d.ts +1 -1
  80. package/dist/components/NewComposition/InputDragger.js +2 -2
  81. package/dist/components/NewComposition/MenuContent.js +3 -3
  82. package/dist/components/NewComposition/NewCompDuration.js +7 -2
  83. package/dist/components/NewComposition/RemInput.d.ts +2 -2
  84. package/dist/components/NewComposition/RemInput.js +2 -2
  85. package/dist/components/NewComposition/RemInputTypeColor.js +1 -1
  86. package/dist/components/NewComposition/RemTextarea.js +1 -1
  87. package/dist/components/NewComposition/RenameComposition.js +11 -2
  88. package/dist/components/NewComposition/ValidationMessage.js +4 -2
  89. package/dist/components/NoRegisterRoot.js +4 -1
  90. package/dist/components/Notifications/ColorDot.js +1 -1
  91. package/dist/components/Notifications/Notification.js +1 -1
  92. package/dist/components/Notifications/NotificationCenter.js +2 -2
  93. package/dist/components/Notifications/ServerDisconnected.js +2 -1
  94. package/dist/components/OpenEditorButton.js +2 -2
  95. package/dist/components/OptionsPanel.js +7 -4
  96. package/dist/components/OverrideInputProps.js +7 -2
  97. package/dist/components/PlayPause.js +3 -1
  98. package/dist/components/PlaybackRateSelector.js +2 -2
  99. package/dist/components/Preview.js +8 -8
  100. package/dist/components/PreviewToolbar.js +11 -1
  101. package/dist/components/QuickSwitcher/AlgoliaCredit.js +1 -1
  102. package/dist/components/QuickSwitcher/NoResults.js +1 -1
  103. package/dist/components/QuickSwitcher/QuickSwitcher.js +1 -1
  104. package/dist/components/QuickSwitcher/QuickSwitcherContent.js +12 -3
  105. package/dist/components/QuickSwitcher/QuickSwitcherResult.js +6 -3
  106. package/dist/components/RefreshCompositionOverlay.js +1 -1
  107. package/dist/components/RenderButton.js +26 -9
  108. package/dist/components/RenderModal/CliCopyButton.js +3 -3
  109. package/dist/components/RenderModal/ClientRenderProgress.js +16 -14
  110. package/dist/components/RenderModal/CrfSetting.d.ts +1 -2
  111. package/dist/components/RenderModal/CrfSetting.js +1 -1
  112. package/dist/components/RenderModal/DataEditor.js +15 -8
  113. package/dist/components/RenderModal/EnforceAudioTrackSetting.js +5 -1
  114. package/dist/components/RenderModal/EnvInput.js +4 -1
  115. package/dist/components/RenderModal/FrameRangeSetting.js +5 -1
  116. package/dist/components/RenderModal/GuiRenderStatus.js +15 -10
  117. package/dist/components/RenderModal/InfoBubble.js +3 -2
  118. package/dist/components/RenderModal/InfoTooltip.js +3 -2
  119. package/dist/components/RenderModal/InlineEyeIcon.js +2 -2
  120. package/dist/components/RenderModal/InlineRemoveButton.js +2 -2
  121. package/dist/components/RenderModal/JpegQualitySetting.js +1 -1
  122. package/dist/components/RenderModal/MultiRangeSlider.js +3 -1
  123. package/dist/components/RenderModal/MutedSetting.js +5 -1
  124. package/dist/components/RenderModal/NumberOfLoopsSetting.js +3 -1
  125. package/dist/components/RenderModal/NumberSetting.js +6 -2
  126. package/dist/components/RenderModal/OptionExplainer.js +14 -1
  127. package/dist/components/RenderModal/OptionExplainerBubble.js +1 -1
  128. package/dist/components/RenderModal/RenderModalAdvanced.js +66 -7
  129. package/dist/components/RenderModal/RenderModalAudio.js +21 -4
  130. package/dist/components/RenderModal/RenderModalBasic.js +18 -3
  131. package/dist/components/RenderModal/RenderModalEnvironmentVariables.js +5 -3
  132. package/dist/components/RenderModal/RenderModalGif.js +6 -1
  133. package/dist/components/RenderModal/RenderModalHr.js +1 -1
  134. package/dist/components/RenderModal/RenderModalJSONPropsEditor.js +5 -2
  135. package/dist/components/RenderModal/RenderModalOutputName.js +8 -1
  136. package/dist/components/RenderModal/RenderModalPicture.js +30 -3
  137. package/dist/components/RenderModal/RenderStatusModal.js +8 -2
  138. package/dist/components/RenderModal/ResolveCompositionBeforeModal.js +6 -3
  139. package/dist/components/RenderModal/ScaleSetting.js +3 -2
  140. package/dist/components/RenderModal/SchemaEditor/Fieldset.js +2 -2
  141. package/dist/components/RenderModal/SchemaEditor/SchemaEditor.js +4 -4
  142. package/dist/components/RenderModal/SchemaEditor/SchemaErrorMessages.js +31 -6
  143. package/dist/components/RenderModal/SchemaEditor/SchemaLabel.js +3 -3
  144. package/dist/components/RenderModal/SchemaEditor/SchemaResetButton.js +2 -2
  145. package/dist/components/RenderModal/SchemaEditor/SchemaSaveButton.js +2 -2
  146. package/dist/components/RenderModal/SchemaEditor/SchemaSeparationLine.js +9 -5
  147. package/dist/components/RenderModal/SchemaEditor/SchemaVerticalGuide.js +3 -1
  148. package/dist/components/RenderModal/SchemaEditor/ZodArrayEditor.js +9 -5
  149. package/dist/components/RenderModal/SchemaEditor/ZodArrayItemEditor.js +1 -1
  150. package/dist/components/RenderModal/SchemaEditor/ZodBooleanEditor.js +3 -1
  151. package/dist/components/RenderModal/SchemaEditor/ZodColorEditor.js +8 -2
  152. package/dist/components/RenderModal/SchemaEditor/ZodDateEditor.js +5 -1
  153. package/dist/components/RenderModal/SchemaEditor/ZodDefaultEditor.js +1 -1
  154. package/dist/components/RenderModal/SchemaEditor/ZodDiscriminatedUnionEditor.js +6 -4
  155. package/dist/components/RenderModal/SchemaEditor/ZodEffectEditor.js +3 -1
  156. package/dist/components/RenderModal/SchemaEditor/ZodEnumEditor.js +4 -2
  157. package/dist/components/RenderModal/SchemaEditor/ZodErrorMessages.js +6 -4
  158. package/dist/components/RenderModal/SchemaEditor/ZodFieldValidation.js +8 -2
  159. package/dist/components/RenderModal/SchemaEditor/ZodMatrixEditor.js +8 -6
  160. package/dist/components/RenderModal/SchemaEditor/ZodNonEditableValue.js +3 -1
  161. package/dist/components/RenderModal/SchemaEditor/ZodNullableEditor.js +1 -1
  162. package/dist/components/RenderModal/SchemaEditor/ZodNumberEditor.js +5 -1
  163. package/dist/components/RenderModal/SchemaEditor/ZodObjectEditor.js +6 -5
  164. package/dist/components/RenderModal/SchemaEditor/ZodOptionalEditor.js +1 -1
  165. package/dist/components/RenderModal/SchemaEditor/ZodOrNullishEditor.js +4 -1
  166. package/dist/components/RenderModal/SchemaEditor/ZodStaticFileEditor.js +8 -5
  167. package/dist/components/RenderModal/SchemaEditor/ZodStringEditor.js +5 -1
  168. package/dist/components/RenderModal/SchemaEditor/ZodSwitch.js +24 -24
  169. package/dist/components/RenderModal/SchemaEditor/ZodTextareaEditor.js +5 -1
  170. package/dist/components/RenderModal/SchemaEditor/ZodTupleEditor.js +9 -5
  171. package/dist/components/RenderModal/SchemaEditor/ZodTupleItemEditor.js +1 -1
  172. package/dist/components/RenderModal/SchemaEditor/ZodUnionEditor.js +5 -5
  173. package/dist/components/RenderModal/SchemaEditor/create-zod-values.d.ts +2 -2
  174. package/dist/components/RenderModal/SchemaEditor/extract-enum-json-paths.d.ts +4 -4
  175. package/dist/components/RenderModal/SchemaEditor/local-state.js +1 -1
  176. package/dist/components/RenderModal/SeparateAudioOption.js +7 -2
  177. package/dist/components/RenderModal/ServerRenderModal.js +27 -5
  178. package/dist/components/RenderModal/WarningIndicatorButton.js +4 -2
  179. package/dist/components/RenderModal/WebRenderModal.js +29 -6
  180. package/dist/components/RenderModal/WebRenderModalAdvanced.js +11 -4
  181. package/dist/components/RenderModal/WebRenderModalAudio.js +12 -2
  182. package/dist/components/RenderModal/WebRenderModalBasic.js +23 -5
  183. package/dist/components/RenderModal/WebRenderModalLicense.js +24 -2
  184. package/dist/components/RenderModal/WebRenderModalLicenseKeyDetails.js +12 -1
  185. package/dist/components/RenderModal/WebRenderModalPicture.js +8 -1
  186. package/dist/components/RenderModal/WebRendererExperimentalBadge.js +3 -1
  187. package/dist/components/RenderModal/get-default-codecs.d.ts +7 -8
  188. package/dist/components/RenderModal/human-readable-audio-codecs.d.ts +1 -2
  189. package/dist/components/RenderModal/human-readable-codec.d.ts +1 -2
  190. package/dist/components/RenderModal/human-readable-loglevel.d.ts +1 -2
  191. package/dist/components/RenderModal/out-name-checker.d.ts +4 -5
  192. package/dist/components/RenderModal/quality-options.js +1 -1
  193. package/dist/components/RenderPreview.js +4 -4
  194. package/dist/components/RenderQueue/CircularProgress.js +1 -1
  195. package/dist/components/RenderQueue/ClientRenderQueueProcessor.js +0 -1
  196. package/dist/components/RenderQueue/RenderQueueCancelledMessage.js +1 -1
  197. package/dist/components/RenderQueue/RenderQueueCopyToClipboard.js +2 -2
  198. package/dist/components/RenderQueue/RenderQueueDownloadItem.js +2 -2
  199. package/dist/components/RenderQueue/RenderQueueError.js +1 -1
  200. package/dist/components/RenderQueue/RenderQueueItem.js +4 -1
  201. package/dist/components/RenderQueue/RenderQueueItemCancelButton.js +2 -2
  202. package/dist/components/RenderQueue/RenderQueueItemStatus.js +8 -8
  203. package/dist/components/RenderQueue/RenderQueueOpenInFolder.js +2 -2
  204. package/dist/components/RenderQueue/RenderQueueOutputName.js +1 -1
  205. package/dist/components/RenderQueue/RenderQueueProgressMessage.js +4 -2
  206. package/dist/components/RenderQueue/RenderQueueRemoveItem.js +2 -2
  207. package/dist/components/RenderQueue/RenderQueueRepeat.js +2 -2
  208. package/dist/components/RenderQueue/RenderQueueSavingMessage.js +1 -1
  209. package/dist/components/RenderQueue/SuccessIcon.js +1 -1
  210. package/dist/components/RenderQueue/actions.d.ts +21 -24
  211. package/dist/components/RenderQueue/client-side-render-types.d.ts +0 -1
  212. package/dist/components/RenderQueue/context.js +2 -2
  213. package/dist/components/RenderQueue/index.js +10 -5
  214. package/dist/components/RendersTab.js +3 -1
  215. package/dist/components/ResetZoomButton.js +1 -1
  216. package/dist/components/RunningCalculateMetadata.js +5 -1
  217. package/dist/components/SegmentedControl.js +3 -3
  218. package/dist/components/SetTimelineInOutProvider.js +1 -1
  219. package/dist/components/ShowGuidesProvider.js +1 -1
  220. package/dist/components/ShowRulersProvider.js +1 -1
  221. package/dist/components/SidebarCollapserControls.js +5 -3
  222. package/dist/components/SidebarRenderButton.js +2 -2
  223. package/dist/components/SizeSelector.js +2 -2
  224. package/dist/components/Spinner.js +6 -4
  225. package/dist/components/Splitter/SplitterContainer.js +1 -1
  226. package/dist/components/Splitter/SplitterElement.js +3 -1
  227. package/dist/components/Splitter/SplitterHandle.js +1 -1
  228. package/dist/components/StaticFilePreview.js +5 -5
  229. package/dist/components/Tabs/index.js +2 -2
  230. package/dist/components/Tabs/vertical.js +1 -1
  231. package/dist/components/TextViewer.js +1 -1
  232. package/dist/components/TimeValue.js +3 -1
  233. package/dist/components/Timeline/LoopedIndicator.js +4 -2
  234. package/dist/components/Timeline/LoopedTimelineIndicators.js +5 -4
  235. package/dist/components/Timeline/MaxTimelineTracks.js +1 -1
  236. package/dist/components/Timeline/Timeline.js +5 -1
  237. package/dist/components/Timeline/TimelineCollapseToggle.js +2 -2
  238. package/dist/components/Timeline/TimelineDragHandler.js +5 -3
  239. package/dist/components/Timeline/TimelineInOutPointer.js +2 -2
  240. package/dist/components/Timeline/TimelineInOutPointerHandle.js +2 -2
  241. package/dist/components/Timeline/TimelineLayerEye.js +3 -3
  242. package/dist/components/Timeline/TimelineList.js +3 -2
  243. package/dist/components/Timeline/TimelineListItem.js +3 -1
  244. package/dist/components/Timeline/TimelineScrollable.js +1 -1
  245. package/dist/components/Timeline/TimelineSequence.js +6 -6
  246. package/dist/components/Timeline/TimelineSequenceFrame.js +1 -1
  247. package/dist/components/Timeline/TimelineSlider.d.ts +1 -1
  248. package/dist/components/Timeline/TimelineSlider.js +6 -3
  249. package/dist/components/Timeline/TimelineSliderHandle.js +1 -1
  250. package/dist/components/Timeline/TimelineStack/index.js +5 -2
  251. package/dist/components/Timeline/TimelineTimeIndicators.js +5 -5
  252. package/dist/components/Timeline/TimelineTracks.js +6 -4
  253. package/dist/components/Timeline/TimelineVideoInfo.js +1 -1
  254. package/dist/components/Timeline/TimelineWidthProvider.js +1 -1
  255. package/dist/components/Timeline/TimelineZoomControls.js +3 -1
  256. package/dist/components/Timeline/timeline-scroll-logic.d.ts +1 -1
  257. package/dist/components/Timeline/timeline-scroll-logic.js +12 -8
  258. package/dist/components/TimelineInOutToggle.js +11 -7
  259. package/dist/components/TopPanel.js +5 -1
  260. package/dist/components/UpdateCheck.js +2 -2
  261. package/dist/components/UpdateModal/OpenIssueButton.js +2 -2
  262. package/dist/components/UpdateModal/UpdateModal.js +8 -1
  263. package/dist/components/VisualControls/ClickableFileName.js +1 -1
  264. package/dist/components/VisualControls/VisualControlHandle.js +3 -1
  265. package/dist/components/VisualControls/VisualControlHandleHeader.js +1 -1
  266. package/dist/components/VisualControls/VisualControlsContent.js +3 -2
  267. package/dist/components/ZoomGesturesProvider.js +1 -1
  268. package/dist/components/call-api.d.ts +1 -1
  269. package/dist/components/get-zod-if-possible.d.ts +3 -3
  270. package/dist/components/get-zod-if-possible.js +9 -9
  271. package/dist/components/layout.js +4 -4
  272. package/dist/components/use-static-files.d.ts +6 -0
  273. package/dist/components/use-static-files.js +63 -0
  274. package/dist/error-overlay/react-overlay/utils/parser.d.ts +1 -1
  275. package/dist/error-overlay/remotion-overlay/AskOnDiscord.js +1 -1
  276. package/dist/error-overlay/remotion-overlay/CalculateMetadataErrorExplainer.js +2 -1
  277. package/dist/error-overlay/remotion-overlay/CodeFrame.js +6 -4
  278. package/dist/error-overlay/remotion-overlay/CompositionIdListItem.js +1 -1
  279. package/dist/error-overlay/remotion-overlay/CompositionIdsDropdown.js +8 -3
  280. package/dist/error-overlay/remotion-overlay/DismissButton.js +1 -1
  281. package/dist/error-overlay/remotion-overlay/ErrorDisplay.js +19 -4
  282. package/dist/error-overlay/remotion-overlay/ErrorLoader.js +8 -4
  283. package/dist/error-overlay/remotion-overlay/ErrorMessage.js +2 -1
  284. package/dist/error-overlay/remotion-overlay/ErrorTitle.js +7 -1
  285. package/dist/error-overlay/remotion-overlay/HelpLink.js +1 -1
  286. package/dist/error-overlay/remotion-overlay/OpenInEditor.js +1 -1
  287. package/dist/error-overlay/remotion-overlay/Overlay.js +2 -2
  288. package/dist/error-overlay/remotion-overlay/Retry.js +1 -1
  289. package/dist/error-overlay/remotion-overlay/SearchGitHubIssues.js +1 -1
  290. package/dist/error-overlay/remotion-overlay/ShortcutHint.js +2 -1
  291. package/dist/error-overlay/remotion-overlay/StackFrame.js +6 -2
  292. package/dist/error-overlay/remotion-overlay/Symbolicating.js +3 -1
  293. package/dist/error-overlay/remotion-overlay/carets.d.ts +1 -1
  294. package/dist/error-overlay/remotion-overlay/carets.js +2 -2
  295. package/dist/error-overlay/remotion-overlay/index.js +2 -2
  296. package/dist/esm/{chunk-112w480k.js → chunk-3g77e2p9.js} +4021 -19452
  297. package/dist/esm/internals.mjs +4021 -19452
  298. package/dist/esm/previewEntry.mjs +4052 -19483
  299. package/dist/esm/renderEntry.mjs +1 -1
  300. package/dist/helpers/client-id.js +1 -1
  301. package/dist/helpers/color-math.d.ts +1 -2
  302. package/dist/helpers/create-folder-tree.d.ts +2 -2
  303. package/dist/helpers/document-title.js +2 -2
  304. package/dist/helpers/editor-ruler.d.ts +3 -3
  305. package/dist/helpers/extract-frames.d.ts +1 -1
  306. package/dist/helpers/pick-color.js +5 -1
  307. package/dist/helpers/presets-labels.d.ts +1 -2
  308. package/dist/helpers/prores-labels.d.ts +1 -2
  309. package/dist/helpers/render-modal-sections.d.ts +1 -2
  310. package/dist/helpers/timeline-layout.d.ts +1 -1
  311. package/dist/helpers/use-asset-drag-events.d.ts +1 -1
  312. package/dist/helpers/use-menu-structure.d.ts +1 -1
  313. package/dist/helpers/use-menu-structure.js +11 -11
  314. package/dist/helpers/use-studio-canvas-dimensions.d.ts +1 -1
  315. package/dist/helpers/validate-new-comp-data.d.ts +2 -3
  316. package/dist/hot-middleware-client/client.d.ts +1 -1
  317. package/dist/hot-middleware-client/process-update.d.ts +8 -2
  318. package/dist/hot-middleware-client/process-update.js +2 -1
  319. package/dist/icons/Checkmark.js +1 -1
  320. package/dist/icons/audio.js +1 -1
  321. package/dist/icons/caret.js +3 -3
  322. package/dist/icons/certificate.d.ts +1 -1
  323. package/dist/icons/certificate.js +1 -1
  324. package/dist/icons/check-circle-filled.js +1 -1
  325. package/dist/icons/clipboard.js +1 -1
  326. package/dist/icons/data.js +1 -1
  327. package/dist/icons/ellipsis.js +1 -1
  328. package/dist/icons/file.js +1 -1
  329. package/dist/icons/folder.js +3 -3
  330. package/dist/icons/frame.js +1 -1
  331. package/dist/icons/gear.js +1 -1
  332. package/dist/icons/gif.js +1 -1
  333. package/dist/icons/jump-to-start.js +1 -1
  334. package/dist/icons/keys.js +3 -3
  335. package/dist/icons/media-volume.js +2 -2
  336. package/dist/icons/minus.js +1 -1
  337. package/dist/icons/pause.js +1 -1
  338. package/dist/icons/play.js +1 -1
  339. package/dist/icons/plus.js +1 -1
  340. package/dist/icons/render.js +1 -1
  341. package/dist/icons/step-back.js +1 -1
  342. package/dist/icons/step-forward.js +1 -1
  343. package/dist/icons/still.js +1 -1
  344. package/dist/icons/timelineInOutPointer.js +2 -2
  345. package/dist/icons/video.js +1 -1
  346. package/dist/index.js +16 -16
  347. package/dist/internals.d.ts +1 -1
  348. package/dist/previewEntry.js +2 -2
  349. package/dist/renderEntry.js +10 -8
  350. package/dist/state/folders.js +1 -1
  351. package/dist/state/highest-z-index.js +1 -1
  352. package/dist/state/in-out.js +4 -3
  353. package/dist/state/keybindings.js +1 -1
  354. package/dist/state/preview-size.js +1 -1
  355. package/dist/state/sidebar.js +1 -1
  356. package/dist/state/timeline-zoom.js +1 -1
  357. package/dist/state/z-index.js +2 -1
  358. package/dist/visual-controls/VisualControls.js +1 -1
  359. package/dist/visual-controls/get-current-edited-value.js +2 -1
  360. package/package.json +13 -12
@@ -45,7 +45,7 @@ const WebRenderModalBasic = ({ renderMode, resolvedComposition, imageFormat, set
45
45
  return {
46
46
  label: (0, human_readable_loglevel_1.humanReadableLogLevel)(level),
47
47
  onClick: () => setLogLevel(level),
48
- leftItem: logLevel === level ? (0, jsx_runtime_1.jsx)(Checkmark_1.Checkmark, {}) : null,
48
+ leftItem: logLevel === level ? jsx_runtime_1.jsx(Checkmark_1.Checkmark, {}) : null,
49
49
  id: level,
50
50
  keyHint: null,
51
51
  quickSwitcherLabel: null,
@@ -60,7 +60,7 @@ const WebRenderModalBasic = ({ renderMode, resolvedComposition, imageFormat, set
60
60
  {
61
61
  label: 'MP4',
62
62
  onClick: () => setContainerFormat('mp4'),
63
- leftItem: container === 'mp4' ? (0, jsx_runtime_1.jsx)(Checkmark_1.Checkmark, {}) : null,
63
+ leftItem: container === 'mp4' ? jsx_runtime_1.jsx(Checkmark_1.Checkmark, {}) : null,
64
64
  id: 'mp4',
65
65
  keyHint: null,
66
66
  quickSwitcherLabel: null,
@@ -71,7 +71,7 @@ const WebRenderModalBasic = ({ renderMode, resolvedComposition, imageFormat, set
71
71
  {
72
72
  label: 'WebM',
73
73
  onClick: () => setContainerFormat('webm'),
74
- leftItem: container === 'webm' ? (0, jsx_runtime_1.jsx)(Checkmark_1.Checkmark, {}) : null,
74
+ leftItem: container === 'webm' ? jsx_runtime_1.jsx(Checkmark_1.Checkmark, {}) : null,
75
75
  id: 'webm',
76
76
  keyHint: null,
77
77
  quickSwitcherLabel: null,
@@ -92,7 +92,7 @@ const WebRenderModalBasic = ({ renderMode, resolvedComposition, imageFormat, set
92
92
  return encodableVideoCodecs.map((c) => ({
93
93
  label: codecLabels[c],
94
94
  onClick: () => setCodec(c),
95
- leftItem: effectiveVideoCodec === c ? (0, jsx_runtime_1.jsx)(Checkmark_1.Checkmark, {}) : null,
95
+ leftItem: effectiveVideoCodec === c ? jsx_runtime_1.jsx(Checkmark_1.Checkmark, {}) : null,
96
96
  id: c,
97
97
  keyHint: null,
98
98
  quickSwitcherLabel: null,
@@ -101,6 +101,24 @@ const WebRenderModalBasic = ({ renderMode, resolvedComposition, imageFormat, set
101
101
  value: c,
102
102
  }));
103
103
  }, [encodableVideoCodecs, effectiveVideoCodec, setCodec, codecLabels]);
104
- return ((0, jsx_runtime_1.jsxs)("div", { style: tabContainer, children: [renderMode === 'still' ? ((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.jsx)("div", { style: layout_2.label, children: "Format" }), (0, jsx_runtime_1.jsx)("div", { style: layout_2.rightRow, children: (0, jsx_runtime_1.jsx)(SegmentedControl_1.SegmentedControl, { items: imageFormatOptions, needsWrapping: true }) })] }), resolvedComposition.durationInFrames > 1 ? ((0, jsx_runtime_1.jsxs)("div", { style: layout_2.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_2.label, children: "Frame" }), (0, jsx_runtime_1.jsx)("div", { style: layout_2.rightRow, children: (0, jsx_runtime_1.jsx)(RemInput_1.RightAlignInput, { children: (0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { value: frame, onTextChange: onFrameChanged, placeholder: `0-${resolvedComposition.durationInFrames - 1}`, onValueChange: onFrameSetDirectly, name: "frame", step: 1, min: 0, status: "ok", max: resolvedComposition.durationInFrames - 1, rightAlign: true }) }) })] })) : null] })) : ((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.jsx)("div", { style: layout_2.label, children: "Container" }), (0, jsx_runtime_1.jsx)("div", { style: layout_2.rightRow, children: (0, jsx_runtime_1.jsx)(ComboBox_1.Combobox, { values: containerOptions, selectedId: container, title: "Container" }) })] }), (0, jsx_runtime_1.jsxs)("div", { style: layout_2.optionRow, children: [(0, jsx_runtime_1.jsxs)("div", { style: layout_2.label, children: ["Codec", (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 0.5 }), (0, jsx_runtime_1.jsx)(OptionExplainerBubble_1.OptionExplainerBubble, { id: "videoCodecOption" })] }), (0, jsx_runtime_1.jsx)("div", { style: layout_2.rightRow, children: (0, jsx_runtime_1.jsx)(ComboBox_1.Combobox, { values: codecOptions, selectedId: effectiveVideoCodec, title: "Codec" }) })] }), (0, jsx_runtime_1.jsx)(FrameRangeSetting_1.FrameRangeSetting, { durationInFrames: resolvedComposition.durationInFrames, startFrame: startFrame !== null && startFrame !== void 0 ? startFrame : 0, endFrame: endFrame !== null && endFrame !== void 0 ? endFrame : resolvedComposition.durationInFrames - 1, setStartFrame: setStartFrame, setEndFrame: setEndFrame })] })), (0, jsx_runtime_1.jsx)(RenderModalOutputName_1.RenderModalOutputName, { existence: false, inputStyle: layout_2.input, outName: outName, onValueChange: onOutNameChange, validationMessage: validationMessage, label: window.remotion_isReadOnlyStudio ? 'Download name' : 'Output name' }), (0, jsx_runtime_1.jsxs)("div", { style: layout_2.optionRow, children: [(0, jsx_runtime_1.jsxs)("div", { style: layout_2.label, children: ["Log Level ", (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 0.5 }), (0, jsx_runtime_1.jsx)(OptionExplainerBubble_1.OptionExplainerBubble, { id: "logLevelOption" })] }), (0, jsx_runtime_1.jsx)("div", { style: layout_2.rightRow, children: (0, jsx_runtime_1.jsx)(ComboBox_1.Combobox, { values: logLevelOptions, selectedId: logLevel, title: "Log Level" }) })] })] }));
104
+ return (jsx_runtime_1.jsxs("div", { style: tabContainer, children: [renderMode === 'still' ? (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
105
+ jsx_runtime_1.jsxs("div", { style: layout_2.optionRow, children: [
106
+ jsx_runtime_1.jsx("div", { style: layout_2.label, children: "Format" }), jsx_runtime_1.jsx("div", { style: layout_2.rightRow, children: jsx_runtime_1.jsx(SegmentedControl_1.SegmentedControl, { items: imageFormatOptions, needsWrapping: true }) })
107
+ ] }), resolvedComposition.durationInFrames > 1 ? (jsx_runtime_1.jsxs("div", { style: layout_2.optionRow, children: [
108
+ jsx_runtime_1.jsx("div", { style: layout_2.label, children: "Frame" }), jsx_runtime_1.jsx("div", { style: layout_2.rightRow, children: jsx_runtime_1.jsx(RemInput_1.RightAlignInput, { children: jsx_runtime_1.jsx(InputDragger_1.InputDragger, { value: frame, onTextChange: onFrameChanged, placeholder: `0-${resolvedComposition.durationInFrames - 1}`, onValueChange: onFrameSetDirectly, name: "frame", step: 1, min: 0, status: "ok", max: resolvedComposition.durationInFrames - 1, rightAlign: true }) }) })
109
+ ] })) : null] })) : (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
110
+ jsx_runtime_1.jsxs("div", { style: layout_2.optionRow, children: [
111
+ jsx_runtime_1.jsx("div", { style: layout_2.label, children: "Container" }), jsx_runtime_1.jsx("div", { style: layout_2.rightRow, children: jsx_runtime_1.jsx(ComboBox_1.Combobox, { values: containerOptions, selectedId: container, title: "Container" }) })
112
+ ] }), jsx_runtime_1.jsxs("div", { style: layout_2.optionRow, children: [
113
+ jsx_runtime_1.jsxs("div", { style: layout_2.label, children: ["Codec",
114
+ jsx_runtime_1.jsx(layout_1.Spacing, { x: 0.5 }), jsx_runtime_1.jsx(OptionExplainerBubble_1.OptionExplainerBubble, { id: "videoCodecOption" })
115
+ ] }), jsx_runtime_1.jsx("div", { style: layout_2.rightRow, children: jsx_runtime_1.jsx(ComboBox_1.Combobox, { values: codecOptions, selectedId: effectiveVideoCodec, title: "Codec" }) })
116
+ ] }), jsx_runtime_1.jsx(FrameRangeSetting_1.FrameRangeSetting, { durationInFrames: resolvedComposition.durationInFrames, startFrame: startFrame !== null && startFrame !== void 0 ? startFrame : 0, endFrame: endFrame !== null && endFrame !== void 0 ? endFrame : resolvedComposition.durationInFrames - 1, setStartFrame: setStartFrame, setEndFrame: setEndFrame })
117
+ ] })), jsx_runtime_1.jsx(RenderModalOutputName_1.RenderModalOutputName, { existence: false, inputStyle: layout_2.input, outName: outName, onValueChange: onOutNameChange, validationMessage: validationMessage, label: window.remotion_isReadOnlyStudio ? 'Download name' : 'Output name' }), jsx_runtime_1.jsxs("div", { style: layout_2.optionRow, children: [
118
+ jsx_runtime_1.jsxs("div", { style: layout_2.label, children: ["Log Level ",
119
+ jsx_runtime_1.jsx(layout_1.Spacing, { x: 0.5 }), jsx_runtime_1.jsx(OptionExplainerBubble_1.OptionExplainerBubble, { id: "logLevelOption" })
120
+ ] }), jsx_runtime_1.jsx("div", { style: layout_2.rightRow, children: jsx_runtime_1.jsx(ComboBox_1.Combobox, { values: logLevelOptions, selectedId: logLevel, title: "Log Level" }) })
121
+ ] })
122
+ ] }));
105
123
  };
106
124
  exports.WebRenderModalBasic = WebRenderModalBasic;
@@ -160,8 +160,30 @@ const WebRenderModalLicense = ({ licenseKey, setLicenseKey, initialPublicLicense
160
160
  const onLicenseKeyChange = (0, react_1.useCallback)((e) => {
161
161
  setLicenseKey(e.target.value);
162
162
  }, [setLicenseKey]);
163
- return ((0, jsx_runtime_1.jsxs)("div", { style: tabContainer, children: [(0, jsx_runtime_1.jsxs)("div", { style: descriptionStyle, children: ["Remotion is free if you are an individual or company with a headcount of 3 or less. See", ' ', (0, jsx_runtime_1.jsx)("a", { style: descriptionLink, href: "https://remotion.dev/license", children: "LICENSE.md" }), "."] }), (0, jsx_runtime_1.jsx)("div", { style: exports.row, children: (0, jsx_runtime_1.jsxs)("div", { style: justifyCenter, children: [(0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { checked: licenseKey === 'free-license', onChange: onFreeLicenseChange, name: "free-license", rounded: true }), (0, jsx_runtime_1.jsxs)("div", { style: checkboxLabel, onClick: onFreeLicenseChange, children: ["I am eligible for the Free License, ", "don't", " print a warning"] })] }) }), licenseKey === 'free-license' ? ((0, jsx_runtime_1.jsxs)("div", { style: paddedDescriptionStyle, children: ["Enjoy Remotion! Add the following to", ' ', (0, jsx_runtime_1.jsx)("code", { style: codeStyle, children: "remotion.config.ts" }), " to persist this setting:", (0, jsx_runtime_1.jsx)("div", { style: codeLine, children: "Config.setPublicLicenseKey('free-license');" })] })) : null, (0, jsx_runtime_1.jsx)("div", { style: exports.row, children: (0, jsx_runtime_1.jsxs)("div", { style: justifyCenter, children: [(0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { checked: licenseKey !== 'free-license' && licenseKey !== null, onChange: onCompanyLicenseChange, name: "company-license", rounded: true }), (0, jsx_runtime_1.jsx)("div", { style: checkboxLabel, onClick: onCompanyLicenseChange, children: "I have a Company License" })] }) }), licenseKey !== 'free-license' && licenseKey !== null ? ((0, jsx_runtime_1.jsxs)("div", { style: paddedDescriptionStyle, children: ["Add your public license key from", ' ', (0, jsx_runtime_1.jsx)("a", { href: "https://remotion.pro/dashboard", target: "_blank", style: descriptionLink, children: "remotion.pro" }), ' ', "below.", (0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1, block: true }), (0, jsx_runtime_1.jsx)(RemInput_1.RemotionInput, { value: licenseKey, onChange: onLicenseKeyChange, placeholder: "remotion.pro public license key (starts with rm_pub_)", status: licenseValidation.valid || licenseKey.length === 0
163
+ return (jsx_runtime_1.jsxs("div", { style: tabContainer, children: [
164
+ jsx_runtime_1.jsxs("div", { style: descriptionStyle, children: ["Remotion is free if you are an individual or company with a headcount of 3 or less. See", ' ', jsx_runtime_1.jsx("a", { style: descriptionLink, href: "https://remotion.dev/license", children: "LICENSE.md" }),
165
+ "."] }), jsx_runtime_1.jsx("div", { style: exports.row, children: jsx_runtime_1.jsxs("div", { style: justifyCenter, children: [
166
+ jsx_runtime_1.jsx(Checkbox_1.Checkbox, { checked: licenseKey === 'free-license', onChange: onFreeLicenseChange, name: "free-license", rounded: true }), jsx_runtime_1.jsxs("div", { style: checkboxLabel, onClick: onFreeLicenseChange, children: ["I am eligible for the Free License, ", "don't", " print a warning"] })
167
+ ] }) }), licenseKey === 'free-license' ? (jsx_runtime_1.jsxs("div", { style: paddedDescriptionStyle, children: ["Enjoy Remotion! Add the following to", ' ', jsx_runtime_1.jsx("code", { style: codeStyle, children: "remotion.config.ts" }),
168
+ " to persist this setting:",
169
+ jsx_runtime_1.jsx("div", { style: codeLine, children: "Config.setPublicLicenseKey('free-license');" })
170
+ ] })) : null, jsx_runtime_1.jsx("div", { style: exports.row, children: jsx_runtime_1.jsxs("div", { style: justifyCenter, children: [
171
+ jsx_runtime_1.jsx(Checkbox_1.Checkbox, { checked: licenseKey !== 'free-license' && licenseKey !== null, onChange: onCompanyLicenseChange, name: "company-license", rounded: true }), jsx_runtime_1.jsx("div", { style: checkboxLabel, onClick: onCompanyLicenseChange, children: "I have a Company License" })
172
+ ] }) }), licenseKey !== 'free-license' && licenseKey !== null ? (jsx_runtime_1.jsxs("div", { style: paddedDescriptionStyle, children: ["Add your public license key from", ' ', jsx_runtime_1.jsx("a", { href: "https://remotion.pro/dashboard", target: "_blank", style: descriptionLink, children: "remotion.pro" }), ' ', "below.",
173
+ jsx_runtime_1.jsx(layout_1.Spacing, { y: 1, block: true }), jsx_runtime_1.jsx(RemInput_1.RemotionInput, { value: licenseKey, onChange: onLicenseKeyChange, placeholder: "remotion.pro public license key (starts with rm_pub_)", status: licenseValidation.valid || licenseKey.length === 0
164
174
  ? 'ok'
165
- : 'error', rightAlign: false, style: inputStyle, autoFocus: true }), licenseValidation.message ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1, block: true }), (0, jsx_runtime_1.jsx)(ValidationMessage_1.ValidationMessage, { message: licenseValidation.message, align: "flex-start", type: "error" })] })) : null, licenseValidation.valid && licenseKey.length > 0 ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1, block: true }), "Add the following to", ' ', (0, jsx_runtime_1.jsx)("code", { style: codeStyle, children: "remotion.config.ts" }), " to persist this setting:", (0, jsx_runtime_1.jsx)("div", { style: codeLineSmall, children: "Config.setPublicLicenseKey('" + licenseKey + "');" })] })) : null, isLoading && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1, block: true }), "Loading license key details..."] })), licenseValidation.details && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1, block: true }), (0, jsx_runtime_1.jsx)(WebRenderModalLicenseKeyDetails_1.WebRenderModalLicenseKeyDetails, { details: licenseValidation.details })] }))] })) : null, licenseKey === null ? ((0, jsx_runtime_1.jsxs)("div", { style: descriptionStyle, children: ["If you are not eligible for the free license, you need to obtain a", ' ', (0, jsx_runtime_1.jsx)("a", { style: descriptionLink, target: "_blank", href: "https://remotion.pro/license", children: "Company License" }), "."] })) : null] }));
175
+ : 'error', rightAlign: false, style: inputStyle, autoFocus: true }), licenseValidation.message ? (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
176
+ jsx_runtime_1.jsx(layout_1.Spacing, { y: 1, block: true }), jsx_runtime_1.jsx(ValidationMessage_1.ValidationMessage, { message: licenseValidation.message, align: "flex-start", type: "error" })
177
+ ] })) : null, licenseValidation.valid && licenseKey.length > 0 ? (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
178
+ jsx_runtime_1.jsx(layout_1.Spacing, { y: 1, block: true }),
179
+ "Add the following to", ' ', jsx_runtime_1.jsx("code", { style: codeStyle, children: "remotion.config.ts" }),
180
+ " to persist this setting:",
181
+ jsx_runtime_1.jsx("div", { style: codeLineSmall, children: "Config.setPublicLicenseKey('" + licenseKey + "');" })
182
+ ] })) : null, isLoading && (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
183
+ jsx_runtime_1.jsx(layout_1.Spacing, { y: 1, block: true }),
184
+ "Loading license key details..."] })), licenseValidation.details && (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
185
+ jsx_runtime_1.jsx(layout_1.Spacing, { y: 1, block: true }), jsx_runtime_1.jsx(WebRenderModalLicenseKeyDetails_1.WebRenderModalLicenseKeyDetails, { details: licenseValidation.details })
186
+ ] }))] })) : null, licenseKey === null ? (jsx_runtime_1.jsxs("div", { style: descriptionStyle, children: ["If you are not eligible for the free license, you need to obtain a", ' ', jsx_runtime_1.jsx("a", { style: descriptionLink, target: "_blank", href: "https://remotion.pro/license", children: "Company License" }),
187
+ "."] })) : null] }));
166
188
  };
167
189
  exports.WebRenderModalLicense = WebRenderModalLicense;
@@ -44,6 +44,17 @@ const fetchLicenseKeyDetails = async (licenseKey) => {
44
44
  };
45
45
  exports.fetchLicenseKeyDetails = fetchLicenseKeyDetails;
46
46
  const WebRenderModalLicenseKeyDetails = ({ details }) => {
47
- return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("div", { style: bulletStyle, children: [(0, jsx_runtime_1.jsx)(check_circle_filled_1.CheckCircleFilled, { style: { ...icon, fill: colors_1.LIGHT_TEXT } }), (0, jsx_runtime_1.jsxs)("div", { style: textStyle, children: ["Belongs to\u00A0", (0, jsx_runtime_1.jsx)("a", { href: `${PRO_HOST}/projects/${details.projectSlug}`, target: "_blank", style: linkStyle, children: details.projectName }), "\u00A0-\u00A0", (0, jsx_runtime_1.jsx)("a", { href: `${PRO_HOST}/projects/${details.projectSlug}/usage#client-renders-usage`, target: "_blank", style: linkStyle, children: "View usage" })] })] }), details.hasActiveSubscription ? ((0, jsx_runtime_1.jsxs)("div", { style: bulletStyle, children: [(0, jsx_runtime_1.jsx)(check_circle_filled_1.CheckCircleFilled, { style: { ...icon, fill: colors_1.LIGHT_TEXT } }), (0, jsx_runtime_1.jsx)("div", { style: textStyle, children: "Active Company License" })] })) : ((0, jsx_runtime_1.jsxs)("div", { style: bulletStyle, children: [(0, jsx_runtime_1.jsx)(ValidationMessage_1.WarningTriangle, { type: "warning", style: { ...icon, fill: colors_1.WARNING_COLOR } }), (0, jsx_runtime_1.jsx)("div", { style: textStyle, children: "No active Company License" })] }))] }));
47
+ return (jsx_runtime_1.jsxs("div", { children: [
48
+ jsx_runtime_1.jsxs("div", { style: bulletStyle, children: [
49
+ jsx_runtime_1.jsx(check_circle_filled_1.CheckCircleFilled, { style: { ...icon, fill: colors_1.LIGHT_TEXT } }), jsx_runtime_1.jsxs("div", { style: textStyle, children: ["Belongs to\u00A0",
50
+ jsx_runtime_1.jsx("a", { href: `${PRO_HOST}/projects/${details.projectSlug}`, target: "_blank", style: linkStyle, children: details.projectName }),
51
+ "\u00A0-\u00A0",
52
+ jsx_runtime_1.jsx("a", { href: `${PRO_HOST}/projects/${details.projectSlug}/usage#client-renders-usage`, target: "_blank", style: linkStyle, children: "View usage" })
53
+ ] })
54
+ ] }), details.hasActiveSubscription ? (jsx_runtime_1.jsxs("div", { style: bulletStyle, children: [
55
+ jsx_runtime_1.jsx(check_circle_filled_1.CheckCircleFilled, { style: { ...icon, fill: colors_1.LIGHT_TEXT } }), jsx_runtime_1.jsx("div", { style: textStyle, children: "Active Company License" })
56
+ ] })) : (jsx_runtime_1.jsxs("div", { style: bulletStyle, children: [
57
+ jsx_runtime_1.jsx(ValidationMessage_1.WarningTriangle, { type: "warning", style: { ...icon, fill: colors_1.WARNING_COLOR } }), jsx_runtime_1.jsx("div", { style: textStyle, children: "No active Company License" })
58
+ ] }))] }));
48
59
  };
49
60
  exports.WebRenderModalLicenseKeyDetails = WebRenderModalLicenseKeyDetails;
@@ -17,6 +17,13 @@ const WebRenderModalPicture = ({ renderMode, videoBitrate, setVideoBitrate, keyf
17
17
  const onTransparentChanged = (0, react_1.useCallback)((e) => {
18
18
  setTransparent(e.target.checked);
19
19
  }, [setTransparent]);
20
- return ((0, jsx_runtime_1.jsxs)("div", { style: tabContainer, children: [(0, jsx_runtime_1.jsx)(ScaleSetting_1.ScaleSetting, { scale: scale, setScale: setScale, compositionWidth: compositionWidth, compositionHeight: compositionHeight }), renderMode !== 'video' ? null : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Quality" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(ComboBox_1.Combobox, { values: qualityOptions, selectedId: videoBitrate, title: "Quality" }) })] }), (0, jsx_runtime_1.jsx)(NumberSetting_1.NumberSetting, { name: "Keyframe Interval", formatter: (v) => `${v}s`, min: 1, max: 300, step: 1, value: keyframeIntervalInSeconds, onValueChanged: setKeyframeIntervalInSeconds }), (0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Transparent" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { checked: transparent, onChange: onTransparentChanged, name: "transparent" }) })] })] }))] }));
20
+ return (jsx_runtime_1.jsxs("div", { style: tabContainer, children: [
21
+ jsx_runtime_1.jsx(ScaleSetting_1.ScaleSetting, { scale: scale, setScale: setScale, compositionWidth: compositionWidth, compositionHeight: compositionHeight }), renderMode !== 'video' ? null : (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
22
+ jsx_runtime_1.jsxs("div", { style: layout_1.optionRow, children: [
23
+ jsx_runtime_1.jsx("div", { style: layout_1.label, children: "Quality" }), jsx_runtime_1.jsx("div", { style: layout_1.rightRow, children: jsx_runtime_1.jsx(ComboBox_1.Combobox, { values: qualityOptions, selectedId: videoBitrate, title: "Quality" }) })
24
+ ] }), jsx_runtime_1.jsx(NumberSetting_1.NumberSetting, { name: "Keyframe Interval", formatter: (v) => `${v}s`, min: 1, max: 300, step: 1, value: keyframeIntervalInSeconds, onValueChanged: setKeyframeIntervalInSeconds }), jsx_runtime_1.jsxs("div", { style: layout_1.optionRow, children: [
25
+ jsx_runtime_1.jsx("div", { style: layout_1.label, children: "Transparent" }), jsx_runtime_1.jsx("div", { style: layout_1.rightRow, children: jsx_runtime_1.jsx(Checkbox_1.Checkbox, { checked: transparent, onChange: onTransparentChanged, name: "transparent" }) })
26
+ ] })
27
+ ] }))] }));
21
28
  };
22
29
  exports.WebRenderModalPicture = WebRenderModalPicture;
@@ -28,6 +28,8 @@ const link = {
28
28
  fontSize: 14,
29
29
  };
30
30
  const WebRendererExperimentalBadge = () => {
31
- return ((0, jsx_runtime_1.jsxs)("div", { style: row, children: [(0, jsx_runtime_1.jsx)(ValidationMessage_1.WarningTriangle, { type: "warning", style: icon }), (0, jsx_runtime_1.jsxs)("div", { style: text, children: ["The Remotion Web Renderer is experimental.", ' ', (0, jsx_runtime_1.jsx)("a", { href: "https://github.com/remotion-dev/remotion/issues/5913", target: "_blank", rel: "noopener noreferrer", style: link, children: "Track progress on GitHub" }), ' ', "and discuss in the", ' ', (0, jsx_runtime_1.jsx)("a", { href: "https://remotion.dev/discord", target: "_blank", rel: "noopener noreferrer", style: link, children: "#web-renderer" }), ' ', "channel on Discord."] })] }));
31
+ return (jsx_runtime_1.jsxs("div", { style: row, children: [
32
+ jsx_runtime_1.jsx(ValidationMessage_1.WarningTriangle, { type: "warning", style: icon }), jsx_runtime_1.jsxs("div", { style: text, children: ["The Remotion Web Renderer is experimental.", ' ', jsx_runtime_1.jsx("a", { href: "https://github.com/remotion-dev/remotion/issues/5913", target: "_blank", rel: "noopener noreferrer", style: link, children: "Track progress on GitHub" }), ' ', "and discuss in the", ' ', jsx_runtime_1.jsx("a", { href: "https://remotion.dev/discord", target: "_blank", rel: "noopener noreferrer", style: link, children: "#web-renderer" }), ' ', "channel on Discord."] })
33
+ ] }));
32
34
  };
33
35
  exports.WebRendererExperimentalBadge = WebRendererExperimentalBadge;
@@ -1,14 +1,13 @@
1
- import type { AudioCodec, Codec } from '@remotion/renderer';
2
1
  import type { RenderType } from './RenderModalAdvanced';
3
2
  export declare const getDefaultCodecs: ({ defaultConfigurationVideoCodec, compositionDefaultVideoCodec, renderType, defaultConfigurationAudioCodec, }: {
4
- defaultConfigurationVideoCodec: Codec | null;
5
- defaultConfigurationAudioCodec: AudioCodec | null;
6
- compositionDefaultVideoCodec: Codec | null;
3
+ defaultConfigurationVideoCodec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
4
+ defaultConfigurationAudioCodec: "aac" | "mp3" | "opus" | "pcm-16" | null;
5
+ compositionDefaultVideoCodec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
7
6
  renderType: RenderType;
8
7
  }) => {
9
- initialAudioCodec: AudioCodec | null;
10
- initialVideoCodec: Codec;
8
+ initialAudioCodec: "aac" | "mp3" | "opus" | "pcm-16" | null;
9
+ initialVideoCodec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
11
10
  initialRenderType: RenderType;
12
- initialVideoCodecForAudioTab: Codec;
13
- initialVideoCodecForVideoTab: Codec;
11
+ initialVideoCodecForAudioTab: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
12
+ initialVideoCodecForVideoTab: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
14
13
  };
@@ -1,2 +1 @@
1
- import type { AudioCodec } from '@remotion/renderer';
2
- export declare const humanReadableAudioCodec: (audioCodec: AudioCodec) => "AAC" | "MP3" | "Lossless" | "Opus" | undefined;
1
+ export declare const humanReadableAudioCodec: (audioCodec: "aac" | "mp3" | "opus" | "pcm-16") => "AAC" | "Lossless" | "MP3" | "Opus" | undefined;
@@ -1,2 +1 @@
1
- import type { Codec } from '@remotion/renderer';
2
- export declare const humanReadableCodec: (codec: Codec) => "AAC" | "MP3" | "GIF" | "H.264" | "H.264 (Matroska)" | "H.264 (Transport Stream)" | "H.265" | "ProRes" | "VP8" | "VP9" | "Waveform";
1
+ export declare const humanReadableCodec: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => "AAC" | "GIF" | "H.264" | "H.264 (Matroska)" | "H.264 (Transport Stream)" | "H.265" | "MP3" | "ProRes" | "VP8" | "VP9" | "Waveform";
@@ -1,2 +1 @@
1
- import type { LogLevel } from 'remotion';
2
- export declare const humanReadableLogLevel: (logLevel: LogLevel) => "Trace" | "Verbose" | "Info" | "Warn" | "Error";
1
+ export declare const humanReadableLogLevel: (logLevel: "error" | "info" | "trace" | "verbose" | "warn") => "Error" | "Info" | "Trace" | "Verbose" | "Warn";
@@ -1,11 +1,10 @@
1
- import type { AudioCodec, Codec, StillImageFormat } from '@remotion/renderer';
2
1
  import type { RenderType } from './RenderModalAdvanced';
3
2
  export declare const validateOutnameGui: ({ outName, codec, audioCodec, renderMode, stillImageFormat, separateAudioTo, }: {
4
3
  outName: string;
5
- codec: Codec;
6
- audioCodec: AudioCodec;
4
+ codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
5
+ audioCodec: "aac" | "mp3" | "opus" | "pcm-16";
7
6
  renderMode: RenderType;
8
- stillImageFormat: StillImageFormat | null;
7
+ stillImageFormat: "jpeg" | "pdf" | "png" | "webp" | null;
9
8
  separateAudioTo: string | null;
10
9
  }) => {
11
10
  valid: true;
@@ -15,5 +14,5 @@ export declare const validateOutnameGui: ({ outName, codec, audioCodec, renderMo
15
14
  };
16
15
  export declare const isValidSeparateAudioName: ({ audioCodec, separateAudioTo, }: {
17
16
  separateAudioTo: string;
18
- audioCodec: AudioCodec;
17
+ audioCodec: "aac" | "mp3" | "opus" | "pcm-16";
19
18
  }) => void;
@@ -14,7 +14,7 @@ const getQualityOptions = (selectedQuality, setQuality) => {
14
14
  return QUALITY_OPTIONS.map(({ value, label }) => ({
15
15
  label,
16
16
  onClick: () => setQuality(value),
17
- leftItem: selectedQuality === value ? (0, jsx_runtime_1.jsx)(Checkmark_1.Checkmark, {}) : null,
17
+ leftItem: selectedQuality === value ? jsx_runtime_1.jsx(Checkmark_1.Checkmark, {}) : null,
18
18
  id: value,
19
19
  keyHint: null,
20
20
  quickSwitcherLabel: null,
@@ -59,14 +59,14 @@ const RenderPreview = ({ path, assetMetadata, getBlob }) => {
59
59
  }, [getBlob]);
60
60
  const src = blobUrl !== null && blobUrl !== void 0 ? blobUrl : get_asset_metadata_1.remotion_outputsBase + path;
61
61
  if (connectionStatus === 'disconnected') {
62
- return (0, jsx_runtime_1.jsx)("div", { style: errMsgStyle, children: "Studio server disconnected" });
62
+ return jsx_runtime_1.jsx("div", { style: errMsgStyle, children: "Studio server disconnected" });
63
63
  }
64
64
  if (getBlob && blobError) {
65
- return ((0, jsx_runtime_1.jsxs)("div", { style: errMsgStyle, children: ["Failed to load preview: ", blobError.message] }));
65
+ return (jsx_runtime_1.jsxs("div", { style: errMsgStyle, children: ["Failed to load preview: ", blobError.message] }));
66
66
  }
67
67
  if (getBlob && !blobUrl) {
68
- return (0, jsx_runtime_1.jsx)("div", { style: msgStyle, children: "Loading preview..." });
68
+ return jsx_runtime_1.jsx("div", { style: msgStyle, children: "Loading preview..." });
69
69
  }
70
- return ((0, jsx_runtime_1.jsx)(FilePreview_1.FilePreview, { assetMetadata: assetMetadata, currentAsset: path, fileType: fileType, src: src }));
70
+ return (jsx_runtime_1.jsx(FilePreview_1.FilePreview, { assetMetadata: assetMetadata, currentAsset: path, fileType: fileType, src: src }));
71
71
  };
72
72
  exports.RenderPreview = RenderPreview;
@@ -13,6 +13,6 @@ const container = {
13
13
  const CircularProgress = ({ progress }) => {
14
14
  const r = exports.RENDER_STATUS_INDICATOR_SIZE / 2 - STROKE_WIDTH;
15
15
  const circumference = r * Math.PI * 2;
16
- return ((0, jsx_runtime_1.jsx)("svg", { style: container, viewBox: `0 0 ${exports.RENDER_STATUS_INDICATOR_SIZE} ${exports.RENDER_STATUS_INDICATOR_SIZE}`, children: (0, jsx_runtime_1.jsx)("circle", { r: exports.RENDER_STATUS_INDICATOR_SIZE / 2 - STROKE_WIDTH, stroke: colors_1.LIGHT_TEXT, fill: "none", strokeWidth: STROKE_WIDTH, cx: exports.RENDER_STATUS_INDICATOR_SIZE / 2, cy: exports.RENDER_STATUS_INDICATOR_SIZE / 2, strokeDasharray: `${circumference} ${circumference}`, strokeMiterlimit: 0, strokeDashoffset: (1 - progress) * circumference }) }));
16
+ return (jsx_runtime_1.jsx("svg", { style: container, viewBox: `0 0 ${exports.RENDER_STATUS_INDICATOR_SIZE} ${exports.RENDER_STATUS_INDICATOR_SIZE}`, children: jsx_runtime_1.jsx("circle", { r: exports.RENDER_STATUS_INDICATOR_SIZE / 2 - STROKE_WIDTH, stroke: colors_1.LIGHT_TEXT, fill: "none", strokeWidth: STROKE_WIDTH, cx: exports.RENDER_STATUS_INDICATOR_SIZE / 2, cy: exports.RENDER_STATUS_INDICATOR_SIZE / 2, strokeDasharray: `${circumference} ${circumference}`, strokeMiterlimit: 0, strokeDashoffset: (1 - progress) * circumference }) }));
17
17
  };
18
18
  exports.CircularProgress = CircularProgress;
@@ -88,7 +88,6 @@ const ClientRenderQueueProcessor = () => {
88
88
  signal,
89
89
  onProgress: (progress) => {
90
90
  onProgress(job.id, {
91
- renderedFrames: progress.renderedFrames,
92
91
  encodedFrames: progress.encodedFrames,
93
92
  totalFrames,
94
93
  });
@@ -10,6 +10,6 @@ const cancelledStyle = {
10
10
  cursor: 'default',
11
11
  };
12
12
  const RenderQueueCancelledMessage = () => {
13
- return (0, jsx_runtime_1.jsx)("span", { style: cancelledStyle, children: "Cancelled" });
13
+ return jsx_runtime_1.jsx("span", { style: cancelledStyle, children: "Cancelled" });
14
14
  };
15
15
  exports.RenderQueueCancelledMessage = RenderQueueCancelledMessage;
@@ -29,7 +29,7 @@ const supportsCopyingToClipboard = (job) => {
29
29
  exports.supportsCopyingToClipboard = supportsCopyingToClipboard;
30
30
  const RenderQueueCopyToClipboard = ({ job }) => {
31
31
  const renderCopyAction = (0, react_1.useCallback)((color) => {
32
- return (0, jsx_runtime_1.jsx)(clipboard_1.ClipboardIcon, { style: revealIconStyle, color: color });
32
+ return jsx_runtime_1.jsx(clipboard_1.ClipboardIcon, { style: revealIconStyle, color: color });
33
33
  }, []);
34
34
  const onClick = (0, react_1.useCallback)(async (e) => {
35
35
  e.stopPropagation();
@@ -52,6 +52,6 @@ const RenderQueueCopyToClipboard = ({ job }) => {
52
52
  (0, NotificationCenter_1.showNotification)(`Could not copy to clipboard: ${err.message}`, 2000);
53
53
  }
54
54
  }, [job.outName]);
55
- return ((0, jsx_runtime_1.jsx)(InlineAction_1.InlineAction, { title: "Copy to clipboard", renderAction: renderCopyAction, onClick: onClick }));
55
+ return (jsx_runtime_1.jsx(InlineAction_1.InlineAction, { title: "Copy to clipboard", renderAction: renderCopyAction, onClick: onClick }));
56
56
  };
57
57
  exports.RenderQueueCopyToClipboard = RenderQueueCopyToClipboard;
@@ -28,8 +28,8 @@ const RenderQueueDownloadItem = ({ job }) => {
28
28
  };
29
29
  }, []);
30
30
  const renderAction = (0, react_1.useCallback)((color) => {
31
- return ((0, jsx_runtime_1.jsx)("svg", { style: icon, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", children: (0, jsx_runtime_1.jsx)("path", { fill: color, d: "M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 242.7-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7 288 32zM64 352c-35.3 0-64 28.7-64 64l0 32c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-32c0-35.3-28.7-64-64-64l-101.5 0-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352 64 352zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z" }) }));
31
+ return (jsx_runtime_1.jsx("svg", { style: icon, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", children: jsx_runtime_1.jsx("path", { fill: color, d: "M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 242.7-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7 288 32zM64 352c-35.3 0-64 28.7-64 64l0 32c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-32c0-35.3-28.7-64-64-64l-101.5 0-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352 64 352zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z" }) }));
32
32
  }, [icon]);
33
- return ((0, jsx_runtime_1.jsx)(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick, title: "Download" }));
33
+ return (jsx_runtime_1.jsx(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick, title: "Download" }));
34
34
  };
35
35
  exports.RenderQueueDownloadItem = RenderQueueDownloadItem;
@@ -21,6 +21,6 @@ const RenderQueueError = ({ job }) => {
21
21
  if (job.status !== 'failed') {
22
22
  throw new Error('should not have rendered this component');
23
23
  }
24
- return ((0, jsx_runtime_1.jsx)("button", { onClick: onClick, type: "button", style: outputLocation, tabIndex: tabIndex, title: job.error.message, children: job.error.message }));
24
+ return (jsx_runtime_1.jsx("button", { onClick: onClick, type: "button", style: outputLocation, tabIndex: tabIndex, title: job.error.message, children: job.error.message }));
25
25
  };
26
26
  exports.RenderQueueError = RenderQueueError;
@@ -138,6 +138,9 @@ const RenderQueueItem = ({ job, selected }) => {
138
138
  job.status === 'failed' ||
139
139
  job.status === 'cancelled') &&
140
140
  !((0, context_1.isClientRenderJob)(job) && (0, client_side_render_types_1.isRestoredClientJob)(job));
141
- return ((0, jsx_runtime_1.jsxs)(layout_1.Row, { onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, style: containerStyle, align: "center", onClick: onClick, className: selected ? SELECTED_CLASSNAME : undefined, children: [(0, jsx_runtime_1.jsx)(RenderQueueItemStatus_1.RenderQueueItemStatus, { job: job }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), (0, jsx_runtime_1.jsxs)("div", { style: right, children: [(0, jsx_runtime_1.jsx)("div", { style: title, children: job.compositionId }), (0, jsx_runtime_1.jsx)("div", { style: subtitle, children: job.status === 'done' ? ((0, jsx_runtime_1.jsx)(RenderQueueOutputName_1.RenderQueueOutputName, { job: job })) : job.status === 'failed' ? ((0, jsx_runtime_1.jsx)(RenderQueueError_1.RenderQueueError, { job: job })) : job.status === 'running' ? ((0, jsx_runtime_1.jsx)(RenderQueueProgressMessage_1.RenderQueueProgressMessage, { job: job })) : job.status === 'saving' ? ((0, jsx_runtime_1.jsx)(RenderQueueSavingMessage_1.RenderQueueSavingMessage, {})) : job.status === 'cancelled' ? ((0, jsx_runtime_1.jsx)(RenderQueueCancelledMessage_1.RenderQueueCancelledMessage, {})) : null })] }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), canCopyToClipboard ? ((0, jsx_runtime_1.jsx)(RenderQueueCopyToClipboard_1.RenderQueueCopyToClipboard, { job: job })) : null, canRepeat ? (0, jsx_runtime_1.jsx)(RenderQueueRepeat_1.RenderQueueRepeatItem, { job: job }) : null, job.status === 'running' ? ((0, jsx_runtime_1.jsx)(RenderQueueItemCancelButton_1.RenderQueueCancelButton, { job: job })) : ((0, jsx_runtime_1.jsx)(RenderQueueRemoveItem_1.RenderQueueRemoveItem, { job: job })), job.status === 'done' ? (clientBlobInfo ? ((0, jsx_runtime_1.jsx)(RenderQueueDownloadItem_1.RenderQueueDownloadItem, { job: job })) : ((0, jsx_runtime_1.jsx)(RenderQueueOpenInFolder_1.RenderQueueOpenInFinderItem, { job: job }))) : null] }));
141
+ return (jsx_runtime_1.jsxs(layout_1.Row, { onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, style: containerStyle, align: "center", onClick: onClick, className: selected ? SELECTED_CLASSNAME : undefined, children: [
142
+ jsx_runtime_1.jsx(RenderQueueItemStatus_1.RenderQueueItemStatus, { job: job }), jsx_runtime_1.jsx(layout_1.Spacing, { x: 1 }), jsx_runtime_1.jsxs("div", { style: right, children: [
143
+ jsx_runtime_1.jsx("div", { style: title, children: job.compositionId }), jsx_runtime_1.jsx("div", { style: subtitle, children: job.status === 'done' ? (jsx_runtime_1.jsx(RenderQueueOutputName_1.RenderQueueOutputName, { job: job })) : job.status === 'failed' ? (jsx_runtime_1.jsx(RenderQueueError_1.RenderQueueError, { job: job })) : job.status === 'running' ? (jsx_runtime_1.jsx(RenderQueueProgressMessage_1.RenderQueueProgressMessage, { job: job })) : job.status === 'saving' ? (jsx_runtime_1.jsx(RenderQueueSavingMessage_1.RenderQueueSavingMessage, {})) : job.status === 'cancelled' ? (jsx_runtime_1.jsx(RenderQueueCancelledMessage_1.RenderQueueCancelledMessage, {})) : null })
144
+ ] }), jsx_runtime_1.jsx(layout_1.Spacing, { x: 1 }), canCopyToClipboard ? (jsx_runtime_1.jsx(RenderQueueCopyToClipboard_1.RenderQueueCopyToClipboard, { job: job })) : null, canRepeat ? jsx_runtime_1.jsx(RenderQueueRepeat_1.RenderQueueRepeatItem, { job: job }) : null, job.status === 'running' ? (jsx_runtime_1.jsx(RenderQueueItemCancelButton_1.RenderQueueCancelButton, { job: job })) : (jsx_runtime_1.jsx(RenderQueueRemoveItem_1.RenderQueueRemoveItem, { job: job })), job.status === 'done' ? (clientBlobInfo ? (jsx_runtime_1.jsx(RenderQueueDownloadItem_1.RenderQueueDownloadItem, { job: job })) : (jsx_runtime_1.jsx(RenderQueueOpenInFolder_1.RenderQueueOpenInFinderItem, { job: job }))) : null] }));
142
145
  };
143
146
  exports.RenderQueueItem = RenderQueueItem;
@@ -27,8 +27,8 @@ const RenderQueueCancelButton = ({ job }) => {
27
27
  };
28
28
  }, []);
29
29
  const renderAction = (0, react_1.useCallback)((color) => {
30
- return ((0, jsx_runtime_1.jsx)("svg", { style: icon, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", children: (0, jsx_runtime_1.jsx)("path", { fill: color, d: "M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256z" }) }));
30
+ return (jsx_runtime_1.jsx("svg", { style: icon, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", children: jsx_runtime_1.jsx("path", { fill: color, d: "M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256z" }) }));
31
31
  }, [icon]);
32
- return (0, jsx_runtime_1.jsx)(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick });
32
+ return jsx_runtime_1.jsx(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick });
33
33
  };
34
34
  exports.RenderQueueCancelButton = RenderQueueCancelButton;
@@ -69,30 +69,30 @@ const RenderQueueItemStatus = ({ job }) => {
69
69
  });
70
70
  }, [job.id, setSelectedModal]);
71
71
  if (job.status === 'failed') {
72
- return ((0, jsx_runtime_1.jsx)("button", { type: "button", style: invisibleStyle, onClick: onClick, children: (0, jsx_runtime_1.jsx)("svg", { style: iconStyle, viewBox: "0 0 512 512", children: (0, jsx_runtime_1.jsx)("path", { fill: colors_1.FAIL_COLOR, d: "M0 160V352L160 512H352L512 352V160L352 0H160L0 160zm353.9 32l-17 17-47 47 47 47 17 17L320 353.9l-17-17-47-47-47 47-17 17L158.1 320l17-17 47-47-47-47-17-17L192 158.1l17 17 47 47 47-47 17-17L353.9 192z" }) }) }));
72
+ return (jsx_runtime_1.jsx("button", { type: "button", style: invisibleStyle, onClick: onClick, children: jsx_runtime_1.jsx("svg", { style: iconStyle, viewBox: "0 0 512 512", children: jsx_runtime_1.jsx("path", { fill: colors_1.FAIL_COLOR, d: "M0 160V352L160 512H352L512 352V160L352 0H160L0 160zm353.9 32l-17 17-47 47 47 47 17 17L320 353.9l-17-17-47-47-47 47-17 17L158.1 320l17-17 47-47-47-47-17-17L192 158.1l17 17 47 47 47-47 17-17L353.9 192z" }) }) }));
73
73
  }
74
74
  if (job.status === 'idle') {
75
- return ((0, jsx_runtime_1.jsx)("svg", { style: iconStyle, viewBox: "0 0 512 512", children: (0, jsx_runtime_1.jsx)("path", { fill: colors_1.LIGHT_TEXT, d: "M256 512C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z" }) }));
75
+ return (jsx_runtime_1.jsx("svg", { style: iconStyle, viewBox: "0 0 512 512", children: jsx_runtime_1.jsx("path", { fill: colors_1.LIGHT_TEXT, d: "M256 512C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z" }) }));
76
76
  }
77
77
  if (job.status === 'done') {
78
- return ((0, jsx_runtime_1.jsx)("button", { type: "button", style: invisibleStyle, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, onClick: onClick, children: (0, jsx_runtime_1.jsx)("svg", { style: iconStyle, viewBox: "0 0 512 512", children: (0, jsx_runtime_1.jsx)("path", { fill: hovered ? 'white' : colors_1.LIGHT_TEXT, d: "M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM369 209L241 337l-17 17-17-17-64-64-17-17L160 222.1l17 17 47 47L335 175l17-17L385.9 192l-17 17z" }) }) }));
78
+ return (jsx_runtime_1.jsx("button", { type: "button", style: invisibleStyle, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, onClick: onClick, children: jsx_runtime_1.jsx("svg", { style: iconStyle, viewBox: "0 0 512 512", children: jsx_runtime_1.jsx("path", { fill: hovered ? 'white' : colors_1.LIGHT_TEXT, d: "M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM369 209L241 337l-17 17-17-17-64-64-17-17L160 222.1l17 17 47 47L335 175l17-17L385.9 192l-17 17z" }) }) }));
79
79
  }
80
80
  if (job.status === 'running') {
81
81
  let progressValue;
82
82
  if (isClientJob) {
83
- const { renderedFrames, totalFrames } = job.progress;
84
- progressValue = totalFrames > 0 ? renderedFrames / totalFrames : 0;
83
+ const { encodedFrames, totalFrames } = job.progress;
84
+ progressValue = totalFrames > 0 ? encodedFrames / totalFrames : 0;
85
85
  }
86
86
  else {
87
87
  progressValue = job.progress.value;
88
88
  }
89
- return ((0, jsx_runtime_1.jsx)("button", { type: "button", style: invisibleStyle, onClick: onClick, children: (0, jsx_runtime_1.jsx)(CircularProgress_1.CircularProgress, { progress: Math.max(0.07, progressValue) }) }));
89
+ return (jsx_runtime_1.jsx("button", { type: "button", style: invisibleStyle, onClick: onClick, children: jsx_runtime_1.jsx(CircularProgress_1.CircularProgress, { progress: Math.max(0.07, progressValue) }) }));
90
90
  }
91
91
  if (job.status === 'saving') {
92
- return ((0, jsx_runtime_1.jsx)("button", { type: "button", style: invisibleStyle, onClick: onClick, children: (0, jsx_runtime_1.jsx)(CircularProgress_1.CircularProgress, { progress: 0.95 }) }));
92
+ return (jsx_runtime_1.jsx("button", { type: "button", style: invisibleStyle, onClick: onClick, children: jsx_runtime_1.jsx(CircularProgress_1.CircularProgress, { progress: 0.95 }) }));
93
93
  }
94
94
  if (job.status === 'cancelled') {
95
- return ((0, jsx_runtime_1.jsx)("svg", { style: iconStyle, viewBox: "0 0 512 512", children: (0, jsx_runtime_1.jsx)("path", { fill: colors_1.FAIL_COLOR, d: "M0 160V352L160 512H352L512 352V160L352 0H160L0 160zm353.9 32l-17 17-47 47 47 47 17 17L320 353.9l-17-17-47-47-47 47-17 17L158.1 320l17-17 47-47-47-47-17-17L192 158.1l17 17 47 47 47-47 17-17L353.9 192z" }) }));
95
+ return (jsx_runtime_1.jsx("svg", { style: iconStyle, viewBox: "0 0 512 512", children: jsx_runtime_1.jsx("path", { fill: colors_1.FAIL_COLOR, d: "M0 160V352L160 512H352L512 352V160L352 0H160L0 160zm353.9 32l-17 17-47 47 47 47 17 17L320 353.9l-17-17-47-47-47 47-17 17L158.1 320l17-17 47-47-47-47-17-17L192 158.1l17 17 47 47 47-47 17-17L353.9 192z" }) }));
96
96
  }
97
97
  throw new Error('Unknown job status');
98
98
  };
@@ -21,8 +21,8 @@ const RenderQueueOpenInFinderItem = ({ job }) => {
21
21
  };
22
22
  }, []);
23
23
  const renderAction = (0, react_1.useCallback)((color) => {
24
- return (0, jsx_runtime_1.jsx)(folder_1.ExpandedFolderIconSolid, { style: icon, color: color });
24
+ return jsx_runtime_1.jsx(folder_1.ExpandedFolderIconSolid, { style: icon, color: color });
25
25
  }, [icon]);
26
- return (0, jsx_runtime_1.jsx)(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick });
26
+ return jsx_runtime_1.jsx(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick });
27
27
  };
28
28
  exports.RenderQueueOpenInFinderItem = RenderQueueOpenInFinderItem;
@@ -20,6 +20,6 @@ const RenderQueueOutputName = ({ job }) => {
20
20
  }
21
21
  return job.outName;
22
22
  };
23
- return ((0, jsx_runtime_1.jsx)("span", { style: style, title: getTitle(), children: job.outName }));
23
+ return (jsx_runtime_1.jsx("span", { style: style, title: getTitle(), children: job.outName }));
24
24
  };
25
25
  exports.RenderQueueOutputName = RenderQueueOutputName;
@@ -24,8 +24,10 @@ const RenderQueueProgressMessage = ({ job }) => {
24
24
  });
25
25
  }, [job.id, setSelectedModal]);
26
26
  const message = isClientJob
27
- ? `Rendering frame ${job.progress.renderedFrames}/${job.progress.totalFrames}`
27
+ ? job.progress.totalFrames === 0
28
+ ? 'Getting composition'
29
+ : `Encoding frame ${job.progress.encodedFrames}/${job.progress.totalFrames}`
28
30
  : job.progress.message;
29
- return ((0, jsx_runtime_1.jsx)("button", { onClick: onClick, type: "button", style: outputLocation, tabIndex: tabIndex, title: message, children: message }));
31
+ return (jsx_runtime_1.jsx("button", { onClick: onClick, type: "button", style: outputLocation, tabIndex: tabIndex, title: message, children: message }));
30
32
  };
31
33
  exports.RenderQueueProgressMessage = RenderQueueProgressMessage;
@@ -43,8 +43,8 @@ const RenderQueueRemoveItem = ({ job }) => {
43
43
  };
44
44
  }, []);
45
45
  const renderAction = (0, react_1.useCallback)((color) => {
46
- return ((0, jsx_runtime_1.jsx)("svg", { style: icon, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 320 512", children: (0, jsx_runtime_1.jsx)("path", { fill: color, d: "M310.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 210.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L114.7 256 9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 301.3 265.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L205.3 256 310.6 150.6z" }) }));
46
+ return (jsx_runtime_1.jsx("svg", { style: icon, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 320 512", children: jsx_runtime_1.jsx("path", { fill: color, d: "M310.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 210.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L114.7 256 9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 301.3 265.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L205.3 256 310.6 150.6z" }) }));
47
47
  }, [icon]);
48
- return (0, jsx_runtime_1.jsx)(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick });
48
+ return jsx_runtime_1.jsx(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick });
49
49
  };
50
50
  exports.RenderQueueRemoveItem = RenderQueueRemoveItem;
@@ -41,8 +41,8 @@ const RenderQueueRepeatItem = ({ job }) => {
41
41
  };
42
42
  }, []);
43
43
  const renderAction = (0, react_1.useCallback)((color) => {
44
- return ((0, jsx_runtime_1.jsx)("svg", { style: icon, viewBox: "0 0 512 512", children: (0, jsx_runtime_1.jsx)("path", { fill: color, d: "M386.3 160H336c-17.7 0-32 14.3-32 32s14.3 32 32 32H464c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0s-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3s163.8-62.5 226.3 0L386.3 160z" }) }));
44
+ return (jsx_runtime_1.jsx("svg", { style: icon, viewBox: "0 0 512 512", children: jsx_runtime_1.jsx("path", { fill: color, d: "M386.3 160H336c-17.7 0-32 14.3-32 32s14.3 32 32 32H464c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0s-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3s163.8-62.5 226.3 0L386.3 160z" }) }));
45
45
  }, [icon]);
46
- return (0, jsx_runtime_1.jsx)(InlineAction_1.InlineAction, { onClick: onClick, renderAction: renderAction });
46
+ return jsx_runtime_1.jsx(InlineAction_1.InlineAction, { onClick: onClick, renderAction: renderAction });
47
47
  };
48
48
  exports.RenderQueueRepeatItem = RenderQueueRepeatItem;
@@ -8,6 +8,6 @@ const savingStyle = {
8
8
  cursor: 'default',
9
9
  };
10
10
  const RenderQueueSavingMessage = () => {
11
- return (0, jsx_runtime_1.jsx)("span", { style: savingStyle, children: "Saving to out/..." });
11
+ return jsx_runtime_1.jsx("span", { style: savingStyle, children: "Saving to out/..." });
12
12
  };
13
13
  exports.RenderQueueSavingMessage = RenderQueueSavingMessage;
@@ -9,6 +9,6 @@ const iconStyle = {
9
9
  width: CircularProgress_1.RENDER_STATUS_INDICATOR_SIZE,
10
10
  };
11
11
  const SuccessIcon = () => {
12
- return ((0, jsx_runtime_1.jsx)("svg", { style: iconStyle, viewBox: "0 0 512 512", children: (0, jsx_runtime_1.jsx)("path", { fill: colors_1.LIGHT_TEXT, d: "M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM369 209L241 337l-17 17-17-17-64-64-17-17L160 222.1l17 17 47 47L335 175l17-17L385.9 192l-17 17z" }) }));
12
+ return (jsx_runtime_1.jsx("svg", { style: iconStyle, viewBox: "0 0 512 512", children: jsx_runtime_1.jsx("path", { fill: colors_1.LIGHT_TEXT, d: "M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM369 209L241 337l-17 17-17-17-64-64-17-17L160 222.1l17 17 47 47L335 175l17-17L385.9 192l-17 17z" }) }));
13
13
  };
14
14
  exports.SuccessIcon = SuccessIcon;