@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
@@ -22,6 +22,6 @@ const FastRefreshProvider = ({ children }) => {
22
22
  }
23
23
  }, []);
24
24
  const value = (0, react_1.useMemo)(() => ({ fastRefreshes, manualRefreshes, increaseManualRefreshes }), [fastRefreshes, manualRefreshes, increaseManualRefreshes]);
25
- return ((0, jsx_runtime_1.jsx)(fast_refresh_context_1.FastRefreshContext.Provider, { value: value, children: children }));
25
+ return (jsx_runtime_1.jsx(fast_refresh_context_1.FastRefreshContext.Provider, { value: value, children: children }));
26
26
  };
27
27
  exports.FastRefreshProvider = FastRefreshProvider;
@@ -268,6 +268,6 @@ const ResolveCompositionConfigInStudio = ({ children }) => {
268
268
  }, {}),
269
269
  };
270
270
  }, [compositions, resolvedConfigs]);
271
- return ((0, jsx_runtime_1.jsx)(remotion_1.Internals.ResolveCompositionContext.Provider, { value: resolvedConfigsIncludingStaticOnes, children: children }));
271
+ return (jsx_runtime_1.jsx(remotion_1.Internals.ResolveCompositionContext.Provider, { value: resolvedConfigsIncludingStaticOnes, children: children }));
272
272
  };
273
273
  exports.ResolveCompositionConfigInStudio = ResolveCompositionConfigInStudio;
package/dist/Studio.js CHANGED
@@ -8,6 +8,7 @@ const remotion_1 = require("remotion");
8
8
  const Editor_1 = require("./components/Editor");
9
9
  const EditorContexts_1 = require("./components/EditorContexts");
10
10
  const ServerDisconnected_1 = require("./components/Notifications/ServerDisconnected");
11
+ const use_static_files_1 = require("./components/use-static-files");
11
12
  const fast_refresh_context_1 = require("./fast-refresh-context");
12
13
  const FastRefreshProvider_1 = require("./FastRefreshProvider");
13
14
  const inject_css_1 = require("./helpers/inject-css");
@@ -18,14 +19,15 @@ const getServerDisconnectedDomElement = () => {
18
19
  const StudioInner = ({ rootComponent, readOnly }) => {
19
20
  var _a;
20
21
  const { fastRefreshes, manualRefreshes } = (0, react_1.useContext)(fast_refresh_context_1.FastRefreshContext);
21
- return ((0, jsx_runtime_1.jsx)(remotion_1.Internals.CompositionManagerProvider, { onlyRenderComposition: null, currentCompositionMetadata: null, initialCompositions: [], initialCanvasContent: null, children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.RemotionRootContexts, { frameState: null, audioEnabled: window.remotion_audioEnabled, videoEnabled: window.remotion_videoEnabled, logLevel: window.remotion_logLevel, numberOfAudioTags: window.remotion_numberOfAudioTags, audioLatencyHint: (_a = window.remotion_audioLatencyHint) !== null && _a !== void 0 ? _a : 'interactive', nonceContextSeed: fastRefreshes + manualRefreshes, children: (0, jsx_runtime_1.jsx)(ResolveCompositionConfigInStudio_1.ResolveCompositionConfigInStudio, { children: (0, jsx_runtime_1.jsxs)(EditorContexts_1.EditorContexts, { readOnlyStudio: readOnly, children: [(0, jsx_runtime_1.jsx)(Editor_1.Editor, { readOnlyStudio: readOnly, Root: rootComponent }), readOnly
22
- ? null
23
- : (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsx)(ServerDisconnected_1.ServerDisconnected, {}), getServerDisconnectedDomElement())] }) }) }) }));
22
+ return (jsx_runtime_1.jsx(remotion_1.Internals.CompositionManagerProvider, { onlyRenderComposition: null, currentCompositionMetadata: null, initialCompositions: [], initialCanvasContent: null, children: jsx_runtime_1.jsx(remotion_1.Internals.RemotionRootContexts, { frameState: null, audioEnabled: window.remotion_audioEnabled, videoEnabled: window.remotion_videoEnabled, logLevel: window.remotion_logLevel, numberOfAudioTags: window.remotion_numberOfAudioTags, audioLatencyHint: (_a = window.remotion_audioLatencyHint) !== null && _a !== void 0 ? _a : 'interactive', nonceContextSeed: fastRefreshes + manualRefreshes, children: jsx_runtime_1.jsx(use_static_files_1.StaticFilesProvider, { children: jsx_runtime_1.jsx(ResolveCompositionConfigInStudio_1.ResolveCompositionConfigInStudio, { children: jsx_runtime_1.jsxs(EditorContexts_1.EditorContexts, { readOnlyStudio: readOnly, children: [
23
+ jsx_runtime_1.jsx(Editor_1.Editor, { readOnlyStudio: readOnly, Root: rootComponent }), readOnly
24
+ ? null
25
+ : (0, react_dom_1.createPortal)(jsx_runtime_1.jsx(ServerDisconnected_1.ServerDisconnected, {}), getServerDisconnectedDomElement())] }) }) }) }) }));
24
26
  };
25
27
  const Studio = ({ rootComponent, readOnly }) => {
26
28
  (0, react_1.useLayoutEffect)(() => {
27
29
  (0, inject_css_1.injectCSS)();
28
30
  }, []);
29
- return ((0, jsx_runtime_1.jsx)(FastRefreshProvider_1.FastRefreshProvider, { children: (0, jsx_runtime_1.jsx)(StudioInner, { rootComponent: rootComponent, readOnly: readOnly }) }));
31
+ return (jsx_runtime_1.jsx(FastRefreshProvider_1.FastRefreshProvider, { children: jsx_runtime_1.jsx(StudioInner, { rootComponent: rootComponent, readOnly: readOnly }) }));
30
32
  };
31
33
  exports.Studio = Studio;
@@ -5,11 +5,11 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const remotion_1 = require("remotion");
6
6
  const createComposition = ({ ...other }) => () => {
7
7
  // @ts-expect-error
8
- return (0, jsx_runtime_1.jsx)(remotion_1.Composition, { ...other });
8
+ return jsx_runtime_1.jsx(remotion_1.Composition, { ...other });
9
9
  };
10
10
  exports.createComposition = createComposition;
11
11
  const createStill = ({ ...other }) => () => {
12
12
  // @ts-expect-error
13
- return (0, jsx_runtime_1.jsx)(remotion_1.Still, { ...other });
13
+ return jsx_runtime_1.jsx(remotion_1.Still, { ...other });
14
14
  };
15
15
  exports.createStill = createStill;
@@ -1,7 +1,7 @@
1
1
  import type { JSONPath } from '../components/RenderModal/SchemaEditor/zod-types';
2
2
  export declare const focusDefaultPropsPath: ({ path, scrollBehavior, }: {
3
3
  path: JSONPath;
4
- scrollBehavior?: ScrollBehavior;
4
+ scrollBehavior?: ScrollBehavior | undefined;
5
5
  }) => {
6
6
  success: boolean;
7
7
  };
@@ -1,2 +1,3 @@
1
- import type { ZodType } from '../components/get-zod-if-possible';
2
- export declare const getZodSchemaFromPrimitive: (value: unknown, z: ZodType) => import("zod").ZodString | import("zod").ZodNumber;
1
+ import type { ZodType } from 'zod';
2
+ import type { ZodType as ZodNamespace } from '../components/get-zod-if-possible';
3
+ export declare function getZodSchemaFromPrimitive(value: unknown, z: ZodNamespace): ZodType;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getZodSchemaFromPrimitive = void 0;
4
- const getZodSchemaFromPrimitive = (value, z) => {
3
+ exports.getZodSchemaFromPrimitive = getZodSchemaFromPrimitive;
4
+ function getZodSchemaFromPrimitive(value, z) {
5
5
  if (typeof value === 'string') {
6
6
  return z.string();
7
7
  }
@@ -14,5 +14,4 @@ const getZodSchemaFromPrimitive = (value, z) => {
14
14
  }
15
15
  catch (_a) { }
16
16
  throw new Error(`visualControl(): Specify a schema for this value: ${stringified !== null && stringified !== void 0 ? stringified : '[non-serializable value]'}. See https://remotion.dev/docs/studio/visual-control`);
17
- };
18
- exports.getZodSchemaFromPrimitive = getZodSchemaFromPrimitive;
17
+ }
@@ -1,4 +1,4 @@
1
- import type { _InternalTypes } from 'remotion';
1
+ import type { AnyComposition } from 'remotion';
2
2
  import type { AnyZodObject } from 'zod';
3
3
  export type UpdateDefaultPropsFunction = (currentValues: {
4
4
  schema: AnyZodObject | null;
@@ -6,6 +6,6 @@ export type UpdateDefaultPropsFunction = (currentValues: {
6
6
  unsavedDefaultProps: Record<string, unknown>;
7
7
  }) => Record<string, unknown>;
8
8
  export declare const calcNewProps: (compositionId: string, defaultProps: UpdateDefaultPropsFunction) => {
9
- composition: _InternalTypes["AnyComposition"];
9
+ composition: AnyComposition;
10
10
  generatedDefaultProps: Record<string, unknown>;
11
11
  };
@@ -1,2 +1,2 @@
1
1
  import type { SyntheticEvent } from 'react';
2
- export declare const play: (e?: SyntheticEvent | PointerEvent) => void;
2
+ export declare const play: (e?: PointerEvent | SyntheticEvent<Element, Event> | undefined) => void;
@@ -0,0 +1,7 @@
1
+ import type { CompletedClientRender } from '@remotion/studio-shared';
2
+ export declare const saveOutputFile: ({ blob, filePath, }: {
3
+ blob: Blob;
4
+ filePath: string;
5
+ }) => Promise<void>;
6
+ export declare const registerClientRender: (render: CompletedClientRender) => Promise<void>;
7
+ export declare const unregisterClientRender: (id: string) => Promise<void>;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.unregisterClientRender = exports.registerClientRender = exports.saveOutputFile = void 0;
4
+ const throwIfNotOk = async (response) => {
5
+ if (!response.ok) {
6
+ try {
7
+ const jsonResponse = await response.json();
8
+ throw new Error(jsonResponse.error);
9
+ }
10
+ catch (parseError) {
11
+ if (parseError instanceof Error && parseError.message) {
12
+ throw parseError;
13
+ }
14
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
15
+ }
16
+ }
17
+ };
18
+ const saveOutputFile = async ({ blob, filePath, }) => {
19
+ const url = new URL('/api/upload-output', window.location.origin);
20
+ url.search = new URLSearchParams({ filePath }).toString();
21
+ const response = await fetch(url, {
22
+ method: 'POST',
23
+ body: blob,
24
+ });
25
+ await throwIfNotOk(response);
26
+ };
27
+ exports.saveOutputFile = saveOutputFile;
28
+ const registerClientRender = async (render) => {
29
+ const response = await fetch('/api/register-client-render', {
30
+ method: 'POST',
31
+ headers: { 'Content-Type': 'application/json' },
32
+ body: JSON.stringify(render),
33
+ });
34
+ await throwIfNotOk(response);
35
+ };
36
+ exports.registerClientRender = registerClientRender;
37
+ const unregisterClientRender = async (id) => {
38
+ const response = await fetch('/api/unregister-client-render', {
39
+ method: 'POST',
40
+ headers: { 'Content-Type': 'application/json' },
41
+ body: JSON.stringify({ id }),
42
+ });
43
+ await throwIfNotOk(response);
44
+ };
45
+ exports.unregisterClientRender = unregisterClientRender;
@@ -1,2 +1,2 @@
1
1
  import type { SyntheticEvent } from 'react';
2
- export declare const toggle: (e?: SyntheticEvent | PointerEvent) => void;
2
+ export declare const toggle: (e?: PointerEvent | SyntheticEvent<Element, Event> | undefined) => void;
@@ -63,6 +63,8 @@ const AskAiModal = () => {
63
63
  if (state === 'never-opened') {
64
64
  return null;
65
65
  }
66
- return ((0, jsx_runtime_1.jsx)(remotion_1.AbsoluteFill, { style: { display: state === 'visible' ? 'block' : 'none' }, children: (0, jsx_runtime_1.jsxs)(ModalContainer_1.ModalContainer, { noZIndex: state === 'hidden', onOutsideClick: onQuit, onEscape: onQuit, children: [(0, jsx_runtime_1.jsx)(ModalHeader_1.ModalHeader, { title: "Ask AI", onClose: onQuit }), (0, jsx_runtime_1.jsx)("iframe", { ref: iframe, frameBorder: 0, style: container, src: "https://www.remotion.dev/ai-embed", allow: "clipboard-read; clipboard-write" })] }) }));
66
+ return (jsx_runtime_1.jsx(remotion_1.AbsoluteFill, { style: { display: state === 'visible' ? 'block' : 'none' }, children: jsx_runtime_1.jsxs(ModalContainer_1.ModalContainer, { noZIndex: state === 'hidden', onOutsideClick: onQuit, onEscape: onQuit, children: [
67
+ jsx_runtime_1.jsx(ModalHeader_1.ModalHeader, { title: "Ask AI", onClose: onQuit }), jsx_runtime_1.jsx("iframe", { ref: iframe, frameBorder: 0, style: container, src: "https://www.remotion.dev/ai-embed", allow: "clipboard-read; clipboard-write" })
68
+ ] }) }));
67
69
  };
68
70
  exports.AskAiModal = AskAiModal;
@@ -1,45 +1,12 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
36
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
4
  };
38
5
  Object.defineProperty(exports, "__esModule", { value: true });
39
6
  exports.AssetSelector = void 0;
40
7
  const jsx_runtime_1 = require("react/jsx-runtime");
41
- const react_1 = __importStar(require("react"));
42
- const get_static_files_1 = require("../api/get-static-files");
8
+ const react_1 = require("react");
9
+ const remotion_1 = require("remotion");
43
10
  const write_static_file_1 = require("../api/write-static-file");
44
11
  const client_id_1 = require("../helpers/client-id");
45
12
  const colors_1 = require("../helpers/colors");
@@ -49,8 +16,10 @@ const use_asset_drag_events_1 = __importDefault(require("../helpers/use-asset-dr
49
16
  const folders_1 = require("../state/folders");
50
17
  const z_index_1 = require("../state/z-index");
51
18
  const AssetSelectorItem_1 = require("./AssetSelectorItem");
19
+ const CurrentAsset_1 = require("./CurrentAsset");
52
20
  const styles_1 = require("./Menu/styles");
53
21
  const NotificationCenter_1 = require("./Notifications/NotificationCenter");
22
+ const use_static_files_1 = require("./use-static-files");
54
23
  const container = {
55
24
  display: 'flex',
56
25
  flexDirection: 'column',
@@ -72,39 +41,31 @@ const label = {
72
41
  lineHeight: 1.5,
73
42
  fontSize: 14,
74
43
  };
75
- const list = {
76
- height: '100%',
44
+ const baseList = {
77
45
  overflowY: 'auto',
78
46
  };
79
47
  const AssetSelector = ({ readOnlyStudio }) => {
80
48
  const { tabIndex } = (0, z_index_1.useZIndex)();
49
+ const { canvasContent } = (0, react_1.useContext)(remotion_1.Internals.CompositionManager);
81
50
  const { assetFoldersExpanded, setAssetFoldersExpanded } = (0, react_1.useContext)(folders_1.FolderContext);
82
51
  const [dropLocation, setDropLocation] = (0, react_1.useState)(null);
83
- const { subscribeToEvent } = (0, react_1.useContext)(client_id_1.StudioServerConnectionCtx);
84
52
  const connectionStatus = (0, react_1.useContext)(client_id_1.StudioServerConnectionCtx)
85
53
  .previewServerState.type;
86
54
  const shouldAllowUpload = connectionStatus === 'connected' && !readOnlyStudio;
87
- const [{ publicFolderExists, staticFiles }, setState] = react_1.default.useState(() => {
55
+ const showCurrentAsset = (canvasContent === null || canvasContent === void 0 ? void 0 : canvasContent.type) === 'asset';
56
+ const list = (0, react_1.useMemo)(() => {
88
57
  return {
89
- staticFiles: (0, get_static_files_1.getStaticFiles)(),
90
- publicFolderExists: window.remotion_publicFolderExists,
58
+ ...baseList,
59
+ height: showCurrentAsset
60
+ ? `calc(100% - ${CurrentAsset_1.CURRENT_ASSET_HEIGHT}px)`
61
+ : '100%',
91
62
  };
92
- });
63
+ }, [showCurrentAsset]);
64
+ const staticFiles = (0, use_static_files_1.useStaticFiles)();
65
+ const publicFolderExists = window.remotion_publicFolderExists;
93
66
  const assetTree = (0, react_1.useMemo)(() => {
94
67
  return (0, create_folder_tree_1.buildAssetFolderStructure)(staticFiles, null, assetFoldersExpanded);
95
68
  }, [assetFoldersExpanded, staticFiles]);
96
- (0, react_1.useEffect)(() => {
97
- const onUpdate = () => {
98
- setState({
99
- staticFiles: (0, get_static_files_1.getStaticFiles)(),
100
- publicFolderExists: window.remotion_publicFolderExists,
101
- });
102
- };
103
- const unsub = subscribeToEvent('new-public-folder', onUpdate);
104
- return () => {
105
- unsub();
106
- };
107
- }, [subscribeToEvent]);
108
69
  const toggleFolder = (0, react_1.useCallback)((folderName, parentName) => {
109
70
  setAssetFoldersExpanded((p) => {
110
71
  var _a;
@@ -157,9 +118,11 @@ const AssetSelector = ({ readOnlyStudio }) => {
157
118
  setDropLocation(null);
158
119
  }
159
120
  }, [dropLocation]);
160
- return ((0, jsx_runtime_1.jsx)("div", { style: container, onDragOver: shouldAllowUpload ? onDragOver : undefined, onDrop: shouldAllowUpload ? onDrop : undefined, children: staticFiles.length === 0 ? (publicFolderExists ? ((0, jsx_runtime_1.jsx)("div", { style: emptyState, children: (0, jsx_runtime_1.jsxs)("div", { style: label, children: ["To add assets, place a file in the", ' ', (0, jsx_runtime_1.jsx)("code", { style: styles_1.inlineCodeSnippet, children: "public" }), " folder of your project or drag and drop a file here."] }) })) : ((0, jsx_runtime_1.jsx)("div", { style: emptyState, children: (0, jsx_runtime_1.jsxs)("div", { style: label, children: ["To add assets, create a folder called", ' ', (0, jsx_runtime_1.jsx)("code", { style: styles_1.inlineCodeSnippet, children: "public" }), " in the root of your project and place a file in it."] }) }))) : ((0, jsx_runtime_1.jsx)("div", { className: "__remotion-vertical-scrollbar", style: {
161
- ...list,
162
- backgroundColor: isDropDiv ? colors_1.CLEAR_HOVER : colors_1.BACKGROUND,
163
- }, onDragEnter: onDragEnter, onDragLeave: onDragLeave, children: (0, jsx_runtime_1.jsx)(AssetSelectorItem_1.AssetFolderTree, { item: assetTree, level: 0, parentFolder: null, name: null, tabIndex: tabIndex, toggleFolder: toggleFolder, dropLocation: dropLocation, setDropLocation: setDropLocation }) })) }));
121
+ return (jsx_runtime_1.jsxs("div", { style: container, onDragOver: shouldAllowUpload ? onDragOver : undefined, onDrop: shouldAllowUpload ? onDrop : undefined, children: [showCurrentAsset ? jsx_runtime_1.jsx(CurrentAsset_1.CurrentAsset, {}) : null, staticFiles.length === 0 ? (publicFolderExists ? (jsx_runtime_1.jsx("div", { style: emptyState, children: jsx_runtime_1.jsxs("div", { style: label, children: ["To add assets, place a file in the", ' ', jsx_runtime_1.jsx("code", { style: styles_1.inlineCodeSnippet, children: "public" }),
122
+ " folder of your project or drag and drop a file here."] }) })) : (jsx_runtime_1.jsx("div", { style: emptyState, children: jsx_runtime_1.jsxs("div", { style: label, children: ["To add assets, create a folder called", ' ', jsx_runtime_1.jsx("code", { style: styles_1.inlineCodeSnippet, children: "public" }),
123
+ " in the root of your project and place a file in it."] }) }))) : (jsx_runtime_1.jsx("div", { className: "__remotion-vertical-scrollbar", style: {
124
+ ...list,
125
+ backgroundColor: isDropDiv ? colors_1.CLEAR_HOVER : colors_1.BACKGROUND,
126
+ }, onDragEnter: onDragEnter, onDragLeave: onDragLeave, children: jsx_runtime_1.jsx(AssetSelectorItem_1.AssetFolderTree, { item: assetTree, level: 0, parentFolder: null, name: null, tabIndex: tabIndex, toggleFolder: toggleFolder, dropLocation: dropLocation, setDropLocation: setDropLocation }) }))] }));
164
127
  };
165
128
  exports.AssetSelector = AssetSelector;
@@ -124,9 +124,10 @@ const AssetFolderItem = ({ tabIndex, item, level, parentFolder, toggleFolder, dr
124
124
  toggleFolder(item.name, parentFolder);
125
125
  }, [item.name, parentFolder, toggleFolder]);
126
126
  const Icon = item.expanded ? folder_1.ExpandedFolderIcon : folder_1.CollapsedFolderIcon;
127
- return ((0, jsx_runtime_1.jsxs)("div", { onDragEnter: onDragEnter, onDragLeave: onDragLeave, style: {
127
+ return (jsx_runtime_1.jsxs("div", { onDragEnter: onDragEnter, onDragLeave: onDragLeave, style: {
128
128
  backgroundColor: isDropDiv ? colors_1.CLEAR_HOVER : colors_1.BACKGROUND,
129
- }, children: [(0, jsx_runtime_1.jsx)("div", { style: folderStyle, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, tabIndex: tabIndex, title: item.name, onClick: onClick, onDragEnter: () => {
129
+ }, children: [
130
+ jsx_runtime_1.jsx("div", { style: folderStyle, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, tabIndex: tabIndex, title: item.name, onClick: onClick, onDragEnter: () => {
130
131
  if (!item.expanded) {
131
132
  openFolderTimerRef.current = window.setTimeout(() => {
132
133
  toggleFolder(item.name, parentFolder);
@@ -136,16 +137,18 @@ const AssetFolderItem = ({ tabIndex, item, level, parentFolder, toggleFolder, dr
136
137
  if (openFolderTimerRef.current) {
137
138
  clearTimeout(openFolderTimerRef.current);
138
139
  }
139
- }, children: (0, jsx_runtime_1.jsxs)(layout_1.Row, { children: [(0, jsx_runtime_1.jsx)(Icon, { style: iconStyle, color: hovered ? 'white' : colors_1.LIGHT_TEXT }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), (0, jsx_runtime_1.jsx)("div", { style: label, children: item.name })] }) }), item.expanded ? ((0, jsx_runtime_1.jsx)(exports.AssetFolderTree, { item: item.items, name: item.name, level: level, parentFolder: parentFolder, tabIndex: tabIndex, toggleFolder: toggleFolder, dropLocation: dropLocation, setDropLocation: setDropLocation }, item.name)) : null] }));
140
+ }, children: jsx_runtime_1.jsxs(layout_1.Row, { children: [
141
+ jsx_runtime_1.jsx(Icon, { style: iconStyle, color: hovered ? 'white' : colors_1.LIGHT_TEXT }), jsx_runtime_1.jsx(layout_1.Spacing, { x: 1 }), jsx_runtime_1.jsx("div", { style: label, children: item.name })
142
+ ] }) }), item.expanded ? (jsx_runtime_1.jsx(exports.AssetFolderTree, { item: item.items, name: item.name, level: level, parentFolder: parentFolder, tabIndex: tabIndex, toggleFolder: toggleFolder, dropLocation: dropLocation, setDropLocation: setDropLocation }, item.name)) : null] }));
140
143
  };
141
144
  const AssetFolderTree = ({ item, level, name, parentFolder, toggleFolder, tabIndex, dropLocation, setDropLocation, }) => {
142
145
  const combinedParents = (0, react_1.useMemo)(() => {
143
146
  return [parentFolder, name].filter(no_react_1.NoReactInternals.truthy).join('/');
144
147
  }, [name, parentFolder]);
145
- return ((0, jsx_runtime_1.jsxs)("div", { children: [item.folders.map((folder) => {
146
- return ((0, jsx_runtime_1.jsx)(AssetFolderItem, { item: folder, tabIndex: tabIndex, level: level + 1, parentFolder: combinedParents, toggleFolder: toggleFolder, dropLocation: dropLocation, setDropLocation: setDropLocation }, folder.name));
148
+ return (jsx_runtime_1.jsxs("div", { children: [item.folders.map((folder) => {
149
+ return (jsx_runtime_1.jsx(AssetFolderItem, { item: folder, tabIndex: tabIndex, level: level + 1, parentFolder: combinedParents, toggleFolder: toggleFolder, dropLocation: dropLocation, setDropLocation: setDropLocation }, folder.name));
147
150
  }), item.files.map((file) => {
148
- return ((0, jsx_runtime_1.jsx)(AssetSelectorItem, { item: file, tabIndex: tabIndex, level: level, parentFolder: combinedParents }, file.src));
151
+ return (jsx_runtime_1.jsx(AssetSelectorItem, { item: file, tabIndex: tabIndex, level: level, parentFolder: combinedParents }, file.src));
149
152
  })] }));
150
153
  };
151
154
  exports.AssetFolderTree = AssetFolderTree;
@@ -205,10 +208,10 @@ const AssetSelectorItem = ({ item, tabIndex, level, parentFolder }) => {
205
208
  };
206
209
  }, [hovered, selected]);
207
210
  const renderFileExplorerAction = (0, react_1.useCallback)((color) => {
208
- return (0, jsx_runtime_1.jsx)(folder_1.ExpandedFolderIcon, { style: revealIconStyle, color: color });
211
+ return jsx_runtime_1.jsx(folder_1.ExpandedFolderIcon, { style: revealIconStyle, color: color });
209
212
  }, []);
210
213
  const renderCopyAction = (0, react_1.useCallback)((color) => {
211
- return (0, jsx_runtime_1.jsx)(clipboard_1.ClipboardIcon, { style: revealIconStyle, color: color });
214
+ return jsx_runtime_1.jsx(clipboard_1.ClipboardIcon, { style: revealIconStyle, color: color });
212
215
  }, []);
213
216
  const revealInExplorer = react_1.default.useCallback((e) => {
214
217
  e.stopPropagation();
@@ -233,5 +236,8 @@ const AssetSelectorItem = ({ item, tabIndex, level, parentFolder }) => {
233
236
  (0, NotificationCenter_1.showNotification)(`Could not copy: ${err.message}`, 2000);
234
237
  });
235
238
  }, [item.name, parentFolder]);
236
- return ((0, jsx_runtime_1.jsx)(layout_1.Row, { align: "center", children: (0, jsx_runtime_1.jsxs)("div", { style: style, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, onClick: onClick, tabIndex: tabIndex, title: item.name, children: [(0, jsx_runtime_1.jsx)(file_1.FileIcon, { style: iconStyle, color: colors_1.LIGHT_TEXT }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), (0, jsx_runtime_1.jsx)("div", { style: label, children: item.name }), hovered ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 0.5 }), (0, jsx_runtime_1.jsx)(InlineAction_1.InlineAction, { title: "Copy staticFile() name", renderAction: renderCopyAction, onClick: copyToClipboard }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 0.5 }), (0, jsx_runtime_1.jsx)(InlineAction_1.InlineAction, { title: "Open in Explorer", renderAction: renderFileExplorerAction, onClick: revealInExplorer })] })) : null] }) }));
239
+ return (jsx_runtime_1.jsx(layout_1.Row, { align: "center", children: jsx_runtime_1.jsxs("div", { style: style, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, onClick: onClick, tabIndex: tabIndex, title: item.name, children: [
240
+ jsx_runtime_1.jsx(file_1.FileIcon, { style: iconStyle, color: colors_1.LIGHT_TEXT }), jsx_runtime_1.jsx(layout_1.Spacing, { x: 1 }), jsx_runtime_1.jsx("div", { style: label, children: item.name }), hovered ? (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
241
+ jsx_runtime_1.jsx(layout_1.Spacing, { x: 0.5 }), jsx_runtime_1.jsx(InlineAction_1.InlineAction, { title: "Copy staticFile() name", renderAction: renderCopyAction, onClick: copyToClipboard }), jsx_runtime_1.jsx(layout_1.Spacing, { x: 0.5 }), jsx_runtime_1.jsx(InlineAction_1.InlineAction, { title: "Open in Explorer", renderAction: renderFileExplorerAction, onClick: revealInExplorer })
242
+ ] })) : null] }) }));
237
243
  };
@@ -110,13 +110,14 @@ const AudioWaveform = ({ src, startFrom, durationInFrames, visualizationWidth, v
110
110
  visualizationWidth,
111
111
  ]);
112
112
  if (error) {
113
- return ((0, jsx_runtime_1.jsx)("div", { style: container, children: (0, jsx_runtime_1.jsx)("div", { style: errorMessage, children: "No waveform available. Audio might not support CORS." }) }));
113
+ return (jsx_runtime_1.jsx("div", { style: container, children: jsx_runtime_1.jsx("div", { style: errorMessage, children: "No waveform available. Audio might not support CORS." }) }));
114
114
  }
115
115
  if (!metadata) {
116
116
  return null;
117
117
  }
118
- return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [normalized.map((w) => {
119
- return ((0, jsx_runtime_1.jsx)(AudioWaveformBar_1.AudioWaveformBar, { amplitude: w.amplitude * (typeof volume === 'number' ? volume : 1) }, w.index));
120
- }), (0, jsx_runtime_1.jsx)("canvas", { ref: canvas, style: canvasStyle, width: visualizationWidth, height: (0, timeline_layout_1.getTimelineLayerHeight)('other') })] }));
118
+ return (jsx_runtime_1.jsxs("div", { style: container, children: [normalized.map((w) => {
119
+ return (jsx_runtime_1.jsx(AudioWaveformBar_1.AudioWaveformBar, { amplitude: w.amplitude * (typeof volume === 'number' ? volume : 1) }, w.index));
120
+ }), jsx_runtime_1.jsx("canvas", { ref: canvas, style: canvasStyle, width: visualizationWidth, height: (0, timeline_layout_1.getTimelineLayerHeight)('other') })
121
+ ] }));
121
122
  };
122
123
  exports.AudioWaveform = AudioWaveform;
@@ -28,6 +28,6 @@ const AudioWaveformBar = ({ amplitude }) => {
28
28
  height: (0, timeline_layout_1.getTimelineLayerHeight)('other') * amplitude * (1 / 0.6366),
29
29
  };
30
30
  }, [amplitude]);
31
- return (0, jsx_runtime_1.jsx)("div", { style: style });
31
+ return jsx_runtime_1.jsx("div", { style: style });
32
32
  };
33
33
  exports.AudioWaveformBar = AudioWaveformBar;
@@ -30,6 +30,6 @@ const ButtonRefForwardFunction = ({ children, onClick, title, disabled, style, i
30
30
  ...(buttonContainerStyle !== null && buttonContainerStyle !== void 0 ? buttonContainerStyle : {}),
31
31
  };
32
32
  }, [buttonContainerStyle, disabled]);
33
- return ((0, jsx_runtime_1.jsx)("button", { ref: ref, id: id, style: combined, type: "button", disabled: disabled, onClick: onClick, autoFocus: autoFocus, title: title, children: (0, jsx_runtime_1.jsx)("div", { className: "css-reset", style: buttonContainer, children: children }) }));
33
+ return (jsx_runtime_1.jsx("button", { ref: ref, id: id, style: combined, type: "button", disabled: disabled, onClick: onClick, autoFocus: autoFocus, title: title, children: jsx_runtime_1.jsx("div", { className: "css-reset", style: buttonContainer, children: children }) }));
34
34
  };
35
35
  exports.Button = (0, react_1.forwardRef)(ButtonRefForwardFunction);
@@ -262,6 +262,7 @@ const Canvas = ({ canvasContent, size }) => {
262
262
  (0, react_1.useEffect)(() => {
263
263
  fetchMetadata();
264
264
  }, [fetchMetadata]);
265
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { ref: canvas_ref_1.canvasRef, style: container, children: [size ? ((0, jsx_runtime_1.jsx)(Preview_1.VideoPreview, { canvasContent: canvasContent, contentDimensions: contentDimensions, canvasSize: size, assetMetadata: assetResolution })) : null, isFit ? null : ((0, jsx_runtime_1.jsx)("div", { style: resetZoom, className: "css-reset", children: (0, jsx_runtime_1.jsx)(ResetZoomButton_1.ResetZoomButton, { onClick: onReset }) })), editorShowGuides && canvasContent.type === 'composition' && ((0, jsx_runtime_1.jsx)(EditorGuides_1.default, { canvasSize: size, contentDimensions: contentDimensions, assetMetadata: assetResolution }))] }), areRulersVisible && ((0, jsx_runtime_1.jsx)(EditorRuler_1.EditorRulers, { contentDimensions: contentDimensions, canvasSize: size, assetMetadata: assetResolution, containerRef: canvas_ref_1.canvasRef }))] }));
265
+ return (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
266
+ jsx_runtime_1.jsxs("div", { ref: canvas_ref_1.canvasRef, style: container, children: [size ? (jsx_runtime_1.jsx(Preview_1.VideoPreview, { canvasContent: canvasContent, contentDimensions: contentDimensions, canvasSize: size, assetMetadata: assetResolution })) : null, isFit ? null : (jsx_runtime_1.jsx("div", { style: resetZoom, className: "css-reset", children: jsx_runtime_1.jsx(ResetZoomButton_1.ResetZoomButton, { onClick: onReset }) })), editorShowGuides && canvasContent.type === 'composition' && (jsx_runtime_1.jsx(EditorGuides_1.default, { canvasSize: size, contentDimensions: contentDimensions, assetMetadata: assetResolution }))] }), areRulersVisible && (jsx_runtime_1.jsx(EditorRuler_1.EditorRulers, { contentDimensions: contentDimensions, canvasSize: size, assetMetadata: assetResolution, containerRef: canvas_ref_1.canvasRef }))] }));
266
267
  };
267
268
  exports.Canvas = Canvas;
@@ -27,6 +27,6 @@ const CanvasIfSizeIsAvailable = () => {
27
27
  if (!sizeWithRulersApplied) {
28
28
  return null;
29
29
  }
30
- return (0, jsx_runtime_1.jsx)(CanvasOrLoading_1.CanvasOrLoading, { size: sizeWithRulersApplied });
30
+ return jsx_runtime_1.jsx(CanvasOrLoading_1.CanvasOrLoading, { size: sizeWithRulersApplied });
31
31
  };
32
32
  exports.CanvasIfSizeIsAvailable = CanvasIfSizeIsAvailable;
@@ -44,9 +44,10 @@ const CanvasOrLoading = ({ size }) => {
44
44
  }, [resolved, setZoom]);
45
45
  if (!canvasContent) {
46
46
  const compname = window.location.pathname.replace('/', '');
47
- return ((0, jsx_runtime_1.jsx)("div", { style: container, className: "css-reset", children: (0, jsx_runtime_1.jsxs)("div", { style: RunningCalculateMetadata_1.loaderLabel, children: ["Composition with ID ", compname, " not found."] }) }));
47
+ return (jsx_runtime_1.jsx("div", { style: container, className: "css-reset", children: jsx_runtime_1.jsxs("div", { style: RunningCalculateMetadata_1.loaderLabel, children: ["Composition with ID ", compname, " not found."] }) }));
48
48
  }
49
- const content = ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ZoomPersistor_1.ZoomPersistor, {}), (0, jsx_runtime_1.jsx)(Canvas_1.Canvas, { size: size, canvasContent: canvasContent }), (resolved === null || resolved === void 0 ? void 0 : resolved.type) === 'success-and-refreshing' ? ((0, jsx_runtime_1.jsx)(RefreshCompositionOverlay_1.RefreshCompositionOverlay, {})) : null] }));
49
+ const content = (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
50
+ jsx_runtime_1.jsx(ZoomPersistor_1.ZoomPersistor, {}), jsx_runtime_1.jsx(Canvas_1.Canvas, { size: size, canvasContent: canvasContent }), (resolved === null || resolved === void 0 ? void 0 : resolved.type) === 'success-and-refreshing' ? (jsx_runtime_1.jsx(RefreshCompositionOverlay_1.RefreshCompositionOverlay, {})) : null] }));
50
51
  if (canvasContent.type === 'asset' ||
51
52
  canvasContent.type === 'output' ||
52
53
  canvasContent.type === 'output-blob') {
@@ -56,12 +57,14 @@ const CanvasOrLoading = ({ size }) => {
56
57
  return null;
57
58
  }
58
59
  if (resolved.type === 'loading') {
59
- return ((0, jsx_runtime_1.jsx)("div", { style: container, className: "css-reset", children: (0, jsx_runtime_1.jsx)(RunningCalculateMetadata_1.RunningCalculateMetadata, {}) }));
60
+ return (jsx_runtime_1.jsx("div", { style: container, className: "css-reset", children: jsx_runtime_1.jsx(RunningCalculateMetadata_1.RunningCalculateMetadata, {}) }));
60
61
  }
61
62
  if (resolved.type === 'error') {
62
- return (0, jsx_runtime_1.jsx)(ErrorLoading, { error: resolved.error });
63
+ return jsx_runtime_1.jsx(ErrorLoading, { error: resolved.error });
63
64
  }
64
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(FramePersistor_1.FramePersistor, {}), " ", content] }));
65
+ return (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
66
+ jsx_runtime_1.jsx(FramePersistor_1.FramePersistor, {}),
67
+ " ", content] }));
65
68
  };
66
69
  exports.CanvasOrLoading = CanvasOrLoading;
67
70
  const loaderContainer = {
@@ -73,5 +76,8 @@ const loaderContainer = {
73
76
  overflowY: 'auto',
74
77
  };
75
78
  const ErrorLoading = ({ error }) => {
76
- return ((0, jsx_runtime_1.jsx)("div", { style: loaderContainer, className: is_menu_item_1.VERTICAL_SCROLLBAR_CLASSNAME, children: (0, jsx_runtime_1.jsx)(ErrorLoader_1.ErrorLoader, { canHaveDismissButton: false, keyboardShortcuts: false, error: error, onRetry: () => { var _a; return (_a = remotion_1.Internals.resolveCompositionsRef.current) === null || _a === void 0 ? void 0 : _a.reloadCurrentlySelectedComposition(); }, calculateMetadata: true }, error.stack) }));
79
+ return (jsx_runtime_1.jsx("div", { style: loaderContainer, className: is_menu_item_1.VERTICAL_SCROLLBAR_CLASSNAME, children: jsx_runtime_1.jsx(ErrorLoader_1.ErrorLoader, { canHaveDismissButton: false, keyboardShortcuts: false, error: error, onRetry: () => {
80
+ var _a;
81
+ return (_a = remotion_1.Internals.resolveCompositionsRef.current) === null || _a === void 0 ? void 0 : _a.reloadCurrentlySelectedComposition();
82
+ }, calculateMetadata: true }, error.stack) }));
77
83
  };
@@ -21,6 +21,6 @@ const CheckboardToggle = () => {
21
21
  return !c;
22
22
  });
23
23
  }, [setCheckerboard]);
24
- return ((0, jsx_runtime_1.jsx)(ControlButton_1.ControlButton, { title: accessibilityLabel, "aria-label": accessibilityLabel, onClick: onClick, children: (0, jsx_runtime_1.jsx)("svg", { "aria-hidden": "true", focusable: "false", "data-prefix": "fas", "data-icon": "game-board-alt", className: "svg-inline--fa fa-game-board-alt fa-w-16", role: "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", style: { width: 16, height: 16 }, children: (0, jsx_runtime_1.jsx)("path", { fill: checkerboard ? colors_1.BLUE : 'white', d: "M480 0H32A32 32 0 0 0 0 32v448a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V32a32 32 0 0 0-32-32zm-32 256H256v192H64V256h192V64h192z" }) }) }));
24
+ return (jsx_runtime_1.jsx(ControlButton_1.ControlButton, { title: accessibilityLabel, "aria-label": accessibilityLabel, onClick: onClick, children: jsx_runtime_1.jsx("svg", { "aria-hidden": "true", focusable: "false", "data-prefix": "fas", "data-icon": "game-board-alt", className: "svg-inline--fa fa-game-board-alt fa-w-16", role: "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", style: { width: 16, height: 16 }, children: jsx_runtime_1.jsx("path", { fill: checkerboard ? colors_1.BLUE : 'white', d: "M480 0H32A32 32 0 0 0 0 32v448a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V32a32 32 0 0 0-32-32zm-32 256H256v192H64V256h192V64h192z" }) }) }));
25
25
  };
26
26
  exports.CheckboardToggle = CheckboardToggle;
@@ -49,6 +49,8 @@ const Checkbox = ({ checked, onChange, disabled, name, rounded }) => {
49
49
  ref.current.style.setProperty('border-radius', rounded ? '50%' : '0%', 'important');
50
50
  }
51
51
  }, [rounded]);
52
- return ((0, jsx_runtime_1.jsxs)("div", { style: background, children: [(0, jsx_runtime_1.jsx)("input", { ref: ref, style: input, type: 'checkbox', checked: checked, onChange: onChange, disabled: disabled, name: name }), (0, jsx_runtime_1.jsx)("div", { style: box, children: checked ? rounded ? (0, jsx_runtime_1.jsx)("div", { style: bullet }) : (0, jsx_runtime_1.jsx)(Checkmark_1.Checkmark, {}) : null })] }));
52
+ return (jsx_runtime_1.jsxs("div", { style: background, children: [
53
+ jsx_runtime_1.jsx("input", { ref: ref, style: input, type: 'checkbox', checked: checked, onChange: onChange, disabled: disabled, name: name }), jsx_runtime_1.jsx("div", { style: box, children: checked ? rounded ? jsx_runtime_1.jsx("div", { style: bullet }) : jsx_runtime_1.jsx(Checkmark_1.Checkmark, {}) : null })
54
+ ] }));
53
55
  };
54
56
  exports.Checkbox = Checkbox;
@@ -19,6 +19,6 @@ const CheckerboardProvider = ({ children }) => {
19
19
  setCheckerboard,
20
20
  };
21
21
  }, [checkerboard, setCheckerboard]);
22
- return ((0, jsx_runtime_1.jsx)(checkerboard_1.CheckerboardContext.Provider, { value: checkerboardCtx, children: children }));
22
+ return (jsx_runtime_1.jsx(checkerboard_1.CheckerboardContext.Provider, { value: checkerboardCtx, children: children }));
23
23
  };
24
24
  exports.CheckerboardProvider = CheckerboardProvider;
@@ -77,6 +77,6 @@ const CompSelectorRef = ({ children }) => {
77
77
  toggleFolder,
78
78
  };
79
79
  }, [foldersExpanded, setFoldersExpanded, toggleFolder]);
80
- return ((0, jsx_runtime_1.jsx)(persist_open_folders_1.ExpandedFoldersContext.Provider, { value: contextValue, children: children }));
80
+ return (jsx_runtime_1.jsx(persist_open_folders_1.ExpandedFoldersContext.Provider, { value: contextValue, children: children }));
81
81
  };
82
82
  exports.CompSelectorRef = CompSelectorRef;
@@ -17,11 +17,11 @@ const CompositionContextButton = ({ visible, values }) => {
17
17
  const connectionStatus = (0, react_1.useContext)(client_id_1.StudioServerConnectionCtx)
18
18
  .previewServerState.type;
19
19
  const renderAction = (0, react_1.useCallback)((color) => {
20
- return (0, jsx_runtime_1.jsx)(ellipsis_1.EllipsisIcon, { fill: color, svgProps: iconStyle });
20
+ return jsx_runtime_1.jsx(ellipsis_1.EllipsisIcon, { fill: color, svgProps: iconStyle });
21
21
  }, [iconStyle]);
22
22
  if (!visible || connectionStatus !== 'connected') {
23
23
  return null;
24
24
  }
25
- return (0, jsx_runtime_1.jsx)(InlineDropdown_1.InlineDropdown, { renderAction: renderAction, values: values });
25
+ return jsx_runtime_1.jsx(InlineDropdown_1.InlineDropdown, { renderAction: renderAction, values: values });
26
26
  };
27
27
  exports.CompositionContextButton = CompositionContextButton;
@@ -88,8 +88,9 @@ const CompositionSelector = () => {
88
88
  var _a;
89
89
  (_a = remotion_1.Internals.compositionSelectorRef.current) === null || _a === void 0 ? void 0 : _a.toggleFolder(folderName, parentName);
90
90
  }, []);
91
- return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [showCurrentComposition ? (0, jsx_runtime_1.jsx)(CurrentComposition_1.CurrentComposition, {}) : null, (0, jsx_runtime_1.jsx)("div", { className: "__remotion-vertical-scrollbar", style: list, children: items.map((c) => {
92
- return ((0, jsx_runtime_1.jsx)(CompositionSelectorItem_1.CompositionSelectorItem, { level: 0, currentComposition: showCurrentComposition ? canvasContent.compositionId : null, selectComposition: selectComposition, toggleFolder: toggleFolder, tabIndex: tabIndex, item: c }, c.key + c.type));
93
- }) })] }));
91
+ return (jsx_runtime_1.jsxs("div", { style: container, children: [showCurrentComposition ? jsx_runtime_1.jsx(CurrentComposition_1.CurrentComposition, {}) : null, jsx_runtime_1.jsx("div", { className: "__remotion-vertical-scrollbar", style: list, children: items.map((c) => {
92
+ return (jsx_runtime_1.jsx(CompositionSelectorItem_1.CompositionSelectorItem, { level: 0, currentComposition: showCurrentComposition ? canvasContent.compositionId : null, selectComposition: selectComposition, toggleFolder: toggleFolder, tabIndex: tabIndex, item: c }, c.key + c.type));
93
+ }) })
94
+ ] }));
94
95
  };
95
96
  exports.CompositionSelector = CompositionSelector;
@@ -171,12 +171,15 @@ const CompositionSelectorItem = ({ item, level, currentComposition, tabIndex, se
171
171
  return [];
172
172
  }, [item, setSelectedModal]);
173
173
  if (item.type === 'folder') {
174
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("button", { style: style, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, tabIndex: tabIndex, onClick: onClick, type: "button", title: item.folderName, children: [item.expanded ? ((0, jsx_runtime_1.jsx)(folder_1.ExpandedFolderIcon, { style: iconStyle, color: hovered || selected ? 'white' : colors_1.LIGHT_TEXT })) : ((0, jsx_runtime_1.jsx)(folder_1.CollapsedFolderIcon, { color: hovered || selected ? 'white' : colors_1.LIGHT_TEXT, style: iconStyle })), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), (0, jsx_runtime_1.jsx)("div", { style: label, children: item.folderName })] }), item.expanded
174
+ return (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
175
+ jsx_runtime_1.jsxs("button", { style: style, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, tabIndex: tabIndex, onClick: onClick, type: "button", title: item.folderName, children: [item.expanded ? (jsx_runtime_1.jsx(folder_1.ExpandedFolderIcon, { style: iconStyle, color: hovered || selected ? 'white' : colors_1.LIGHT_TEXT })) : (jsx_runtime_1.jsx(folder_1.CollapsedFolderIcon, { color: hovered || selected ? 'white' : colors_1.LIGHT_TEXT, style: iconStyle })), jsx_runtime_1.jsx(layout_1.Spacing, { x: 1 }), jsx_runtime_1.jsx("div", { style: label, children: item.folderName })
176
+ ] }), item.expanded
175
177
  ? item.items.map((childItem) => {
176
- return ((0, jsx_runtime_1.jsx)(exports.CompositionSelectorItem, { currentComposition: currentComposition, selectComposition: selectComposition, item: childItem, tabIndex: tabIndex, level: level + 1, toggleFolder: toggleFolder }, childItem.key + childItem.type));
178
+ return (jsx_runtime_1.jsx(exports.CompositionSelectorItem, { currentComposition: currentComposition, selectComposition: selectComposition, item: childItem, tabIndex: tabIndex, level: level + 1, toggleFolder: toggleFolder }, childItem.key + childItem.type));
177
179
  })
178
180
  : null] }));
179
181
  }
180
- return ((0, jsx_runtime_1.jsx)(ContextMenu_1.ContextMenu, { values: contextMenu, children: (0, jsx_runtime_1.jsx)(layout_1.Row, { align: "center", children: (0, jsx_runtime_1.jsxs)("a", { style: style, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, tabIndex: tabIndex, onClick: onClick, onKeyPress: onKeyPress, type: "button", title: item.composition.id, className: "__remotion-composition", "data-compname": item.composition.id, children: [(0, is_composition_still_1.isCompositionStill)(item.composition) ? ((0, jsx_runtime_1.jsx)(still_1.StillIcon, { color: hovered || selected ? 'white' : colors_1.LIGHT_TEXT, style: iconStyle })) : ((0, jsx_runtime_1.jsx)(video_1.FilmIcon, { color: hovered || selected ? 'white' : colors_1.LIGHT_TEXT, style: iconStyle })), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), (0, jsx_runtime_1.jsx)("div", { style: label, children: item.composition.id }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 0.5 }), (0, jsx_runtime_1.jsx)(CompositionContextButton_1.CompositionContextButton, { values: contextMenu, visible: hovered }), (0, jsx_runtime_1.jsx)(SidebarRenderButton_1.SidebarRenderButton, { visible: hovered, composition: item.composition })] }) }) }));
182
+ return (jsx_runtime_1.jsx(ContextMenu_1.ContextMenu, { values: contextMenu, children: jsx_runtime_1.jsx(layout_1.Row, { align: "center", children: jsx_runtime_1.jsxs("a", { style: style, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, tabIndex: tabIndex, onClick: onClick, onKeyPress: onKeyPress, type: "button", title: item.composition.id, className: "__remotion-composition", "data-compname": item.composition.id, children: [(0, is_composition_still_1.isCompositionStill)(item.composition) ? (jsx_runtime_1.jsx(still_1.StillIcon, { color: hovered || selected ? 'white' : colors_1.LIGHT_TEXT, style: iconStyle })) : (jsx_runtime_1.jsx(video_1.FilmIcon, { color: hovered || selected ? 'white' : colors_1.LIGHT_TEXT, style: iconStyle })), jsx_runtime_1.jsx(layout_1.Spacing, { x: 1 }), jsx_runtime_1.jsx("div", { style: label, children: item.composition.id }), jsx_runtime_1.jsx(layout_1.Spacing, { x: 0.5 }), jsx_runtime_1.jsx(CompositionContextButton_1.CompositionContextButton, { values: contextMenu, visible: hovered }), jsx_runtime_1.jsx(SidebarRenderButton_1.SidebarRenderButton, { visible: hovered, composition: item.composition })
183
+ ] }) }) }));
181
184
  };
182
185
  exports.CompositionSelectorItem = CompositionSelectorItem;
@@ -91,8 +91,9 @@ const ContextMenu = ({ children, values }) => {
91
91
  const onHide = (0, react_1.useCallback)(() => {
92
92
  setOpened({ type: 'not-open' });
93
93
  }, []);
94
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { ref: ref, onContextMenu: () => false, style: style, children: children }), portalStyle
95
- ? react_dom_1.default.createPortal((0, jsx_runtime_1.jsx)("div", { style: styles_1.fullScreenOverlay, children: (0, jsx_runtime_1.jsx)("div", { style: styles_1.outerPortal, className: "css-reset", children: (0, jsx_runtime_1.jsx)(z_index_1.HigherZIndex, { onOutsideClick: onHide, onEscape: onHide, children: (0, jsx_runtime_1.jsx)("div", { style: portalStyle, children: (0, jsx_runtime_1.jsx)(MenuContent_1.MenuContent, { onNextMenu: noop_1.noop, onPreviousMenu: noop_1.noop, values: values, onHide: onHide, leaveLeftSpace: true, preselectIndex: false, topItemCanBeUnselected: false, fixedHeight: null }) }) }) }) }), (0, portals_1.getPortal)(currentZIndex))
94
+ return (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
95
+ jsx_runtime_1.jsx("div", { ref: ref, onContextMenu: () => false, style: style, children: children }), portalStyle
96
+ ? react_dom_1.default.createPortal(jsx_runtime_1.jsx("div", { style: styles_1.fullScreenOverlay, children: jsx_runtime_1.jsx("div", { style: styles_1.outerPortal, className: "css-reset", children: jsx_runtime_1.jsx(z_index_1.HigherZIndex, { onOutsideClick: onHide, onEscape: onHide, children: jsx_runtime_1.jsx("div", { style: portalStyle, children: jsx_runtime_1.jsx(MenuContent_1.MenuContent, { onNextMenu: noop_1.noop, onPreviousMenu: noop_1.noop, values: values, onHide: onHide, leaveLeftSpace: true, preselectIndex: false, topItemCanBeUnselected: false, fixedHeight: null }) }) }) }) }), (0, portals_1.getPortal)(currentZIndex))
96
97
  : null] }));
97
98
  };
98
99
  exports.ContextMenu = ContextMenu;