@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
@@ -5,6 +5,7 @@ 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 use_keybinding_1 = require("../../helpers/use-keybinding");
8
+ const is_menu_item_1 = require("../Menu/is-menu-item");
8
9
  const MenuDivider_1 = require("../Menu/MenuDivider");
9
10
  const MenuSubItem_1 = require("../Menu/MenuSubItem");
10
11
  const styles_1 = require("../Menu/styles");
@@ -14,6 +15,11 @@ const container = {
14
15
  paddingBottom: styles_1.MENU_VERTICAL_PADDING,
15
16
  border: `${BORDER_SIZE}px solid ${colors_1.INPUT_BORDER_COLOR_UNHOVERED}`,
16
17
  marginLeft: 0 - BORDER_SIZE,
18
+ overflowY: 'auto',
19
+ overflowX: 'hidden',
20
+ minWidth: 200,
21
+ maxWidth: styles_1.MAX_MENU_WIDTH,
22
+ maxHeight: 600,
17
23
  };
18
24
  const MenuContent = ({ onHide, values, preselectIndex, onNextMenu, onPreviousMenu, leaveLeftSpace, topItemCanBeUnselected, }) => {
19
25
  const keybindings = (0, use_keybinding_1.useKeybinding)();
@@ -108,6 +114,7 @@ const MenuContent = ({ onHide, values, preselectIndex, onNextMenu, onPreviousMen
108
114
  callback: onEscape,
109
115
  commandCtrlKey: false,
110
116
  preventDefault: true,
117
+ triggerIfInputFieldFocused: false,
111
118
  });
112
119
  const rightBinding = keybindings.registerKeybinding({
113
120
  event: 'keydown',
@@ -115,6 +122,7 @@ const MenuContent = ({ onHide, values, preselectIndex, onNextMenu, onPreviousMen
115
122
  commandCtrlKey: false,
116
123
  callback: onArrowRight,
117
124
  preventDefault: true,
125
+ triggerIfInputFieldFocused: false,
118
126
  });
119
127
  const leftBinding = keybindings.registerKeybinding({
120
128
  event: 'keydown',
@@ -122,6 +130,7 @@ const MenuContent = ({ onHide, values, preselectIndex, onNextMenu, onPreviousMen
122
130
  key: 'ArrowLeft',
123
131
  callback: onPreviousMenu,
124
132
  preventDefault: true,
133
+ triggerIfInputFieldFocused: false,
125
134
  });
126
135
  const downBinding = keybindings.registerKeybinding({
127
136
  event: 'keydown',
@@ -129,6 +138,7 @@ const MenuContent = ({ onHide, values, preselectIndex, onNextMenu, onPreviousMen
129
138
  commandCtrlKey: false,
130
139
  callback: onArrowDown,
131
140
  preventDefault: true,
141
+ triggerIfInputFieldFocused: false,
132
142
  });
133
143
  const upBinding = keybindings.registerKeybinding({
134
144
  event: 'keydown',
@@ -136,6 +146,7 @@ const MenuContent = ({ onHide, values, preselectIndex, onNextMenu, onPreviousMen
136
146
  callback: onArrowUp,
137
147
  commandCtrlKey: false,
138
148
  preventDefault: true,
149
+ triggerIfInputFieldFocused: false,
139
150
  });
140
151
  const enterBinding = keybindings.registerKeybinding({
141
152
  event: 'keydown',
@@ -143,6 +154,7 @@ const MenuContent = ({ onHide, values, preselectIndex, onNextMenu, onPreviousMen
143
154
  callback: onEnter,
144
155
  commandCtrlKey: false,
145
156
  preventDefault: true,
157
+ triggerIfInputFieldFocused: false,
146
158
  });
147
159
  const spaceBinding = keybindings.registerKeybinding({
148
160
  event: 'keyup',
@@ -150,6 +162,7 @@ const MenuContent = ({ onHide, values, preselectIndex, onNextMenu, onPreviousMen
150
162
  callback: onEnter,
151
163
  commandCtrlKey: false,
152
164
  preventDefault: true,
165
+ triggerIfInputFieldFocused: false,
153
166
  });
154
167
  return () => {
155
168
  escapeBinding.unregister();
@@ -203,7 +216,7 @@ const MenuContent = ({ onHide, values, preselectIndex, onNextMenu, onPreviousMen
203
216
  current.addEventListener('pointerleave', onPointerLeave);
204
217
  return () => current.removeEventListener('pointerleave', onPointerLeave);
205
218
  }, [onHide, subMenuActivated]);
206
- return ((0, jsx_runtime_1.jsx)("div", { ref: containerRef, style: container, children: values.map((item) => {
219
+ return ((0, jsx_runtime_1.jsx)("div", { ref: containerRef, style: container, className: is_menu_item_1.VERTICAL_SCROLLBAR_CLASSNAME, children: values.map((item) => {
207
220
  if (item.type === 'divider') {
208
221
  return (0, jsx_runtime_1.jsx)(MenuDivider_1.MenuDivider, {}, item.id);
209
222
  }
@@ -16,8 +16,8 @@ const NewCompDuration = ({ durationInFrames, setDurationInFrames, fps }) => {
16
16
  setDurationInFrames(String(newVal));
17
17
  }, [setDurationInFrames]);
18
18
  const compDurationErrMessage = (0, validate_new_comp_data_1.validateCompositionDuration)(durationInFrames);
19
- return ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("label", { children: (0, jsx_runtime_1.jsxs)(layout_1.Row, { align: "center", children: [(0, jsx_runtime_1.jsx)("div", { style: new_comp_layout_1.leftLabel, children: " Duration in frames" }), (0, jsx_runtime_1.jsxs)("div", { style: new_comp_layout_1.inputArea, children: [(0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { type: "number", value: durationInFrames, onTextChange: onDurationInFramesChanged, placeholder: "Duration (frames)", name: "durationInFrames", min: 1, step: 1, required: true,
19
+ return ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("label", { children: (0, jsx_runtime_1.jsxs)(layout_1.Row, { align: "center", children: [(0, jsx_runtime_1.jsx)("div", { style: new_comp_layout_1.leftLabel, children: " Duration in frames" }), (0, jsx_runtime_1.jsxs)("div", { style: new_comp_layout_1.inputArea, children: [(0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { type: "number", value: durationInFrames, onTextChange: onDurationInFramesChanged, placeholder: "Duration (frames)", name: "durationInFrames", min: 1, step: 1, required: true, status: "ok",
20
20
  // Hitting Promise.all() limit in Chrome
21
- max: 300000, onValueChange: onDurationChangedDirectly }), compDurationErrMessage ? ((0, jsx_runtime_1.jsx)(ValidationMessage_1.ValidationMessage, { message: compDurationErrMessage })) : null] }), (0, jsx_runtime_1.jsxs)("span", { style: new_comp_layout_1.rightLabel, children: [(Number(durationInFrames) / Number(fps)).toFixed(2), "sec"] })] }) }) }));
21
+ max: 300000, onValueChange: onDurationChangedDirectly, rightAlign: false }), compDurationErrMessage ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1, block: true }), (0, jsx_runtime_1.jsx)(ValidationMessage_1.ValidationMessage, { align: "flex-start", message: compDurationErrMessage, type: "error" })] })) : null] }), (0, jsx_runtime_1.jsxs)("span", { style: new_comp_layout_1.rightLabel, children: [(Number(durationInFrames) / Number(fps)).toFixed(2), "sec"] })] }) }) }));
22
22
  };
23
23
  exports.NewCompDuration = NewCompDuration;
@@ -28,12 +28,12 @@ const left = {
28
28
  fontSize: 13,
29
29
  };
30
30
  const panelRight = {
31
- width: 400,
32
31
  backgroundColor: 'black',
33
32
  display: 'flex',
34
33
  justifyContent: 'center',
35
34
  alignItems: 'center',
36
35
  position: 'relative',
36
+ width: 400,
37
37
  };
38
38
  const pre = {
39
39
  fontSize: 17,
@@ -67,8 +67,11 @@ const NewComposition = (props) => {
67
67
  return {
68
68
  flexDirection: 'row',
69
69
  display: 'flex',
70
- width: 950,
71
- height: type === 'composition' ? 450 : 300,
70
+ width: (0, ModalContainer_1.getMaxModalWidth)(950),
71
+ height: type === 'composition'
72
+ ? (0, ModalContainer_1.getMaxModalHeight)(490)
73
+ : (0, ModalContainer_1.getMaxModalHeight)(340),
74
+ overflow: 'hidden',
72
75
  };
73
76
  }, [type]);
74
77
  const [lockedAspectRatio, setLockedAspectRatio] = (0, react_1.useState)((0, aspect_ratio_locked_1.loadAspectRatioOption)() ? Number(size.width) / Number(size.height) : null);
@@ -180,7 +183,7 @@ const NewComposition = (props) => {
180
183
  },
181
184
  ];
182
185
  }, [onTypeChanged]);
183
- return ((0, jsx_runtime_1.jsxs)(ModalContainer_1.ModalContainer, { onOutsideClick: onQuit, onEscape: onQuit, children: [(0, jsx_runtime_1.jsx)(ModalHeader_1.NewCompHeader, { title: "New composition" }), (0, jsx_runtime_1.jsxs)("div", { style: panelContent, children: [(0, jsx_runtime_1.jsxs)("div", { style: left, children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 3 }), (0, jsx_runtime_1.jsxs)("form", { children: [(0, jsx_runtime_1.jsxs)("label", { children: [(0, jsx_runtime_1.jsxs)(layout_1.Row, { align: "center", children: [(0, jsx_runtime_1.jsx)("div", { style: new_comp_layout_1.leftLabel, children: "Type" }), (0, jsx_runtime_1.jsx)("div", { style: new_comp_layout_1.inputArea, children: (0, jsx_runtime_1.jsx)(ComboBox_1.Combobox, { title: "Type of composition", style: comboBoxStyle, values: typeValues, selectedId: type }) })] }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1 }), (0, jsx_runtime_1.jsxs)(layout_1.Row, { align: "center", children: [(0, jsx_runtime_1.jsx)("div", { style: new_comp_layout_1.leftLabel, children: "Name" }), (0, jsx_runtime_1.jsxs)("div", { style: new_comp_layout_1.inputArea, children: [(0, jsx_runtime_1.jsx)(RemInput_1.RemotionInput, { value: name, onChange: onNameChange, type: "text", placeholder: "Composition name" }), compNameErrMessage ? ((0, jsx_runtime_1.jsx)(ValidationMessage_1.ValidationMessage, { message: compNameErrMessage })) : null] })] })] }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1 }), (0, jsx_runtime_1.jsxs)(layout_1.Row, { align: "center", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("label", { children: (0, jsx_runtime_1.jsxs)(layout_1.Row, { align: "center", children: [(0, jsx_runtime_1.jsx)("div", { style: new_comp_layout_1.leftLabel, children: "Width" }), (0, jsx_runtime_1.jsxs)("div", { style: new_comp_layout_1.inputArea, children: [(0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { type: "number", value: size.width, placeholder: "Width (px)", onTextChange: onWidthChanged, name: "width", step: 2, min: 2, required: true, max: 100000000, onValueChange: onWidthDirectlyChanged }), compWidthErrMessage ? ((0, jsx_runtime_1.jsx)(ValidationMessage_1.ValidationMessage, { message: compWidthErrMessage })) : null] })] }) }) }), (0, jsx_runtime_1.jsx)("div", {}), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1 }), (0, jsx_runtime_1.jsx)("div", {}), (0, jsx_runtime_1.jsx)("label", { children: (0, jsx_runtime_1.jsxs)(layout_1.Row, { align: "center", children: [(0, jsx_runtime_1.jsx)("div", { style: new_comp_layout_1.leftLabel, children: "Height" }), (0, jsx_runtime_1.jsxs)("div", { style: new_comp_layout_1.inputArea, children: [(0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { type: "number", value: size.height, onTextChange: onHeightChanged, placeholder: "Height (px)", name: "height", step: 2, required: true, min: 2, max: 100000000, onValueChange: onHeightDirectlyChanged }), compHeightErrMessage ? ((0, jsx_runtime_1.jsx)(ValidationMessage_1.ValidationMessage, { message: compHeightErrMessage })) : null] })] }) })] }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(NewCompAspectRatio_1.NewCompAspectRatio, { width: Number(size.width), height: Number(size.height), aspectRatioLocked: lockedAspectRatio, setAspectRatioLocked: setAspectRatioLocked }) })] }), (0, jsx_runtime_1.jsx)("div", {}), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1 }), type === 'composition' ? ((0, jsx_runtime_1.jsx)(NewCompDuration_1.NewCompDuration, { durationInFrames: durationInFrames, fps: selectedFrameRate, setDurationInFrames: setDurationInFrames })) : null, (0, jsx_runtime_1.jsx)("div", {}), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("div", {}), type === 'composition' ? ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", {}), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1 }), (0, jsx_runtime_1.jsxs)("label", { children: [(0, jsx_runtime_1.jsx)("div", { style: new_comp_layout_1.leftLabel, children: "Framerate" }), (0, jsx_runtime_1.jsx)(ComboBox_1.Combobox, { title: "Framerate", style: comboBoxStyle, values: items, selectedId: selectedFrameRate })] })] })) : null] })] }), (0, jsx_runtime_1.jsxs)("div", { style: panelRight, children: [(0, jsx_runtime_1.jsx)("pre", { style: pre, children: (0, NewCompCode_1.getNewCompositionCode)({
186
+ return ((0, jsx_runtime_1.jsxs)(ModalContainer_1.ModalContainer, { onOutsideClick: onQuit, onEscape: onQuit, children: [(0, jsx_runtime_1.jsx)(ModalHeader_1.NewCompHeader, { title: "New composition" }), (0, jsx_runtime_1.jsxs)("div", { style: panelContent, children: [(0, jsx_runtime_1.jsxs)("div", { style: left, children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 3 }), (0, jsx_runtime_1.jsxs)("form", { children: [(0, jsx_runtime_1.jsxs)("label", { children: [(0, jsx_runtime_1.jsxs)(layout_1.Row, { align: "center", children: [(0, jsx_runtime_1.jsx)("div", { style: new_comp_layout_1.leftLabel, children: "Type" }), (0, jsx_runtime_1.jsx)("div", { style: new_comp_layout_1.inputArea, children: (0, jsx_runtime_1.jsx)(ComboBox_1.Combobox, { title: "Type of composition", style: comboBoxStyle, values: typeValues, selectedId: type }) })] }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1 }), (0, jsx_runtime_1.jsxs)(layout_1.Row, { align: "center", children: [(0, jsx_runtime_1.jsx)("div", { style: new_comp_layout_1.leftLabel, children: "Name" }), (0, jsx_runtime_1.jsxs)("div", { style: new_comp_layout_1.inputArea, children: [(0, jsx_runtime_1.jsx)(RemInput_1.RemotionInput, { value: name, onChange: onNameChange, type: "text", placeholder: "Composition name", status: "ok", rightAlign: false }), compNameErrMessage ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1, block: true }), (0, jsx_runtime_1.jsx)(ValidationMessage_1.ValidationMessage, { align: "flex-start", message: compNameErrMessage, type: "error" })] })) : null] })] })] }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1 }), (0, jsx_runtime_1.jsxs)(layout_1.Row, { align: "center", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("label", { children: (0, jsx_runtime_1.jsxs)(layout_1.Row, { align: "center", children: [(0, jsx_runtime_1.jsx)("div", { style: new_comp_layout_1.leftLabel, children: "Width" }), (0, jsx_runtime_1.jsxs)("div", { style: new_comp_layout_1.inputArea, children: [(0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { type: "number", value: size.width, placeholder: "Width", onTextChange: onWidthChanged, name: "width", step: 2, min: 2, required: true, status: "ok", formatter: (w) => `${w}px`, max: 100000000, onValueChange: onWidthDirectlyChanged, rightAlign: false }), compWidthErrMessage ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1, block: true }), (0, jsx_runtime_1.jsx)(ValidationMessage_1.ValidationMessage, { align: "flex-start", message: compWidthErrMessage, type: "error" })] })) : null] })] }) }) }), (0, jsx_runtime_1.jsx)("div", {}), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1 }), (0, jsx_runtime_1.jsx)("div", {}), (0, jsx_runtime_1.jsx)("label", { children: (0, jsx_runtime_1.jsxs)(layout_1.Row, { align: "center", children: [(0, jsx_runtime_1.jsx)("div", { style: new_comp_layout_1.leftLabel, children: "Height" }), (0, jsx_runtime_1.jsxs)("div", { style: new_comp_layout_1.inputArea, children: [(0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { type: "number", value: size.height, onTextChange: onHeightChanged, placeholder: "Height", name: "height", step: 2, required: true, formatter: (h) => `${h}px`, min: 2, status: "ok", max: 100000000, onValueChange: onHeightDirectlyChanged, rightAlign: false }), compHeightErrMessage ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1, block: true }), (0, jsx_runtime_1.jsx)(ValidationMessage_1.ValidationMessage, { align: "flex-start", message: compHeightErrMessage, type: "error" })] })) : null] })] }) })] }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(NewCompAspectRatio_1.NewCompAspectRatio, { width: Number(size.width), height: Number(size.height), aspectRatioLocked: lockedAspectRatio, setAspectRatioLocked: setAspectRatioLocked }) })] }), (0, jsx_runtime_1.jsx)("div", {}), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1 }), type === 'composition' ? ((0, jsx_runtime_1.jsx)(NewCompDuration_1.NewCompDuration, { durationInFrames: durationInFrames, fps: selectedFrameRate, setDurationInFrames: setDurationInFrames })) : null, (0, jsx_runtime_1.jsx)("div", {}), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("div", {}), type === 'composition' ? ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", {}), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1 }), (0, jsx_runtime_1.jsxs)("label", { children: [(0, jsx_runtime_1.jsx)("div", { style: new_comp_layout_1.leftLabel, children: "Framerate" }), (0, jsx_runtime_1.jsx)(ComboBox_1.Combobox, { title: "Framerate", style: comboBoxStyle, values: items, selectedId: selectedFrameRate })] })] })) : null] })] }), (0, jsx_runtime_1.jsxs)("div", { style: panelRight, children: [(0, jsx_runtime_1.jsx)("pre", { style: pre, children: (0, NewCompCode_1.getNewCompositionCode)({
184
187
  type,
185
188
  durationInFrames: Number(durationInFrames),
186
189
  fps: Number(selectedFrameRate),
@@ -196,6 +199,6 @@ const NewComposition = (props) => {
196
199
  width: Number(size.width),
197
200
  name,
198
201
  raw: true,
199
- }) })] })] })] })] }));
202
+ }) })] })] }), ' '] })] }));
200
203
  };
201
204
  exports.default = NewComposition;
@@ -1,5 +1,17 @@
1
+ import type { PropsWithChildren } from 'react';
1
2
  import React from 'react';
2
- declare type Props = React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>;
3
+ export declare type RemInputStatus = 'error' | 'warning' | 'ok';
4
+ declare type Props = React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement> & {
5
+ status: RemInputStatus;
6
+ rightAlign: boolean;
7
+ };
8
+ export declare const INPUT_HORIZONTAL_PADDING = 8;
9
+ export declare const RightAlignInput: React.FC<PropsWithChildren>;
3
10
  export declare const inputBaseStyle: React.CSSProperties;
4
- export declare const RemotionInput: React.ForwardRefExoticComponent<Pick<Props, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & React.RefAttributes<HTMLInputElement>>;
11
+ export declare const getInputBorderColor: ({ status, isFocused, isHovered, }: {
12
+ status: 'error' | 'warning' | 'ok';
13
+ isFocused: boolean;
14
+ isHovered: boolean;
15
+ }) => "hsla(0, 0%, 100%, 0.15)" | "rgba(0, 0, 0, 0.6)" | "rgba(255, 255, 255, 0.05)" | "#ff3232" | "#f1c40f";
16
+ export declare const RemotionInput: React.ForwardRefExoticComponent<Pick<Props, "key" | "status" | "rightAlign" | keyof React.InputHTMLAttributes<HTMLInputElement>> & React.RefAttributes<HTMLInputElement>>;
5
17
  export {};
@@ -1,18 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RemotionInput = exports.inputBaseStyle = void 0;
3
+ exports.RemotionInput = exports.getInputBorderColor = exports.inputBaseStyle = exports.RightAlignInput = exports.INPUT_HORIZONTAL_PADDING = void 0;
4
4
  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 z_index_1 = require("../../state/z-index");
8
+ exports.INPUT_HORIZONTAL_PADDING = 8;
9
+ const aligner = {
10
+ marginRight: -exports.INPUT_HORIZONTAL_PADDING,
11
+ };
12
+ const RightAlignInput = ({ children }) => {
13
+ return (0, jsx_runtime_1.jsx)("div", { style: aligner, children: children });
14
+ };
15
+ exports.RightAlignInput = RightAlignInput;
8
16
  exports.inputBaseStyle = {
9
- padding: '8px 10px',
17
+ padding: `${exports.INPUT_HORIZONTAL_PADDING}px 10px`,
10
18
  color: 'white',
11
19
  borderStyle: 'solid',
12
20
  borderWidth: 1,
13
21
  fontSize: 14,
14
22
  };
15
- const RemInputForwardRef = (props, ref) => {
23
+ const getInputBorderColor = ({ status, isFocused, isHovered, }) => status === 'warning'
24
+ ? colors_1.WARNING_COLOR
25
+ : status === 'error'
26
+ ? colors_1.FAIL_COLOR
27
+ : isFocused
28
+ ? colors_1.SELECTED_BACKGROUND
29
+ : isHovered
30
+ ? colors_1.INPUT_BORDER_COLOR_HOVERED
31
+ : colors_1.INPUT_BORDER_COLOR_UNHOVERED;
32
+ exports.getInputBorderColor = getInputBorderColor;
33
+ const RemInputForwardRef = ({ status, rightAlign, ...props }, ref) => {
16
34
  const [isFocused, setIsFocused] = (0, react_1.useState)(false);
17
35
  const [isHovered, setIsHovered] = (0, react_1.useState)(false);
18
36
  const inputRef = (0, react_1.useRef)(null);
@@ -23,14 +41,11 @@ const RemInputForwardRef = (props, ref) => {
23
41
  backgroundColor: colors_1.INPUT_BACKGROUND,
24
42
  ...exports.inputBaseStyle,
25
43
  width: '100%',
26
- borderColor: isFocused
27
- ? colors_1.SELECTED_BACKGROUND
28
- : isHovered
29
- ? colors_1.INPUT_BORDER_COLOR_HOVERED
30
- : colors_1.INPUT_BORDER_COLOR_UNHOVERED,
44
+ borderColor: (0, exports.getInputBorderColor)({ isFocused, isHovered, status }),
45
+ textAlign: rightAlign ? 'right' : 'left',
31
46
  ...((_a = props.style) !== null && _a !== void 0 ? _a : {}),
32
47
  };
33
- }, [isFocused, isHovered, props.style]);
48
+ }, [isFocused, isHovered, rightAlign, props.style, status]);
34
49
  (0, react_1.useImperativeHandle)(ref, () => {
35
50
  return inputRef.current;
36
51
  }, []);
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { RemInputStatus } from './RemInput';
3
+ declare type Props = React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement> & {
4
+ status: RemInputStatus;
5
+ };
6
+ export declare const RemInputTypeColor: React.ForwardRefExoticComponent<Pick<Props, "key" | "status" | keyof React.InputHTMLAttributes<HTMLInputElement>> & React.RefAttributes<HTMLInputElement>>;
7
+ export {};
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RemInputTypeColor = 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 RemInput_1 = require("./RemInput");
9
+ const inputBaseStyle = {
10
+ padding: 0,
11
+ borderStyle: 'solid',
12
+ borderWidth: 1,
13
+ };
14
+ const RemInputTypeColorForwardRef = ({ status, ...props }, ref) => {
15
+ const [isFocused, setIsFocused] = (0, react_1.useState)(false);
16
+ const [isHovered, setIsHovered] = (0, react_1.useState)(false);
17
+ const inputRef = (0, react_1.useRef)(null);
18
+ const { tabIndex } = (0, z_index_1.useZIndex)();
19
+ const style = (0, react_1.useMemo)(() => {
20
+ var _a;
21
+ return {
22
+ backgroundColor: colors_1.INPUT_BACKGROUND,
23
+ ...inputBaseStyle,
24
+ borderColor: (0, RemInput_1.getInputBorderColor)({ isFocused, isHovered, status }),
25
+ ...((_a = props.style) !== null && _a !== void 0 ? _a : {}),
26
+ };
27
+ }, [isFocused, isHovered, props.style, status]);
28
+ (0, react_1.useImperativeHandle)(ref, () => {
29
+ return inputRef.current;
30
+ }, []);
31
+ (0, react_1.useEffect)(() => {
32
+ if (!inputRef.current) {
33
+ return;
34
+ }
35
+ const { current } = inputRef;
36
+ const onFocus = () => setIsFocused(true);
37
+ const onBlur = () => setIsFocused(false);
38
+ const onMouseEnter = () => setIsHovered(true);
39
+ const onMouseLeave = () => setIsHovered(false);
40
+ current.addEventListener('focus', onFocus);
41
+ current.addEventListener('blur', onBlur);
42
+ current.addEventListener('mouseenter', onMouseEnter);
43
+ current.addEventListener('mouseleave', onMouseLeave);
44
+ return () => {
45
+ current.removeEventListener('focus', onFocus);
46
+ current.removeEventListener('blur', onBlur);
47
+ current.removeEventListener('mouseenter', onMouseEnter);
48
+ current.removeEventListener('mouseleave', onMouseLeave);
49
+ };
50
+ }, [inputRef]);
51
+ return ((0, jsx_runtime_1.jsx)("input", { ref: inputRef, type: "color", tabIndex: tabIndex, ...props, style: style }));
52
+ };
53
+ exports.RemInputTypeColor = (0, react_1.forwardRef)(RemInputTypeColorForwardRef);
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ declare type Props = React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement> & {
3
+ status: 'error' | 'warning' | 'ok';
4
+ };
5
+ export declare const inputBaseStyle: React.CSSProperties;
6
+ export declare const RemTextarea: React.ForwardRefExoticComponent<Pick<Props, "key" | "status" | keyof React.InputHTMLAttributes<HTMLTextAreaElement>> & React.RefAttributes<HTMLTextAreaElement>>;
7
+ export {};
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RemTextarea = exports.inputBaseStyle = 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 is_menu_item_1 = require("../Menu/is-menu-item");
9
+ const RemInput_1 = require("../NewComposition/RemInput");
10
+ exports.inputBaseStyle = {
11
+ padding: `${RemInput_1.INPUT_HORIZONTAL_PADDING}px 10px`,
12
+ color: 'white',
13
+ borderStyle: 'solid',
14
+ borderWidth: 1,
15
+ fontSize: 14,
16
+ resize: 'none',
17
+ overflowX: 'hidden',
18
+ };
19
+ const RemTextareaFRFunction = ({ status, ...props }, ref) => {
20
+ const [isFocused, setIsFocused] = (0, react_1.useState)(false);
21
+ const [isHovered, setIsHovered] = (0, react_1.useState)(false);
22
+ const inputRef = (0, react_1.useRef)(null);
23
+ const { tabIndex } = (0, z_index_1.useZIndex)();
24
+ (0, react_1.useImperativeHandle)(ref, () => {
25
+ return inputRef.current;
26
+ }, []);
27
+ const style = (0, react_1.useMemo)(() => {
28
+ var _a;
29
+ return {
30
+ backgroundColor: colors_1.INPUT_BACKGROUND,
31
+ ...exports.inputBaseStyle,
32
+ width: '100%',
33
+ borderColor: (0, RemInput_1.getInputBorderColor)({ isFocused, isHovered, status }),
34
+ ...((_a = props.style) !== null && _a !== void 0 ? _a : {}),
35
+ };
36
+ }, [isFocused, isHovered, props.style, status]);
37
+ (0, react_1.useEffect)(() => {
38
+ if (!inputRef.current) {
39
+ return;
40
+ }
41
+ const { current } = inputRef;
42
+ const onFocus = () => setIsFocused(true);
43
+ const onBlur = () => setIsFocused(false);
44
+ const onMouseEnter = () => setIsHovered(true);
45
+ const onMouseLeave = () => setIsHovered(false);
46
+ const onKeyDown = (e) => {
47
+ if (!inputRef.current) {
48
+ return;
49
+ }
50
+ if (inputRef.current !== document.activeElement) {
51
+ return;
52
+ }
53
+ if (e.code === 'Tab') {
54
+ e.preventDefault();
55
+ // Always match up with value in JSON.stringify(content, null, 2)
56
+ document.execCommand('insertText', false, ' '.repeat(2));
57
+ }
58
+ if (e.code === 'Enter') {
59
+ e.preventDefault();
60
+ const { selectionStart, selectionEnd, value } = inputRef.current;
61
+ if (selectionStart !== selectionEnd) {
62
+ return;
63
+ }
64
+ let prevNewline = selectionStart;
65
+ for (let i = selectionStart - 1; i >= 0; i--) {
66
+ if (value[i] === '\n') {
67
+ break;
68
+ }
69
+ prevNewline = i;
70
+ }
71
+ const currentLine = value.substring(prevNewline, selectionStart);
72
+ const trimmed = currentLine.trim();
73
+ const difference = currentLine.length - trimmed.length;
74
+ document.execCommand('insertText', false, '\n' + ' '.repeat(difference));
75
+ }
76
+ };
77
+ current.addEventListener('focus', onFocus);
78
+ current.addEventListener('blur', onBlur);
79
+ current.addEventListener('mouseenter', onMouseEnter);
80
+ current.addEventListener('mouseleave', onMouseLeave);
81
+ current.addEventListener('keydown', onKeyDown);
82
+ return () => {
83
+ current.removeEventListener('focus', onFocus);
84
+ current.removeEventListener('blur', onBlur);
85
+ current.removeEventListener('mouseenter', onMouseEnter);
86
+ current.removeEventListener('mouseleave', onMouseLeave);
87
+ current.removeEventListener('keydown', onKeyDown);
88
+ };
89
+ }, [inputRef]);
90
+ return ((0, jsx_runtime_1.jsx)("textarea", { ref: inputRef, tabIndex: tabIndex, ...props, className: is_menu_item_1.VERTICAL_SCROLLBAR_CLASSNAME, style: style }));
91
+ };
92
+ exports.RemTextarea = (0, react_1.forwardRef)(RemTextareaFRFunction);
@@ -1,4 +1,6 @@
1
1
  import React from 'react';
2
2
  export declare const ValidationMessage: React.FC<{
3
3
  message: string;
4
+ align: 'flex-start' | 'flex-end';
5
+ type: 'warning' | 'error';
4
6
  }>;
@@ -2,22 +2,32 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ValidationMessage = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const colors_1 = require("../../helpers/colors");
5
7
  const layout_1 = require("../layout");
6
- const Triangle = (props) => {
7
- return ((0, jsx_runtime_1.jsx)("svg", { viewBox: "0 0 576 512", ...props, children: (0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M248.747 204.705l6.588 112c.373 6.343 5.626 11.295 11.979 11.295h41.37a12 12 0 0 0 11.979-11.295l6.588-112c.405-6.893-5.075-12.705-11.979-12.705h-54.547c-6.903 0-12.383 5.812-11.978 12.705zM330 384c0 23.196-18.804 42-42 42s-42-18.804-42-42 18.804-42 42-42 42 18.804 42 42zm-.423-360.015c-18.433-31.951-64.687-32.009-83.154 0L6.477 440.013C-11.945 471.946 11.118 512 48.054 512H527.94c36.865 0 60.035-39.993 41.577-71.987L329.577 23.985zM53.191 455.002L282.803 57.008c2.309-4.002 8.085-4.002 10.394 0l229.612 397.993c2.308 4-.579 8.998-5.197 8.998H58.388c-4.617.001-7.504-4.997-5.197-8.997z" }) }));
8
+ const WarningTriangle = (props) => {
9
+ return ((0, jsx_runtime_1.jsx)("svg", { viewBox: "0 0 576 512", ...props, children: (0, jsx_runtime_1.jsx)("path", { d: "M248.747 204.705l6.588 112c.373 6.343 5.626 11.295 11.979 11.295h41.37a12 12 0 0 0 11.979-11.295l6.588-112c.405-6.893-5.075-12.705-11.979-12.705h-54.547c-6.903 0-12.383 5.812-11.978 12.705zM330 384c0 23.196-18.804 42-42 42s-42-18.804-42-42 18.804-42 42-42 42 18.804 42 42zm-.423-360.015c-18.433-31.951-64.687-32.009-83.154 0L6.477 440.013C-11.945 471.946 11.118 512 48.054 512H527.94c36.865 0 60.035-39.993 41.577-71.987L329.577 23.985zM53.191 455.002L282.803 57.008c2.309-4.002 8.085-4.002 10.394 0l229.612 397.993c2.308 4-.579 8.998-5.197 8.998H58.388c-4.617.001-7.504-4.997-5.197-8.997z" }) }));
8
10
  };
9
11
  const style = {
10
- width: 11,
11
- height: 11,
12
+ width: 12,
13
+ height: 12,
14
+ flexShrink: 0,
12
15
  };
13
16
  const container = {
14
- marginTop: 5,
17
+ maxWidth: 500,
15
18
  };
16
19
  const label = {
17
20
  fontSize: 13,
18
- flex: 1,
21
+ color: 'white',
22
+ fontFamily: 'sans-serif',
19
23
  };
20
- const ValidationMessage = ({ message }) => {
21
- return ((0, jsx_runtime_1.jsx)("div", { style: container, children: (0, jsx_runtime_1.jsxs)(layout_1.Row, { align: "center", children: [(0, jsx_runtime_1.jsx)(Triangle, { style: style, color: "#f1c40f" }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), (0, jsx_runtime_1.jsx)("div", { style: label, children: message })] }) }));
24
+ const ValidationMessage = ({ message, align, type }) => {
25
+ const finalStyle = (0, react_1.useMemo)(() => {
26
+ return {
27
+ ...style,
28
+ fill: type === 'warning' ? colors_1.WARNING_COLOR : colors_1.FAIL_COLOR,
29
+ };
30
+ }, [type]);
31
+ return ((0, jsx_runtime_1.jsx)("div", { style: container, children: (0, jsx_runtime_1.jsxs)(layout_1.Row, { align: "center", justify: align, children: [(0, jsx_runtime_1.jsx)(WarningTriangle, { style: finalStyle }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), (0, jsx_runtime_1.jsx)("div", { style: label, children: message })] }) }));
22
32
  };
23
33
  exports.ValidationMessage = ValidationMessage;
@@ -9,5 +9,6 @@ declare type TNotificationCenter = {
9
9
  addNotification: (notification: TNotification) => void;
10
10
  };
11
11
  export declare const notificationCenter: React.RefObject<TNotificationCenter>;
12
+ export declare const sendErrorNotification: (content: React.ReactNode) => void;
12
13
  export declare const NotificationCenter: React.FC;
13
14
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NotificationCenter = exports.notificationCenter = void 0;
3
+ exports.NotificationCenter = exports.sendErrorNotification = exports.notificationCenter = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const Notification_1 = require("./Notification");
@@ -16,6 +16,16 @@ const container = {
16
16
  backgroundColor: 'transparent',
17
17
  };
18
18
  exports.notificationCenter = (0, react_1.createRef)();
19
+ const sendErrorNotification = (content) => {
20
+ var _a;
21
+ (_a = exports.notificationCenter.current) === null || _a === void 0 ? void 0 : _a.addNotification({
22
+ content,
23
+ duration: 2000,
24
+ created: Date.now(),
25
+ id: String(Math.random()).replace('0.', ''),
26
+ });
27
+ };
28
+ exports.sendErrorNotification = sendErrorNotification;
19
29
  const NotificationCenter = () => {
20
30
  const [notifications, setNotifications] = (0, react_1.useState)([]);
21
31
  const onRemove = (0, react_1.useCallback)((id) => {
@@ -1,6 +1,2 @@
1
1
  import React from 'react';
2
- export declare const serverDisconnectedRef: React.RefObject<{
3
- setServerDisconnected: () => void;
4
- setServerConnected: () => void;
5
- }>;
6
2
  export declare const ServerDisconnected: React.FC;
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ServerDisconnected = exports.serverDisconnectedRef = void 0;
3
+ exports.ServerDisconnected = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
+ const client_id_1 = require("../../helpers/client-id");
6
7
  const container = {
7
8
  position: 'fixed',
8
9
  justifyContent: 'flex-end',
@@ -31,24 +32,13 @@ const inlineCode = {
31
32
  fontSize: 16,
32
33
  fontFamily: 'monospace',
33
34
  };
34
- exports.serverDisconnectedRef = (0, react_1.createRef)();
35
35
  let pageIsGoingToReload = false;
36
36
  window.addEventListener('beforeunload', () => {
37
37
  pageIsGoingToReload = true;
38
38
  });
39
39
  const ServerDisconnected = () => {
40
- const [serverDisconnected, setServerDisconnected] = (0, react_1.useState)(false);
41
- (0, react_1.useImperativeHandle)(exports.serverDisconnectedRef, () => {
42
- return {
43
- setServerDisconnected: () => {
44
- setServerDisconnected(true);
45
- },
46
- setServerConnected: () => {
47
- setServerDisconnected(false);
48
- },
49
- };
50
- }, []);
51
- if (!serverDisconnected) {
40
+ const ctx = (0, react_1.useContext)(client_id_1.PreviewServerConnectionCtx);
41
+ if (ctx.type !== 'disconnected') {
52
42
  return null;
53
43
  }
54
44
  if (pageIsGoingToReload) {
@@ -125,6 +125,7 @@ const PlayPause = ({ playbackRate, loop }) => {
125
125
  callback: onArrowLeft,
126
126
  commandCtrlKey: false,
127
127
  preventDefault: true,
128
+ triggerIfInputFieldFocused: false,
128
129
  });
129
130
  const arrowRight = keybindings.registerKeybinding({
130
131
  event: 'keydown',
@@ -132,6 +133,7 @@ const PlayPause = ({ playbackRate, loop }) => {
132
133
  callback: onArrowRight,
133
134
  commandCtrlKey: false,
134
135
  preventDefault: true,
136
+ triggerIfInputFieldFocused: false,
135
137
  });
136
138
  const space = keybindings.registerKeybinding({
137
139
  event: 'keydown',
@@ -139,6 +141,7 @@ const PlayPause = ({ playbackRate, loop }) => {
139
141
  callback: onSpace,
140
142
  commandCtrlKey: false,
141
143
  preventDefault: true,
144
+ triggerIfInputFieldFocused: false,
142
145
  });
143
146
  const enter = keybindings.registerKeybinding({
144
147
  event: 'keydown',
@@ -146,6 +149,7 @@ const PlayPause = ({ playbackRate, loop }) => {
146
149
  callback: onEnter,
147
150
  commandCtrlKey: false,
148
151
  preventDefault: false,
152
+ triggerIfInputFieldFocused: false,
149
153
  });
150
154
  const a = keybindings.registerKeybinding({
151
155
  event: 'keydown',
@@ -153,6 +157,7 @@ const PlayPause = ({ playbackRate, loop }) => {
153
157
  callback: jumpToStart,
154
158
  commandCtrlKey: false,
155
159
  preventDefault: true,
160
+ triggerIfInputFieldFocused: false,
156
161
  });
157
162
  const e = keybindings.registerKeybinding({
158
163
  event: 'keydown',
@@ -160,6 +165,7 @@ const PlayPause = ({ playbackRate, loop }) => {
160
165
  callback: jumpToEnd,
161
166
  commandCtrlKey: false,
162
167
  preventDefault: true,
168
+ triggerIfInputFieldFocused: false,
163
169
  });
164
170
  return () => {
165
171
  arrowLeft.unregister();
@@ -48,6 +48,7 @@ const PlaybackKeyboardShortcutsManager = ({ setPlaybackRate }) => {
48
48
  callback: onJKey,
49
49
  commandCtrlKey: false,
50
50
  preventDefault: true,
51
+ triggerIfInputFieldFocused: false,
51
52
  });
52
53
  const kKey = keybindings.registerKeybinding({
53
54
  event: 'keydown',
@@ -55,6 +56,7 @@ const PlaybackKeyboardShortcutsManager = ({ setPlaybackRate }) => {
55
56
  callback: onKKey,
56
57
  commandCtrlKey: false,
57
58
  preventDefault: true,
59
+ triggerIfInputFieldFocused: false,
58
60
  });
59
61
  const lKey = keybindings.registerKeybinding({
60
62
  event: 'keydown',
@@ -62,6 +64,7 @@ const PlaybackKeyboardShortcutsManager = ({ setPlaybackRate }) => {
62
64
  callback: onLKey,
63
65
  commandCtrlKey: false,
64
66
  preventDefault: true,
67
+ triggerIfInputFieldFocused: false,
65
68
  });
66
69
  return () => {
67
70
  jKey.unregister();
@@ -1,6 +1,4 @@
1
1
  import React from 'react';
2
- export declare const commonPlaybackRates: number[];
3
- export declare const getPlaybackRateLabel: (playbackRate: number) => string;
4
2
  export declare const PlaybackRateSelector: React.FC<{
5
3
  playbackRate: number;
6
4
  setPlaybackRate: React.Dispatch<React.SetStateAction<number>>;