@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
@@ -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 };
@@ -11,32 +11,19 @@ import {
11
11
  rightRow,
12
12
  useCopyFeedback,
13
13
  validatePublicOutputName
14
- } from "./index-ppspzgn9.mjs";
14
+ } from "./index-m2a95v3p.mjs";
15
15
  import {
16
16
  showNotification
17
- } from "./index-21hxsfaa.mjs";
17
+ } from "./index-vtr5qzam.mjs";
18
18
  import {
19
19
  Spacing
20
- } from "./index-5t2dwxsk.mjs";
20
+ } from "./index-m01zjph7.mjs";
21
21
  import {
22
22
  BLUE,
23
- CURRENT_COLOR_LOWERCASE,
24
23
  INPUT_BACKGROUND,
25
24
  LIGHT_TEXT,
26
25
  WHITE
27
- } from "./index-k426ye99.mjs";
28
-
29
- // src/icons/gear.tsx
30
- import { jsx } from "react/jsx-runtime";
31
- var GearIcon = ({ color, ...props }) => /* @__PURE__ */ jsx("svg", {
32
- xmlns: "http://www.w3.org/2000/svg",
33
- viewBox: "0 0 512 512",
34
- ...props,
35
- children: /* @__PURE__ */ jsx("path", {
36
- fill: color ?? CURRENT_COLOR_LOWERCASE,
37
- 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"
38
- })
39
- });
26
+ } from "./index-3qb54r5j.mjs";
40
27
 
41
28
  // src/components/Transcription/caption-output-name.ts
42
29
  var getDefaultCaptionOutputName = (src, displayName = "captions") => {
@@ -52,7 +39,7 @@ import { BrowserSafeApis } from "@remotion/renderer/client";
52
39
 
53
40
  // src/components/RenderModal/CliCopyButton.tsx
54
41
  import { useCallback, useMemo, useState } from "react";
55
- import { jsx as jsx2 } from "react/jsx-runtime";
42
+ import { jsx } from "react/jsx-runtime";
56
43
  var svgStyle = {
57
44
  width: 16,
58
45
  height: 16,
@@ -75,7 +62,7 @@ var CliCopyButton = ({
75
62
  const fillColor = useMemo(() => {
76
63
  return hovered ? WHITE : LIGHT_TEXT;
77
64
  }, [hovered]);
78
- const copyIcon = /* @__PURE__ */ jsx2(CopyIcon, {
65
+ const copyIcon = /* @__PURE__ */ jsx(CopyIcon, {
79
66
  copied,
80
67
  color: fillColor,
81
68
  style: svgStyle
@@ -86,7 +73,7 @@ var CliCopyButton = ({
86
73
  const onPointerLeave = useCallback(() => {
87
74
  setHovered(false);
88
75
  }, []);
89
- return /* @__PURE__ */ jsx2("button", {
76
+ return /* @__PURE__ */ jsx("button", {
90
77
  type: "button",
91
78
  onPointerEnter,
92
79
  onPointerLeave,
@@ -101,7 +88,7 @@ var CliCopyButton = ({
101
88
  };
102
89
 
103
90
  // src/components/RenderModal/OptionExplainer.tsx
104
- import { jsx as jsx3, jsxs, Fragment } from "react/jsx-runtime";
91
+ import { jsx as jsx2, jsxs, Fragment } from "react/jsx-runtime";
105
92
  var container = {
106
93
  fontSize: 14,
107
94
  paddingTop: 10,
@@ -168,16 +155,16 @@ var OptionExplainer = ({
168
155
  children: [
169
156
  /* @__PURE__ */ jsxs("div", {
170
157
  children: [
171
- /* @__PURE__ */ jsx3("strong", {
158
+ /* @__PURE__ */ jsx2("strong", {
172
159
  style: title,
173
160
  children: option.name
174
161
  }),
175
162
  option.docLink ? /* @__PURE__ */ jsxs(Fragment, {
176
163
  children: [
177
- /* @__PURE__ */ jsx3(Spacing, {
164
+ /* @__PURE__ */ jsx2(Spacing, {
178
165
  x: 1
179
166
  }),
180
- /* @__PURE__ */ jsx3("a", {
167
+ /* @__PURE__ */ jsx2("a", {
181
168
  style: link,
182
169
  href: option.docLink,
183
170
  target: "_blank",
@@ -190,7 +177,7 @@ var OptionExplainer = ({
190
177
  /* @__PURE__ */ jsxs("div", {
191
178
  style: description,
192
179
  children: [
193
- /* @__PURE__ */ jsx3("style", {
180
+ /* @__PURE__ */ jsx2("style", {
194
181
  children: `
195
182
  .__remotion-option-explainer-description,
196
183
  .__remotion-option-explainer-description * {
@@ -210,7 +197,7 @@ var OptionExplainer = ({
210
197
  }
211
198
  `
212
199
  }),
213
- /* @__PURE__ */ jsx3("div", {
200
+ /* @__PURE__ */ jsx2("div", {
214
201
  className: "__remotion-option-explainer-description",
215
202
  children: option.description("ssr")
216
203
  })
@@ -220,12 +207,12 @@ var OptionExplainer = ({
220
207
  }),
221
208
  hasInfoRows ? /* @__PURE__ */ jsxs(Fragment, {
222
209
  children: [
223
- /* @__PURE__ */ jsx3(Spacing, {
210
+ /* @__PURE__ */ jsx2(Spacing, {
224
211
  y: 0.5,
225
212
  block: true
226
213
  }),
227
- /* @__PURE__ */ jsx3(MenuDivider, {}),
228
- /* @__PURE__ */ jsx3(Spacing, {
214
+ /* @__PURE__ */ jsx2(MenuDivider, {}),
215
+ /* @__PURE__ */ jsx2(Spacing, {
229
216
  y: 0.5,
230
217
  block: true
231
218
  }),
@@ -234,19 +221,19 @@ var OptionExplainer = ({
234
221
  extraInfoRows.map((row) => /* @__PURE__ */ jsxs("div", {
235
222
  style: infoRow,
236
223
  children: [
237
- /* @__PURE__ */ jsx3("div", {
224
+ /* @__PURE__ */ jsx2("div", {
238
225
  style: infoRowLabel,
239
226
  children: row.label
240
227
  }),
241
- /* @__PURE__ */ jsx3("div", {
228
+ /* @__PURE__ */ jsx2("div", {
242
229
  style: flexSpacer
243
230
  }),
244
- /* @__PURE__ */ jsx3("code", {
231
+ /* @__PURE__ */ jsx2("code", {
245
232
  children: row.value
246
233
  }),
247
- /* @__PURE__ */ jsx3("div", {
234
+ /* @__PURE__ */ jsx2("div", {
248
235
  style: copyWrapper,
249
- children: /* @__PURE__ */ jsx3(CliCopyButton, {
236
+ children: /* @__PURE__ */ jsx2(CliCopyButton, {
250
237
  valueToCopy: row.value
251
238
  })
252
239
  })
@@ -255,11 +242,11 @@ var OptionExplainer = ({
255
242
  shouldShowCliFlag ? /* @__PURE__ */ jsxs("div", {
256
243
  style: infoRow,
257
244
  children: [
258
- /* @__PURE__ */ jsx3("div", {
245
+ /* @__PURE__ */ jsx2("div", {
259
246
  style: infoRowLabel,
260
247
  children: "CLI flag"
261
248
  }),
262
- /* @__PURE__ */ jsx3("div", {
249
+ /* @__PURE__ */ jsx2("div", {
263
250
  style: flexSpacer
264
251
  }),
265
252
  /* @__PURE__ */ jsxs("code", {
@@ -268,9 +255,9 @@ var OptionExplainer = ({
268
255
  option.cliFlag
269
256
  ]
270
257
  }),
271
- /* @__PURE__ */ jsx3("div", {
258
+ /* @__PURE__ */ jsx2("div", {
272
259
  style: copyWrapper,
273
- children: /* @__PURE__ */ jsx3(CliCopyButton, {
260
+ children: /* @__PURE__ */ jsx2(CliCopyButton, {
274
261
  valueToCopy: option.cliFlag
275
262
  })
276
263
  })
@@ -279,22 +266,22 @@ var OptionExplainer = ({
279
266
  shouldShowApiOption ? /* @__PURE__ */ jsxs("div", {
280
267
  style: infoRow,
281
268
  children: [
282
- /* @__PURE__ */ jsx3("div", {
269
+ /* @__PURE__ */ jsx2("div", {
283
270
  style: infoRowLabel,
284
271
  children: "API option"
285
272
  }),
286
- /* @__PURE__ */ jsx3("div", {
273
+ /* @__PURE__ */ jsx2("div", {
287
274
  style: flexSpacer
288
275
  }),
289
- /* @__PURE__ */ jsx3("code", {
276
+ /* @__PURE__ */ jsx2("code", {
290
277
  children: option.ssrName
291
278
  }),
292
- /* @__PURE__ */ jsx3(Spacing, {
279
+ /* @__PURE__ */ jsx2(Spacing, {
293
280
  x: 3.75
294
281
  })
295
282
  ]
296
283
  }) : null,
297
- /* @__PURE__ */ jsx3("div", {
284
+ /* @__PURE__ */ jsx2("div", {
298
285
  style: infoRow
299
286
  })
300
287
  ]
@@ -306,12 +293,12 @@ var OptionExplainer = ({
306
293
  };
307
294
 
308
295
  // src/components/RenderModal/OptionExplainerBubble.tsx
309
- import { jsx as jsx4 } from "react/jsx-runtime";
296
+ import { jsx as jsx3 } from "react/jsx-runtime";
310
297
  var OptionExplainerBubble = ({ id, extraInfoRows, showApiOption, showCliFlag }) => {
311
298
  const option = BrowserSafeApis.options[id];
312
- return /* @__PURE__ */ jsx4(InfoBubble, {
313
- title: "Learn more about this option",
314
- children: /* @__PURE__ */ jsx4(OptionExplainer, {
299
+ return /* @__PURE__ */ jsx3(InfoBubble, {
300
+ "aria-label": "Learn more about this option",
301
+ children: /* @__PURE__ */ jsx3(OptionExplainer, {
315
302
  extraInfoRows,
316
303
  option,
317
304
  showApiOption,
@@ -320,7 +307,7 @@ var OptionExplainerBubble = ({ id, extraInfoRows, showApiOption, showCliFlag })
320
307
  });
321
308
  };
322
309
  var WebRendererOptionExplainerBubble = ({ id, apiName }) => {
323
- return /* @__PURE__ */ jsx4(OptionExplainerBubble, {
310
+ return /* @__PURE__ */ jsx3(OptionExplainerBubble, {
324
311
  extraInfoRows: [{ label: "API option", value: apiName }],
325
312
  id,
326
313
  showApiOption: false,
@@ -334,9 +321,9 @@ var WebRendererCustomOptionExplainerBubble = ({ apiName, description: descriptio
334
321
  name,
335
322
  ssrName: null
336
323
  };
337
- return /* @__PURE__ */ jsx4(InfoBubble, {
338
- title: "Learn more about this option",
339
- children: /* @__PURE__ */ jsx4(OptionExplainer, {
324
+ return /* @__PURE__ */ jsx3(InfoBubble, {
325
+ "aria-label": "Learn more about this option",
326
+ children: /* @__PURE__ */ jsx3(OptionExplainer, {
340
327
  extraInfoRows: [{ label: "API option", value: apiName }],
341
328
  option,
342
329
  showApiOption: false,
@@ -346,7 +333,7 @@ var WebRendererCustomOptionExplainerBubble = ({ apiName, description: descriptio
346
333
  };
347
334
 
348
335
  // src/components/RenderModal/NumberSetting.tsx
349
- import { jsx as jsx5, jsxs as jsxs2, Fragment as Fragment2 } from "react/jsx-runtime";
336
+ import { jsx as jsx4, jsxs as jsxs2, Fragment as Fragment2 } from "react/jsx-runtime";
350
337
  var NumberSetting = ({ name, value, step, hint, onValueChanged, max, min, formatter }) => {
351
338
  const onTextChanged = useCallback2((e) => {
352
339
  onValueChanged((q) => {
@@ -369,23 +356,23 @@ var NumberSetting = ({ name, value, step, hint, onValueChanged, max, min, format
369
356
  name,
370
357
  hint ? /* @__PURE__ */ jsxs2(Fragment2, {
371
358
  children: [
372
- /* @__PURE__ */ jsx5(Spacing, {
359
+ /* @__PURE__ */ jsx4(Spacing, {
373
360
  x: 0.5
374
361
  }),
375
- typeof hint === "string" ? /* @__PURE__ */ jsx5(OptionExplainerBubble, {
362
+ typeof hint === "string" ? /* @__PURE__ */ jsx4(OptionExplainerBubble, {
376
363
  id: hint
377
- }) : /* @__PURE__ */ jsx5(InfoBubble, {
378
- title: hint.title,
364
+ }) : /* @__PURE__ */ jsx4(InfoBubble, {
365
+ "aria-label": hint.title,
379
366
  children: hint.content
380
367
  })
381
368
  ]
382
369
  }) : null
383
370
  ]
384
371
  }),
385
- /* @__PURE__ */ jsx5("div", {
372
+ /* @__PURE__ */ jsx4("div", {
386
373
  style: rightRow,
387
- children: /* @__PURE__ */ jsx5(RightAlignInput, {
388
- children: /* @__PURE__ */ jsx5(InputDragger, {
374
+ children: /* @__PURE__ */ jsx4(RightAlignInput, {
375
+ children: /* @__PURE__ */ jsx4(InputDragger, {
389
376
  value,
390
377
  name: name.toLowerCase(),
391
378
  "aria-label": `${name}: ${formatter ? formatter(value) : value}`,
@@ -405,4 +392,4 @@ var NumberSetting = ({ name, value, step, hint, onValueChanged, max, min, format
405
392
  });
406
393
  };
407
394
 
408
- export { GearIcon, getDefaultCaptionOutputName, validateCaptionOutputName, OptionExplainerBubble, WebRendererOptionExplainerBubble, WebRendererCustomOptionExplainerBubble, NumberSetting };
395
+ export { getDefaultCaptionOutputName, validateCaptionOutputName, OptionExplainerBubble, WebRendererOptionExplainerBubble, WebRendererCustomOptionExplainerBubble, NumberSetting };
@@ -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-m01zjph7.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-3qb54r5j.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,22 +207,28 @@ 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
223
227
  }),
224
228
  /* @__PURE__ */ jsx("span", {
229
+ role: "group",
225
230
  style: status,
226
- title: modelStatus,
231
+ "aria-label": modelStatus,
227
232
  children: modelStatus
228
233
  }),
229
234
  cached ? /* @__PURE__ */ jsx(CheckCircleFilled, {
@@ -236,18 +241,30 @@ var ModelManager = ({
236
241
  duration: 0.5,
237
242
  size: 14
238
243
  })
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
244
+ }) : cached ? /* @__PURE__ */ jsx(ActionTooltip, {
245
+ label: "Uninstall",
246
+ shortcut: null,
247
+ delay: 800,
248
+ dismissOnClick: true,
249
+ children: /* @__PURE__ */ jsx(InlineAction, {
250
+ "aria-label": `Remove ${model.name}`,
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
+ disabled: cachedModels === null || actionInProgress,
264
+ onClick: () => downloadModel(model.name),
265
+ renderAction: renderDownloadIcon,
266
+ variant: null
267
+ })
251
268
  })
252
269
  ]
253
270
  }, model.name);
@@ -1,19 +1,18 @@
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 {
6
+ getPortal,
8
7
  useZIndex
9
- } from "./index-9xxg6218.mjs";
8
+ } from "./index-qve7mdfp.mjs";
10
9
  import {
11
10
  NOTIFICATION_BACKGROUND,
12
11
  NOTIFICATION_BORDER,
13
12
  NOTIFICATION_SHADOW,
14
13
  TRANSPARENT,
15
14
  WHITE_HEX
16
- } from "./index-k426ye99.mjs";
15
+ } from "./index-3qb54r5j.mjs";
17
16
 
18
17
  // src/components/Notifications/NotificationCenter.tsx
19
18
  import {
@@ -24,24 +23,6 @@ import {
24
23
  } from "react";
25
24
  import ReactDOM from "react-dom";
26
25
 
27
- // src/components/Menu/portals.ts
28
- var portalIds = [
29
- "menuportal-0",
30
- "menuportal-1",
31
- "menuportal-2",
32
- "menuportal-3",
33
- "menuportal-4",
34
- "menuportal-5"
35
- ];
36
- var portals = typeof document === "undefined" ? [] : portalIds.map((id) => document.getElementById(id));
37
- var getPortal = (i) => {
38
- const portal = portals[i];
39
- if (!portal) {
40
- throw new Error(`Expected menu portal ${i} to exist`);
41
- }
42
- return portal;
43
- };
44
-
45
26
  // src/components/Notifications/Notification.tsx
46
27
  import { useEffect } from "react";
47
28
  import { jsx } from "react/jsx-runtime";
@@ -236,4 +217,4 @@ var installRequiredPackages = async (dependencies) => {
236
217
  await queuedInstall;
237
218
  };
238
219
 
239
- export { portals, getPortal, showNotification, NotificationCenter, TRANSFORMERS_PACKAGE, withRequiredAuxiliaryPackages, installPackages, getMissingPackages, installRequiredPackages };
220
+ export { showNotification, NotificationCenter, TRANSFORMERS_PACKAGE, withRequiredAuxiliaryPackages, installPackages, getMissingPackages, installRequiredPackages };