@remotion/studio 4.0.136 → 4.0.138

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 (139) hide show
  1. package/.eslintrc +33 -33
  2. package/.turbo/turbo-build.log +1 -2
  3. package/dist/components/AssetSelectorItem.d.ts +8 -8
  4. package/dist/components/AssetSelectorItem.js +8 -2
  5. package/dist/components/Canvas.js +1 -1
  6. package/dist/components/CanvasOrLoading.js +1 -1
  7. package/dist/components/CheckerboardProvider.d.ts +1 -1
  8. package/dist/components/CompositionSelectorItem.js +1 -1
  9. package/dist/components/ContextMenu.js +1 -1
  10. package/dist/components/CopyButton.js +1 -1
  11. package/dist/components/Editor.d.ts +2 -2
  12. package/dist/components/Editor.js +1 -1
  13. package/dist/components/EditorContent.d.ts +5 -5
  14. package/dist/components/EditorContent.js +1 -1
  15. package/dist/components/FilePreview.js +1 -1
  16. package/dist/components/Menu/MenuSubItem.js +2 -2
  17. package/dist/components/MenuBuildIndicator.js +1 -1
  18. package/dist/components/MenuToolbar.js +1 -1
  19. package/dist/components/ModalHeader.js +1 -1
  20. package/dist/components/Modals.d.ts +1 -1
  21. package/dist/components/Modals.js +1 -1
  22. package/dist/components/NewComposition/CodemodFooter.js +1 -1
  23. package/dist/components/NewComposition/ComboBox.js +1 -1
  24. package/dist/components/NewComposition/DeleteComposition.d.ts +1 -1
  25. package/dist/components/NewComposition/DeleteComposition.js +4 -1
  26. package/dist/components/NewComposition/DuplicateComposition.d.ts +1 -1
  27. package/dist/components/NewComposition/DuplicateComposition.js +7 -4
  28. package/dist/components/NewComposition/MenuContent.js +1 -1
  29. package/dist/components/NewComposition/NewCompDuration.js +4 -4
  30. package/dist/components/NewComposition/RenameComposition.d.ts +1 -1
  31. package/dist/components/NewComposition/RenameComposition.js +6 -3
  32. package/dist/components/Notifications/ServerDisconnected.js +1 -1
  33. package/dist/components/PlayPause.d.ts +3 -3
  34. package/dist/components/PlayPause.js +1 -1
  35. package/dist/components/PreviewToolbar.js +2 -2
  36. package/dist/components/QuickSwitcher/QuickSwitcherContent.js +3 -3
  37. package/dist/components/RenderButton.js +1 -0
  38. package/dist/components/RenderModal/DataEditor.js +4 -4
  39. package/dist/components/RenderModal/EnforceAudioTrackSetting.js +1 -1
  40. package/dist/components/RenderModal/EnvInput.js +1 -1
  41. package/dist/components/RenderModal/FrameRangeSetting.js +1 -1
  42. package/dist/components/RenderModal/MutedSetting.js +1 -1
  43. package/dist/components/RenderModal/NumberSetting.js +2 -2
  44. package/dist/components/RenderModal/OptionExplainer.js +1 -1
  45. package/dist/components/RenderModal/RenderModal.d.ts +41 -39
  46. package/dist/components/RenderModal/RenderModal.js +11 -9
  47. package/dist/components/RenderModal/RenderModalAdvanced.js +2 -2
  48. package/dist/components/RenderModal/RenderModalAudio.js +3 -3
  49. package/dist/components/RenderModal/RenderModalBasic.js +3 -3
  50. package/dist/components/RenderModal/RenderModalGif.js +1 -1
  51. package/dist/components/RenderModal/RenderModalJSONPropsEditor.js +2 -2
  52. package/dist/components/RenderModal/RenderModalOutputName.js +1 -1
  53. package/dist/components/RenderModal/RenderModalPicture.js +2 -2
  54. package/dist/components/RenderModal/RenderStatusModal.js +1 -1
  55. package/dist/components/RenderModal/ResolveCompositionBeforeModal.js +1 -1
  56. package/dist/components/RenderModal/SchemaEditor/SchemaEditor.js +2 -2
  57. package/dist/components/RenderModal/SchemaEditor/SchemaErrorMessages.js +1 -1
  58. package/dist/components/RenderModal/SchemaEditor/SchemaLabel.js +1 -1
  59. package/dist/components/RenderModal/SchemaEditor/ZodArrayEditor.d.ts +1 -1
  60. package/dist/components/RenderModal/SchemaEditor/ZodArrayEditor.js +3 -3
  61. package/dist/components/RenderModal/SchemaEditor/ZodArrayItemEditor.d.ts +1 -1
  62. package/dist/components/RenderModal/SchemaEditor/ZodBooleanEditor.d.ts +1 -1
  63. package/dist/components/RenderModal/SchemaEditor/ZodBooleanEditor.js +1 -1
  64. package/dist/components/RenderModal/SchemaEditor/ZodColorEditor.d.ts +1 -1
  65. package/dist/components/RenderModal/SchemaEditor/ZodColorEditor.js +3 -3
  66. package/dist/components/RenderModal/SchemaEditor/ZodDateEditor.d.ts +1 -1
  67. package/dist/components/RenderModal/SchemaEditor/ZodDateEditor.js +2 -2
  68. package/dist/components/RenderModal/SchemaEditor/ZodDefaultEditor.d.ts +1 -1
  69. package/dist/components/RenderModal/SchemaEditor/ZodDiscriminatedUnionEditor.d.ts +1 -1
  70. package/dist/components/RenderModal/SchemaEditor/ZodDiscriminatedUnionEditor.js +3 -3
  71. package/dist/components/RenderModal/SchemaEditor/ZodEffectEditor.d.ts +1 -1
  72. package/dist/components/RenderModal/SchemaEditor/ZodEffectEditor.js +1 -1
  73. package/dist/components/RenderModal/SchemaEditor/ZodEnumEditor.d.ts +1 -1
  74. package/dist/components/RenderModal/SchemaEditor/ZodEnumEditor.js +2 -2
  75. package/dist/components/RenderModal/SchemaEditor/ZodErrorMessages.js +1 -1
  76. package/dist/components/RenderModal/SchemaEditor/ZodNullableEditor.d.ts +1 -1
  77. package/dist/components/RenderModal/SchemaEditor/ZodNumberEditor.d.ts +1 -1
  78. package/dist/components/RenderModal/SchemaEditor/ZodNumberEditor.js +1 -1
  79. package/dist/components/RenderModal/SchemaEditor/ZodObjectEditor.d.ts +1 -1
  80. package/dist/components/RenderModal/SchemaEditor/ZodObjectEditor.js +2 -2
  81. package/dist/components/RenderModal/SchemaEditor/ZodOptionalEditor.d.ts +1 -1
  82. package/dist/components/RenderModal/SchemaEditor/ZodOrNullishEditor.d.ts +1 -1
  83. package/dist/components/RenderModal/SchemaEditor/ZodOrNullishEditor.js +2 -2
  84. package/dist/components/RenderModal/SchemaEditor/ZodStaticFileEditor.d.ts +1 -1
  85. package/dist/components/RenderModal/SchemaEditor/ZodStaticFileEditor.js +2 -2
  86. package/dist/components/RenderModal/SchemaEditor/ZodStringEditor.d.ts +1 -1
  87. package/dist/components/RenderModal/SchemaEditor/ZodStringEditor.js +2 -2
  88. package/dist/components/RenderModal/SchemaEditor/ZodTextareaEditor.d.ts +1 -1
  89. package/dist/components/RenderModal/SchemaEditor/ZodTextareaEditor.js +2 -2
  90. package/dist/components/RenderModal/SchemaEditor/ZodUnionEditor.d.ts +1 -1
  91. package/dist/components/RenderModal/SeparateAudioOption.js +2 -2
  92. package/dist/components/RenderQueue/RenderQueueRepeat.d.ts +1 -1
  93. package/dist/components/RenderQueue/RenderQueueRepeat.js +1 -1
  94. package/dist/components/RenderQueue/index.js +2 -2
  95. package/dist/components/RendersTab.js +1 -1
  96. package/dist/components/SidebarRenderButton.d.ts +2 -2
  97. package/dist/components/SidebarRenderButton.js +9 -1
  98. package/dist/components/Splitter/SplitterContainer.d.ts +7 -6
  99. package/dist/components/Splitter/SplitterContainer.js +3 -3
  100. package/dist/components/TimeValue.js +1 -1
  101. package/dist/components/Timeline/Timeline.js +2 -2
  102. package/dist/components/Timeline/TimelineDragHandler.js +2 -2
  103. package/dist/components/Timeline/TimelineSlider.js +2 -2
  104. package/dist/components/Timeline/TimelineStack/index.js +2 -2
  105. package/dist/components/Timeline/TimelineTimeIndicators.js +1 -1
  106. package/dist/components/Timeline/TimelineTracks.js +1 -1
  107. package/dist/components/Timeline/timeline-scroll-logic.js +1 -1
  108. package/dist/components/UpdateModal/UpdateModal.js +1 -1
  109. package/dist/error-overlay/remotion-overlay/ErrorDisplay.js +2 -2
  110. package/dist/error-overlay/remotion-overlay/StackFrame.js +1 -1
  111. package/dist/helpers/colors.d.ts +1 -1
  112. package/dist/helpers/get-location-of-sequence.d.ts +1 -1
  113. package/dist/helpers/retry-payload.js +3 -0
  114. package/dist/helpers/use-menu-structure.js +2 -2
  115. package/dist/previewEntry.js +1 -1
  116. package/dist/state/modals.d.ts +2 -0
  117. package/dist/state/sidebar.d.ts +1 -1
  118. package/package.json +10 -10
  119. package/tsconfig.tsbuildinfo +1 -1
  120. package/dist/components/NewComposition/CopyHint.d.ts +0 -2
  121. package/dist/components/NewComposition/CopyHint.js +0 -30
  122. package/dist/components/NewComposition/NewCompAspectRatio.d.ts +0 -7
  123. package/dist/components/NewComposition/NewCompAspectRatio.js +0 -20
  124. package/dist/components/NewComposition/NewCompCode.d.ts +0 -9
  125. package/dist/components/NewComposition/NewCompCode.js +0 -67
  126. package/dist/components/NewComposition/NewComposition.d.ts +0 -7
  127. package/dist/components/NewComposition/NewComposition.js +0 -163
  128. package/dist/components/NewComposition/ToggleAspectRatio.d.ts +0 -5
  129. package/dist/components/NewComposition/ToggleAspectRatio.js +0 -26
  130. package/dist/components/NewComposition/new-comp-layout.d.ts +0 -3
  131. package/dist/components/NewComposition/new-comp-layout.js +0 -12
  132. package/dist/components/PlayerEmitterContext.d.ts +0 -4
  133. package/dist/components/PlayerEmitterContext.js +0 -11
  134. package/dist/components/RenderModal/RenderModalInput.d.ts +0 -12
  135. package/dist/components/RenderModal/RenderModalInput.js +0 -13
  136. package/dist/icons/lock.d.ts +0 -4
  137. package/dist/icons/lock.js +0 -12
  138. package/dist/state/aspect-ratio-locked.d.ts +0 -2
  139. package/dist/state/aspect-ratio-locked.js +0 -16
package/.eslintrc CHANGED
@@ -1,35 +1,35 @@
1
1
  {
2
- "extends": "@jonny",
3
- "rules": {
4
- "no-console": "error",
5
- "no-restricted-imports": [
6
- "error",
7
- {
8
- "patterns": [
9
- "@remotion/*/src",
10
- "@remotion/*/src/*",
11
- "@remotion/*/dist/*",
12
- "remotion/src/*"
13
- ]
14
- }
15
- ],
16
- "@typescript-eslint/no-use-before-define": "off",
17
- "@typescript-eslint/no-restricted-imports": [
18
- "error",
19
- {
20
- "paths": [
21
- {
22
- "name": "zod",
23
- "message": "Can only import zod as a type",
24
- "allowTypeImports": true
25
- },
26
- {
27
- "name": "@remotion/zod-types",
28
- "message": "Can only import @remotion/zod-types as a type",
29
- "allowTypeImports": true
30
- }
31
- ]
32
- }
33
- ]
34
- }
2
+ "extends": "@jonny/eslint-config/react",
3
+ "rules": {
4
+ "no-console": "error",
5
+ "no-restricted-imports": [
6
+ "error",
7
+ {
8
+ "patterns": [
9
+ "@remotion/*/src",
10
+ "@remotion/*/src/*",
11
+ "@remotion/*/dist/*",
12
+ "remotion/src/*"
13
+ ]
14
+ }
15
+ ],
16
+ "@typescript-eslint/no-use-before-define": "off",
17
+ "@typescript-eslint/no-restricted-imports": [
18
+ "error",
19
+ {
20
+ "paths": [
21
+ {
22
+ "name": "zod",
23
+ "message": "Can only import zod as a type",
24
+ "allowTypeImports": true
25
+ },
26
+ {
27
+ "name": "@remotion/zod-types",
28
+ "message": "Can only import @remotion/zod-types as a type",
29
+ "allowTypeImports": true
30
+ }
31
+ ]
32
+ }
33
+ ]
34
+ }
35
35
  }
@@ -1,5 +1,4 @@
1
1
 
2
- 
3
- > @remotion/studio@4.0.135 build /Users/jonathanburger/remotion/packages/studio
2
+ > @remotion/studio@4.0.137 build /Users/jonathanburger/remotion/packages/studio
4
3
  > tsc -d
5
4
 
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  import type { AssetStructure } from '../helpers/create-folder-tree';
3
3
  export declare const AssetFolderTree: React.FC<{
4
- item: AssetStructure;
5
- name: string | null;
6
- parentFolder: string | null;
7
- level: number;
8
- tabIndex: number;
9
- toggleFolder: (folderName: string, parentName: string | null) => void;
10
- dropLocation: string | null;
11
- setDropLocation: React.Dispatch<React.SetStateAction<string | null>>;
4
+ readonly item: AssetStructure;
5
+ readonly name: string | null;
6
+ readonly parentFolder: string | null;
7
+ readonly level: number;
8
+ readonly tabIndex: number;
9
+ readonly toggleFolder: (folderName: string, parentName: string | null) => void;
10
+ readonly dropLocation: string | null;
11
+ readonly setDropLocation: React.Dispatch<React.SetStateAction<string | null>>;
12
12
  }>;
@@ -41,9 +41,9 @@ const file_1 = require("../icons/file");
41
41
  const folder_1 = require("../icons/folder");
42
42
  const sidebar_1 = require("../state/sidebar");
43
43
  const InlineAction_1 = require("./InlineAction");
44
- const layout_1 = require("./layout");
45
44
  const NotificationCenter_1 = require("./Notifications/NotificationCenter");
46
45
  const actions_1 = require("./RenderQueue/actions");
46
+ const layout_1 = require("./layout");
47
47
  const ASSET_ITEM_HEIGHT = 32;
48
48
  const iconStyle = {
49
49
  width: 18,
@@ -165,7 +165,13 @@ const AssetSelectorItem = ({ item, tabIndex, level, parentFolder }) => {
165
165
  if (isMobileLayout) {
166
166
  setSidebarCollapsedState({ left: 'collapsed', right: 'collapsed' });
167
167
  }
168
- }, [item.name, parentFolder, setCanvasContent]);
168
+ }, [
169
+ isMobileLayout,
170
+ item.name,
171
+ parentFolder,
172
+ setCanvasContent,
173
+ setSidebarCollapsedState,
174
+ ]);
169
175
  const style = (0, react_1.useMemo)(() => {
170
176
  return {
171
177
  ...itemStyle,
@@ -18,9 +18,9 @@ const editor_zoom_gestures_1 = require("../state/editor-zoom-gestures");
18
18
  const EditorGuides_1 = __importDefault(require("./EditorGuides"));
19
19
  const EditorRuler_1 = require("./EditorRuler");
20
20
  const use_is_ruler_visible_1 = require("./EditorRuler/use-is-ruler-visible");
21
- const layout_1 = require("./layout");
22
21
  const Preview_1 = require("./Preview");
23
22
  const ResetZoomButton_1 = require("./ResetZoomButton");
23
+ const layout_1 = require("./layout");
24
24
  const container = {
25
25
  flex: 1,
26
26
  display: 'flex',
@@ -9,12 +9,12 @@ const colors_1 = require("../helpers/colors");
9
9
  const timeline_zoom_1 = require("../state/timeline-zoom");
10
10
  const Canvas_1 = require("./Canvas");
11
11
  const FramePersistor_1 = require("./FramePersistor");
12
- const layout_1 = require("./layout");
13
12
  const styles_1 = require("./Menu/styles");
14
13
  const Spinner_1 = require("./Spinner");
15
14
  const imperative_state_1 = require("./Timeline/imperative-state");
16
15
  const timeline_scroll_logic_1 = require("./Timeline/timeline-scroll-logic");
17
16
  const ZoomPersistor_1 = require("./ZoomPersistor");
17
+ const layout_1 = require("./layout");
18
18
  const container = {
19
19
  color: 'white',
20
20
  flex: 1,
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  export declare const CheckerboardProvider: React.FC<{
3
- children: React.ReactNode;
3
+ readonly children: React.ReactNode;
4
4
  }>;
@@ -10,9 +10,9 @@ const still_1 = require("../icons/still");
10
10
  const video_1 = require("../icons/video");
11
11
  const modals_1 = require("../state/modals");
12
12
  const ContextMenu_1 = require("./ContextMenu");
13
- const layout_1 = require("./layout");
14
13
  const NotificationCenter_1 = require("./Notifications/NotificationCenter");
15
14
  const SidebarRenderButton_1 = require("./SidebarRenderButton");
15
+ const layout_1 = require("./layout");
16
16
  const COMPOSITION_ITEM_HEIGHT = 32;
17
17
  const itemStyle = {
18
18
  paddingRight: 10,
@@ -87,7 +87,7 @@ const ContextMenu = ({ children, values }) => {
87
87
  right: canOpenOnLeft ? size.windowSize.width - opened.left : 0,
88
88
  }),
89
89
  };
90
- }, [opened.type, size, isMobileLayout, spaceToTop, spaceToBottom]);
90
+ }, [opened, size, isMobileLayout, spaceToTop, spaceToBottom]);
91
91
  const onHide = (0, react_1.useCallback)(() => {
92
92
  setOpened({ type: 'not-open' });
93
93
  }, []);
@@ -5,8 +5,8 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const copy_text_1 = require("../helpers/copy-text");
7
7
  const Button_1 = require("./Button");
8
- const layout_1 = require("./layout");
9
8
  const NotificationCenter_1 = require("./Notifications/NotificationCenter");
9
+ const layout_1 = require("./layout");
10
10
  const iconStyle = {
11
11
  width: 16,
12
12
  height: 16,
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  export declare const BUFFER_STATE_DELAY_IN_MILLISECONDS: number;
3
3
  export declare const Editor: React.FC<{
4
- Root: React.FC;
5
- readOnlyStudio: boolean;
4
+ readonly Root: React.FC;
5
+ readonly readOnlyStudio: boolean;
6
6
  }>;
@@ -48,7 +48,7 @@ const DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS = 300;
48
48
  exports.BUFFER_STATE_DELAY_IN_MILLISECONDS = typeof process.env.BUFFER_STATE_DELAY_IN_MILLISECONDS === 'undefined'
49
49
  ? DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS
50
50
  : Number(process.env.BUFFER_STATE_DELAY_IN_MILLISECONDS);
51
- const Editor = ({ Root, readOnlyStudio, }) => {
51
+ const Editor = ({ Root, readOnlyStudio }) => {
52
52
  const drawRef = (0, react_1.useRef)(null);
53
53
  const size = player_1.PlayerInternals.useElementSize(drawRef, {
54
54
  triggerOnWindowResize: false,
@@ -1,9 +1,9 @@
1
1
  import type { Size } from '@remotion/player';
2
2
  import React from 'react';
3
3
  export declare const EditorContent: React.FC<{
4
- readOnlyStudio: boolean;
5
- onMounted: () => void;
6
- drawRef: React.RefObject<HTMLDivElement>;
7
- size: Size | null;
8
- bufferStateDelayInMilliseconds: number;
4
+ readonly readOnlyStudio: boolean;
5
+ readonly onMounted: () => void;
6
+ readonly drawRef: React.RefObject<HTMLDivElement>;
7
+ readonly size: Size | null;
8
+ readonly bufferStateDelayInMilliseconds: number;
9
9
  }>;
@@ -24,6 +24,6 @@ const EditorContent = ({ readOnlyStudio, onMounted, size, drawRef, bufferStateDe
24
24
  const { canvasContent } = (0, react_1.useContext)(remotion_1.Internals.CompositionManager);
25
25
  // Preventing multiple renders so the update check doesn't get rendered twice and needs to be aborted
26
26
  const onlyTopPanel = canvasContent === null || isStill || canvasContent.type !== 'composition';
27
- return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)(InitialCompositionLoader_1.InitialCompositionLoader, {}), (0, jsx_runtime_1.jsx)(MenuToolbar_1.MenuToolbar, { readOnlyStudio: readOnlyStudio }), onlyTopPanel ? ((0, jsx_runtime_1.jsx)(TopPanel_1.TopPanel, { size: size, drawRef: drawRef, bufferStateDelayInMilliseconds: bufferStateDelayInMilliseconds, onMounted: onMounted, readOnlyStudio: readOnlyStudio })) : ((0, jsx_runtime_1.jsxs)(SplitterContainer_1.SplitterContainer, { orientation: "horizontal", id: "top-to-bottom", maxFlex: 0.9, minFlex: 0.2, defaultFlex: 0.75, children: [(0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "flexer", children: (0, jsx_runtime_1.jsx)(TopPanel_1.TopPanel, { size: size, drawRef: drawRef, bufferStateDelayInMilliseconds: bufferStateDelayInMilliseconds, onMounted: onMounted, readOnlyStudio: readOnlyStudio }) }), (0, jsx_runtime_1.jsx)(SplitterHandle_1.SplitterHandle, { allowToCollapse: "none", onCollapse: noop }), (0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "anti-flexer", children: (0, jsx_runtime_1.jsx)(Timeline_1.Timeline, {}) })] }))] }));
27
+ return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)(InitialCompositionLoader_1.InitialCompositionLoader, {}), (0, jsx_runtime_1.jsx)(MenuToolbar_1.MenuToolbar, { readOnlyStudio: readOnlyStudio }), onlyTopPanel ? ((0, jsx_runtime_1.jsx)("div", { style: SplitterContainer_1.containerColumn, children: (0, jsx_runtime_1.jsx)(TopPanel_1.TopPanel, { size: size, drawRef: drawRef, bufferStateDelayInMilliseconds: bufferStateDelayInMilliseconds, onMounted: onMounted, readOnlyStudio: readOnlyStudio }) })) : ((0, jsx_runtime_1.jsxs)(SplitterContainer_1.SplitterContainer, { orientation: "horizontal", id: "top-to-bottom", maxFlex: 0.9, minFlex: 0.2, defaultFlex: 0.75, children: [(0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "flexer", children: (0, jsx_runtime_1.jsx)(TopPanel_1.TopPanel, { size: size, drawRef: drawRef, bufferStateDelayInMilliseconds: bufferStateDelayInMilliseconds, onMounted: onMounted, readOnlyStudio: readOnlyStudio }) }), (0, jsx_runtime_1.jsx)(SplitterHandle_1.SplitterHandle, { allowToCollapse: "none", onCollapse: noop }), (0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "anti-flexer", children: (0, jsx_runtime_1.jsx)(Timeline_1.Timeline, {}) })] }))] }));
28
28
  };
29
29
  exports.EditorContent = EditorContent;
@@ -4,8 +4,8 @@ exports.FilePreview = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const studio_shared_1 = require("@remotion/studio-shared");
6
6
  const JSONViewer_1 = require("./JSONViewer");
7
- const layout_1 = require("./layout");
8
7
  const TextViewer_1 = require("./TextViewer");
8
+ const layout_1 = require("./layout");
9
9
  const msgStyle = {
10
10
  fontSize: 13,
11
11
  color: 'white',
@@ -14,10 +14,10 @@ const use_keybinding_1 = require("../../helpers/use-keybinding");
14
14
  const caret_1 = require("../../icons/caret");
15
15
  const z_index_1 = require("../../state/z-index");
16
16
  const layout_1 = require("../layout");
17
+ const SubMenu_1 = require("./SubMenu");
17
18
  const is_menu_item_1 = require("./is-menu-item");
18
19
  const portals_1 = require("./portals");
19
20
  const styles_1 = require("./styles");
20
- const SubMenu_1 = require("./SubMenu");
21
21
  const container = {
22
22
  paddingTop: 8,
23
23
  paddingBottom: 8,
@@ -106,7 +106,7 @@ const MenuSubItem = ({ label, leaveLeftSpace, leftItem, onActionChosen, id, sele
106
106
  });
107
107
  }
108
108
  }, [selected]);
109
- return ((0, jsx_runtime_1.jsx)("div", { ref: ref, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, style: style, onPointerUp: onPointerUp, role: "button", className: is_menu_item_1.MENU_ITEM_CLASSNAME, children: (0, jsx_runtime_1.jsxs)(layout_1.Row, { align: "center", children: [leaveLeftSpace ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { style: leftSpace, children: leftItem }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 })] })) : null, (0, jsx_runtime_1.jsx)("div", { style: labelStyle, ...{ title: typeof label === 'string' ? label : undefined }, children: label }), ' ', (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }), subMenu ? (0, jsx_runtime_1.jsx)(caret_1.CaretRight, {}) : null, keyHint && !(0, use_keybinding_1.areKeyboardShortcutsDisabled)() ? ((0, jsx_runtime_1.jsx)("span", { style: keyHintCss, children: keyHint })) : null, portalStyle && subMenu
109
+ return ((0, jsx_runtime_1.jsx)("div", { ref: ref, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, style: style, onPointerUp: onPointerUp, role: "button", className: is_menu_item_1.MENU_ITEM_CLASSNAME, children: (0, jsx_runtime_1.jsxs)(layout_1.Row, { align: "center", children: [leaveLeftSpace ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { style: leftSpace, children: leftItem }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 })] })) : null, (0, jsx_runtime_1.jsx)("div", { style: labelStyle, title: typeof label === 'string' ? label : undefined, children: label }), ' ', (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }), subMenu ? (0, jsx_runtime_1.jsx)(caret_1.CaretRight, {}) : null, keyHint && !(0, use_keybinding_1.areKeyboardShortcutsDisabled)() ? ((0, jsx_runtime_1.jsx)("span", { style: keyHintCss, children: keyHint })) : null, portalStyle && subMenu
110
110
  ? react_dom_1.default.createPortal((0, jsx_runtime_1.jsx)(SubMenu_1.SubMenuComponent, { onQuitFullMenu: onQuitMenu, subMenu: subMenu, onQuitSubMenu: onQuitSubmenu, portalStyle: portalStyle, subMenuActivated: subMenuActivated }), (0, portals_1.getPortal)(currentZIndex))
111
111
  : null] }) }));
112
112
  };
@@ -4,9 +4,9 @@ exports.MenuBuildIndicator = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const client_id_1 = require("../helpers/client-id");
7
- const layout_1 = require("./layout");
8
7
  const OpenEditorButton_1 = require("./OpenEditorButton");
9
8
  const Spinner_1 = require("./Spinner");
9
+ const layout_1 = require("./layout");
10
10
  const cwd = {
11
11
  fontSize: 13,
12
12
  opacity: 0.8,
@@ -6,11 +6,11 @@ const react_1 = require("react");
6
6
  const colors_1 = require("../helpers/colors");
7
7
  const mobile_layout_1 = require("../helpers/mobile-layout");
8
8
  const use_menu_structure_1 = require("../helpers/use-menu-structure");
9
- const layout_1 = require("./layout");
10
9
  const MenuItem_1 = require("./Menu/MenuItem");
11
10
  const MenuBuildIndicator_1 = require("./MenuBuildIndicator");
12
11
  const SidebarCollapserControls_1 = require("./SidebarCollapserControls");
13
12
  const UpdateCheck_1 = require("./UpdateCheck");
13
+ const layout_1 = require("./layout");
14
14
  const row = {
15
15
  alignItems: 'center',
16
16
  flexDirection: 'row',
@@ -4,8 +4,8 @@ exports.NewCompHeader = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const modals_1 = require("../state/modals");
7
- const layout_1 = require("./layout");
8
7
  const CancelButton_1 = require("./NewComposition/CancelButton");
8
+ const layout_1 = require("./layout");
9
9
  const container = {
10
10
  display: 'flex',
11
11
  flexDirection: 'row',
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  export declare const Modals: React.FC<{
3
- readOnlyStudio: boolean;
3
+ readonly readOnlyStudio: boolean;
4
4
  }>;
@@ -19,7 +19,7 @@ const Modals = ({ readOnlyStudio }) => {
19
19
  const { selectedModal: modalContextType } = (0, react_1.useContext)(modals_1.ModalsContext);
20
20
  const canRender = (0, react_1.useContext)(client_id_1.StudioServerConnectionCtx).previewServerState.type ===
21
21
  'connected';
22
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [modalContextType && modalContextType.type === 'duplicate-comp' && ((0, jsx_runtime_1.jsx)(DuplicateComposition_1.DuplicateComposition, { compositionId: modalContextType.compositionId })), modalContextType && modalContextType.type === 'delete-comp' && ((0, jsx_runtime_1.jsx)(DeleteComposition_1.DeleteComposition, { compositionId: modalContextType.compositionId })), modalContextType && modalContextType.type === 'rename-comp' && ((0, jsx_runtime_1.jsx)(RenameComposition_1.RenameComposition, { compositionId: modalContextType.compositionId })), modalContextType && canRender && modalContextType.type === 'render' && ((0, jsx_runtime_1.jsx)(RenderModal_1.RenderModalWithLoader, { initialFrame: modalContextType.initialFrame, compositionId: modalContextType.compositionId, initialVideoImageFormat: modalContextType.initialVideoImageFormat, initialJpegQuality: modalContextType.initialJpegQuality, initialScale: modalContextType.initialScale, initialLogLevel: modalContextType.initialLogLevel, initialOffthreadVideoCacheSizeInBytes: modalContextType.initialOffthreadVideoCacheSizeInBytes, initialConcurrency: modalContextType.initialConcurrency, maxConcurrency: modalContextType.maxConcurrency, minConcurrency: modalContextType.minConcurrency, initialStillImageFormat: modalContextType.initialStillImageFormat, initialMuted: modalContextType.initialMuted, initialEnforceAudioTrack: modalContextType.initialEnforceAudioTrack, initialProResProfile: modalContextType.initialProResProfile, initialx264Preset: modalContextType.initialx264Preset, 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 })), modalContextType &&
22
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [modalContextType && modalContextType.type === 'duplicate-comp' && ((0, jsx_runtime_1.jsx)(DuplicateComposition_1.DuplicateComposition, { compositionId: modalContextType.compositionId })), modalContextType && modalContextType.type === 'delete-comp' && ((0, jsx_runtime_1.jsx)(DeleteComposition_1.DeleteComposition, { compositionId: modalContextType.compositionId })), modalContextType && modalContextType.type === 'rename-comp' && ((0, jsx_runtime_1.jsx)(RenameComposition_1.RenameComposition, { compositionId: modalContextType.compositionId })), modalContextType && canRender && modalContextType.type === 'render' && ((0, jsx_runtime_1.jsx)(RenderModal_1.RenderModalWithLoader, { initialFrame: modalContextType.initialFrame, compositionId: modalContextType.compositionId, initialVideoImageFormat: modalContextType.initialVideoImageFormat, initialJpegQuality: modalContextType.initialJpegQuality, initialScale: modalContextType.initialScale, initialLogLevel: modalContextType.initialLogLevel, initialOffthreadVideoCacheSizeInBytes: modalContextType.initialOffthreadVideoCacheSizeInBytes, initialConcurrency: modalContextType.initialConcurrency, maxConcurrency: modalContextType.maxConcurrency, minConcurrency: modalContextType.minConcurrency, initialStillImageFormat: modalContextType.initialStillImageFormat, initialMuted: modalContextType.initialMuted, initialEnforceAudioTrack: modalContextType.initialEnforceAudioTrack, initialProResProfile: modalContextType.initialProResProfile, initialx264Preset: modalContextType.initialx264Preset, 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 })), modalContextType &&
23
23
  canRender &&
24
24
  modalContextType.type === 'render-progress' && ((0, jsx_runtime_1.jsx)(RenderStatusModal_1.RenderStatusModal, { jobId: modalContextType.jobId })), modalContextType && modalContextType.type === 'update' && ((0, jsx_runtime_1.jsx)(UpdateModal_1.UpdateModal, { info: modalContextType.info, knownBugs: modalContextType.knownBugs })), modalContextType && modalContextType.type === 'quick-switcher' && ((0, jsx_runtime_1.jsx)(QuickSwitcher_1.default, { readOnlyStudio: readOnlyStudio, invocationTimestamp: modalContextType.invocationTimestamp, initialMode: modalContextType.mode }))] }));
25
25
  };
@@ -8,9 +8,9 @@ const colors_1 = require("../../helpers/colors");
8
8
  const use_keybinding_1 = require("../../helpers/use-keybinding");
9
9
  const modals_1 = require("../../state/modals");
10
10
  const Button_1 = require("../Button");
11
- const layout_1 = require("../layout");
12
11
  const NotificationCenter_1 = require("../Notifications/NotificationCenter");
13
12
  const actions_1 = require("../RenderQueue/actions");
13
+ const layout_1 = require("../layout");
14
14
  const DiffPreview_1 = require("./DiffPreview");
15
15
  const buttonStyle = {
16
16
  backgroundColor: colors_1.BLUE,
@@ -13,10 +13,10 @@ const mobile_layout_1 = require("../../helpers/mobile-layout");
13
13
  const noop_1 = require("../../helpers/noop");
14
14
  const caret_1 = require("../../icons/caret");
15
15
  const z_index_1 = require("../../state/z-index");
16
- const layout_1 = require("../layout");
17
16
  const is_menu_item_1 = require("../Menu/is-menu-item");
18
17
  const portals_1 = require("../Menu/portals");
19
18
  const styles_1 = require("../Menu/styles");
19
+ const layout_1 = require("../layout");
20
20
  const MenuContent_1 = require("./MenuContent");
21
21
  const container = {
22
22
  padding: '8px 10px',
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  export declare const DeleteComposition: React.FC<{
3
- compositionId: string;
3
+ readonly compositionId: string;
4
4
  }>;
@@ -26,7 +26,10 @@ const DeleteCompositionLoaded = ({ compositionId }) => {
26
26
  idToDelete: compositionId,
27
27
  };
28
28
  }, [compositionId]);
29
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ModalHeader_1.NewCompHeader, { title: 'Delete composition' }), (0, jsx_runtime_1.jsxs)("form", { children: [(0, jsx_runtime_1.jsxs)("div", { style: content, children: ["Do you want to delete the", ' ', (0, jsx_runtime_1.jsx)("code", { style: styles_1.inlineCodeSnippet, children: unresolved.durationInFrames === 1 ? `<Still>` : '<Composition>' }), ' ', "with ID ", '"', unresolved.id, '"', "?", (0, jsx_runtime_1.jsx)("br", {}), "The associated ", (0, jsx_runtime_1.jsx)("code", { style: styles_1.inlineCodeSnippet, children: "component" }), " will remain in your code."] }), (0, jsx_runtime_1.jsx)("div", { style: { ...content, borderTop: '1px solid black' }, children: (0, jsx_runtime_1.jsx)(CodemodFooter_1.CodemodFooter, { errorNotification: `Could not delete composition`, loadingNotification: 'Deleting', succeessNotifcation: `Deleted ${unresolved.id}`, genericSubmitLabel: `Delete`, submitLabel: ({ relativeRootPath }) => `Delete from ${relativeRootPath}`, codemod: codemod, valid: true }) })] })] }));
29
+ const onSubmit = (0, react_1.useCallback)((e) => {
30
+ e.preventDefault();
31
+ }, []);
32
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ModalHeader_1.NewCompHeader, { title: 'Delete composition' }), (0, jsx_runtime_1.jsxs)("form", { onSubmit: onSubmit, children: [(0, jsx_runtime_1.jsxs)("div", { style: content, children: ["Do you want to delete the", ' ', (0, jsx_runtime_1.jsx)("code", { style: styles_1.inlineCodeSnippet, children: unresolved.durationInFrames === 1 ? `<Still>` : '<Composition>' }), ' ', "with ID ", '"', unresolved.id, '"', "?", (0, jsx_runtime_1.jsx)("br", {}), "The associated ", (0, jsx_runtime_1.jsx)("code", { style: styles_1.inlineCodeSnippet, children: "component" }), " will remain in your code."] }), (0, jsx_runtime_1.jsx)("div", { style: { ...content, borderTop: '1px solid black' }, children: (0, jsx_runtime_1.jsx)(CodemodFooter_1.CodemodFooter, { errorNotification: `Could not delete composition`, loadingNotification: 'Deleting', succeessNotifcation: `Deleted ${unresolved.id}`, genericSubmitLabel: `Delete`, submitLabel: ({ relativeRootPath }) => `Delete from ${relativeRootPath}`, codemod: codemod, valid: true }) })] })] }));
30
33
  };
31
34
  const DeleteComposition = ({ compositionId }) => {
32
35
  return ((0, jsx_runtime_1.jsx)(DismissableModal_1.DismissableModal, { children: (0, jsx_runtime_1.jsx)(ResolveCompositionBeforeModal_1.ResolveCompositionBeforeModal, { compositionId: compositionId, children: (0, jsx_runtime_1.jsx)(DeleteCompositionLoaded, { compositionId: compositionId }) }) }));
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  export declare const DuplicateComposition: React.FC<{
3
- compositionId: string;
3
+ readonly compositionId: string;
4
4
  }>;
@@ -5,10 +5,10 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const remotion_1 = require("remotion");
7
7
  const validate_new_comp_data_1 = require("../../helpers/validate-new-comp-data");
8
- const layout_1 = require("../layout");
9
8
  const ModalHeader_1 = require("../ModalHeader");
10
- const layout_2 = require("../RenderModal/layout");
11
9
  const ResolveCompositionBeforeModal_1 = require("../RenderModal/ResolveCompositionBeforeModal");
10
+ const layout_1 = require("../RenderModal/layout");
11
+ const layout_2 = require("../layout");
12
12
  const CodemodFooter_1 = require("./CodemodFooter");
13
13
  const ComboBox_1 = require("./ComboBox");
14
14
  const DismissableModal_1 = require("./DismissableModal");
@@ -166,10 +166,13 @@ const DuplicateCompositionLoaded = () => {
166
166
  size.width,
167
167
  type,
168
168
  ]);
169
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ModalHeader_1.NewCompHeader, { title: `Duplicate ${resolved.result.id}` }), (0, jsx_runtime_1.jsxs)("form", { children: [(0, jsx_runtime_1.jsxs)("div", { style: content, children: [initialCompType === 'composition' ? (
169
+ const onSubmit = (0, react_1.useCallback)((e) => {
170
+ e.preventDefault();
171
+ }, []);
172
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ModalHeader_1.NewCompHeader, { title: `Duplicate ${resolved.result.id}` }), (0, jsx_runtime_1.jsxs)("form", { onSubmit: onSubmit, children: [(0, jsx_runtime_1.jsxs)("div", { style: content, children: [initialCompType === 'composition' ? (
170
173
  // We allow converting from a composition to a still, but
171
174
  // not the other way around
172
- (0, jsx_runtime_1.jsxs)("div", { style: layout_2.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_2.label, children: "Type" }), (0, jsx_runtime_1.jsx)("div", { style: layout_2.rightRow, children: (0, jsx_runtime_1.jsx)(ComboBox_1.Combobox, { title: "Type of composition", style: comboBoxStyle, values: typeValues, selectedId: type }) })] })) : null, (0, jsx_runtime_1.jsxs)("div", { style: layout_2.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_2.label, children: "ID" }), (0, jsx_runtime_1.jsx)("div", { style: layout_2.rightRow, children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(RemInput_1.RemotionInput, { value: newId, onChange: onNameChange, type: "text", autoFocus: true, placeholder: "Composition ID", status: "ok", rightAlign: true }), compNameErrMessage ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1, block: true }), (0, jsx_runtime_1.jsx)(ValidationMessage_1.ValidationMessage, { align: "flex-start", message: compNameErrMessage, type: "error" })] })) : null] }) })] }), hadDimensionsDefined ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { style: layout_2.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_2.label, children: "Width" }), (0, jsx_runtime_1.jsxs)("div", { style: layout_2.rightRow, children: [(0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { type: "number", value: size.width, placeholder: "Width", onTextChange: onWidthChanged, name: "width", step: 2, min: 2, required: true, status: "ok", formatter: (w) => `${w}px`, max: 100000000, onValueChange: onWidthDirectlyChanged, rightAlign: false }), compWidthErrMessage ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1, block: true }), (0, jsx_runtime_1.jsx)(ValidationMessage_1.ValidationMessage, { align: "flex-start", message: compWidthErrMessage, type: "error" })] })) : null] })] }), (0, jsx_runtime_1.jsxs)("div", { style: layout_2.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_2.label, children: "Height" }), (0, jsx_runtime_1.jsxs)("div", { style: layout_2.rightRow, children: [(0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { type: "number", value: size.height, onTextChange: onHeightChanged, placeholder: "Height", name: "height", step: 2, required: true, formatter: (h) => `${h}px`, min: 2, status: "ok", max: 100000000, onValueChange: onHeightDirectlyChanged, rightAlign: false }), compHeightErrMessage ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1, block: true }), (0, jsx_runtime_1.jsx)(ValidationMessage_1.ValidationMessage, { align: "flex-start", message: compHeightErrMessage, type: "error" })] })) : null] })] })] })) : null, type === 'composition' && hadDurationDefined ? ((0, jsx_runtime_1.jsx)(NewCompDuration_1.NewCompDuration, { durationInFrames: durationInFrames, setDurationInFrames: setDurationInFrames })) : null, type === 'composition' && hadFpsDefined ? ((0, jsx_runtime_1.jsxs)("div", { style: layout_2.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_2.label, children: "FPS" }), (0, jsx_runtime_1.jsx)("div", { style: layout_2.rightRow, children: (0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { type: "number", value: selectedFrameRate, onTextChange: onTextFpsChange, placeholder: "Frame rate (fps)", name: "fps", min: 1, required: true, status: "ok", max: 240, step: 0.01, onValueChange: onFpsChange, rightAlign: false }) })] })) : null] }), (0, jsx_runtime_1.jsx)("div", { style: { ...content, borderTop: '1px solid black' }, children: (0, jsx_runtime_1.jsx)(CodemodFooter_1.CodemodFooter, { loadingNotification: 'Duplicating...', errorNotification: 'Could not duplicate composition', succeessNotifcation: `Duplicated ${unresolved.id}`, genericSubmitLabel: 'Duplicate', submitLabel: ({ relativeRootPath }) => `Add to ${relativeRootPath}`, codemod: codemod, valid: valid }) })] })] }));
175
+ (0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Type" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(ComboBox_1.Combobox, { title: "Type of composition", style: comboBoxStyle, values: typeValues, selectedId: type }) })] })) : null, (0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "ID" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(RemInput_1.RemotionInput, { value: newId, onChange: onNameChange, type: "text", autoFocus: true, placeholder: "Composition ID", status: "ok", rightAlign: true }), compNameErrMessage ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_2.Spacing, { y: 1, block: true }), (0, jsx_runtime_1.jsx)(ValidationMessage_1.ValidationMessage, { align: "flex-start", message: compNameErrMessage, type: "error" })] })) : null] }) })] }), hadDimensionsDefined ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Width" }), (0, jsx_runtime_1.jsxs)("div", { style: layout_1.rightRow, children: [(0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { type: "number", value: size.width, placeholder: "Width", onTextChange: onWidthChanged, name: "width", step: 2, min: 2, required: true, status: "ok", formatter: (w) => `${w}px`, max: 100000000, onValueChange: onWidthDirectlyChanged, rightAlign: false }), compWidthErrMessage ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_2.Spacing, { y: 1, block: true }), (0, jsx_runtime_1.jsx)(ValidationMessage_1.ValidationMessage, { align: "flex-start", message: compWidthErrMessage, type: "error" })] })) : null] })] }), (0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Height" }), (0, jsx_runtime_1.jsxs)("div", { style: layout_1.rightRow, children: [(0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { type: "number", value: size.height, onTextChange: onHeightChanged, placeholder: "Height", name: "height", step: 2, required: true, formatter: (h) => `${h}px`, min: 2, status: "ok", max: 100000000, onValueChange: onHeightDirectlyChanged, rightAlign: false }), compHeightErrMessage ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_2.Spacing, { y: 1, block: true }), (0, jsx_runtime_1.jsx)(ValidationMessage_1.ValidationMessage, { align: "flex-start", message: compHeightErrMessage, type: "error" })] })) : null] })] })] })) : null, type === 'composition' && hadDurationDefined ? ((0, jsx_runtime_1.jsx)(NewCompDuration_1.NewCompDuration, { durationInFrames: durationInFrames, setDurationInFrames: setDurationInFrames })) : null, type === 'composition' && hadFpsDefined ? ((0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "FPS" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { type: "number", value: selectedFrameRate, onTextChange: onTextFpsChange, placeholder: "Frame rate (fps)", name: "fps", min: 1, required: true, status: "ok", max: 240, step: 0.01, onValueChange: onFpsChange, rightAlign: false }) })] })) : null] }), (0, jsx_runtime_1.jsx)("div", { style: { ...content, borderTop: '1px solid black' }, children: (0, jsx_runtime_1.jsx)(CodemodFooter_1.CodemodFooter, { loadingNotification: 'Duplicating...', errorNotification: 'Could not duplicate composition', succeessNotifcation: `Duplicated ${unresolved.id}`, genericSubmitLabel: 'Duplicate', submitLabel: ({ relativeRootPath }) => `Add to ${relativeRootPath}`, codemod: codemod, valid: valid }) })] })] }));
173
176
  };
174
177
  const DuplicateComposition = ({ compositionId }) => {
175
178
  return ((0, jsx_runtime_1.jsx)(DismissableModal_1.DismissableModal, { children: (0, jsx_runtime_1.jsx)(ResolveCompositionBeforeModal_1.ResolveCompositionBeforeModal, { compositionId: compositionId, children: (0, jsx_runtime_1.jsx)(DuplicateCompositionLoaded, {}) }) }));
@@ -6,9 +6,9 @@ const react_1 = require("react");
6
6
  const colors_1 = require("../../helpers/colors");
7
7
  const mobile_layout_1 = require("../../helpers/mobile-layout");
8
8
  const use_keybinding_1 = require("../../helpers/use-keybinding");
9
- const is_menu_item_1 = require("../Menu/is-menu-item");
10
9
  const MenuDivider_1 = require("../Menu/MenuDivider");
11
10
  const MenuSubItem_1 = require("../Menu/MenuSubItem");
11
+ const is_menu_item_1 = require("../Menu/is-menu-item");
12
12
  const styles_1 = require("../Menu/styles");
13
13
  const BORDER_SIZE = 1;
14
14
  const container = {
@@ -4,8 +4,8 @@ exports.NewCompDuration = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const validate_new_comp_data_1 = require("../../helpers/validate-new-comp-data");
7
- const layout_1 = require("../layout");
8
- const layout_2 = require("../RenderModal/layout");
7
+ const layout_1 = require("../RenderModal/layout");
8
+ const layout_2 = require("../layout");
9
9
  const InputDragger_1 = require("./InputDragger");
10
10
  const ValidationMessage_1 = require("./ValidationMessage");
11
11
  const NewCompDuration = ({ durationInFrames, setDurationInFrames }) => {
@@ -16,8 +16,8 @@ const NewCompDuration = ({ durationInFrames, setDurationInFrames }) => {
16
16
  setDurationInFrames(newVal);
17
17
  }, [setDurationInFrames]);
18
18
  const compDurationErrMessage = (0, validate_new_comp_data_1.validateCompositionDuration)(durationInFrames);
19
- return ((0, jsx_runtime_1.jsxs)("div", { style: layout_2.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_2.label, children: "Duration in frames" }), (0, jsx_runtime_1.jsxs)("div", { style: layout_2.rightRow, children: [(0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { type: "number", value: durationInFrames, onTextChange: onDurationInFramesChanged, placeholder: "Duration (frames)", name: "durationInFrames", min: 1, step: 1, required: true, status: "ok",
19
+ return ((0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Duration in frames" }), (0, jsx_runtime_1.jsxs)("div", { style: layout_1.rightRow, children: [(0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { type: "number", value: durationInFrames, onTextChange: onDurationInFramesChanged, placeholder: "Duration (frames)", name: "durationInFrames", min: 1, step: 1, required: true, status: "ok",
20
20
  // Hitting Promise.all() limit in Chrome
21
- max: 300000, onValueChange: onDurationChangedDirectly, rightAlign: false }), compDurationErrMessage ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1, block: true }), (0, jsx_runtime_1.jsx)(ValidationMessage_1.ValidationMessage, { align: "flex-start", message: compDurationErrMessage, type: "error" })] })) : null] })] }));
21
+ max: 300000, onValueChange: onDurationChangedDirectly, rightAlign: false }), compDurationErrMessage ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_2.Spacing, { y: 1, block: true }), (0, jsx_runtime_1.jsx)(ValidationMessage_1.ValidationMessage, { align: "flex-start", message: compDurationErrMessage, type: "error" })] })) : null] })] }));
22
22
  };
23
23
  exports.NewCompDuration = NewCompDuration;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  export declare const RenameComposition: React.FC<{
3
- compositionId: string;
3
+ readonly compositionId: string;
4
4
  }>;
@@ -5,10 +5,10 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const remotion_1 = require("remotion");
7
7
  const validate_new_comp_data_1 = require("../../helpers/validate-new-comp-data");
8
- const layout_1 = require("../layout");
9
8
  const ModalHeader_1 = require("../ModalHeader");
10
- const layout_2 = require("../RenderModal/layout");
11
9
  const ResolveCompositionBeforeModal_1 = require("../RenderModal/ResolveCompositionBeforeModal");
10
+ const layout_1 = require("../RenderModal/layout");
11
+ const layout_2 = require("../layout");
12
12
  const CodemodFooter_1 = require("./CodemodFooter");
13
13
  const DismissableModal_1 = require("./DismissableModal");
14
14
  const RemInput_1 = require("./RemInput");
@@ -44,7 +44,10 @@ const RenameCompositionLoaded = () => {
44
44
  newId,
45
45
  };
46
46
  }, [newId, resolved.result.id]);
47
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ModalHeader_1.NewCompHeader, { title: `Rename ${resolved.result.id}` }), (0, jsx_runtime_1.jsxs)("form", { children: [(0, jsx_runtime_1.jsx)("div", { style: content, children: (0, jsx_runtime_1.jsxs)("div", { style: layout_2.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_2.label, children: "ID" }), (0, jsx_runtime_1.jsx)("div", { style: layout_2.rightRow, children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(RemInput_1.RemotionInput, { value: newId, onChange: onNameChange, type: "text", autoFocus: true, placeholder: "Composition ID", status: "ok", rightAlign: true }), compNameErrMessage ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 1, block: true }), (0, jsx_runtime_1.jsx)(ValidationMessage_1.ValidationMessage, { align: "flex-start", message: compNameErrMessage, type: "error" })] })) : null] }) })] }) }), (0, jsx_runtime_1.jsx)("div", { style: { ...content, borderTop: '1px solid black' }, children: (0, jsx_runtime_1.jsx)(CodemodFooter_1.CodemodFooter, { loadingNotification: 'Renaming...', errorNotification: 'Could not rename composition', succeessNotifcation: `Renamed to ${newId}`, genericSubmitLabel: 'Rename', submitLabel: ({ relativeRootPath }) => `Modify ${relativeRootPath}`, codemod: codemod, valid: valid }) })] })] }));
47
+ const onSubmit = (0, react_1.useCallback)((e) => {
48
+ e.preventDefault();
49
+ }, []);
50
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ModalHeader_1.NewCompHeader, { title: `Rename ${resolved.result.id}` }), (0, jsx_runtime_1.jsxs)("form", { onSubmit: onSubmit, children: [(0, jsx_runtime_1.jsx)("div", { style: content, children: (0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "ID" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(RemInput_1.RemotionInput, { value: newId, onChange: onNameChange, type: "text", autoFocus: true, placeholder: "Composition ID", status: "ok", rightAlign: true }), compNameErrMessage ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_2.Spacing, { y: 1, block: true }), (0, jsx_runtime_1.jsx)(ValidationMessage_1.ValidationMessage, { align: "flex-start", message: compNameErrMessage, type: "error" })] })) : null] }) })] }) }), (0, jsx_runtime_1.jsx)("div", { style: { ...content, borderTop: '1px solid black' }, children: (0, jsx_runtime_1.jsx)(CodemodFooter_1.CodemodFooter, { loadingNotification: 'Renaming...', errorNotification: 'Could not rename composition', succeessNotifcation: `Renamed to ${newId}`, genericSubmitLabel: 'Rename', submitLabel: ({ relativeRootPath }) => `Modify ${relativeRootPath}`, codemod: codemod, valid: valid }) })] })] }));
48
51
  };
49
52
  const RenameComposition = ({ compositionId }) => {
50
53
  return ((0, jsx_runtime_1.jsx)(DismissableModal_1.DismissableModal, { children: (0, jsx_runtime_1.jsx)(ResolveCompositionBeforeModal_1.ResolveCompositionBeforeModal, { compositionId: compositionId, children: (0, jsx_runtime_1.jsx)(RenameCompositionLoaded, {}) }) }));
@@ -40,7 +40,7 @@ const ServerDisconnected = () => {
40
40
  const { previewServerState: ctx } = (0, react_1.useContext)(client_id_1.StudioServerConnectionCtx);
41
41
  const fav = document.getElementById('__remotion_favicon');
42
42
  if (ctx.type !== 'disconnected') {
43
- fav.setAttribute('href', '/remotion.png');
43
+ fav.setAttribute('href', '/favicon.ico');
44
44
  return null;
45
45
  }
46
46
  if (pageIsGoingToReload) {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  export declare const PlayPause: React.FC<{
3
- playbackRate: number;
4
- loop: boolean;
5
- bufferStateDelayInMilliseconds: number;
3
+ readonly playbackRate: number;
4
+ readonly loop: boolean;
5
+ readonly bufferStateDelayInMilliseconds: number;
6
6
  }>;
@@ -235,7 +235,7 @@ const PlayPause = ({ playbackRate, loop, bufferStateDelayInMilliseconds }) => {
235
235
  }
236
236
  stopped = true;
237
237
  };
238
- }, [emitter]);
238
+ }, [bufferStateDelayInMilliseconds, emitter]);
239
239
  return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ControlButton_1.ControlButton, { "aria-label": "Jump to beginning", title: "Jump to beginning", disabled: !videoConfig || isFirstFrame, onClick: jumpToStart, children: (0, jsx_runtime_1.jsx)(jump_to_start_1.JumpToStart, { style: backStyle }) }), (0, jsx_runtime_1.jsx)(ControlButton_1.ControlButton, { "aria-label": "Step back one frame", title: "Step back one frame", disabled: !videoConfig || isFirstFrame, onClick: oneFrameBack, children: (0, jsx_runtime_1.jsx)(step_back_1.StepBack, { style: forwardBackStyle }) }), (0, jsx_runtime_1.jsx)(ControlButton_1.ControlButton, { "aria-label": playing ? 'Pause' : 'Play', title: playing ? 'Pause' : 'Play', onClick: playing ? pause : play, disabled: !videoConfig, children: playing ? (showBufferIndicator ? ((0, jsx_runtime_1.jsx)(player_1.PlayerInternals.BufferingIndicator, { type: "studio" })) : ((0, jsx_runtime_1.jsx)(pause_1.Pause, { style: iconButton }))) : ((0, jsx_runtime_1.jsx)(play_1.Play, { style: iconButton })) }), (0, jsx_runtime_1.jsx)(ControlButton_1.ControlButton, { "aria-label": "Step forward one frame", title: "Step forward one frame", disabled: !videoConfig || isLastFrame, onClick: oneFrameForward, children: (0, jsx_runtime_1.jsx)(step_forward_1.StepForward, { style: forwardBackStyle }) })] }));
240
240
  };
241
241
  exports.PlayPause = PlayPause;
@@ -11,17 +11,17 @@ const loop_1 = require("../state/loop");
11
11
  const CheckboardToggle_1 = require("./CheckboardToggle");
12
12
  const FpsCounter_1 = require("./FpsCounter");
13
13
  const FullscreenToggle_1 = require("./FullscreenToggle");
14
- const layout_1 = require("./layout");
15
14
  const LoopToggle_1 = require("./LoopToggle");
16
15
  const MuteToggle_1 = require("./MuteToggle");
16
+ const PlayPause_1 = require("./PlayPause");
17
17
  const PlaybackKeyboardShortcutsManager_1 = require("./PlaybackKeyboardShortcutsManager");
18
18
  const PlaybackRatePersistor_1 = require("./PlaybackRatePersistor");
19
19
  const PlaybackRateSelector_1 = require("./PlaybackRateSelector");
20
- const PlayPause_1 = require("./PlayPause");
21
20
  const RenderButton_1 = require("./RenderButton");
22
21
  const SizeSelector_1 = require("./SizeSelector");
23
22
  const TimelineZoomControls_1 = require("./Timeline/TimelineZoomControls");
24
23
  const TimelineInOutToggle_1 = require("./TimelineInOutToggle");
24
+ const layout_1 = require("./layout");
25
25
  const container = {
26
26
  display: 'flex',
27
27
  justifyContent: 'center',
@@ -12,14 +12,14 @@ const modals_1 = require("../../state/modals");
12
12
  const CompositionSelector_1 = require("../CompositionSelector");
13
13
  const InitialCompositionLoader_1 = require("../InitialCompositionLoader");
14
14
  const KeyboardShortcutsExplainer_1 = require("../KeyboardShortcutsExplainer");
15
- const layout_1 = require("../layout");
16
15
  const is_menu_item_1 = require("../Menu/is-menu-item");
17
16
  const RemInput_1 = require("../NewComposition/RemInput");
18
- const algolia_search_1 = require("./algolia-search");
17
+ const layout_1 = require("../layout");
19
18
  const AlgoliaCredit_1 = require("./AlgoliaCredit");
20
- const fuzzy_search_1 = require("./fuzzy-search");
21
19
  const NoResults_1 = require("./NoResults");
22
20
  const QuickSwitcherResult_1 = require("./QuickSwitcherResult");
21
+ const algolia_search_1 = require("./algolia-search");
22
+ const fuzzy_search_1 = require("./fuzzy-search");
23
23
  const input = {
24
24
  width: '100%',
25
25
  };