@remotion/studio 4.0.526 → 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 (98) hide show
  1. package/dist/components/Canvas.js +88 -26
  2. package/dist/components/CanvasCaptureDropHandler.js +63 -0
  3. package/dist/components/CanvasOrLoading.js +10 -2
  4. package/dist/components/CompositionSelectorItem.js +1 -0
  5. package/dist/components/CurrentAsset.js +2 -1
  6. package/dist/components/InitialCompositionLoader.js +1 -1
  7. package/dist/components/InlineDropdown.js +26 -2
  8. package/dist/components/InlineEditableTitle.js +1 -0
  9. package/dist/components/InspectorPanel/CollapsibleInspectorSectionHeader.js +1 -0
  10. package/dist/components/InspectorPanel/CompositionInspector.js +3 -3
  11. package/dist/components/InspectorPanel/CompositionMetadata.js +4 -0
  12. package/dist/components/InspectorPanel/ElementLibraryButton.js +1 -0
  13. package/dist/components/InspectorPanel/MultiSequenceInspector.js +32 -1
  14. package/dist/components/InspectorPanel/SequenceSelectionInspector.js +41 -1
  15. package/dist/components/InspectorPanel/common.js +1 -0
  16. package/dist/components/InspectorPanel/styles.js +2 -0
  17. package/dist/components/InspectorPanel/use-composition-actions.js +1 -0
  18. package/dist/components/InspectorSourceLocation.js +3 -0
  19. package/dist/components/MenuBuildIndicator.js +1 -0
  20. package/dist/components/NewComposition/CancelButton.js +1 -1
  21. package/dist/components/Preview.js +3 -0
  22. package/dist/components/QuickSwitcher/ExplorerQuickSwitcherTrigger.js +1 -0
  23. package/dist/components/QuickSwitcher/QuickSwitcherContent.js +1 -0
  24. package/dist/components/RadioButton.js +1 -0
  25. package/dist/components/RenderModal/DataEditor.js +4 -1
  26. package/dist/components/RenderQueue/CaptionQueueItem.js +5 -2
  27. package/dist/components/RenderQueue/CaptionQueueProcessor.js +35 -8
  28. package/dist/components/RenderQueue/VideoMattingQueueItem.js +1 -0
  29. package/dist/components/RenderQueue/caption-job-types.d.ts +6 -0
  30. package/dist/components/RenderQueue/index.js +1 -0
  31. package/dist/components/RendersTab.js +2 -0
  32. package/dist/components/SelectedOutlineSnapIndicators.d.ts +6 -0
  33. package/dist/components/SelectedOutlineSnapIndicators.js +16 -12
  34. package/dist/components/SequencePropsSubscriptionProvider.d.ts +3 -0
  35. package/dist/components/SequencePropsSubscriptionProvider.js +8 -6
  36. package/dist/components/Timeline/TimelineDeleteKeybindings.js +6 -9
  37. package/dist/components/Timeline/TimelineEffectItem.js +1 -0
  38. package/dist/components/Timeline/TimelineExpandArrowButton.js +1 -0
  39. package/dist/components/Timeline/TimelineExpandedRow.js +1 -0
  40. package/dist/components/Timeline/TimelineFieldLabel.js +1 -0
  41. package/dist/components/Timeline/TimelineKeyframeControls.js +1 -0
  42. package/dist/components/Timeline/TimelineSequence.js +26 -0
  43. package/dist/components/Timeline/TimelineSequenceFrame.js +1 -0
  44. package/dist/components/Timeline/TimelineSequenceItem.js +28 -0
  45. package/dist/components/Timeline/TimelineViewport.d.ts +1 -0
  46. package/dist/components/Timeline/TimelineViewport.js +10 -1
  47. package/dist/components/Timeline/delete-selected-timeline-item.js +2 -2
  48. package/dist/components/Timeline/get-sequence-context-menu-items.d.ts +3 -1
  49. package/dist/components/Timeline/get-sequence-context-menu-items.js +13 -1
  50. package/dist/components/Timeline/split-selected-timeline-item.d.ts +13 -10
  51. package/dist/components/Timeline/split-selected-timeline-item.js +58 -35
  52. package/dist/components/TimelineCombobox.js +1 -0
  53. package/dist/components/Transcription/TranscriptionModal.js +16 -11
  54. package/dist/components/Transcription/TranscriptionModalWithOptionalWhisper.js +1 -1
  55. package/dist/components/WebMcp.js +1 -0
  56. package/dist/components/composition-drop-preview.d.ts +9 -2
  57. package/dist/components/composition-drop-preview.js +7 -4
  58. package/dist/components/composition-menu-items.js +4 -4
  59. package/dist/components/delete-jsx-nodes-api.d.ts +2 -0
  60. package/dist/components/{delete-jsx-node-api.js → delete-jsx-nodes-api.js} +5 -5
  61. package/dist/components/get-open-in-menu-items.js +7 -7
  62. package/dist/components/keyboard-shortcuts.d.ts +4 -4
  63. package/dist/components/keyboard-shortcuts.js +3 -1
  64. package/dist/components/public-output-name.d.ts +1 -0
  65. package/dist/components/public-output-name.js +7 -3
  66. package/dist/esm/{CaptionQueueProcessor-k0yrm3dj.mjs → CaptionQueueProcessor-npa6szn1.mjs} +39 -8
  67. package/dist/esm/{LazyModels-nk7py0zt.mjs → LazyModels-nh3c8h9p.mjs} +4 -3
  68. package/dist/esm/{LazyModels-mtggyjye.mjs → LazyModels-rr5v8h5y.mjs} +4 -3
  69. package/dist/esm/{TranscriptionModal-ymnx1c7m.mjs → TranscriptionModal-79m5wgcj.mjs} +25 -17
  70. package/dist/esm/{VideoMattingModal-05vpczks.mjs → VideoMattingModal-31pew0xj.mjs} +9 -6
  71. package/dist/esm/index-21hxsfaa.mjs +239 -0
  72. package/dist/esm/{index-0gewwxse.mjs → index-4zen9prq.mjs} +2293 -2203
  73. package/dist/esm/index-5t2dwxsk.mjs +530 -0
  74. package/dist/esm/{index-5gd8k9yv.mjs → index-614tdz2q.mjs} +1 -1
  75. package/dist/esm/{index-cdy8v54v.mjs → index-9xxg6218.mjs} +20 -541
  76. package/dist/esm/{index-5bfxbpca.mjs → index-ac5550e7.mjs} +1 -1
  77. package/dist/esm/{index-eb5txqp6.mjs → index-e855w59j.mjs} +8 -86
  78. package/dist/esm/{index-4dsz9035.mjs → index-n5gmcvhz.mjs} +1 -1
  79. package/dist/esm/{index-bs39wngg.mjs → index-ppspzgn9.mjs} +3134 -2994
  80. package/dist/esm/{index-g7k2dvar.mjs → index-r0ejh5sy.mjs} +1 -1
  81. package/dist/esm/index-r1gr3j3a.mjs +80 -0
  82. package/dist/esm/{index-x40wwfmt.mjs → index-s7qa3xbw.mjs} +6 -4
  83. package/dist/esm/{index-f97r9e2g.mjs → index-vxwg66ar.mjs} +5 -3
  84. package/dist/esm/index.mjs +3 -2
  85. package/dist/esm/internals.mjs +10 -7
  86. package/dist/esm/previewEntry.mjs +10 -7
  87. package/dist/esm/{resolve-composition-component-location-bt2d6qxq.mjs → resolve-composition-component-location-qrp05g62.mjs} +1 -1
  88. package/dist/helpers/copy-text.js +1 -16
  89. package/dist/helpers/hoverable.js +2 -1
  90. package/dist/helpers/open-in-editor.js +1 -1
  91. package/dist/helpers/studio-runtime-config.d.ts +1 -1
  92. package/dist/helpers/use-keybinding.d.ts +1 -1
  93. package/dist/helpers/use-keyboard-shortcut-label.d.ts +2 -2
  94. package/dist/helpers/use-menu-structure.js +15 -9
  95. package/dist/state/modals.d.ts +5 -0
  96. package/dist/state/timeline-zoom.js +4 -0
  97. package/package.json +19 -19
  98. package/dist/components/delete-jsx-node-api.d.ts +0 -2
@@ -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-g7k2dvar.mjs";
3
+ } from "./index-r0ejh5sy.mjs";
4
4
 
5
5
  // src/components/Transcription/Models.tsx
6
6
  import {