@remotion/cli 3.0.30 → 3.0.31

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 (385) hide show
  1. package/dist/chalk/symbols.d.ts +111 -0
  2. package/dist/chalk/symbols.js +75 -0
  3. package/dist/chalk/utilities.d.ts +2 -0
  4. package/dist/chalk/utilities.js +37 -0
  5. package/dist/editor/components/CompositionManager.d.ts +4 -0
  6. package/dist/editor/components/CompositionManager.js +60 -0
  7. package/dist/editor/components/Editor.js +1 -1
  8. package/dist/editor/components/GlobalKeybindings.js +26 -11
  9. package/dist/editor/components/NewComposition/MenuContent.js +42 -7
  10. package/dist/editor/components/PlayPause.js +36 -6
  11. package/dist/editor/components/PlaybackKeyboardShortcutsManager.js +18 -3
  12. package/dist/editor/components/TimelineInOutToggle.js +21 -6
  13. package/dist/editor/helpers/use-keybinding.d.ts +6 -1
  14. package/dist/editor/helpers/use-keybinding.js +10 -5
  15. package/dist/editor/state/keybindings.js +3 -1
  16. package/dist/editor/state/z-index.js +6 -1
  17. package/dist/preview-server/error-overlay/remotion-overlay/AskOnDiscord.d.ts +3 -1
  18. package/dist/preview-server/error-overlay/remotion-overlay/AskOnDiscord.js +20 -2
  19. package/dist/preview-server/error-overlay/remotion-overlay/Button.js +4 -4
  20. package/dist/preview-server/error-overlay/remotion-overlay/ErrorDisplay.d.ts +1 -0
  21. package/dist/preview-server/error-overlay/remotion-overlay/ErrorDisplay.js +5 -2
  22. package/dist/preview-server/error-overlay/remotion-overlay/ErrorLoader.d.ts +1 -0
  23. package/dist/preview-server/error-overlay/remotion-overlay/ErrorLoader.js +2 -2
  24. package/dist/preview-server/error-overlay/remotion-overlay/ErrorMessage.d.ts +4 -0
  25. package/dist/preview-server/error-overlay/remotion-overlay/ErrorMessage.js +67 -0
  26. package/dist/preview-server/error-overlay/remotion-overlay/ErrorTitle.js +5 -9
  27. package/dist/preview-server/error-overlay/remotion-overlay/HelpLink.d.ts +6 -0
  28. package/dist/preview-server/error-overlay/remotion-overlay/HelpLink.js +31 -0
  29. package/dist/preview-server/error-overlay/remotion-overlay/OpenInEditor.d.ts +1 -0
  30. package/dist/preview-server/error-overlay/remotion-overlay/OpenInEditor.js +20 -2
  31. package/dist/preview-server/error-overlay/remotion-overlay/Overlay.js +8 -7
  32. package/dist/preview-server/error-overlay/remotion-overlay/SearchGitHubIssues.d.ts +1 -0
  33. package/dist/preview-server/error-overlay/remotion-overlay/SearchGitHubIssues.js +20 -2
  34. package/dist/preview-server/error-overlay/remotion-overlay/ShortcutHint.d.ts +5 -0
  35. package/dist/preview-server/error-overlay/remotion-overlay/ShortcutHint.js +16 -0
  36. package/dist/preview-server/error-overlay/remotion-overlay/StackFrame.js +1 -1
  37. package/dist/preview-server/error-overlay/remotion-overlay/carets.d.ts +4 -2
  38. package/dist/preview-server/error-overlay/remotion-overlay/carets.js +2 -2
  39. package/dist/preview-server/error-overlay/remotion-overlay/get-help-link.d.ts +5 -0
  40. package/dist/preview-server/error-overlay/remotion-overlay/get-help-link.js +19 -0
  41. package/dist/preview-server/fast-refresh/helpers.d.ts +39 -0
  42. package/dist/preview-server/fast-refresh/helpers.js +145 -0
  43. package/dist/preview-server/fast-refresh/index.d.ts +30 -0
  44. package/dist/preview-server/fast-refresh/index.js +86 -0
  45. package/dist/preview-server/fast-refresh/loader.d.ts +35 -0
  46. package/dist/preview-server/fast-refresh/loader.js +81 -0
  47. package/dist/preview-server/fast-refresh/runtime.d.ts +35 -0
  48. package/dist/preview-server/fast-refresh/runtime.js +32 -0
  49. package/dist/preview-server/static-preview.d.ts +1 -0
  50. package/dist/preview-server/static-preview.js +40 -0
  51. package/dist/preview-server/webpack-cache.d.ts +12 -0
  52. package/dist/preview-server/webpack-cache.js +66 -0
  53. package/package.json +7 -7
  54. package/dist/ansi/ansi-diff.d.ts.map +0 -1
  55. package/dist/ansi/ansi-diff.js.map +0 -1
  56. package/dist/ansi/ansi-regex.d.ts.map +0 -1
  57. package/dist/ansi/ansi-regex.js.map +0 -1
  58. package/dist/ansi/ansi-split.d.ts.map +0 -1
  59. package/dist/ansi/ansi-split.js.map +0 -1
  60. package/dist/check-version.d.ts.map +0 -1
  61. package/dist/check-version.js.map +0 -1
  62. package/dist/code-frame.d.ts.map +0 -1
  63. package/dist/code-frame.js.map +0 -1
  64. package/dist/compositions.d.ts.map +0 -1
  65. package/dist/compositions.js.map +0 -1
  66. package/dist/download-progress.d.ts.map +0 -1
  67. package/dist/download-progress.js.map +0 -1
  68. package/dist/editor/components/AudioWaveform.d.ts.map +0 -1
  69. package/dist/editor/components/AudioWaveform.js.map +0 -1
  70. package/dist/editor/components/AudioWaveformBar.d.ts.map +0 -1
  71. package/dist/editor/components/AudioWaveformBar.js.map +0 -1
  72. package/dist/editor/components/Canvas.d.ts.map +0 -1
  73. package/dist/editor/components/Canvas.js.map +0 -1
  74. package/dist/editor/components/CheckboardToggle.d.ts.map +0 -1
  75. package/dist/editor/components/CheckboardToggle.js.map +0 -1
  76. package/dist/editor/components/ClipboardIcon.d.ts.map +0 -1
  77. package/dist/editor/components/ClipboardIcon.js.map +0 -1
  78. package/dist/editor/components/CompositionSelector.d.ts.map +0 -1
  79. package/dist/editor/components/CompositionSelector.js.map +0 -1
  80. package/dist/editor/components/CompositionSelectorItem.d.ts.map +0 -1
  81. package/dist/editor/components/CompositionSelectorItem.js.map +0 -1
  82. package/dist/editor/components/ControlButton.d.ts.map +0 -1
  83. package/dist/editor/components/ControlButton.js.map +0 -1
  84. package/dist/editor/components/CopyButton.d.ts.map +0 -1
  85. package/dist/editor/components/CopyButton.js.map +0 -1
  86. package/dist/editor/components/CurrentComposition.d.ts.map +0 -1
  87. package/dist/editor/components/CurrentComposition.js.map +0 -1
  88. package/dist/editor/components/Editor.d.ts.map +0 -1
  89. package/dist/editor/components/Editor.js.map +0 -1
  90. package/dist/editor/components/EditorContent.d.ts.map +0 -1
  91. package/dist/editor/components/EditorContent.js.map +0 -1
  92. package/dist/editor/components/FpsCounter.d.ts.map +0 -1
  93. package/dist/editor/components/FpsCounter.js.map +0 -1
  94. package/dist/editor/components/FramePersistor.d.ts.map +0 -1
  95. package/dist/editor/components/FramePersistor.js.map +0 -1
  96. package/dist/editor/components/GlobalKeybindings.d.ts.map +0 -1
  97. package/dist/editor/components/GlobalKeybindings.js.map +0 -1
  98. package/dist/editor/components/KeyboardShortcutsModal.d.ts.map +0 -1
  99. package/dist/editor/components/KeyboardShortcutsModal.js.map +0 -1
  100. package/dist/editor/components/LoadingIndicator.d.ts.map +0 -1
  101. package/dist/editor/components/LoadingIndicator.js.map +0 -1
  102. package/dist/editor/components/LoopToggle.d.ts.map +0 -1
  103. package/dist/editor/components/LoopToggle.js.map +0 -1
  104. package/dist/editor/components/Menu/MenuDivider.d.ts.map +0 -1
  105. package/dist/editor/components/Menu/MenuDivider.js.map +0 -1
  106. package/dist/editor/components/Menu/MenuItem.d.ts.map +0 -1
  107. package/dist/editor/components/Menu/MenuItem.js.map +0 -1
  108. package/dist/editor/components/Menu/MenuSubItem.d.ts.map +0 -1
  109. package/dist/editor/components/Menu/MenuSubItem.js.map +0 -1
  110. package/dist/editor/components/Menu/SubMenu.d.ts.map +0 -1
  111. package/dist/editor/components/Menu/SubMenu.js.map +0 -1
  112. package/dist/editor/components/Menu/portals.d.ts.map +0 -1
  113. package/dist/editor/components/Menu/portals.js.map +0 -1
  114. package/dist/editor/components/Menu/styles.d.ts.map +0 -1
  115. package/dist/editor/components/Menu/styles.js.map +0 -1
  116. package/dist/editor/components/MenuToolbar.d.ts.map +0 -1
  117. package/dist/editor/components/MenuToolbar.js.map +0 -1
  118. package/dist/editor/components/ModalContainer.d.ts.map +0 -1
  119. package/dist/editor/components/ModalContainer.js.map +0 -1
  120. package/dist/editor/components/ModalHeader.d.ts.map +0 -1
  121. package/dist/editor/components/ModalHeader.js.map +0 -1
  122. package/dist/editor/components/MuteToggle.d.ts.map +0 -1
  123. package/dist/editor/components/MuteToggle.js.map +0 -1
  124. package/dist/editor/components/NewComposition/CancelButton.d.ts.map +0 -1
  125. package/dist/editor/components/NewComposition/CancelButton.js.map +0 -1
  126. package/dist/editor/components/NewComposition/ComboBox.d.ts.map +0 -1
  127. package/dist/editor/components/NewComposition/ComboBox.js.map +0 -1
  128. package/dist/editor/components/NewComposition/CopyHint.d.ts.map +0 -1
  129. package/dist/editor/components/NewComposition/CopyHint.js.map +0 -1
  130. package/dist/editor/components/NewComposition/InputDragger.d.ts.map +0 -1
  131. package/dist/editor/components/NewComposition/InputDragger.js.map +0 -1
  132. package/dist/editor/components/NewComposition/MenuContent.d.ts.map +0 -1
  133. package/dist/editor/components/NewComposition/MenuContent.js.map +0 -1
  134. package/dist/editor/components/NewComposition/NewCompAspectRatio.d.ts.map +0 -1
  135. package/dist/editor/components/NewComposition/NewCompAspectRatio.js.map +0 -1
  136. package/dist/editor/components/NewComposition/NewCompCode.d.ts.map +0 -1
  137. package/dist/editor/components/NewComposition/NewCompCode.js.map +0 -1
  138. package/dist/editor/components/NewComposition/NewCompDuration.d.ts.map +0 -1
  139. package/dist/editor/components/NewComposition/NewCompDuration.js.map +0 -1
  140. package/dist/editor/components/NewComposition/NewComposition.d.ts.map +0 -1
  141. package/dist/editor/components/NewComposition/NewComposition.js.map +0 -1
  142. package/dist/editor/components/NewComposition/RemInput.d.ts.map +0 -1
  143. package/dist/editor/components/NewComposition/RemInput.js.map +0 -1
  144. package/dist/editor/components/NewComposition/ToggleAspectRatio.d.ts.map +0 -1
  145. package/dist/editor/components/NewComposition/ToggleAspectRatio.js.map +0 -1
  146. package/dist/editor/components/NewComposition/ValidationMessage.d.ts.map +0 -1
  147. package/dist/editor/components/NewComposition/ValidationMessage.js.map +0 -1
  148. package/dist/editor/components/NewComposition/new-comp-layout.d.ts.map +0 -1
  149. package/dist/editor/components/NewComposition/new-comp-layout.js.map +0 -1
  150. package/dist/editor/components/NewComposition/render-aspect-ratio.d.ts.map +0 -1
  151. package/dist/editor/components/NewComposition/render-aspect-ratio.js.map +0 -1
  152. package/dist/editor/components/PlayPause.d.ts.map +0 -1
  153. package/dist/editor/components/PlayPause.js.map +0 -1
  154. package/dist/editor/components/PlaybackKeyboardShortcutsManager.d.ts.map +0 -1
  155. package/dist/editor/components/PlaybackKeyboardShortcutsManager.js.map +0 -1
  156. package/dist/editor/components/PlaybackRatePersistor.d.ts.map +0 -1
  157. package/dist/editor/components/PlaybackRatePersistor.js.map +0 -1
  158. package/dist/editor/components/PlaybackRateSelector.d.ts.map +0 -1
  159. package/dist/editor/components/PlaybackRateSelector.js.map +0 -1
  160. package/dist/editor/components/Preview.d.ts.map +0 -1
  161. package/dist/editor/components/Preview.js.map +0 -1
  162. package/dist/editor/components/PreviewToolbar.d.ts.map +0 -1
  163. package/dist/editor/components/PreviewToolbar.js.map +0 -1
  164. package/dist/editor/components/RichTimelineToggle.d.ts.map +0 -1
  165. package/dist/editor/components/RichTimelineToggle.js.map +0 -1
  166. package/dist/editor/components/SizeSelector.d.ts.map +0 -1
  167. package/dist/editor/components/SizeSelector.js.map +0 -1
  168. package/dist/editor/components/Splitter/SplitterContainer.d.ts.map +0 -1
  169. package/dist/editor/components/Splitter/SplitterContainer.js.map +0 -1
  170. package/dist/editor/components/Splitter/SplitterContext.d.ts.map +0 -1
  171. package/dist/editor/components/Splitter/SplitterContext.js.map +0 -1
  172. package/dist/editor/components/Splitter/SplitterElement.d.ts.map +0 -1
  173. package/dist/editor/components/Splitter/SplitterElement.js.map +0 -1
  174. package/dist/editor/components/Splitter/SplitterHandle.d.ts.map +0 -1
  175. package/dist/editor/components/Splitter/SplitterHandle.js.map +0 -1
  176. package/dist/editor/components/Thumbnail.d.ts.map +0 -1
  177. package/dist/editor/components/Thumbnail.js.map +0 -1
  178. package/dist/editor/components/TimeValue.d.ts.map +0 -1
  179. package/dist/editor/components/TimeValue.js.map +0 -1
  180. package/dist/editor/components/Timeline/LoopedIndicator.d.ts.map +0 -1
  181. package/dist/editor/components/Timeline/LoopedIndicator.js.map +0 -1
  182. package/dist/editor/components/Timeline/LoopedTimelineIndicators.d.ts.map +0 -1
  183. package/dist/editor/components/Timeline/LoopedTimelineIndicators.js.map +0 -1
  184. package/dist/editor/components/Timeline/MaxTimelineTracks.d.ts.map +0 -1
  185. package/dist/editor/components/Timeline/MaxTimelineTracks.js.map +0 -1
  186. package/dist/editor/components/Timeline/Timeline.d.ts.map +0 -1
  187. package/dist/editor/components/Timeline/Timeline.js.map +0 -1
  188. package/dist/editor/components/Timeline/TimelineCollapseToggle.d.ts.map +0 -1
  189. package/dist/editor/components/Timeline/TimelineCollapseToggle.js.map +0 -1
  190. package/dist/editor/components/Timeline/TimelineDragHandler.d.ts.map +0 -1
  191. package/dist/editor/components/Timeline/TimelineDragHandler.js.map +0 -1
  192. package/dist/editor/components/Timeline/TimelineInOutPointer.d.ts.map +0 -1
  193. package/dist/editor/components/Timeline/TimelineInOutPointer.js.map +0 -1
  194. package/dist/editor/components/Timeline/TimelineInOutPointerHandle.d.ts.map +0 -1
  195. package/dist/editor/components/Timeline/TimelineInOutPointerHandle.js.map +0 -1
  196. package/dist/editor/components/Timeline/TimelineList.d.ts.map +0 -1
  197. package/dist/editor/components/Timeline/TimelineList.js.map +0 -1
  198. package/dist/editor/components/Timeline/TimelineListItem.d.ts.map +0 -1
  199. package/dist/editor/components/Timeline/TimelineListItem.js.map +0 -1
  200. package/dist/editor/components/Timeline/TimelineSequence.d.ts.map +0 -1
  201. package/dist/editor/components/Timeline/TimelineSequence.js.map +0 -1
  202. package/dist/editor/components/Timeline/TimelineSequenceFrame.d.ts.map +0 -1
  203. package/dist/editor/components/Timeline/TimelineSequenceFrame.js.map +0 -1
  204. package/dist/editor/components/Timeline/TimelineSlider.d.ts.map +0 -1
  205. package/dist/editor/components/Timeline/TimelineSlider.js.map +0 -1
  206. package/dist/editor/components/Timeline/TimelineSliderHandle.d.ts.map +0 -1
  207. package/dist/editor/components/Timeline/TimelineSliderHandle.js.map +0 -1
  208. package/dist/editor/components/Timeline/TimelineTracks.d.ts.map +0 -1
  209. package/dist/editor/components/Timeline/TimelineTracks.js.map +0 -1
  210. package/dist/editor/components/Timeline/TimelineVideoInfo.d.ts.map +0 -1
  211. package/dist/editor/components/Timeline/TimelineVideoInfo.js.map +0 -1
  212. package/dist/editor/components/Timeline/is-collapsed.d.ts.map +0 -1
  213. package/dist/editor/components/Timeline/is-collapsed.js.map +0 -1
  214. package/dist/editor/components/Timeline/timeline-refs.d.ts.map +0 -1
  215. package/dist/editor/components/Timeline/timeline-refs.js.map +0 -1
  216. package/dist/editor/components/Timeline/timeline-state-reducer.d.ts.map +0 -1
  217. package/dist/editor/components/Timeline/timeline-state-reducer.js.map +0 -1
  218. package/dist/editor/components/TimelineInOutToggle.d.ts.map +0 -1
  219. package/dist/editor/components/TimelineInOutToggle.js.map +0 -1
  220. package/dist/editor/components/TopPanel.d.ts.map +0 -1
  221. package/dist/editor/components/TopPanel.js.map +0 -1
  222. package/dist/editor/components/UpdateCheck.d.ts.map +0 -1
  223. package/dist/editor/components/UpdateCheck.js.map +0 -1
  224. package/dist/editor/components/UpdateModal/UpdateModal.d.ts.map +0 -1
  225. package/dist/editor/components/UpdateModal/UpdateModal.js.map +0 -1
  226. package/dist/editor/components/layout.d.ts.map +0 -1
  227. package/dist/editor/components/layout.js.map +0 -1
  228. package/dist/editor/helpers/calculate-timeline.d.ts.map +0 -1
  229. package/dist/editor/helpers/calculate-timeline.js.map +0 -1
  230. package/dist/editor/helpers/checkerboard-background.d.ts.map +0 -1
  231. package/dist/editor/helpers/checkerboard-background.js.map +0 -1
  232. package/dist/editor/helpers/colors.d.ts.map +0 -1
  233. package/dist/editor/helpers/colors.js.map +0 -1
  234. package/dist/editor/helpers/copy-text.d.ts.map +0 -1
  235. package/dist/editor/helpers/copy-text.js.map +0 -1
  236. package/dist/editor/helpers/create-folder-tree.d.ts.map +0 -1
  237. package/dist/editor/helpers/create-folder-tree.js.map +0 -1
  238. package/dist/editor/helpers/get-left-of-timeline-slider.d.ts.map +0 -1
  239. package/dist/editor/helpers/get-left-of-timeline-slider.js.map +0 -1
  240. package/dist/editor/helpers/get-sequence-visible-range.d.ts.map +0 -1
  241. package/dist/editor/helpers/get-sequence-visible-range.js.map +0 -1
  242. package/dist/editor/helpers/get-timeline-nestedness.d.ts.map +0 -1
  243. package/dist/editor/helpers/get-timeline-nestedness.js.map +0 -1
  244. package/dist/editor/helpers/get-timeline-sequence-hash.d.ts.map +0 -1
  245. package/dist/editor/helpers/get-timeline-sequence-hash.js.map +0 -1
  246. package/dist/editor/helpers/get-timeline-sequence-layout.d.ts.map +0 -1
  247. package/dist/editor/helpers/get-timeline-sequence-layout.js.map +0 -1
  248. package/dist/editor/helpers/get-timeline-sequence-sort-key.d.ts.map +0 -1
  249. package/dist/editor/helpers/get-timeline-sequence-sort-key.js.map +0 -1
  250. package/dist/editor/helpers/is-composition-still.d.ts.map +0 -1
  251. package/dist/editor/helpers/is-composition-still.js.map +0 -1
  252. package/dist/editor/helpers/is-current-selected-still.d.ts.map +0 -1
  253. package/dist/editor/helpers/is-current-selected-still.js.map +0 -1
  254. package/dist/editor/helpers/noop.d.ts.map +0 -1
  255. package/dist/editor/helpers/noop.js.map +0 -1
  256. package/dist/editor/helpers/persist-open-folders.d.ts.map +0 -1
  257. package/dist/editor/helpers/persist-open-folders.js.map +0 -1
  258. package/dist/editor/helpers/timeline-layout.d.ts.map +0 -1
  259. package/dist/editor/helpers/timeline-layout.js.map +0 -1
  260. package/dist/editor/helpers/use-keybinding.d.ts.map +0 -1
  261. package/dist/editor/helpers/use-keybinding.js.map +0 -1
  262. package/dist/editor/helpers/validate-new-comp-data.d.ts.map +0 -1
  263. package/dist/editor/helpers/validate-new-comp-data.js.map +0 -1
  264. package/dist/editor/icons/Checkmark.d.ts.map +0 -1
  265. package/dist/editor/icons/Checkmark.js.map +0 -1
  266. package/dist/editor/icons/caret.d.ts.map +0 -1
  267. package/dist/editor/icons/caret.js.map +0 -1
  268. package/dist/editor/icons/film.d.ts.map +0 -1
  269. package/dist/editor/icons/film.js.map +0 -1
  270. package/dist/editor/icons/folder.d.ts.map +0 -1
  271. package/dist/editor/icons/folder.js.map +0 -1
  272. package/dist/editor/icons/keys.d.ts.map +0 -1
  273. package/dist/editor/icons/keys.js.map +0 -1
  274. package/dist/editor/icons/lock.d.ts.map +0 -1
  275. package/dist/editor/icons/lock.js.map +0 -1
  276. package/dist/editor/icons/media-volume.d.ts.map +0 -1
  277. package/dist/editor/icons/media-volume.js.map +0 -1
  278. package/dist/editor/icons/pause.d.ts.map +0 -1
  279. package/dist/editor/icons/pause.js.map +0 -1
  280. package/dist/editor/icons/play.d.ts.map +0 -1
  281. package/dist/editor/icons/play.js.map +0 -1
  282. package/dist/editor/icons/step-back.d.ts.map +0 -1
  283. package/dist/editor/icons/step-back.js.map +0 -1
  284. package/dist/editor/icons/step-forward.d.ts.map +0 -1
  285. package/dist/editor/icons/step-forward.js.map +0 -1
  286. package/dist/editor/icons/still.d.ts.map +0 -1
  287. package/dist/editor/icons/still.js.map +0 -1
  288. package/dist/editor/icons/timeline.d.ts.map +0 -1
  289. package/dist/editor/icons/timeline.js.map +0 -1
  290. package/dist/editor/icons/timelineInOutPointer.d.ts.map +0 -1
  291. package/dist/editor/icons/timelineInOutPointer.js.map +0 -1
  292. package/dist/editor/state/aspect-ratio-locked.d.ts.map +0 -1
  293. package/dist/editor/state/aspect-ratio-locked.js.map +0 -1
  294. package/dist/editor/state/checkerboard.d.ts.map +0 -1
  295. package/dist/editor/state/checkerboard.js.map +0 -1
  296. package/dist/editor/state/highest-z-index.d.ts.map +0 -1
  297. package/dist/editor/state/highest-z-index.js.map +0 -1
  298. package/dist/editor/state/input-dragger-click-lock.d.ts.map +0 -1
  299. package/dist/editor/state/input-dragger-click-lock.js.map +0 -1
  300. package/dist/editor/state/keybindings.d.ts.map +0 -1
  301. package/dist/editor/state/keybindings.js.map +0 -1
  302. package/dist/editor/state/loop.d.ts.map +0 -1
  303. package/dist/editor/state/loop.js.map +0 -1
  304. package/dist/editor/state/marks.d.ts.map +0 -1
  305. package/dist/editor/state/marks.js.map +0 -1
  306. package/dist/editor/state/modals.d.ts.map +0 -1
  307. package/dist/editor/state/modals.js.map +0 -1
  308. package/dist/editor/state/mute.d.ts.map +0 -1
  309. package/dist/editor/state/mute.js.map +0 -1
  310. package/dist/editor/state/playbackrate.d.ts.map +0 -1
  311. package/dist/editor/state/playbackrate.js.map +0 -1
  312. package/dist/editor/state/preview-size.d.ts.map +0 -1
  313. package/dist/editor/state/preview-size.js.map +0 -1
  314. package/dist/editor/state/render-frame.d.ts.map +0 -1
  315. package/dist/editor/state/render-frame.js.map +0 -1
  316. package/dist/editor/state/rich-timeline.d.ts.map +0 -1
  317. package/dist/editor/state/rich-timeline.js.map +0 -1
  318. package/dist/editor/state/timeline-ref.d.ts.map +0 -1
  319. package/dist/editor/state/timeline-ref.js.map +0 -1
  320. package/dist/editor/state/timeline.d.ts.map +0 -1
  321. package/dist/editor/state/timeline.js.map +0 -1
  322. package/dist/editor/state/z-index.d.ts.map +0 -1
  323. package/dist/editor/state/z-index.js.map +0 -1
  324. package/dist/get-cli-options.d.ts.map +0 -1
  325. package/dist/get-cli-options.js.map +0 -1
  326. package/dist/get-composition-id.d.ts.map +0 -1
  327. package/dist/get-composition-id.js.map +0 -1
  328. package/dist/get-config-file-name.d.ts.map +0 -1
  329. package/dist/get-config-file-name.js.map +0 -1
  330. package/dist/get-env.d.ts.map +0 -1
  331. package/dist/get-env.js.map +0 -1
  332. package/dist/get-filename.d.ts.map +0 -1
  333. package/dist/get-filename.js.map +0 -1
  334. package/dist/get-input-props.d.ts.map +0 -1
  335. package/dist/get-input-props.js.map +0 -1
  336. package/dist/handle-common-errors.d.ts.map +0 -1
  337. package/dist/handle-common-errors.js.map +0 -1
  338. package/dist/image-formats.d.ts.map +0 -1
  339. package/dist/image-formats.js.map +0 -1
  340. package/dist/index.d.ts.map +0 -1
  341. package/dist/index.js.map +0 -1
  342. package/dist/initialize-render-cli.d.ts.map +0 -1
  343. package/dist/initialize-render-cli.js.map +0 -1
  344. package/dist/is-javascript.d.ts.map +0 -1
  345. package/dist/is-javascript.js.map +0 -1
  346. package/dist/lambda-command.d.ts.map +0 -1
  347. package/dist/lambda-command.js.map +0 -1
  348. package/dist/load-config.d.ts.map +0 -1
  349. package/dist/load-config.js.map +0 -1
  350. package/dist/log.d.ts.map +0 -1
  351. package/dist/log.js.map +0 -1
  352. package/dist/make-progress-bar.d.ts.map +0 -1
  353. package/dist/make-progress-bar.js.map +0 -1
  354. package/dist/parse-command-line.d.ts.map +0 -1
  355. package/dist/parse-command-line.js.map +0 -1
  356. package/dist/preview.d.ts.map +0 -1
  357. package/dist/preview.js.map +0 -1
  358. package/dist/previewEntry.d.ts.map +0 -1
  359. package/dist/previewEntry.js.map +0 -1
  360. package/dist/print-error.d.ts.map +0 -1
  361. package/dist/print-error.js.map +0 -1
  362. package/dist/print-help.d.ts.map +0 -1
  363. package/dist/print-help.js.map +0 -1
  364. package/dist/progress-bar.d.ts.map +0 -1
  365. package/dist/progress-bar.js.map +0 -1
  366. package/dist/render.d.ts.map +0 -1
  367. package/dist/render.js.map +0 -1
  368. package/dist/resolve-from.d.ts.map +0 -1
  369. package/dist/resolve-from.js.map +0 -1
  370. package/dist/setup-cache.d.ts.map +0 -1
  371. package/dist/setup-cache.js.map +0 -1
  372. package/dist/step.d.ts.map +0 -1
  373. package/dist/step.js.map +0 -1
  374. package/dist/still.d.ts.map +0 -1
  375. package/dist/still.js.map +0 -1
  376. package/dist/upgrade.d.ts.map +0 -1
  377. package/dist/upgrade.js.map +0 -1
  378. package/dist/user-passed-output-location.d.ts.map +0 -1
  379. package/dist/user-passed-output-location.js.map +0 -1
  380. package/dist/validate-ffmpeg-version.d.ts.map +0 -1
  381. package/dist/validate-ffmpeg-version.js.map +0 -1
  382. package/dist/versions.d.ts.map +0 -1
  383. package/dist/versions.js.map +0 -1
  384. package/dist/warn-about-ffmpeg-version.d.ts.map +0 -1
  385. package/dist/warn-about-ffmpeg-version.js.map +0 -1
@@ -0,0 +1,111 @@
1
+ declare const isHyper: boolean;
2
+ declare const isWindows: boolean;
3
+ declare const isLinux: boolean;
4
+ declare const common: {
5
+ ballotDisabled: string;
6
+ ballotOff: string;
7
+ ballotOn: string;
8
+ bullet: string;
9
+ bulletWhite: string;
10
+ fullBlock: string;
11
+ heart: string;
12
+ identicalTo: string;
13
+ line: string;
14
+ mark: string;
15
+ middot: string;
16
+ minus: string;
17
+ multiplication: string;
18
+ obelus: string;
19
+ pencilDownRight: string;
20
+ pencilRight: string;
21
+ pencilUpRight: string;
22
+ percent: string;
23
+ pilcrow2: string;
24
+ pilcrow: string;
25
+ plusMinus: string;
26
+ question: string;
27
+ section: string;
28
+ starsOff: string;
29
+ starsOn: string;
30
+ upDownArrow: string;
31
+ };
32
+ declare const windows: {
33
+ check: string;
34
+ cross: string;
35
+ ellipsisLarge: string;
36
+ ellipsis: string;
37
+ info: string;
38
+ questionSmall: string;
39
+ pointer: string;
40
+ pointerSmall: string;
41
+ radioOff: string;
42
+ radioOn: string;
43
+ warning: string;
44
+ ballotDisabled: string;
45
+ ballotOff: string;
46
+ ballotOn: string;
47
+ bullet: string;
48
+ bulletWhite: string;
49
+ fullBlock: string;
50
+ heart: string;
51
+ identicalTo: string;
52
+ line: string;
53
+ mark: string;
54
+ middot: string;
55
+ minus: string;
56
+ multiplication: string;
57
+ obelus: string;
58
+ pencilDownRight: string;
59
+ pencilRight: string;
60
+ pencilUpRight: string;
61
+ percent: string;
62
+ pilcrow2: string;
63
+ pilcrow: string;
64
+ plusMinus: string;
65
+ question: string;
66
+ section: string;
67
+ starsOff: string;
68
+ starsOn: string;
69
+ upDownArrow: string;
70
+ };
71
+ declare const other: {
72
+ ballotCross: string;
73
+ check: string;
74
+ cross: string;
75
+ ellipsisLarge: string;
76
+ ellipsis: string;
77
+ info: string;
78
+ questionFull: string;
79
+ questionSmall: string;
80
+ pointer: string;
81
+ pointerSmall: string;
82
+ radioOff: string;
83
+ radioOn: string;
84
+ warning: string;
85
+ ballotDisabled: string;
86
+ ballotOff: string;
87
+ ballotOn: string;
88
+ bullet: string;
89
+ bulletWhite: string;
90
+ fullBlock: string;
91
+ heart: string;
92
+ identicalTo: string;
93
+ line: string;
94
+ mark: string;
95
+ middot: string;
96
+ minus: string;
97
+ multiplication: string;
98
+ obelus: string;
99
+ pencilDownRight: string;
100
+ pencilRight: string;
101
+ pencilUpRight: string;
102
+ percent: string;
103
+ pilcrow2: string;
104
+ pilcrow: string;
105
+ plusMinus: string;
106
+ question: string;
107
+ section: string;
108
+ starsOff: string;
109
+ starsOn: string;
110
+ upDownArrow: string;
111
+ };
@@ -0,0 +1,75 @@
1
+ 'use strict';
2
+ const isHyper = typeof process !== 'undefined' && process.env.TERM_PROGRAM === 'Hyper';
3
+ const isWindows = typeof process !== 'undefined' && process.platform === 'win32';
4
+ const isLinux = typeof process !== 'undefined' && process.platform === 'linux';
5
+ const common = {
6
+ ballotDisabled: '☒',
7
+ ballotOff: '☐',
8
+ ballotOn: '☑',
9
+ bullet: '•',
10
+ bulletWhite: '◦',
11
+ fullBlock: '█',
12
+ heart: '❤',
13
+ identicalTo: '≡',
14
+ line: '─',
15
+ mark: '※',
16
+ middot: '·',
17
+ minus: '-',
18
+ multiplication: '×',
19
+ obelus: '÷',
20
+ pencilDownRight: '✎',
21
+ pencilRight: '✏',
22
+ pencilUpRight: '✐',
23
+ percent: '%',
24
+ pilcrow2: '❡',
25
+ pilcrow: '¶',
26
+ plusMinus: '±',
27
+ question: '?',
28
+ section: '§',
29
+ starsOff: '☆',
30
+ starsOn: '★',
31
+ upDownArrow: '↕',
32
+ };
33
+ const windows = {
34
+ ...common,
35
+ check: '√',
36
+ cross: '×',
37
+ ellipsisLarge: '...',
38
+ ellipsis: '...',
39
+ info: 'i',
40
+ questionSmall: '?',
41
+ pointer: '>',
42
+ pointerSmall: '»',
43
+ radioOff: '( )',
44
+ radioOn: '(*)',
45
+ warning: '‼',
46
+ };
47
+ const other = {
48
+ ...common,
49
+ ballotCross: '✘',
50
+ check: '✔',
51
+ cross: '✖',
52
+ ellipsisLarge: '⋯',
53
+ ellipsis: '…',
54
+ info: 'ℹ',
55
+ questionFull: '?',
56
+ questionSmall: '﹖',
57
+ pointer: isLinux ? '▸' : '❯',
58
+ pointerSmall: isLinux ? '‣' : '›',
59
+ radioOff: '◯',
60
+ radioOn: '◉',
61
+ warning: '⚠',
62
+ };
63
+ module.exports = isWindows && !isHyper ? windows : other;
64
+ Reflect.defineProperty(module.exports, 'common', {
65
+ enumerable: false,
66
+ value: common,
67
+ });
68
+ Reflect.defineProperty(module.exports, 'windows', {
69
+ enumerable: false,
70
+ value: windows,
71
+ });
72
+ Reflect.defineProperty(module.exports, 'other', {
73
+ enumerable: false,
74
+ value: other,
75
+ });
@@ -0,0 +1,2 @@
1
+ export declare function stringReplaceAll(string: string, substring: string, replacer: string): string;
2
+ export declare function stringEncaseCRLFWithFirstIndex(string: string, prefix: string, postfix: string, index: number): string;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stringEncaseCRLFWithFirstIndex = exports.stringReplaceAll = void 0;
4
+ function stringReplaceAll(string, substring, replacer) {
5
+ let index = string.indexOf(substring);
6
+ if (index === -1) {
7
+ return string;
8
+ }
9
+ const substringLength = substring.length;
10
+ let endIndex = 0;
11
+ let returnValue = '';
12
+ do {
13
+ returnValue += string.slice(endIndex, index) + substring + replacer;
14
+ endIndex = index + substringLength;
15
+ index = string.indexOf(substring, endIndex);
16
+ } while (index !== -1);
17
+ returnValue += string.slice(endIndex);
18
+ return returnValue;
19
+ }
20
+ exports.stringReplaceAll = stringReplaceAll;
21
+ function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
22
+ let endIndex = 0;
23
+ let returnValue = '';
24
+ do {
25
+ const gotCR = string[index - 1] === '\r';
26
+ returnValue +=
27
+ string.slice(endIndex, gotCR ? index - 1 : index) +
28
+ prefix +
29
+ (gotCR ? '\r\n' : '\n') +
30
+ postfix;
31
+ endIndex = index + 1;
32
+ index = string.indexOf('\n', endIndex);
33
+ } while (index !== -1);
34
+ returnValue += string.slice(endIndex);
35
+ return returnValue;
36
+ }
37
+ exports.stringEncaseCRLFWithFirstIndex = stringEncaseCRLFWithFirstIndex;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { TComposition } from 'remotion';
3
+ export declare const useSelectComposition: () => (c: TComposition) => void;
4
+ export declare const InitialCompositionLoader: React.FC;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InitialCompositionLoader = exports.useSelectComposition = void 0;
4
+ const react_1 = require("react");
5
+ const remotion_1 = require("remotion");
6
+ const folders_1 = require("../state/folders");
7
+ const marks_1 = require("../state/marks");
8
+ const CompositionSelector_1 = require("./CompositionSelector");
9
+ const FramePersistor_1 = require("./FramePersistor");
10
+ const TimelineInOutToggle_1 = require("./TimelineInOutToggle");
11
+ const useSelectComposition = () => {
12
+ const setCurrentFrame = remotion_1.Internals.Timeline.useTimelineSetFrame();
13
+ const { setCurrentComposition } = (0, react_1.useContext)(remotion_1.Internals.CompositionManager);
14
+ const { setFoldersExpanded } = (0, react_1.useContext)(folders_1.FolderContext);
15
+ return (c) => {
16
+ var _a;
17
+ (_a = TimelineInOutToggle_1.inOutHandles.current) === null || _a === void 0 ? void 0 : _a.setMarks((0, marks_1.loadMarks)(c.id, c.durationInFrames));
18
+ window.history.pushState({}, 'Preview', `/${c.id}`);
19
+ const frame = (0, FramePersistor_1.getFrameForComposition)(c.id);
20
+ const frameInBounds = Math.min(c.durationInFrames - 1, frame);
21
+ setCurrentFrame(frameInBounds);
22
+ setCurrentComposition(c.id);
23
+ const { folderName, parentFolderName } = c;
24
+ if (folderName !== null) {
25
+ setFoldersExpanded((ex) => {
26
+ const keysToExpand = (0, CompositionSelector_1.getKeysToExpand)(folderName, parentFolderName);
27
+ const newState = {
28
+ ...ex,
29
+ };
30
+ for (const key of keysToExpand) {
31
+ newState[key] = true;
32
+ }
33
+ return newState;
34
+ });
35
+ }
36
+ };
37
+ };
38
+ exports.useSelectComposition = useSelectComposition;
39
+ const InitialCompositionLoader = () => {
40
+ const { compositions, currentComposition } = (0, react_1.useContext)(remotion_1.Internals.CompositionManager);
41
+ const selectComposition = (0, exports.useSelectComposition)();
42
+ (0, react_1.useEffect)(() => {
43
+ if (currentComposition) {
44
+ return;
45
+ }
46
+ const compositionFromUrl = (0, FramePersistor_1.getCurrentCompositionFromUrl)();
47
+ if (compositionFromUrl) {
48
+ const exists = compositions.find((c) => c.id === compositionFromUrl);
49
+ if (exists) {
50
+ selectComposition(exists);
51
+ return;
52
+ }
53
+ }
54
+ if (compositions.length > 0) {
55
+ selectComposition(compositions[0]);
56
+ }
57
+ }, [compositions, currentComposition, selectComposition]);
58
+ return null;
59
+ };
60
+ exports.InitialCompositionLoader = InitialCompositionLoader;
@@ -130,7 +130,7 @@ const Editor = () => {
130
130
  });
131
131
  return () => cleanup();
132
132
  }, [Root, waitForRoot]);
133
- 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)(preview_size_1.PreviewSizeContext.Provider, { value: previewSizeCtx, children: (0, jsx_runtime_1.jsx)(modals_1.ModalsContext.Provider, { value: modalsContext, children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.Timeline.TimelineInOutContext.Provider, { value: timelineInOutContextValue, children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.Timeline.SetTimelineInOutContext.Provider, { value: setTimelineInOutContextValue, 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.jsxs)(z_index_1.HigherZIndex, { onEscape: noop_1.noop, onOutsideClick: noop_1.noop, children: [(0, jsx_runtime_1.jsxs)("div", { style: background, children: [Root === null ? null : (0, jsx_runtime_1.jsx)(Root, {}), (0, jsx_runtime_1.jsx)(FramePersistor_1.FramePersistor, {}), 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 &&
133
+ 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)(preview_size_1.PreviewSizeContext.Provider, { value: previewSizeCtx, children: (0, jsx_runtime_1.jsx)(modals_1.ModalsContext.Provider, { value: modalsContext, children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.Timeline.TimelineInOutContext.Provider, { value: timelineInOutContextValue, children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.Timeline.SetTimelineInOutContext.Provider, { value: setTimelineInOutContextValue, 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.jsxs)(z_index_1.HigherZIndex, { onEscape: noop_1.noop, onOutsideClick: noop_1.noop, 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, {}), 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 &&
134
134
  modalContextType.type === 'new-comp' && ((0, jsx_runtime_1.jsx)(NewComposition_1.default, { initialCompType: modalContextType.compType })), modalContextType &&
135
135
  modalContextType.type === 'update' && ((0, jsx_runtime_1.jsx)(UpdateModal_1.UpdateModal, { info: modalContextType.info })), modalContextType &&
136
136
  modalContextType.type === 'shortcuts' && ((0, jsx_runtime_1.jsx)(KeyboardShortcutsModal_1.KeyboardShortcuts, {}))] }) }) }) }) }) }) }) }) }) }) }) }) }) }));
@@ -10,19 +10,34 @@ const GlobalKeybindings = () => {
10
10
  const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
11
11
  const { setCheckerboard } = (0, react_1.useContext)(checkerboard_1.CheckerboardContext);
12
12
  (0, react_1.useEffect)(() => {
13
- const nKey = keybindings.registerKeybinding('keypress', 'n', () => {
14
- setSelectedModal({
15
- type: 'new-comp',
16
- compType: 'composition',
17
- });
13
+ const nKey = keybindings.registerKeybinding({
14
+ event: 'keypress',
15
+ key: 'n',
16
+ callback: () => {
17
+ setSelectedModal({
18
+ type: 'new-comp',
19
+ compType: 'composition',
20
+ });
21
+ },
22
+ commandCtrlKey: false,
18
23
  });
19
- const cKey = keybindings.registerKeybinding('keypress', 't', () => {
20
- setCheckerboard((c) => !c);
24
+ const cKey = keybindings.registerKeybinding({
25
+ event: 'keypress',
26
+ key: 't',
27
+ callback: () => {
28
+ setCheckerboard((c) => !c);
29
+ },
30
+ commandCtrlKey: true,
21
31
  });
22
- const questionMark = keybindings.registerKeybinding('keypress', '?', () => {
23
- setSelectedModal({
24
- type: 'shortcuts',
25
- });
32
+ const questionMark = keybindings.registerKeybinding({
33
+ event: 'keypress',
34
+ key: '?',
35
+ callback: () => {
36
+ setSelectedModal({
37
+ type: 'shortcuts',
38
+ });
39
+ },
40
+ commandCtrlKey: false,
26
41
  });
27
42
  return () => {
28
43
  nKey.unregister();
@@ -99,13 +99,48 @@ const MenuContent = ({ onHide, values, preselectIndex, onNextMenu, onPreviousMen
99
99
  setSubMenuActivated('without-mouse');
100
100
  }, [onNextMenu, selectedItem, values]);
101
101
  (0, react_1.useEffect)(() => {
102
- const escapeBinding = keybindings.registerKeybinding('keydown', 'Escape', onEscape);
103
- const rightBinding = keybindings.registerKeybinding('keydown', 'ArrowRight', onArrowRight);
104
- const leftBinding = keybindings.registerKeybinding('keydown', 'ArrowLeft', onPreviousMenu);
105
- const downBinding = keybindings.registerKeybinding('keydown', 'ArrowDown', onArrowDown);
106
- const upBinding = keybindings.registerKeybinding('keydown', 'ArrowUp', onArrowUp);
107
- const enterBinding = keybindings.registerKeybinding('keydown', 'Enter', onEnter);
108
- const spaceBinding = keybindings.registerKeybinding('keyup', ' ', onEnter);
102
+ const escapeBinding = keybindings.registerKeybinding({
103
+ event: 'keydown',
104
+ key: 'Escape',
105
+ callback: onEscape,
106
+ commandCtrlKey: false,
107
+ });
108
+ const rightBinding = keybindings.registerKeybinding({
109
+ event: 'keydown',
110
+ key: 'ArrowRight',
111
+ commandCtrlKey: false,
112
+ callback: onArrowRight,
113
+ });
114
+ const leftBinding = keybindings.registerKeybinding({
115
+ event: 'keydown',
116
+ commandCtrlKey: false,
117
+ key: 'ArrowLeft',
118
+ callback: onPreviousMenu,
119
+ });
120
+ const downBinding = keybindings.registerKeybinding({
121
+ event: 'keydown',
122
+ key: 'ArrowDown',
123
+ commandCtrlKey: false,
124
+ callback: onArrowDown,
125
+ });
126
+ const upBinding = keybindings.registerKeybinding({
127
+ event: 'keydown',
128
+ key: 'ArrowUp',
129
+ callback: onArrowUp,
130
+ commandCtrlKey: false,
131
+ });
132
+ const enterBinding = keybindings.registerKeybinding({
133
+ event: 'keydown',
134
+ key: 'Enter',
135
+ callback: onEnter,
136
+ commandCtrlKey: false,
137
+ });
138
+ const spaceBinding = keybindings.registerKeybinding({
139
+ event: 'keyup',
140
+ key: ' ',
141
+ callback: onEnter,
142
+ commandCtrlKey: false,
143
+ });
109
144
  return () => {
110
145
  escapeBinding.unregister();
111
146
  leftBinding.unregister();
@@ -95,12 +95,42 @@ const PlayPause = ({ playbackRate, loop }) => {
95
95
  }, [seek, video]);
96
96
  const keybindings = (0, use_keybinding_1.useKeybinding)();
97
97
  (0, react_1.useEffect)(() => {
98
- const arrowLeft = keybindings.registerKeybinding('keydown', 'ArrowLeft', onArrowLeft);
99
- const arrowRight = keybindings.registerKeybinding('keydown', 'ArrowRight', onArrowRight);
100
- const space = keybindings.registerKeybinding('keydown', ' ', onSpace);
101
- const enter = keybindings.registerKeybinding('keydown', 'enter', onEnter);
102
- const a = keybindings.registerKeybinding('keydown', 'a', jumpToStart);
103
- const e = keybindings.registerKeybinding('keydown', 'e', jumpToEnd);
98
+ const arrowLeft = keybindings.registerKeybinding({
99
+ event: 'keydown',
100
+ key: 'ArrowLeft',
101
+ callback: onArrowLeft,
102
+ commandCtrlKey: false,
103
+ });
104
+ const arrowRight = keybindings.registerKeybinding({
105
+ event: 'keydown',
106
+ key: 'ArrowRight',
107
+ callback: onArrowRight,
108
+ commandCtrlKey: false,
109
+ });
110
+ const space = keybindings.registerKeybinding({
111
+ event: 'keydown',
112
+ key: ' ',
113
+ callback: onSpace,
114
+ commandCtrlKey: false,
115
+ });
116
+ const enter = keybindings.registerKeybinding({
117
+ event: 'keydown',
118
+ key: 'enter',
119
+ callback: onEnter,
120
+ commandCtrlKey: false,
121
+ });
122
+ const a = keybindings.registerKeybinding({
123
+ event: 'keydown',
124
+ key: 'a',
125
+ callback: jumpToStart,
126
+ commandCtrlKey: false,
127
+ });
128
+ const e = keybindings.registerKeybinding({
129
+ event: 'keydown',
130
+ key: 'e',
131
+ callback: jumpToEnd,
132
+ commandCtrlKey: false,
133
+ });
104
134
  return () => {
105
135
  arrowLeft.unregister();
106
136
  arrowRight.unregister();
@@ -54,9 +54,24 @@ const PlaybackKeyboardShortcutsManager = ({ setPlaybackRate }) => {
54
54
  play();
55
55
  }, [play, playing, setPlaybackRate]);
56
56
  (0, react_1.useEffect)(() => {
57
- const jKey = keybindings.registerKeybinding('keydown', 'j', onJKey);
58
- const kKey = keybindings.registerKeybinding('keydown', 'k', onKKey);
59
- const lKey = keybindings.registerKeybinding('keydown', 'l', onLKey);
57
+ const jKey = keybindings.registerKeybinding({
58
+ event: 'keydown',
59
+ key: 'j',
60
+ callback: onJKey,
61
+ commandCtrlKey: false,
62
+ });
63
+ const kKey = keybindings.registerKeybinding({
64
+ event: 'keydown',
65
+ key: 'k',
66
+ callback: onKKey,
67
+ commandCtrlKey: false,
68
+ });
69
+ const lKey = keybindings.registerKeybinding({
70
+ event: 'keydown',
71
+ key: 'l',
72
+ callback: onLKey,
73
+ commandCtrlKey: false,
74
+ });
60
75
  return () => {
61
76
  jKey.unregister();
62
77
  kKey.unregister();
@@ -87,14 +87,29 @@ const TimelineInOutPointToggle = () => {
87
87
  });
88
88
  }, [setInAndOutFrames]);
89
89
  (0, react_1.useEffect)(() => {
90
- const iKey = keybindings.registerKeybinding('keypress', 'i', () => {
91
- onInMark();
90
+ const iKey = keybindings.registerKeybinding({
91
+ event: 'keypress',
92
+ key: 'i',
93
+ callback: () => {
94
+ onInMark();
95
+ },
96
+ commandCtrlKey: false,
92
97
  });
93
- const oKey = keybindings.registerKeybinding('keypress', 'o', () => {
94
- onOutMark();
98
+ const oKey = keybindings.registerKeybinding({
99
+ event: 'keypress',
100
+ key: 'o',
101
+ callback: () => {
102
+ onOutMark();
103
+ },
104
+ commandCtrlKey: false,
95
105
  });
96
- const xKey = keybindings.registerKeybinding('keypress', 'x', () => {
97
- onInOutClear();
106
+ const xKey = keybindings.registerKeybinding({
107
+ event: 'keypress',
108
+ key: 'x',
109
+ callback: () => {
110
+ onInOutClear();
111
+ },
112
+ commandCtrlKey: false,
98
113
  });
99
114
  return () => {
100
115
  oKey.unregister();
@@ -1,6 +1,11 @@
1
1
  import type { KeyEventType } from '../state/keybindings';
2
2
  export declare const useKeybinding: () => {
3
- registerKeybinding: (event: KeyEventType, key: string, callback: (e: KeyboardEvent) => void) => {
3
+ registerKeybinding: (options: {
4
+ event: KeyEventType;
5
+ key: string;
6
+ commandCtrlKey: boolean;
7
+ callback: (e: KeyboardEvent) => void;
8
+ }) => {
4
9
  unregister: () => void;
5
10
  };
6
11
  isHighestContext: boolean;
@@ -8,21 +8,26 @@ const useKeybinding = () => {
8
8
  const [paneId] = (0, react_1.useState)(() => String(Math.random()));
9
9
  const context = (0, react_1.useContext)(keybindings_1.KeybindingContext);
10
10
  const { isHighestContext } = (0, z_index_1.useZIndex)();
11
- const registerKeybinding = (0, react_1.useCallback)((event, key, callback) => {
11
+ const registerKeybinding = (0, react_1.useCallback)((options) => {
12
12
  if (!isHighestContext) {
13
13
  return {
14
14
  unregister: () => undefined,
15
15
  };
16
16
  }
17
17
  const listener = (e) => {
18
- if (e.key.toLowerCase() === key.toLowerCase()) {
19
- callback(e);
18
+ const commandKey = window.navigator.platform.startsWith('Mac')
19
+ ? e.metaKey
20
+ : e.ctrlKey;
21
+ if (e.key.toLowerCase() === options.key.toLowerCase() &&
22
+ options.commandCtrlKey === commandKey) {
23
+ options.callback(e);
24
+ e.preventDefault();
20
25
  }
21
26
  };
22
27
  const toRegister = {
23
28
  registeredFromPane: paneId,
24
- event,
25
- key,
29
+ event: options.event,
30
+ key: options.key,
26
31
  callback: listener,
27
32
  id: String(Math.random()),
28
33
  };
@@ -4,7 +4,9 @@ exports.KeybindingContextProvider = exports.KeybindingContext = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  exports.KeybindingContext = (0, react_1.createContext)({
7
- registerKeybinding: () => undefined,
7
+ registerKeybinding: () => {
8
+ throw new Error('Has no keybinding context');
9
+ },
8
10
  unregisterKeybinding: () => undefined,
9
11
  unregisterPane: () => undefined,
10
12
  });
@@ -12,7 +12,12 @@ exports.ZIndexContext = (0, react_1.createContext)({
12
12
  const EscapeHook = ({ onEscape }) => {
13
13
  const keybindings = (0, use_keybinding_1.useKeybinding)();
14
14
  (0, react_1.useEffect)(() => {
15
- const escape = keybindings.registerKeybinding('keydown', 'Escape', onEscape);
15
+ const escape = keybindings.registerKeybinding({
16
+ event: 'keydown',
17
+ key: 'Escape',
18
+ callback: onEscape,
19
+ commandCtrlKey: false,
20
+ });
16
21
  return () => {
17
22
  escape.unregister();
18
23
  };
@@ -1,2 +1,4 @@
1
1
  import React from 'react';
2
- export declare const AskOnDiscord: React.FC;
2
+ export declare const AskOnDiscord: React.FC<{
3
+ canHaveKeyboardShortcuts: boolean;
4
+ }>;
@@ -4,11 +4,29 @@ exports.AskOnDiscord = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const DISCORD_LINK = 'https://remotion.dev/discord';
6
6
  const react_1 = require("react");
7
+ const use_keybinding_1 = require("../../../editor/helpers/use-keybinding");
7
8
  const Button_1 = require("./Button");
8
- const AskOnDiscord = () => {
9
+ const ShortcutHint_1 = require("./ShortcutHint");
10
+ const AskOnDiscord = ({ canHaveKeyboardShortcuts }) => {
9
11
  const openInBrowser = (0, react_1.useCallback)(() => {
10
12
  window.open(DISCORD_LINK, '_blank');
11
13
  }, []);
12
- return (0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: openInBrowser, children: "Ask on Discord" });
14
+ const { registerKeybinding } = (0, use_keybinding_1.useKeybinding)();
15
+ (0, react_1.useEffect)(() => {
16
+ if (!canHaveKeyboardShortcuts) {
17
+ return;
18
+ }
19
+ const onEditor = () => {
20
+ openInBrowser();
21
+ };
22
+ const { unregister } = registerKeybinding({
23
+ event: 'keydown',
24
+ key: 'd',
25
+ callback: onEditor,
26
+ commandCtrlKey: true,
27
+ });
28
+ return () => unregister();
29
+ }, [canHaveKeyboardShortcuts, openInBrowser, registerKeybinding]);
30
+ return ((0, jsx_runtime_1.jsxs)(Button_1.Button, { onClick: openInBrowser, children: ["Ask on Discord", ' ', canHaveKeyboardShortcuts ? ((0, jsx_runtime_1.jsx)(ShortcutHint_1.ShortcutHint, { keyToPress: "d", cmdOrCtrl: true })) : null] }));
13
31
  };
14
32
  exports.AskOnDiscord = AskOnDiscord;
@@ -2,16 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Button = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const INPUT_BORDER_COLOR_UNHOVERED = 'rgba(0, 0, 0, 0.6)';
6
- const INPUT_BACKGROUND = '#2f363d';
5
+ const colors_1 = require("../../../editor/helpers/colors");
7
6
  const button = {
8
- border: `1px solid ${INPUT_BORDER_COLOR_UNHOVERED}`,
7
+ border: `1px solid ${colors_1.INPUT_BORDER_COLOR_UNHOVERED}`,
9
8
  borderRadius: 4,
10
- backgroundColor: INPUT_BACKGROUND,
9
+ backgroundColor: colors_1.INPUT_BACKGROUND,
11
10
  appearance: 'none',
12
11
  fontFamily: 'inherit',
13
12
  fontSize: 14,
14
13
  color: 'white',
14
+ flexDirection: 'row',
15
15
  };
16
16
  const buttonContainer = {
17
17
  padding: 10,