@remotion/studio 4.0.527 → 4.0.528

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 (258) hide show
  1. package/dist/components/AgentPrompt.js +1 -2
  2. package/dist/components/AudioWaveform.d.ts +1 -0
  3. package/dist/components/AudioWaveform.js +10 -14
  4. package/dist/components/CodeFrame.js +1 -1
  5. package/dist/components/ColorPicker/checker.d.ts +1 -1
  6. package/dist/components/CurrentAsset.js +3 -2
  7. package/dist/components/EditorRuler/Ruler.js +6 -3
  8. package/dist/components/EffectPickerModal.js +69 -43
  9. package/dist/components/ElementInstallConfirmation.js +3 -3
  10. package/dist/components/ElementLibrariesSettings.d.ts +2 -0
  11. package/dist/components/ElementLibrariesSettings.js +200 -0
  12. package/dist/components/InitialCompositionLoader.js +3 -1
  13. package/dist/components/InspectorOpenInEditor.js +13 -0
  14. package/dist/components/InspectorPanel/AlignmentControls.js +28 -9
  15. package/dist/components/InspectorPanel/CollapsibleInspectorSectionHeader.js +1 -1
  16. package/dist/components/InspectorPanel/EasingInspector.js +6 -2
  17. package/dist/components/InspectorPanel/ElementLibraryButton.js +1 -1
  18. package/dist/components/InspectorPanel/KeyframeEasingNavigator.js +1 -1
  19. package/dist/components/InspectorPanel/KeyframeInspector.js +28 -24
  20. package/dist/components/InspectorPanel/MultiSequenceNumberField.js +1 -1
  21. package/dist/components/InspectorPanel/SequenceInspectorHeader.d.ts +3 -1
  22. package/dist/components/InspectorPanel/SequenceSelectionInspector.js +30 -2
  23. package/dist/components/InspectorPanel/SequenceWrapAction.d.ts +8 -0
  24. package/dist/components/InspectorPanel/SequenceWrapAction.js +151 -0
  25. package/dist/components/InspectorPanel/easing-inspector-selection.d.ts +2 -1
  26. package/dist/components/InspectorPanel/easing-inspector-selection.js +4 -3
  27. package/dist/components/InspectorPanel/keyframe-inspector-frame.d.ts +2 -1
  28. package/dist/components/InspectorPanel/keyframe-inspector-frame.js +2 -2
  29. package/dist/components/InspectorSequenceSection.d.ts +1 -0
  30. package/dist/components/InspectorSequenceSection.js +7 -5
  31. package/dist/components/KeyboardShortcutsSettings.js +1 -1
  32. package/dist/components/Menu/styles.d.ts +2 -2
  33. package/dist/components/Modals.js +7 -6
  34. package/dist/components/ModelManager.js +10 -9
  35. package/dist/components/NewComposition/CancelButton.js +10 -4
  36. package/dist/components/NewComposition/InputDragger.d.ts +3 -1
  37. package/dist/components/NewComposition/InputDragger.js +28 -9
  38. package/dist/components/NewComposition/NewComposition.js +7 -6
  39. package/dist/components/NewComposition/RemInput.d.ts +1 -1
  40. package/dist/components/NewComposition/menu-typeahead.js +1 -1
  41. package/dist/components/Preview.js +3 -2
  42. package/dist/components/RenderModal/SchemaEditor/create-zod-values.js +1 -2
  43. package/dist/components/RenderModal/WebRenderModalPicture.js +1 -2
  44. package/dist/components/RenderQueue/CaptionQueueItem.js +14 -5
  45. package/dist/components/RenderQueue/CaptionQueueProcessor.js +30 -7
  46. package/dist/components/RenderQueue/QueueJobError.d.ts +8 -0
  47. package/dist/components/RenderQueue/QueueJobError.js +24 -0
  48. package/dist/components/RenderQueue/QueueJobErrorModal.d.ts +8 -0
  49. package/dist/components/RenderQueue/QueueJobErrorModal.js +63 -0
  50. package/dist/components/RenderQueue/RenderQueueItemCancelButton.d.ts +3 -1
  51. package/dist/components/RenderQueue/RenderQueueItemCancelButton.js +11 -4
  52. package/dist/components/RenderQueue/RenderQueueRepeat.d.ts +3 -1
  53. package/dist/components/RenderQueue/RenderQueueRepeat.js +20 -3
  54. package/dist/components/RenderQueue/VideoMattingQueueItem.js +24 -27
  55. package/dist/components/RenderQueue/VideoMattingQueueProcessor.js +68 -28
  56. package/dist/components/RenderQueue/caption-job-types.d.ts +3 -1
  57. package/dist/components/RenderQueue/context.d.ts +4 -0
  58. package/dist/components/RenderQueue/context.js +58 -8
  59. package/dist/components/RenderQueue/index.js +2 -3
  60. package/dist/components/RenderQueue/load-model-for-job.d.ts +2 -1
  61. package/dist/components/RenderQueue/load-model-for-job.js +5 -1
  62. package/dist/components/RenderQueue/video-matting-job-types.d.ts +13 -6
  63. package/dist/components/SelectedOutlineCropControls.js +2 -1
  64. package/dist/components/SelectedOutlineEditingHandles.js +9 -2
  65. package/dist/components/SelectedOutlineElement.js +9 -3
  66. package/dist/components/SelectedOutlineKeyboardControls.d.ts +2 -4
  67. package/dist/components/SelectedOutlineKeyboardControls.js +4 -22
  68. package/dist/components/SelectedOutlineOverlay.js +152 -106
  69. package/dist/components/SelectedOutlinePathPoints.d.ts +8 -0
  70. package/dist/components/SelectedOutlinePathPoints.js +433 -0
  71. package/dist/components/SelectedOutlinePolygon.js +21 -46
  72. package/dist/components/SelectedOutlineRenderer.d.ts +3 -5
  73. package/dist/components/SelectedOutlineRenderer.js +32 -136
  74. package/dist/components/SelectedOutlineTransformOriginHandle.js +3 -2
  75. package/dist/components/SelectedOutlineUvControls.js +12 -7
  76. package/dist/components/SettingsModal.js +30 -3
  77. package/dist/components/SettingsModalFooter.d.ts +1 -0
  78. package/dist/components/SettingsModalFooter.js +7 -3
  79. package/dist/components/ShowOutlinesProvider.js +1 -1
  80. package/dist/components/SkillsSettings.d.ts +0 -1
  81. package/dist/components/SkillsSettings.js +13 -14
  82. package/dist/components/Splitter/SplitterElement.js +1 -2
  83. package/dist/components/TimeValue.js +1 -1
  84. package/dist/components/Timeline/LoopedTimelineIndicators.d.ts +1 -0
  85. package/dist/components/Timeline/LoopedTimelineIndicators.js +7 -6
  86. package/dist/components/Timeline/TimelineArrayField.js +1 -1
  87. package/dist/components/Timeline/TimelineClipboardKeybindings.js +0 -1
  88. package/dist/components/Timeline/TimelineColorField.js +1 -1
  89. package/dist/components/Timeline/TimelineDragHandler.js +1 -1
  90. package/dist/components/Timeline/TimelineEffectPropItem.d.ts +1 -0
  91. package/dist/components/Timeline/TimelineEffectPropItem.js +12 -5
  92. package/dist/components/Timeline/TimelineExpandedRow.d.ts +1 -0
  93. package/dist/components/Timeline/TimelineExpandedRow.js +5 -4
  94. package/dist/components/Timeline/TimelineExpandedSection.d.ts +1 -0
  95. package/dist/components/Timeline/TimelineExpandedSection.js +2 -2
  96. package/dist/components/Timeline/TimelineExpandedTrackKeyframes.d.ts +1 -0
  97. package/dist/components/Timeline/TimelineExpandedTrackKeyframes.js +3 -1
  98. package/dist/components/Timeline/TimelineFontFamilyField.js +12 -12
  99. package/dist/components/Timeline/TimelineKeyframeControls.d.ts +1 -0
  100. package/dist/components/Timeline/TimelineKeyframeControls.js +39 -28
  101. package/dist/components/Timeline/TimelineLayerChildren.js +1 -1
  102. package/dist/components/Timeline/TimelineList.js +1 -1
  103. package/dist/components/Timeline/TimelineNumberField.js +2 -4
  104. package/dist/components/Timeline/TimelinePrimitiveFieldValue.js +1 -1
  105. package/dist/components/Timeline/TimelineSelection.d.ts +9 -9
  106. package/dist/components/Timeline/TimelineSelection.js +16 -9
  107. package/dist/components/Timeline/TimelineSequence.d.ts +3 -1
  108. package/dist/components/Timeline/TimelineSequence.js +39 -21
  109. package/dist/components/Timeline/TimelineSequenceItem.d.ts +1 -0
  110. package/dist/components/Timeline/TimelineSequenceItem.js +18 -8
  111. package/dist/components/Timeline/TimelineSequencePropItem.d.ts +3 -0
  112. package/dist/components/Timeline/TimelineSequencePropItem.js +262 -25
  113. package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.d.ts +11 -13
  114. package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +98 -77
  115. package/dist/components/Timeline/TimelineTextContentField.js +27 -4
  116. package/dist/components/Timeline/TimelineTimeIndicators.js +10 -5
  117. package/dist/components/Timeline/TimelineTrack.js +1 -1
  118. package/dist/components/Timeline/TimelineTrimTooltip.d.ts +11 -0
  119. package/dist/components/Timeline/TimelineTrimTooltip.js +41 -0
  120. package/dist/components/Timeline/TimelineVideoInfo.d.ts +1 -0
  121. package/dist/components/Timeline/TimelineVideoInfo.js +13 -10
  122. package/dist/components/Timeline/delete-selected-keyframe.js +22 -8
  123. package/dist/components/Timeline/delete-selected-timeline-item.d.ts +1 -5
  124. package/dist/components/Timeline/delete-selected-timeline-item.js +7 -93
  125. package/dist/components/Timeline/get-animation-item-selection-for-frame.d.ts +2 -1
  126. package/dist/components/Timeline/get-animation-item-selection-for-frame.js +7 -5
  127. package/dist/components/Timeline/get-keyframed-sequence-drag-targets.d.ts +23 -0
  128. package/dist/components/Timeline/get-keyframed-sequence-drag-targets.js +57 -0
  129. package/dist/components/Timeline/get-node-keyframes.d.ts +2 -1
  130. package/dist/components/Timeline/get-node-keyframes.js +6 -4
  131. package/dist/components/Timeline/get-playback-rate-keyframe-changes.d.ts +21 -0
  132. package/dist/components/Timeline/get-playback-rate-keyframe-changes.js +142 -0
  133. package/dist/components/Timeline/get-timeline-keyframes.d.ts +15 -2
  134. package/dist/components/Timeline/get-timeline-keyframes.js +44 -6
  135. package/dist/components/Timeline/keyframe-clipboard.js +17 -3
  136. package/dist/components/Timeline/split-selected-timeline-item.js +4 -1
  137. package/dist/components/Timeline/timeline-field-display-utils.js +1 -0
  138. package/dist/components/Timeline/timeline-field-row-layout.js +1 -0
  139. package/dist/components/Timeline/use-delete-timeline-items.js +17 -11
  140. package/dist/components/Timeline/use-expanded-track-keyframe-rows.d.ts +2 -1
  141. package/dist/components/Timeline/use-expanded-track-keyframe-rows.js +3 -1
  142. package/dist/components/Timeline/use-sequence-freeze-frame-menu-item.js +7 -3
  143. package/dist/components/Timeline/use-timeline-keyframe-drag.js +28 -19
  144. package/dist/components/Transcription/Models.js +1 -1
  145. package/dist/components/Transcription/TranscriptionModal.js +3 -1
  146. package/dist/components/Transcription/resample-media-to-16-khz.d.ts +2 -1
  147. package/dist/components/Transcription/resample-media-to-16-khz.js +20 -2
  148. package/dist/components/UpdatesSettings.js +2 -0
  149. package/dist/components/VideoMatting/Models.js +1 -1
  150. package/dist/components/VideoMatting/VideoMattingModal.js +30 -47
  151. package/dist/components/VideoMatting/VideoMattingModalWithOptionalPackage.js +1 -1
  152. package/dist/components/WebMcp.js +22 -40
  153. package/dist/components/composition-drop-preview.js +1 -0
  154. package/dist/components/effect-drag-and-drop.d.ts +13 -5
  155. package/dist/components/effect-drag-and-drop.js +19 -4
  156. package/dist/components/get-open-in-menu-items.d.ts +2 -1
  157. package/dist/components/get-open-in-menu-items.js +17 -1
  158. package/dist/components/selected-outline-drag.d.ts +1 -6
  159. package/dist/components/selected-outline-drag.js +22 -6
  160. package/dist/components/selected-outline-geometry.d.ts +2 -18
  161. package/dist/components/selected-outline-measurement.d.ts +23 -41
  162. package/dist/components/selected-outline-measurement.js +14 -252
  163. package/dist/components/selected-outline-order.d.ts +4 -11
  164. package/dist/components/selected-outline-order.js +2 -254
  165. package/dist/components/selected-outline-snap.d.ts +1 -1
  166. package/dist/components/selected-outline-snap.js +2 -1
  167. package/dist/components/selected-outline-types.d.ts +18 -28
  168. package/dist/components/selected-outline-uv.d.ts +4 -4
  169. package/dist/components/selected-outline-uv.js +6 -111
  170. package/dist/components/sequence-props-api.js +0 -10
  171. package/dist/components/use-selected-outline-control-target.js +12 -21
  172. package/dist/components/wrap-jsx-node-api.d.ts +2 -0
  173. package/dist/components/wrap-jsx-node-api.js +13 -0
  174. package/dist/error-overlay/remotion-overlay/OpenInEditor.js +45 -2
  175. package/dist/error-overlay/remotion-overlay/StackFrame.js +32 -3
  176. package/dist/esm/{CaptionQueueProcessor-npa6szn1.mjs → CaptionQueueProcessor-nr7hjcga.mjs} +63 -17
  177. package/dist/esm/LazyModels-ajkn7fs3.mjs +12 -0
  178. package/dist/esm/LazyModels-g1g7cf4e.mjs +12 -0
  179. package/dist/esm/{TranscriptionModal-79m5wgcj.mjs → TranscriptionModal-e18bzbkb.mjs} +15 -15
  180. package/dist/esm/{VideoMattingModal-31pew0xj.mjs → VideoMattingModal-5bz2s4rs.mjs} +47 -65
  181. package/dist/esm/{VideoMattingQueueProcessor-t1hgm2rm.mjs → VideoMattingQueueProcessor-4tkj0f4k.mjs} +69 -26
  182. package/dist/esm/{index-v4tr1bft.mjs → index-09txs1bj.mjs} +5 -0
  183. package/dist/esm/{index-n5gmcvhz.mjs → index-5ycb9e9q.mjs} +2 -4
  184. package/dist/esm/{index-5t2dwxsk.mjs → index-890dd9b3.mjs} +259 -21
  185. package/dist/esm/{index-ac5550e7.mjs → index-8nt6a0mw.mjs} +3 -3
  186. package/dist/esm/{index-614tdz2q.mjs → index-9q9w8v9p.mjs} +3 -3
  187. package/dist/esm/{index-s7qa3xbw.mjs → index-c2wabcdt.mjs} +6 -6
  188. package/dist/esm/{index-r1gr3j3a.mjs → index-dfy1t576.mjs} +50 -1
  189. package/dist/esm/{index-21hxsfaa.mjs → index-dh3zk2hv.mjs} +6 -25
  190. package/dist/esm/{index-4zen9prq.mjs → index-dpyss74p.mjs} +6563 -5485
  191. package/dist/esm/{index-9x6e1dq0.mjs → index-hqxc6tzp.mjs} +40 -6
  192. package/dist/esm/{index-9xxg6218.mjs → index-qve7mdfp.mjs} +19 -1
  193. package/dist/esm/{index-e855w59j.mjs → index-s6qya2gg.mjs} +3 -5
  194. package/dist/esm/index-t7tbt980.mjs +103 -0
  195. package/dist/esm/{index-r0ejh5sy.mjs → index-t7xnxdf8.mjs} +44 -26
  196. package/dist/esm/index-wqc43mw0.mjs +158 -0
  197. package/dist/esm/{index-ppspzgn9.mjs → index-x6r9bn12.mjs} +4026 -4761
  198. package/dist/esm/{index-vxwg66ar.mjs → index-xac20sv4.mjs} +44 -57
  199. package/dist/esm/index.mjs +4 -5
  200. package/dist/esm/internals.mjs +13 -13
  201. package/dist/esm/previewEntry.mjs +18 -15
  202. package/dist/esm/renderEntry.mjs +5 -1
  203. package/dist/helpers/calculate-timeline.d.ts +5 -1
  204. package/dist/helpers/calculate-timeline.js +1 -1
  205. package/dist/helpers/checkerboard-background.d.ts +2 -2
  206. package/dist/helpers/colors.d.ts +132 -112
  207. package/dist/helpers/colors.js +117 -95
  208. package/dist/helpers/create-folder-tree.js +2 -1
  209. package/dist/helpers/editor-guide-selection.d.ts +1 -1
  210. package/dist/helpers/editor-ruler.js +23 -12
  211. package/dist/helpers/get-connected-compositions.d.ts +6 -1
  212. package/dist/helpers/get-connected-compositions.js +1 -1
  213. package/dist/helpers/get-sequence-double-click-action.js +1 -1
  214. package/dist/helpers/get-sequence-visible-range.d.ts +1 -1
  215. package/dist/helpers/get-sequence-visible-range.js +2 -5
  216. package/dist/helpers/get-timeline-nestedness.d.ts +1 -1
  217. package/dist/helpers/get-timeline-nestedness.js +1 -1
  218. package/dist/helpers/get-timeline-sequence-sort-key.d.ts +1 -1
  219. package/dist/helpers/get-timeline-sequence-sort-key.js +1 -1
  220. package/dist/helpers/hoverable.js +4 -4
  221. package/dist/helpers/inject-css.js +5 -7
  222. package/dist/helpers/prism-vsc-dark-plus.d.ts +1 -1
  223. package/dist/helpers/prism-vsc-dark-plus.js +52 -51
  224. package/dist/helpers/resolve-studio-color.d.ts +1 -0
  225. package/dist/helpers/resolve-studio-color.js +11 -0
  226. package/dist/helpers/studio-css-variables.d.ts +1 -0
  227. package/dist/helpers/studio-css-variables.js +105 -0
  228. package/dist/helpers/studio-pixel-ratio.d.ts +1 -0
  229. package/dist/helpers/studio-pixel-ratio.js +7 -0
  230. package/dist/helpers/timeline-node-path-key.d.ts +1 -1
  231. package/dist/helpers/timeline-node-path-key.js +2 -2
  232. package/dist/helpers/use-runtime-values.js +2 -28
  233. package/dist/hot-middleware-client/client.js +5 -3
  234. package/dist/icons/align-center-horizontal.js +2 -1
  235. package/dist/icons/align-left.js +2 -1
  236. package/dist/icons/align-right.js +2 -1
  237. package/dist/icons/{separation.d.ts → background-removal.d.ts} +1 -1
  238. package/dist/icons/background-removal.js +9 -0
  239. package/dist/icons/wrap.d.ts +4 -0
  240. package/dist/icons/wrap.js +10 -0
  241. package/dist/previewEntry.js +2 -0
  242. package/dist/renderEntry.js +2 -0
  243. package/dist/state/modals.d.ts +15 -1
  244. package/dist/state/timeline-sequence-hover.d.ts +6 -16
  245. package/dist/state/timeline-sequence-hover.js +6 -67
  246. package/package.json +20 -19
  247. package/dist/components/Timeline/get-easing-selection-after-keyframe-delete.d.ts +0 -15
  248. package/dist/components/Timeline/get-easing-selection-after-keyframe-delete.js +0 -31
  249. package/dist/esm/LazyModels-nh3c8h9p.mjs +0 -12
  250. package/dist/esm/LazyModels-rr5v8h5y.mjs +0 -12
  251. package/dist/esm/index-cw0pnpg5.mjs +0 -50
  252. package/dist/esm/index-k426ye99.mjs +0 -139
  253. package/dist/helpers/get-box-quads-polyfill-internals.d.ts +0 -82
  254. package/dist/helpers/get-box-quads-polyfill-internals.js +0 -2403
  255. package/dist/helpers/get-box-quads-ponyfill.d.ts +0 -10
  256. package/dist/helpers/get-box-quads-ponyfill.js +0 -23
  257. package/dist/icons/separation.js +0 -7
  258. /package/dist/esm/{resolve-composition-component-location-qrp05g62.mjs → resolve-composition-component-location-2hgf6g0a.mjs} +0 -0
@@ -75,12 +75,16 @@ var RenderQueueContext = React.createContext({
75
75
  updateCaptionJobProgress: noop,
76
76
  markCaptionJobDone: noop,
77
77
  markCaptionJobFailed: noop,
78
+ markCaptionJobCancelled: noop,
79
+ markCaptionJobSaving: noop,
78
80
  removeCaptionJob: noop,
79
81
  setProcessCaptionJobCallback: noop,
80
82
  addVideoMattingJob: noopString,
81
83
  updateVideoMattingJobProgress: noop,
82
84
  markVideoMattingJobDone: noop,
83
85
  markVideoMattingJobFailed: noop,
86
+ markVideoMattingJobCancelled: noop,
87
+ markVideoMattingJobSaving: noop,
84
88
  removeVideoMattingJob: noop,
85
89
  setProcessVideoMattingJobCallback: noop,
86
90
  getAbortController: () => new AbortController,
@@ -94,7 +98,7 @@ var RenderQueueContextProvider = ({ children }) => {
94
98
  const [clientJobs, setClientJobs] = useState(restorePersistedClientRenders);
95
99
  const [captionJobs, setCaptionJobs] = useState([]);
96
100
  const [videoMattingJobs, setVideoMattingJobs] = useState([]);
97
- const hasActiveLocalJob = clientJobs.some((job) => job.status === "idle" || job.status === "running" || job.status === "saving") || captionJobs.some((job) => job.status === "idle" || job.status === "running") || videoMattingJobs.some((job) => job.status === "idle" || job.status === "running");
101
+ const hasActiveLocalJob = clientJobs.some((job) => job.status === "idle" || job.status === "running" || job.status === "saving") || captionJobs.some((job) => job.status === "idle" || job.status === "running" || job.status === "saving") || videoMattingJobs.some((job) => job.status === "idle" || job.status === "running" || job.status === "saving");
98
102
  const [currentlyProcessing, setCurrentlyProcessing] = useState(null);
99
103
  const lastLocalJobStartedAt = useRef(clientJobs.reduce((latest, job) => Math.max(latest, job.startedAt), 0));
100
104
  const processJobCallbackRef = useRef(null);
@@ -151,7 +155,7 @@ var RenderQueueContextProvider = ({ children }) => {
151
155
  status: "running",
152
156
  progress: {
153
157
  detail: null,
154
- message: "Starting video matting...",
158
+ message: "outName" in job ? "Starting background removal..." : "Starting video matting...",
155
159
  value: 0
156
160
  }
157
161
  } : job));
@@ -267,13 +271,15 @@ var RenderQueueContextProvider = ({ children }) => {
267
271
  return id;
268
272
  }, [getLocalJobStartedAt]);
269
273
  const updateCaptionJobProgress = useCallback((jobId, progress) => {
270
- setCaptionJobs((prev) => prev.map((job) => job.id === jobId ? { ...job, status: "running", progress } : job));
274
+ setCaptionJobs((prev) => prev.map((job) => job.id === jobId && (job.status === "running" || job.status === "saving") ? { ...job, progress } : job));
271
275
  }, []);
272
276
  const markCaptionJobDone = useCallback((jobId, captionCount) => {
277
+ deleteAbortController(jobId);
273
278
  setCaptionJobs((prev) => prev.map((job) => job.id === jobId ? { ...job, status: "done", captionCount } : job));
274
279
  setCurrentlyProcessing((current) => current === jobId ? null : current);
275
280
  }, []);
276
281
  const markCaptionJobFailed = useCallback((jobId, error) => {
282
+ deleteAbortController(jobId);
277
283
  setCaptionJobs((prev) => prev.map((job) => job.id === jobId ? {
278
284
  ...job,
279
285
  status: "failed",
@@ -281,12 +287,21 @@ var RenderQueueContextProvider = ({ children }) => {
281
287
  } : job));
282
288
  setCurrentlyProcessing((current) => current === jobId ? null : current);
283
289
  }, []);
290
+ const markCaptionJobCancelled = useCallback((jobId) => {
291
+ deleteAbortController(jobId);
292
+ setCaptionJobs((prev) => prev.map((job) => job.id === jobId ? { ...job, status: "cancelled" } : job));
293
+ setCurrentlyProcessing((current) => current === jobId ? null : current);
294
+ }, []);
295
+ const markCaptionJobSaving = useCallback((jobId) => {
296
+ setCaptionJobs((prev) => prev.map((job) => job.id === jobId && job.status === "running" ? { ...job, status: "saving" } : job));
297
+ }, []);
284
298
  const removeCaptionJob = useCallback((jobId) => {
285
299
  setCaptionJobs((prev) => {
286
300
  const jobToRemove = prev.find((job) => job.id === jobId);
287
- if (jobToRemove?.status === "running") {
301
+ if (jobToRemove?.status === "running" || jobToRemove?.status === "saving") {
288
302
  return prev;
289
303
  }
304
+ deleteAbortController(jobId);
290
305
  return prev.filter((job) => job.id !== jobId);
291
306
  });
292
307
  }, []);
@@ -309,13 +324,15 @@ var RenderQueueContextProvider = ({ children }) => {
309
324
  return id;
310
325
  }, [getLocalJobStartedAt]);
311
326
  const updateVideoMattingJobProgress = useCallback((jobId, progress) => {
312
- setVideoMattingJobs((prev) => prev.map((job) => job.id === jobId ? { ...job, status: "running", progress } : job));
327
+ setVideoMattingJobs((prev) => prev.map((job) => job.id === jobId && (job.status === "running" || job.status === "saving") ? { ...job, progress } : job));
313
328
  }, []);
314
329
  const markVideoMattingJobDone = useCallback((jobId) => {
330
+ deleteAbortController(jobId);
315
331
  setVideoMattingJobs((prev) => prev.map((job) => job.id === jobId ? { ...job, status: "done" } : job));
316
332
  setCurrentlyProcessing((current) => current === jobId ? null : current);
317
333
  }, []);
318
334
  const markVideoMattingJobFailed = useCallback((jobId, error) => {
335
+ deleteAbortController(jobId);
319
336
  setVideoMattingJobs((prev) => prev.map((job) => job.id === jobId ? {
320
337
  ...job,
321
338
  status: "failed",
@@ -323,12 +340,21 @@ var RenderQueueContextProvider = ({ children }) => {
323
340
  } : job));
324
341
  setCurrentlyProcessing((current) => current === jobId ? null : current);
325
342
  }, []);
343
+ const markVideoMattingJobCancelled = useCallback((jobId) => {
344
+ deleteAbortController(jobId);
345
+ setVideoMattingJobs((prev) => prev.map((job) => job.id === jobId ? { ...job, status: "cancelled" } : job));
346
+ setCurrentlyProcessing((current) => current === jobId ? null : current);
347
+ }, []);
348
+ const markVideoMattingJobSaving = useCallback((jobId) => {
349
+ setVideoMattingJobs((prev) => prev.map((job) => job.id === jobId && job.status === "running" ? { ...job, status: "saving" } : job));
350
+ }, []);
326
351
  const removeVideoMattingJob = useCallback((jobId) => {
327
352
  setVideoMattingJobs((prev) => {
328
353
  const jobToRemove = prev.find((job) => job.id === jobId);
329
- if (jobToRemove?.status === "running") {
354
+ if (jobToRemove?.status === "running" || jobToRemove?.status === "saving") {
330
355
  return prev;
331
356
  }
357
+ deleteAbortController(jobId);
332
358
  return prev.filter((job) => job.id !== jobId);
333
359
  });
334
360
  }, []);
@@ -380,12 +406,16 @@ var RenderQueueContextProvider = ({ children }) => {
380
406
  updateCaptionJobProgress,
381
407
  markCaptionJobDone,
382
408
  markCaptionJobFailed,
409
+ markCaptionJobCancelled,
410
+ markCaptionJobSaving,
383
411
  removeCaptionJob,
384
412
  setProcessCaptionJobCallback,
385
413
  addVideoMattingJob,
386
414
  updateVideoMattingJobProgress,
387
415
  markVideoMattingJobDone,
388
416
  markVideoMattingJobFailed,
417
+ markVideoMattingJobCancelled,
418
+ markVideoMattingJobSaving,
389
419
  removeVideoMattingJob,
390
420
  setProcessVideoMattingJobCallback,
391
421
  getAbortController,
@@ -410,12 +440,16 @@ var RenderQueueContextProvider = ({ children }) => {
410
440
  updateCaptionJobProgress,
411
441
  markCaptionJobDone,
412
442
  markCaptionJobFailed,
443
+ markCaptionJobCancelled,
444
+ markCaptionJobSaving,
413
445
  removeCaptionJob,
414
446
  setProcessCaptionJobCallback,
415
447
  addVideoMattingJob,
416
448
  updateVideoMattingJobProgress,
417
449
  markVideoMattingJobDone,
418
450
  markVideoMattingJobFailed,
451
+ markVideoMattingJobCancelled,
452
+ markVideoMattingJobSaving,
419
453
  removeVideoMattingJob,
420
454
  setProcessVideoMattingJobCallback
421
455
  ]);
@@ -644,4 +644,22 @@ var useZIndex = () => {
644
644
  }), [context.currentIndex, highestContext.highestIndex, isHighestContext]);
645
645
  };
646
646
 
647
- export { isPointerSessionRelease, startCapturedPointerSession, startDeferredCapturedPointerSession, isMac, defaultKeyboardShortcuts, keyboardShortcutGroups, askAIKeyboardShortcutGroup, getKeyboardShortcutsForAction, keyboardShortcutsOverlap, formatKeyboardShortcut, getKeyboardShortcutLabel, getKeyboardShortcutAriaKeyShortcuts, shortcutFromKeyboardEvent, KeybindingContextProvider, areKeyboardShortcutsDisabled, useKeybinding, HighestZIndexProvider, getClickLock, setClickLock, HigherZIndex, useZIndex };
647
+ // src/components/Menu/portals.ts
648
+ var portalIds = [
649
+ "menuportal-0",
650
+ "menuportal-1",
651
+ "menuportal-2",
652
+ "menuportal-3",
653
+ "menuportal-4",
654
+ "menuportal-5"
655
+ ];
656
+ var portals = typeof document === "undefined" ? [] : portalIds.map((id) => document.getElementById(id));
657
+ var getPortal = (i) => {
658
+ const portal = portals[i];
659
+ if (!portal) {
660
+ throw new Error(`Expected menu portal ${i} to exist`);
661
+ }
662
+ return portal;
663
+ };
664
+
665
+ export { isPointerSessionRelease, startCapturedPointerSession, startDeferredCapturedPointerSession, isMac, defaultKeyboardShortcuts, keyboardShortcutGroups, askAIKeyboardShortcutGroup, getKeyboardShortcutsForAction, keyboardShortcutsOverlap, formatKeyboardShortcut, getKeyboardShortcutLabel, getKeyboardShortcutAriaKeyShortcuts, shortcutFromKeyboardEvent, KeybindingContextProvider, areKeyboardShortcutsDisabled, useKeybinding, HighestZIndexProvider, getClickLock, setClickLock, HigherZIndex, useZIndex, portals, getPortal };
@@ -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-wqc43mw0.mjs";
14
12
  import {
15
13
  __require,
16
14
  __toESM
@@ -0,0 +1,103 @@
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-10: rgba(0, 0, 0, 0.1);
34
+ --remotion-studio-black-alpha-28: rgba(0, 0, 0, 0.28);
35
+ --remotion-studio-black-alpha-30: rgba(0, 0, 0, 0.3);
36
+ --remotion-studio-black-alpha-40: rgba(0, 0, 0, 0.4);
37
+ --remotion-studio-black-alpha-50: rgba(0, 0, 0, 0.5);
38
+ --remotion-studio-black-alpha-60: rgba(0, 0, 0, 0.6);
39
+ --remotion-studio-black-alpha-80: rgba(0, 0, 0, 0.8);
40
+ --remotion-studio-black-alpha-85: rgba(0, 0, 0, 0.85);
41
+ --remotion-studio-black-alpha-90: rgba(0, 0, 0, 0.9);
42
+ --remotion-studio-fail-color: #ff3232;
43
+ --remotion-studio-warning-color: #f1c40f;
44
+ --remotion-studio-blue: #0b84f3;
45
+ --remotion-studio-blue-hovered: #4da3f7;
46
+ --remotion-studio-blue-disabled: #284f73;
47
+ --remotion-studio-unselected-guide: #7e1219;
48
+ --remotion-studio-selected-guide: #d22d3a;
49
+ --remotion-studio-line-color: #363A3E;
50
+ --remotion-studio-timeline-track-separator: #13161B;
51
+ --remotion-studio-light-gray: #ccc;
52
+ --remotion-studio-keyboard-shortcut-key-color: #eee;
53
+ --remotion-studio-notification-background: #111111;
54
+ --remotion-studio-render-status-background: #222;
55
+ --remotion-studio-error-code-frame-background: #070707;
56
+ --remotion-studio-error-code-frame-line-background: #121212;
57
+ --remotion-studio-error-link-color: #58a6ff;
58
+ --remotion-studio-info-blue: #60a5fa;
59
+ --remotion-studio-server-disconnected-background: #e74c3c;
60
+ --remotion-studio-timeline-background-color: #15181B;
61
+ --remotion-studio-timeline-negative-start-background-color: #2C2F32;
62
+ --remotion-studio-timeline-negative-start-border-color: #414446;
63
+ --remotion-studio-timeline-selected-background-color: #3B3F42;
64
+ --remotion-studio-timeline-selected-label-background-color: #B0B0B0;
65
+ --remotion-studio-timeline-blue: #0b84ff;
66
+ --remotion-studio-timeline-playhead-color: #f02c00;
67
+ --remotion-studio-timeline-drop-blue-alpha-12: rgba(0, 155, 255, 0.12);
68
+ --remotion-studio-timeline-drop-blue-alpha-16: rgba(0, 155, 255, 0.16);
69
+ --remotion-studio-timeline-drop-blue-alpha-75: rgba(0, 155, 255, 0.75);
70
+ --remotion-studio-timeline-marquee-blue-alpha-16: rgba(70, 130, 255, 0.16);
71
+ --remotion-studio-timeline-marquee-blue-alpha-75: rgba(70, 130, 255, 0.75);
72
+ --remotion-studio-easing-selected-background: rgba(11, 132, 243, 0.18);
73
+ --remotion-studio-info-blue-background: rgba(59, 130, 246, 0.15);
74
+ --remotion-studio-color-picker-checker-background-color: #444;
75
+ --remotion-studio-color-picker-hue-gradient: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);
76
+ --remotion-studio-timeline-audio-gradient: linear-gradient(rgb(16 171 58), rgb(43 165 63) 60%);
77
+ --remotion-studio-timeline-video-gradient: linear-gradient(to top, #8e44ad, #9b59b6);
78
+ --remotion-studio-focus-color: #555;
79
+ --remotion-studio-color-picker-checker-color: #888;
80
+ --remotion-studio-info-blue-border-color: rgba(59, 130, 246, 0.4);
81
+ --remotion-studio-black-alpha-22: rgba(0, 0, 0, 0.22);
82
+ --remotion-studio-font-family-error-color: #ff8a8a;
83
+ --remotion-studio-selected-outline-snap-color: #ff00ff;
84
+ --remotion-studio-prism-text-color: #d4d4d4;
85
+ --remotion-studio-prism-selection-background: #264f78;
86
+ --remotion-studio-prism-background: #1e1e1e;
87
+ --remotion-studio-prism-inline-color: #db4c69;
88
+ --remotion-studio-prism-keyword-color: #569cd6;
89
+ --remotion-studio-prism-variable-color: #9cdcfe;
90
+ --remotion-studio-prism-comment-color: #6a9955;
91
+ --remotion-studio-prism-number-color: #b5cea8;
92
+ --remotion-studio-prism-string-color: #ce9178;
93
+ --remotion-studio-prism-control-flow-color: #c586c0;
94
+ --remotion-studio-prism-function-color: #dcdcaa;
95
+ --remotion-studio-prism-regex-color: #d16969;
96
+ --remotion-studio-prism-class-name-color: #4ec9b0;
97
+ --remotion-studio-prism-selector-color: #d7ba7d;
98
+ --remotion-studio-prism-line-highlight-background: #f7ebc6;
99
+ --remotion-studio-prism-line-highlight-border-color: #f7d87c;
100
+ }
101
+ `;
102
+
103
+ export { studioCssVariables };
@@ -1,19 +1,19 @@
1
1
  import {
2
+ ActionTooltip,
2
3
  CheckCircleFilled,
3
4
  CloudDownloadIcon,
4
5
  InlineAction,
6
+ ModelsIcon,
5
7
  Spinner,
6
8
  TrashIcon,
7
9
  VERTICAL_SCROLLBAR_CLASSNAME,
8
10
  ValidationMessage,
9
11
  optionsPanel
10
- } from "./index-5t2dwxsk.mjs";
12
+ } from "./index-890dd9b3.mjs";
11
13
  import {
12
14
  BLUE,
13
- BORDER_WHITE_ALPHA_12,
14
- LIGHT_TEXT,
15
- WHITE
16
- } from "./index-k426ye99.mjs";
15
+ LIGHT_TEXT
16
+ } from "./index-wqc43mw0.mjs";
17
17
 
18
18
  // src/components/ModelManager.tsx
19
19
  import { formatBytes } from "@remotion/studio-shared";
@@ -46,15 +46,14 @@ var descriptionStyle = {
46
46
  var list = { marginTop: 14 };
47
47
  var modelRow = {
48
48
  alignItems: "center",
49
- borderBottom: BORDER_WHITE_ALPHA_12,
50
49
  display: "flex",
51
50
  gap: 10,
52
- minHeight: 38,
53
- padding: "0 10px"
51
+ minHeight: 38
54
52
  };
55
- var lastModelRow = {
56
- ...modelRow,
57
- borderBottom: "none"
53
+ var modelIcon = {
54
+ flexShrink: 0,
55
+ height: 16,
56
+ width: 16
58
57
  };
59
58
  var statusIcon = {
60
59
  flexShrink: 0,
@@ -62,7 +61,7 @@ var statusIcon = {
62
61
  width: 14
63
62
  };
64
63
  var modelName = {
65
- color: WHITE,
64
+ color: LIGHT_TEXT,
66
65
  flex: 1,
67
66
  fontFamily: "monospace",
68
67
  fontSize: 13,
@@ -208,15 +207,20 @@ var ModelManager = ({
208
207
  style: description === null ? undefined : list,
209
208
  role: "list",
210
209
  "aria-label": ariaLabel,
211
- children: availableModels.map((model, index) => {
210
+ children: availableModels.map((model) => {
212
211
  const cached = cachedModels?.has(model.name) ?? false;
213
212
  const processingThisModel = actionState.type !== "idle" && actionState.type !== "error" && actionState.model === model.name;
214
213
  const progress = actionState.type === "downloading" && actionState.model === model.name ? actionState.progress : null;
215
214
  const modelStatus = processingThisModel ? actionState.type === "removing" ? "Removing…" : `Downloading${progress === null ? "…" : ` ${Math.round(progress * 100)}%`}` : actionState.type === "error" && actionState.model === model.name ? actionState.message : formatBytes(model.webGpuDownloadSize);
216
215
  return /* @__PURE__ */ jsxs("div", {
217
216
  role: "listitem",
218
- style: index === availableModels.length - 1 ? lastModelRow : modelRow,
217
+ style: modelRow,
219
218
  children: [
219
+ /* @__PURE__ */ jsx(ModelsIcon, {
220
+ "aria-hidden": true,
221
+ color: LIGHT_TEXT,
222
+ style: modelIcon
223
+ }),
220
224
  /* @__PURE__ */ jsx("span", {
221
225
  style: modelName,
222
226
  children: model.name
@@ -236,18 +240,32 @@ var ModelManager = ({
236
240
  duration: 0.5,
237
241
  size: 14
238
242
  })
239
- }) : cached ? /* @__PURE__ */ jsx(InlineAction, {
240
- disabled: actionInProgress,
241
- onClick: () => remove(model.name),
242
- renderAction: renderRemoveIcon,
243
- title: `Remove ${model.name}`,
244
- variant: null
245
- }) : /* @__PURE__ */ jsx(InlineAction, {
246
- disabled: cachedModels === null || actionInProgress,
247
- onClick: () => downloadModel(model.name),
248
- renderAction: renderDownloadIcon,
249
- title: `Download ${model.name}`,
250
- variant: null
243
+ }) : cached ? /* @__PURE__ */ jsx(ActionTooltip, {
244
+ label: "Uninstall",
245
+ shortcut: null,
246
+ delay: 800,
247
+ dismissOnClick: true,
248
+ children: /* @__PURE__ */ jsx(InlineAction, {
249
+ "aria-label": `Remove ${model.name}`,
250
+ title: "",
251
+ disabled: actionInProgress,
252
+ onClick: () => remove(model.name),
253
+ renderAction: renderRemoveIcon,
254
+ variant: null
255
+ })
256
+ }) : /* @__PURE__ */ jsx(ActionTooltip, {
257
+ label: "Install",
258
+ shortcut: null,
259
+ delay: 800,
260
+ dismissOnClick: true,
261
+ children: /* @__PURE__ */ jsx(InlineAction, {
262
+ "aria-label": `Download ${model.name}`,
263
+ title: "",
264
+ disabled: cachedModels === null || actionInProgress,
265
+ onClick: () => downloadModel(model.name),
266
+ renderAction: renderDownloadIcon,
267
+ variant: null
268
+ })
251
269
  })
252
270
  ]
253
271
  }, model.name);
@@ -0,0 +1,158 @@
1
+ // src/helpers/colors.ts
2
+ var BLACK = "var(--remotion-studio-black)";
3
+ var WHITE = "var(--remotion-studio-white)";
4
+ var RED = "var(--remotion-studio-red)";
5
+ var TRANSPARENT = "var(--remotion-studio-transparent)";
6
+ var CURRENT_COLOR = "var(--remotion-studio-current-color)";
7
+ var CURRENT_COLOR_LOWERCASE = "var(--remotion-studio-current-color)";
8
+ var WHITE_HEX = "var(--remotion-studio-white)";
9
+ var BLACK_HEX = "var(--remotion-studio-black)";
10
+ var BACKGROUND = "var(--remotion-studio-background)";
11
+ var BACKGROUND_HEX = "var(--remotion-studio-background)";
12
+ var BACKGROUND__TRANSPARENT = "var(--remotion-studio-background-transparent)";
13
+ var INPUT_BACKGROUND = "var(--remotion-studio-input-background)";
14
+ var LIGHT_COLOR = "var(--remotion-studio-light-color)";
15
+ var SELECTED_BACKGROUND = "var(--remotion-studio-white-alpha-15)";
16
+ var LIGHT_TEXT = "var(--remotion-studio-light-text)";
17
+ var RULER_COLOR = "var(--remotion-studio-ruler-color)";
18
+ var WHITE_ALPHA_05 = "var(--remotion-studio-white-alpha-05)";
19
+ var WHITE_ALPHA_06 = "var(--remotion-studio-white-alpha-06)";
20
+ var WHITE_ALPHA_08 = "var(--remotion-studio-white-alpha-08)";
21
+ var WHITE_ALPHA_10 = "var(--remotion-studio-white-alpha-10)";
22
+ var WHITE_ALPHA_12 = "var(--remotion-studio-white-alpha-12)";
23
+ var WHITE_ALPHA_15 = "var(--remotion-studio-white-alpha-15)";
24
+ var WHITE_ALPHA_20 = "var(--remotion-studio-white-alpha-20)";
25
+ var WHITE_ALPHA_25 = "var(--remotion-studio-white-alpha-25)";
26
+ var WHITE_ALPHA_30 = "var(--remotion-studio-white-alpha-30)";
27
+ var WHITE_ALPHA_35 = "var(--remotion-studio-white-alpha-35)";
28
+ var WHITE_ALPHA_40 = "var(--remotion-studio-white-alpha-40)";
29
+ var WHITE_ALPHA_45 = "var(--remotion-studio-white-alpha-45)";
30
+ var WHITE_ALPHA_50 = "var(--remotion-studio-white-alpha-50)";
31
+ var WHITE_ALPHA_60 = "var(--remotion-studio-white-alpha-60)";
32
+ var WHITE_ALPHA_70 = "var(--remotion-studio-white-alpha-70)";
33
+ var WHITE_ALPHA_72 = "var(--remotion-studio-white-alpha-72)";
34
+ var WHITE_ALPHA_80 = "var(--remotion-studio-white-alpha-80)";
35
+ var WHITE_ALPHA_90 = "var(--remotion-studio-white-alpha-90)";
36
+ var BLACK_ALPHA_10 = "var(--remotion-studio-black-alpha-10)";
37
+ var BLACK_ALPHA_28 = "var(--remotion-studio-black-alpha-28)";
38
+ var BLACK_ALPHA_30 = "var(--remotion-studio-black-alpha-30)";
39
+ var BLACK_ALPHA_40 = "var(--remotion-studio-black-alpha-40)";
40
+ var BLACK_ALPHA_50 = "var(--remotion-studio-black-alpha-50)";
41
+ var BLACK_ALPHA_60 = "var(--remotion-studio-black-alpha-60)";
42
+ var BLACK_ALPHA_80 = "var(--remotion-studio-black-alpha-80)";
43
+ var BLACK_ALPHA_85 = "var(--remotion-studio-black-alpha-85)";
44
+ var BLACK_ALPHA_90 = "var(--remotion-studio-black-alpha-90)";
45
+ var BLACK_OPAQUE = "var(--remotion-studio-black)";
46
+ var SELECTED_HOVER_BACKGROUND = "var(--remotion-studio-white-alpha-25)";
47
+ var FAIL_COLOR = "var(--remotion-studio-fail-color)";
48
+ var WARNING_COLOR = "var(--remotion-studio-warning-color)";
49
+ var BLUE = "var(--remotion-studio-blue)";
50
+ var BLUE_HOVERED = "var(--remotion-studio-blue-hovered)";
51
+ var BLUE_DISABLED = "var(--remotion-studio-blue-disabled)";
52
+ var UNSELECTED_GUIDE = "var(--remotion-studio-unselected-guide)";
53
+ var SELECTED_GUIDE = "var(--remotion-studio-selected-guide)";
54
+ var LINE_COLOR = "var(--remotion-studio-line-color)";
55
+ var TIMELINE_TRACK_SEPARATOR = "var(--remotion-studio-timeline-track-separator)";
56
+ var LIGHT_GRAY = "var(--remotion-studio-light-gray)";
57
+ var NOTIFICATION_BACKGROUND = "var(--remotion-studio-notification-background)";
58
+ var RENDER_STATUS_BACKGROUND = "var(--remotion-studio-render-status-background)";
59
+ var ERROR_CODE_FRAME_BACKGROUND = "var(--remotion-studio-error-code-frame-background)";
60
+ var ERROR_CODE_FRAME_LINE_BACKGROUND = "var(--remotion-studio-error-code-frame-line-background)";
61
+ var ERROR_LINK_COLOR = "var(--remotion-studio-error-link-color)";
62
+ var INFO_BLUE = "var(--remotion-studio-info-blue)";
63
+ var SERVER_DISCONNECTED_BACKGROUND = "var(--remotion-studio-server-disconnected-background)";
64
+ var TIMELINE_BACKGROUND_COLOR = "var(--remotion-studio-timeline-background-color)";
65
+ var TIMELINE_NEGATIVE_START_BACKGROUND_COLOR = "var(--remotion-studio-timeline-negative-start-background-color)";
66
+ var TIMELINE_NEGATIVE_START_BORDER_COLOR = "var(--remotion-studio-timeline-negative-start-border-color)";
67
+ var TIMELINE_SELECTED_BACKGROUND_COLOR = "var(--remotion-studio-timeline-selected-background-color)";
68
+ var TIMELINE_SELECTED_LABEL_BACKGROUND_COLOR = "var(--remotion-studio-timeline-selected-label-background-color)";
69
+ var TIMELINE_BLUE = "var(--remotion-studio-timeline-blue)";
70
+ var TIMELINE_PLAYHEAD_COLOR = "var(--remotion-studio-timeline-playhead-color)";
71
+ var TIMELINE_DROP_BLUE_ALPHA_12 = "var(--remotion-studio-timeline-drop-blue-alpha-12)";
72
+ var TIMELINE_DROP_BLUE_ALPHA_16 = "var(--remotion-studio-timeline-drop-blue-alpha-16)";
73
+ var TIMELINE_DROP_BLUE_ALPHA_75 = "var(--remotion-studio-timeline-drop-blue-alpha-75)";
74
+ var TIMELINE_MARQUEE_BLUE_ALPHA_16 = "var(--remotion-studio-timeline-marquee-blue-alpha-16)";
75
+ var TIMELINE_MARQUEE_BLUE_ALPHA_75 = "var(--remotion-studio-timeline-marquee-blue-alpha-75)";
76
+ var INFO_BLUE_BACKGROUND = "var(--remotion-studio-info-blue-background)";
77
+ var FOCUS_COLOR = "var(--remotion-studio-focus-color)";
78
+ var COLOR_PICKER_CHECKER_COLOR = "var(--remotion-studio-color-picker-checker-color)";
79
+ var INFO_BLUE_BORDER_COLOR = "var(--remotion-studio-info-blue-border-color)";
80
+ var BLACK_ALPHA_22 = "var(--remotion-studio-black-alpha-22)";
81
+ var FONT_FAMILY_ERROR_COLOR = "var(--remotion-studio-font-family-error-color)";
82
+ var SELECTED_OUTLINE_SNAP_COLOR = "var(--remotion-studio-selected-outline-snap-color)";
83
+ var PRISM_TEXT_COLOR = "var(--remotion-studio-prism-text-color)";
84
+ var PRISM_SELECTION_BACKGROUND = "var(--remotion-studio-prism-selection-background)";
85
+ var PRISM_BACKGROUND = "var(--remotion-studio-prism-background)";
86
+ var PRISM_INLINE_COLOR = "var(--remotion-studio-prism-inline-color)";
87
+ var PRISM_KEYWORD_COLOR = "var(--remotion-studio-prism-keyword-color)";
88
+ var PRISM_VARIABLE_COLOR = "var(--remotion-studio-prism-variable-color)";
89
+ var PRISM_COMMENT_COLOR = "var(--remotion-studio-prism-comment-color)";
90
+ var PRISM_NUMBER_COLOR = "var(--remotion-studio-prism-number-color)";
91
+ var PRISM_STRING_COLOR = "var(--remotion-studio-prism-string-color)";
92
+ var PRISM_CONTROL_FLOW_COLOR = "var(--remotion-studio-prism-control-flow-color)";
93
+ var PRISM_FUNCTION_COLOR = "var(--remotion-studio-prism-function-color)";
94
+ var PRISM_REGEX_COLOR = "var(--remotion-studio-prism-regex-color)";
95
+ var PRISM_CLASS_NAME_COLOR = "var(--remotion-studio-prism-class-name-color)";
96
+ var PRISM_SELECTOR_COLOR = "var(--remotion-studio-prism-selector-color)";
97
+ var PRISM_LINE_HIGHLIGHT_BACKGROUND = "var(--remotion-studio-prism-line-highlight-background)";
98
+ var PRISM_LINE_HIGHLIGHT_BORDER_COLOR = "var(--remotion-studio-prism-line-highlight-border-color)";
99
+ var BORDER_BLACK = `1px solid ${BLACK_HEX}`;
100
+ var BORDER_WHITE = `1px solid ${WHITE_HEX}`;
101
+ var BORDER_WHITE_2PX = `2px solid ${WHITE_HEX}`;
102
+ var BORDER_CURRENT_COLOR = `1px solid ${CURRENT_COLOR}`;
103
+ var BORDER_TRANSPARENT_2PX = `2px solid ${TRANSPARENT}`;
104
+ var BORDER_BLACK_ALPHA_50 = `1px solid ${BLACK_ALPHA_50}`;
105
+ var BORDER_BLACK_ALPHA_60 = `1px solid ${BLACK_ALPHA_60}`;
106
+ var BORDER_WHITE_ALPHA_12 = `1px solid ${WHITE_ALPHA_12}`;
107
+ var BORDER_WHITE_ALPHA_20 = `1px solid ${WHITE_ALPHA_20}`;
108
+ var BORDER_INFO_BLUE = `1px solid ${INFO_BLUE_BORDER_COLOR}`;
109
+ var BORDER_TIMELINE_DROP_BLUE = `1px solid ${TIMELINE_DROP_BLUE_ALPHA_75}`;
110
+ var BORDER_TIMELINE_MARQUEE_BLUE = `1px solid ${TIMELINE_MARQUEE_BLUE_ALPHA_75}`;
111
+ var SHADOW_BLACK = `0 0 4px ${BLACK}`;
112
+ var SHADOW_BLACK_ALPHA_50_TOWARDS_BOTTOM = `0 2px 8px ${BLACK_ALPHA_50}`;
113
+ var SHADOW_BLACK_ALPHA_50_TOWARDS_TOP = `0 -2px 8px ${BLACK_ALPHA_50}`;
114
+ var NOTIFICATION_SHADOW = `0 2px 3px ${BLACK_OPAQUE}`;
115
+ var SERVER_DISCONNECTED_SHADOW = `0 2px 4px ${BLACK_ALPHA_40}`;
116
+ var COLOR_PICKER_POPUP_SHADOW = `0 4px 16px ${BLACK_ALPHA_50}`;
117
+ var COLOR_PICKER_HANDLE_SHADOW = `0 0 0 1px ${BLACK_ALPHA_60}`;
118
+ var NOTIFICATION_BORDER = `0.25px solid ${WHITE_ALPHA_10}`;
119
+ var FOCUS_BOX_SHADOW = `inset 1px 1px ${FOCUS_COLOR}, inset -1px -1px ${FOCUS_COLOR}, ` + `inset 1px -1px ${FOCUS_COLOR}, inset -1px 1px ${FOCUS_COLOR}`;
120
+ var CHECKERBOARD_BACKGROUND_IMAGE = `
121
+ linear-gradient(
122
+ 45deg,
123
+ ${BLACK_ALPHA_10} 25%,
124
+ ${TRANSPARENT} 25%
125
+ ),
126
+ linear-gradient(135deg, ${BLACK_ALPHA_10} 25%, ${TRANSPARENT} 25%),
127
+ linear-gradient(45deg, ${TRANSPARENT} 75%, ${BLACK_ALPHA_10} 75%),
128
+ linear-gradient(135deg, ${TRANSPARENT} 75%, ${BLACK_ALPHA_10} 75%)
129
+ `;
130
+ var COLOR_PICKER_CHECKER_BACKGROUND_IMAGE = `linear-gradient(45deg, ${COLOR_PICKER_CHECKER_COLOR} 25%, ${TRANSPARENT} 25%), ` + `linear-gradient(-45deg, ${COLOR_PICKER_CHECKER_COLOR} 25%, ${TRANSPARENT} 25%), ` + `linear-gradient(45deg, ${TRANSPARENT} 75%, ${COLOR_PICKER_CHECKER_COLOR} 75%), ` + `linear-gradient(-45deg, ${TRANSPARENT} 75%, ${COLOR_PICKER_CHECKER_COLOR} 75%)`;
131
+ var COLOR_PICKER_CHECKER_BACKGROUND_COLOR = "var(--remotion-studio-color-picker-checker-background-color)";
132
+ var COLOR_PICKER_SATURATION_VALUE_GRADIENT = `linear-gradient(to right, ${WHITE_HEX}, ${TRANSPARENT})`;
133
+ var COLOR_PICKER_SATURATION_BLACK_GRADIENT = `linear-gradient(to top, ${BLACK_HEX}, ${TRANSPARENT})`;
134
+ var COLOR_PICKER_ALPHA_TRANSPARENT = "var(--remotion-studio-transparent)";
135
+ var COLOR_PICKER_HUE_GRADIENT = "var(--remotion-studio-color-picker-hue-gradient)";
136
+ var ERROR_MESSAGE_MASK_IMAGE = `linear-gradient(to bottom, ${WHITE} 60%, ${TRANSPARENT})`;
137
+ var SELECTED_OUTLINE_DROP_SHADOW = `drop-shadow(0 0 1px ${WHITE_ALPHA_20})`;
138
+ var SELECTED_OUTLINE_UV_DROP_SHADOW = `drop-shadow(0 1px 2px ${BLACK_ALPHA_28})`;
139
+ var LOOPED_INDICATOR_DROP_SHADOW = `drop-shadow(0 0 2px ${BLACK_ALPHA_90}) ` + `drop-shadow(0 1px 2px ${BLACK_ALPHA_80})`;
140
+ var TIMELINE_AUDIO_GRADIENT = "var(--remotion-studio-timeline-audio-gradient)";
141
+ var TIMELINE_VIDEO_GRADIENT = "var(--remotion-studio-timeline-video-gradient)";
142
+ var getBackgroundFromHoverState = ({
143
+ selected,
144
+ hovered
145
+ }) => {
146
+ if (selected) {
147
+ if (hovered) {
148
+ return SELECTED_HOVER_BACKGROUND;
149
+ }
150
+ return SELECTED_BACKGROUND;
151
+ }
152
+ if (hovered) {
153
+ return WHITE_ALPHA_06;
154
+ }
155
+ return TRANSPARENT;
156
+ };
157
+
158
+ export { BLACK, WHITE, RED, TRANSPARENT, CURRENT_COLOR, CURRENT_COLOR_LOWERCASE, WHITE_HEX, BLACK_HEX, BACKGROUND, BACKGROUND_HEX, BACKGROUND__TRANSPARENT, INPUT_BACKGROUND, LIGHT_COLOR, SELECTED_BACKGROUND, LIGHT_TEXT, RULER_COLOR, WHITE_ALPHA_05, WHITE_ALPHA_06, WHITE_ALPHA_08, WHITE_ALPHA_10, WHITE_ALPHA_12, WHITE_ALPHA_15, WHITE_ALPHA_20, WHITE_ALPHA_25, WHITE_ALPHA_30, WHITE_ALPHA_35, WHITE_ALPHA_40, WHITE_ALPHA_45, WHITE_ALPHA_50, WHITE_ALPHA_60, WHITE_ALPHA_70, WHITE_ALPHA_72, WHITE_ALPHA_80, WHITE_ALPHA_90, BLACK_ALPHA_30, BLACK_ALPHA_40, BLACK_ALPHA_50, BLACK_ALPHA_60, BLACK_ALPHA_85, FAIL_COLOR, WARNING_COLOR, BLUE, BLUE_HOVERED, BLUE_DISABLED, UNSELECTED_GUIDE, SELECTED_GUIDE, LINE_COLOR, TIMELINE_TRACK_SEPARATOR, LIGHT_GRAY, NOTIFICATION_BACKGROUND, RENDER_STATUS_BACKGROUND, ERROR_CODE_FRAME_BACKGROUND, ERROR_CODE_FRAME_LINE_BACKGROUND, ERROR_LINK_COLOR, INFO_BLUE, SERVER_DISCONNECTED_BACKGROUND, TIMELINE_BACKGROUND_COLOR, TIMELINE_NEGATIVE_START_BACKGROUND_COLOR, TIMELINE_NEGATIVE_START_BORDER_COLOR, TIMELINE_SELECTED_BACKGROUND_COLOR, TIMELINE_SELECTED_LABEL_BACKGROUND_COLOR, TIMELINE_BLUE, TIMELINE_PLAYHEAD_COLOR, TIMELINE_DROP_BLUE_ALPHA_12, TIMELINE_DROP_BLUE_ALPHA_16, TIMELINE_MARQUEE_BLUE_ALPHA_16, INFO_BLUE_BACKGROUND, BLACK_ALPHA_22, FONT_FAMILY_ERROR_COLOR, SELECTED_OUTLINE_SNAP_COLOR, PRISM_TEXT_COLOR, PRISM_SELECTION_BACKGROUND, PRISM_BACKGROUND, PRISM_INLINE_COLOR, PRISM_KEYWORD_COLOR, PRISM_VARIABLE_COLOR, PRISM_COMMENT_COLOR, PRISM_NUMBER_COLOR, PRISM_STRING_COLOR, PRISM_CONTROL_FLOW_COLOR, PRISM_FUNCTION_COLOR, PRISM_REGEX_COLOR, PRISM_CLASS_NAME_COLOR, PRISM_SELECTOR_COLOR, PRISM_LINE_HIGHLIGHT_BACKGROUND, PRISM_LINE_HIGHLIGHT_BORDER_COLOR, BORDER_BLACK, BORDER_WHITE, BORDER_WHITE_2PX, BORDER_CURRENT_COLOR, BORDER_TRANSPARENT_2PX, BORDER_BLACK_ALPHA_50, BORDER_BLACK_ALPHA_60, BORDER_WHITE_ALPHA_12, BORDER_WHITE_ALPHA_20, BORDER_INFO_BLUE, BORDER_TIMELINE_DROP_BLUE, BORDER_TIMELINE_MARQUEE_BLUE, SHADOW_BLACK, SHADOW_BLACK_ALPHA_50_TOWARDS_BOTTOM, SHADOW_BLACK_ALPHA_50_TOWARDS_TOP, NOTIFICATION_SHADOW, SERVER_DISCONNECTED_SHADOW, COLOR_PICKER_POPUP_SHADOW, COLOR_PICKER_HANDLE_SHADOW, NOTIFICATION_BORDER, FOCUS_BOX_SHADOW, CHECKERBOARD_BACKGROUND_IMAGE, COLOR_PICKER_CHECKER_BACKGROUND_IMAGE, COLOR_PICKER_CHECKER_BACKGROUND_COLOR, COLOR_PICKER_SATURATION_VALUE_GRADIENT, COLOR_PICKER_SATURATION_BLACK_GRADIENT, COLOR_PICKER_ALPHA_TRANSPARENT, COLOR_PICKER_HUE_GRADIENT, ERROR_MESSAGE_MASK_IMAGE, SELECTED_OUTLINE_DROP_SHADOW, SELECTED_OUTLINE_UV_DROP_SHADOW, LOOPED_INDICATOR_DROP_SHADOW, TIMELINE_AUDIO_GRADIENT, TIMELINE_VIDEO_GRADIENT, getBackgroundFromHoverState };