@remotion/studio 4.0.525 → 4.0.527

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 (195) hide show
  1. package/dist/api/focus-default-props-path.js +7 -1
  2. package/dist/api/restart-studio.d.ts +1 -1
  3. package/dist/api/restart-studio.js +1 -1
  4. package/dist/components/AgentPrompt.d.ts +6 -0
  5. package/dist/components/AgentPrompt.js +107 -0
  6. package/dist/components/AssetFileIcon.js +2 -0
  7. package/dist/components/AssetSelectorItem.d.ts +1 -23
  8. package/dist/components/AssetSelectorItem.js +10 -200
  9. package/dist/components/Canvas.js +109 -44
  10. package/dist/components/CanvasCaptureDropHandler.js +63 -0
  11. package/dist/components/CanvasOrLoading.js +10 -2
  12. package/dist/components/CaptionInspector.js +9 -3
  13. package/dist/{error-overlay/remotion-overlay → components}/CodeFrame.d.ts +2 -0
  14. package/dist/components/CodeFrame.js +77 -0
  15. package/dist/components/CompositionSelectorItem.js +7 -17
  16. package/dist/components/CurrentAsset.js +6 -4
  17. package/dist/components/ElementInstallConfirmation.js +69 -38
  18. package/dist/components/FilePreview.js +4 -0
  19. package/dist/components/FixComputedValueModal.js +64 -96
  20. package/dist/components/GenerateWithAgentModal.d.ts +9 -0
  21. package/dist/components/GenerateWithAgentModal.js +39 -0
  22. package/dist/components/InitialCompositionLoader.js +1 -1
  23. package/dist/components/InlineDropdown.js +26 -2
  24. package/dist/components/InlineEditableTitle.js +3 -0
  25. package/dist/components/InspectorOpenInEditor.js +8 -4
  26. package/dist/components/InspectorPanel/CollapsibleInspectorSection.d.ts +7 -0
  27. package/dist/components/InspectorPanel/CollapsibleInspectorSection.js +14 -0
  28. package/dist/components/InspectorPanel/CollapsibleInspectorSectionHeader.d.ts +1 -1
  29. package/dist/components/InspectorPanel/CollapsibleInspectorSectionHeader.js +20 -8
  30. package/dist/components/InspectorPanel/CompositionInspector.js +32 -15
  31. package/dist/components/InspectorPanel/CompositionMetadata.js +7 -0
  32. package/dist/components/InspectorPanel/ConnectedCompositionsSection.js +6 -12
  33. package/dist/components/InspectorPanel/ElementLibraryButton.js +2 -0
  34. package/dist/components/InspectorPanel/GuideInspector.js +2 -3
  35. package/dist/components/InspectorPanel/KeyframeSettings.js +5 -6
  36. package/dist/components/InspectorPanel/MultiSequenceInspector.js +34 -2
  37. package/dist/components/InspectorPanel/SequenceSelectionInspector.js +45 -4
  38. package/dist/components/InspectorPanel/common.d.ts +4 -0
  39. package/dist/components/InspectorPanel/common.js +15 -2
  40. package/dist/components/InspectorPanel/styles.d.ts +0 -3
  41. package/dist/components/InspectorPanel/styles.js +3 -27
  42. package/dist/components/InspectorPanel/use-composition-actions.d.ts +2 -0
  43. package/dist/components/InspectorPanel/use-composition-actions.js +16 -0
  44. package/dist/components/InspectorPanel/use-inspector-section-expanded.d.ts +1 -0
  45. package/dist/components/InspectorPanel/use-inspector-section-expanded.js +21 -0
  46. package/dist/components/InspectorSequenceSection.js +44 -35
  47. package/dist/components/InspectorSourceLocation.js +4 -0
  48. package/dist/components/KeyboardShortcutsSettings.js +12 -4
  49. package/dist/components/LutPreview.d.ts +4 -0
  50. package/dist/components/LutPreview.js +192 -0
  51. package/dist/components/MenuBuildIndicator.js +1 -0
  52. package/dist/components/MenuCompositionName.js +4 -9
  53. package/dist/components/Modals.js +3 -6
  54. package/dist/components/ModelsSettings.js +15 -4
  55. package/dist/components/NewComposition/CancelButton.js +1 -1
  56. package/dist/components/Notifications/NotificationCenter.d.ts +0 -1
  57. package/dist/components/Notifications/NotificationCenter.js +1 -22
  58. package/dist/components/Preview.js +3 -0
  59. package/dist/components/QuickSwitcher/ExplorerQuickSwitcherTrigger.js +1 -0
  60. package/dist/components/QuickSwitcher/QuickSwitcherContent.js +1 -0
  61. package/dist/components/QuickSwitcher/QuickSwitcherResult.js +4 -9
  62. package/dist/components/RadioButton.js +1 -0
  63. package/dist/components/RenderModal/DataEditor.js +4 -1
  64. package/dist/components/RenderModal/SchemaEditor/scroll-to-default-props-path.d.ts +1 -0
  65. package/dist/components/RenderModal/SchemaEditor/scroll-to-default-props-path.js +2 -1
  66. package/dist/components/RenderModal/WebRenderModal.js +10 -2
  67. package/dist/components/RenderQueue/CaptionQueueItem.js +5 -2
  68. package/dist/components/RenderQueue/CaptionQueueProcessor.js +35 -8
  69. package/dist/components/RenderQueue/VideoMattingQueueItem.js +1 -0
  70. package/dist/components/RenderQueue/caption-job-types.d.ts +6 -0
  71. package/dist/components/RenderQueue/index.js +1 -0
  72. package/dist/components/RendersTab.js +4 -0
  73. package/dist/components/SelectedOutlineElement.js +6 -0
  74. package/dist/components/SelectedOutlineSnapIndicators.d.ts +6 -0
  75. package/dist/components/SelectedOutlineSnapIndicators.js +16 -12
  76. package/dist/components/SequencePropsSubscriptionProvider.d.ts +3 -0
  77. package/dist/components/SequencePropsSubscriptionProvider.js +8 -6
  78. package/dist/components/SettingsButton.js +11 -2
  79. package/dist/components/SettingsModal.d.ts +1 -2
  80. package/dist/components/SettingsModal.js +24 -6
  81. package/dist/components/SettingsModalFooter.js +17 -3
  82. package/dist/components/SkillsSettings.d.ts +5 -0
  83. package/dist/components/SkillsSettings.js +29 -26
  84. package/dist/components/Timeline/Timeline.js +10 -11
  85. package/dist/components/Timeline/TimelineAssetField.js +81 -51
  86. package/dist/components/Timeline/TimelineDeleteKeybindings.js +6 -9
  87. package/dist/components/Timeline/TimelineEffectItem.js +1 -0
  88. package/dist/components/Timeline/TimelineExpandArrowButton.js +1 -0
  89. package/dist/components/Timeline/TimelineExpandedRow.js +1 -0
  90. package/dist/components/Timeline/TimelineFieldLabel.js +1 -0
  91. package/dist/components/Timeline/TimelineHeightContainer.js +11 -1
  92. package/dist/components/Timeline/TimelineKeyframeControls.js +16 -1
  93. package/dist/components/Timeline/TimelineLayerChildren.d.ts +3 -3
  94. package/dist/components/Timeline/TimelineLayerChildren.js +11 -9
  95. package/dist/components/Timeline/TimelineLayerEye.d.ts +1 -1
  96. package/dist/components/Timeline/TimelineLayerEye.js +6 -3
  97. package/dist/components/Timeline/TimelineList.js +9 -3
  98. package/dist/components/Timeline/TimelineSchemaField.js +2 -6
  99. package/dist/components/Timeline/TimelineSelection.d.ts +14 -3
  100. package/dist/components/Timeline/TimelineSelection.js +91 -49
  101. package/dist/components/Timeline/TimelineSequence.js +28 -2
  102. package/dist/components/Timeline/TimelineSequenceFrame.js +1 -0
  103. package/dist/components/Timeline/TimelineSequenceItem.d.ts +2 -0
  104. package/dist/components/Timeline/TimelineSequenceItem.js +45 -13
  105. package/dist/components/Timeline/TimelineViewport.d.ts +1 -0
  106. package/dist/components/Timeline/TimelineViewport.js +10 -1
  107. package/dist/components/Timeline/TimelineVirtualization.d.ts +3 -3
  108. package/dist/components/Timeline/delete-selected-timeline-item.js +2 -2
  109. package/dist/components/Timeline/get-sequence-context-menu-items.d.ts +6 -2
  110. package/dist/components/Timeline/get-sequence-context-menu-items.js +143 -46
  111. package/dist/components/Timeline/normalize-font-weight-for-keyframe.d.ts +1 -0
  112. package/dist/components/Timeline/normalize-font-weight-for-keyframe.js +19 -0
  113. package/dist/components/Timeline/split-selected-timeline-item.d.ts +13 -10
  114. package/dist/components/Timeline/split-selected-timeline-item.js +58 -35
  115. package/dist/components/Timeline/timeline-display-groups.d.ts +9 -0
  116. package/dist/components/Timeline/timeline-display-groups.js +66 -0
  117. package/dist/components/Timeline/use-timeline-asset-drop.js +21 -21
  118. package/dist/components/Timeline/use-timeline-expanded-tree.d.ts +2 -1
  119. package/dist/components/Timeline/use-timeline-expanded-tree.js +1 -2
  120. package/dist/components/TimelineCombobox.js +1 -0
  121. package/dist/components/Transcription/TranscriptionModal.js +16 -11
  122. package/dist/components/Transcription/TranscriptionModalWithOptionalWhisper.js +1 -1
  123. package/dist/components/UpdateStatusContext.d.ts +2 -2
  124. package/dist/components/UpdateStatusContext.js +6 -7
  125. package/dist/components/UpdatesSettings.js +6 -6
  126. package/dist/components/WebMcp.js +41 -41
  127. package/dist/components/asset-context-menu.d.ts +32 -0
  128. package/dist/components/asset-context-menu.js +242 -0
  129. package/dist/components/composition-drop-preview.d.ts +9 -2
  130. package/dist/components/composition-drop-preview.js +7 -4
  131. package/dist/components/composition-menu-items.d.ts +4 -6
  132. package/dist/components/composition-menu-items.js +191 -75
  133. package/dist/components/delete-jsx-nodes-api.d.ts +2 -0
  134. package/dist/components/{delete-jsx-node-api.js → delete-jsx-nodes-api.js} +5 -5
  135. package/dist/components/get-open-in-menu-items.d.ts +6 -5
  136. package/dist/components/get-open-in-menu-items.js +22 -16
  137. package/dist/components/keyboard-shortcuts.d.ts +4 -4
  138. package/dist/components/keyboard-shortcuts.js +3 -1
  139. package/dist/components/public-output-name.d.ts +1 -0
  140. package/dist/components/public-output-name.js +7 -3
  141. package/dist/components/selected-outline-order.js +18 -12
  142. package/dist/components/use-open-in-menu-apps.d.ts +14 -0
  143. package/dist/components/use-open-in-menu-apps.js +33 -0
  144. package/dist/error-overlay/remotion-overlay/ErrorDisplay.js +2 -2
  145. package/dist/error-overlay/remotion-overlay/OpenInEditor.d.ts +1 -0
  146. package/dist/error-overlay/remotion-overlay/OpenInEditor.js +3 -3
  147. package/dist/error-overlay/remotion-overlay/StackFrame.d.ts +5 -1
  148. package/dist/error-overlay/remotion-overlay/StackFrame.js +26 -19
  149. package/dist/esm/{CaptionQueueProcessor-k0yrm3dj.mjs → CaptionQueueProcessor-npa6szn1.mjs} +39 -8
  150. package/dist/esm/{LazyModels-gfmpcy4h.mjs → LazyModels-nh3c8h9p.mjs} +4 -3
  151. package/dist/esm/{LazyModels-m1rf06wh.mjs → LazyModels-rr5v8h5y.mjs} +4 -3
  152. package/dist/esm/{TranscriptionModal-8pvrehg4.mjs → TranscriptionModal-79m5wgcj.mjs} +25 -17
  153. package/dist/esm/{VideoMattingModal-fefbzgka.mjs → VideoMattingModal-31pew0xj.mjs} +9 -6
  154. package/dist/esm/index-21hxsfaa.mjs +239 -0
  155. package/dist/esm/{index-s848rffx.mjs → index-4zen9prq.mjs} +5438 -4686
  156. package/dist/esm/index-5t2dwxsk.mjs +530 -0
  157. package/dist/esm/{index-vsxrxfpj.mjs → index-614tdz2q.mjs} +1 -1
  158. package/dist/esm/{index-0x13f28h.mjs → index-9xxg6218.mjs} +20 -541
  159. package/dist/esm/{index-hbezgbbq.mjs → index-ac5550e7.mjs} +1 -1
  160. package/dist/esm/{index-41kqns5c.mjs → index-e855w59j.mjs} +15 -92
  161. package/dist/esm/{index-tzxb8808.mjs → index-n5gmcvhz.mjs} +8 -8
  162. package/dist/esm/{index-ggqpre9v.mjs → index-ppspzgn9.mjs} +4963 -4178
  163. package/dist/esm/{index-jrw61pkj.mjs → index-r0ejh5sy.mjs} +1 -1
  164. package/dist/esm/index-r1gr3j3a.mjs +80 -0
  165. package/dist/esm/{index-mww32xc8.mjs → index-s7qa3xbw.mjs} +6 -4
  166. package/dist/esm/{index-1089795y.mjs → index-vxwg66ar.mjs} +7 -22
  167. package/dist/esm/index.mjs +13 -6
  168. package/dist/esm/internals.mjs +10 -7
  169. package/dist/esm/previewEntry.mjs +10 -7
  170. package/dist/esm/{resolve-composition-component-location-bt2d6qxq.mjs → resolve-composition-component-location-qrp05g62.mjs} +1 -1
  171. package/dist/helpers/client-id.d.ts +1 -0
  172. package/dist/helpers/client-id.js +8 -4
  173. package/dist/helpers/copy-text.js +1 -16
  174. package/dist/helpers/cube-lut.d.ts +12 -0
  175. package/dist/helpers/cube-lut.js +160 -0
  176. package/dist/helpers/get-preview-file-type.d.ts +1 -1
  177. package/dist/helpers/get-preview-file-type.js +3 -0
  178. package/dist/helpers/hoverable.js +2 -1
  179. package/dist/helpers/open-in-editor.d.ts +5 -2
  180. package/dist/helpers/open-in-editor.js +13 -5
  181. package/dist/helpers/settings-tab-availability.d.ts +14 -0
  182. package/dist/helpers/settings-tab-availability.js +35 -0
  183. package/dist/helpers/studio-runtime-config.d.ts +1 -1
  184. package/dist/helpers/use-keybinding.d.ts +1 -1
  185. package/dist/helpers/use-keyboard-shortcut-label.d.ts +2 -2
  186. package/dist/helpers/use-menu-structure.js +31 -21
  187. package/dist/icons/lut.d.ts +4 -0
  188. package/dist/icons/lut.js +6 -0
  189. package/dist/icons/sparkles.d.ts +4 -0
  190. package/dist/icons/sparkles.js +6 -0
  191. package/dist/state/modals.d.ts +17 -2
  192. package/dist/state/timeline-zoom.js +4 -0
  193. package/package.json +19 -19
  194. package/dist/components/delete-jsx-node-api.d.ts +0 -2
  195. package/dist/error-overlay/remotion-overlay/CodeFrame.js +0 -62
@@ -0,0 +1,530 @@
1
+ import {
2
+ HigherZIndex,
3
+ useZIndex
4
+ } from "./index-9xxg6218.mjs";
5
+ import {
6
+ BACKGROUND,
7
+ BLUE,
8
+ BORDER_BLACK,
9
+ CURRENT_COLOR,
10
+ FAIL_COLOR,
11
+ LIGHT_TEXT,
12
+ SHADOW_BLACK,
13
+ TRANSPARENT,
14
+ WARNING_COLOR,
15
+ WHITE,
16
+ WHITE_ALPHA_20,
17
+ getBackgroundFromHoverState
18
+ } from "./index-k426ye99.mjs";
19
+
20
+ // src/components/layout.tsx
21
+ import { useMemo } from "react";
22
+ import { jsx } from "react/jsx-runtime";
23
+ var SPACING_UNIT = 8;
24
+ var COMPACT_CONTROL_ROW_HEIGHT = 28;
25
+ var COMPACT_INLINE_ROW_HEIGHT = 22;
26
+ var Spacing = ({ x = 0, y = 0, block = false }) => {
27
+ const style = useMemo(() => {
28
+ return {
29
+ display: block ? "block" : "inline-block",
30
+ width: x * SPACING_UNIT,
31
+ height: y * SPACING_UNIT,
32
+ flexShrink: 0
33
+ };
34
+ }, [block, x, y]);
35
+ return /* @__PURE__ */ jsx("div", {
36
+ style
37
+ });
38
+ };
39
+ var flexCss = { flex: 1 };
40
+ var Flex = ({ children }) => /* @__PURE__ */ jsx("div", {
41
+ style: flexCss,
42
+ children
43
+ });
44
+ var Row = ({ children, justify, className, align, flex, style = {}, ...other }) => {
45
+ const finalStyle = useMemo(() => {
46
+ return {
47
+ ...style,
48
+ display: "flex",
49
+ flexDirection: "row",
50
+ justifyContent: justify ?? "flex-start",
51
+ alignItems: align ?? "flex-start",
52
+ flex: flex ?? undefined
53
+ };
54
+ }, [align, flex, justify, style]);
55
+ return /* @__PURE__ */ jsx("div", {
56
+ className,
57
+ style: finalStyle,
58
+ ...other,
59
+ children
60
+ });
61
+ };
62
+ var Column = ({ children, justify, className, align, style = {} }) => {
63
+ const finalStyle = useMemo(() => {
64
+ return {
65
+ ...style,
66
+ display: "flex",
67
+ flexDirection: "column",
68
+ justifyContent: justify ?? "flex-start",
69
+ alignItems: align ?? "flex-start"
70
+ };
71
+ }, [align, justify, style]);
72
+ return /* @__PURE__ */ jsx("div", {
73
+ className,
74
+ style: finalStyle,
75
+ children
76
+ });
77
+ };
78
+
79
+ // src/components/InlineAction.tsx
80
+ import { useCallback, useMemo as useMemo2 } from "react";
81
+
82
+ // src/helpers/hoverable.ts
83
+ var HOVERABLE_CLASS_NAME = "__remotion-hoverable";
84
+ var HOVER_GROUP_CLASS_NAME = "__remotion-hover-group";
85
+ var HOVER_GROUP_REVEAL_CLASS_NAME = "__remotion-hover-group-reveal";
86
+ var FOCUS_VISIBLE_ONLY_CLASS_NAME = "__remotion-focus-visible-only";
87
+ var BG_VARIABLE = "--remotion-hoverable-bg";
88
+ var HOVER_BG_VARIABLE = "--remotion-hoverable-hover-bg";
89
+ var COLOR_VARIABLE = "--remotion-hoverable-color";
90
+ var HOVER_COLOR_VARIABLE = "--remotion-hoverable-hover-color";
91
+ var NO_HOVER_BACKGROUND_STYLE = {
92
+ [HOVER_BG_VARIABLE]: TRANSPARENT
93
+ };
94
+ var hoverableStyle = ({
95
+ idleBackground,
96
+ hoverBackground,
97
+ idleColor,
98
+ hoverColor
99
+ }) => {
100
+ return {
101
+ [BG_VARIABLE]: idleBackground,
102
+ [HOVER_BG_VARIABLE]: hoverBackground,
103
+ [COLOR_VARIABLE]: idleColor,
104
+ [HOVER_COLOR_VARIABLE]: hoverColor
105
+ };
106
+ };
107
+ var hoverable = `.${HOVERABLE_CLASS_NAME}.${HOVERABLE_CLASS_NAME}`;
108
+ var hoverGroup = `.${HOVER_GROUP_CLASS_NAME}`;
109
+ var reveal = `.${HOVER_GROUP_REVEAL_CLASS_NAME}.${HOVER_GROUP_REVEAL_CLASS_NAME}`;
110
+ var makeHoverableCSS = () => `
111
+ ${hoverable} {
112
+ background-color: var(${BG_VARIABLE}, ${TRANSPARENT});
113
+ }
114
+
115
+ ${hoverable},
116
+ ${hoverable} * {
117
+ color: var(${COLOR_VARIABLE}, inherit);
118
+ }
119
+
120
+ ${hoverGroup} ${reveal} {
121
+ flex-shrink: 0;
122
+ }
123
+
124
+ @media (hover: hover) {
125
+ ${hoverable}:hover {
126
+ background-color: var(${HOVER_BG_VARIABLE}, var(${BG_VARIABLE}, ${TRANSPARENT}));
127
+ }
128
+
129
+ ${hoverable}:hover,
130
+ ${hoverable}:hover * {
131
+ color: var(${HOVER_COLOR_VARIABLE}, var(${COLOR_VARIABLE}, inherit));
132
+ }
133
+
134
+ /* An outer hoverable must not put a nested inline action into its hover
135
+ state. The nested action should only use its hover color when the
136
+ pointer is over the action itself. */
137
+ ${hoverable}:hover ${hoverable}:not(:hover),
138
+ ${hoverable}:hover ${hoverable}:not(:hover) * {
139
+ color: var(${COLOR_VARIABLE}, inherit);
140
+ }
141
+
142
+ ${hoverGroup} ${reveal} {
143
+ opacity: 0;
144
+ width: 0;
145
+ overflow: hidden;
146
+ }
147
+
148
+ ${hoverGroup}:hover ${reveal},
149
+ ${hoverGroup}:has([aria-expanded="true"]) ${reveal} {
150
+ opacity: 1;
151
+ width: auto;
152
+ overflow: visible;
153
+ }
154
+ }
155
+ `;
156
+
157
+ // src/components/InlineAction.tsx
158
+ import { jsx as jsx2 } from "react/jsx-runtime";
159
+ var InlineAction = ({
160
+ renderAction,
161
+ onClick,
162
+ disabled,
163
+ title,
164
+ hoveredColor = WHITE,
165
+ unhoveredColor = LIGHT_TEXT,
166
+ variant,
167
+ style: customStyle,
168
+ className,
169
+ onPointerDown: onPointerDownProp,
170
+ ...buttonProps
171
+ }) => {
172
+ const { tabIndex } = useZIndex();
173
+ const onPointerDown = useCallback((event) => {
174
+ onPointerDownProp?.(event);
175
+ if (event.button !== 0) {
176
+ return;
177
+ }
178
+ if (document.activeElement instanceof HTMLElement) {
179
+ document.activeElement.blur();
180
+ }
181
+ event.preventDefault();
182
+ }, [onPointerDownProp]);
183
+ const style = useMemo2(() => {
184
+ return {
185
+ border: "none",
186
+ height: 24,
187
+ width: variant === "compact" ? 14 : 24,
188
+ padding: 0,
189
+ display: "inline-flex",
190
+ justifyContent: "center",
191
+ alignItems: "center",
192
+ borderRadius: 3,
193
+ opacity: disabled ? 0.5 : 1,
194
+ pointerEvents: disabled ? "none" : "auto",
195
+ ...hoverableStyle({
196
+ idleBackground: TRANSPARENT,
197
+ hoverBackground: disabled ? TRANSPARENT : getBackgroundFromHoverState({ hovered: true, selected: false }),
198
+ idleColor: unhoveredColor,
199
+ hoverColor: disabled ? unhoveredColor : hoveredColor
200
+ }),
201
+ ...customStyle
202
+ };
203
+ }, [customStyle, disabled, hoveredColor, unhoveredColor, variant]);
204
+ return /* @__PURE__ */ jsx2("button", {
205
+ ...buttonProps,
206
+ type: "button",
207
+ className: className ? `${HOVERABLE_CLASS_NAME} ${className}` : HOVERABLE_CLASS_NAME,
208
+ disabled,
209
+ onClick,
210
+ onPointerDown,
211
+ style,
212
+ tabIndex,
213
+ title,
214
+ "aria-label": buttonProps["aria-label"] ?? title,
215
+ children: renderAction(CURRENT_COLOR)
216
+ });
217
+ };
218
+
219
+ // src/components/Menu/is-menu-item.tsx
220
+ var MENU_INITIATOR_CLASSNAME = "__remotion-studio-menu-initiator";
221
+ var MENU_ITEM_CLASSNAME = "__remotion-studio-menu-item";
222
+ var HORIZONTAL_SCROLLBAR_CLASSNAME = "__remotion-horizontal-scrollbar";
223
+ var VERTICAL_SCROLLBAR_CLASSNAME = "__remotion-vertical-scrollbar";
224
+ var isMenuItem = (el) => {
225
+ return Boolean(el.classList.contains(MENU_ITEM_CLASSNAME) || el.closest(`.${MENU_ITEM_CLASSNAME}`) || el.classList.contains(MENU_INITIATOR_CLASSNAME) || el.closest(`.${MENU_INITIATOR_CLASSNAME}`));
226
+ };
227
+
228
+ // src/components/NewComposition/ValidationMessage.tsx
229
+ import { useMemo as useMemo3 } from "react";
230
+ import { jsx as jsx3, jsxs, Fragment } from "react/jsx-runtime";
231
+ var WarningTriangle = (props) => {
232
+ return /* @__PURE__ */ jsx3("svg", {
233
+ viewBox: "0 0 576 512",
234
+ ...props,
235
+ children: /* @__PURE__ */ jsx3("path", {
236
+ d: "M248.747 204.705l6.588 112c.373 6.343 5.626 11.295 11.979 11.295h41.37a12 12 0 0 0 11.979-11.295l6.588-112c.405-6.893-5.075-12.705-11.979-12.705h-54.547c-6.903 0-12.383 5.812-11.978 12.705zM330 384c0 23.196-18.804 42-42 42s-42-18.804-42-42 18.804-42 42-42 42 18.804 42 42zm-.423-360.015c-18.433-31.951-64.687-32.009-83.154 0L6.477 440.013C-11.945 471.946 11.118 512 48.054 512H527.94c36.865 0 60.035-39.993 41.577-71.987L329.577 23.985zM53.191 455.002L282.803 57.008c2.309-4.002 8.085-4.002 10.394 0l229.612 397.993c2.308 4-.579 8.998-5.197 8.998H58.388c-4.617.001-7.504-4.997-5.197-8.997z"
237
+ })
238
+ });
239
+ };
240
+ var style = {
241
+ width: 12,
242
+ height: 12,
243
+ flexShrink: 0
244
+ };
245
+ var compactStyle = {
246
+ ...style,
247
+ width: 10,
248
+ height: 10
249
+ };
250
+ var container = {
251
+ width: "100%",
252
+ maxWidth: 500,
253
+ minWidth: 0
254
+ };
255
+ var row = {
256
+ minWidth: 0
257
+ };
258
+ var label = {
259
+ fontSize: 13,
260
+ color: WHITE,
261
+ fontFamily: "sans-serif",
262
+ minWidth: 0,
263
+ whiteSpace: "normal",
264
+ overflowWrap: "anywhere"
265
+ };
266
+ var compactLabel = {
267
+ ...label,
268
+ fontSize: 12
269
+ };
270
+ var ValidationMessage = ({ message, align, type, action, size = "default" }) => {
271
+ const iconStyle = size === "compact" ? compactStyle : style;
272
+ const labelStyle = size === "compact" ? compactLabel : label;
273
+ const finalStyle = useMemo3(() => {
274
+ return {
275
+ ...iconStyle,
276
+ fill: type === "warning" ? WARNING_COLOR : FAIL_COLOR
277
+ };
278
+ }, [iconStyle, type]);
279
+ return /* @__PURE__ */ jsx3("div", {
280
+ style: container,
281
+ children: /* @__PURE__ */ jsxs(Row, {
282
+ align: "center",
283
+ justify: align,
284
+ style: row,
285
+ children: [
286
+ /* @__PURE__ */ jsx3(WarningTriangle, {
287
+ style: finalStyle
288
+ }),
289
+ /* @__PURE__ */ jsx3(Spacing, {
290
+ x: size === "compact" ? 0.75 : 1
291
+ }),
292
+ /* @__PURE__ */ jsx3("div", {
293
+ style: labelStyle,
294
+ children: message
295
+ }),
296
+ action ? /* @__PURE__ */ jsxs(Fragment, {
297
+ children: [
298
+ /* @__PURE__ */ jsx3(Spacing, {
299
+ x: size === "compact" ? 0.75 : 1
300
+ }),
301
+ action
302
+ ]
303
+ }) : null
304
+ ]
305
+ })
306
+ });
307
+ };
308
+
309
+ // src/components/ModalContainer.tsx
310
+ import { useCallback as useCallback2 } from "react";
311
+ import { jsx as jsx4 } from "react/jsx-runtime";
312
+ var padding = 20;
313
+ var getMaxModalWidth = (width) => {
314
+ return `min(calc(100vw - ${padding * 2}px), calc(${width}px - ${padding * 2}px))`;
315
+ };
316
+ var getMaxModalHeight = (height) => {
317
+ return `min(calc(100vh - ${padding * 2}px), calc(${height}px - ${padding * 2}px))`;
318
+ };
319
+ var backgroundOverlay = {
320
+ backgroundColor: WHITE_ALPHA_20,
321
+ backdropFilter: `blur(1px)`,
322
+ position: "fixed",
323
+ height: "100%",
324
+ width: "100%",
325
+ display: "flex",
326
+ padding
327
+ };
328
+ var panel = {
329
+ backgroundColor: BACKGROUND,
330
+ boxShadow: SHADOW_BLACK,
331
+ color: WHITE,
332
+ margin: "auto"
333
+ };
334
+ var ModalContainer = ({
335
+ ariaLabel,
336
+ ariaLabelledBy,
337
+ children,
338
+ onEscape,
339
+ onOutsideClick,
340
+ noZIndex,
341
+ panelStyle
342
+ }) => {
343
+ const onPointerDown = useCallback2((e) => {
344
+ e.stopPropagation();
345
+ }, []);
346
+ return /* @__PURE__ */ jsx4("div", {
347
+ "aria-label": ariaLabel,
348
+ "aria-labelledby": ariaLabelledBy ?? undefined,
349
+ "aria-modal": "true",
350
+ className: "css-reset",
351
+ role: "dialog",
352
+ style: backgroundOverlay,
353
+ onPointerDown,
354
+ children: /* @__PURE__ */ jsx4(HigherZIndex, {
355
+ disabled: noZIndex,
356
+ onOutsideClick,
357
+ onEscape,
358
+ children: /* @__PURE__ */ jsx4("div", {
359
+ style: { ...panel, ...panelStyle },
360
+ children
361
+ })
362
+ })
363
+ });
364
+ };
365
+
366
+ // src/components/RenderModal/render-modals.ts
367
+ var outerModalStyle = {
368
+ width: getMaxModalWidth(800),
369
+ height: getMaxModalHeight(490),
370
+ overflow: "hidden",
371
+ display: "flex",
372
+ flexDirection: "column"
373
+ };
374
+ var container2 = {
375
+ display: "flex",
376
+ flexDirection: "row",
377
+ alignItems: "center",
378
+ padding: "12px 16px",
379
+ borderBottom: BORDER_BLACK
380
+ };
381
+ var optionsPanel = {
382
+ display: "flex",
383
+ flex: 1,
384
+ minHeight: 0,
385
+ minWidth: 0,
386
+ overflowY: "auto"
387
+ };
388
+ var horizontalLayout = {
389
+ display: "flex",
390
+ flexDirection: "row",
391
+ flex: 1,
392
+ minHeight: 0,
393
+ overflow: "hidden"
394
+ };
395
+ var leftSidebar = {
396
+ flexShrink: 0,
397
+ display: "flex",
398
+ flexDirection: "column",
399
+ padding: 6
400
+ };
401
+ var horizontalTab = {
402
+ flex: "none",
403
+ width: 150,
404
+ display: "flex",
405
+ flexDirection: "row",
406
+ alignItems: "center",
407
+ textAlign: "left",
408
+ fontSize: 14,
409
+ fontWeight: "normal",
410
+ paddingLeft: 8,
411
+ paddingTop: 6,
412
+ paddingBottom: 6,
413
+ borderRadius: 4
414
+ };
415
+ var iconContainer = {
416
+ width: 18,
417
+ height: 18,
418
+ marginRight: 8,
419
+ color: "inherit",
420
+ display: "inline-flex",
421
+ justifyContent: "center",
422
+ alignItems: "center"
423
+ };
424
+ var icon = {
425
+ color: "inherit",
426
+ height: 18
427
+ };
428
+ var buttonStyle = {
429
+ backgroundColor: BLUE,
430
+ color: WHITE
431
+ };
432
+ var flexer = {
433
+ flex: 1
434
+ };
435
+
436
+ // src/components/Spinner.tsx
437
+ import { useMemo as useMemo4 } from "react";
438
+ import { jsx as jsx5, jsxs as jsxs2, Fragment as Fragment2 } from "react/jsx-runtime";
439
+ var viewBox = 100;
440
+ var lines = 8;
441
+ var className = "__remotion_spinner_line";
442
+ var remotionSpinnerAnimation = "__remotion_spinner_animation";
443
+ var translated = "M 44 0 L 50 0 a 6 6 0 0 1 6 6 L 56 26 a 6 6 0 0 1 -6 6 L 50 32 a 6 6 0 0 1 -6 -6 L 44 6 a 6 6 0 0 1 6 -6 Z";
444
+ var Spinner = ({ size, duration, color = LIGHT_TEXT }) => {
445
+ const style2 = useMemo4(() => {
446
+ return {
447
+ width: size,
448
+ height: size
449
+ };
450
+ }, [size]);
451
+ return /* @__PURE__ */ jsxs2(Fragment2, {
452
+ children: [
453
+ /* @__PURE__ */ jsx5("style", {
454
+ type: "text/css",
455
+ children: `
456
+ @keyframes ${remotionSpinnerAnimation} {
457
+ 0% {
458
+ opacity: 1;
459
+ }
460
+ 100% {
461
+ opacity: 0.15;
462
+ }
463
+ }
464
+
465
+ .${className} {
466
+ animation: ${remotionSpinnerAnimation} ${duration}s linear infinite;
467
+ }
468
+ `
469
+ }),
470
+ /* @__PURE__ */ jsx5("svg", {
471
+ style: style2,
472
+ viewBox: `0 0 ${viewBox} ${viewBox}`,
473
+ children: new Array(lines).fill(true).map((_, index) => {
474
+ return /* @__PURE__ */ jsx5("path", {
475
+ className,
476
+ style: {
477
+ rotate: `${index * Math.PI * 2 / lines}rad`,
478
+ transformOrigin: "center center",
479
+ animationDelay: `${index * (duration / lines) - duration}s`
480
+ },
481
+ d: translated,
482
+ fill: color
483
+ }, index);
484
+ })
485
+ })
486
+ ]
487
+ });
488
+ };
489
+
490
+ // src/icons/trash.tsx
491
+ import { jsx as jsx6 } from "react/jsx-runtime";
492
+ var TrashIcon = ({ color, ...props }) => {
493
+ return /* @__PURE__ */ jsx6("svg", {
494
+ xmlns: "http://www.w3.org/2000/svg",
495
+ viewBox: "0 0 448 512",
496
+ ...props,
497
+ children: /* @__PURE__ */ jsx6("path", {
498
+ fill: color,
499
+ d: "M160.5 27.4C162.5 20.6 168.8 16 175.8 16h96.4c7.1 0 13.3 4.6 15.3 11.4l11 36.6h-149l11-36.6zM116.1 64H16C7.2 64 0 71.2 0 80s7.2 16 16 16h416c8.8 0 16-7.2 16-16s-7.2-16-16-16H331.9l-13.7-45.8C312.1-2.1 293.4-16 272.2-16h-96.4c-21.2 0-39.9 13.9-46 34.2L116.1 64zM28.7 144l22.9 308.7c2.5 33.4 30.3 59.3 63.8 59.3h217.1c33.5 0 61.3-25.9 63.8-59.3L419.2 144h-32.1l-22.7 306.4c-1.2 16.7-15.2 29.6-31.9 29.6H115.4c-16.8 0-30.7-12.9-31.9-29.6L60.8 144H28.7z"
500
+ })
501
+ });
502
+ };
503
+
504
+ // src/icons/cloud-download.tsx
505
+ import { jsx as jsx7 } from "react/jsx-runtime";
506
+ var CloudDownloadIcon = ({ color, ...props }) => {
507
+ return /* @__PURE__ */ jsx7("svg", {
508
+ ...props,
509
+ xmlns: "http://www.w3.org/2000/svg",
510
+ viewBox: "0 0 576 512",
511
+ children: /* @__PURE__ */ jsx7("path", {
512
+ fill: color,
513
+ d: "M128 176c0-61.9 50.1-112 112-112 39.3 0 73.8 20.2 93.8 50.8 4.4 6.7 13.1 9.1 20.3 5.7 11.4-5.5 24.3-8.5 37.9-8.5 48.6 0 88 39.4 88 88 0 14.1-3.3 27.4-9.2 39.2-2 4.1-2.2 8.9-.5 13.1s5.2 7.6 9.5 9.1c37.4 13.1 64.2 48.8 64.2 90.6 0 53-43 96-96 96l-304 0c-61.9 0-112-50.1-112-112 0-53.7 37.8-98.6 88.2-109.5 4.3-.9 8.1-3.6 10.3-7.4s2.9-8.3 1.7-12.6c-2.7-9.7-4.2-19.9-4.2-30.5zM240 32c-79.5 0-144 64.5-144 144 0 8 .7 15.9 1.9 23.5-56.9 19.2-97.9 73-97.9 136.5 0 79.5 64.5 144 144 144l304 0c70.7 0 128-57.3 128-128 0-49.9-28.5-93-70.1-114.2 3.9-11.9 6.1-24.6 6.1-37.8 0-66.3-53.7-120-120-120-13.7 0-26.9 2.3-39.2 6.5-26.4-33.2-67.1-54.5-112.8-54.5zM371.3 307.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L304 329.4 304 208c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 121.4-44.7-44.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l72 72c6.2 6.2 16.4 6.2 22.6 0l72-72z"
514
+ })
515
+ });
516
+ };
517
+
518
+ // src/icons/check-circle-filled.tsx
519
+ import { jsx as jsx8 } from "react/jsx-runtime";
520
+ var CheckCircleFilled = (props) => /* @__PURE__ */ jsx8("svg", {
521
+ xmlns: "http://www.w3.org/2000/svg",
522
+ style: { width: 14, height: 14 },
523
+ viewBox: "0 0 512 512",
524
+ ...props,
525
+ children: /* @__PURE__ */ jsx8("path", {
526
+ d: "M256 512a256 256 0 1 1 0-512 256 256 0 1 1 0 512zM374 145.7c-10.7-7.8-25.7-5.4-33.5 5.3L221.1 315.2 169 263.1c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c5 5 11.8 7.5 18.8 7s13.4-4.1 17.5-9.8L379.3 179.2c7.8-10.7 5.4-25.7-5.3-33.5z"
527
+ })
528
+ });
529
+
530
+ export { SPACING_UNIT, COMPACT_CONTROL_ROW_HEIGHT, COMPACT_INLINE_ROW_HEIGHT, Spacing, Flex, Row, Column, getMaxModalWidth, getMaxModalHeight, ModalContainer, HOVERABLE_CLASS_NAME, HOVER_GROUP_CLASS_NAME, HOVER_GROUP_REVEAL_CLASS_NAME, FOCUS_VISIBLE_ONLY_CLASS_NAME, NO_HOVER_BACKGROUND_STYLE, hoverableStyle, makeHoverableCSS, InlineAction, MENU_INITIATOR_CLASSNAME, MENU_ITEM_CLASSNAME, HORIZONTAL_SCROLLBAR_CLASSNAME, VERTICAL_SCROLLBAR_CLASSNAME, isMenuItem, Spinner, TrashIcon, WarningTriangle, ValidationMessage, CloudDownloadIcon, CheckCircleFilled, outerModalStyle, container2 as container, optionsPanel, horizontalLayout, leftSidebar, horizontalTab, iconContainer, icon, buttonStyle, flexer };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ModelManager
3
- } from "./index-jrw61pkj.mjs";
3
+ } from "./index-r0ejh5sy.mjs";
4
4
 
5
5
  // src/components/Transcription/Models.tsx
6
6
  import {