@remotion/cli 3.3.78 → 3.3.79

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 (175) hide show
  1. package/dist/better-opn/index.d.ts +6 -0
  2. package/dist/better-opn/index.js +202 -0
  3. package/dist/editor/helpers/get-timeline-sequence-layout.js +1 -1
  4. package/dist/handle-common-errors.js +16 -0
  5. package/dist/parse-command-line.d.ts +2 -0
  6. package/dist/preview.js +8 -3
  7. package/package.json +7 -7
  8. package/dist/convert-entry-point-to-serve-url.d.ts +0 -1
  9. package/dist/convert-entry-point-to-serve-url.js +0 -15
  10. package/dist/editor/components/Checkbox.d.ts +0 -6
  11. package/dist/editor/components/Checkbox.js +0 -41
  12. package/dist/editor/components/CollapsableOptions.d.ts +0 -6
  13. package/dist/editor/components/CollapsableOptions.js +0 -35
  14. package/dist/editor/components/CurrentCompositionSideEffects.d.ts +0 -3
  15. package/dist/editor/components/CurrentCompositionSideEffects.js +0 -43
  16. package/dist/editor/components/InlineAction.d.ts +0 -5
  17. package/dist/editor/components/InlineAction.js +0 -34
  18. package/dist/editor/components/Modals.d.ts +0 -2
  19. package/dist/editor/components/Modals.js +0 -23
  20. package/dist/editor/components/RenderButton.d.ts +0 -6
  21. package/dist/editor/components/RenderButton.js +0 -68
  22. package/dist/editor/components/RenderModal/CrfSetting.d.ts +0 -15
  23. package/dist/editor/components/RenderModal/CrfSetting.js +0 -43
  24. package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.d.ts +0 -6
  25. package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.js +0 -14
  26. package/dist/editor/components/RenderModal/FrameRangeSetting.d.ts +0 -8
  27. package/dist/editor/components/RenderModal/FrameRangeSetting.js +0 -42
  28. package/dist/editor/components/RenderModal/InfoBubble.d.ts +0 -5
  29. package/dist/editor/components/RenderModal/InfoBubble.js +0 -111
  30. package/dist/editor/components/RenderModal/InfoTooltip.d.ts +0 -4
  31. package/dist/editor/components/RenderModal/InfoTooltip.js +0 -30
  32. package/dist/editor/components/RenderModal/MutedSetting.d.ts +0 -6
  33. package/dist/editor/components/RenderModal/MutedSetting.js +0 -14
  34. package/dist/editor/components/RenderModal/NumberOfLoopsSetting.d.ts +0 -5
  35. package/dist/editor/components/RenderModal/NumberOfLoopsSetting.js +0 -26
  36. package/dist/editor/components/RenderModal/NumberSetting.d.ts +0 -12
  37. package/dist/editor/components/RenderModal/NumberSetting.js +0 -29
  38. package/dist/editor/components/RenderModal/OptionExplainer.d.ts +0 -5
  39. package/dist/editor/components/RenderModal/OptionExplainer.js +0 -21
  40. package/dist/editor/components/RenderModal/QualitySetting.d.ts +0 -5
  41. package/dist/editor/components/RenderModal/QualitySetting.js +0 -27
  42. package/dist/editor/components/RenderModal/RenderErrorModal.d.ts +0 -5
  43. package/dist/editor/components/RenderModal/RenderErrorModal.js +0 -64
  44. package/dist/editor/components/RenderModal/RenderModal.d.ts +0 -29
  45. package/dist/editor/components/RenderModal/RenderModal.js +0 -488
  46. package/dist/editor/components/RenderModal/RenderModalAdvanced.d.ts +0 -15
  47. package/dist/editor/components/RenderModal/RenderModalAdvanced.js +0 -22
  48. package/dist/editor/components/RenderModal/RenderModalAudio.d.ts +0 -17
  49. package/dist/editor/components/RenderModal/RenderModalAudio.js +0 -41
  50. package/dist/editor/components/RenderModal/RenderModalBasic.d.ts +0 -22
  51. package/dist/editor/components/RenderModal/RenderModalBasic.js +0 -78
  52. package/dist/editor/components/RenderModal/RenderModalGif.d.ts +0 -9
  53. package/dist/editor/components/RenderModal/RenderModalGif.js +0 -16
  54. package/dist/editor/components/RenderModal/RenderModalHr.d.ts +0 -2
  55. package/dist/editor/components/RenderModal/RenderModalHr.js +0 -18
  56. package/dist/editor/components/RenderModal/RenderModalPicture.d.ts +0 -28
  57. package/dist/editor/components/RenderModal/RenderModalPicture.js +0 -51
  58. package/dist/editor/components/RenderModal/ScaleSetting.d.ts +0 -5
  59. package/dist/editor/components/RenderModal/ScaleSetting.js +0 -14
  60. package/dist/editor/components/RenderModal/human-readable-audio-codecs.d.ts +0 -2
  61. package/dist/editor/components/RenderModal/human-readable-audio-codecs.js +0 -18
  62. package/dist/editor/components/RenderModal/human-readable-codec.d.ts +0 -2
  63. package/dist/editor/components/RenderModal/human-readable-codec.js +0 -36
  64. package/dist/editor/components/RenderModal/layout.d.ts +0 -5
  65. package/dist/editor/components/RenderModal/layout.js +0 -31
  66. package/dist/editor/components/RenderQueue/CircularProgress.d.ts +0 -5
  67. package/dist/editor/components/RenderQueue/CircularProgress.js +0 -18
  68. package/dist/editor/components/RenderQueue/RenderQueueError.d.ts +0 -5
  69. package/dist/editor/components/RenderQueue/RenderQueueError.js +0 -26
  70. package/dist/editor/components/RenderQueue/RenderQueueItem.d.ts +0 -5
  71. package/dist/editor/components/RenderQueue/RenderQueueItem.js +0 -40
  72. package/dist/editor/components/RenderQueue/RenderQueueItemCancelButton.d.ts +0 -5
  73. package/dist/editor/components/RenderQueue/RenderQueueItemCancelButton.js +0 -22
  74. package/dist/editor/components/RenderQueue/RenderQueueItemStatus.d.ts +0 -5
  75. package/dist/editor/components/RenderQueue/RenderQueueItemStatus.js +0 -27
  76. package/dist/editor/components/RenderQueue/RenderQueueOpenInFolder.d.ts +0 -5
  77. package/dist/editor/components/RenderQueue/RenderQueueOpenInFolder.js +0 -22
  78. package/dist/editor/components/RenderQueue/RenderQueueOutputName.d.ts +0 -5
  79. package/dist/editor/components/RenderQueue/RenderQueueOutputName.js +0 -24
  80. package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.d.ts +0 -5
  81. package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.js +0 -27
  82. package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.d.ts +0 -5
  83. package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.js +0 -23
  84. package/dist/editor/components/RenderQueue/RenderQueueRepeat.d.ts +0 -5
  85. package/dist/editor/components/RenderQueue/RenderQueueRepeat.js +0 -22
  86. package/dist/editor/components/RenderQueue/actions.d.ts +0 -50
  87. package/dist/editor/components/RenderQueue/actions.js +0 -99
  88. package/dist/editor/components/RenderQueue/context.d.ts +0 -19
  89. package/dist/editor/components/RenderQueue/context.js +0 -56
  90. package/dist/editor/components/RenderQueue/index.d.ts +0 -2
  91. package/dist/editor/components/RenderQueue/index.js +0 -18
  92. package/dist/editor/components/RenderQueue/item-style.d.ts +0 -2
  93. package/dist/editor/components/RenderQueue/item-style.js +0 -21
  94. package/dist/editor/components/RenderToolbarIcon.d.ts +0 -2
  95. package/dist/editor/components/RenderToolbarIcon.js +0 -79
  96. package/dist/editor/components/RendersTab.d.ts +0 -6
  97. package/dist/editor/components/RendersTab.js +0 -43
  98. package/dist/editor/components/SegmentedControl.d.ts +0 -16
  99. package/dist/editor/components/SegmentedControl.js +0 -63
  100. package/dist/editor/components/SidebarContent.d.ts +0 -5
  101. package/dist/editor/components/SidebarContent.js +0 -52
  102. package/dist/editor/components/Tabs/index.d.ts +0 -11
  103. package/dist/editor/components/Tabs/index.js +0 -51
  104. package/dist/editor/helpers/client-id.d.ts +0 -17
  105. package/dist/editor/helpers/client-id.js +0 -46
  106. package/dist/editor/helpers/prores-labels.d.ts +0 -2
  107. package/dist/editor/helpers/prores-labels.js +0 -25
  108. package/dist/editor/helpers/render-modal-sections.d.ts +0 -10
  109. package/dist/editor/helpers/render-modal-sections.js +0 -32
  110. package/dist/editor/helpers/use-file-existence.d.ts +0 -1
  111. package/dist/editor/helpers/use-file-existence.js +0 -66
  112. package/dist/editor/icons/RenderStillIcon.d.ts +0 -3
  113. package/dist/editor/icons/RenderStillIcon.js +0 -8
  114. package/dist/editor/icons/audio.d.ts +0 -2
  115. package/dist/editor/icons/audio.js +0 -6
  116. package/dist/editor/icons/file.d.ts +0 -2
  117. package/dist/editor/icons/file.js +0 -6
  118. package/dist/editor/icons/frame.d.ts +0 -2
  119. package/dist/editor/icons/frame.js +0 -6
  120. package/dist/editor/icons/gear.d.ts +0 -2
  121. package/dist/editor/icons/gear.js +0 -6
  122. package/dist/editor/icons/gif.d.ts +0 -2
  123. package/dist/editor/icons/gif.js +0 -6
  124. package/dist/editor/icons/render.d.ts +0 -5
  125. package/dist/editor/icons/render.js +0 -8
  126. package/dist/editor/icons/video.d.ts +0 -5
  127. package/dist/editor/icons/video.js +0 -8
  128. package/dist/ffmpeg.d.ts +0 -2
  129. package/dist/ffmpeg.js +0 -21
  130. package/dist/file-watcher.d.ts +0 -9
  131. package/dist/file-watcher.js +0 -35
  132. package/dist/gcp-command.d.ts +0 -1
  133. package/dist/gcp-command.js +0 -27
  134. package/dist/get-default-out-name.d.ts +0 -5
  135. package/dist/get-default-out-name.js +0 -10
  136. package/dist/preview-server/api-routes.d.ts +0 -4
  137. package/dist/preview-server/api-routes.js +0 -17
  138. package/dist/preview-server/api-types.d.ts +0 -27
  139. package/dist/preview-server/api-types.js +0 -2
  140. package/dist/preview-server/file-existence-watchers.d.ts +0 -13
  141. package/dist/preview-server/file-existence-watchers.js +0 -62
  142. package/dist/preview-server/handler.d.ts +0 -9
  143. package/dist/preview-server/handler.js +0 -34
  144. package/dist/preview-server/parse-body.d.ts +0 -2
  145. package/dist/preview-server/parse-body.js +0 -16
  146. package/dist/preview-server/render-queue/get-default-video-contexts.d.ts +0 -10
  147. package/dist/preview-server/render-queue/get-default-video-contexts.js +0 -13
  148. package/dist/preview-server/render-queue/job.d.ts +0 -116
  149. package/dist/preview-server/render-queue/job.js +0 -2
  150. package/dist/preview-server/render-queue/make-retry-payload.d.ts +0 -3
  151. package/dist/preview-server/render-queue/make-retry-payload.js +0 -79
  152. package/dist/preview-server/render-queue/open-directory-in-finder.d.ts +0 -1
  153. package/dist/preview-server/render-queue/open-directory-in-finder.js +0 -34
  154. package/dist/preview-server/render-queue/process-still.d.ts +0 -8
  155. package/dist/preview-server/render-queue/process-still.js +0 -52
  156. package/dist/preview-server/render-queue/process-video.d.ts +0 -8
  157. package/dist/preview-server/render-queue/process-video.js +0 -69
  158. package/dist/preview-server/render-queue/queue.d.ts +0 -21
  159. package/dist/preview-server/render-queue/queue.js +0 -185
  160. package/dist/preview-server/routes/add-render.d.ts +0 -3
  161. package/dist/preview-server/routes/add-render.js +0 -69
  162. package/dist/preview-server/routes/cancel-render.d.ts +0 -3
  163. package/dist/preview-server/routes/cancel-render.js +0 -9
  164. package/dist/preview-server/routes/open-in-file-explorer.d.ts +0 -3
  165. package/dist/preview-server/routes/open-in-file-explorer.js +0 -14
  166. package/dist/preview-server/routes/remove-render.d.ts +0 -3
  167. package/dist/preview-server/routes/remove-render.js +0 -9
  168. package/dist/preview-server/routes/subscribe-to-file-existence.d.ts +0 -3
  169. package/dist/preview-server/routes/subscribe-to-file-existence.js +0 -13
  170. package/dist/preview-server/routes/unsubscribe-from-file-existence.d.ts +0 -3
  171. package/dist/preview-server/routes/unsubscribe-from-file-existence.js +0 -13
  172. package/dist/render-flows/render.d.ts +0 -47
  173. package/dist/render-flows/render.js +0 -280
  174. package/dist/render-flows/still.d.ts +0 -29
  175. package/dist/render-flows/still.js +0 -171
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CrfSetting = exports.useCrfState = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const client_1 = require("@remotion/renderer/client");
6
- const react_1 = require("react");
7
- const NumberSetting_1 = require("./NumberSetting");
8
- const getDefaultCrfState = () => {
9
- return client_1.BrowserSafeApis.validCodecs
10
- .map((c) => {
11
- return [c, client_1.BrowserSafeApis.getDefaultCrfForCodec(c)];
12
- })
13
- .reduce((acc, [codec, crf]) => {
14
- return {
15
- ...acc,
16
- [codec]: crf,
17
- };
18
- }, {});
19
- };
20
- const useCrfState = (codec) => {
21
- const [state, setState] = (0, react_1.useState)(() => getDefaultCrfState());
22
- const range = client_1.BrowserSafeApis.getValidCrfRanges(codec);
23
- const setCrf = (updater) => {
24
- setState((q) => {
25
- return {
26
- ...q,
27
- [codec]: typeof updater === 'number' ? updater : updater(q[codec]),
28
- };
29
- });
30
- };
31
- return {
32
- crf: state[codec],
33
- setCrf,
34
- minCrf: range[0],
35
- maxCrf: range[1],
36
- shouldDisplayOption: range[0] !== range[1],
37
- };
38
- };
39
- exports.useCrfState = useCrfState;
40
- const CrfSetting = ({ crf, setCrf, min, max }) => {
41
- return ((0, jsx_runtime_1.jsx)(NumberSetting_1.NumberSetting, { min: min, max: max, name: "CRF", onValueChanged: setCrf, value: crf, step: 1 }));
42
- };
43
- exports.CrfSetting = CrfSetting;
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- export declare const EnforceAudioTrackSetting: React.FC<{
3
- enforceAudioTrack: boolean;
4
- setEnforceAudioTrack: React.Dispatch<React.SetStateAction<boolean>>;
5
- muted: boolean;
6
- }>;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EnforceAudioTrackSetting = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const Checkbox_1 = require("../Checkbox");
7
- const layout_1 = require("./layout");
8
- const EnforceAudioTrackSetting = ({ enforceAudioTrack, muted, setEnforceAudioTrack }) => {
9
- const onEnforceAudioTrackChanged = (0, react_1.useCallback)((e) => {
10
- setEnforceAudioTrack(e.target.checked);
11
- }, [setEnforceAudioTrack]);
12
- return ((0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Enforce Audio Track" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { disabled: muted && !enforceAudioTrack, checked: enforceAudioTrack, onChange: onEnforceAudioTrackChanged }) })] }));
13
- };
14
- exports.EnforceAudioTrackSetting = EnforceAudioTrackSetting;
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- export declare const FrameRangeSetting: React.FC<{
3
- startFrame: number;
4
- endFrame: number;
5
- setEndFrame: React.Dispatch<React.SetStateAction<number | null>>;
6
- setStartFrame: React.Dispatch<React.SetStateAction<number | null>>;
7
- durationInFrames: number;
8
- }>;
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FrameRangeSetting = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const InputDragger_1 = require("../NewComposition/InputDragger");
7
- const RemInput_1 = require("../NewComposition/RemInput");
8
- const layout_1 = require("./layout");
9
- const FrameRangeSetting = ({ startFrame, endFrame, setEndFrame, durationInFrames, setStartFrame }) => {
10
- const maxStartFrame = endFrame - 1;
11
- const minStartFrame = 0;
12
- const minEndFrame = startFrame + 1;
13
- const maxEndFrame = durationInFrames - 1;
14
- const onStartFrameChangedDirectly = (0, react_1.useCallback)((newStartFrame) => {
15
- setStartFrame(newStartFrame);
16
- }, [setStartFrame]);
17
- const onEndFrameChangedDirectly = (0, react_1.useCallback)((newEndFrame) => {
18
- setEndFrame(newEndFrame);
19
- }, [setEndFrame]);
20
- const onStartFrameChanged = (0, react_1.useCallback)((e) => {
21
- setStartFrame((q) => {
22
- const newStartFrame = parseInt(e, 10);
23
- if (Number.isNaN(newStartFrame)) {
24
- return q;
25
- }
26
- const newStartFrameClamped = Math.min(maxStartFrame, Math.max(newStartFrame, minStartFrame));
27
- return newStartFrameClamped;
28
- });
29
- }, [maxStartFrame, setStartFrame]);
30
- const onEndFrameChanged = (0, react_1.useCallback)((e) => {
31
- setEndFrame((q) => {
32
- const newEndFrame = parseInt(e, 10);
33
- if (Number.isNaN(newEndFrame)) {
34
- return q;
35
- }
36
- const newEndFrameClamped = Math.min(maxEndFrame, Math.max(newEndFrame, minEndFrame));
37
- return newEndFrameClamped;
38
- });
39
- }, [maxEndFrame, minEndFrame, setEndFrame]);
40
- return ((0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Frame range" }), (0, jsx_runtime_1.jsxs)("div", { style: layout_1.rightRow, children: [(0, jsx_runtime_1.jsx)(RemInput_1.RightAlignInput, { children: (0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { value: startFrame, onTextChange: onStartFrameChanged, placeholder: `${minStartFrame}-${maxStartFrame}`, onValueChange: onStartFrameChangedDirectly, name: "startFrame", step: 1, min: minStartFrame, max: maxStartFrame }) }), (0, jsx_runtime_1.jsx)(RemInput_1.RightAlignInput, { children: (0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { value: endFrame, onTextChange: onEndFrameChanged, placeholder: `${minEndFrame}-${maxEndFrame}`, onValueChange: onEndFrameChangedDirectly, name: "endFrame", step: 1, min: minEndFrame, max: maxEndFrame }) })] })] }));
41
- };
42
- exports.FrameRangeSetting = FrameRangeSetting;
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- export declare const InfoBubble: React.FC<{
3
- title: string;
4
- children: React.ReactNode;
5
- }>;
@@ -1,111 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.InfoBubble = void 0;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const player_1 = require("@remotion/player");
9
- const react_1 = require("react");
10
- const react_dom_1 = __importDefault(require("react-dom"));
11
- const colors_1 = require("../../helpers/colors");
12
- const z_index_1 = require("../../state/z-index");
13
- const portals_1 = require("../Menu/portals");
14
- const styles_1 = require("../Menu/styles");
15
- const InfoTooltip_1 = require("./InfoTooltip");
16
- const icon = {
17
- color: colors_1.LIGHT_TEXT,
18
- height: 15,
19
- };
20
- const container = {
21
- display: 'inline-block',
22
- border: 'none',
23
- fontSize: 14,
24
- verticalAlign: 'text-bottom',
25
- };
26
- const InfoBubble = ({ title, children }) => {
27
- const [hovered, setIsHovered] = (0, react_1.useState)(false);
28
- const [opened, setOpened] = (0, react_1.useState)(false);
29
- const ref = (0, react_1.useRef)(null);
30
- const { tabIndex, currentZIndex } = (0, z_index_1.useZIndex)();
31
- const size = player_1.PlayerInternals.useElementSize(ref, {
32
- triggerOnWindowResize: true,
33
- shouldApplyCssTransforms: true,
34
- });
35
- const refresh = size === null || size === void 0 ? void 0 : size.refresh;
36
- const onHide = (0, react_1.useCallback)(() => {
37
- setOpened(false);
38
- }, []);
39
- (0, react_1.useEffect)(() => {
40
- const { current } = ref;
41
- if (!current) {
42
- return;
43
- }
44
- const onMouseEnter = () => setIsHovered(true);
45
- const onMouseLeave = () => setIsHovered(false);
46
- const onPointerDown = (e) => {
47
- e.stopPropagation();
48
- return setOpened((o) => {
49
- if (!o) {
50
- refresh === null || refresh === void 0 ? void 0 : refresh();
51
- }
52
- return !o;
53
- });
54
- };
55
- const onClick = (e) => {
56
- e.stopPropagation();
57
- const isKeyboardInitiated = e.detail === 0;
58
- if (!isKeyboardInitiated) {
59
- return;
60
- }
61
- return setOpened((o) => {
62
- return !o;
63
- });
64
- };
65
- current.addEventListener('mouseenter', onMouseEnter);
66
- current.addEventListener('mouseleave', onMouseLeave);
67
- current.addEventListener('pointerdown', onPointerDown);
68
- current.addEventListener('click', onClick);
69
- return () => {
70
- current.removeEventListener('mouseenter', onMouseEnter);
71
- current.removeEventListener('mouseleave', onMouseLeave);
72
- current.removeEventListener('pointerdown', onPointerDown);
73
- current.removeEventListener('click', onClick);
74
- };
75
- }, [refresh]);
76
- const portalStyle = (0, react_1.useMemo)(() => {
77
- if (!opened || !size) {
78
- return null;
79
- }
80
- const spaceToBottom = size.windowSize.height - (size.top + size.height);
81
- const spaceToTop = size.top;
82
- const layout = spaceToTop > spaceToBottom ? 'bottom' : 'top';
83
- return {
84
- ...(layout === 'top'
85
- ? {
86
- position: 'fixed',
87
- top: size.top + size.height,
88
- }
89
- : {
90
- position: 'fixed',
91
- bottom: size.windowSize.height - size.top,
92
- }),
93
- left: size.left,
94
- };
95
- }, [opened, size]);
96
- const style = (0, react_1.useMemo)(() => {
97
- return {
98
- ...container,
99
- userSelect: 'none',
100
- color: 'white',
101
- display: 'inline-flex',
102
- flexDirection: 'row',
103
- alignItems: 'center',
104
- };
105
- }, []);
106
- // TODO: Can click two info bubbles at the same time
107
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("button", { ref: ref, tabIndex: tabIndex, style: style, title: title, type: "button", children: (0, jsx_runtime_1.jsx)("svg", { style: icon, viewBox: "0 0 512 512", children: (0, jsx_runtime_1.jsx)("path", { fill: hovered ? 'white' : colors_1.LIGHT_TEXT, d: "M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V248c0-13.3-10.7-24-24-24H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h24v64H216zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z" }) }) }), portalStyle
108
- ? react_dom_1.default.createPortal((0, jsx_runtime_1.jsx)("div", { style: styles_1.outerPortal, className: "css-reset", children: (0, jsx_runtime_1.jsx)(z_index_1.HigherZIndex, { onOutsideClick: onHide, onEscape: onHide, children: (0, jsx_runtime_1.jsx)("div", { style: portalStyle, children: (0, jsx_runtime_1.jsx)(InfoTooltip_1.InfoTooltip, { children: children }) }) }) }), (0, portals_1.getPortal)(currentZIndex))
109
- : null] }));
110
- };
111
- exports.InfoBubble = InfoBubble;
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- export declare const InfoTooltip: React.FC<{
3
- children: React.ReactNode;
4
- }>;
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InfoTooltip = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const colors_1 = require("../../helpers/colors");
6
- const styles_1 = require("../Menu/styles");
7
- const container = {
8
- padding: '10px 12px',
9
- // TODO: Depending on direction
10
- boxShadow: styles_1.SHADOW_TOWARDS_TOP,
11
- background: colors_1.BACKGROUND,
12
- color: 'white',
13
- border: '0.5px solid ' + colors_1.BORDER_COLOR,
14
- maxHeight: 200,
15
- overflow: 'auto',
16
- };
17
- const arrow = {
18
- height: 7,
19
- display: 'block',
20
- overflow: 'visible',
21
- marginTop: -0.5,
22
- marginLeft: 7,
23
- };
24
- const InfoTooltip = ({ children }) => {
25
- return (
26
- // TODO: Down arrow
27
- // TODO: not scrolling with portal
28
- (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { style: container, children: children }), (0, jsx_runtime_1.jsx)("svg", { viewBox: "0 0 14 7", style: arrow, children: (0, jsx_runtime_1.jsx)("path", { d: `M 14 0 L 7 7 L 0 0`, fill: colors_1.BACKGROUND, strokeLinecap: "butt", stroke: colors_1.BORDER_COLOR, strokeWidth: 0.5 }) })] }));
29
- };
30
- exports.InfoTooltip = InfoTooltip;
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- export declare const MutedSetting: React.FC<{
3
- muted: boolean;
4
- setMuted: React.Dispatch<React.SetStateAction<boolean>>;
5
- enforceAudioTrack: boolean;
6
- }>;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MutedSetting = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const Checkbox_1 = require("../Checkbox");
7
- const layout_1 = require("./layout");
8
- const MutedSetting = ({ muted, setMuted, enforceAudioTrack }) => {
9
- const onMutedChanged = (0, react_1.useCallback)((e) => {
10
- setMuted(e.target.checked);
11
- }, [setMuted]);
12
- return ((0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Muted" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { checked: muted, disabled: enforceAudioTrack && !muted, onChange: onMutedChanged }) })] }));
13
- };
14
- exports.MutedSetting = MutedSetting;
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- export declare const NumberOfLoopsSetting: React.FC<{
3
- numberOfGifLoops: number;
4
- setNumberOfGifLoops: React.Dispatch<React.SetStateAction<number>>;
5
- }>;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NumberOfLoopsSetting = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const InputDragger_1 = require("../NewComposition/InputDragger");
7
- const RemInput_1 = require("../NewComposition/RemInput");
8
- const layout_1 = require("./layout");
9
- const min = 0;
10
- const NumberOfLoopsSetting = ({ numberOfGifLoops, setNumberOfGifLoops }) => {
11
- const onNumberOfGifLoopsChangedDirectly = (0, react_1.useCallback)((newConcurrency) => {
12
- setNumberOfGifLoops(newConcurrency);
13
- }, [setNumberOfGifLoops]);
14
- const onNumberOfGifLoopsChanged = (0, react_1.useCallback)((e) => {
15
- setNumberOfGifLoops((q) => {
16
- const newConcurrency = parseInt(e, 10);
17
- if (Number.isNaN(newConcurrency)) {
18
- return q;
19
- }
20
- const newConcurrencyClamped = Math.max(newConcurrency, min);
21
- return newConcurrencyClamped;
22
- });
23
- }, [setNumberOfGifLoops]);
24
- return ((0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Number of loops" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(RemInput_1.RightAlignInput, { children: (0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { value: numberOfGifLoops, onTextChange: onNumberOfGifLoopsChanged, placeholder: `${min}-`, onValueChange: onNumberOfGifLoopsChangedDirectly, name: "number-of-gif-loops", step: 1, min: min }) }) })] }));
25
- };
26
- exports.NumberOfLoopsSetting = NumberOfLoopsSetting;
@@ -1,12 +0,0 @@
1
- import type { RemotionOption } from '@remotion/renderer';
2
- import React from 'react';
3
- export declare const NumberSetting: React.FC<{
4
- name: string;
5
- value: number;
6
- onValueChanged: React.Dispatch<React.SetStateAction<number>>;
7
- max?: number;
8
- min: number;
9
- step: number;
10
- formatter?: (value: string | number) => string;
11
- hint?: RemotionOption;
12
- }>;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NumberSetting = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const layout_1 = require("../layout");
7
- const InputDragger_1 = require("../NewComposition/InputDragger");
8
- const RemInput_1 = require("../NewComposition/RemInput");
9
- const InfoBubble_1 = require("./InfoBubble");
10
- const layout_2 = require("./layout");
11
- const OptionExplainer_1 = require("./OptionExplainer");
12
- const NumberSetting = ({ name, value, step, hint, onValueChanged, max, min, formatter }) => {
13
- const onTextChanged = (0, react_1.useCallback)((e) => {
14
- onValueChanged((q) => {
15
- const newSetting = parseInt(e, 10);
16
- if (Number.isNaN(newSetting)) {
17
- return q;
18
- }
19
- return Math.min(max !== null && max !== void 0 ? max : Infinity, Math.max(newSetting, min));
20
- });
21
- }, [max, min, onValueChanged]);
22
- const onValueChange = (0, react_1.useCallback)((newConcurrency) => {
23
- onValueChanged(newConcurrency);
24
- }, [onValueChanged]);
25
- return ((0, jsx_runtime_1.jsxs)("div", { style: layout_2.optionRow, children: [(0, jsx_runtime_1.jsxs)("div", { style: layout_2.label, children: [name, hint ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 0.25 }), ' ', (0, jsx_runtime_1.jsx)(InfoBubble_1.InfoBubble, { title: "Learn more about this option", children: (0, jsx_runtime_1.jsx)(OptionExplainer_1.OptionExplainer, { option: hint }) })] })) : null] }), (0, jsx_runtime_1.jsx)("div", { style: layout_2.rightRow, children: (0, jsx_runtime_1.jsx)(RemInput_1.RightAlignInput, { children: (0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { value: value, name: name.toLowerCase(), onTextChange: onTextChanged, onValueChange: onValueChange, step: step, placeholder: [min, max]
26
- .map((f) => (f !== null && f !== undefined ? f : ''))
27
- .join('-'), min: min, max: max, formatter: formatter }) }) })] }));
28
- };
29
- exports.NumberSetting = NumberSetting;
@@ -1,5 +0,0 @@
1
- /// <reference types="react" />
2
- import type { RemotionOption } from '@remotion/renderer';
3
- export declare const OptionExplainer: React.FC<{
4
- option: RemotionOption;
5
- }>;
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OptionExplainer = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const layout_1 = require("../layout");
6
- const MenuDivider_1 = require("../Menu/MenuDivider");
7
- const container = {
8
- fontSize: 14,
9
- };
10
- const title = {
11
- fontSize: 14,
12
- };
13
- const description = {
14
- fontSize: 14,
15
- maxWidth: 200,
16
- };
17
- // TODO: No style of <code>
18
- const OptionExplainer = ({ option }) => {
19
- return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("strong", { style: title, children: option.name }) }), (0, jsx_runtime_1.jsx)("div", { style: description, children: option.description }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { block: true, y: 0.5 }), (0, jsx_runtime_1.jsx)(MenuDivider_1.MenuDivider, {}), (0, jsx_runtime_1.jsxs)("div", { style: description, children: ["CLI flag: ", option.cliFlag] }), (0, jsx_runtime_1.jsxs)("div", { style: description, children: ["Node.JS option: ", option.ssrName] })] }));
20
- };
21
- exports.OptionExplainer = OptionExplainer;
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- export declare const QualitySetting: React.FC<{
3
- quality: number;
4
- setQuality: React.Dispatch<React.SetStateAction<number>>;
5
- }>;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QualitySetting = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const InputDragger_1 = require("../NewComposition/InputDragger");
7
- const RemInput_1 = require("../NewComposition/RemInput");
8
- const layout_1 = require("./layout");
9
- const MIN_QUALITY = 1;
10
- const MAX_QUALITY = 100;
11
- const QualitySetting = ({ quality, setQuality }) => {
12
- const onQualityChangedDirectly = (0, react_1.useCallback)((newQuality) => {
13
- setQuality(newQuality);
14
- }, [setQuality]);
15
- const onQualityChanged = (0, react_1.useCallback)((e) => {
16
- setQuality((q) => {
17
- const newQuality = parseInt(e, 10);
18
- if (Number.isNaN(newQuality)) {
19
- return q;
20
- }
21
- const newQualityClamped = Math.min(MAX_QUALITY, Math.max(newQuality, MIN_QUALITY));
22
- return newQualityClamped;
23
- });
24
- }, [setQuality]);
25
- return ((0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "JPEG Quality" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(RemInput_1.RightAlignInput, { children: (0, jsx_runtime_1.jsx)(InputDragger_1.InputDragger, { value: quality, onTextChange: onQualityChanged, placeholder: `${MIN_QUALITY}-${MAX_QUALITY}`, onValueChange: onQualityChangedDirectly, name: "quality", step: 1, min: MIN_QUALITY, max: MAX_QUALITY }) }) })] }));
26
- };
27
- exports.QualitySetting = QualitySetting;
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import type { RenderJob } from '../../../preview-server/render-queue/job';
3
- export declare const RenderErrorModal: React.FC<{
4
- job: RenderJob;
5
- }>;
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RenderErrorModal = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const Button_1 = require("../../../preview-server/error-overlay/remotion-overlay/Button");
7
- const make_retry_payload_1 = require("../../../preview-server/render-queue/make-retry-payload");
8
- const modals_1 = require("../../state/modals");
9
- const layout_1 = require("../layout");
10
- const ModalContainer_1 = require("../ModalContainer");
11
- const ModalHeader_1 = require("../ModalHeader");
12
- const NotificationCenter_1 = require("../Notifications/NotificationCenter");
13
- const actions_1 = require("../RenderQueue/actions");
14
- const container = {
15
- padding: 20,
16
- maxWidth: 1200,
17
- paddingTop: 0,
18
- };
19
- const codeBlock = {
20
- backgroundColor: 'black',
21
- whiteSpace: 'pre',
22
- padding: 12,
23
- borderRadius: 4,
24
- fontFamily: 'monospace',
25
- overflow: 'auto',
26
- maxHeight: 300,
27
- };
28
- const spacer = {
29
- height: layout_1.SPACING_UNIT,
30
- width: layout_1.SPACING_UNIT,
31
- };
32
- const buttonRow = {
33
- display: 'flex',
34
- flexDirection: 'row',
35
- justifyContent: 'flex-end',
36
- };
37
- const RenderErrorModal = ({ job }) => {
38
- const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
39
- const onQuit = (0, react_1.useCallback)(() => {
40
- setSelectedModal(null);
41
- }, [setSelectedModal]);
42
- const onRetry = (0, react_1.useCallback)(() => {
43
- const retryPayload = (0, make_retry_payload_1.makeRetryPayload)(job);
44
- setSelectedModal(retryPayload);
45
- }, [job, setSelectedModal]);
46
- const onClickOnRemove = (0, react_1.useCallback)(() => {
47
- setSelectedModal(null);
48
- (0, actions_1.removeRenderJob)(job).catch((err) => {
49
- var _a;
50
- (_a = NotificationCenter_1.notificationCenter.current) === null || _a === void 0 ? void 0 : _a.addNotification({
51
- content: 'Failed to remove render job: ' + err.message,
52
- created: Date.now(),
53
- duration: 2000,
54
- id: String(Math.random()),
55
- });
56
- console.log(err);
57
- });
58
- }, [job, setSelectedModal]);
59
- if (job.status !== 'failed') {
60
- throw new Error('should not have rendered this modal');
61
- }
62
- return ((0, jsx_runtime_1.jsxs)(ModalContainer_1.ModalContainer, { onOutsideClick: onQuit, onEscape: onQuit, children: [(0, jsx_runtime_1.jsx)(ModalHeader_1.NewCompHeader, { title: `Render ${job.compositionId}` }), (0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)("p", { children: "The render failed because of the following error:" }), (0, jsx_runtime_1.jsx)("div", { style: codeBlock, children: job.error.stack }), (0, jsx_runtime_1.jsx)("div", { style: spacer }), (0, jsx_runtime_1.jsxs)("div", { style: buttonRow, children: [(0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: onClickOnRemove, children: "Remove render" }), (0, jsx_runtime_1.jsx)(layout_1.Flex, {}), (0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: onRetry, children: "Retry" }), (0, jsx_runtime_1.jsx)("div", { style: spacer }), (0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: onQuit, children: "Close" })] })] })] }));
63
- };
64
- exports.RenderErrorModal = RenderErrorModal;
@@ -1,29 +0,0 @@
1
- import type { AudioCodec, Codec, PixelFormat, ProResProfile, StillImageFormat, VideoImageFormat } from '@remotion/renderer';
2
- import React from 'react';
3
- import type { RenderType } from './RenderModalAdvanced';
4
- export declare const RenderModal: React.FC<{
5
- compositionId: string;
6
- initialFrame: number;
7
- initialVideoImageFormat: VideoImageFormat;
8
- initialStillImageFormat: StillImageFormat;
9
- initialQuality: number;
10
- initialScale: number;
11
- initialVerbose: boolean;
12
- initialOutName: string;
13
- initialRenderType: RenderType;
14
- initialVideoCodecForAudioTab: Codec;
15
- initialVideoCodecForVideoTab: Codec;
16
- initialAudioCodec: AudioCodec | null;
17
- initialConcurrency: number;
18
- minConcurrency: number;
19
- maxConcurrency: number;
20
- initialMuted: boolean;
21
- initialEnforceAudioTrack: boolean;
22
- initialProResProfile: ProResProfile;
23
- initialPixelFormat: PixelFormat;
24
- initialVideoBitrate: string | null;
25
- initialAudioBitrate: string | null;
26
- initialEveryNthFrame: number;
27
- initialNumberOfGifLoops: number | null;
28
- initialDelayRenderTimeout: number;
29
- }>;