@remotion/studio 4.0.522 → 4.0.523

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 (220) hide show
  1. package/dist/api/install-package.js +4 -2
  2. package/dist/components/AssetAudioVolume.d.ts +5 -0
  3. package/dist/components/AssetAudioVolume.js +33 -0
  4. package/dist/components/Canvas.js +5 -6
  5. package/dist/components/CaptionInspector.js +74 -20
  6. package/dist/components/CheckboardToggle.js +8 -6
  7. package/dist/components/Checkbox.d.ts +1 -0
  8. package/dist/components/Checkbox.js +2 -2
  9. package/dist/components/CompositionContextButton.js +4 -1
  10. package/dist/components/CompositionSelectorItem.js +2 -2
  11. package/dist/components/ConfigureLicenseModal.js +1 -1
  12. package/dist/components/CurrentAsset.js +40 -6
  13. package/dist/components/EditorContexts.js +3 -1
  14. package/dist/components/ElementInstallConfirmation.js +287 -135
  15. package/dist/components/FixComputedValueModal.js +38 -8
  16. package/dist/components/FullscreenToggle.js +9 -8
  17. package/dist/components/GlobalKeybindings.js +50 -49
  18. package/dist/components/HighlightedElementSource.d.ts +5 -0
  19. package/dist/components/HighlightedElementSource.js +78 -0
  20. package/dist/components/InspectorPanel/MultiSequenceField.d.ts +12 -0
  21. package/dist/components/InspectorPanel/MultiSequenceField.js +131 -0
  22. package/dist/components/InspectorPanel/MultiSequenceInspector.d.ts +8 -0
  23. package/dist/components/InspectorPanel/MultiSequenceInspector.js +102 -0
  24. package/dist/components/InspectorPanel/MultiSequenceNumberField.d.ts +9 -0
  25. package/dist/components/InspectorPanel/MultiSequenceNumberField.js +88 -0
  26. package/dist/components/InspectorPanel.js +4 -0
  27. package/dist/components/InspectorSequenceSection.js +64 -1
  28. package/dist/components/InstallPackage.js +4 -5
  29. package/dist/components/KeyboardShortcutsSettings.js +212 -33
  30. package/dist/components/MenuToolbar.js +7 -5
  31. package/dist/components/ModalContainer.d.ts +1 -0
  32. package/dist/components/ModalContainer.js +2 -2
  33. package/dist/components/Modals.js +3 -1
  34. package/dist/components/ModelManager.d.ts +16 -0
  35. package/dist/components/ModelManager.js +200 -0
  36. package/dist/components/ModelsSettings.d.ts +2 -0
  37. package/dist/components/ModelsSettings.js +133 -0
  38. package/dist/components/NewComposition/DismissableModal.d.ts +1 -0
  39. package/dist/components/NewComposition/DismissableModal.js +2 -2
  40. package/dist/components/NewComposition/InputDragger.d.ts +2 -2
  41. package/dist/components/NewComposition/InputDragger.js +6 -6
  42. package/dist/components/NewComposition/NewFolder.js +11 -8
  43. package/dist/components/NewComposition/RenameFolder.js +17 -10
  44. package/dist/components/OptionalPackageModal.d.ts +11 -0
  45. package/dist/components/OptionalPackageModal.js +155 -0
  46. package/dist/components/PlayPause.js +4 -8
  47. package/dist/components/PlaybackKeyboardShortcutsManager.js +3 -6
  48. package/dist/components/PreviewToolbarOverflowButton.js +11 -2
  49. package/dist/components/QuickSwitcher/ExplorerQuickSwitcherTrigger.js +5 -2
  50. package/dist/components/RadioButton.d.ts +1 -0
  51. package/dist/components/RadioButton.js +2 -2
  52. package/dist/components/RenderButton.js +5 -1
  53. package/dist/components/RenderModal/NumberSetting.d.ts +6 -1
  54. package/dist/components/RenderModal/NumberSetting.js +2 -2
  55. package/dist/components/RenderModal/RenderModalBasic.js +1 -1
  56. package/dist/components/RenderModal/RenderModalOutputName.d.ts +3 -1
  57. package/dist/components/RenderModal/RenderModalOutputName.js +4 -4
  58. package/dist/components/RenderModal/SeparateAudioOption.js +1 -1
  59. package/dist/components/RenderModal/WebRenderModalBasic.js +1 -1
  60. package/dist/components/RenderQueue/CaptionQueueItem.d.ts +6 -0
  61. package/dist/components/RenderQueue/CaptionQueueItem.js +129 -0
  62. package/dist/components/RenderQueue/CaptionQueueProcessor.d.ts +1 -0
  63. package/dist/components/RenderQueue/CaptionQueueProcessor.js +110 -0
  64. package/dist/components/RenderQueue/CaptionQueueProcessorLoader.d.ts +2 -0
  65. package/dist/components/RenderQueue/CaptionQueueProcessorLoader.js +54 -0
  66. package/dist/components/RenderQueue/RenderQueueItem.js +3 -3
  67. package/dist/components/RenderQueue/VideoMattingQueueItem.d.ts +6 -0
  68. package/dist/components/RenderQueue/VideoMattingQueueItem.js +129 -0
  69. package/dist/components/RenderQueue/VideoMattingQueueProcessor.d.ts +1 -0
  70. package/dist/components/RenderQueue/VideoMattingQueueProcessor.js +105 -0
  71. package/dist/components/RenderQueue/VideoMattingQueueProcessorLoader.d.ts +2 -0
  72. package/dist/components/RenderQueue/VideoMattingQueueProcessorLoader.js +54 -0
  73. package/dist/components/RenderQueue/caption-job-types.d.ts +47 -0
  74. package/dist/components/RenderQueue/caption-job-types.js +7 -0
  75. package/dist/components/RenderQueue/context.d.ts +16 -0
  76. package/dist/components/RenderQueue/context.js +224 -11
  77. package/dist/components/RenderQueue/index.js +34 -10
  78. package/dist/components/RenderQueue/item-style.d.ts +1 -0
  79. package/dist/components/RenderQueue/item-style.js +2 -1
  80. package/dist/components/RenderQueue/load-model-for-job.d.ts +11 -0
  81. package/dist/components/RenderQueue/load-model-for-job.js +14 -0
  82. package/dist/components/RenderQueue/video-matting-job-types.d.ts +38 -0
  83. package/dist/components/RenderQueue/video-matting-job-types.js +5 -0
  84. package/dist/components/RendersTab.js +4 -4
  85. package/dist/components/SegmentedControl.d.ts +2 -2
  86. package/dist/components/SegmentedControl.js +38 -13
  87. package/dist/components/SelectedOutlinePolygon.js +8 -2
  88. package/dist/components/SettingsButton.d.ts +4 -0
  89. package/dist/components/SettingsButton.js +49 -0
  90. package/dist/components/SettingsModal.d.ts +1 -1
  91. package/dist/components/SettingsModal.js +3 -1
  92. package/dist/components/ShowOutlinesProvider.js +12 -0
  93. package/dist/components/SidebarCollapserControls.js +10 -11
  94. package/dist/components/SizeSelector.js +10 -2
  95. package/dist/components/SkillsSettings.js +2 -3
  96. package/dist/components/SnappingToggle.js +5 -2
  97. package/dist/components/Tabs/vertical.d.ts +1 -0
  98. package/dist/components/Tabs/vertical.js +2 -2
  99. package/dist/components/TimeValue.js +2 -3
  100. package/dist/components/Timeline/SequencePropsObserver.js +4 -0
  101. package/dist/components/Timeline/Timeline.js +2 -42
  102. package/dist/components/Timeline/TimelineClipboardKeybindings.js +2 -4
  103. package/dist/components/Timeline/TimelineDeleteKeybindings.js +3 -18
  104. package/dist/components/Timeline/TimelineDragHandler.js +2 -2
  105. package/dist/components/Timeline/TimelineExpandedKeyframeRow.js +1 -0
  106. package/dist/components/Timeline/TimelineRowChrome.js +11 -3
  107. package/dist/components/Timeline/TimelineSchemaField.js +8 -4
  108. package/dist/components/Timeline/TimelineSelection.d.ts +2 -0
  109. package/dist/components/Timeline/TimelineSelection.js +55 -2
  110. package/dist/components/Timeline/TimelineSequence.js +75 -17
  111. package/dist/components/Timeline/TimelineSequenceItem.d.ts +0 -1
  112. package/dist/components/Timeline/TimelineSequenceItem.js +208 -111
  113. package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.d.ts +23 -3
  114. package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +73 -25
  115. package/dist/components/Timeline/TimelineTimeIndicators.js +1 -0
  116. package/dist/components/Timeline/use-asset-timeline-context-menu.d.ts +2 -0
  117. package/dist/components/Timeline/use-asset-timeline-context-menu.js +52 -0
  118. package/dist/components/TimelineInOutToggle.js +20 -17
  119. package/dist/components/Transcription/LazyModels.d.ts +1 -0
  120. package/dist/components/Transcription/LazyModels.js +5 -0
  121. package/dist/components/Transcription/Models.d.ts +6 -0
  122. package/dist/components/Transcription/Models.js +18 -0
  123. package/dist/components/Transcription/TranscriptionModal.d.ts +3 -0
  124. package/dist/components/Transcription/TranscriptionModal.js +428 -0
  125. package/dist/components/Transcription/TranscriptionModalWithOptionalWhisper.d.ts +5 -0
  126. package/dist/components/Transcription/TranscriptionModalWithOptionalWhisper.js +48 -0
  127. package/dist/components/Transcription/caption-output-name.d.ts +2 -0
  128. package/dist/components/Transcription/caption-output-name.js +10 -0
  129. package/dist/components/Transcription/resample-media-to-16-khz.d.ts +6 -0
  130. package/dist/components/Transcription/resample-media-to-16-khz.js +82 -0
  131. package/dist/components/Transcription/whisper-languages.d.ts +2 -0
  132. package/dist/components/Transcription/whisper-languages.js +104 -0
  133. package/dist/components/Transcription/whisper-webgpu-capability.d.ts +2 -0
  134. package/dist/components/Transcription/whisper-webgpu-capability.js +7 -0
  135. package/dist/components/UndoRedoButtons.js +13 -38
  136. package/dist/components/UpdatesSettings.js +8 -12
  137. package/dist/components/VideoMatting/LazyModels.d.ts +1 -0
  138. package/dist/components/VideoMatting/LazyModels.js +5 -0
  139. package/dist/components/VideoMatting/Models.d.ts +6 -0
  140. package/dist/components/VideoMatting/Models.js +18 -0
  141. package/dist/components/VideoMatting/VideoMattingModal.d.ts +3 -0
  142. package/dist/components/VideoMatting/VideoMattingModal.js +207 -0
  143. package/dist/components/VideoMatting/VideoMattingModalWithOptionalPackage.d.ts +5 -0
  144. package/dist/components/VideoMatting/VideoMattingModalWithOptionalPackage.js +46 -0
  145. package/dist/components/VideoMatting/video-matting-capability.d.ts +2 -0
  146. package/dist/components/VideoMatting/video-matting-capability.js +7 -0
  147. package/dist/components/WebMcp.js +439 -22
  148. package/dist/components/import-assets.d.ts +3 -2
  149. package/dist/components/import-assets.js +5 -9
  150. package/dist/components/keyboard-shortcuts.d.ts +17 -1
  151. package/dist/components/keyboard-shortcuts.js +177 -89
  152. package/dist/components/public-output-name.d.ts +5 -0
  153. package/dist/components/public-output-name.js +60 -0
  154. package/dist/components/use-model-cache-status.d.ts +7 -0
  155. package/dist/components/use-model-cache-status.js +35 -0
  156. package/dist/esm/CaptionQueueProcessor-k0yrm3dj.mjs +211 -0
  157. package/dist/esm/HighlightedElementSource-jfc66k4p.mjs +1236 -0
  158. package/dist/esm/LazyModels-2trdm224.mjs +11 -0
  159. package/dist/esm/LazyModels-fjb5ckaq.mjs +11 -0
  160. package/dist/esm/TranscriptionModal-916jqhry.mjs +1011 -0
  161. package/dist/esm/VideoMattingModal-2tm79s9b.mjs +374 -0
  162. package/dist/esm/VideoMattingQueueProcessor-t1hgm2rm.mjs +109 -0
  163. package/dist/esm/index-1x7bsdh6.mjs +261 -0
  164. package/dist/esm/index-3hgr6gjx.mjs +41 -0
  165. package/dist/esm/index-5qddp5h7.mjs +36 -0
  166. package/dist/esm/index-5zrb1ft4.mjs +39 -0
  167. package/dist/esm/index-6cvm9a65.mjs +45923 -0
  168. package/dist/esm/index-7tt71e8n.mjs +36 -0
  169. package/dist/esm/index-9x6e1dq0.mjs +428 -0
  170. package/dist/esm/index-cw0pnpg5.mjs +50 -0
  171. package/dist/esm/index-czwvnn9g.mjs +35 -0
  172. package/dist/esm/index-hy4xcgty.mjs +1366 -0
  173. package/dist/esm/{chunk-je0h1bgt.js → index-jg13hf2g.mjs} +3 -1
  174. package/dist/esm/{chunk-6jf1natv.js → index-rcv7qkt5.mjs} +18 -1
  175. package/dist/esm/index-sgtmgc4h.mjs +423 -0
  176. package/dist/esm/index-te66vvrp.mjs +142 -0
  177. package/dist/esm/index-v4tr1bft.mjs +20 -0
  178. package/dist/esm/index-x7t2y7ws.mjs +54194 -0
  179. package/dist/esm/index-xhe2m2qr.mjs +1146 -0
  180. package/dist/esm/index.mjs +45 -933
  181. package/dist/esm/internals.mjs +13 -114393
  182. package/dist/esm/previewEntry.mjs +387 -115050
  183. package/dist/esm/renderEntry.mjs +3 -3
  184. package/dist/esm/{chunk-m0jqdbkr.js → resolve-composition-component-location-14148845.mjs} +1 -1
  185. package/dist/helpers/drag-aware-double-click.d.ts +2 -1
  186. package/dist/helpers/drag-aware-double-click.js +12 -1
  187. package/dist/helpers/get-asset-metadata.d.ts +1 -0
  188. package/dist/helpers/get-asset-metadata.js +4 -0
  189. package/dist/helpers/hoverable.js +8 -0
  190. package/dist/helpers/inject-css.js +2 -0
  191. package/dist/helpers/optional-package-dependencies.d.ts +3 -0
  192. package/dist/helpers/optional-package-dependencies.js +24 -0
  193. package/dist/helpers/pointer-session.d.ts +6 -0
  194. package/dist/helpers/pointer-session.js +36 -14
  195. package/dist/helpers/prism-tomorrow.d.ts +1 -0
  196. package/dist/helpers/prism-tomorrow.js +151 -0
  197. package/dist/helpers/sequence-node-path-mutations.js +11 -0
  198. package/dist/helpers/slugify-name.d.ts +1 -0
  199. package/dist/helpers/slugify-name.js +14 -0
  200. package/dist/helpers/studio-runtime-config.d.ts +1 -0
  201. package/dist/helpers/studio-runtime-config.js +6 -1
  202. package/dist/helpers/use-keybinding.d.ts +9 -3
  203. package/dist/helpers/use-keybinding.js +8 -9
  204. package/dist/helpers/use-keyboard-shortcut-label.d.ts +2 -0
  205. package/dist/helpers/use-keyboard-shortcut-label.js +15 -0
  206. package/dist/helpers/use-menu-structure.js +58 -13
  207. package/dist/icons/input-props.d.ts +1 -1
  208. package/dist/icons/input-props.js +2 -2
  209. package/dist/icons/models.d.ts +4 -0
  210. package/dist/icons/models.js +7 -0
  211. package/dist/icons/separation.d.ts +4 -0
  212. package/dist/icons/separation.js +7 -0
  213. package/dist/icons/transcription.d.ts +4 -0
  214. package/dist/icons/transcription.js +7 -0
  215. package/dist/icons/upload.js +1 -1
  216. package/dist/state/modals.d.ts +14 -2
  217. package/package.json +34 -20
  218. package/dist/components/UpdateCheck.d.ts +0 -1
  219. package/dist/components/UpdateCheck.js +0 -79
  220. package/dist/esm/chunk-3netyjd9.js +0 -99793
@@ -94,6 +94,8 @@ var SERVER_DISCONNECTED_SHADOW = `0 2px 4px ${BLACK_ALPHA_40}`;
94
94
  var COLOR_PICKER_POPUP_SHADOW = `0 4px 16px ${BLACK_ALPHA_50}`;
95
95
  var COLOR_PICKER_HANDLE_SHADOW = `0 0 0 1px ${BLACK_ALPHA_60}`;
96
96
  var NOTIFICATION_BORDER = `0.25px solid ${WHITE_ALPHA_10}`;
97
+ var HOT_MIDDLEWARE_ERROR_STYLE = "color: #ff0000;";
98
+ var HOT_MIDDLEWARE_WARNING_STYLE = "color: #999933;";
97
99
  var FOCUS_BOX_SHADOW = `inset 1px 1px #555, inset -1px -1px #555, ` + `inset 1px -1px #555, inset -1px 1px #555`;
98
100
  var CHECKERBOARD_BACKGROUND_IMAGE = `
99
101
  linear-gradient(
@@ -133,4 +135,4 @@ var getBackgroundFromHoverState = ({
133
135
  return TRANSPARENT;
134
136
  };
135
137
 
136
- export { BLACK, WHITE, RED, TRANSPARENT, CURRENT_COLOR, CURRENT_COLOR_LOWERCASE, WHITE_HEX, WHITE_FULL_HEX, BLACK_HEX, BLACK_FULL_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, BLACK_ALPHA_30, BLACK_ALPHA_40, BLACK_ALPHA_50, BLACK_ALPHA_60, 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, 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 };
138
+ export { BLACK, WHITE, RED, TRANSPARENT, CURRENT_COLOR, CURRENT_COLOR_LOWERCASE, WHITE_HEX, WHITE_FULL_HEX, BLACK_HEX, BLACK_FULL_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, BLACK_ALPHA_30, BLACK_ALPHA_40, BLACK_ALPHA_50, BLACK_ALPHA_60, 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, 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, HOT_MIDDLEWARE_ERROR_STYLE, HOT_MIDDLEWARE_WARNING_STYLE, 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 };
@@ -2,6 +2,7 @@ var __create = Object.create;
2
2
  var __getProtoOf = Object.getPrototypeOf;
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
7
  var __toESM = (mod, isNodeMode, target) => {
7
8
  target = mod != null ? __create(__getProtoOf(mod)) : {};
@@ -14,6 +15,22 @@ var __toESM = (mod, isNodeMode, target) => {
14
15
  });
15
16
  return to;
16
17
  };
18
+ var __moduleCache = /* @__PURE__ */ new WeakMap;
19
+ var __toCommonJS = (from) => {
20
+ var entry = __moduleCache.get(from), desc;
21
+ if (entry)
22
+ return entry;
23
+ entry = __defProp({}, "__esModule", { value: true });
24
+ if (from && typeof from === "object" || typeof from === "function")
25
+ __getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, {
26
+ get: () => from[key],
27
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
28
+ }));
29
+ __moduleCache.set(from, entry);
30
+ return entry;
31
+ };
32
+ var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
33
+ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
17
34
  var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
18
35
  get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
19
36
  }) : x)(function(x) {
@@ -22,4 +39,4 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
22
39
  throw Error('Dynamic require of "' + x + '" is not supported');
23
40
  });
24
41
 
25
- export { __toESM, __require };
42
+ export { __toESM, __toCommonJS, __commonJS, __esm, __require };
@@ -0,0 +1,423 @@
1
+ import {
2
+ CopyIcon,
3
+ InfoBubble,
4
+ InputDragger,
5
+ MenuDivider,
6
+ RightAlignInput,
7
+ getDefaultOutputBaseName,
8
+ label,
9
+ optionRow,
10
+ rightRow,
11
+ showNotification,
12
+ useCopyFeedback,
13
+ validatePublicOutputName
14
+ } from "./index-6cvm9a65.mjs";
15
+ import {
16
+ Spacing
17
+ } from "./index-xhe2m2qr.mjs";
18
+ import {
19
+ BLUE,
20
+ CURRENT_COLOR_LOWERCASE,
21
+ INPUT_BACKGROUND,
22
+ LIGHT_TEXT,
23
+ WHITE
24
+ } from "./index-jg13hf2g.mjs";
25
+
26
+ // src/icons/gear.tsx
27
+ import { jsx } from "react/jsx-runtime";
28
+ var GearIcon = ({ color, ...props }) => /* @__PURE__ */ jsx("svg", {
29
+ xmlns: "http://www.w3.org/2000/svg",
30
+ viewBox: "0 0 512 512",
31
+ ...props,
32
+ children: /* @__PURE__ */ jsx("path", {
33
+ fill: color ?? CURRENT_COLOR_LOWERCASE,
34
+ d: "M168 255.1c0-47.7 39.4-88 88-88s88 40.3 88 88c0 49.5-39.4 88.9-88 88.9s-88-39.4-88-88.9zm88-56c-30.9 0-56 26-56 56 0 31.8 25.1 56 56 56s56-24.2 56-56c0-30-25.1-56-56-56zM65.67 230.6l-40.33-36.8c-11.12-10.1-13.68-26.6-6.16-39.6l30.24-52.4c7.52-13.02 23.09-19.05 37.42-14.48l51.96 16.58c13.4-10.34 28.2-18.94 44-25.47l11.7-53.27C197.7 10.47 210.7 0 225.8 0h60.4c15.1 0 28.1 10.47 31.3 25.16l11.7 53.27c14.9 6.53 30.6 15.13 44 25.47l52-16.58c14.3-4.57 29.9 1.46 37.4 14.48l30.2 52.4c7.5 13 5 29.5-6.1 39.6l-40.4 36.8c1.1 8.3 1.7 16.8 1.7 24.5 0 9.5-.6 18-1.7 26.3l40.4 36.8c11.1 10.1 13.6 26.6 6.1 39.6l-30.2 52.4c-7.5 13-23.1 19-37.4 14.5l-52-16.6c-13.4 10.3-29.1 18.9-44 25.5l-11.7 53.2c-3.2 14.7-16.2 25.2-31.3 25.2h-60.4c-15.1 0-28.1-10.5-31.3-25.2l-11.7-53.2c-15.8-6.6-30.6-15.2-44-25.5l-51.96 16.6c-14.33 4.5-29.9-1.5-37.42-14.5l-30.24-52.4c-7.52-13-4.96-29.5 6.16-39.6l40.33-36.8c-1.1-8.3-1.67-16.8-1.67-26.3 0-7.7.57-16.2 1.67-24.5zm92.73-101.4-13.3 10.3-67.97-21.7-30.24 52.4 52.69 48-2.19 16.6c-.92 6.9-1.39 14-1.39 20.3 0 8.1.47 15.2 1.39 22.1l2.19 16.6-52.69 48 30.24 52.4 67.97-21.7 13.3 10.3c11.1 8.6 23.5 15.8 36.6 20.3l15.5 7.3 15.3 69.6h60.4l15.3-69.6 14.6-7.3c14-4.5 26.4-11.7 37.5-20.3l13.3-10.3 68 21.7 30.2-52.4-52.7-48 2.2-16.6c.9-6.9 1.4-14 1.4-21.2 0-7.2-.5-14.3-1.4-21.2l-2.2-16.6 52.7-48-30.2-52.4-68 21.7-13.3-10.3c-11.1-8.6-23.5-15.8-37.5-21.2l-14.6-6.4L286.2 32h-60.4l-15.3 69.6L195 108c-13.1 5.4-25.5 12.6-36.6 21.2z"
35
+ })
36
+ });
37
+
38
+ // src/components/Transcription/caption-output-name.ts
39
+ var getDefaultCaptionOutputName = (src, displayName = "captions") => {
40
+ return `${getDefaultOutputBaseName(src, displayName, "captions")}-captions.json`;
41
+ };
42
+ var validateCaptionOutputName = (outName) => validatePublicOutputName({ extension: ".json", outName });
43
+
44
+ // src/components/RenderModal/NumberSetting.tsx
45
+ import { useCallback as useCallback2 } from "react";
46
+
47
+ // src/components/RenderModal/OptionExplainerBubble.tsx
48
+ import { BrowserSafeApis } from "@remotion/renderer/client";
49
+
50
+ // src/components/RenderModal/CliCopyButton.tsx
51
+ import { useCallback, useMemo, useState } from "react";
52
+
53
+ // src/helpers/copy-text.ts
54
+ var copyText = (cmd) => {
55
+ const permissionName = "clipboard-write";
56
+ return new Promise((resolve, reject) => {
57
+ navigator.permissions.query({ name: permissionName }).then((result) => {
58
+ if (result.state === "granted" || result.state === "prompt") {
59
+ navigator.clipboard.writeText(cmd).then(resolve).catch(reject);
60
+ } else {
61
+ reject(new Error("Permission to copy not granted"));
62
+ }
63
+ }).catch((err) => {
64
+ reject(err);
65
+ });
66
+ });
67
+ };
68
+
69
+ // src/components/RenderModal/CliCopyButton.tsx
70
+ import { jsx as jsx2 } from "react/jsx-runtime";
71
+ var svgStyle = {
72
+ width: 16,
73
+ height: 16,
74
+ verticalAlign: "sub"
75
+ };
76
+ var buttonStyle = {
77
+ width: "30px",
78
+ height: "30px",
79
+ border: "none",
80
+ cursor: "pointer",
81
+ display: "flex",
82
+ alignItems: "center",
83
+ justifyContent: "center"
84
+ };
85
+ var CliCopyButton = ({
86
+ valueToCopy
87
+ }) => {
88
+ const { copied, markCopied } = useCopyFeedback();
89
+ const [hovered, setHovered] = useState(false);
90
+ const fillColor = useMemo(() => {
91
+ return hovered ? WHITE : LIGHT_TEXT;
92
+ }, [hovered]);
93
+ const copyIcon = /* @__PURE__ */ jsx2(CopyIcon, {
94
+ copied,
95
+ color: fillColor,
96
+ style: svgStyle
97
+ });
98
+ const onPointerEnter = useCallback(() => {
99
+ setHovered(true);
100
+ }, []);
101
+ const onPointerLeave = useCallback(() => {
102
+ setHovered(false);
103
+ }, []);
104
+ return /* @__PURE__ */ jsx2("button", {
105
+ type: "button",
106
+ onPointerEnter,
107
+ onPointerLeave,
108
+ style: buttonStyle,
109
+ onClick: () => {
110
+ copyText(valueToCopy).then(markCopied).catch((err) => {
111
+ showNotification(`Could not copy: ${err.message}`, 2000);
112
+ });
113
+ },
114
+ children: copyIcon
115
+ });
116
+ };
117
+
118
+ // src/components/RenderModal/OptionExplainer.tsx
119
+ import { jsx as jsx3, jsxs, Fragment } from "react/jsx-runtime";
120
+ var container = {
121
+ fontSize: 14,
122
+ paddingTop: 10,
123
+ paddingBottom: 10,
124
+ backgroundColor: INPUT_BACKGROUND,
125
+ color: WHITE
126
+ };
127
+ var padding = {
128
+ paddingLeft: 20,
129
+ paddingRight: 20
130
+ };
131
+ var title = {
132
+ fontSize: 14
133
+ };
134
+ var DESCRIPTION_FONT_SIZE_PX = 14;
135
+ var description = {
136
+ color: LIGHT_TEXT,
137
+ fontSize: DESCRIPTION_FONT_SIZE_PX,
138
+ lineHeight: 1.5,
139
+ maxWidth: 400
140
+ };
141
+ var link = {
142
+ fontSize: 14,
143
+ maxWidth: 200,
144
+ color: BLUE,
145
+ wordWrap: "break-word",
146
+ textDecoration: "none"
147
+ };
148
+ var infoRow = {
149
+ ...padding,
150
+ fontSize: 14,
151
+ display: "flex",
152
+ flexDirection: "row",
153
+ alignItems: "center"
154
+ };
155
+ var infoRowLabel = {
156
+ width: 150,
157
+ fontSize: 14,
158
+ color: WHITE
159
+ };
160
+ var flexSpacer = {
161
+ display: "flex",
162
+ flex: 1
163
+ };
164
+ var copyWrapper = {
165
+ display: "flex",
166
+ justifyContent: "flex-end"
167
+ };
168
+ var OptionExplainer = ({
169
+ option,
170
+ extraInfoRows = [],
171
+ showApiOption = true,
172
+ showCliFlag = true
173
+ }) => {
174
+ const shouldShowApiOption = showApiOption && option.ssrName !== null;
175
+ const shouldShowCliFlag = showCliFlag && option.cliFlag !== undefined;
176
+ const hasInfoRows = extraInfoRows.length > 0 || shouldShowCliFlag || shouldShowApiOption;
177
+ return /* @__PURE__ */ jsxs("div", {
178
+ style: container,
179
+ className: "__remotion-info-button-container",
180
+ children: [
181
+ /* @__PURE__ */ jsxs("div", {
182
+ style: padding,
183
+ children: [
184
+ /* @__PURE__ */ jsxs("div", {
185
+ children: [
186
+ /* @__PURE__ */ jsx3("strong", {
187
+ style: title,
188
+ children: option.name
189
+ }),
190
+ option.docLink ? /* @__PURE__ */ jsxs(Fragment, {
191
+ children: [
192
+ /* @__PURE__ */ jsx3(Spacing, {
193
+ x: 1
194
+ }),
195
+ /* @__PURE__ */ jsx3("a", {
196
+ style: link,
197
+ href: option.docLink,
198
+ target: "_blank",
199
+ children: "Docs"
200
+ })
201
+ ]
202
+ }) : null
203
+ ]
204
+ }),
205
+ /* @__PURE__ */ jsxs("div", {
206
+ style: description,
207
+ children: [
208
+ /* @__PURE__ */ jsx3("style", {
209
+ children: `
210
+ .__remotion-option-explainer-description,
211
+ .__remotion-option-explainer-description * {
212
+ color: inherit;
213
+ font-size: ${DESCRIPTION_FONT_SIZE_PX}px;
214
+ line-height: inherit;
215
+ }
216
+
217
+ .__remotion-option-explainer-description a {
218
+ color: ${BLUE};
219
+ text-decoration: none;
220
+ }
221
+
222
+ .__remotion-option-explainer-description code {
223
+ color: ${BLUE};
224
+ font-family: monospace;
225
+ }
226
+ `
227
+ }),
228
+ /* @__PURE__ */ jsx3("div", {
229
+ className: "__remotion-option-explainer-description",
230
+ children: option.description("ssr")
231
+ })
232
+ ]
233
+ })
234
+ ]
235
+ }),
236
+ hasInfoRows ? /* @__PURE__ */ jsxs(Fragment, {
237
+ children: [
238
+ /* @__PURE__ */ jsx3(Spacing, {
239
+ y: 0.5,
240
+ block: true
241
+ }),
242
+ /* @__PURE__ */ jsx3(MenuDivider, {}),
243
+ /* @__PURE__ */ jsx3(Spacing, {
244
+ y: 0.5,
245
+ block: true
246
+ }),
247
+ /* @__PURE__ */ jsxs("div", {
248
+ children: [
249
+ extraInfoRows.map((row) => /* @__PURE__ */ jsxs("div", {
250
+ style: infoRow,
251
+ children: [
252
+ /* @__PURE__ */ jsx3("div", {
253
+ style: infoRowLabel,
254
+ children: row.label
255
+ }),
256
+ /* @__PURE__ */ jsx3("div", {
257
+ style: flexSpacer
258
+ }),
259
+ /* @__PURE__ */ jsx3("code", {
260
+ children: row.value
261
+ }),
262
+ /* @__PURE__ */ jsx3("div", {
263
+ style: copyWrapper,
264
+ children: /* @__PURE__ */ jsx3(CliCopyButton, {
265
+ valueToCopy: row.value
266
+ })
267
+ })
268
+ ]
269
+ }, row.label)),
270
+ shouldShowCliFlag ? /* @__PURE__ */ jsxs("div", {
271
+ style: infoRow,
272
+ children: [
273
+ /* @__PURE__ */ jsx3("div", {
274
+ style: infoRowLabel,
275
+ children: "CLI flag"
276
+ }),
277
+ /* @__PURE__ */ jsx3("div", {
278
+ style: flexSpacer
279
+ }),
280
+ /* @__PURE__ */ jsxs("code", {
281
+ children: [
282
+ "--",
283
+ option.cliFlag
284
+ ]
285
+ }),
286
+ /* @__PURE__ */ jsx3("div", {
287
+ style: copyWrapper,
288
+ children: /* @__PURE__ */ jsx3(CliCopyButton, {
289
+ valueToCopy: option.cliFlag
290
+ })
291
+ })
292
+ ]
293
+ }) : null,
294
+ shouldShowApiOption ? /* @__PURE__ */ jsxs("div", {
295
+ style: infoRow,
296
+ children: [
297
+ /* @__PURE__ */ jsx3("div", {
298
+ style: infoRowLabel,
299
+ children: "API option"
300
+ }),
301
+ /* @__PURE__ */ jsx3("div", {
302
+ style: flexSpacer
303
+ }),
304
+ /* @__PURE__ */ jsx3("code", {
305
+ children: option.ssrName
306
+ }),
307
+ /* @__PURE__ */ jsx3(Spacing, {
308
+ x: 3.75
309
+ })
310
+ ]
311
+ }) : null,
312
+ /* @__PURE__ */ jsx3("div", {
313
+ style: infoRow
314
+ })
315
+ ]
316
+ })
317
+ ]
318
+ }) : null
319
+ ]
320
+ });
321
+ };
322
+
323
+ // src/components/RenderModal/OptionExplainerBubble.tsx
324
+ import { jsx as jsx4 } from "react/jsx-runtime";
325
+ var OptionExplainerBubble = ({ id, extraInfoRows, showApiOption, showCliFlag }) => {
326
+ const option = BrowserSafeApis.options[id];
327
+ return /* @__PURE__ */ jsx4(InfoBubble, {
328
+ title: "Learn more about this option",
329
+ children: /* @__PURE__ */ jsx4(OptionExplainer, {
330
+ extraInfoRows,
331
+ option,
332
+ showApiOption,
333
+ showCliFlag
334
+ })
335
+ });
336
+ };
337
+ var WebRendererOptionExplainerBubble = ({ id, apiName }) => {
338
+ return /* @__PURE__ */ jsx4(OptionExplainerBubble, {
339
+ extraInfoRows: [{ label: "API option", value: apiName }],
340
+ id,
341
+ showApiOption: false,
342
+ showCliFlag: false
343
+ });
344
+ };
345
+ var WebRendererCustomOptionExplainerBubble = ({ apiName, description: description2, docLink, name }) => {
346
+ const option = {
347
+ description: () => description2,
348
+ docLink,
349
+ name,
350
+ ssrName: null
351
+ };
352
+ return /* @__PURE__ */ jsx4(InfoBubble, {
353
+ title: "Learn more about this option",
354
+ children: /* @__PURE__ */ jsx4(OptionExplainer, {
355
+ extraInfoRows: [{ label: "API option", value: apiName }],
356
+ option,
357
+ showApiOption: false,
358
+ showCliFlag: false
359
+ })
360
+ });
361
+ };
362
+
363
+ // src/components/RenderModal/NumberSetting.tsx
364
+ import { jsx as jsx5, jsxs as jsxs2, Fragment as Fragment2 } from "react/jsx-runtime";
365
+ var NumberSetting = ({ name, value, step, hint, onValueChanged, max, min, formatter }) => {
366
+ const onTextChanged = useCallback2((e) => {
367
+ onValueChanged((q) => {
368
+ const newSetting = step < 1 ? parseFloat(e) : parseInt(e, 10);
369
+ if (Number.isNaN(newSetting)) {
370
+ return q;
371
+ }
372
+ return Math.min(max ?? Infinity, Math.max(newSetting, min));
373
+ });
374
+ }, [max, min, onValueChanged, step]);
375
+ const onValueChange = useCallback2((newConcurrency) => {
376
+ onValueChanged(newConcurrency);
377
+ }, [onValueChanged]);
378
+ return /* @__PURE__ */ jsxs2("div", {
379
+ style: optionRow,
380
+ children: [
381
+ /* @__PURE__ */ jsxs2("div", {
382
+ style: label,
383
+ children: [
384
+ name,
385
+ hint ? /* @__PURE__ */ jsxs2(Fragment2, {
386
+ children: [
387
+ /* @__PURE__ */ jsx5(Spacing, {
388
+ x: 0.5
389
+ }),
390
+ typeof hint === "string" ? /* @__PURE__ */ jsx5(OptionExplainerBubble, {
391
+ id: hint
392
+ }) : /* @__PURE__ */ jsx5(InfoBubble, {
393
+ title: hint.title,
394
+ children: hint.content
395
+ })
396
+ ]
397
+ }) : null
398
+ ]
399
+ }),
400
+ /* @__PURE__ */ jsx5("div", {
401
+ style: rightRow,
402
+ children: /* @__PURE__ */ jsx5(RightAlignInput, {
403
+ children: /* @__PURE__ */ jsx5(InputDragger, {
404
+ value,
405
+ name: name.toLowerCase(),
406
+ "aria-label": `${name}: ${formatter ? formatter(value) : value}`,
407
+ onTextChange: onTextChanged,
408
+ onValueChange,
409
+ step,
410
+ placeholder: [min, max].map((f) => f !== null && f !== undefined ? f : "").join("-"),
411
+ min,
412
+ max,
413
+ formatter,
414
+ status: "ok",
415
+ rightAlign: true
416
+ })
417
+ })
418
+ })
419
+ ]
420
+ });
421
+ };
422
+
423
+ export { copyText, GearIcon, getDefaultCaptionOutputName, validateCaptionOutputName, OptionExplainerBubble, WebRendererOptionExplainerBubble, WebRendererCustomOptionExplainerBubble, NumberSetting };
@@ -0,0 +1,142 @@
1
+ import {
2
+ ExpandedFolderIconSolid,
3
+ RemotionInput,
4
+ getFileManagerName,
5
+ label,
6
+ optionRow,
7
+ rightRow,
8
+ showNotification
9
+ } from "./index-6cvm9a65.mjs";
10
+ import {
11
+ openInFileExplorer
12
+ } from "./index-hy4xcgty.mjs";
13
+ import {
14
+ getBrowserStudioOperations
15
+ } from "./index-cw0pnpg5.mjs";
16
+ import {
17
+ Column,
18
+ InlineAction,
19
+ Spacing,
20
+ ValidationMessage
21
+ } from "./index-xhe2m2qr.mjs";
22
+ import {
23
+ WHITE
24
+ } from "./index-jg13hf2g.mjs";
25
+
26
+ // src/components/RenderModal/RenderModalOutputName.tsx
27
+ import { useCallback } from "react";
28
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
29
+ var existsMessageStyle = {
30
+ display: "inline-flex",
31
+ alignItems: "center",
32
+ minWidth: 0,
33
+ fontFamily: "sans-serif",
34
+ fontSize: 13,
35
+ lineHeight: "18px",
36
+ color: WHITE,
37
+ whiteSpace: "nowrap"
38
+ };
39
+ var openIconStyle = {
40
+ width: 12,
41
+ height: 12,
42
+ flexShrink: 0
43
+ };
44
+ var outputNameRow = {
45
+ ...optionRow,
46
+ columnGap: 16
47
+ };
48
+ var outputNameInputContainer = {
49
+ flex: 1,
50
+ minWidth: 0,
51
+ maxWidth: 280
52
+ };
53
+ var RenderModalOutputName = ({
54
+ ariaLabel,
55
+ existingOutputPath,
56
+ existence,
57
+ inputStyle,
58
+ outName,
59
+ onValueChange,
60
+ validationMessage,
61
+ label: labelText
62
+ }) => {
63
+ const openExistingOutput = useCallback(() => {
64
+ openInFileExplorer({ directory: existingOutputPath ?? outName }).catch((err) => {
65
+ showNotification(`Could not open file: ${err.message}`, 2000);
66
+ });
67
+ }, [existingOutputPath, outName]);
68
+ const renderOpenIcon = useCallback((color) => {
69
+ return /* @__PURE__ */ jsx(ExpandedFolderIconSolid, {
70
+ style: openIconStyle,
71
+ color
72
+ });
73
+ }, []);
74
+ const fileManagerName = getFileManagerName(window.remotion_fileSystemPlatform);
75
+ const isBrowserStudio = getBrowserStudioOperations() !== null;
76
+ return /* @__PURE__ */ jsxs("div", {
77
+ style: outputNameRow,
78
+ children: [
79
+ /* @__PURE__ */ jsx(Column, {
80
+ children: /* @__PURE__ */ jsx("div", {
81
+ style: label,
82
+ children: labelText
83
+ })
84
+ }),
85
+ /* @__PURE__ */ jsx("div", {
86
+ style: rightRow,
87
+ children: /* @__PURE__ */ jsxs("div", {
88
+ style: outputNameInputContainer,
89
+ children: [
90
+ /* @__PURE__ */ jsx(RemotionInput, {
91
+ "aria-label": ariaLabel ?? undefined,
92
+ status: validationMessage ? "error" : existence ? "warning" : "ok",
93
+ style: inputStyle,
94
+ type: "text",
95
+ value: outName,
96
+ onChange: onValueChange,
97
+ rightAlign: true
98
+ }),
99
+ validationMessage ? /* @__PURE__ */ jsxs(Fragment, {
100
+ children: [
101
+ /* @__PURE__ */ jsx(Spacing, {
102
+ y: 1,
103
+ block: true
104
+ }),
105
+ /* @__PURE__ */ jsx(ValidationMessage, {
106
+ align: "flex-end",
107
+ message: validationMessage,
108
+ type: "error"
109
+ })
110
+ ]
111
+ }) : existence ? /* @__PURE__ */ jsxs(Fragment, {
112
+ children: [
113
+ /* @__PURE__ */ jsx(Spacing, {
114
+ y: 1,
115
+ block: true
116
+ }),
117
+ /* @__PURE__ */ jsx(ValidationMessage, {
118
+ align: "flex-end",
119
+ message: /* @__PURE__ */ jsxs("span", {
120
+ style: existsMessageStyle,
121
+ children: [
122
+ isBrowserStudio ? null : /* @__PURE__ */ jsx(InlineAction, {
123
+ variant: null,
124
+ onClick: openExistingOutput,
125
+ renderAction: renderOpenIcon,
126
+ title: `Open in ${fileManagerName}`
127
+ }),
128
+ "Exists, will be overwritten"
129
+ ]
130
+ }),
131
+ type: "warning"
132
+ })
133
+ ]
134
+ }) : null
135
+ ]
136
+ })
137
+ })
138
+ ]
139
+ });
140
+ };
141
+
142
+ export { RenderModalOutputName };
@@ -0,0 +1,20 @@
1
+ // src/components/RenderQueue/load-model-for-job.ts
2
+ var loadModelForJob = async ({
3
+ isModelCached,
4
+ loadModel,
5
+ model,
6
+ progressSpan,
7
+ progressStart,
8
+ updateProgress
9
+ }) => {
10
+ const cached = await isModelCached(model);
11
+ await loadModel(model, (progress) => {
12
+ const percentage = progress === null ? "" : ` ${Math.round(progress * 100)}%`;
13
+ updateProgress({
14
+ message: `${cached ? "Loading" : "Downloading"} ${model}${percentage}`,
15
+ value: progressStart + (progress ?? 0) * progressSpan
16
+ });
17
+ });
18
+ };
19
+
20
+ export { loadModelForJob };