@remotion/cli 4.0.0-alpha4 → 4.0.0-alpha6

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 (489) hide show
  1. package/dist/ansi/ansi-diff.d.ts +2 -1
  2. package/dist/ansi/ansi-diff.js +14 -20
  3. package/dist/ansi/ansi-split.d.ts +1 -0
  4. package/dist/ansi/ansi-split.js +16 -3
  5. package/dist/benchmark.js +64 -23
  6. package/dist/better-opn/index.js +3 -3
  7. package/dist/cloudrun-command.d.ts +1 -0
  8. package/dist/cloudrun-command.js +27 -0
  9. package/dist/codemods/update-default-props.d.ts +5 -0
  10. package/dist/codemods/update-default-props.js +143 -0
  11. package/dist/color-math.d.ts +2 -0
  12. package/dist/color-math.js +13 -0
  13. package/dist/composition-prompts.d.ts +3 -4
  14. package/dist/composition-prompts.js +0 -1
  15. package/dist/compositions.js +10 -4
  16. package/dist/config/bitrate.d.ts +2 -2
  17. package/dist/config/bitrate.js +2 -2
  18. package/dist/config/browser.d.ts +1 -3
  19. package/dist/config/browser.js +2 -12
  20. package/dist/config/codec.d.ts +0 -4
  21. package/dist/config/codec.js +1 -21
  22. package/dist/config/image-format.d.ts +5 -3
  23. package/dist/config/image-format.js +32 -10
  24. package/dist/config/index.d.ts +255 -14
  25. package/dist/config/index.js +16 -49
  26. package/dist/config/jpeg-quality.d.ts +2 -0
  27. package/dist/config/jpeg-quality.js +17 -0
  28. package/dist/config/public-dir.d.ts +1 -1
  29. package/dist/config/scale.d.ts +2 -1
  30. package/dist/convert-entry-point-to-serve-url.d.ts +1 -0
  31. package/dist/convert-entry-point-to-serve-url.js +15 -0
  32. package/dist/determine-image-format.d.ts +5 -4
  33. package/dist/determine-image-format.js +17 -4
  34. package/dist/download-progress.d.ts +2 -2
  35. package/dist/download-progress.js +12 -3
  36. package/dist/editor/components/Canvas.js +3 -0
  37. package/dist/editor/components/Checkbox.d.ts +6 -0
  38. package/dist/editor/components/Checkbox.js +42 -0
  39. package/dist/editor/components/CheckerboardProvider.d.ts +4 -0
  40. package/dist/editor/components/CheckerboardProvider.js +24 -0
  41. package/dist/editor/components/CompositionSelector.js +2 -4
  42. package/dist/editor/components/CompositionSelectorItem.d.ts +3 -3
  43. package/dist/editor/components/CompositionSelectorItem.js +24 -6
  44. package/dist/editor/components/CurrentComposition.js +4 -19
  45. package/dist/editor/components/CurrentCompositionSideEffects.d.ts +3 -0
  46. package/dist/editor/components/CurrentCompositionSideEffects.js +51 -0
  47. package/dist/editor/components/Editor.js +2 -11
  48. package/dist/editor/components/EditorContent.js +1 -1
  49. package/dist/editor/components/EditorContexts.js +10 -86
  50. package/dist/editor/components/GlobalKeybindings.js +4 -0
  51. package/dist/editor/components/InitialCompositionLoader.d.ts +2 -2
  52. package/dist/editor/components/InlineAction.d.ts +7 -0
  53. package/dist/editor/components/InlineAction.js +31 -0
  54. package/dist/editor/components/KeyboardShortcutsExplainer.js +5 -4
  55. package/dist/editor/components/MediaVolumeProvider.d.ts +4 -0
  56. package/dist/editor/components/MediaVolumeProvider.js +25 -0
  57. package/dist/editor/components/Menu/MenuSubItem.d.ts +0 -1
  58. package/dist/editor/components/Menu/MenuSubItem.js +15 -3
  59. package/dist/editor/components/Menu/is-menu-item.d.ts +2 -0
  60. package/dist/editor/components/Menu/is-menu-item.js +3 -1
  61. package/dist/editor/components/Menu/styles.d.ts +4 -0
  62. package/dist/editor/components/Menu/styles.js +13 -4
  63. package/dist/editor/components/MenuToolbar.js +16 -3
  64. package/dist/editor/components/ModalContainer.d.ts +2 -0
  65. package/dist/editor/components/ModalContainer.js +12 -3
  66. package/dist/editor/components/ModalHeader.js +6 -2
  67. package/dist/editor/components/Modals.d.ts +2 -0
  68. package/dist/editor/components/Modals.js +23 -0
  69. package/dist/editor/components/ModalsProvider.d.ts +4 -0
  70. package/dist/editor/components/ModalsProvider.js +17 -0
  71. package/dist/editor/components/NewComposition/CancelButton.js +3 -0
  72. package/dist/editor/components/NewComposition/ComboBox.js +23 -15
  73. package/dist/editor/components/NewComposition/InputDragger.d.ts +4 -0
  74. package/dist/editor/components/NewComposition/InputDragger.js +12 -7
  75. package/dist/editor/components/NewComposition/MenuContent.js +14 -1
  76. package/dist/editor/components/NewComposition/NewCompDuration.js +2 -2
  77. package/dist/editor/components/NewComposition/NewComposition.js +8 -5
  78. package/dist/editor/components/NewComposition/RemInput.d.ts +14 -2
  79. package/dist/editor/components/NewComposition/RemInput.js +24 -9
  80. package/dist/editor/components/NewComposition/RemInputTypeColor.d.ts +7 -0
  81. package/dist/editor/components/NewComposition/RemInputTypeColor.js +53 -0
  82. package/dist/editor/components/NewComposition/RemTextarea.d.ts +7 -0
  83. package/dist/editor/components/NewComposition/RemTextarea.js +92 -0
  84. package/dist/editor/components/NewComposition/ValidationMessage.d.ts +2 -0
  85. package/dist/editor/components/NewComposition/ValidationMessage.js +18 -8
  86. package/dist/editor/components/Notifications/NotificationCenter.d.ts +1 -0
  87. package/dist/editor/components/Notifications/NotificationCenter.js +11 -1
  88. package/dist/editor/components/Notifications/ServerDisconnected.d.ts +0 -4
  89. package/dist/editor/components/Notifications/ServerDisconnected.js +4 -14
  90. package/dist/editor/components/PlayPause.js +6 -0
  91. package/dist/editor/components/PlaybackKeyboardShortcutsManager.js +3 -0
  92. package/dist/editor/components/PlaybackRateSelector.d.ts +0 -2
  93. package/dist/editor/components/PlaybackRateSelector.js +5 -6
  94. package/dist/editor/components/PlayerEmitterContext.d.ts +4 -0
  95. package/dist/editor/components/PlayerEmitterContext.js +11 -0
  96. package/dist/editor/components/Preview.d.ts +0 -1
  97. package/dist/editor/components/Preview.js +4 -4
  98. package/dist/editor/components/PreviewToolbar.js +2 -2
  99. package/dist/editor/components/QuickSwitcher/QuickSwitcherContent.js +8 -3
  100. package/dist/editor/components/QuickSwitcher/QuickSwitcherResult.js +4 -2
  101. package/dist/editor/components/QuickSwitcher/algolia-search.d.ts +0 -27
  102. package/dist/editor/components/QuickSwitcher/algolia-search.js +2 -3
  103. package/dist/editor/components/RenderButton.d.ts +2 -0
  104. package/dist/editor/components/RenderButton.js +103 -0
  105. package/dist/editor/components/RenderModal/CliCopyButton.d.ts +4 -0
  106. package/dist/editor/components/RenderModal/CliCopyButton.js +55 -0
  107. package/dist/editor/components/RenderModal/CrfSetting.d.ts +15 -0
  108. package/dist/editor/components/RenderModal/CrfSetting.js +42 -0
  109. package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.d.ts +8 -0
  110. package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.js +16 -0
  111. package/dist/editor/components/RenderModal/EnvInput.d.ts +11 -0
  112. package/dist/editor/components/RenderModal/EnvInput.js +74 -0
  113. package/dist/editor/components/RenderModal/FrameRangeSetting.d.ts +8 -0
  114. package/dist/editor/components/RenderModal/FrameRangeSetting.js +42 -0
  115. package/dist/editor/components/RenderModal/GuiRenderStatus.d.ts +5 -0
  116. package/dist/editor/components/RenderModal/GuiRenderStatus.js +78 -0
  117. package/dist/editor/components/RenderModal/InfoBubble.d.ts +5 -0
  118. package/dist/editor/components/RenderModal/InfoBubble.js +115 -0
  119. package/dist/editor/components/RenderModal/InfoTooltip.d.ts +5 -0
  120. package/dist/editor/components/RenderModal/InfoTooltip.js +41 -0
  121. package/dist/editor/components/RenderModal/InlineEyeIcon.d.ts +5 -0
  122. package/dist/editor/components/RenderModal/InlineEyeIcon.js +17 -0
  123. package/dist/editor/components/RenderModal/InlineRemoveButton.d.ts +4 -0
  124. package/dist/editor/components/RenderModal/InlineRemoveButton.js +17 -0
  125. package/dist/editor/components/RenderModal/JpegQualitySetting.d.ts +5 -0
  126. package/dist/editor/components/RenderModal/JpegQualitySetting.js +12 -0
  127. package/dist/editor/components/RenderModal/MutedSetting.d.ts +8 -0
  128. package/dist/editor/components/RenderModal/MutedSetting.js +16 -0
  129. package/dist/editor/components/RenderModal/NumberOfLoopsSetting.d.ts +5 -0
  130. package/dist/editor/components/RenderModal/NumberOfLoopsSetting.js +26 -0
  131. package/dist/editor/components/RenderModal/NumberSetting.d.ts +12 -0
  132. package/dist/editor/components/RenderModal/NumberSetting.js +29 -0
  133. package/dist/editor/components/RenderModal/OptionExplainer.d.ts +5 -0
  134. package/dist/editor/components/RenderModal/OptionExplainer.js +55 -0
  135. package/dist/editor/components/RenderModal/RenderModal.d.ts +35 -0
  136. package/dist/editor/components/RenderModal/RenderModal.js +597 -0
  137. package/dist/editor/components/RenderModal/RenderModalAdvanced.d.ts +26 -0
  138. package/dist/editor/components/RenderModal/RenderModalAdvanced.js +61 -0
  139. package/dist/editor/components/RenderModal/RenderModalAudio.d.ts +17 -0
  140. package/dist/editor/components/RenderModal/RenderModalAudio.js +46 -0
  141. package/dist/editor/components/RenderModal/RenderModalBasic.d.ts +23 -0
  142. package/dist/editor/components/RenderModal/RenderModalBasic.js +79 -0
  143. package/dist/editor/components/RenderModal/RenderModalData.d.ts +20 -0
  144. package/dist/editor/components/RenderModal/RenderModalData.js +249 -0
  145. package/dist/editor/components/RenderModal/RenderModalEnvironmentVariables.d.ts +5 -0
  146. package/dist/editor/components/RenderModal/RenderModalEnvironmentVariables.js +55 -0
  147. package/dist/editor/components/RenderModal/RenderModalGif.d.ts +9 -0
  148. package/dist/editor/components/RenderModal/RenderModalGif.js +19 -0
  149. package/dist/editor/components/RenderModal/RenderModalHr.d.ts +2 -0
  150. package/dist/editor/components/RenderModal/RenderModalHr.js +18 -0
  151. package/dist/editor/components/RenderModal/RenderModalInput.d.ts +10 -0
  152. package/dist/editor/components/RenderModal/RenderModalInput.js +13 -0
  153. package/dist/editor/components/RenderModal/RenderModalJSONPropsEditor.d.ts +15 -0
  154. package/dist/editor/components/RenderModal/RenderModalJSONPropsEditor.js +109 -0
  155. package/dist/editor/components/RenderModal/RenderModalPicture.d.ts +28 -0
  156. package/dist/editor/components/RenderModal/RenderModalPicture.js +54 -0
  157. package/dist/editor/components/RenderModal/RenderStatusModal.d.ts +4 -0
  158. package/dist/editor/components/RenderModal/RenderStatusModal.js +72 -0
  159. package/dist/editor/components/RenderModal/ScaleSetting.d.ts +5 -0
  160. package/dist/editor/components/RenderModal/ScaleSetting.js +17 -0
  161. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEditor.d.ts +13 -0
  162. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEditor.js +39 -0
  163. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEmptyStateGraphic.d.ts +2 -0
  164. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEmptyStateGraphic.js +15 -0
  165. package/dist/editor/components/RenderModal/SchemaEditor/SchemaErrorMessages.d.ts +12 -0
  166. package/dist/editor/components/RenderModal/SchemaEditor/SchemaErrorMessages.js +59 -0
  167. package/dist/editor/components/RenderModal/SchemaEditor/SchemaLabel.d.ts +16 -0
  168. package/dist/editor/components/RenderModal/SchemaEditor/SchemaLabel.js +40 -0
  169. package/dist/editor/components/RenderModal/SchemaEditor/SchemaResetButton.d.ts +4 -0
  170. package/dist/editor/components/RenderModal/SchemaEditor/SchemaResetButton.js +17 -0
  171. package/dist/editor/components/RenderModal/SchemaEditor/SchemaSaveButton.d.ts +5 -0
  172. package/dist/editor/components/RenderModal/SchemaEditor/SchemaSaveButton.js +17 -0
  173. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayEditor.d.ts +15 -0
  174. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayEditor.js +84 -0
  175. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayItemEditor.d.ts +14 -0
  176. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayItemEditor.js +28 -0
  177. package/dist/editor/components/RenderModal/SchemaEditor/ZodBooleanEditor.d.ts +13 -0
  178. package/dist/editor/components/RenderModal/SchemaEditor/ZodBooleanEditor.js +27 -0
  179. package/dist/editor/components/RenderModal/SchemaEditor/ZodColorEditor.d.ts +15 -0
  180. package/dist/editor/components/RenderModal/SchemaEditor/ZodColorEditor.js +116 -0
  181. package/dist/editor/components/RenderModal/SchemaEditor/ZodDateEditor.d.ts +15 -0
  182. package/dist/editor/components/RenderModal/SchemaEditor/ZodDateEditor.js +76 -0
  183. package/dist/editor/components/RenderModal/SchemaEditor/ZodEffectEditor.d.ts +15 -0
  184. package/dist/editor/components/RenderModal/SchemaEditor/ZodEffectEditor.js +55 -0
  185. package/dist/editor/components/RenderModal/SchemaEditor/ZodEnumEditor.d.ts +15 -0
  186. package/dist/editor/components/RenderModal/SchemaEditor/ZodEnumEditor.js +72 -0
  187. package/dist/editor/components/RenderModal/SchemaEditor/ZodErrorMessages.d.ts +5 -0
  188. package/dist/editor/components/RenderModal/SchemaEditor/ZodErrorMessages.js +23 -0
  189. package/dist/editor/components/RenderModal/SchemaEditor/ZodNonEditableValue.d.ts +9 -0
  190. package/dist/editor/components/RenderModal/SchemaEditor/ZodNonEditableValue.js +27 -0
  191. package/dist/editor/components/RenderModal/SchemaEditor/ZodNullableEditor.d.ts +15 -0
  192. package/dist/editor/components/RenderModal/SchemaEditor/ZodNullableEditor.js +10 -0
  193. package/dist/editor/components/RenderModal/SchemaEditor/ZodNumberEditor.d.ts +15 -0
  194. package/dist/editor/components/RenderModal/SchemaEditor/ZodNumberEditor.js +88 -0
  195. package/dist/editor/components/RenderModal/SchemaEditor/ZodObjectEditor.d.ts +15 -0
  196. package/dist/editor/components/RenderModal/SchemaEditor/ZodObjectEditor.js +64 -0
  197. package/dist/editor/components/RenderModal/SchemaEditor/ZodOptionalEditor.d.ts +15 -0
  198. package/dist/editor/components/RenderModal/SchemaEditor/ZodOptionalEditor.js +10 -0
  199. package/dist/editor/components/RenderModal/SchemaEditor/ZodOrNullishEditor.d.ts +16 -0
  200. package/dist/editor/components/RenderModal/SchemaEditor/ZodOrNullishEditor.js +52 -0
  201. package/dist/editor/components/RenderModal/SchemaEditor/ZodStringEditor.d.ts +15 -0
  202. package/dist/editor/components/RenderModal/SchemaEditor/ZodStringEditor.js +48 -0
  203. package/dist/editor/components/RenderModal/SchemaEditor/ZodSwitch.d.ts +15 -0
  204. package/dist/editor/components/RenderModal/SchemaEditor/ZodSwitch.js +84 -0
  205. package/dist/editor/components/RenderModal/SchemaEditor/ZodUnionEditor.d.ts +15 -0
  206. package/dist/editor/components/RenderModal/SchemaEditor/ZodUnionEditor.js +49 -0
  207. package/dist/editor/components/RenderModal/SchemaEditor/create-zod-values.d.ts +2 -0
  208. package/dist/editor/components/RenderModal/SchemaEditor/create-zod-values.js +158 -0
  209. package/dist/editor/components/RenderModal/SchemaEditor/date-serialization.d.ts +6 -0
  210. package/dist/editor/components/RenderModal/SchemaEditor/date-serialization.js +24 -0
  211. package/dist/editor/components/RenderModal/SchemaEditor/get-schema-label.d.ts +2 -0
  212. package/dist/editor/components/RenderModal/SchemaEditor/get-schema-label.js +15 -0
  213. package/dist/editor/components/RenderModal/SchemaEditor/zod-types.d.ts +1 -0
  214. package/dist/editor/components/RenderModal/SchemaEditor/zod-types.js +2 -0
  215. package/dist/editor/components/RenderModal/WarningIndicatorButton.d.ts +6 -0
  216. package/dist/editor/components/RenderModal/WarningIndicatorButton.js +49 -0
  217. package/dist/editor/components/RenderModal/get-render-modal-warnings.d.ts +15 -0
  218. package/dist/editor/components/RenderModal/get-render-modal-warnings.js +34 -0
  219. package/dist/editor/components/RenderModal/human-readable-audio-codecs.d.ts +2 -0
  220. package/dist/editor/components/RenderModal/human-readable-audio-codecs.js +18 -0
  221. package/dist/editor/components/RenderModal/human-readable-codec.d.ts +2 -0
  222. package/dist/editor/components/RenderModal/human-readable-codec.js +36 -0
  223. package/dist/editor/components/RenderModal/layout.d.ts +7 -0
  224. package/dist/editor/components/RenderModal/layout.js +45 -0
  225. package/dist/editor/components/RenderModal/out-name-checker.d.ts +14 -0
  226. package/dist/editor/components/RenderModal/out-name-checker.js +80 -0
  227. package/dist/editor/components/RenderQueue/CircularProgress.d.ts +5 -0
  228. package/dist/editor/components/RenderQueue/CircularProgress.js +18 -0
  229. package/dist/editor/components/RenderQueue/RenderQueueError.d.ts +5 -0
  230. package/dist/editor/components/RenderQueue/RenderQueueError.js +26 -0
  231. package/dist/editor/components/RenderQueue/RenderQueueItem.d.ts +5 -0
  232. package/dist/editor/components/RenderQueue/RenderQueueItem.js +40 -0
  233. package/dist/editor/components/RenderQueue/RenderQueueItemCancelButton.d.ts +5 -0
  234. package/dist/editor/components/RenderQueue/RenderQueueItemCancelButton.js +26 -0
  235. package/dist/editor/components/RenderQueue/RenderQueueItemStatus.d.ts +5 -0
  236. package/dist/editor/components/RenderQueue/RenderQueueItemStatus.js +43 -0
  237. package/dist/editor/components/RenderQueue/RenderQueueOpenInFolder.d.ts +5 -0
  238. package/dist/editor/components/RenderQueue/RenderQueueOpenInFolder.js +26 -0
  239. package/dist/editor/components/RenderQueue/RenderQueueOutputName.d.ts +5 -0
  240. package/dist/editor/components/RenderQueue/RenderQueueOutputName.js +26 -0
  241. package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.d.ts +5 -0
  242. package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.js +26 -0
  243. package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.d.ts +5 -0
  244. package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.js +37 -0
  245. package/dist/editor/components/RenderQueue/RenderQueueRepeat.d.ts +5 -0
  246. package/dist/editor/components/RenderQueue/RenderQueueRepeat.js +26 -0
  247. package/dist/editor/components/RenderQueue/SuccessIcon.d.ts +2 -0
  248. package/dist/editor/components/RenderQueue/SuccessIcon.js +14 -0
  249. package/dist/editor/components/RenderQueue/actions.d.ts +58 -0
  250. package/dist/editor/components/RenderQueue/actions.js +120 -0
  251. package/dist/editor/components/RenderQueue/context.d.ts +18 -0
  252. package/dist/editor/components/RenderQueue/context.js +49 -0
  253. package/dist/editor/components/RenderQueue/index.d.ts +2 -0
  254. package/dist/editor/components/RenderQueue/index.js +43 -0
  255. package/dist/editor/components/RenderQueue/item-style.d.ts +2 -0
  256. package/dist/editor/components/RenderQueue/item-style.js +21 -0
  257. package/dist/editor/components/RendersTab.d.ts +6 -0
  258. package/dist/editor/components/RendersTab.js +43 -0
  259. package/dist/editor/components/RightPanel.d.ts +8 -0
  260. package/dist/editor/components/RightPanel.js +76 -0
  261. package/dist/editor/components/SegmentedControl.d.ts +11 -0
  262. package/dist/editor/components/SegmentedControl.js +62 -0
  263. package/dist/editor/components/SetTimelineInOutProvider.d.ts +4 -0
  264. package/dist/editor/components/SetTimelineInOutProvider.js +19 -0
  265. package/dist/editor/components/SidebarCollapserControls.d.ts +2 -0
  266. package/dist/editor/components/SidebarCollapserControls.js +135 -0
  267. package/dist/editor/components/SidebarRenderButton.d.ts +6 -0
  268. package/dist/editor/components/SidebarRenderButton.js +85 -0
  269. package/dist/editor/components/SizeSelector.d.ts +0 -1
  270. package/dist/editor/components/SizeSelector.js +3 -3
  271. package/dist/editor/components/Splitter/SplitterHandle.d.ts +1 -2
  272. package/dist/editor/components/Splitter/SplitterHandle.js +15 -7
  273. package/dist/editor/components/Tabs/index.d.ts +11 -0
  274. package/dist/editor/components/Tabs/index.js +58 -0
  275. package/dist/editor/components/Tabs/vertical.d.ts +7 -0
  276. package/dist/editor/components/Tabs/vertical.js +43 -0
  277. package/dist/editor/components/Timeline/MaxTimelineTracks.js +1 -1
  278. package/dist/editor/components/Timeline/Timeline.js +1 -1
  279. package/dist/editor/components/Timeline/TimelineCollapseToggle.d.ts +1 -0
  280. package/dist/editor/components/Timeline/TimelineCollapseToggle.js +4 -5
  281. package/dist/editor/components/Timeline/TimelineListItem.js +2 -1
  282. package/dist/editor/components/Timeline/TimelineScrollable.js +2 -1
  283. package/dist/editor/components/Timeline/TimelineSequence.js +2 -14
  284. package/dist/editor/components/Timeline/TimelineSequenceFrame.js +2 -1
  285. package/dist/editor/components/Timeline/TimelineZoomControls.js +2 -5
  286. package/dist/editor/components/Timeline/imperative-state.d.ts +0 -4
  287. package/dist/editor/components/Timeline/imperative-state.js +13 -13
  288. package/dist/editor/components/Timeline/is-collapsed.js +2 -3
  289. package/dist/editor/components/Timeline/timeline-scroll-logic.d.ts +0 -1
  290. package/dist/editor/components/Timeline/timeline-scroll-logic.js +5 -6
  291. package/dist/editor/components/TimelineInOutToggle.js +3 -0
  292. package/dist/editor/components/TopPanel.d.ts +1 -0
  293. package/dist/editor/components/TopPanel.js +30 -16
  294. package/dist/editor/components/ZoomGesturesProvider.d.ts +4 -0
  295. package/dist/editor/components/ZoomGesturesProvider.js +24 -0
  296. package/dist/editor/components/ZoomPersistor.d.ts +0 -1
  297. package/dist/editor/components/ZoomPersistor.js +2 -3
  298. package/dist/editor/components/get-zod-if-possible.d.ts +10 -0
  299. package/dist/editor/components/get-zod-if-possible.js +79 -0
  300. package/dist/editor/components/layout.d.ts +3 -1
  301. package/dist/editor/components/layout.js +9 -7
  302. package/dist/editor/helpers/calculate-timeline.d.ts +0 -4
  303. package/dist/editor/helpers/client-id.d.ts +17 -0
  304. package/dist/editor/helpers/client-id.js +46 -0
  305. package/dist/editor/helpers/colors.d.ts +4 -2
  306. package/dist/editor/helpers/colors.js +7 -4
  307. package/dist/editor/helpers/convert-env-variables.d.ts +2 -0
  308. package/dist/editor/helpers/convert-env-variables.js +20 -0
  309. package/dist/editor/helpers/create-folder-tree.d.ts +2 -3
  310. package/dist/editor/helpers/create-folder-tree.js +3 -4
  311. package/dist/editor/helpers/get-timeline-sequence-layout.d.ts +2 -2
  312. package/dist/editor/helpers/get-timeline-sequence-sort-key.d.ts +2 -1
  313. package/dist/editor/helpers/is-composition-still.d.ts +2 -2
  314. package/dist/editor/helpers/is-composition-still.js +3 -0
  315. package/dist/editor/helpers/prores-labels.d.ts +2 -0
  316. package/dist/editor/helpers/prores-labels.js +25 -0
  317. package/dist/editor/helpers/render-modal-sections.d.ts +10 -0
  318. package/dist/editor/helpers/render-modal-sections.js +32 -0
  319. package/dist/editor/helpers/use-breakpoint.d.ts +1 -0
  320. package/dist/editor/helpers/use-breakpoint.js +17 -0
  321. package/dist/editor/helpers/use-file-existence.d.ts +1 -0
  322. package/dist/editor/helpers/use-file-existence.js +66 -0
  323. package/dist/editor/helpers/use-keybinding.d.ts +1 -0
  324. package/dist/editor/helpers/use-keybinding.js +9 -0
  325. package/dist/editor/helpers/use-menu-structure.js +99 -51
  326. package/dist/editor/helpers/validate-new-comp-data.d.ts +2 -2
  327. package/dist/editor/icons/Checkmark.js +1 -1
  328. package/dist/editor/icons/audio.d.ts +2 -0
  329. package/dist/editor/icons/audio.js +6 -0
  330. package/dist/editor/icons/caret.d.ts +4 -1
  331. package/dist/editor/icons/caret.js +17 -1
  332. package/dist/editor/icons/data.d.ts +2 -0
  333. package/dist/editor/icons/data.js +8 -0
  334. package/dist/editor/icons/file.d.ts +2 -0
  335. package/dist/editor/icons/file.js +6 -0
  336. package/dist/editor/icons/folder.d.ts +6 -2
  337. package/dist/editor/icons/folder.js +4 -4
  338. package/dist/editor/icons/frame.d.ts +2 -0
  339. package/dist/editor/icons/frame.js +6 -0
  340. package/dist/editor/icons/gear.d.ts +2 -0
  341. package/dist/editor/icons/gear.js +6 -0
  342. package/dist/editor/icons/gif.d.ts +2 -0
  343. package/dist/editor/icons/gif.js +6 -0
  344. package/dist/editor/icons/render.d.ts +9 -0
  345. package/dist/editor/icons/render.js +12 -0
  346. package/dist/editor/icons/still.d.ts +3 -1
  347. package/dist/editor/icons/still.js +2 -2
  348. package/dist/editor/icons/video.d.ts +5 -0
  349. package/dist/editor/icons/video.js +8 -0
  350. package/dist/editor/state/keybindings.d.ts +2 -1
  351. package/dist/editor/state/modals.d.ts +38 -0
  352. package/dist/editor/state/preview-size.d.ts +0 -1
  353. package/dist/editor/state/preview-size.js +3 -4
  354. package/dist/editor/state/sidebar.d.ts +7 -3
  355. package/dist/editor/state/sidebar.js +42 -13
  356. package/dist/editor/state/timeline-ref.d.ts +2 -1
  357. package/dist/editor/state/z-index.d.ts +0 -5
  358. package/dist/editor/state/z-index.js +16 -6
  359. package/dist/entry-point.js +17 -17
  360. package/dist/event-source-events.d.ts +15 -0
  361. package/dist/event-source.d.ts +2 -0
  362. package/dist/event-source.js +31 -5
  363. package/dist/ffmpeg.d.ts +2 -0
  364. package/dist/ffmpeg.js +26 -0
  365. package/dist/file-watcher.d.ts +9 -0
  366. package/dist/file-watcher.js +35 -0
  367. package/dist/get-cli-options.d.ts +3 -12
  368. package/dist/get-cli-options.js +11 -64
  369. package/dist/get-composition-id.d.ts +7 -3
  370. package/dist/get-composition-id.js +17 -3
  371. package/dist/get-composition-with-dimension-override.d.ts +5 -4
  372. package/dist/get-composition-with-dimension-override.js +6 -2
  373. package/dist/get-config-file-name.d.ts +0 -2
  374. package/dist/get-config-file-name.js +11 -11
  375. package/dist/get-default-out-name.d.ts +5 -0
  376. package/dist/get-default-out-name.js +10 -0
  377. package/dist/get-env.d.ts +1 -1
  378. package/dist/get-env.js +48 -57
  379. package/dist/get-filename.d.ts +5 -1
  380. package/dist/get-filename.js +6 -4
  381. package/dist/get-final-output-codec.d.ts +2 -1
  382. package/dist/get-final-output-codec.js +4 -1
  383. package/dist/get-input-props.d.ts +1 -5
  384. package/dist/get-input-props.js +18 -20
  385. package/dist/get-network-address.js +2 -2
  386. package/dist/image-formats.d.ts +5 -2
  387. package/dist/image-formats.js +16 -6
  388. package/dist/index.d.ts +91 -22
  389. package/dist/index.js +16 -13
  390. package/dist/list-of-remotion-packages.js +1 -0
  391. package/dist/load-config.js +9 -9
  392. package/dist/log.d.ts +14 -0
  393. package/dist/log.js +24 -8
  394. package/dist/parse-command-line.d.ts +5 -5
  395. package/dist/parse-command-line.js +6 -14
  396. package/dist/preview-server/api-routes.d.ts +4 -0
  397. package/dist/preview-server/api-routes.js +21 -0
  398. package/dist/preview-server/api-types.d.ts +25 -0
  399. package/dist/preview-server/api-types.js +2 -0
  400. package/dist/preview-server/dev-middleware/compatible-api.d.ts +2 -2
  401. package/dist/preview-server/dev-middleware/middleware.d.ts +1 -2
  402. package/dist/preview-server/dev-middleware/middleware.js +8 -9
  403. package/dist/preview-server/error-overlay/react-overlay/utils/get-file-source.js +5 -5
  404. package/dist/preview-server/error-overlay/react-overlay/utils/open-in-editor.js +17 -17
  405. package/dist/preview-server/error-overlay/remotion-overlay/AskOnDiscord.js +1 -0
  406. package/dist/preview-server/error-overlay/remotion-overlay/Button.d.ts +8 -4
  407. package/dist/preview-server/error-overlay/remotion-overlay/Button.js +12 -8
  408. package/dist/preview-server/error-overlay/remotion-overlay/ErrorDisplay.js +2 -1
  409. package/dist/preview-server/error-overlay/remotion-overlay/HelpLink.js +1 -0
  410. package/dist/preview-server/error-overlay/remotion-overlay/OpenInEditor.js +1 -0
  411. package/dist/preview-server/error-overlay/remotion-overlay/SearchGitHubIssues.js +1 -0
  412. package/dist/preview-server/error-overlay/remotion-overlay/ShortcutHint.js +16 -1
  413. package/dist/preview-server/file-existence-watchers.d.ts +13 -0
  414. package/dist/preview-server/file-existence-watchers.js +62 -0
  415. package/dist/preview-server/get-absolute-public-dir.js +3 -3
  416. package/dist/preview-server/get-package-manager.js +3 -3
  417. package/dist/preview-server/handler.d.ts +9 -0
  418. package/dist/preview-server/handler.js +34 -0
  419. package/dist/preview-server/hot-middleware/client.js +2 -2
  420. package/dist/preview-server/hot-middleware/index.d.ts +1 -1
  421. package/dist/preview-server/hot-middleware/index.js +2 -2
  422. package/dist/preview-server/live-events.d.ts +3 -1
  423. package/dist/preview-server/live-events.js +22 -2
  424. package/dist/preview-server/parse-body.d.ts +2 -0
  425. package/dist/preview-server/parse-body.js +16 -0
  426. package/dist/preview-server/project-info.js +5 -5
  427. package/dist/preview-server/public-folder.d.ts +0 -5
  428. package/dist/preview-server/public-folder.js +11 -12
  429. package/dist/preview-server/render-queue/get-default-video-contexts.d.ts +10 -0
  430. package/dist/preview-server/render-queue/get-default-video-contexts.js +13 -0
  431. package/dist/preview-server/render-queue/job.d.ts +138 -0
  432. package/dist/preview-server/render-queue/job.js +2 -0
  433. package/dist/preview-server/render-queue/make-retry-payload.d.ts +3 -0
  434. package/dist/preview-server/render-queue/make-retry-payload.js +91 -0
  435. package/dist/preview-server/render-queue/open-directory-in-finder.d.ts +1 -0
  436. package/dist/preview-server/render-queue/open-directory-in-finder.js +43 -0
  437. package/dist/preview-server/render-queue/process-still.d.ts +8 -0
  438. package/dist/preview-server/render-queue/process-still.js +46 -0
  439. package/dist/preview-server/render-queue/process-video.d.ts +8 -0
  440. package/dist/preview-server/render-queue/process-video.js +63 -0
  441. package/dist/preview-server/render-queue/queue.d.ts +9 -0
  442. package/dist/preview-server/render-queue/queue.js +212 -0
  443. package/dist/preview-server/routes/add-render.d.ts +3 -0
  444. package/dist/preview-server/routes/add-render.js +76 -0
  445. package/dist/preview-server/routes/can-update-default-props.d.ts +4 -0
  446. package/dist/preview-server/routes/can-update-default-props.js +39 -0
  447. package/dist/preview-server/routes/cancel-render.d.ts +3 -0
  448. package/dist/preview-server/routes/cancel-render.js +9 -0
  449. package/dist/preview-server/routes/open-in-file-explorer.d.ts +3 -0
  450. package/dist/preview-server/routes/open-in-file-explorer.js +8 -0
  451. package/dist/preview-server/routes/remove-render.d.ts +3 -0
  452. package/dist/preview-server/routes/remove-render.js +9 -0
  453. package/dist/preview-server/routes/subscribe-to-file-existence.d.ts +3 -0
  454. package/dist/preview-server/routes/subscribe-to-file-existence.js +13 -0
  455. package/dist/preview-server/routes/unsubscribe-from-file-existence.d.ts +3 -0
  456. package/dist/preview-server/routes/unsubscribe-from-file-existence.js +13 -0
  457. package/dist/preview-server/routes/update-default-props.d.ts +3 -0
  458. package/dist/preview-server/routes/update-default-props.js +24 -0
  459. package/dist/preview-server/routes.d.ts +3 -2
  460. package/dist/preview-server/routes.js +79 -21
  461. package/dist/preview-server/serve-static.d.ts +1 -1
  462. package/dist/preview-server/serve-static.js +7 -7
  463. package/dist/preview-server/start-server.js +3 -2
  464. package/dist/preview.js +12 -25
  465. package/dist/previewEntry.js +2 -3
  466. package/dist/print-compositions.d.ts +2 -2
  467. package/dist/print-error.js +4 -2
  468. package/dist/print-help.js +4 -8
  469. package/dist/progress-bar.d.ts +17 -37
  470. package/dist/progress-bar.js +102 -41
  471. package/dist/progress-types.d.ts +32 -0
  472. package/dist/progress-types.js +17 -0
  473. package/dist/render-flows/render.d.ts +47 -0
  474. package/dist/render-flows/render.js +293 -0
  475. package/dist/render-flows/still.d.ts +29 -0
  476. package/dist/render-flows/still.js +174 -0
  477. package/dist/render.js +42 -232
  478. package/dist/required-chromium-options.d.ts +3 -0
  479. package/dist/required-chromium-options.js +2 -0
  480. package/dist/resolve-from.js +5 -5
  481. package/dist/select-composition.d.ts +2 -1
  482. package/dist/setup-cache.d.ts +12 -9
  483. package/dist/setup-cache.js +29 -20
  484. package/dist/still.js +25 -130
  485. package/dist/upgrade.js +2 -2
  486. package/dist/user-passed-output-location.js +2 -7
  487. package/dist/versions.js +2 -2
  488. package/package.json +22 -7
  489. package/styles/styles.css +13 -3
@@ -2,13 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeMultiDownloadProgress = exports.getFileSizeDownloadBar = void 0;
4
4
  const format_bytes_1 = require("./format-bytes");
5
+ const log_1 = require("./log");
5
6
  const make_progress_bar_1 = require("./make-progress-bar");
7
+ const truthy_1 = require("./truthy");
6
8
  const getFileSizeDownloadBar = (downloaded) => {
7
9
  const desiredLength = (0, make_progress_bar_1.makeProgressBar)(0).length;
8
10
  return `[${(0, format_bytes_1.formatBytes)(downloaded).padEnd(desiredLength - 2, ' ')}]`;
9
11
  };
10
12
  exports.getFileSizeDownloadBar = getFileSizeDownloadBar;
11
- const makeMultiDownloadProgress = (progresses) => {
13
+ const makeMultiDownloadProgress = (progresses, indent) => {
12
14
  if (progresses.length === 0) {
13
15
  return null;
14
16
  }
@@ -18,21 +20,28 @@ const makeMultiDownloadProgress = (progresses) => {
18
20
  ? progress.name.substring(0, 57) + '...'
19
21
  : progress.name;
20
22
  return [
23
+ indent ? log_1.INDENT_TOKEN : null,
21
24
  ` +`,
22
25
  progress.progress
23
26
  ? (0, make_progress_bar_1.makeProgressBar)(progress.progress)
24
27
  : (0, exports.getFileSizeDownloadBar)(progress.downloaded),
25
28
  `Downloading ${truncatedFileName}`,
26
- ].join(' ');
29
+ ]
30
+ .filter(truthy_1.truthy)
31
+ .join(' ');
27
32
  }
28
33
  const everyFileHasContentLength = progresses.every((p) => p.totalBytes !== null);
29
34
  return [
35
+ indent ? log_1.INDENT_TOKEN : null,
36
+ // TODO: Shifted 1 character to the right in v4
30
37
  ` +`,
31
38
  everyFileHasContentLength
32
39
  ? (0, make_progress_bar_1.makeProgressBar)(progresses.reduce((a, b) => a + b.progress, 0) /
33
40
  progresses.length)
34
41
  : (0, exports.getFileSizeDownloadBar)(progresses.reduce((a, b) => a + b.downloaded, 0)),
35
42
  `Downloading ${progresses.length} files`,
36
- ].join(' ');
43
+ ]
44
+ .filter(truthy_1.truthy)
45
+ .join(' ');
37
46
  };
38
47
  exports.makeMultiDownloadProgress = makeMultiDownloadProgress;
@@ -195,6 +195,7 @@ const Canvas = () => {
195
195
  commandCtrlKey: false,
196
196
  callback: onReset,
197
197
  preventDefault: true,
198
+ triggerIfInputFieldFocused: false,
198
199
  });
199
200
  const zoomIn = keybindings.registerKeybinding({
200
201
  event: 'keydown',
@@ -202,6 +203,7 @@ const Canvas = () => {
202
203
  commandCtrlKey: false,
203
204
  callback: onZoomIn,
204
205
  preventDefault: true,
206
+ triggerIfInputFieldFocused: false,
205
207
  });
206
208
  const zoomOut = keybindings.registerKeybinding({
207
209
  event: 'keydown',
@@ -209,6 +211,7 @@ const Canvas = () => {
209
211
  commandCtrlKey: false,
210
212
  callback: onZoomOut,
211
213
  preventDefault: true,
214
+ triggerIfInputFieldFocused: false,
212
215
  });
213
216
  return () => {
214
217
  resetBinding.unregister();
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export declare const Checkbox: React.FC<{
3
+ checked: boolean;
4
+ onChange: React.ChangeEventHandler<HTMLInputElement>;
5
+ disabled?: boolean;
6
+ }>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Checkbox = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const colors_1 = require("../helpers/colors");
7
+ const Checkmark_1 = require("../icons/Checkmark");
8
+ const size = 20;
9
+ const background = {
10
+ height: size,
11
+ width: size,
12
+ position: 'relative',
13
+ };
14
+ const box = {
15
+ display: 'flex',
16
+ justifyContent: 'center',
17
+ alignItems: 'center',
18
+ position: 'absolute',
19
+ height: size,
20
+ width: size,
21
+ top: 0,
22
+ left: 0,
23
+ pointerEvents: 'none',
24
+ color: 'white',
25
+ };
26
+ const Checkbox = ({ checked, onChange, disabled }) => {
27
+ const input = (0, react_1.useMemo)(() => {
28
+ return {
29
+ appearance: 'none',
30
+ background: disabled ? 'transparent' : colors_1.INPUT_BACKGROUND,
31
+ border: '1px solid ' + colors_1.INPUT_BORDER_COLOR_UNHOVERED,
32
+ height: size,
33
+ width: size,
34
+ top: 0,
35
+ left: 0,
36
+ position: 'absolute',
37
+ margin: 0,
38
+ };
39
+ }, [disabled]);
40
+ return ((0, jsx_runtime_1.jsxs)("div", { style: background, children: [(0, jsx_runtime_1.jsx)("input", { style: input, type: 'checkbox', checked: checked, onChange: onChange, disabled: disabled }), (0, jsx_runtime_1.jsx)("div", { style: box, children: checked ? (0, jsx_runtime_1.jsx)(Checkmark_1.Checkmark, {}) : null })] }));
41
+ };
42
+ exports.Checkbox = Checkbox;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export declare const CheckerboardProvider: React.FC<{
3
+ children: React.ReactNode;
4
+ }>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CheckerboardProvider = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const checkerboard_1 = require("../state/checkerboard");
7
+ const CheckerboardProvider = ({ children }) => {
8
+ const [checkerboard, setCheckerboardState] = (0, react_1.useState)(() => (0, checkerboard_1.loadCheckerboardOption)());
9
+ const setCheckerboard = (0, react_1.useCallback)((newValue) => {
10
+ setCheckerboardState((prevState) => {
11
+ const newVal = newValue(prevState);
12
+ (0, checkerboard_1.persistCheckerboardOption)(newVal);
13
+ return newVal;
14
+ });
15
+ }, []);
16
+ const checkerboardCtx = (0, react_1.useMemo)(() => {
17
+ return {
18
+ checkerboard,
19
+ setCheckerboard,
20
+ };
21
+ }, [checkerboard, setCheckerboard]);
22
+ return ((0, jsx_runtime_1.jsx)(checkerboard_1.CheckerboardContext.Provider, { value: checkerboardCtx, children: children }));
23
+ };
24
+ exports.CheckerboardProvider = CheckerboardProvider;
@@ -12,7 +12,6 @@ const CompositionSelectorItem_1 = require("./CompositionSelectorItem");
12
12
  const CurrentComposition_1 = require("./CurrentComposition");
13
13
  const InitialCompositionLoader_1 = require("./InitialCompositionLoader");
14
14
  const container = {
15
- borderRight: '1px solid black',
16
15
  position: 'absolute',
17
16
  height: '100%',
18
17
  width: '100%',
@@ -20,8 +19,7 @@ const container = {
20
19
  backgroundColor: colors_1.BACKGROUND,
21
20
  };
22
21
  const list = {
23
- padding: 5,
24
- height: 'calc(100% - 100px)',
22
+ height: 'calc(100% - 80px)',
25
23
  overflowY: 'auto',
26
24
  };
27
25
  const getKeysToExpand = (initialFolderName, parentFolderName, initial = []) => {
@@ -54,7 +52,7 @@ const CompositionSelector = () => {
54
52
  const items = (0, react_1.useMemo)(() => {
55
53
  return (0, create_folder_tree_1.createFolderTree)(compositions, folders, foldersExpanded);
56
54
  }, [compositions, folders, foldersExpanded]);
57
- return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)(CurrentComposition_1.CurrentComposition, {}), (0, jsx_runtime_1.jsx)("div", { style: list, children: items.map((c) => {
55
+ return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)(CurrentComposition_1.CurrentComposition, {}), (0, jsx_runtime_1.jsx)("div", { className: "__remotion-vertical-scrollbar", style: list, children: items.map((c) => {
58
56
  return ((0, jsx_runtime_1.jsx)(CompositionSelectorItem_1.CompositionSelectorItem, { level: 0, currentComposition: currentComposition, selectComposition: selectComposition, toggleFolder: toggleFolder, tabIndex: tabIndex, item: c }, c.key + c.type));
59
57
  }) })] }));
60
58
  };
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import type { TComposition } from 'remotion';
2
+ import type { AnyComposition } from 'remotion';
3
3
  export declare type CompositionSelectorItemType = {
4
4
  key: string;
5
5
  type: 'composition';
6
- composition: TComposition<unknown>;
6
+ composition: AnyComposition;
7
7
  } | {
8
8
  key: string;
9
9
  type: 'folder';
@@ -16,7 +16,7 @@ export declare const CompositionSelectorItem: React.FC<{
16
16
  item: CompositionSelectorItemType;
17
17
  currentComposition: string | null;
18
18
  tabIndex: number;
19
- selectComposition: (c: TComposition, push: boolean) => void;
19
+ selectComposition: (c: AnyComposition, push: boolean) => void;
20
20
  toggleFolder: (folderName: string, parentName: string | null) => void;
21
21
  level: number;
22
22
  }>;
@@ -5,12 +5,14 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const colors_1 = require("../helpers/colors");
7
7
  const is_composition_still_1 = require("../helpers/is-composition-still");
8
- const film_1 = require("../icons/film");
9
8
  const folder_1 = require("../icons/folder");
10
9
  const still_1 = require("../icons/still");
10
+ const video_1 = require("../icons/video");
11
11
  const layout_1 = require("./layout");
12
+ const SidebarRenderButton_1 = require("./SidebarRenderButton");
13
+ const COMPOSITION_ITEM_HEIGHT = 32;
12
14
  const itemStyle = {
13
- paddingRight: 8,
15
+ paddingRight: 10,
14
16
  paddingTop: 6,
15
17
  paddingBottom: 6,
16
18
  fontSize: 13,
@@ -24,10 +26,21 @@ const itemStyle = {
24
26
  width: '100%',
25
27
  textAlign: 'left',
26
28
  backgroundColor: colors_1.BACKGROUND,
29
+ height: COMPOSITION_ITEM_HEIGHT,
30
+ };
31
+ const labelStyle = {
32
+ textAlign: 'left',
33
+ textDecoration: 'none',
34
+ fontSize: 13,
35
+ flex: 1,
36
+ whiteSpace: 'nowrap',
37
+ overflow: 'hidden',
38
+ textOverflow: 'ellipsis',
27
39
  };
28
40
  const iconStyle = {
29
41
  width: 18,
30
42
  height: 18,
43
+ flexShrink: 0,
31
44
  };
32
45
  const CompositionSelectorItem = ({ item, level, currentComposition, tabIndex, selectComposition, toggleFolder, }) => {
33
46
  const selected = (0, react_1.useMemo)(() => {
@@ -53,10 +66,15 @@ const CompositionSelectorItem = ({ item, level, currentComposition, tabIndex, se
53
66
  : selected
54
67
  ? colors_1.SELECTED_BACKGROUND
55
68
  : 'transparent',
56
- color: selected || hovered ? 'white' : colors_1.LIGHT_TEXT,
57
- paddingLeft: 8 + level * 8,
69
+ paddingLeft: 12 + level * 8,
58
70
  };
59
71
  }, [hovered, level, selected]);
72
+ const label = (0, react_1.useMemo)(() => {
73
+ return {
74
+ ...labelStyle,
75
+ color: selected || hovered ? 'white' : colors_1.LIGHT_TEXT,
76
+ };
77
+ }, [hovered, selected]);
60
78
  const onClick = (0, react_1.useCallback)((evt) => {
61
79
  evt.preventDefault();
62
80
  if (item.type === 'composition') {
@@ -67,12 +85,12 @@ const CompositionSelectorItem = ({ item, level, currentComposition, tabIndex, se
67
85
  }
68
86
  }, [item, selectComposition, toggleFolder]);
69
87
  if (item.type === 'folder') {
70
- 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", children: [item.expanded ? ((0, jsx_runtime_1.jsx)(folder_1.ExpandedFolderIcon, { style: iconStyle })) : ((0, jsx_runtime_1.jsx)(folder_1.CollapsedFolderIcon, { style: iconStyle })), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), item.folderName] }), item.expanded
88
+ 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
71
89
  ? item.items.map((childItem) => {
72
90
  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));
73
91
  })
74
92
  : null] }));
75
93
  }
76
- return ((0, jsx_runtime_1.jsxs)("button", { style: style, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, tabIndex: tabIndex, onClick: onClick, type: "button", children: [(0, is_composition_still_1.isCompositionStill)(item.composition) ? ((0, jsx_runtime_1.jsx)(still_1.StillIcon, { style: iconStyle })) : ((0, jsx_runtime_1.jsx)(film_1.FilmIcon, { style: iconStyle })), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), item.composition.id] }));
94
+ return ((0, jsx_runtime_1.jsx)(layout_1.Row, { align: "center", children: (0, jsx_runtime_1.jsxs)("button", { style: style, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, tabIndex: tabIndex, onClick: onClick, type: "button", title: 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)("div", { children: (0, jsx_runtime_1.jsx)(SidebarRenderButton_1.SidebarRenderButton, { visible: hovered, composition: item.composition }) })] }) }));
77
95
  };
78
96
  exports.CompositionSelectorItem = CompositionSelectorItem;
@@ -2,19 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CurrentComposition = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
5
  const remotion_1 = require("remotion");
7
6
  const colors_1 = require("../helpers/colors");
8
7
  const is_composition_still_1 = require("../helpers/is-composition-still");
9
8
  const render_frame_1 = require("../state/render-frame");
10
- const rich_timeline_1 = require("../state/rich-timeline");
11
- const layout_1 = require("./layout");
12
- const Thumbnail_1 = require("./Thumbnail");
13
9
  const container = {
14
- minHeight: 100,
10
+ height: 80,
15
11
  display: 'block',
16
- borderBottom: '1px solid black',
17
- padding: 16,
12
+ borderBottom: `1px solid ${colors_1.BORDER_COLOR}`,
13
+ padding: 12,
18
14
  color: 'white',
19
15
  backgroundColor: colors_1.BACKGROUND,
20
16
  };
@@ -38,22 +34,11 @@ const row = {
38
34
  lineHeight: '18px',
39
35
  backgroundColor: colors_1.BACKGROUND,
40
36
  };
41
- const targetHeight = 60;
42
- const targetWidth = (targetHeight * 16) / 9;
43
37
  const CurrentComposition = () => {
44
- const richTimelineContext = (0, react_1.useContext)(rich_timeline_1.RichTimelineContext);
45
38
  const video = remotion_1.Internals.useVideo();
46
- (0, react_1.useEffect)(() => {
47
- if (!video) {
48
- document.title = 'Remotion Preview';
49
- return;
50
- }
51
- document.title = `${video.id} / ${window.remotion_projectName} - Remotion Preview`;
52
- }, [video]);
53
39
  if (!video) {
54
40
  return (0, jsx_runtime_1.jsx)("div", { style: container });
55
41
  }
56
- const frameToDisplay = Math.floor(video.durationInFrames / 2);
57
- return ((0, jsx_runtime_1.jsx)("div", { style: container, children: (0, jsx_runtime_1.jsxs)("div", { style: row, children: [richTimelineContext.richTimeline ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Thumbnail_1.Thumbnail, { composition: video, targetHeight: targetHeight, targetWidth: targetWidth, frameToDisplay: frameToDisplay }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 })] })) : null, (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { style: title, children: video.id }), (0, jsx_runtime_1.jsxs)("div", { style: subtitle, children: [video.width, "x", video.height, (0, is_composition_still_1.isCompositionStill)(video) ? null : `, ${video.fps} FPS`] }), (0, is_composition_still_1.isCompositionStill)(video) ? ((0, jsx_runtime_1.jsx)("div", { style: subtitle, children: "Still" })) : ((0, jsx_runtime_1.jsxs)("div", { style: subtitle, children: ["Duration ", (0, render_frame_1.renderFrame)(video.durationInFrames, video.fps)] }))] })] }) }));
42
+ return ((0, jsx_runtime_1.jsx)("div", { style: container, children: (0, jsx_runtime_1.jsx)("div", { style: row, children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { style: title, children: video.id }), (0, jsx_runtime_1.jsxs)("div", { style: subtitle, children: [video.width, "x", video.height, (0, is_composition_still_1.isCompositionStill)(video) ? null : `, ${video.fps} FPS`] }), (0, is_composition_still_1.isCompositionStill)(video) ? ((0, jsx_runtime_1.jsx)("div", { style: subtitle, children: "Still" })) : ((0, jsx_runtime_1.jsxs)("div", { style: subtitle, children: ["Duration ", (0, render_frame_1.renderFrame)(video.durationInFrames, video.fps)] }))] }) }) }));
58
43
  };
59
44
  exports.CurrentComposition = CurrentComposition;
@@ -0,0 +1,3 @@
1
+ import type React from 'react';
2
+ export declare const TitleUpdater: React.FC;
3
+ export declare const CurrentCompositionKeybindings: React.FC;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CurrentCompositionKeybindings = exports.TitleUpdater = void 0;
4
+ const react_1 = require("react");
5
+ const remotion_1 = require("remotion");
6
+ const client_id_1 = require("../helpers/client-id");
7
+ const use_keybinding_1 = require("../helpers/use-keybinding");
8
+ const NotificationCenter_1 = require("./Notifications/NotificationCenter");
9
+ const TitleUpdater = () => {
10
+ const video = remotion_1.Internals.useVideo();
11
+ (0, react_1.useEffect)(() => {
12
+ if (!video) {
13
+ document.title = 'Remotion Preview';
14
+ return;
15
+ }
16
+ document.title = `${video.id} / ${window.remotion_projectName} - Remotion Preview`;
17
+ }, [video]);
18
+ return null;
19
+ };
20
+ exports.TitleUpdater = TitleUpdater;
21
+ const CurrentCompositionKeybindings = () => {
22
+ const keybindings = (0, use_keybinding_1.useKeybinding)();
23
+ const video = remotion_1.Internals.useVideo();
24
+ const { type } = (0, react_1.useContext)(client_id_1.PreviewServerConnectionCtx);
25
+ const openRenderModal = (0, react_1.useCallback)(() => {
26
+ if (!video) {
27
+ return;
28
+ }
29
+ if (type !== 'connected') {
30
+ (0, NotificationCenter_1.sendErrorNotification)('Preview server is offline');
31
+ return;
32
+ }
33
+ const renderButton = document.getElementById('render-modal-button');
34
+ renderButton.click();
35
+ }, [type, video]);
36
+ (0, react_1.useEffect)(() => {
37
+ const binding = keybindings.registerKeybinding({
38
+ event: 'keydown',
39
+ key: 'r',
40
+ commandCtrlKey: false,
41
+ callback: openRenderModal,
42
+ preventDefault: true,
43
+ triggerIfInputFieldFocused: false,
44
+ });
45
+ return () => {
46
+ binding.unregister();
47
+ };
48
+ }, [keybindings, openRenderModal]);
49
+ return null;
50
+ };
51
+ exports.CurrentCompositionKeybindings = CurrentCompositionKeybindings;
@@ -1,7 +1,4 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.Editor = void 0;
7
4
  const jsx_runtime_1 = require("react/jsx-runtime");
@@ -9,17 +6,14 @@ const react_1 = require("react");
9
6
  const remotion_1 = require("remotion");
10
7
  const colors_1 = require("../helpers/colors");
11
8
  const noop_1 = require("../helpers/noop");
12
- const modals_1 = require("../state/modals");
13
9
  const timeline_zoom_1 = require("../state/timeline-zoom");
14
10
  const z_index_1 = require("../state/z-index");
15
11
  const EditorContent_1 = require("./EditorContent");
16
12
  const FramePersistor_1 = require("./FramePersistor");
17
13
  const GlobalKeybindings_1 = require("./GlobalKeybindings");
18
- const NewComposition_1 = __importDefault(require("./NewComposition/NewComposition"));
14
+ const Modals_1 = require("./Modals");
19
15
  const NoRegisterRoot_1 = require("./NoRegisterRoot");
20
16
  const NotificationCenter_1 = require("./Notifications/NotificationCenter");
21
- const QuickSwitcher_1 = __importDefault(require("./QuickSwitcher/QuickSwitcher"));
22
- const UpdateModal_1 = require("./UpdateModal/UpdateModal");
23
17
  const ZoomPersistor_1 = require("./ZoomPersistor");
24
18
  const background = {
25
19
  backgroundColor: colors_1.BACKGROUND,
@@ -31,7 +25,6 @@ const background = {
31
25
  };
32
26
  const Editor = () => {
33
27
  const [Root, setRoot] = (0, react_1.useState)(() => remotion_1.Internals.getRoot());
34
- const { selectedModal: modalContextType } = (0, react_1.useContext)(modals_1.ModalsContext);
35
28
  const [waitForRoot] = (0, react_1.useState)(() => {
36
29
  if (Root) {
37
30
  return 0;
@@ -48,8 +41,6 @@ const Editor = () => {
48
41
  });
49
42
  return () => cleanup();
50
43
  }, [Root, waitForRoot]);
51
- return ((0, jsx_runtime_1.jsxs)(z_index_1.HigherZIndex, { onEscape: noop_1.noop, onOutsideClick: noop_1.noop, children: [(0, jsx_runtime_1.jsx)(timeline_zoom_1.TimelineZoomContext, { children: (0, jsx_runtime_1.jsxs)("div", { style: background, children: [Root === null ? null : (0, jsx_runtime_1.jsx)(Root, {}), (0, jsx_runtime_1.jsxs)(remotion_1.Internals.CanUseRemotionHooksProvider, { children: [(0, jsx_runtime_1.jsx)(FramePersistor_1.FramePersistor, {}), (0, jsx_runtime_1.jsx)(ZoomPersistor_1.ZoomPersistor, {}), Root === null ? (0, jsx_runtime_1.jsx)(NoRegisterRoot_1.NoRegisterRoot, {}) : (0, jsx_runtime_1.jsx)(EditorContent_1.EditorContent, {}), (0, jsx_runtime_1.jsx)(GlobalKeybindings_1.GlobalKeybindings, {})] }), (0, jsx_runtime_1.jsx)(NotificationCenter_1.NotificationCenter, {}), modalContextType && modalContextType.type === 'quick-switcher' && (
52
- // Quick switcher here because requires timeline zoom ctx
53
- (0, jsx_runtime_1.jsx)(QuickSwitcher_1.default, { invocationTimestamp: modalContextType.invocationTimestamp, initialMode: modalContextType.mode }))] }) }), modalContextType && modalContextType.type === 'new-comp' && ((0, jsx_runtime_1.jsx)(NewComposition_1.default, { initialCompType: modalContextType.compType })), modalContextType && modalContextType.type === 'update' && ((0, jsx_runtime_1.jsx)(UpdateModal_1.UpdateModal, { info: modalContextType.info }))] }));
44
+ return ((0, jsx_runtime_1.jsx)(z_index_1.HigherZIndex, { onEscape: noop_1.noop, onOutsideClick: noop_1.noop, children: (0, jsx_runtime_1.jsxs)(timeline_zoom_1.TimelineZoomContext, { children: [(0, jsx_runtime_1.jsxs)("div", { style: background, children: [Root === null ? null : (0, jsx_runtime_1.jsx)(Root, {}), (0, jsx_runtime_1.jsxs)(remotion_1.Internals.CanUseRemotionHooksProvider, { children: [(0, jsx_runtime_1.jsx)(FramePersistor_1.FramePersistor, {}), (0, jsx_runtime_1.jsx)(ZoomPersistor_1.ZoomPersistor, {}), Root === null ? (0, jsx_runtime_1.jsx)(NoRegisterRoot_1.NoRegisterRoot, {}) : (0, jsx_runtime_1.jsx)(EditorContent_1.EditorContent, {}), (0, jsx_runtime_1.jsx)(GlobalKeybindings_1.GlobalKeybindings, {})] }), (0, jsx_runtime_1.jsx)(NotificationCenter_1.NotificationCenter, {})] }), (0, jsx_runtime_1.jsx)(Modals_1.Modals, {})] }) }));
54
45
  };
55
46
  exports.Editor = Editor;
@@ -14,6 +14,6 @@ const EditorContent = () => {
14
14
  if (isStill) {
15
15
  return (0, jsx_runtime_1.jsx)(TopPanel_1.TopPanel, {});
16
16
  }
17
- return ((0, jsx_runtime_1.jsxs)(SplitterContainer_1.SplitterContainer, { orientation: "horizontal", id: "top-to-bottom", maxFlex: 0.9, minFlex: 0.2, defaultFlex: 0.75, children: [(0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { type: "flexer", children: (0, jsx_runtime_1.jsx)(TopPanel_1.TopPanel, {}) }), (0, jsx_runtime_1.jsx)(SplitterHandle_1.SplitterHandle, { allowToCollapse: false, onCollapse: noop }), (0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { type: "anti-flexer", children: (0, jsx_runtime_1.jsx)(Timeline_1.Timeline, {}) })] }));
17
+ return ((0, jsx_runtime_1.jsxs)(SplitterContainer_1.SplitterContainer, { orientation: "horizontal", id: "top-to-bottom", maxFlex: 0.9, minFlex: 0.2, defaultFlex: 0.75, children: [(0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { type: "flexer", children: (0, jsx_runtime_1.jsx)(TopPanel_1.TopPanel, {}) }), (0, jsx_runtime_1.jsx)(SplitterHandle_1.SplitterHandle, { allowToCollapse: "none", onCollapse: noop }), (0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { type: "anti-flexer", children: (0, jsx_runtime_1.jsx)(Timeline_1.Timeline, {}) })] }));
18
18
  };
19
19
  exports.EditorContent = EditorContent;
@@ -2,97 +2,21 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EditorContexts = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const player_1 = require("@remotion/player");
6
- const react_1 = require("react");
7
- const remotion_1 = require("remotion");
8
- const checkerboard_1 = require("../state/checkerboard");
9
- const editor_zoom_gestures_1 = require("../state/editor-zoom-gestures");
5
+ const client_id_1 = require("../helpers/client-id");
10
6
  const folders_1 = require("../state/folders");
11
7
  const highest_z_index_1 = require("../state/highest-z-index");
12
- const in_out_1 = require("../state/in-out");
13
8
  const keybindings_1 = require("../state/keybindings");
14
- const modals_1 = require("../state/modals");
15
- const mute_1 = require("../state/mute");
16
9
  const preview_size_1 = require("../state/preview-size");
17
- const rich_timeline_1 = require("../state/rich-timeline");
18
10
  const sidebar_1 = require("../state/sidebar");
11
+ const CheckerboardProvider_1 = require("./CheckerboardProvider");
12
+ const get_zod_if_possible_1 = require("./get-zod-if-possible");
13
+ const MediaVolumeProvider_1 = require("./MediaVolumeProvider");
14
+ const ModalsProvider_1 = require("./ModalsProvider");
15
+ const PlayerEmitterContext_1 = require("./PlayerEmitterContext");
16
+ const context_1 = require("./RenderQueue/context");
17
+ const SetTimelineInOutProvider_1 = require("./SetTimelineInOutProvider");
18
+ const ZoomGesturesProvider_1 = require("./ZoomGesturesProvider");
19
19
  const EditorContexts = ({ children }) => {
20
- const [inAndOutFrames, setInAndOutFrames] = (0, react_1.useState)({
21
- inFrame: null,
22
- outFrame: null,
23
- });
24
- const timelineInOutContextValue = (0, react_1.useMemo)(() => {
25
- return inAndOutFrames;
26
- }, [inAndOutFrames]);
27
- const [emitter] = (0, react_1.useState)(() => new player_1.PlayerInternals.PlayerEmitter());
28
- const setTimelineInOutContextValue = (0, react_1.useMemo)(() => {
29
- return {
30
- setInAndOutFrames,
31
- };
32
- }, []);
33
- const [checkerboard, setCheckerboardState] = (0, react_1.useState)(() => (0, checkerboard_1.loadCheckerboardOption)());
34
- const setCheckerboard = (0, react_1.useCallback)((newValue) => {
35
- setCheckerboardState((prevState) => {
36
- const newVal = newValue(prevState);
37
- (0, checkerboard_1.persistCheckerboardOption)(newVal);
38
- return newVal;
39
- });
40
- }, []);
41
- const [editorZoomGestures, setEditorZoomGesturesState] = (0, react_1.useState)(() => (0, editor_zoom_gestures_1.loadEditorZoomGesturesOption)());
42
- const setEditorZoomGestures = (0, react_1.useCallback)((newValue) => {
43
- setEditorZoomGesturesState((prevState) => {
44
- const newVal = newValue(prevState);
45
- (0, editor_zoom_gestures_1.persistEditorZoomGesturesOption)(newVal);
46
- return newVal;
47
- });
48
- }, []);
49
- const [richTimeline, setRichTimelineState] = (0, react_1.useState)(() => (0, rich_timeline_1.loadRichTimelineOption)());
50
- const setRichTimeline = (0, react_1.useCallback)((newValue) => {
51
- setRichTimelineState((prevState) => {
52
- const newVal = newValue(prevState);
53
- (0, rich_timeline_1.persistRichTimelineOption)(newVal);
54
- return newVal;
55
- });
56
- }, []);
57
- const [mediaMuted, setMediaMuted] = (0, react_1.useState)(() => (0, mute_1.loadMuteOption)());
58
- const [mediaVolume, setMediaVolume] = (0, react_1.useState)(1);
59
- const [modalContextType, setModalContextType] = (0, react_1.useState)(null);
60
- const checkerboardCtx = (0, react_1.useMemo)(() => {
61
- return {
62
- checkerboard,
63
- setCheckerboard,
64
- };
65
- }, [checkerboard, setCheckerboard]);
66
- const editorZoomGesturesCtx = (0, react_1.useMemo)(() => {
67
- return {
68
- editorZoomGestures,
69
- setEditorZoomGestures,
70
- };
71
- }, [editorZoomGestures, setEditorZoomGestures]);
72
- const richTimelineCtx = (0, react_1.useMemo)(() => {
73
- return {
74
- richTimeline,
75
- setRichTimeline,
76
- };
77
- }, [richTimeline, setRichTimeline]);
78
- const mediaVolumeContextValue = (0, react_1.useMemo)(() => {
79
- return {
80
- mediaMuted,
81
- mediaVolume,
82
- };
83
- }, [mediaMuted, mediaVolume]);
84
- const setMediaVolumeContextValue = (0, react_1.useMemo)(() => {
85
- return {
86
- setMediaMuted,
87
- setMediaVolume,
88
- };
89
- }, []);
90
- const modalsContext = (0, react_1.useMemo)(() => {
91
- return {
92
- selectedModal: modalContextType,
93
- setSelectedModal: setModalContextType,
94
- };
95
- }, [modalContextType]);
96
- return ((0, jsx_runtime_1.jsx)(keybindings_1.KeybindingContextProvider, { children: (0, jsx_runtime_1.jsx)(rich_timeline_1.RichTimelineContext.Provider, { value: richTimelineCtx, children: (0, jsx_runtime_1.jsx)(checkerboard_1.CheckerboardContext.Provider, { value: checkerboardCtx, children: (0, jsx_runtime_1.jsx)(editor_zoom_gestures_1.EditorZoomGesturesContext.Provider, { value: editorZoomGesturesCtx, children: (0, jsx_runtime_1.jsx)(preview_size_1.PreviewSizeProvider, { children: (0, jsx_runtime_1.jsx)(modals_1.ModalsContext.Provider, { value: modalsContext, children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.MediaVolumeContext.Provider, { value: mediaVolumeContextValue, children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.SetMediaVolumeContext.Provider, { value: setMediaVolumeContextValue, children: (0, jsx_runtime_1.jsx)(player_1.PlayerInternals.PlayerEventEmitterContext.Provider, { value: emitter, children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarContextProvider, { children: (0, jsx_runtime_1.jsx)(folders_1.FolderContextProvider, { children: (0, jsx_runtime_1.jsx)(highest_z_index_1.HighestZIndexProvider, { children: (0, jsx_runtime_1.jsx)(in_out_1.TimelineInOutContext.Provider, { value: timelineInOutContextValue, children: (0, jsx_runtime_1.jsx)(in_out_1.SetTimelineInOutContext.Provider, { value: setTimelineInOutContextValue, children: children }) }) }) }) }) }) }) }) }) }) }) }) }) }));
20
+ return ((0, jsx_runtime_1.jsx)(get_zod_if_possible_1.ZodProvider, { children: (0, jsx_runtime_1.jsx)(client_id_1.PreviewServerConnection, { children: (0, jsx_runtime_1.jsx)(context_1.RenderQueueContextProvider, { children: (0, jsx_runtime_1.jsx)(keybindings_1.KeybindingContextProvider, { children: (0, jsx_runtime_1.jsx)(CheckerboardProvider_1.CheckerboardProvider, { children: (0, jsx_runtime_1.jsx)(ZoomGesturesProvider_1.ZoomGesturesProvider, { children: (0, jsx_runtime_1.jsx)(preview_size_1.PreviewSizeProvider, { children: (0, jsx_runtime_1.jsx)(ModalsProvider_1.ModalsProvider, { children: (0, jsx_runtime_1.jsx)(MediaVolumeProvider_1.MediaVolumeProvider, { children: (0, jsx_runtime_1.jsx)(PlayerEmitterContext_1.PlayerEmitterContext, { children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarContextProvider, { children: (0, jsx_runtime_1.jsx)(folders_1.FolderContextProvider, { children: (0, jsx_runtime_1.jsx)(highest_z_index_1.HighestZIndexProvider, { children: (0, jsx_runtime_1.jsx)(SetTimelineInOutProvider_1.SetTimelineInOutProvider, { children: children }) }) }) }) }) }) }) }) }) }) }) }) }) }));
97
21
  };
98
22
  exports.EditorContexts = EditorContexts;
@@ -21,6 +21,7 @@ const GlobalKeybindings = () => {
21
21
  },
22
22
  commandCtrlKey: false,
23
23
  preventDefault: true,
24
+ triggerIfInputFieldFocused: false,
24
25
  });
25
26
  const cmdKKey = keybindings.registerKeybinding({
26
27
  event: 'keydown',
@@ -32,6 +33,7 @@ const GlobalKeybindings = () => {
32
33
  invocationTimestamp: Date.now(),
33
34
  });
34
35
  },
36
+ triggerIfInputFieldFocused: true,
35
37
  commandCtrlKey: true,
36
38
  preventDefault: true,
37
39
  });
@@ -43,6 +45,7 @@ const GlobalKeybindings = () => {
43
45
  },
44
46
  commandCtrlKey: true,
45
47
  preventDefault: true,
48
+ triggerIfInputFieldFocused: false,
46
49
  });
47
50
  const questionMark = keybindings.registerKeybinding({
48
51
  event: 'keypress',
@@ -56,6 +59,7 @@ const GlobalKeybindings = () => {
56
59
  },
57
60
  commandCtrlKey: false,
58
61
  preventDefault: true,
62
+ triggerIfInputFieldFocused: false,
59
63
  });
60
64
  return () => {
61
65
  nKey.unregister();
@@ -1,4 +1,4 @@
1
1
  import type React from 'react';
2
- import type { TComposition } from 'remotion';
3
- export declare const useSelectComposition: () => (c: TComposition, push: boolean) => void;
2
+ import type { AnyComposition } from 'remotion';
3
+ export declare const useSelectComposition: () => (c: AnyComposition, push: boolean) => void;
4
4
  export declare const InitialCompositionLoader: React.FC;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export declare type RenderInlineAction = (color: string) => React.ReactNode;
3
+ export declare const InlineAction: React.FC<{
4
+ onClick: React.MouseEventHandler<HTMLButtonElement>;
5
+ disabled?: boolean;
6
+ renderAction: RenderInlineAction;
7
+ }>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InlineAction = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const colors_1 = require("../helpers/colors");
7
+ const z_index_1 = require("../state/z-index");
8
+ const InlineAction = ({ renderAction, onClick, disabled }) => {
9
+ const { tabIndex } = (0, z_index_1.useZIndex)();
10
+ const [hovered, setHovered] = (0, react_1.useState)(false);
11
+ const onPointerEnter = (0, react_1.useCallback)(() => {
12
+ setHovered(true);
13
+ }, []);
14
+ const onPointerLeave = (0, react_1.useCallback)(() => {
15
+ setHovered(false);
16
+ }, []);
17
+ const style = (0, react_1.useMemo)(() => {
18
+ return {
19
+ border: 'none',
20
+ background: (0, colors_1.getBackgroundFromHoverState)({ hovered, selected: false }),
21
+ height: 24,
22
+ width: 24,
23
+ display: 'inline-flex',
24
+ justifyContent: 'center',
25
+ alignItems: 'center',
26
+ borderRadius: 3,
27
+ };
28
+ }, [hovered]);
29
+ return ((0, jsx_runtime_1.jsx)("button", { type: "button", onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, onClick: onClick, style: style, tabIndex: tabIndex, disabled: disabled, children: renderAction(hovered ? 'white' : colors_1.LIGHT_TEXT) }));
30
+ };
31
+ exports.InlineAction = InlineAction;