@remotion/studio 4.0.527 → 4.0.529

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 (367) hide show
  1. package/dist/Studio.js +2 -0
  2. package/dist/components/AgentPrompt.js +3 -4
  3. package/dist/components/AppLaunchButton.d.ts +0 -1
  4. package/dist/components/AppLaunchButton.js +2 -5
  5. package/dist/components/AssetAudioVolume.js +2 -2
  6. package/dist/components/AssetSelectorItem.js +5 -5
  7. package/dist/components/AudioWaveform.d.ts +1 -0
  8. package/dist/components/AudioWaveform.js +10 -14
  9. package/dist/components/Button.d.ts +1 -1
  10. package/dist/components/Button.js +2 -2
  11. package/dist/components/CaptionInspector.js +1 -1
  12. package/dist/components/CaptionTextEditor.js +1 -1
  13. package/dist/components/CheckboardToggle.js +1 -1
  14. package/dist/components/CodeFrame.js +1 -1
  15. package/dist/components/CodingAgentButton.js +1 -1
  16. package/dist/components/ColorPicker/ColorPicker.d.ts +1 -1
  17. package/dist/components/ColorPicker/ColorPicker.js +2 -2
  18. package/dist/components/ColorPicker/ColorPickerPopup.js +1 -1
  19. package/dist/components/ColorPicker/checker.d.ts +1 -1
  20. package/dist/components/CompactExplanation.js +3 -3
  21. package/dist/components/CompositionSelectorItem.js +2 -2
  22. package/dist/components/ConfigSelect.js +1 -1
  23. package/dist/components/ConfigureDefaultEditorModal.js +2 -2
  24. package/dist/components/ControlButton.d.ts +0 -1
  25. package/dist/components/ControlButton.js +2 -2
  26. package/dist/components/CurrentAsset.js +4 -3
  27. package/dist/components/EditorRuler/Ruler.js +6 -3
  28. package/dist/components/EffectPickerModal.js +69 -43
  29. package/dist/components/ElementInstallConfirmation.js +3 -3
  30. package/dist/components/ElementLibrariesSettings.d.ts +2 -0
  31. package/dist/components/ElementLibrariesSettings.js +200 -0
  32. package/dist/components/ElementLibraryModal.js +1 -1
  33. package/dist/components/FramePersistor.js +3 -3
  34. package/dist/components/FullscreenToggle.js +1 -1
  35. package/dist/components/InitialCompositionLoader.js +5 -3
  36. package/dist/components/InlineAction.d.ts +2 -2
  37. package/dist/components/InlineAction.js +2 -3
  38. package/dist/components/InlineEditableTitle.d.ts +1 -1
  39. package/dist/components/InlineEditableTitle.js +3 -3
  40. package/dist/components/InspectorLocationCopy.js +1 -1
  41. package/dist/components/InspectorOpenInEditor.js +14 -3
  42. package/dist/components/InspectorPanel/AlignmentControls.js +31 -12
  43. package/dist/components/InspectorPanel/CollapsibleInspectorSectionHeader.js +1 -1
  44. package/dist/components/InspectorPanel/CompositionInspector.js +1 -5
  45. package/dist/components/InspectorPanel/CompositionMetadata.js +4 -4
  46. package/dist/components/InspectorPanel/EasingInspector.js +7 -3
  47. package/dist/components/InspectorPanel/ElementLibraryButton.js +3 -14
  48. package/dist/components/InspectorPanel/KeyframeEasingNavigator.js +6 -8
  49. package/dist/components/InspectorPanel/KeyframeInspector.js +29 -25
  50. package/dist/components/InspectorPanel/KeyframeSettings.js +16 -11
  51. package/dist/components/InspectorPanel/MultiSequenceField.js +1 -1
  52. package/dist/components/InspectorPanel/MultiSequenceInspector.js +2 -7
  53. package/dist/components/InspectorPanel/MultiSequenceNumberField.js +2 -2
  54. package/dist/components/InspectorPanel/SequenceInspectorHeader.d.ts +3 -1
  55. package/dist/components/InspectorPanel/SequenceInspectorHeader.js +1 -1
  56. package/dist/components/InspectorPanel/SequenceSelectionInspector.js +33 -14
  57. package/dist/components/InspectorPanel/SequenceWrapAction.d.ts +8 -0
  58. package/dist/components/InspectorPanel/SequenceWrapAction.js +143 -0
  59. package/dist/components/InspectorPanel/common.d.ts +6 -2
  60. package/dist/components/InspectorPanel/common.js +25 -9
  61. package/dist/components/InspectorPanel/easing-inspector-selection.d.ts +2 -1
  62. package/dist/components/InspectorPanel/easing-inspector-selection.js +4 -3
  63. package/dist/components/InspectorPanel/keyframe-inspector-frame.d.ts +2 -1
  64. package/dist/components/InspectorPanel/keyframe-inspector-frame.js +2 -2
  65. package/dist/components/InspectorSequenceSection.d.ts +1 -0
  66. package/dist/components/InspectorSequenceSection.js +12 -10
  67. package/dist/components/InspectorSourceLocation.js +2 -2
  68. package/dist/components/KeyboardShortcutsSettings.js +2 -2
  69. package/dist/components/LicenseKeyValidation.js +2 -2
  70. package/dist/components/LoopToggle.js +1 -1
  71. package/dist/components/Menu/MenuSubItem.js +4 -2
  72. package/dist/components/Menu/styles.d.ts +2 -2
  73. package/dist/components/MenuBuildIndicator.js +1 -1
  74. package/dist/components/MenuCompositionName.js +1 -1
  75. package/dist/components/Modals.js +7 -6
  76. package/dist/components/ModelManager.js +10 -9
  77. package/dist/components/MuteToggle.js +1 -1
  78. package/dist/components/NewComposition/CancelButton.js +10 -4
  79. package/dist/components/NewComposition/ComboBox.d.ts +1 -1
  80. package/dist/components/NewComposition/ComboBox.js +2 -2
  81. package/dist/components/NewComposition/DuplicateComposition.js +1 -1
  82. package/dist/components/NewComposition/InputDragger.d.ts +4 -2
  83. package/dist/components/NewComposition/InputDragger.js +29 -10
  84. package/dist/components/NewComposition/NewComposition.js +8 -7
  85. package/dist/components/NewComposition/RemInput.d.ts +1 -1
  86. package/dist/components/NewComposition/menu-typeahead.js +1 -1
  87. package/dist/components/OpenIssueButton.js +1 -1
  88. package/dist/components/OutlineToggle.js +1 -1
  89. package/dist/components/PlayPause.js +1 -1
  90. package/dist/components/PlaybackRateSelector.js +1 -1
  91. package/dist/components/PreviewToolbarOverflowButton.js +1 -1
  92. package/dist/components/QuickSwitcher/ExplorerQuickSwitcherTrigger.js +1 -1
  93. package/dist/components/RenderButton.js +2 -4
  94. package/dist/components/RenderModal/InfoBubble.d.ts +1 -1
  95. package/dist/components/RenderModal/InfoBubble.js +2 -2
  96. package/dist/components/RenderModal/NumberSetting.js +1 -1
  97. package/dist/components/RenderModal/OptionExplainerBubble.js +2 -2
  98. package/dist/components/RenderModal/RenderModalAdvanced.js +2 -2
  99. package/dist/components/RenderModal/RenderModalAudio.js +2 -2
  100. package/dist/components/RenderModal/RenderModalBasic.js +3 -3
  101. package/dist/components/RenderModal/RenderModalEncoding.js +4 -4
  102. package/dist/components/RenderModal/RenderModalOutputName.js +1 -1
  103. package/dist/components/RenderModal/SchemaEditor/SchemaLabel.js +1 -1
  104. package/dist/components/RenderModal/SchemaEditor/ZodDiscriminatedUnionEditor.js +1 -1
  105. package/dist/components/RenderModal/SchemaEditor/ZodEnumEditor.js +1 -1
  106. package/dist/components/RenderModal/SchemaEditor/ZodFieldValidation.js +1 -1
  107. package/dist/components/RenderModal/SchemaEditor/ZodStaticFileEditor.js +1 -1
  108. package/dist/components/RenderModal/SchemaEditor/create-zod-values.js +1 -2
  109. package/dist/components/RenderModal/WebRenderModalAdvanced.js +2 -2
  110. package/dist/components/RenderModal/WebRenderModalAudio.js +2 -2
  111. package/dist/components/RenderModal/WebRenderModalBasic.js +3 -3
  112. package/dist/components/RenderModal/WebRenderModalPicture.js +2 -3
  113. package/dist/components/RenderQueue/CaptionQueueItem.js +14 -5
  114. package/dist/components/RenderQueue/CaptionQueueProcessor.js +30 -7
  115. package/dist/components/RenderQueue/QueueJobError.d.ts +8 -0
  116. package/dist/components/RenderQueue/QueueJobError.js +24 -0
  117. package/dist/components/RenderQueue/QueueJobErrorModal.d.ts +8 -0
  118. package/dist/components/RenderQueue/QueueJobErrorModal.js +63 -0
  119. package/dist/components/RenderQueue/RenderQueueError.js +1 -1
  120. package/dist/components/RenderQueue/RenderQueueItemCancelButton.d.ts +3 -1
  121. package/dist/components/RenderQueue/RenderQueueItemCancelButton.js +11 -4
  122. package/dist/components/RenderQueue/RenderQueueOutputName.js +1 -1
  123. package/dist/components/RenderQueue/RenderQueueProgressMessage.js +1 -1
  124. package/dist/components/RenderQueue/RenderQueueRepeat.d.ts +3 -1
  125. package/dist/components/RenderQueue/RenderQueueRepeat.js +20 -3
  126. package/dist/components/RenderQueue/VideoMattingQueueItem.js +24 -27
  127. package/dist/components/RenderQueue/VideoMattingQueueProcessor.js +68 -28
  128. package/dist/components/RenderQueue/caption-job-types.d.ts +3 -1
  129. package/dist/components/RenderQueue/context.d.ts +4 -0
  130. package/dist/components/RenderQueue/context.js +58 -8
  131. package/dist/components/RenderQueue/index.js +2 -3
  132. package/dist/components/RenderQueue/load-model-for-job.d.ts +2 -1
  133. package/dist/components/RenderQueue/load-model-for-job.js +5 -1
  134. package/dist/components/RenderQueue/video-matting-job-types.d.ts +13 -6
  135. package/dist/components/RenderingSettings.js +6 -6
  136. package/dist/components/RulersAndGuidesToggle.js +1 -1
  137. package/dist/components/SegmentedButton.d.ts +0 -2
  138. package/dist/components/SegmentedButton.js +6 -6
  139. package/dist/components/SelectedOutlineCropControls.js +2 -1
  140. package/dist/components/SelectedOutlineEditingHandles.js +9 -2
  141. package/dist/components/SelectedOutlineElement.js +9 -3
  142. package/dist/components/SelectedOutlineKeyboardControls.d.ts +2 -4
  143. package/dist/components/SelectedOutlineKeyboardControls.js +4 -22
  144. package/dist/components/SelectedOutlineOverlay.js +165 -106
  145. package/dist/components/SelectedOutlinePathPoints.d.ts +8 -0
  146. package/dist/components/SelectedOutlinePathPoints.js +457 -0
  147. package/dist/components/SelectedOutlinePolygon.js +21 -46
  148. package/dist/components/SelectedOutlineRenderer.d.ts +3 -5
  149. package/dist/components/SelectedOutlineRenderer.js +32 -136
  150. package/dist/components/SelectedOutlineTransformOriginHandle.js +3 -2
  151. package/dist/components/SelectedOutlineUvControls.js +12 -7
  152. package/dist/components/SettingsButton.js +1 -1
  153. package/dist/components/SettingsModal.js +30 -3
  154. package/dist/components/SettingsModalFooter.d.ts +1 -0
  155. package/dist/components/SettingsModalFooter.js +7 -3
  156. package/dist/components/ShowOutlinesProvider.js +1 -1
  157. package/dist/components/SizeSelector.js +1 -1
  158. package/dist/components/SkillsSettings.d.ts +0 -1
  159. package/dist/components/SkillsSettings.js +14 -15
  160. package/dist/components/SnappingToggle.js +1 -1
  161. package/dist/components/Splitter/SplitterElement.js +1 -2
  162. package/dist/components/StudioSettings.js +2 -2
  163. package/dist/components/TimeValue.js +2 -4
  164. package/dist/components/Timeline/EasingEditorModal.js +3 -3
  165. package/dist/components/Timeline/LoopedTimelineIndicators.d.ts +1 -0
  166. package/dist/components/Timeline/LoopedTimelineIndicators.js +7 -6
  167. package/dist/components/Timeline/TimelineArrayField.js +3 -3
  168. package/dist/components/Timeline/TimelineAssetField.js +3 -3
  169. package/dist/components/Timeline/TimelineClipboardKeybindings.js +0 -1
  170. package/dist/components/Timeline/TimelineColorField.js +3 -3
  171. package/dist/components/Timeline/TimelineDragHandler.js +3 -3
  172. package/dist/components/Timeline/TimelineDuplicateCount.js +1 -1
  173. package/dist/components/Timeline/TimelineEffectItem.js +1 -1
  174. package/dist/components/Timeline/TimelineEffectPropItem.d.ts +1 -0
  175. package/dist/components/Timeline/TimelineEffectPropItem.js +12 -5
  176. package/dist/components/Timeline/TimelineEnumField.js +1 -1
  177. package/dist/components/Timeline/TimelineExpandedRow.d.ts +1 -0
  178. package/dist/components/Timeline/TimelineExpandedRow.js +5 -4
  179. package/dist/components/Timeline/TimelineExpandedSection.d.ts +1 -0
  180. package/dist/components/Timeline/TimelineExpandedSection.js +2 -2
  181. package/dist/components/Timeline/TimelineExpandedTrackKeyframes.d.ts +1 -0
  182. package/dist/components/Timeline/TimelineExpandedTrackKeyframes.js +3 -1
  183. package/dist/components/Timeline/TimelineFieldLabel.js +1 -1
  184. package/dist/components/Timeline/TimelineFontFamilyField.js +14 -14
  185. package/dist/components/Timeline/TimelineFontWeightField.js +1 -1
  186. package/dist/components/Timeline/TimelineKeyframeControls.d.ts +1 -0
  187. package/dist/components/Timeline/TimelineKeyframeControls.js +42 -31
  188. package/dist/components/Timeline/TimelineKeyframeDiamond.js +1 -1
  189. package/dist/components/Timeline/TimelineKeyframeEasingLine.js +1 -1
  190. package/dist/components/Timeline/TimelineLayerChildren.js +2 -2
  191. package/dist/components/Timeline/TimelineList.js +16 -8
  192. package/dist/components/Timeline/TimelineMediaInfo.js +1 -1
  193. package/dist/components/Timeline/TimelineNumberField.js +2 -4
  194. package/dist/components/Timeline/TimelinePrimitiveFieldValue.js +1 -1
  195. package/dist/components/Timeline/TimelineScaleField.js +1 -1
  196. package/dist/components/Timeline/TimelineSchemaField.js +2 -2
  197. package/dist/components/Timeline/TimelineSelection.d.ts +9 -9
  198. package/dist/components/Timeline/TimelineSelection.js +16 -9
  199. package/dist/components/Timeline/TimelineSequence.d.ts +3 -1
  200. package/dist/components/Timeline/TimelineSequence.js +40 -22
  201. package/dist/components/Timeline/TimelineSequenceItem.d.ts +1 -0
  202. package/dist/components/Timeline/TimelineSequenceItem.js +52 -24
  203. package/dist/components/Timeline/TimelineSequenceName.d.ts +1 -0
  204. package/dist/components/Timeline/TimelineSequenceName.js +38 -6
  205. package/dist/components/Timeline/TimelineSequencePropItem.d.ts +3 -0
  206. package/dist/components/Timeline/TimelineSequencePropItem.js +266 -27
  207. package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.d.ts +11 -13
  208. package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +98 -77
  209. package/dist/components/Timeline/TimelineTextContentField.js +27 -4
  210. package/dist/components/Timeline/TimelineTimeIndicators.js +10 -5
  211. package/dist/components/Timeline/TimelineTrack.js +1 -1
  212. package/dist/components/Timeline/TimelineTrimTooltip.d.ts +11 -0
  213. package/dist/components/Timeline/TimelineTrimTooltip.js +41 -0
  214. package/dist/components/Timeline/TimelineVideoInfo.d.ts +1 -0
  215. package/dist/components/Timeline/TimelineVideoInfo.js +13 -10
  216. package/dist/components/Timeline/TimelineZoomControls.js +2 -2
  217. package/dist/components/Timeline/delete-selected-keyframe.js +22 -8
  218. package/dist/components/Timeline/delete-selected-timeline-item.d.ts +1 -5
  219. package/dist/components/Timeline/delete-selected-timeline-item.js +7 -93
  220. package/dist/components/Timeline/get-animation-item-selection-for-frame.d.ts +2 -1
  221. package/dist/components/Timeline/get-animation-item-selection-for-frame.js +7 -5
  222. package/dist/components/Timeline/get-keyframed-sequence-drag-targets.d.ts +23 -0
  223. package/dist/components/Timeline/get-keyframed-sequence-drag-targets.js +57 -0
  224. package/dist/components/Timeline/get-node-keyframes.d.ts +2 -1
  225. package/dist/components/Timeline/get-node-keyframes.js +6 -4
  226. package/dist/components/Timeline/get-playback-rate-keyframe-changes.d.ts +21 -0
  227. package/dist/components/Timeline/get-playback-rate-keyframe-changes.js +142 -0
  228. package/dist/components/Timeline/get-sequence-split-menu-item.js +2 -2
  229. package/dist/components/Timeline/get-timeline-keyframes.d.ts +15 -2
  230. package/dist/components/Timeline/get-timeline-keyframes.js +44 -6
  231. package/dist/components/Timeline/keyframe-clipboard.js +17 -3
  232. package/dist/components/Timeline/split-selected-timeline-item.js +4 -1
  233. package/dist/components/Timeline/timeline-field-display-utils.js +1 -0
  234. package/dist/components/Timeline/timeline-field-row-layout.js +1 -0
  235. package/dist/components/Timeline/use-delete-timeline-items.js +17 -11
  236. package/dist/components/Timeline/use-expanded-track-keyframe-rows.d.ts +2 -1
  237. package/dist/components/Timeline/use-expanded-track-keyframe-rows.js +3 -1
  238. package/dist/components/Timeline/use-sequence-freeze-frame-menu-item.js +7 -3
  239. package/dist/components/Timeline/use-timeline-expanded-tree.d.ts +1 -1
  240. package/dist/components/Timeline/use-timeline-expanded-tree.js +3 -0
  241. package/dist/components/Timeline/use-timeline-keyframe-drag.js +28 -19
  242. package/dist/components/TimelineCombobox.d.ts +1 -1
  243. package/dist/components/TimelineCombobox.js +5 -6
  244. package/dist/components/TimelineInOutToggle.js +1 -1
  245. package/dist/components/Transcription/Models.js +1 -1
  246. package/dist/components/Transcription/TranscriptionModal.js +9 -7
  247. package/dist/components/Transcription/resample-media-to-16-khz.d.ts +2 -1
  248. package/dist/components/Transcription/resample-media-to-16-khz.js +20 -2
  249. package/dist/components/UndoRedoButtons.js +1 -1
  250. package/dist/components/UpdatesSettings.js +4 -2
  251. package/dist/components/VideoMatting/Models.js +1 -1
  252. package/dist/components/VideoMatting/VideoMattingModal.js +34 -51
  253. package/dist/components/VideoMatting/VideoMattingModalWithOptionalPackage.js +1 -1
  254. package/dist/components/WebMcp.js +22 -40
  255. package/dist/components/composition-drop-preview.js +1 -0
  256. package/dist/components/effect-drag-and-drop.d.ts +13 -5
  257. package/dist/components/effect-drag-and-drop.js +19 -4
  258. package/dist/components/get-open-in-menu-items.d.ts +2 -1
  259. package/dist/components/get-open-in-menu-items.js +17 -1
  260. package/dist/components/selected-outline-drag.d.ts +1 -6
  261. package/dist/components/selected-outline-drag.js +22 -6
  262. package/dist/components/selected-outline-geometry.d.ts +2 -18
  263. package/dist/components/selected-outline-measurement.d.ts +23 -41
  264. package/dist/components/selected-outline-measurement.js +14 -252
  265. package/dist/components/selected-outline-order.d.ts +4 -11
  266. package/dist/components/selected-outline-order.js +2 -254
  267. package/dist/components/selected-outline-snap.d.ts +1 -1
  268. package/dist/components/selected-outline-snap.js +2 -1
  269. package/dist/components/selected-outline-types.d.ts +20 -28
  270. package/dist/components/selected-outline-uv.d.ts +4 -4
  271. package/dist/components/selected-outline-uv.js +6 -111
  272. package/dist/components/sequence-props-api.js +0 -10
  273. package/dist/components/use-selected-outline-control-target.js +12 -21
  274. package/dist/components/wrap-jsx-node-api.d.ts +2 -0
  275. package/dist/components/wrap-jsx-node-api.js +13 -0
  276. package/dist/error-overlay/remotion-overlay/CompositionIdListItem.js +1 -1
  277. package/dist/error-overlay/remotion-overlay/OpenInEditor.js +46 -3
  278. package/dist/error-overlay/remotion-overlay/StackFrame.js +32 -3
  279. package/dist/esm/{CaptionQueueProcessor-npa6szn1.mjs → CaptionQueueProcessor-qj37c6r2.mjs} +63 -17
  280. package/dist/esm/LazyModels-rjsrgap5.mjs +12 -0
  281. package/dist/esm/LazyModels-rnbjx98t.mjs +12 -0
  282. package/dist/esm/{TranscriptionModal-79m5wgcj.mjs → TranscriptionModal-y7zeqj2d.mjs} +21 -21
  283. package/dist/esm/{VideoMattingModal-31pew0xj.mjs → VideoMattingModal-jzrkhah1.mjs} +51 -69
  284. package/dist/esm/{VideoMattingQueueProcessor-t1hgm2rm.mjs → VideoMattingQueueProcessor-4tkj0f4k.mjs} +69 -26
  285. package/dist/esm/{index-v4tr1bft.mjs → index-09txs1bj.mjs} +5 -0
  286. package/dist/esm/{index-e855w59j.mjs → index-19d05w9e.mjs} +3 -5
  287. package/dist/esm/index-24wge6y5.mjs +102 -0
  288. package/dist/esm/index-3qb54r5j.mjs +157 -0
  289. package/dist/esm/{index-n5gmcvhz.mjs → index-5ycb9e9q.mjs} +2 -4
  290. package/dist/esm/{index-s7qa3xbw.mjs → index-cakcjjy2.mjs} +7 -7
  291. package/dist/esm/{index-r1gr3j3a.mjs → index-dfy1t576.mjs} +50 -1
  292. package/dist/esm/{index-614tdz2q.mjs → index-f9hxt5yh.mjs} +3 -3
  293. package/dist/esm/{index-9x6e1dq0.mjs → index-hqxc6tzp.mjs} +40 -6
  294. package/dist/esm/{index-ac5550e7.mjs → index-jc22b2wb.mjs} +3 -3
  295. package/dist/esm/{index-5t2dwxsk.mjs → index-m01zjph7.mjs} +261 -25
  296. package/dist/esm/{index-ppspzgn9.mjs → index-m2a95v3p.mjs} +4904 -4951
  297. package/dist/esm/{index-9xxg6218.mjs → index-qve7mdfp.mjs} +19 -1
  298. package/dist/esm/{index-vxwg66ar.mjs → index-r9bj4tta.mjs} +47 -60
  299. package/dist/esm/{index-r0ejh5sy.mjs → index-vnc2wdfd.mjs} +44 -27
  300. package/dist/esm/{index-21hxsfaa.mjs → index-vtr5qzam.mjs} +6 -25
  301. package/dist/esm/{index-4zen9prq.mjs → index-x7kg7jqv.mjs} +6809 -5640
  302. package/dist/esm/index.mjs +4 -5
  303. package/dist/esm/internals.mjs +13 -13
  304. package/dist/esm/previewEntry.mjs +18 -15
  305. package/dist/esm/renderEntry.mjs +5 -1
  306. package/dist/helpers/calculate-timeline.d.ts +5 -1
  307. package/dist/helpers/calculate-timeline.js +1 -1
  308. package/dist/helpers/checkerboard-background.d.ts +2 -2
  309. package/dist/helpers/checkerboard-background.js +1 -1
  310. package/dist/helpers/colors.d.ts +131 -112
  311. package/dist/helpers/colors.js +121 -100
  312. package/dist/helpers/create-folder-tree.js +2 -1
  313. package/dist/helpers/editor-guide-selection.d.ts +1 -1
  314. package/dist/helpers/editor-ruler.js +23 -12
  315. package/dist/helpers/get-connected-compositions.d.ts +6 -1
  316. package/dist/helpers/get-connected-compositions.js +1 -1
  317. package/dist/helpers/get-sequence-double-click-action.js +1 -1
  318. package/dist/helpers/get-sequence-visible-range.d.ts +1 -1
  319. package/dist/helpers/get-sequence-visible-range.js +2 -5
  320. package/dist/helpers/get-timeline-nestedness.d.ts +1 -1
  321. package/dist/helpers/get-timeline-nestedness.js +1 -1
  322. package/dist/helpers/get-timeline-sequence-sort-key.d.ts +1 -1
  323. package/dist/helpers/get-timeline-sequence-sort-key.js +1 -1
  324. package/dist/helpers/hoverable.js +4 -4
  325. package/dist/helpers/inject-css.js +5 -7
  326. package/dist/helpers/prism-vsc-dark-plus.d.ts +1 -1
  327. package/dist/helpers/prism-vsc-dark-plus.js +52 -51
  328. package/dist/helpers/resolve-studio-color.d.ts +1 -0
  329. package/dist/helpers/resolve-studio-color.js +11 -0
  330. package/dist/helpers/studio-css-variables.d.ts +1 -0
  331. package/dist/helpers/studio-css-variables.js +104 -0
  332. package/dist/helpers/studio-pixel-ratio.d.ts +1 -0
  333. package/dist/helpers/studio-pixel-ratio.js +7 -0
  334. package/dist/helpers/timeline-node-path-key.d.ts +1 -1
  335. package/dist/helpers/timeline-node-path-key.js +2 -2
  336. package/dist/helpers/use-runtime-values.js +2 -28
  337. package/dist/hot-middleware-client/client.js +5 -3
  338. package/dist/icons/align-center-horizontal.js +2 -1
  339. package/dist/icons/align-left.js +2 -1
  340. package/dist/icons/align-right.js +2 -1
  341. package/dist/icons/{separation.d.ts → background-removal.d.ts} +1 -1
  342. package/dist/icons/background-removal.js +9 -0
  343. package/dist/icons/snowflake.js +1 -3
  344. package/dist/icons/{scissors.d.ts → split.d.ts} +1 -1
  345. package/dist/icons/split.js +8 -0
  346. package/dist/icons/trash.js +2 -2
  347. package/dist/icons/wrap.d.ts +4 -0
  348. package/dist/icons/wrap.js +10 -0
  349. package/dist/previewEntry.js +2 -0
  350. package/dist/renderEntry.js +2 -0
  351. package/dist/state/modals.d.ts +15 -1
  352. package/dist/state/timeline-sequence-hover.d.ts +6 -16
  353. package/dist/state/timeline-sequence-hover.js +6 -67
  354. package/package.json +20 -19
  355. package/dist/components/Timeline/get-easing-selection-after-keyframe-delete.d.ts +0 -15
  356. package/dist/components/Timeline/get-easing-selection-after-keyframe-delete.js +0 -31
  357. package/dist/esm/LazyModels-nh3c8h9p.mjs +0 -12
  358. package/dist/esm/LazyModels-rr5v8h5y.mjs +0 -12
  359. package/dist/esm/index-cw0pnpg5.mjs +0 -50
  360. package/dist/esm/index-k426ye99.mjs +0 -139
  361. package/dist/helpers/get-box-quads-polyfill-internals.d.ts +0 -82
  362. package/dist/helpers/get-box-quads-polyfill-internals.js +0 -2403
  363. package/dist/helpers/get-box-quads-ponyfill.d.ts +0 -10
  364. package/dist/helpers/get-box-quads-ponyfill.js +0 -23
  365. package/dist/icons/scissors.js +0 -8
  366. package/dist/icons/separation.js +0 -7
  367. /package/dist/esm/{resolve-composition-component-location-qrp05g62.mjs → resolve-composition-component-location-2hgf6g0a.mjs} +0 -0
@@ -3,16 +3,15 @@ import {
3
3
  } from "./index-7tt71e8n.mjs";
4
4
  import {
5
5
  RenderModalOutputName
6
- } from "./index-s7qa3xbw.mjs";
6
+ } from "./index-cakcjjy2.mjs";
7
7
  import {
8
8
  Button,
9
9
  Checkmark,
10
10
  Combobox,
11
11
  DismissableModal,
12
+ GearIcon,
12
13
  ModalHeader,
13
- ModelsIcon,
14
14
  RenderModalHr,
15
- SeparationIcon,
16
15
  SetSelectedModalContext,
17
16
  SidebarContext,
18
17
  VerticalTab,
@@ -25,19 +24,20 @@ import {
25
24
  rightRow,
26
25
  useStaticFiles,
27
26
  validatePublicOutputName
28
- } from "./index-ppspzgn9.mjs";
29
- import"./index-21hxsfaa.mjs";
27
+ } from "./index-m2a95v3p.mjs";
28
+ import"./index-vtr5qzam.mjs";
30
29
  import {
31
30
  RenderQueueContext
32
- } from "./index-9x6e1dq0.mjs";
33
- import"./index-e855w59j.mjs";
34
- import"./index-r1gr3j3a.mjs";
35
- import"./index-cw0pnpg5.mjs";
31
+ } from "./index-hqxc6tzp.mjs";
32
+ import"./index-19d05w9e.mjs";
33
+ import"./index-dfy1t576.mjs";
34
+ import"./index-24wge6y5.mjs";
36
35
  import {
37
36
  Models
38
- } from "./index-ac5550e7.mjs";
39
- import"./index-r0ejh5sy.mjs";
37
+ } from "./index-jc22b2wb.mjs";
38
+ import"./index-vnc2wdfd.mjs";
40
39
  import {
40
+ ModelsIcon,
41
41
  VERTICAL_SCROLLBAR_CLASSNAME,
42
42
  ValidationMessage,
43
43
  buttonStyle,
@@ -50,12 +50,12 @@ import {
50
50
  leftSidebar,
51
51
  optionsPanel,
52
52
  outerModalStyle
53
- } from "./index-5t2dwxsk.mjs";
54
- import"./index-9xxg6218.mjs";
53
+ } from "./index-m01zjph7.mjs";
54
+ import"./index-qve7mdfp.mjs";
55
55
  import"./index-5zrb1ft4.mjs";
56
56
  import {
57
57
  BLUE_DISABLED
58
- } from "./index-k426ye99.mjs";
58
+ } from "./index-3qb54r5j.mjs";
59
59
  import"./index-rcv7qkt5.mjs";
60
60
 
61
61
  // src/components/VideoMatting/VideoMattingModal.tsx
@@ -111,9 +111,10 @@ var makeOptions = ({
111
111
  }));
112
112
  var VideoMattingModal = ({
113
113
  displayName,
114
- src
114
+ src,
115
+ target
115
116
  }) => {
116
- const [tab, setTab] = useState("separate");
117
+ const [tab, setTab] = useState("remove");
117
118
  const isModelCached = useCallback((selectedModel) => isVideoMattingModelCached({ model: selectedModel }), []);
118
119
  const cachedModels = useModelCacheStatus({
119
120
  isModelCached,
@@ -121,10 +122,9 @@ var VideoMattingModal = ({
121
122
  refreshKey: tab
122
123
  });
123
124
  const baseName = useMemo(() => getDefaultOutputBaseName(src, displayName, "video"), [displayName, src]);
124
- const [baseOutName, setBaseOutName] = useState(`${baseName}-base.webm`);
125
- const [foregroundOutName, setForegroundOutName] = useState(`${baseName}-foreground.webm`);
126
- const [model, setModel] = useState("ben2-base");
127
- const [audio, setAudio] = useState("base");
125
+ const [outName, setOutName] = useState(`${baseName}-no-background.webm`);
126
+ const [model, setModel] = useState("modnet");
127
+ const [audio, setAudio] = useState("keep");
128
128
  const [videoBitrate, setVideoBitrate] = useState("very-high");
129
129
  const [support, setSupport] = useState({ type: "checking" });
130
130
  const staticFiles = useStaticFiles();
@@ -143,18 +143,11 @@ var VideoMattingModal = ({
143
143
  cancelled = true;
144
144
  };
145
145
  }, [model]);
146
- const normalizedBase = baseOutName.normalize("NFC").toLowerCase();
147
- const normalizedForeground = foregroundOutName.normalize("NFC").toLowerCase();
148
- const duplicateOutput = normalizedBase === normalizedForeground;
149
- const queuedOutputs = new Set(videoMattingJobs.filter((job) => job.status === "idle" || job.status === "running").flatMap((job) => [job.baseOutName, job.foregroundOutName]).map((name) => name.normalize("NFC").toLowerCase()));
150
- const baseError = validatePublicOutputName({ extension: ".webm", outName: baseOutName }) ?? (duplicateOutput ? "Base and foreground outputs must be different" : queuedOutputs.has(normalizedBase) ? "Another video matting job is using this output file" : null);
151
- const foregroundError = validatePublicOutputName({
152
- extension: ".webm",
153
- outName: foregroundOutName
154
- }) ?? (duplicateOutput ? "Base and foreground outputs must be different" : queuedOutputs.has(normalizedForeground) ? "Another video matting job is using this output file" : null);
155
- const baseExists = staticFiles.some((file) => file.name.normalize("NFC").toLowerCase() === normalizedBase);
156
- const foregroundExists = staticFiles.some((file) => file.name.normalize("NFC").toLowerCase() === normalizedForeground);
157
- const canSubmit = support.type === "supported" && baseError === null && foregroundError === null;
146
+ const normalizedOutput = outName.normalize("NFC").toLowerCase();
147
+ const queuedOutputs = new Set(videoMattingJobs.filter((job) => job.status === "idle" || job.status === "running" || job.status === "saving").map((job) => job.outName).map((name) => name.normalize("NFC").toLowerCase()));
148
+ const outputError = validatePublicOutputName({ extension: ".webm", outName }) ?? (queuedOutputs.has(normalizedOutput) ? "Another background removal job is using this output file" : null);
149
+ const outputExists = staticFiles.some((file) => file.name.normalize("NFC").toLowerCase() === normalizedOutput);
150
+ const canSubmit = support.type === "supported" && outputError === null;
158
151
  const modelOptions = useMemo(() => makeOptions({
159
152
  items: MODELS.map((item) => ({
160
153
  id: item.name,
@@ -165,9 +158,7 @@ var VideoMattingModal = ({
165
158
  }), [cachedModels, model]);
166
159
  const audioOptions = useMemo(() => makeOptions({
167
160
  items: [
168
- { id: "base", label: "Background layer" },
169
- { id: "foreground", label: "Foreground layer" },
170
- { id: "both", label: "Both layers" },
161
+ { id: "keep", label: "Keep original audio" },
171
162
  { id: "none", label: "No audio" }
172
163
  ],
173
164
  selected: audio,
@@ -187,11 +178,11 @@ var VideoMattingModal = ({
187
178
  addVideoMattingJob({
188
179
  src,
189
180
  displayName,
190
- baseOutName,
191
- foregroundOutName,
181
+ outName,
192
182
  model,
193
183
  audio,
194
- videoBitrate
184
+ videoBitrate,
185
+ target
195
186
  });
196
187
  setSidebarCollapsedState({ left: null, right: "expanded" });
197
188
  persistSelectedOptionsSidebarPanel("renders");
@@ -200,23 +191,24 @@ var VideoMattingModal = ({
200
191
  }, [
201
192
  addVideoMattingJob,
202
193
  audio,
203
- baseOutName,
204
194
  canSubmit,
205
195
  displayName,
206
- foregroundOutName,
196
+ outName,
207
197
  model,
208
198
  setSelectedModal,
209
199
  setSidebarCollapsedState,
210
200
  src,
201
+ target,
211
202
  videoBitrate
212
203
  ]);
204
+ const title = `Remove background from ${displayName}`;
213
205
  return /* @__PURE__ */ jsx(DismissableModal, {
214
- ariaLabel: `Track matting ${displayName}`,
206
+ ariaLabel: title,
215
207
  children: /* @__PURE__ */ jsxs("div", {
216
208
  style: modalStyle,
217
209
  children: [
218
210
  /* @__PURE__ */ jsx(ModalHeader, {
219
- title: `Track matting ${displayName}`
211
+ title
220
212
  }),
221
213
  /* @__PURE__ */ jsxs("div", {
222
214
  style: container,
@@ -227,12 +219,12 @@ var VideoMattingModal = ({
227
219
  /* @__PURE__ */ jsx(Button, {
228
220
  disabled: !canSubmit,
229
221
  onClick: submit,
230
- title: support.type === "unsupported" ? support.message : undefined,
222
+ "aria-label": support.type === "unsupported" ? support.message : undefined,
231
223
  style: {
232
224
  ...buttonStyle,
233
225
  backgroundColor: canSubmit ? buttonStyle.backgroundColor : BLUE_DISABLED
234
226
  },
235
- children: "Separate"
227
+ children: "Remove background"
236
228
  })
237
229
  ]
238
230
  }),
@@ -244,17 +236,17 @@ var VideoMattingModal = ({
244
236
  children: [
245
237
  /* @__PURE__ */ jsx(VerticalTab, {
246
238
  autoFocus: true,
247
- onClick: () => setTab("separate"),
239
+ onClick: () => setTab("remove"),
248
240
  renderIcon: (color) => /* @__PURE__ */ jsx("div", {
249
241
  style: iconContainer,
250
- children: /* @__PURE__ */ jsx(SeparationIcon, {
242
+ children: /* @__PURE__ */ jsx(GearIcon, {
251
243
  color,
252
244
  style: icon
253
245
  })
254
246
  }),
255
- selected: tab === "separate",
247
+ selected: tab === "remove",
256
248
  style: horizontalTab,
257
- children: "Separate"
249
+ children: "General"
258
250
  }),
259
251
  /* @__PURE__ */ jsx(VerticalTab, {
260
252
  onClick: () => setTab("models"),
@@ -272,28 +264,18 @@ var VideoMattingModal = ({
272
264
  ]
273
265
  }),
274
266
  /* @__PURE__ */ jsxs("div", {
275
- style: tab === "separate" ? panelStyle : hiddenPanel,
267
+ style: tab === "remove" ? panelStyle : hiddenPanel,
276
268
  className: VERTICAL_SCROLLBAR_CLASSNAME,
277
269
  children: [
278
270
  /* @__PURE__ */ jsx(RenderModalOutputName, {
279
- ariaLabel: "Base video output file",
280
- existingOutputPath: window.remotion_publicFolderExists ? `${window.remotion_publicFolderExists}/${baseOutName}` : null,
281
- existence: baseExists,
282
- inputStyle: input,
283
- label: "Base output in public/",
284
- onValueChange: (event) => setBaseOutName(event.target.value),
285
- outName: baseOutName,
286
- validationMessage: baseError
287
- }),
288
- /* @__PURE__ */ jsx(RenderModalOutputName, {
289
- ariaLabel: "Foreground video output file",
290
- existingOutputPath: window.remotion_publicFolderExists ? `${window.remotion_publicFolderExists}/${foregroundOutName}` : null,
291
- existence: foregroundExists,
271
+ ariaLabel: "Video output file",
272
+ existingOutputPath: window.remotion_publicFolderExists ? `${window.remotion_publicFolderExists}/${outName}` : null,
273
+ existence: outputExists,
292
274
  inputStyle: input,
293
- label: "Foreground output in public/",
294
- onValueChange: (event) => setForegroundOutName(event.target.value),
295
- outName: foregroundOutName,
296
- validationMessage: foregroundError
275
+ label: "Output in public/",
276
+ onValueChange: (event) => setOutName(event.target.value),
277
+ outName,
278
+ validationMessage: outputError
297
279
  }),
298
280
  /* @__PURE__ */ jsx(RenderModalHr, {}),
299
281
  /* @__PURE__ */ jsxs("div", {
@@ -308,7 +290,7 @@ var VideoMattingModal = ({
308
290
  children: /* @__PURE__ */ jsx(Combobox, {
309
291
  values: modelOptions,
310
292
  selectedId: model,
311
- title: "Model",
293
+ "aria-label": "Model",
312
294
  style: controlStyle
313
295
  })
314
296
  })
@@ -334,7 +316,7 @@ var VideoMattingModal = ({
334
316
  children: /* @__PURE__ */ jsx(Combobox, {
335
317
  values: audioOptions,
336
318
  selectedId: audio,
337
- title: "Audio",
319
+ "aria-label": "Audio",
338
320
  style: controlStyle
339
321
  })
340
322
  })
@@ -352,7 +334,7 @@ var VideoMattingModal = ({
352
334
  children: /* @__PURE__ */ jsx(Combobox, {
353
335
  values: qualityOptions,
354
336
  selectedId: String(videoBitrate),
355
- title: "Video quality",
337
+ "aria-label": "Video quality",
356
338
  style: controlStyle
357
339
  })
358
340
  })
@@ -1,99 +1,142 @@
1
1
  import {
2
2
  loadModelForJob
3
- } from "./index-v4tr1bft.mjs";
3
+ } from "./index-09txs1bj.mjs";
4
4
  import {
5
5
  RenderQueueContext
6
- } from "./index-9x6e1dq0.mjs";
6
+ } from "./index-hqxc6tzp.mjs";
7
7
  import {
8
+ callApi,
9
+ getBrowserStudioOperations,
8
10
  writeStaticFile
9
- } from "./index-cw0pnpg5.mjs";
11
+ } from "./index-dfy1t576.mjs";
10
12
  import"./index-rcv7qkt5.mjs";
11
13
 
12
14
  // src/components/RenderQueue/VideoMattingQueueProcessor.tsx
13
15
  import {
14
16
  canUseVideoMatting,
15
17
  disposeVideoMattingModel,
18
+ downloadVideoMattingModel,
16
19
  isVideoMattingModelCached,
17
20
  loadVideoMattingModel,
18
- separateVideoLayers
21
+ VideoMattingInternals
19
22
  } from "@remotion/video-matting";
20
23
  import { useCallback, useContext, useEffect } from "react";
21
24
  var VideoMattingQueueProcessor = () => {
22
25
  const {
23
26
  markVideoMattingJobDone,
24
27
  markVideoMattingJobFailed,
28
+ markVideoMattingJobCancelled,
29
+ markVideoMattingJobSaving,
30
+ getAbortController,
25
31
  setProcessVideoMattingJobCallback,
26
32
  updateVideoMattingJobProgress
27
33
  } = useContext(RenderQueueContext);
28
34
  const processJob = useCallback(async (job) => {
29
- let outputs = null;
35
+ const { signal } = getAbortController(job.id);
36
+ let output = null;
30
37
  let processingError = null;
31
38
  try {
39
+ signal.throwIfAborted();
32
40
  updateVideoMattingJobProgress(job.id, {
33
41
  detail: null,
34
42
  message: "Checking WebGPU support...",
35
43
  value: 0
36
44
  });
37
45
  const support = await canUseVideoMatting({ model: job.model });
46
+ signal.throwIfAborted();
38
47
  if (!support.supported) {
39
48
  throw new Error(support.detailedReason);
40
49
  }
41
50
  await loadModelForJob({
51
+ signal,
42
52
  model: job.model,
43
53
  progressStart: 0,
44
54
  progressSpan: 0.2,
45
55
  isModelCached: (model) => isVideoMattingModelCached({ model }),
46
- loadModel: (model, onProgress) => loadVideoMattingModel({
47
- model,
48
- onProgress: (progress) => onProgress(progress.progress)
49
- }),
56
+ loadModel: async (model, onProgress) => {
57
+ await downloadVideoMattingModel({
58
+ signal,
59
+ model,
60
+ onProgress: (progress) => onProgress(progress.progress)
61
+ });
62
+ await loadVideoMattingModel({ model, signal });
63
+ },
50
64
  updateProgress: (progress) => updateVideoMattingJobProgress(job.id, {
51
65
  ...progress,
52
66
  detail: null
53
67
  })
54
68
  });
55
- outputs = await separateVideoLayers({
69
+ const mattingOptions = {
70
+ signal,
56
71
  src: job.src,
57
72
  model: job.model,
58
- audio: job.audio,
59
73
  videoBitrate: job.videoBitrate,
60
74
  onProgress: (progress) => {
61
75
  updateVideoMattingJobProgress(job.id, {
62
76
  detail: progress.stage === "finalizing" ? `Processed ${progress.processedFrames} ${progress.processedFrames === 1 ? "frame" : "frames"}` : `Processed ${progress.processedFrames} ${progress.processedFrames === 1 ? "frame" : "frames"} · ${Math.round(progress.progress * 100)}%`,
63
- message: progress.stage === "finalizing" ? "Finalizing video layers..." : "Separating foreground...",
77
+ message: progress.stage === "finalizing" ? "Finalizing video..." : "Removing background...",
64
78
  value: 0.2 + (progress.progress ?? 1) * 0.65
65
79
  });
66
80
  }
81
+ };
82
+ output = await VideoMattingInternals.removeVideoBackground({
83
+ ...mattingOptions,
84
+ audio: job.audio
67
85
  });
86
+ if (output === null) {
87
+ throw new Error("Video matting produced no output.");
88
+ }
89
+ signal.throwIfAborted();
68
90
  updateVideoMattingJobProgress(job.id, {
69
91
  detail: null,
70
- message: "Saving video layers...",
92
+ message: "Saving video...",
71
93
  value: 0.88
72
94
  });
73
- const [base, foreground] = await Promise.all([
74
- outputs.base.getBlob(),
75
- outputs.foreground.getBlob()
76
- ]);
77
- await Promise.all([
78
- base.arrayBuffer().then((contents) => writeStaticFile({ contents, filePath: job.baseOutName })),
79
- foreground.arrayBuffer().then((contents) => writeStaticFile({ contents, filePath: job.foregroundOutName }))
80
- ]);
95
+ const video = await output.video.getBlob();
96
+ signal.throwIfAborted();
97
+ markVideoMattingJobSaving(job.id);
98
+ await video.arrayBuffer().then((contents) => writeStaticFile({ contents, filePath: job.outName }));
99
+ if (job.target !== null) {
100
+ updateVideoMattingJobProgress(job.id, {
101
+ detail: null,
102
+ message: "Replacing video source...",
103
+ value: 0.97
104
+ });
105
+ const browserStudioOperations = getBrowserStudioOperations();
106
+ const request = {
107
+ fileName: job.target.fileName,
108
+ nodePath: job.target.nodePath.nodePath,
109
+ src: job.outName
110
+ };
111
+ const replaceSource = browserStudioOperations?.replaceVideoSource;
112
+ if (browserStudioOperations && !replaceSource) {
113
+ throw new Error("Browser Studio cannot replace the video source.");
114
+ }
115
+ const response = replaceSource ? await replaceSource(request) : await callApi("/api/replace-video-source", request);
116
+ if (!response.success) {
117
+ throw new Error(response.reason);
118
+ }
119
+ }
81
120
  } catch (error) {
82
121
  processingError = error instanceof Error ? error : new Error(String(error));
83
122
  }
123
+ if (output) {
124
+ await Promise.allSettled([output.video.dispose()]);
125
+ }
84
126
  try {
85
- await Promise.all([
86
- outputs?.base.dispose(),
87
- outputs?.foreground.dispose()
88
- ]);
89
127
  await disposeVideoMattingModel({ model: job.model });
90
128
  } catch {}
91
- if (processingError) {
129
+ if (signal.aborted) {
130
+ markVideoMattingJobCancelled(job.id);
131
+ } else if (processingError) {
92
132
  markVideoMattingJobFailed(job.id, processingError);
93
133
  } else {
94
134
  markVideoMattingJobDone(job.id);
95
135
  }
96
136
  }, [
137
+ getAbortController,
138
+ markVideoMattingJobCancelled,
139
+ markVideoMattingJobSaving,
97
140
  markVideoMattingJobDone,
98
141
  markVideoMattingJobFailed,
99
142
  updateVideoMattingJobProgress
@@ -3,18 +3,23 @@ var loadModelForJob = async ({
3
3
  isModelCached,
4
4
  loadModel,
5
5
  model,
6
+ signal,
6
7
  progressSpan,
7
8
  progressStart,
8
9
  updateProgress
9
10
  }) => {
11
+ signal.throwIfAborted();
10
12
  const cached = await isModelCached(model);
13
+ signal.throwIfAborted();
11
14
  await loadModel(model, (progress) => {
15
+ signal.throwIfAborted();
12
16
  const percentage = progress === null ? "" : ` ${Math.round(progress * 100)}%`;
13
17
  updateProgress({
14
18
  message: `${cached ? "Loading" : "Downloading"} ${model}${percentage}`,
15
19
  value: progressStart + (progress ?? 0) * progressSpan
16
20
  });
17
21
  });
22
+ signal.throwIfAborted();
18
23
  };
19
24
 
20
25
  export { loadModelForJob };
@@ -1,16 +1,14 @@
1
1
  import {
2
- callApi
3
- } from "./index-r1gr3j3a.mjs";
4
- import {
2
+ callApi,
5
3
  getBrowserStudioOperations
6
- } from "./index-cw0pnpg5.mjs";
4
+ } from "./index-dfy1t576.mjs";
7
5
  import {
8
6
  getStudioInteractivityEnabled
9
7
  } from "./index-5zrb1ft4.mjs";
10
8
  import {
11
9
  CURRENT_COLOR,
12
10
  CURRENT_COLOR_LOWERCASE
13
- } from "./index-k426ye99.mjs";
11
+ } from "./index-3qb54r5j.mjs";
14
12
  import {
15
13
  __require,
16
14
  __toESM
@@ -0,0 +1,102 @@
1
+ // src/helpers/studio-css-variables.ts
2
+ var studioCssVariables = `
3
+ :where(:root) {
4
+ --remotion-studio-black: black;
5
+ --remotion-studio-white: white;
6
+ --remotion-studio-red: red;
7
+ --remotion-studio-transparent: transparent;
8
+ --remotion-studio-current-color: currentColor;
9
+ --remotion-studio-background: rgb(31,36,40);
10
+ --remotion-studio-background-transparent: rgba(31,36,40, 0);
11
+ --remotion-studio-input-background: #2f363d;
12
+ --remotion-studio-light-color: #ddd;
13
+ --remotion-studio-light-text: #A6A7A9;
14
+ --remotion-studio-ruler-color: #808080;
15
+ --remotion-studio-white-alpha-05: rgba(255, 255, 255, 0.05);
16
+ --remotion-studio-white-alpha-06: rgba(255, 255, 255, 0.06);
17
+ --remotion-studio-white-alpha-08: rgba(255, 255, 255, 0.08);
18
+ --remotion-studio-white-alpha-10: rgba(255, 255, 255, 0.1);
19
+ --remotion-studio-white-alpha-12: rgba(255, 255, 255, 0.12);
20
+ --remotion-studio-white-alpha-15: rgba(255, 255, 255, 0.15);
21
+ --remotion-studio-white-alpha-20: rgba(255, 255, 255, 0.2);
22
+ --remotion-studio-white-alpha-25: rgba(255, 255, 255, 0.25);
23
+ --remotion-studio-white-alpha-30: rgba(255, 255, 255, 0.3);
24
+ --remotion-studio-white-alpha-35: rgba(255, 255, 255, 0.35);
25
+ --remotion-studio-white-alpha-40: rgba(255, 255, 255, 0.4);
26
+ --remotion-studio-white-alpha-45: rgba(255, 255, 255, 0.45);
27
+ --remotion-studio-white-alpha-50: rgba(255, 255, 255, 0.5);
28
+ --remotion-studio-white-alpha-60: rgba(255, 255, 255, 0.6);
29
+ --remotion-studio-white-alpha-70: rgba(255, 255, 255, 0.7);
30
+ --remotion-studio-white-alpha-72: rgba(255, 255, 255, 0.72);
31
+ --remotion-studio-white-alpha-80: rgba(255, 255, 255, 0.8);
32
+ --remotion-studio-white-alpha-90: rgba(255, 255, 255, 0.9);
33
+ --remotion-studio-black-alpha-28: rgba(0, 0, 0, 0.28);
34
+ --remotion-studio-black-alpha-30: rgba(0, 0, 0, 0.3);
35
+ --remotion-studio-black-alpha-40: rgba(0, 0, 0, 0.4);
36
+ --remotion-studio-black-alpha-50: rgba(0, 0, 0, 0.5);
37
+ --remotion-studio-black-alpha-60: rgba(0, 0, 0, 0.6);
38
+ --remotion-studio-black-alpha-80: rgba(0, 0, 0, 0.8);
39
+ --remotion-studio-black-alpha-85: rgba(0, 0, 0, 0.85);
40
+ --remotion-studio-black-alpha-90: rgba(0, 0, 0, 0.9);
41
+ --remotion-studio-fail-color: #ff3232;
42
+ --remotion-studio-warning-color: #f1c40f;
43
+ --remotion-studio-blue: #0b84f3;
44
+ --remotion-studio-blue-hovered: #4da3f7;
45
+ --remotion-studio-blue-disabled: #284f73;
46
+ --remotion-studio-unselected-guide: #7e1219;
47
+ --remotion-studio-selected-guide: #d22d3a;
48
+ --remotion-studio-line-color: #363A3E;
49
+ --remotion-studio-timeline-track-separator: #13161B;
50
+ --remotion-studio-light-gray: #ccc;
51
+ --remotion-studio-keyboard-shortcut-key-color: #eee;
52
+ --remotion-studio-notification-background: #111111;
53
+ --remotion-studio-render-status-background: #222;
54
+ --remotion-studio-error-code-frame-background: #070707;
55
+ --remotion-studio-error-code-frame-line-background: #121212;
56
+ --remotion-studio-error-link-color: #58a6ff;
57
+ --remotion-studio-info-blue: #60a5fa;
58
+ --remotion-studio-server-disconnected-background: #e74c3c;
59
+ --remotion-studio-timeline-background-color: #15181B;
60
+ --remotion-studio-timeline-negative-start-background-color: #2C2F32;
61
+ --remotion-studio-timeline-negative-start-border-color: #414446;
62
+ --remotion-studio-timeline-selected-background-color: #3B3F42;
63
+ --remotion-studio-timeline-selected-label-background-color: #B0B0B0;
64
+ --remotion-studio-timeline-blue: #0b84ff;
65
+ --remotion-studio-timeline-playhead-color: #f02c00;
66
+ --remotion-studio-timeline-drop-blue-alpha-12: rgba(0, 155, 255, 0.12);
67
+ --remotion-studio-timeline-drop-blue-alpha-16: rgba(0, 155, 255, 0.16);
68
+ --remotion-studio-timeline-drop-blue-alpha-75: rgba(0, 155, 255, 0.75);
69
+ --remotion-studio-timeline-marquee-blue-alpha-16: rgba(70, 130, 255, 0.16);
70
+ --remotion-studio-timeline-marquee-blue-alpha-75: rgba(70, 130, 255, 0.75);
71
+ --remotion-studio-easing-selected-background: rgba(11, 132, 243, 0.18);
72
+ --remotion-studio-info-blue-background: rgba(59, 130, 246, 0.15);
73
+ --remotion-studio-color-picker-checker-background-color: var(--remotion-studio-background);
74
+ --remotion-studio-color-picker-hue-gradient: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);
75
+ --remotion-studio-timeline-audio-gradient: linear-gradient(rgb(16 171 58), rgb(43 165 63) 60%);
76
+ --remotion-studio-timeline-video-gradient: linear-gradient(to top, #8e44ad, #9b59b6);
77
+ --remotion-studio-focus-color: #555;
78
+ --remotion-studio-color-picker-checker-color: var(--remotion-studio-white-alpha-15);
79
+ --remotion-studio-info-blue-border-color: rgba(59, 130, 246, 0.4);
80
+ --remotion-studio-black-alpha-22: rgba(0, 0, 0, 0.22);
81
+ --remotion-studio-font-family-error-color: #ff8a8a;
82
+ --remotion-studio-selected-outline-snap-color: #ff00ff;
83
+ --remotion-studio-prism-text-color: #d4d4d4;
84
+ --remotion-studio-prism-selection-background: #264f78;
85
+ --remotion-studio-prism-background: #1e1e1e;
86
+ --remotion-studio-prism-inline-color: #db4c69;
87
+ --remotion-studio-prism-keyword-color: #569cd6;
88
+ --remotion-studio-prism-variable-color: #9cdcfe;
89
+ --remotion-studio-prism-comment-color: #6a9955;
90
+ --remotion-studio-prism-number-color: #b5cea8;
91
+ --remotion-studio-prism-string-color: #ce9178;
92
+ --remotion-studio-prism-control-flow-color: #c586c0;
93
+ --remotion-studio-prism-function-color: #dcdcaa;
94
+ --remotion-studio-prism-regex-color: #d16969;
95
+ --remotion-studio-prism-class-name-color: #4ec9b0;
96
+ --remotion-studio-prism-selector-color: #d7ba7d;
97
+ --remotion-studio-prism-line-highlight-background: #f7ebc6;
98
+ --remotion-studio-prism-line-highlight-border-color: #f7d87c;
99
+ }
100
+ `;
101
+
102
+ export { studioCssVariables };