@remotion/studio 4.0.485 → 4.0.486

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 (238) hide show
  1. package/dist/ResolveCompositionConfigInStudio.js +42 -0
  2. package/dist/components/AssetSelector.js +1 -1
  3. package/dist/components/AssetSelectorItem.js +9 -9
  4. package/dist/components/AudioWaveform.js +3 -3
  5. package/dist/components/Button.js +2 -2
  6. package/dist/components/Canvas.js +28 -0
  7. package/dist/components/CanvasOrLoading.js +1 -1
  8. package/dist/components/CheckboardToggle.js +1 -1
  9. package/dist/components/Checkbox.js +3 -3
  10. package/dist/components/ColorPicker/AlphaSlider.js +4 -3
  11. package/dist/components/ColorPicker/ColorPicker.js +4 -4
  12. package/dist/components/ColorPicker/ColorPickerPopup.js +10 -10
  13. package/dist/components/ColorPicker/HueSlider.js +4 -3
  14. package/dist/components/ColorPicker/SaturationValueArea.js +5 -4
  15. package/dist/components/ColorPicker/checker.d.ts +1 -1
  16. package/dist/components/ColorPicker/checker.js +3 -3
  17. package/dist/components/CompactExplanation.js +3 -3
  18. package/dist/components/CompositionSelector.js +141 -5
  19. package/dist/components/CompositionSelectorItem.d.ts +1 -0
  20. package/dist/components/CompositionSelectorItem.js +103 -11
  21. package/dist/components/CopyButton.js +3 -2
  22. package/dist/components/CurrentAsset.d.ts +3 -1
  23. package/dist/components/CurrentAsset.js +15 -2
  24. package/dist/components/EffectPickerModal.js +1 -1
  25. package/dist/components/FilePreview.js +2 -1
  26. package/dist/components/FpsCounter.js +3 -2
  27. package/dist/components/FullscreenToggle.js +2 -1
  28. package/dist/components/GlobalKeybindings.js +0 -12
  29. package/dist/components/InlineAction.js +2 -2
  30. package/dist/components/InlineEditableTitle.d.ts +1 -0
  31. package/dist/components/InlineEditableTitle.js +12 -7
  32. package/dist/components/InspectorInfoHeader.js +2 -2
  33. package/dist/components/InspectorPanel/DefaultInspector.d.ts +1 -0
  34. package/dist/components/InspectorPanel/DefaultInspector.js +2 -2
  35. package/dist/components/InspectorPanel/KeyframeEasingNavigator.js +1 -1
  36. package/dist/components/InspectorPanel/common.js +2 -2
  37. package/dist/components/InspectorPanel/styles.js +3 -3
  38. package/dist/components/InspectorPanel.d.ts +1 -0
  39. package/dist/components/InspectorPanel.js +2 -2
  40. package/dist/components/InspectorSequenceSection.js +1 -1
  41. package/dist/components/InstallablePackage.js +1 -1
  42. package/dist/components/KeyboardShortcutsExplainer.js +5 -5
  43. package/dist/components/LoopToggle.js +1 -1
  44. package/dist/components/Menu/MenuDivider.js +1 -1
  45. package/dist/components/Menu/MenuItem.js +1 -1
  46. package/dist/components/Menu/MenuSubItem.js +1 -1
  47. package/dist/components/Menu/styles.js +3 -3
  48. package/dist/components/MenuToolbar.js +2 -2
  49. package/dist/components/ModalButton.js +1 -1
  50. package/dist/components/ModalContainer.js +3 -3
  51. package/dist/components/ModalFooter.js +2 -1
  52. package/dist/components/ModalHeader.js +3 -2
  53. package/dist/components/Modals.js +2 -1
  54. package/dist/components/NewComposition/CancelButton.js +4 -3
  55. package/dist/components/NewComposition/ComboBox.js +3 -3
  56. package/dist/components/NewComposition/InputDragger.js +11 -3
  57. package/dist/components/NewComposition/MenuContent.js +1 -1
  58. package/dist/components/NewComposition/NewComposition.js +4 -1
  59. package/dist/components/NewComposition/NewFolder.d.ts +5 -0
  60. package/dist/components/NewComposition/NewFolder.js +86 -0
  61. package/dist/components/NewComposition/RemInput.js +3 -3
  62. package/dist/components/NewComposition/RemTextarea.js +1 -1
  63. package/dist/components/NewComposition/RenameStaticFile.js +20 -59
  64. package/dist/components/NewComposition/ValidationMessage.js +1 -1
  65. package/dist/components/NewComposition/use-rename-static-file.d.ts +18 -0
  66. package/dist/components/NewComposition/use-rename-static-file.js +90 -0
  67. package/dist/components/NoRegisterRoot.js +3 -2
  68. package/dist/components/Notifications/ColorDot.js +3 -2
  69. package/dist/components/Notifications/Notification.js +4 -4
  70. package/dist/components/Notifications/NotificationCenter.js +2 -1
  71. package/dist/components/Notifications/ServerDisconnected.js +5 -4
  72. package/dist/components/OptionsPanel.js +1 -1
  73. package/dist/components/OutlineToggle.js +1 -1
  74. package/dist/components/PlayPause.js +4 -3
  75. package/dist/components/PreviewToolbar.js +1 -1
  76. package/dist/components/QuickSwitcher/AlgoliaCredit.js +2 -1
  77. package/dist/components/QuickSwitcher/QuickSwitcherContent.js +1 -1
  78. package/dist/components/QuickSwitcher/QuickSwitcherResult.js +2 -2
  79. package/dist/components/RefreshCompositionOverlay.js +2 -1
  80. package/dist/components/RenderButton.js +9 -9
  81. package/dist/components/RenderModal/CliCopyButton.js +1 -1
  82. package/dist/components/RenderModal/ClientRenderProgress.js +1 -1
  83. package/dist/components/RenderModal/DataEditor.js +1 -1
  84. package/dist/components/RenderModal/GuiRenderStatus.js +1 -1
  85. package/dist/components/RenderModal/InfoBubble.js +2 -2
  86. package/dist/components/RenderModal/InfoTooltip.js +3 -3
  87. package/dist/components/RenderModal/InlineEyeIcon.js +2 -1
  88. package/dist/components/RenderModal/InlineRemoveButton.js +2 -1
  89. package/dist/components/RenderModal/MultiRangeSlider.js +1 -1
  90. package/dist/components/RenderModal/OptionExplainer.js +2 -2
  91. package/dist/components/RenderModal/RenderModalHr.js +2 -1
  92. package/dist/components/RenderModal/RenderStatusModal.js +2 -1
  93. package/dist/components/RenderModal/SchemaEditor/SchemaLabel.js +1 -5
  94. package/dist/components/RenderModal/SchemaEditor/SchemaResetButton.js +2 -1
  95. package/dist/components/RenderModal/SchemaEditor/SchemaSeparationLine.js +1 -1
  96. package/dist/components/RenderModal/SchemaEditor/SchemaVerticalGuide.js +2 -1
  97. package/dist/components/RenderModal/SchemaEditor/ZodDateEditor.js +1 -1
  98. package/dist/components/RenderModal/SchemaEditor/ZodErrorMessages.js +1 -1
  99. package/dist/components/RenderModal/SchemaEditor/ZodNonEditableValue.js +1 -1
  100. package/dist/components/RenderModal/SchemaEditor/create-zod-values.js +2 -1
  101. package/dist/components/RenderModal/ServerRenderModal.js +1 -1
  102. package/dist/components/RenderModal/WarningIndicatorButton.js +4 -6
  103. package/dist/components/RenderModal/WebRenderModalAudio.js +4 -3
  104. package/dist/components/RenderModal/WebRenderModalLicense.js +2 -2
  105. package/dist/components/RenderModal/WebRenderModalPicture.js +2 -1
  106. package/dist/components/RenderModal/render-modals.js +3 -3
  107. package/dist/components/RenderPreview.js +1 -1
  108. package/dist/components/RenderQueue/RenderQueueCopyToClipboard.js +2 -1
  109. package/dist/components/RenderQueue/RenderQueueDownloadItem.js +2 -1
  110. package/dist/components/RenderQueue/RenderQueueItemCancelButton.js +2 -1
  111. package/dist/components/RenderQueue/RenderQueueItemStatus.js +1 -1
  112. package/dist/components/RenderQueue/RenderQueueOpenInFolder.js +2 -1
  113. package/dist/components/RenderQueue/RenderQueueRemoveItem.js +2 -1
  114. package/dist/components/RenderQueue/RenderQueueRepeat.js +2 -1
  115. package/dist/components/RenderQueue/index.js +1 -1
  116. package/dist/components/RendersTab.js +2 -2
  117. package/dist/components/SegmentedControl.js +3 -3
  118. package/dist/components/SelectedOutlineElement.d.ts +5 -0
  119. package/dist/components/SelectedOutlineElement.js +7 -7
  120. package/dist/components/SelectedOutlineOverlay.js +1 -1
  121. package/dist/components/SelectedOutlineUvControls.js +5 -5
  122. package/dist/components/SidebarCollapserControls.js +5 -4
  123. package/dist/components/Splitter/SplitterElement.js +2 -1
  124. package/dist/components/StaticFilePreview.js +1 -1
  125. package/dist/components/Tabs/index.js +3 -3
  126. package/dist/components/Tabs/vertical.js +3 -3
  127. package/dist/components/TextViewer.js +2 -1
  128. package/dist/components/TimeValue.js +1 -1
  129. package/dist/components/Timeline/EasingEditorModal.js +8 -8
  130. package/dist/components/Timeline/KeyframeSettingsModal.js +1 -1
  131. package/dist/components/Timeline/LoopedIndicator.js +2 -2
  132. package/dist/components/Timeline/MaxTimelineTracks.js +3 -2
  133. package/dist/components/Timeline/TimelineArrayField.js +6 -5
  134. package/dist/components/Timeline/TimelineColorField.js +2 -1
  135. package/dist/components/Timeline/TimelineEffectItem.js +3 -2
  136. package/dist/components/Timeline/TimelineEffectPropItem.js +2 -2
  137. package/dist/components/Timeline/TimelineExpandArrowButton.js +3 -2
  138. package/dist/components/Timeline/TimelineExpandedRow.js +2 -1
  139. package/dist/components/Timeline/TimelineExpandedSection.js +1 -1
  140. package/dist/components/Timeline/TimelineFieldLabel.js +2 -1
  141. package/dist/components/Timeline/TimelineFontFamilyField.d.ts +11 -0
  142. package/dist/components/Timeline/TimelineFontFamilyField.js +545 -0
  143. package/dist/components/Timeline/TimelineImageInfo.js +2 -1
  144. package/dist/components/Timeline/TimelineInOutPointer.js +2 -1
  145. package/dist/components/Timeline/TimelineInOutPointerHandle.js +2 -4
  146. package/dist/components/Timeline/TimelineKeyframeControls.js +2 -2
  147. package/dist/components/Timeline/TimelineKeyframeDiamondIcon.js +1 -1
  148. package/dist/components/Timeline/TimelineKeyframeEasingLine.js +1 -1
  149. package/dist/components/Timeline/TimelineLayerEye.js +3 -3
  150. package/dist/components/Timeline/TimelineMediaInfo.js +2 -2
  151. package/dist/components/Timeline/TimelinePrimitiveFieldValue.js +4 -0
  152. package/dist/components/Timeline/TimelineRotationField.js +4 -3
  153. package/dist/components/Timeline/TimelineScaleField.js +1 -1
  154. package/dist/components/Timeline/TimelineSchemaField.d.ts +2 -0
  155. package/dist/components/Timeline/TimelineSchemaField.js +47 -7
  156. package/dist/components/Timeline/TimelineScrollable.js +3 -2
  157. package/dist/components/Timeline/TimelineSelection.js +6 -6
  158. package/dist/components/Timeline/TimelineSequence.js +17 -20
  159. package/dist/components/Timeline/TimelineSequenceFrame.js +3 -2
  160. package/dist/components/Timeline/TimelineSequenceItem.js +8 -7
  161. package/dist/components/Timeline/TimelineSequenceName.js +3 -2
  162. package/dist/components/Timeline/TimelineSequencePropItem.js +2 -1
  163. package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.d.ts +20 -1
  164. package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +128 -11
  165. package/dist/components/Timeline/TimelineSlider.js +2 -1
  166. package/dist/components/Timeline/TimelineSliderHandle.js +2 -1
  167. package/dist/components/Timeline/TimelineTimeIndicators.js +1 -1
  168. package/dist/components/Timeline/TimelineVideoInfo.js +2 -1
  169. package/dist/components/Timeline/TimelineZoomControls.js +4 -3
  170. package/dist/components/Timeline/call-move-keyframe.d.ts +5 -0
  171. package/dist/components/Timeline/call-move-keyframe.js +14 -3
  172. package/dist/components/Timeline/google-fonts-list.d.ts +6 -0
  173. package/dist/components/Timeline/google-fonts-list.js +1512 -0
  174. package/dist/components/Timeline/save-sequence-prop.d.ts +8 -1
  175. package/dist/components/Timeline/save-sequence-prop.js +63 -19
  176. package/dist/components/Timeline/timeline-rotation-field-utils.d.ts +5 -0
  177. package/dist/components/Timeline/timeline-rotation-field-utils.js +16 -0
  178. package/dist/components/Timeline/timeline-scroll-logic.js +5 -2
  179. package/dist/components/TimelineInOutToggle.js +1 -1
  180. package/dist/components/UpdateCheck.js +2 -2
  181. package/dist/components/UpdateModal/OpenIssueButton.js +1 -1
  182. package/dist/components/VisualControls/ClickableFileName.js +2 -2
  183. package/dist/components/effect-drag-and-drop.js +1 -0
  184. package/dist/components/import-assets.d.ts +7 -1
  185. package/dist/components/import-assets.js +55 -1
  186. package/dist/components/selected-outline-measurement.js +2 -1
  187. package/dist/error-overlay/remotion-overlay/CalculateMetadataErrorExplainer.js +2 -2
  188. package/dist/error-overlay/remotion-overlay/CodeFrame.js +7 -5
  189. package/dist/error-overlay/remotion-overlay/CompositionIdListItem.js +2 -2
  190. package/dist/error-overlay/remotion-overlay/DismissButton.js +3 -2
  191. package/dist/error-overlay/remotion-overlay/ErrorLoader.js +3 -2
  192. package/dist/error-overlay/remotion-overlay/ErrorMessage.js +4 -4
  193. package/dist/error-overlay/remotion-overlay/HelpLink.js +1 -1
  194. package/dist/error-overlay/remotion-overlay/MediaPlaybackErrorExplainer.js +4 -4
  195. package/dist/error-overlay/remotion-overlay/Overlay.js +3 -2
  196. package/dist/error-overlay/remotion-overlay/StackFrame.js +4 -3
  197. package/dist/error-overlay/remotion-overlay/Symbolicating.js +2 -1
  198. package/dist/error-overlay/remotion-overlay/carets.js +3 -2
  199. package/dist/esm/{chunk-103pp4n7.js → chunk-975rp13y.js} +9143 -6061
  200. package/dist/esm/chunk-jefhcs5z.js +164 -0
  201. package/dist/esm/internals.mjs +9144 -6028
  202. package/dist/esm/previewEntry.mjs +8335 -5215
  203. package/dist/esm/renderEntry.mjs +8 -5
  204. package/dist/helpers/checkerboard-background.js +4 -12
  205. package/dist/helpers/colors.d.ts +99 -7
  206. package/dist/helpers/colors.js +118 -10
  207. package/dist/helpers/inject-css.js +85 -83
  208. package/dist/helpers/timeline-layout.d.ts +4 -2
  209. package/dist/helpers/use-menu-structure.js +31 -3
  210. package/dist/helpers/validate-folder-rename.js +2 -10
  211. package/dist/helpers/validate-new-folder-name.d.ts +5 -0
  212. package/dist/helpers/validate-new-folder-name.js +16 -0
  213. package/dist/hot-middleware-client/client.js +3 -2
  214. package/dist/icons/Checkmark.js +2 -1
  215. package/dist/icons/audio.js +2 -1
  216. package/dist/icons/caret.js +2 -2
  217. package/dist/icons/certificate.js +2 -1
  218. package/dist/icons/data.js +2 -1
  219. package/dist/icons/eyedropper.js +2 -1
  220. package/dist/icons/file.js +2 -1
  221. package/dist/icons/frame.js +2 -1
  222. package/dist/icons/gear.js +2 -1
  223. package/dist/icons/gif.js +2 -1
  224. package/dist/icons/jump-to-start.js +2 -1
  225. package/dist/icons/keys.js +4 -3
  226. package/dist/icons/media-volume.js +1 -1
  227. package/dist/icons/minus.js +2 -1
  228. package/dist/icons/pause.js +2 -1
  229. package/dist/icons/play.js +2 -1
  230. package/dist/icons/redo.js +2 -1
  231. package/dist/icons/step-back.js +2 -1
  232. package/dist/icons/step-forward.js +2 -1
  233. package/dist/icons/undo.js +2 -1
  234. package/dist/previewEntry.js +2 -1
  235. package/dist/renderEntry.js +4 -3
  236. package/dist/state/modals.d.ts +4 -0
  237. package/package.json +11 -11
  238. package/dist/esm/chunk-6jf1natv.js +0 -25
@@ -7,7 +7,7 @@ const InspectorPanelLayout_1 = require("./InspectorPanelLayout");
7
7
  exports.INSPECTOR_INFO_HEADER_MIN_HEIGHT = 84;
8
8
  const container = {
9
9
  backgroundColor: colors_1.BACKGROUND,
10
- color: 'white',
10
+ color: colors_1.WHITE,
11
11
  display: 'block',
12
12
  minHeight: exports.INSPECTOR_INFO_HEADER_MIN_HEIGHT,
13
13
  padding: `6px ${InspectorPanelLayout_1.INSPECTOR_PANEL_HORIZONTAL_PADDING}px`,
@@ -25,7 +25,7 @@ const content = {
25
25
  };
26
26
  const title = {
27
27
  backgroundColor: colors_1.BACKGROUND,
28
- color: 'white',
28
+ color: colors_1.WHITE,
29
29
  fontSize: 12,
30
30
  lineHeight: '18px',
31
31
  overflow: 'hidden',
@@ -4,5 +4,6 @@ import type { UpdaterFunction } from '../RenderModal/SchemaEditor/ZodSwitch';
4
4
  export declare const DefaultInspector: React.FC<{
5
5
  readonly composition: _InternalTypes['AnyComposition'] | null;
6
6
  readonly currentDefaultProps: Record<string, unknown>;
7
+ readonly readOnlyStudio: boolean;
7
8
  readonly setDefaultProps: UpdaterFunction<Record<string, unknown>>;
8
9
  }>;
@@ -18,7 +18,7 @@ const SegmentedControl_1 = require("../SegmentedControl");
18
18
  const VisualControlsContent_1 = require("../VisualControls/VisualControlsContent");
19
19
  const common_1 = require("./common");
20
20
  const styles_1 = require("./styles");
21
- const DefaultInspector = ({ composition, currentDefaultProps, setDefaultProps }) => {
21
+ const DefaultInspector = ({ composition, currentDefaultProps, readOnlyStudio, setDefaultProps }) => {
22
22
  var _a, _b;
23
23
  const { canvasContent } = (0, react_1.useContext)(remotion_1.Internals.CompositionManager);
24
24
  const hasSelectedAsset = (canvasContent === null || canvasContent === void 0 ? void 0 : canvasContent.type) === 'asset';
@@ -70,7 +70,7 @@ const DefaultInspector = ({ composition, currentDefaultProps, setDefaultProps })
70
70
  showCannotSaveDefaultPropsWarning: canShowDefaultPropsSection,
71
71
  });
72
72
  if (hasSelectedAsset) {
73
- return (jsx_runtime_1.jsx("div", { style: styles_1.scrollableContainer, className: is_menu_item_1.VERTICAL_SCROLLBAR_CLASSNAME, children: jsx_runtime_1.jsx("div", { style: styles_1.compositionSection, children: jsx_runtime_1.jsx(CurrentAsset_1.CurrentAsset, {}) }) }));
73
+ return (jsx_runtime_1.jsx("div", { style: styles_1.scrollableContainer, className: is_menu_item_1.VERTICAL_SCROLLBAR_CLASSNAME, children: jsx_runtime_1.jsx("div", { style: styles_1.compositionSection, children: jsx_runtime_1.jsx(CurrentAsset_1.CurrentAsset, { readOnlyStudio: readOnlyStudio }) }) }));
74
74
  }
75
75
  if (composition === null) {
76
76
  return jsx_runtime_1.jsx("div", { style: styles_1.container });
@@ -64,7 +64,7 @@ const chevronIcon = {
64
64
  height: 12,
65
65
  width: 8,
66
66
  };
67
- const disabledChevronColor = 'rgba(255, 255, 255, 0.25)';
67
+ const disabledChevronColor = colors_1.WHITE_ALPHA_25;
68
68
  const NavigationChevron = ({ color, direction }) => {
69
69
  const path = direction === 'left' ? 'M6 1L2 6L6 11' : 'M2 1L6 6L2 11';
70
70
  return (jsx_runtime_1.jsx("svg", { viewBox: "0 0 8 12", style: chevronIcon, children: jsx_runtime_1.jsx("path", { d: path, fill: "none", stroke: color, strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5" }) }));
@@ -37,7 +37,7 @@ exports.InspectorDetailRow = InspectorDetailRow;
37
37
  const inlineLabelButton = {
38
38
  alignItems: 'center',
39
39
  appearance: 'none',
40
- backgroundColor: 'transparent',
40
+ backgroundColor: colors_1.TRANSPARENT,
41
41
  border: 'none',
42
42
  color: colors_1.LIGHT_TEXT,
43
43
  cursor: 'default',
@@ -69,7 +69,7 @@ const inlineLabelIcon = {
69
69
  };
70
70
  const InspectorInlineAction = ({ children, disabled, onClick, renderIcon }) => {
71
71
  const [hovered, setHovered] = react_1.default.useState(false);
72
- const color = hovered && !disabled ? 'white' : colors_1.LIGHT_TEXT;
72
+ const color = hovered && !disabled ? colors_1.WHITE : colors_1.LIGHT_TEXT;
73
73
  const buttonStyle = react_1.default.useMemo(() => ({
74
74
  ...(disabled ? inlineLabelButtonDisabled : inlineLabelButton),
75
75
  color,
@@ -5,7 +5,7 @@ const colors_1 = require("../../helpers/colors");
5
5
  const InspectorPanelLayout_1 = require("../InspectorPanelLayout");
6
6
  exports.container = {
7
7
  backgroundColor: colors_1.BACKGROUND,
8
- color: 'white',
8
+ color: colors_1.WHITE,
9
9
  display: 'flex',
10
10
  flex: 1,
11
11
  flexDirection: 'column',
@@ -55,7 +55,7 @@ exports.sequenceHeaderTitle = {
55
55
  alignSelf: 'stretch',
56
56
  backgroundColor: colors_1.BACKGROUND,
57
57
  border: 'none',
58
- color: 'white',
58
+ color: colors_1.WHITE,
59
59
  display: 'flex',
60
60
  fontFamily: 'sans-serif',
61
61
  fontSize: 12,
@@ -170,7 +170,7 @@ exports.detailLabel = {
170
170
  fontSize: 13,
171
171
  };
172
172
  exports.detailValue = {
173
- color: 'white',
173
+ color: colors_1.WHITE,
174
174
  fontSize: 13,
175
175
  fontVariantNumeric: 'tabular-nums',
176
176
  minWidth: 0,
@@ -4,5 +4,6 @@ import type { UpdaterFunction } from './RenderModal/SchemaEditor/ZodSwitch';
4
4
  export declare const InspectorPanel: React.FC<{
5
5
  readonly composition: _InternalTypes['AnyComposition'] | null;
6
6
  readonly currentDefaultProps: Record<string, unknown>;
7
+ readonly readOnlyStudio: boolean;
7
8
  readonly setDefaultProps: UpdaterFunction<Record<string, unknown>>;
8
9
  }>;
@@ -9,11 +9,11 @@ const inspector_selection_1 = require("./InspectorPanel/inspector-selection");
9
9
  const SelectedInspector_1 = require("./InspectorPanel/SelectedInspector");
10
10
  const styles_1 = require("./InspectorPanel/styles");
11
11
  const TimelineSelection_1 = require("./Timeline/TimelineSelection");
12
- const InspectorPanel = ({ composition, currentDefaultProps, setDefaultProps }) => {
12
+ const InspectorPanel = ({ composition, currentDefaultProps, readOnlyStudio, setDefaultProps }) => {
13
13
  const { selectedItems } = (0, TimelineSelection_1.useTimelineSelection)();
14
14
  const sameSequenceInspectorSelection = (0, react_1.useMemo)(() => (0, inspector_selection_1.getSameSequenceInspectorSelection)(selectedItems), [selectedItems]);
15
15
  if (selectedItems.length === 0) {
16
- return (jsx_runtime_1.jsx(DefaultInspector_1.DefaultInspector, { composition: composition, currentDefaultProps: currentDefaultProps, setDefaultProps: setDefaultProps }));
16
+ return (jsx_runtime_1.jsx(DefaultInspector_1.DefaultInspector, { composition: composition, currentDefaultProps: currentDefaultProps, readOnlyStudio: readOnlyStudio, setDefaultProps: setDefaultProps }));
17
17
  }
18
18
  if (selectedItems.length > 1) {
19
19
  if (sameSequenceInspectorSelection) {
@@ -47,7 +47,7 @@ const TimelineExpandedRow_1 = require("./Timeline/TimelineExpandedRow");
47
47
  const TimelineSelection_1 = require("./Timeline/TimelineSelection");
48
48
  const use_timeline_expanded_tree_1 = require("./Timeline/use-timeline-expanded-tree");
49
49
  const container = {
50
- color: 'white',
50
+ color: colors_1.WHITE,
51
51
  display: 'flex',
52
52
  flexDirection: 'column',
53
53
  fontFamily: 'Arial, Helvetica, sans-serif',
@@ -13,7 +13,7 @@ const InstallablePackageComp = ({ isInstalled, pkg, link, description }) => {
13
13
  }, children: [
14
14
  jsx_runtime_1.jsx("a", { href: link, style: {
15
15
  fontSize: FONT_SIZE,
16
- color: colors_1.TEXT_COLOR,
16
+ color: colors_1.WHITE_HEX,
17
17
  textDecoration: 'none',
18
18
  }, target: "_blank", children: pkg }), ' ', isInstalled ? (jsx_runtime_1.jsx("span", { style: { opacity: 0.3, fontSize: 'inherit' }, children: "(installed)" })) : null, jsx_runtime_1.jsx("br", {}), jsx_runtime_1.jsx("span", { style: { color: colors_1.LIGHT_TEXT, fontSize: FONT_SIZE }, children: description })
19
19
  ] }));
@@ -15,16 +15,16 @@ const left = {
15
15
  const key = {
16
16
  background: colors_1.INPUT_BACKGROUND,
17
17
  padding: '3px 6px',
18
- color: 'white',
18
+ color: colors_1.WHITE,
19
19
  borderRadius: 3,
20
- border: '1px solid ' + colors_1.INPUT_BORDER_COLOR_UNHOVERED,
20
+ border: '1px solid ' + colors_1.BLACK_ALPHA_60,
21
21
  borderBottomWidth: 3,
22
22
  fontSize: 14,
23
23
  fontFamily: 'monospace',
24
24
  };
25
25
  const right = {
26
26
  fontSize: 14,
27
- color: '#eee',
27
+ color: colors_1.KEYBOARD_SHORTCUT_KEY_COLOR,
28
28
  };
29
29
  const container = {
30
30
  paddingLeft: 20,
@@ -34,7 +34,7 @@ const container = {
34
34
  };
35
35
  const title = {
36
36
  fontWeight: 'bold',
37
- color: 'white',
37
+ color: colors_1.WHITE,
38
38
  fontSize: 14,
39
39
  marginBottom: 10,
40
40
  };
@@ -42,7 +42,7 @@ const keyboardShortcutsDisabled = {
42
42
  padding: 12,
43
43
  width: '100%',
44
44
  fontSize: 14,
45
- backgroundColor: 'rgba(255, 255, 255, 0.1)',
45
+ backgroundColor: colors_1.WHITE_ALPHA_10,
46
46
  };
47
47
  const ul = {
48
48
  marginTop: 0,
@@ -14,6 +14,6 @@ const LoopToggle = ({ loop, setLoop }) => {
14
14
  return !c;
15
15
  });
16
16
  }, [setLoop]);
17
- return (jsx_runtime_1.jsx(ControlButton_1.ControlButton, { title: accessibilityLabel, "aria-label": accessibilityLabel, onClick: onClick, children: jsx_runtime_1.jsx("svg", { viewBox: "0 0 512 512", style: { width: 18, height: 18 }, children: jsx_runtime_1.jsx("path", { fill: loop ? colors_1.BLUE : 'white', d: "M493.544 181.463c11.956 22.605 18.655 48.4 18.452 75.75C511.339 345.365 438.56 416 350.404 416H192v47.495c0 22.475-26.177 32.268-40.971 17.475l-80-80c-9.372-9.373-9.372-24.569 0-33.941l80-80C166.138 271.92 192 282.686 192 304v48h158.875c52.812 0 96.575-42.182 97.12-94.992.155-15.045-3.17-29.312-9.218-42.046-4.362-9.185-2.421-20.124 4.8-27.284 4.745-4.706 8.641-8.555 11.876-11.786 11.368-11.352 30.579-8.631 38.091 5.571zM64.005 254.992c.545-52.81 44.308-94.992 97.12-94.992H320v47.505c0 22.374 26.121 32.312 40.971 17.465l80-80c9.372-9.373 9.372-24.569 0-33.941l-80-80C346.014 16.077 320 26.256 320 48.545V96H161.596C73.44 96 .661 166.635.005 254.788c-.204 27.35 6.495 53.145 18.452 75.75 7.512 14.202 26.723 16.923 38.091 5.57 3.235-3.231 7.13-7.08 11.876-11.786 7.22-7.16 9.162-18.098 4.8-27.284-6.049-12.735-9.374-27.001-9.219-42.046z" }) }) }));
17
+ return (jsx_runtime_1.jsx(ControlButton_1.ControlButton, { title: accessibilityLabel, "aria-label": accessibilityLabel, onClick: onClick, children: jsx_runtime_1.jsx("svg", { viewBox: "0 0 512 512", style: { width: 18, height: 18 }, children: jsx_runtime_1.jsx("path", { fill: loop ? colors_1.BLUE : colors_1.WHITE, d: "M493.544 181.463c11.956 22.605 18.655 48.4 18.452 75.75C511.339 345.365 438.56 416 350.404 416H192v47.495c0 22.475-26.177 32.268-40.971 17.475l-80-80c-9.372-9.373-9.372-24.569 0-33.941l80-80C166.138 271.92 192 282.686 192 304v48h158.875c52.812 0 96.575-42.182 97.12-94.992.155-15.045-3.17-29.312-9.218-42.046-4.362-9.185-2.421-20.124 4.8-27.284 4.745-4.706 8.641-8.555 11.876-11.786 11.368-11.352 30.579-8.631 38.091 5.571zM64.005 254.992c.545-52.81 44.308-94.992 97.12-94.992H320v47.505c0 22.374 26.121 32.312 40.971 17.465l80-80c9.372-9.373 9.372-24.569 0-33.941l-80-80C346.014 16.077 320 26.256 320 48.545V96H161.596C73.44 96 .661 166.635.005 254.788c-.204 27.35 6.495 53.145 18.452 75.75 7.512 14.202 26.723 16.923 38.091 5.57 3.235-3.231 7.13-7.08 11.876-11.786 7.22-7.16 9.162-18.098 4.8-27.284-6.049-12.735-9.374-27.001-9.219-42.046z" }) }) }));
18
18
  };
19
19
  exports.LoopToggle = LoopToggle;
@@ -7,7 +7,7 @@ const menuDivider = {
7
7
  marginTop: 4,
8
8
  marginBottom: 4,
9
9
  height: 1,
10
- backgroundColor: colors_1.INPUT_BORDER_COLOR_HOVERED,
10
+ backgroundColor: colors_1.WHITE_ALPHA_05,
11
11
  };
12
12
  const MenuDivider = () => {
13
13
  return jsx_runtime_1.jsx("div", { style: menuDivider });
@@ -16,7 +16,7 @@ const portals_1 = require("./portals");
16
16
  const styles_1 = require("./styles");
17
17
  const container = {
18
18
  fontSize: 13,
19
- color: 'white',
19
+ color: colors_1.WHITE,
20
20
  paddingLeft: 10,
21
21
  paddingRight: 10,
22
22
  cursor: 'default',
@@ -56,7 +56,7 @@ const MenuSubItem = ({ label, leaveLeftSpace, leftItem, onActionChosen, id, sele
56
56
  const style = (0, react_1.useMemo)(() => {
57
57
  return {
58
58
  ...container,
59
- backgroundColor: selected && !disabled ? colors_1.CLEAR_HOVER : 'transparent',
59
+ backgroundColor: selected && !disabled ? colors_1.WHITE_ALPHA_06 : colors_1.TRANSPARENT,
60
60
  opacity: disabled ? 0.5 : 1,
61
61
  cursor: disabled ? 'not-allowed' : 'default',
62
62
  };
@@ -9,12 +9,12 @@ exports.MAX_MOBILE_MENU_WIDTH = 300;
9
9
  const menuContainer = {
10
10
  backgroundColor: colors_1.BACKGROUND,
11
11
  position: 'fixed',
12
- color: 'white',
12
+ color: colors_1.WHITE,
13
13
  userSelect: 'none',
14
14
  WebkitUserSelect: 'none',
15
15
  };
16
- exports.SHADOW_TOWARDS_BOTTOM = '0 2px 8px rgba(0, 0, 0, 0.5)';
17
- exports.SHADOW_TOWARDS_TOP = '0 -2px 8px rgba(0, 0, 0, 0.5)';
16
+ exports.SHADOW_TOWARDS_BOTTOM = colors_1.SHADOW_BLACK_ALPHA_50_TOWARDS_BOTTOM;
17
+ exports.SHADOW_TOWARDS_TOP = colors_1.SHADOW_BLACK_ALPHA_50_TOWARDS_TOP;
18
18
  exports.menuContainerTowardsBottom = {
19
19
  ...menuContainer,
20
20
  boxShadow: exports.SHADOW_TOWARDS_BOTTOM,
@@ -17,8 +17,8 @@ const row = {
17
17
  alignItems: 'center',
18
18
  flexDirection: 'row',
19
19
  display: 'flex',
20
- color: 'white',
21
- borderBottom: '1px solid black',
20
+ color: colors_1.WHITE,
21
+ borderBottom: colors_1.BORDER_BLACK,
22
22
  boxSizing: 'border-box',
23
23
  fontSize: 13,
24
24
  height: exports.MENU_TOOLBAR_HEIGHT,
@@ -7,7 +7,7 @@ const colors_1 = require("../helpers/colors");
7
7
  const Button_1 = require("./Button");
8
8
  const buttonStyle = {
9
9
  backgroundColor: colors_1.BLUE,
10
- color: 'white',
10
+ color: colors_1.WHITE,
11
11
  };
12
12
  const ModalButton = (props) => {
13
13
  const style = (0, react_1.useMemo)(() => {
@@ -15,7 +15,7 @@ const getMaxModalHeight = (height) => {
15
15
  };
16
16
  exports.getMaxModalHeight = getMaxModalHeight;
17
17
  const backgroundOverlay = {
18
- backgroundColor: 'rgba(255, 255, 255, 0.2)',
18
+ backgroundColor: colors_1.WHITE_ALPHA_20,
19
19
  backdropFilter: `blur(1px)`,
20
20
  position: 'fixed',
21
21
  height: '100%',
@@ -25,8 +25,8 @@ const backgroundOverlay = {
25
25
  };
26
26
  const panel = {
27
27
  backgroundColor: colors_1.BACKGROUND,
28
- boxShadow: '0 0 4px black',
29
- color: 'white',
28
+ boxShadow: colors_1.SHADOW_BLACK,
29
+ color: colors_1.WHITE,
30
30
  margin: 'auto',
31
31
  };
32
32
  const ModalContainer = ({ children, onEscape, onOutsideClick, noZIndex }) => {
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ModalFooterContainer = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const colors_1 = require("../helpers/colors");
5
6
  const content = {
6
7
  padding: 12,
7
8
  paddingRight: 12,
@@ -10,6 +11,6 @@ const content = {
10
11
  minWidth: 500,
11
12
  };
12
13
  const ModalFooterContainer = ({ children }) => {
13
- return (jsx_runtime_1.jsx("div", { style: { ...content, borderTop: '1px solid black' }, children: children }));
14
+ return jsx_runtime_1.jsx("div", { style: { ...content, borderTop: colors_1.BORDER_BLACK }, children: children });
14
15
  };
15
16
  exports.ModalFooterContainer = ModalFooterContainer;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ModalHeader = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
+ const colors_1 = require("../helpers/colors");
6
7
  const modals_1 = require("../state/modals");
7
8
  const layout_1 = require("./layout");
8
9
  const CancelButton_1 = require("./NewComposition/CancelButton");
@@ -12,11 +13,11 @@ const container = {
12
13
  alignItems: 'center',
13
14
  padding: '12px 16px',
14
15
  width: '100%',
15
- borderBottom: '1px solid black',
16
+ borderBottom: colors_1.BORDER_BLACK,
16
17
  };
17
18
  const titleStyle = {
18
19
  fontSize: 14,
19
- color: 'white',
20
+ color: colors_1.WHITE,
20
21
  };
21
22
  const icon = {
22
23
  height: 20,
@@ -16,6 +16,7 @@ const DeleteComposition_1 = require("./NewComposition/DeleteComposition");
16
16
  const DeleteFolder_1 = require("./NewComposition/DeleteFolder");
17
17
  const DuplicateComposition_1 = require("./NewComposition/DuplicateComposition");
18
18
  const NewComposition_1 = require("./NewComposition/NewComposition");
19
+ const NewFolder_1 = require("./NewComposition/NewFolder");
19
20
  const RenameComposition_1 = require("./NewComposition/RenameComposition");
20
21
  const RenameFolder_1 = require("./NewComposition/RenameFolder");
21
22
  const RenameStaticFile_1 = require("./NewComposition/RenameStaticFile");
@@ -31,7 +32,7 @@ const Modals = ({ readOnlyStudio }) => {
31
32
  const { selectedModal: modalContextType } = (0, react_1.useContext)(modals_1.ModalsContext);
32
33
  const canRender = (0, react_1.useContext)(client_id_1.StudioServerConnectionCtx).previewServerState.type ===
33
34
  'connected';
34
- return (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [modalContextType && modalContextType.type === 'new-comp' && (jsx_runtime_1.jsx(NewComposition_1.NewComposition, { folderName: modalContextType.folderName, parentName: modalContextType.parentName, stack: modalContextType.stack })), modalContextType && modalContextType.type === 'duplicate-comp' && (jsx_runtime_1.jsx(DuplicateComposition_1.DuplicateComposition, { compositionType: modalContextType.compositionType, compositionId: modalContextType.compositionId })), modalContextType && modalContextType.type === 'delete-comp' && (jsx_runtime_1.jsx(DeleteComposition_1.DeleteComposition, { compositionId: modalContextType.compositionId })), modalContextType && modalContextType.type === 'rename-comp' && (jsx_runtime_1.jsx(RenameComposition_1.RenameComposition, { compositionId: modalContextType.compositionId })), modalContextType && modalContextType.type === 'delete-folder' && (jsx_runtime_1.jsx(DeleteFolder_1.DeleteFolder, { folderName: modalContextType.folderName, parentName: modalContextType.parentName, stack: modalContextType.stack })), modalContextType && modalContextType.type === 'rename-folder' && (jsx_runtime_1.jsx(RenameFolder_1.RenameFolder, { folderName: modalContextType.folderName, parentName: modalContextType.parentName, stack: modalContextType.stack })), modalContextType && modalContextType.type === 'rename-static-file' && (jsx_runtime_1.jsx(RenameStaticFile_1.RenameStaticFileModal, { relativePath: modalContextType.relativePath })), modalContextType && modalContextType.type === 'input-props-override' && (jsx_runtime_1.jsx(OverrideInputProps_1.OverrideInputPropsModal, {})), modalContextType && modalContextType.type === 'keyframe-settings' && (jsx_runtime_1.jsx(KeyframeSettingsModal_1.KeyframeSettingsModal, { state: modalContextType })), modalContextType && modalContextType.type === 'web-render' && (jsx_runtime_1.jsx(WebRenderModal_1.WebRenderModalWithLoader, { ...modalContextType })), modalContextType &&
35
+ return (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [modalContextType && modalContextType.type === 'new-comp' && (jsx_runtime_1.jsx(NewComposition_1.NewComposition, { folderName: modalContextType.folderName, parentName: modalContextType.parentName, stack: modalContextType.stack })), modalContextType && modalContextType.type === 'new-folder' && (jsx_runtime_1.jsx(NewFolder_1.NewFolder, { parentName: modalContextType.parentName, stack: modalContextType.stack })), modalContextType && modalContextType.type === 'duplicate-comp' && (jsx_runtime_1.jsx(DuplicateComposition_1.DuplicateComposition, { compositionType: modalContextType.compositionType, compositionId: modalContextType.compositionId })), modalContextType && modalContextType.type === 'delete-comp' && (jsx_runtime_1.jsx(DeleteComposition_1.DeleteComposition, { compositionId: modalContextType.compositionId })), modalContextType && modalContextType.type === 'rename-comp' && (jsx_runtime_1.jsx(RenameComposition_1.RenameComposition, { compositionId: modalContextType.compositionId })), modalContextType && modalContextType.type === 'delete-folder' && (jsx_runtime_1.jsx(DeleteFolder_1.DeleteFolder, { folderName: modalContextType.folderName, parentName: modalContextType.parentName, stack: modalContextType.stack })), modalContextType && modalContextType.type === 'rename-folder' && (jsx_runtime_1.jsx(RenameFolder_1.RenameFolder, { folderName: modalContextType.folderName, parentName: modalContextType.parentName, stack: modalContextType.stack })), modalContextType && modalContextType.type === 'rename-static-file' && (jsx_runtime_1.jsx(RenameStaticFile_1.RenameStaticFileModal, { relativePath: modalContextType.relativePath })), modalContextType && modalContextType.type === 'input-props-override' && (jsx_runtime_1.jsx(OverrideInputProps_1.OverrideInputPropsModal, {})), modalContextType && modalContextType.type === 'keyframe-settings' && (jsx_runtime_1.jsx(KeyframeSettingsModal_1.KeyframeSettingsModal, { state: modalContextType })), modalContextType && modalContextType.type === 'web-render' && (jsx_runtime_1.jsx(WebRenderModal_1.WebRenderModalWithLoader, { ...modalContextType })), modalContextType &&
35
36
  modalContextType.type === 'server-render' &&
36
37
  (canRender || modalContextType.readOnlyStudio) ? (jsx_runtime_1.jsx(ServerRenderModal_1.RenderModalWithLoader, { readOnlyStudio: (_a = modalContextType.readOnlyStudio) !== null && _a !== void 0 ? _a : false, initialFrame: modalContextType.initialFrame, initialDarkMode: modalContextType.initialDarkMode, compositionId: modalContextType.compositionId, initialVideoImageFormat: modalContextType.initialVideoImageFormat, initialJpegQuality: modalContextType.initialJpegQuality, initialScale: modalContextType.initialScale, initialLogLevel: modalContextType.initialLogLevel, initialOffthreadVideoCacheSizeInBytes: modalContextType.initialOffthreadVideoCacheSizeInBytes, initialOffthreadVideoThreads: modalContextType.initialOffthreadVideoThreads, initialMediaCacheSizeInBytes: modalContextType.initialMediaCacheSizeInBytes, initialConcurrency: modalContextType.initialConcurrency, maxConcurrency: modalContextType.maxConcurrency, minConcurrency: modalContextType.minConcurrency, initialStillImageFormat: modalContextType.initialStillImageFormat, initialMuted: modalContextType.initialMuted, initialEnforceAudioTrack: modalContextType.initialEnforceAudioTrack, initialProResProfile: modalContextType.initialProResProfile, initialx264Preset: modalContextType.initialx264Preset, initialGopSize: modalContextType.initialGopSize, initialPixelFormat: modalContextType.initialPixelFormat, initialAudioBitrate: modalContextType.initialAudioBitrate, initialVideoBitrate: modalContextType.initialVideoBitrate, initialEveryNthFrame: modalContextType.initialEveryNthFrame, initialNumberOfGifLoops: modalContextType.initialNumberOfGifLoops, initialDelayRenderTimeout: modalContextType.initialDelayRenderTimeout, initialEnvVariables: modalContextType.initialEnvVariables, initialDisableWebSecurity: modalContextType.initialDisableWebSecurity, initialGl: modalContextType.initialOpenGlRenderer, initialHeadless: modalContextType.initialHeadless, initialIgnoreCertificateErrors: modalContextType.initialIgnoreCertificateErrors, initialEncodingBufferSize: modalContextType.initialEncodingBufferSize, initialEncodingMaxRate: modalContextType.initialEncodingMaxRate, initialUserAgent: modalContextType.initialUserAgent, initialColorSpace: modalContextType.initialColorSpace, initialMultiProcessOnLinux: modalContextType.initialMultiProcessOnLinux, initialRepro: modalContextType.initialRepro, initialBeep: modalContextType.initialBeep, initialForSeamlessAacConcatenation: modalContextType.initialForSeamlessAacConcatenation, defaultProps: modalContextType.defaultProps, inFrameMark: modalContextType.inFrameMark, outFrameMark: modalContextType.outFrameMark, defaultConfigurationAudioCodec: modalContextType.defaultConfigurationAudioCodec, defaultConfigurationVideoCodec: modalContextType.defaultConfigurationVideoCodec, renderTypeOfLastRender: modalContextType.renderTypeOfLastRender, defaultMetadata: modalContextType.defaulMetadata, initialHardwareAcceleration: modalContextType.initialHardwareAcceleration, initialSampleRate: modalContextType.initialSampleRate, initialChromeMode: modalContextType.initialChromeMode, renderDefaults: modalContextType.renderDefaults })) : null, modalContextType && modalContextType.type === 'render-progress' && (jsx_runtime_1.jsx(RenderStatusModal_1.RenderStatusModal, { jobId: modalContextType.jobId })), modalContextType && modalContextType.type === 'update' && (jsx_runtime_1.jsx(UpdateModal_1.UpdateModal, { info: modalContextType.info, knownBugs: modalContextType.knownBugs })), modalContextType && modalContextType.type === 'install-packages' && (jsx_runtime_1.jsx(InstallPackage_1.InstallPackageModal, { packageManager: modalContextType.packageManager })), modalContextType && modalContextType.type === 'quick-switcher' && (jsx_runtime_1.jsx(QuickSwitcher_1.default, { readOnlyStudio: readOnlyStudio, invocationTimestamp: modalContextType.invocationTimestamp, initialMode: modalContextType.mode })), modalContextType && modalContextType.type === 'add-effect' && (jsx_runtime_1.jsx(EffectPickerModal_1.EffectPickerModal, { state: modalContextType })), modalContextType && modalContextType.type === 'confirmation-dialog' && (jsx_runtime_1.jsx(ConfirmationDialog_1.ConfirmationDialog, { state: modalContextType })), process.env.ASK_AI_ENABLED && jsx_runtime_1.jsx(AskAiModal_1.AskAiModal, {})] }));
37
38
  };
@@ -2,12 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CancelButton = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const colors_1 = require("../../helpers/colors");
5
6
  const z_index_1 = require("../../state/z-index");
6
7
  const style = {
7
8
  appearance: 'none',
8
9
  border: 'none',
9
- backgroundColor: 'transparent',
10
- color: 'white',
10
+ backgroundColor: colors_1.TRANSPARENT,
11
+ color: colors_1.WHITE,
11
12
  cursor: 'pointer',
12
13
  display: 'inline-flex',
13
14
  justifyContent: 'center',
@@ -15,6 +16,6 @@ const style = {
15
16
  };
16
17
  const CancelButton = ({ onPress, ...props }) => {
17
18
  const { tabIndex } = (0, z_index_1.useZIndex)();
18
- return (jsx_runtime_1.jsx("button", { tabIndex: tabIndex, style: style, type: "button", onClick: onPress, children: jsx_runtime_1.jsx("svg", { viewBox: "0 0 320 512", ...props, children: jsx_runtime_1.jsx("path", { fill: "currentColor", d: "M207.6 256l107.72-107.72c6.23-6.23 6.23-16.34 0-22.58l-25.03-25.03c-6.23-6.23-16.34-6.23-22.58 0L160 208.4 52.28 100.68c-6.23-6.23-16.34-6.23-22.58 0L4.68 125.7c-6.23 6.23-6.23 16.34 0 22.58L112.4 256 4.68 363.72c-6.23 6.23-6.23 16.34 0 22.58l25.03 25.03c6.23 6.23 16.34 6.23 22.58 0L160 303.6l107.72 107.72c6.23 6.23 16.34 6.23 22.58 0l25.03-25.03c6.23-6.23 6.23-16.34 0-22.58L207.6 256z" }) }) }));
19
+ return (jsx_runtime_1.jsx("button", { tabIndex: tabIndex, style: style, type: "button", onClick: onPress, children: jsx_runtime_1.jsx("svg", { viewBox: "0 0 320 512", ...props, children: jsx_runtime_1.jsx("path", { fill: colors_1.CURRENT_COLOR, d: "M207.6 256l107.72-107.72c6.23-6.23 6.23-16.34 0-22.58l-25.03-25.03c-6.23-6.23-16.34-6.23-22.58 0L160 208.4 52.28 100.68c-6.23-6.23-16.34-6.23-22.58 0L4.68 125.7c-6.23 6.23-6.23 16.34 0 22.58L112.4 256 4.68 363.72c-6.23 6.23-6.23 16.34 0 22.58l25.03 25.03c6.23 6.23 16.34 6.23 22.58 0L160 303.6l107.72 107.72c6.23 6.23 16.34 6.23 22.58 0l25.03-25.03c6.23-6.23 6.23-16.34 0-22.58L207.6 256z" }) }) }));
19
20
  };
20
21
  exports.CancelButton = CancelButton;
@@ -167,15 +167,15 @@ const Combobox = ({ values, selectedId, style: customStyle, title, small = false
167
167
  ...(customStyle !== null && customStyle !== void 0 ? customStyle : {}),
168
168
  userSelect: 'none',
169
169
  WebkitUserSelect: 'none',
170
- color: 'white',
170
+ color: colors_1.WHITE,
171
171
  display: 'inline-flex',
172
172
  flexDirection: 'row',
173
173
  alignItems: 'center',
174
174
  borderColor: opened
175
175
  ? colors_1.SELECTED_BACKGROUND
176
176
  : hovered
177
- ? colors_1.INPUT_BORDER_COLOR_HOVERED
178
- : colors_1.INPUT_BORDER_COLOR_UNHOVERED,
177
+ ? colors_1.WHITE_ALPHA_05
178
+ : colors_1.BLACK_ALPHA_60,
179
179
  };
180
180
  }, [customStyle, hovered, opened, small]);
181
181
  return (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
@@ -84,8 +84,8 @@ const InputDraggerForwardRefFn = ({ onValueChange, onValueChangeEnd, min: _min,
84
84
  const style = (0, react_1.useMemo)(() => {
85
85
  return {
86
86
  ...RemInput_1.inputBaseStyle,
87
- backgroundColor: 'transparent',
88
- borderColor: 'transparent',
87
+ backgroundColor: colors_1.TRANSPARENT,
88
+ borderColor: colors_1.TRANSPARENT,
89
89
  padding: '4px 6px',
90
90
  ...{ outline: 'none' },
91
91
  };
@@ -113,6 +113,14 @@ const InputDraggerForwardRefFn = ({ onValueChange, onValueChangeEnd, min: _min,
113
113
  }
114
114
  setInputFallback(true);
115
115
  }, []);
116
+ const onKeyDown = (0, react_1.useCallback)((e) => {
117
+ if (e.key !== 'Enter') {
118
+ return;
119
+ }
120
+ e.preventDefault();
121
+ e.stopPropagation();
122
+ setInputFallback(true);
123
+ }, []);
116
124
  const onEscape = (0, react_1.useCallback)(() => {
117
125
  setInputFallback(false);
118
126
  }, []);
@@ -225,6 +233,6 @@ const InputDraggerForwardRefFn = ({ onValueChange, onValueChangeEnd, min: _min,
225
233
  if (inputFallback) {
226
234
  return (jsx_runtime_1.jsx(z_index_1.HigherZIndex, { onEscape: onEscape, onOutsideClick: noop_1.noop, children: jsx_runtime_1.jsx(RemInput_1.RemotionInput, { ref: fallbackRef, autoFocus: true, onKeyPress: onKeyPress, onBlur: onBlur, onChange: onInputChange, min: _min, max: _max, step: deriveStep, defaultValue: value, status: status, pattern: '[0-9]*[.]?[0-9]*', rightAlign: rightAlign, small: small, ...props }) }));
227
235
  }
228
- return (jsx_runtime_1.jsx("button", { ref: ref, type: "button", className: '__remotion_input_dragger', style: style, onClick: onClick, onFocus: onFocus, onPointerDown: onPointerDown, children: jsx_runtime_1.jsx("span", { style: span, children: formatter(value) }) }));
236
+ return (jsx_runtime_1.jsx("button", { ref: ref, type: "button", className: '__remotion_input_dragger', style: style, onClick: onClick, onFocus: onFocus, onKeyDown: onKeyDown, onPointerDown: onPointerDown, children: jsx_runtime_1.jsx("span", { style: span, children: formatter(value) }) }));
229
237
  };
230
238
  exports.InputDragger = react_1.default.forwardRef(InputDraggerForwardRefFn);
@@ -15,7 +15,7 @@ const BORDER_SIZE = 1;
15
15
  const container = {
16
16
  paddingTop: styles_1.MENU_VERTICAL_PADDING,
17
17
  paddingBottom: styles_1.MENU_VERTICAL_PADDING,
18
- border: `${BORDER_SIZE}px solid ${colors_1.INPUT_BORDER_COLOR_UNHOVERED}`,
18
+ border: `${BORDER_SIZE}px solid ${colors_1.BLACK_ALPHA_60}`,
19
19
  marginLeft: 0 - BORDER_SIZE,
20
20
  overflowY: 'auto',
21
21
  overflowX: 'hidden',
@@ -23,6 +23,9 @@ const content = {
23
23
  fontSize: 13,
24
24
  minWidth: 500,
25
25
  };
26
+ const folderPathStyle = {
27
+ fontSize: 14,
28
+ };
26
29
  const NewCompositionLoaded = ({ folderName, parentName, stack }) => {
27
30
  const { compositions } = (0, react_1.useContext)(remotion_1.Internals.CompositionManager);
28
31
  const [newId, setName] = (0, react_1.useState)(() => (0, use_create_composition_1.getUniqueCompositionName)(compositions));
@@ -89,7 +92,7 @@ const NewCompositionLoaded = ({ folderName, parentName, stack }) => {
89
92
  return (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
90
93
  jsx_runtime_1.jsx(ModalHeader_1.ModalHeader, { title: "New composition" }), jsx_runtime_1.jsxs("form", { onSubmit: onSubmit, children: [
91
94
  jsx_runtime_1.jsxs("div", { style: content, children: [folderPath ? (jsx_runtime_1.jsxs("div", { style: layout_2.optionRow, children: [
92
- jsx_runtime_1.jsx("div", { style: layout_2.label, children: "Folder" }), jsx_runtime_1.jsx("div", { style: layout_2.rightRow, children: folderPath })
95
+ jsx_runtime_1.jsx("div", { style: layout_2.label, children: "Folder" }), jsx_runtime_1.jsx("div", { style: layout_2.rightRow, children: jsx_runtime_1.jsx("span", { style: folderPathStyle, children: folderPath }) })
93
96
  ] })) : null, jsx_runtime_1.jsxs("div", { style: layout_2.optionRow, children: [
94
97
  jsx_runtime_1.jsx("div", { style: layout_2.label, children: "ID" }), jsx_runtime_1.jsx("div", { style: layout_2.rightRow, children: jsx_runtime_1.jsxs(InputAndValidationContainer_1.InputAndValidationContainer, { children: [
95
98
  jsx_runtime_1.jsx(RemInput_1.RemotionInput, { value: newId, onChange: onNameChange, type: "text", autoFocus: true, placeholder: "Composition ID", status: "ok", rightAlign: true }), compNameErrMessage ? (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ export declare const NewFolder: React.FC<{
3
+ readonly parentName: string | null;
4
+ readonly stack: string | null;
5
+ }>;
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NewFolder = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const remotion_1 = require("remotion");
7
+ const get_folder_id_1 = require("../../helpers/get-folder-id");
8
+ const validate_new_folder_name_1 = require("../../helpers/validate-new-folder-name");
9
+ const layout_1 = require("../layout");
10
+ const ModalFooter_1 = require("../ModalFooter");
11
+ const ModalHeader_1 = require("../ModalHeader");
12
+ const layout_2 = require("../RenderModal/layout");
13
+ const actions_1 = require("../RenderQueue/actions");
14
+ const CodemodFooter_1 = require("./CodemodFooter");
15
+ const DismissableModal_1 = require("./DismissableModal");
16
+ const InputAndValidationContainer_1 = require("./InputAndValidationContainer");
17
+ const RemInput_1 = require("./RemInput");
18
+ const ValidationMessage_1 = require("./ValidationMessage");
19
+ const content = {
20
+ padding: 12,
21
+ paddingRight: 12,
22
+ flex: 1,
23
+ fontSize: 13,
24
+ minWidth: 500,
25
+ };
26
+ const getUniqueFolderName = ({ folders, parentName, }) => {
27
+ let counter = 1;
28
+ while (true) {
29
+ const name = counter === 1 ? 'NewFolder' : `NewFolder${counter}`;
30
+ const err = (0, validate_new_folder_name_1.validateNewFolderName)({ folders, newName: name, parentName });
31
+ if (!err) {
32
+ return name;
33
+ }
34
+ counter++;
35
+ }
36
+ };
37
+ const NewFolder = ({ parentName, stack }) => {
38
+ const { folders } = (0, react_1.useContext)(remotion_1.Internals.CompositionManager);
39
+ const [newName, setName] = (0, react_1.useState)(() => getUniqueFolderName({ folders, parentName }));
40
+ const inputRef = (0, react_1.useRef)(null);
41
+ (0, react_1.useEffect)(() => {
42
+ const input = inputRef.current;
43
+ if (!input)
44
+ return;
45
+ input.select();
46
+ }, []);
47
+ const onNameChange = (0, react_1.useCallback)((e) => {
48
+ setName(e.target.value);
49
+ }, []);
50
+ const folderNameErrMessage = (0, validate_new_folder_name_1.validateNewFolderName)({
51
+ folders,
52
+ newName,
53
+ parentName,
54
+ });
55
+ const valid = folderNameErrMessage === null;
56
+ const codemod = (0, react_1.useMemo)(() => {
57
+ return {
58
+ type: 'new-folder',
59
+ folderName: newName,
60
+ parentName,
61
+ };
62
+ }, [newName, parentName]);
63
+ const onSubmit = (0, react_1.useCallback)((e) => {
64
+ e.preventDefault();
65
+ }, []);
66
+ const folderId = (0, get_folder_id_1.getFolderId)({ folderName: newName, parentName });
67
+ return (jsx_runtime_1.jsxs(DismissableModal_1.DismissableModal, { children: [
68
+ jsx_runtime_1.jsx(ModalHeader_1.ModalHeader, { title: "New folder" }), jsx_runtime_1.jsxs("form", { onSubmit: onSubmit, children: [
69
+ jsx_runtime_1.jsxs("div", { style: content, children: [parentName ? (jsx_runtime_1.jsxs("div", { style: layout_2.optionRow, children: [
70
+ jsx_runtime_1.jsx("div", { style: layout_2.label, children: "Parent" }), jsx_runtime_1.jsx("div", { style: layout_2.rightRow, children: parentName })
71
+ ] })) : null, jsx_runtime_1.jsxs("div", { style: layout_2.optionRow, children: [
72
+ jsx_runtime_1.jsx("div", { style: layout_2.label, children: "Name" }), jsx_runtime_1.jsx("div", { style: layout_2.rightRow, children: jsx_runtime_1.jsxs(InputAndValidationContainer_1.InputAndValidationContainer, { children: [
73
+ jsx_runtime_1.jsx(RemInput_1.RemotionInput, { ref: inputRef, value: newName, onChange: onNameChange, type: "text", autoFocus: true, placeholder: "Folder name", status: "ok", rightAlign: true }), folderNameErrMessage ? (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
74
+ jsx_runtime_1.jsx(layout_1.Spacing, { y: 1, block: true }), jsx_runtime_1.jsx(ValidationMessage_1.ValidationMessage, { align: "flex-start", message: folderNameErrMessage, type: "error" })
75
+ ] })) : null] }) })
76
+ ] })
77
+ ] }), jsx_runtime_1.jsx(ModalFooter_1.ModalFooterContainer, { children: jsx_runtime_1.jsx(CodemodFooter_1.CodemodFooter, { loadingNotification: 'Creating folder...', errorNotification: 'Could not create folder', successNotification: `Created folder ${folderId}`, genericSubmitLabel: 'Add to root file', submitLabel: ({ relativeRootPath }) => `Add to ${relativeRootPath}`, codemod: codemod, stack: stack, valid: valid, onSuccess: null, fallbackToRootFile: true, applyCodemod: ({ signal, symbolicatedStack }) => (0, actions_1.applyCodemod)({
78
+ codemod,
79
+ dryRun: false,
80
+ signal,
81
+ symbolicatedStack,
82
+ }) }) })
83
+ ] })
84
+ ] }));
85
+ };
86
+ exports.NewFolder = NewFolder;
@@ -15,7 +15,7 @@ const RightAlignInput = ({ children }) => {
15
15
  exports.RightAlignInput = RightAlignInput;
16
16
  exports.inputBaseStyle = {
17
17
  padding: `${exports.INPUT_HORIZONTAL_PADDING}px 10px`,
18
- color: 'white',
18
+ color: colors_1.WHITE,
19
19
  borderStyle: 'solid',
20
20
  borderWidth: 1,
21
21
  fontSize: 14,
@@ -32,8 +32,8 @@ const getInputBorderColor = ({ status, isFocused, isHovered, }) => status === 'w
32
32
  : isFocused
33
33
  ? colors_1.SELECTED_BACKGROUND
34
34
  : isHovered
35
- ? colors_1.INPUT_BORDER_COLOR_HOVERED
36
- : colors_1.INPUT_BORDER_COLOR_UNHOVERED;
35
+ ? colors_1.WHITE_ALPHA_05
36
+ : colors_1.BLACK_ALPHA_60;
37
37
  exports.getInputBorderColor = getInputBorderColor;
38
38
  const RemInputForwardRef = ({ status, rightAlign, small = false, ...props }, ref) => {
39
39
  const [isFocused, setIsFocused] = (0, react_1.useState)(false);
@@ -9,7 +9,7 @@ const is_menu_item_1 = require("../Menu/is-menu-item");
9
9
  const RemInput_1 = require("../NewComposition/RemInput");
10
10
  const inputBaseStyle = {
11
11
  padding: `${RemInput_1.INPUT_HORIZONTAL_PADDING}px 10px`,
12
- color: 'white',
12
+ color: colors_1.WHITE,
13
13
  borderStyle: 'solid',
14
14
  borderWidth: 1,
15
15
  fontSize: 14,