@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
@@ -2,163 +2,13 @@ import {
2
2
  getStudioKeyboardShortcuts,
3
3
  getStudioKeyboardShortcutsEnabled
4
4
  } from "./index-5zrb1ft4.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 as useCallback4, useMemo as useMemo6 } 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
- opacity: 1;
150
- width: auto;
151
- overflow: visible;
152
- }
153
- }
154
- `;
155
5
 
156
6
  // src/state/z-index.tsx
157
7
  import {
158
8
  createContext as createContext3,
159
9
  useContext as useContext2,
160
10
  useLayoutEffect,
161
- useMemo as useMemo5,
11
+ useMemo as useMemo4,
162
12
  useRef as useRef2
163
13
  } from "react";
164
14
 
@@ -301,7 +151,7 @@ var observePointerRelease = ({
301
151
  };
302
152
 
303
153
  // src/helpers/use-keybinding.ts
304
- import { useCallback as useCallback2, useContext, useEffect, useMemo as useMemo3, useState } from "react";
154
+ import { useCallback as useCallback2, useContext, useEffect, useMemo as useMemo2, useState } from "react";
305
155
 
306
156
  // src/helpers/is-mac.ts
307
157
  var isMac = typeof window !== "undefined" && window.navigator.platform.startsWith("Mac");
@@ -349,7 +199,8 @@ var defaultKeyboardShortcuts = {
349
199
  selectOpacityProp: [{ key: "t" }],
350
200
  selectRotateProp: [{ key: "r", shift: false }],
351
201
  selectScaleProp: [{ key: "s" }],
352
- duplicateSequences: [{ key: "d", commandOrControl: true }],
202
+ duplicateSequences: [{ key: "d", commandOrControl: true, shift: false }],
203
+ splitSequences: [{ key: "d", commandOrControl: true, shift: true }],
353
204
  copyEffectsAndValues: [{ key: "c", commandOrControl: true }],
354
205
  cutEffects: [{ key: "x", commandOrControl: true }],
355
206
  deleteSelection: [{ key: "Backspace" }, { key: "Delete" }],
@@ -440,6 +291,7 @@ var keyboardShortcutGroups = [
440
291
  shortcut("Select rotate prop", "selectRotateProp"),
441
292
  shortcut("Select scale prop", "selectScaleProp"),
442
293
  shortcut("Duplicate sequences", "duplicateSequences"),
294
+ shortcut("Split sequences at playhead", "splitSequences"),
443
295
  shortcut("Copy effects / values", "copyEffectsAndValues"),
444
296
  shortcut("Cut effects", "cutEffects"),
445
297
  fixedShortcut("Paste effects / values", [[isMac ? "⌘" : "Ctrl", "V"]], "Handled by the browser clipboard event"),
@@ -516,8 +368,8 @@ var shortcutFromKeyboardEvent = (event) => {
516
368
  };
517
369
 
518
370
  // src/state/keybindings.tsx
519
- import { createContext, useCallback, useMemo as useMemo2, useRef } from "react";
520
- import { jsx as jsx2 } from "react/jsx-runtime";
371
+ import { createContext, useCallback, useMemo, useRef } from "react";
372
+ import { jsx } from "react/jsx-runtime";
521
373
  var KeybindingContext = createContext({
522
374
  registerKeybinding: () => {
523
375
  throw new Error("Has no keybinding context");
@@ -550,14 +402,14 @@ var KeybindingContextProvider = ({ children }) => {
550
402
  unregisterKeybinding(matched);
551
403
  }
552
404
  }, [unregisterKeybinding]);
553
- const value = useMemo2(() => {
405
+ const value = useMemo(() => {
554
406
  return {
555
407
  registerKeybinding,
556
408
  unregisterKeybinding,
557
409
  unregisterPane
558
410
  };
559
411
  }, [registerKeybinding, unregisterKeybinding, unregisterPane]);
560
- return /* @__PURE__ */ jsx2(KeybindingContext.Provider, {
412
+ return /* @__PURE__ */ jsx(KeybindingContext.Provider, {
561
413
  value,
562
414
  children
563
415
  });
@@ -620,12 +472,12 @@ var useKeybinding = () => {
620
472
  context.unregisterPane(paneId);
621
473
  };
622
474
  }, [context, paneId]);
623
- return useMemo3(() => ({ registerKeybinding, isHighestContext }), [registerKeybinding, isHighestContext]);
475
+ return useMemo2(() => ({ registerKeybinding, isHighestContext }), [registerKeybinding, isHighestContext]);
624
476
  };
625
477
 
626
478
  // src/state/highest-z-index.tsx
627
- import { createContext as createContext2, useCallback as useCallback3, useMemo as useMemo4, useState as useState2 } from "react";
628
- import { jsx as jsx3 } from "react/jsx-runtime";
479
+ import { createContext as createContext2, useCallback as useCallback3, useMemo as useMemo3, useState as useState2 } from "react";
480
+ import { jsx as jsx2 } from "react/jsx-runtime";
629
481
  var HighestZIndexContext = createContext2({
630
482
  highestIndex: 0,
631
483
  registerZIndex: () => {
@@ -650,14 +502,14 @@ var HighestZIndexProvider = ({ children }) => {
650
502
  });
651
503
  }, []);
652
504
  const highestIndex = Math.max(...zIndexes);
653
- const value = useMemo4(() => {
505
+ const value = useMemo3(() => {
654
506
  return {
655
507
  highestIndex,
656
508
  registerZIndex,
657
509
  unregisterZIndex
658
510
  };
659
511
  }, [registerZIndex, unregisterZIndex, highestIndex]);
660
- return /* @__PURE__ */ jsx3(HighestZIndexContext.Provider, {
512
+ return /* @__PURE__ */ jsx2(HighestZIndexContext.Provider, {
661
513
  value,
662
514
  children
663
515
  });
@@ -671,7 +523,7 @@ var setClickLock = (lock) => {
671
523
  };
672
524
 
673
525
  // src/state/z-index.tsx
674
- import { jsx as jsx4, jsxs } from "react/jsx-runtime";
526
+ import { jsx as jsx3, jsxs } from "react/jsx-runtime";
675
527
  var ZIndexContext = createContext3({
676
528
  currentIndex: 0
677
529
  });
@@ -761,7 +613,7 @@ var HigherZIndex = ({
761
613
  return window.removeEventListener("pointerdown", listener, true);
762
614
  };
763
615
  }, [currentIndex, disabled]);
764
- const value = useMemo5(() => {
616
+ const value = useMemo4(() => {
765
617
  return {
766
618
  currentIndex
767
619
  };
@@ -769,10 +621,10 @@ var HigherZIndex = ({
769
621
  return /* @__PURE__ */ jsxs(ZIndexContext.Provider, {
770
622
  value,
771
623
  children: [
772
- disabled ? null : /* @__PURE__ */ jsx4(EscapeHook, {
624
+ disabled ? null : /* @__PURE__ */ jsx3(EscapeHook, {
773
625
  onEscape
774
626
  }),
775
- /* @__PURE__ */ jsx4("div", {
627
+ /* @__PURE__ */ jsx3("div", {
776
628
  ref: containerRef,
777
629
  style: margin,
778
630
  children
@@ -784,7 +636,7 @@ var useZIndex = () => {
784
636
  const context = useContext2(ZIndexContext);
785
637
  const highestContext = useContext2(HighestZIndexContext);
786
638
  const isHighestContext = highestContext.highestIndex === context.currentIndex;
787
- return useMemo5(() => ({
639
+ return useMemo4(() => ({
788
640
  currentZIndex: context.currentIndex,
789
641
  highestZIndex: highestContext.highestIndex,
790
642
  isHighestContext,
@@ -792,377 +644,4 @@ var useZIndex = () => {
792
644
  }), [context.currentIndex, highestContext.highestIndex, isHighestContext]);
793
645
  };
794
646
 
795
- // src/components/InlineAction.tsx
796
- import { jsx as jsx5 } from "react/jsx-runtime";
797
- var InlineAction = ({
798
- renderAction,
799
- onClick,
800
- disabled,
801
- title,
802
- hoveredColor = WHITE,
803
- unhoveredColor = LIGHT_TEXT,
804
- variant,
805
- style: customStyle,
806
- className,
807
- onPointerDown: onPointerDownProp,
808
- ...buttonProps
809
- }) => {
810
- const { tabIndex } = useZIndex();
811
- const onPointerDown = useCallback4((event) => {
812
- onPointerDownProp?.(event);
813
- if (event.button !== 0) {
814
- return;
815
- }
816
- if (document.activeElement instanceof HTMLElement) {
817
- document.activeElement.blur();
818
- }
819
- event.preventDefault();
820
- }, [onPointerDownProp]);
821
- const style = useMemo6(() => {
822
- return {
823
- border: "none",
824
- height: 24,
825
- width: variant === "compact" ? 14 : 24,
826
- padding: 0,
827
- display: "inline-flex",
828
- justifyContent: "center",
829
- alignItems: "center",
830
- borderRadius: 3,
831
- opacity: disabled ? 0.5 : 1,
832
- pointerEvents: disabled ? "none" : "auto",
833
- ...hoverableStyle({
834
- idleBackground: TRANSPARENT,
835
- hoverBackground: disabled ? TRANSPARENT : getBackgroundFromHoverState({ hovered: true, selected: false }),
836
- idleColor: unhoveredColor,
837
- hoverColor: disabled ? unhoveredColor : hoveredColor
838
- }),
839
- ...customStyle
840
- };
841
- }, [customStyle, disabled, hoveredColor, unhoveredColor, variant]);
842
- return /* @__PURE__ */ jsx5("button", {
843
- ...buttonProps,
844
- type: "button",
845
- className: className ? `${HOVERABLE_CLASS_NAME} ${className}` : HOVERABLE_CLASS_NAME,
846
- disabled,
847
- onClick,
848
- onPointerDown,
849
- style,
850
- tabIndex,
851
- title,
852
- "aria-label": buttonProps["aria-label"] ?? title,
853
- children: renderAction(CURRENT_COLOR)
854
- });
855
- };
856
-
857
- // src/components/Menu/is-menu-item.tsx
858
- var MENU_INITIATOR_CLASSNAME = "__remotion-studio-menu-initiator";
859
- var MENU_ITEM_CLASSNAME = "__remotion-studio-menu-item";
860
- var HORIZONTAL_SCROLLBAR_CLASSNAME = "__remotion-horizontal-scrollbar";
861
- var VERTICAL_SCROLLBAR_CLASSNAME = "__remotion-vertical-scrollbar";
862
- var isMenuItem = (el) => {
863
- return Boolean(el.classList.contains(MENU_ITEM_CLASSNAME) || el.closest(`.${MENU_ITEM_CLASSNAME}`) || el.classList.contains(MENU_INITIATOR_CLASSNAME) || el.closest(`.${MENU_INITIATOR_CLASSNAME}`));
864
- };
865
-
866
- // src/components/NewComposition/ValidationMessage.tsx
867
- import { useMemo as useMemo7 } from "react";
868
- import { jsx as jsx6, jsxs as jsxs2, Fragment } from "react/jsx-runtime";
869
- var WarningTriangle = (props) => {
870
- return /* @__PURE__ */ jsx6("svg", {
871
- viewBox: "0 0 576 512",
872
- ...props,
873
- children: /* @__PURE__ */ jsx6("path", {
874
- 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"
875
- })
876
- });
877
- };
878
- var style = {
879
- width: 12,
880
- height: 12,
881
- flexShrink: 0
882
- };
883
- var compactStyle = {
884
- ...style,
885
- width: 10,
886
- height: 10
887
- };
888
- var container = {
889
- width: "100%",
890
- maxWidth: 500,
891
- minWidth: 0
892
- };
893
- var row = {
894
- minWidth: 0
895
- };
896
- var label = {
897
- fontSize: 13,
898
- color: WHITE,
899
- fontFamily: "sans-serif",
900
- minWidth: 0,
901
- whiteSpace: "normal",
902
- overflowWrap: "anywhere"
903
- };
904
- var compactLabel = {
905
- ...label,
906
- fontSize: 12
907
- };
908
- var ValidationMessage = ({ message, align, type, action, size = "default" }) => {
909
- const iconStyle = size === "compact" ? compactStyle : style;
910
- const labelStyle = size === "compact" ? compactLabel : label;
911
- const finalStyle = useMemo7(() => {
912
- return {
913
- ...iconStyle,
914
- fill: type === "warning" ? WARNING_COLOR : FAIL_COLOR
915
- };
916
- }, [iconStyle, type]);
917
- return /* @__PURE__ */ jsx6("div", {
918
- style: container,
919
- children: /* @__PURE__ */ jsxs2(Row, {
920
- align: "center",
921
- justify: align,
922
- style: row,
923
- children: [
924
- /* @__PURE__ */ jsx6(WarningTriangle, {
925
- style: finalStyle
926
- }),
927
- /* @__PURE__ */ jsx6(Spacing, {
928
- x: size === "compact" ? 0.75 : 1
929
- }),
930
- /* @__PURE__ */ jsx6("div", {
931
- style: labelStyle,
932
- children: message
933
- }),
934
- action ? /* @__PURE__ */ jsxs2(Fragment, {
935
- children: [
936
- /* @__PURE__ */ jsx6(Spacing, {
937
- x: size === "compact" ? 0.75 : 1
938
- }),
939
- action
940
- ]
941
- }) : null
942
- ]
943
- })
944
- });
945
- };
946
-
947
- // src/components/ModalContainer.tsx
948
- import { useCallback as useCallback5 } from "react";
949
- import { jsx as jsx7 } from "react/jsx-runtime";
950
- var padding = 20;
951
- var getMaxModalWidth = (width) => {
952
- return `min(calc(100vw - ${padding * 2}px), calc(${width}px - ${padding * 2}px))`;
953
- };
954
- var getMaxModalHeight = (height) => {
955
- return `min(calc(100vh - ${padding * 2}px), calc(${height}px - ${padding * 2}px))`;
956
- };
957
- var backgroundOverlay = {
958
- backgroundColor: WHITE_ALPHA_20,
959
- backdropFilter: `blur(1px)`,
960
- position: "fixed",
961
- height: "100%",
962
- width: "100%",
963
- display: "flex",
964
- padding
965
- };
966
- var panel = {
967
- backgroundColor: BACKGROUND,
968
- boxShadow: SHADOW_BLACK,
969
- color: WHITE,
970
- margin: "auto"
971
- };
972
- var ModalContainer = ({
973
- ariaLabel,
974
- ariaLabelledBy,
975
- children,
976
- onEscape,
977
- onOutsideClick,
978
- noZIndex,
979
- panelStyle
980
- }) => {
981
- const onPointerDown = useCallback5((e) => {
982
- e.stopPropagation();
983
- }, []);
984
- return /* @__PURE__ */ jsx7("div", {
985
- "aria-label": ariaLabel,
986
- "aria-labelledby": ariaLabelledBy ?? undefined,
987
- "aria-modal": "true",
988
- className: "css-reset",
989
- role: "dialog",
990
- style: backgroundOverlay,
991
- onPointerDown,
992
- children: /* @__PURE__ */ jsx7(HigherZIndex, {
993
- disabled: noZIndex,
994
- onOutsideClick,
995
- onEscape,
996
- children: /* @__PURE__ */ jsx7("div", {
997
- style: { ...panel, ...panelStyle },
998
- children
999
- })
1000
- })
1001
- });
1002
- };
1003
-
1004
- // src/components/RenderModal/render-modals.ts
1005
- var outerModalStyle = {
1006
- width: getMaxModalWidth(800),
1007
- height: getMaxModalHeight(490),
1008
- overflow: "hidden",
1009
- display: "flex",
1010
- flexDirection: "column"
1011
- };
1012
- var container2 = {
1013
- display: "flex",
1014
- flexDirection: "row",
1015
- alignItems: "center",
1016
- padding: "12px 16px",
1017
- borderBottom: BORDER_BLACK
1018
- };
1019
- var optionsPanel = {
1020
- display: "flex",
1021
- flex: 1,
1022
- minHeight: 0,
1023
- minWidth: 0,
1024
- overflowY: "auto"
1025
- };
1026
- var horizontalLayout = {
1027
- display: "flex",
1028
- flexDirection: "row",
1029
- flex: 1,
1030
- minHeight: 0,
1031
- overflow: "hidden"
1032
- };
1033
- var leftSidebar = {
1034
- flexShrink: 0,
1035
- display: "flex",
1036
- flexDirection: "column",
1037
- padding: 6
1038
- };
1039
- var horizontalTab = {
1040
- flex: "none",
1041
- width: 150,
1042
- display: "flex",
1043
- flexDirection: "row",
1044
- alignItems: "center",
1045
- textAlign: "left",
1046
- fontSize: 14,
1047
- fontWeight: "normal",
1048
- paddingLeft: 8,
1049
- paddingTop: 6,
1050
- paddingBottom: 6,
1051
- borderRadius: 4
1052
- };
1053
- var iconContainer = {
1054
- width: 18,
1055
- height: 18,
1056
- marginRight: 8,
1057
- color: "inherit",
1058
- display: "inline-flex",
1059
- justifyContent: "center",
1060
- alignItems: "center"
1061
- };
1062
- var icon = {
1063
- color: "inherit",
1064
- height: 18
1065
- };
1066
- var buttonStyle = {
1067
- backgroundColor: BLUE,
1068
- color: WHITE
1069
- };
1070
- var flexer = {
1071
- flex: 1
1072
- };
1073
-
1074
- // src/components/Spinner.tsx
1075
- import { useMemo as useMemo8 } from "react";
1076
- import { jsx as jsx8, jsxs as jsxs3, Fragment as Fragment2 } from "react/jsx-runtime";
1077
- var viewBox = 100;
1078
- var lines = 8;
1079
- var className = "__remotion_spinner_line";
1080
- var remotionSpinnerAnimation = "__remotion_spinner_animation";
1081
- 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";
1082
- var Spinner = ({ size, duration, color = LIGHT_TEXT }) => {
1083
- const style2 = useMemo8(() => {
1084
- return {
1085
- width: size,
1086
- height: size
1087
- };
1088
- }, [size]);
1089
- return /* @__PURE__ */ jsxs3(Fragment2, {
1090
- children: [
1091
- /* @__PURE__ */ jsx8("style", {
1092
- type: "text/css",
1093
- children: `
1094
- @keyframes ${remotionSpinnerAnimation} {
1095
- 0% {
1096
- opacity: 1;
1097
- }
1098
- 100% {
1099
- opacity: 0.15;
1100
- }
1101
- }
1102
-
1103
- .${className} {
1104
- animation: ${remotionSpinnerAnimation} ${duration}s linear infinite;
1105
- }
1106
- `
1107
- }),
1108
- /* @__PURE__ */ jsx8("svg", {
1109
- style: style2,
1110
- viewBox: `0 0 ${viewBox} ${viewBox}`,
1111
- children: new Array(lines).fill(true).map((_, index) => {
1112
- return /* @__PURE__ */ jsx8("path", {
1113
- className,
1114
- style: {
1115
- rotate: `${index * Math.PI * 2 / lines}rad`,
1116
- transformOrigin: "center center",
1117
- animationDelay: `${index * (duration / lines) - duration}s`
1118
- },
1119
- d: translated,
1120
- fill: color
1121
- }, index);
1122
- })
1123
- })
1124
- ]
1125
- });
1126
- };
1127
-
1128
- // src/icons/trash.tsx
1129
- import { jsx as jsx9 } from "react/jsx-runtime";
1130
- var TrashIcon = ({ color, ...props }) => {
1131
- return /* @__PURE__ */ jsx9("svg", {
1132
- xmlns: "http://www.w3.org/2000/svg",
1133
- viewBox: "0 0 448 512",
1134
- ...props,
1135
- children: /* @__PURE__ */ jsx9("path", {
1136
- fill: color,
1137
- 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"
1138
- })
1139
- });
1140
- };
1141
-
1142
- // src/icons/cloud-download.tsx
1143
- import { jsx as jsx10 } from "react/jsx-runtime";
1144
- var CloudDownloadIcon = ({ color, ...props }) => {
1145
- return /* @__PURE__ */ jsx10("svg", {
1146
- ...props,
1147
- xmlns: "http://www.w3.org/2000/svg",
1148
- viewBox: "0 0 576 512",
1149
- children: /* @__PURE__ */ jsx10("path", {
1150
- fill: color,
1151
- 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"
1152
- })
1153
- });
1154
- };
1155
-
1156
- // src/icons/check-circle-filled.tsx
1157
- import { jsx as jsx11 } from "react/jsx-runtime";
1158
- var CheckCircleFilled = (props) => /* @__PURE__ */ jsx11("svg", {
1159
- xmlns: "http://www.w3.org/2000/svg",
1160
- style: { width: 14, height: 14 },
1161
- viewBox: "0 0 512 512",
1162
- ...props,
1163
- children: /* @__PURE__ */ jsx11("path", {
1164
- 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"
1165
- })
1166
- });
1167
-
1168
- export { isPointerSessionRelease, startCapturedPointerSession, startDeferredCapturedPointerSession, isMac, defaultKeyboardShortcuts, keyboardShortcutGroups, askAIKeyboardShortcutGroup, getKeyboardShortcutsForAction, keyboardShortcutsOverlap, formatKeyboardShortcut, getKeyboardShortcutLabel, getKeyboardShortcutAriaKeyShortcuts, shortcutFromKeyboardEvent, KeybindingContextProvider, areKeyboardShortcutsDisabled, useKeybinding, HighestZIndexProvider, getClickLock, setClickLock, HigherZIndex, useZIndex, 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, outerModalStyle, container2 as container, optionsPanel, horizontalLayout, leftSidebar, horizontalTab, iconContainer, icon, buttonStyle, flexer, CheckCircleFilled };
647
+ export { isPointerSessionRelease, startCapturedPointerSession, startDeferredCapturedPointerSession, isMac, defaultKeyboardShortcuts, keyboardShortcutGroups, askAIKeyboardShortcutGroup, getKeyboardShortcutsForAction, keyboardShortcutsOverlap, formatKeyboardShortcut, getKeyboardShortcutLabel, getKeyboardShortcutAriaKeyShortcuts, shortcutFromKeyboardEvent, KeybindingContextProvider, areKeyboardShortcutsDisabled, useKeybinding, HighestZIndexProvider, getClickLock, setClickLock, HigherZIndex, useZIndex };
@@ -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/VideoMatting/Models.tsx
6
6
  import {