@remotion/cli 3.3.75 → 3.3.77
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.
- package/dist/config/still-frame.js +5 -1
- package/dist/convert-entry-point-to-serve-url.d.ts +1 -0
- package/dist/convert-entry-point-to-serve-url.js +15 -0
- package/dist/editor/components/Checkbox.d.ts +5 -0
- package/dist/editor/components/Checkbox.js +38 -0
- package/dist/editor/components/CollapsableOptions.d.ts +6 -0
- package/dist/editor/components/CollapsableOptions.js +35 -0
- package/dist/editor/components/CurrentCompositionSideEffects.d.ts +3 -0
- package/dist/editor/components/CurrentCompositionSideEffects.js +43 -0
- package/dist/editor/components/InlineAction.d.ts +5 -0
- package/dist/editor/components/InlineAction.js +34 -0
- package/dist/editor/components/Modals.d.ts +2 -0
- package/dist/editor/components/Modals.js +23 -0
- package/dist/editor/components/RenderButton.d.ts +6 -0
- package/dist/editor/components/RenderButton.js +67 -0
- package/dist/editor/components/RenderModal/CrfSetting.d.ts +15 -0
- package/dist/editor/components/RenderModal/CrfSetting.js +43 -0
- package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.d.ts +5 -0
- package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.js +14 -0
- package/dist/editor/components/RenderModal/FrameRangeSetting.d.ts +8 -0
- package/dist/editor/components/RenderModal/FrameRangeSetting.js +42 -0
- package/dist/editor/components/RenderModal/MutedSetting.d.ts +5 -0
- package/dist/editor/components/RenderModal/MutedSetting.js +14 -0
- package/dist/editor/components/RenderModal/NumberOfLoopsSetting.d.ts +5 -0
- package/dist/editor/components/RenderModal/NumberOfLoopsSetting.js +26 -0
- package/dist/editor/components/RenderModal/NumberSetting.d.ts +9 -0
- package/dist/editor/components/RenderModal/NumberSetting.js +26 -0
- package/dist/editor/components/RenderModal/QualitySetting.d.ts +5 -0
- package/dist/editor/components/RenderModal/QualitySetting.js +27 -0
- package/dist/editor/components/RenderModal/RenderErrorModal.d.ts +5 -0
- package/dist/editor/components/RenderModal/RenderErrorModal.js +64 -0
- package/dist/editor/components/RenderModal/RenderModal.d.ts +28 -0
- package/dist/editor/components/RenderModal/RenderModal.js +484 -0
- package/dist/editor/components/RenderModal/RenderModalAdvanced.d.ts +11 -0
- package/dist/editor/components/RenderModal/RenderModalAdvanced.js +15 -0
- package/dist/editor/components/RenderModal/RenderModalAudio.d.ts +13 -0
- package/dist/editor/components/RenderModal/RenderModalAudio.js +22 -0
- package/dist/editor/components/RenderModal/RenderModalBasic.d.ts +24 -0
- package/dist/editor/components/RenderModal/RenderModalBasic.js +87 -0
- package/dist/editor/components/RenderModal/RenderModalGif.d.ts +9 -0
- package/dist/editor/components/RenderModal/RenderModalGif.js +16 -0
- package/dist/editor/components/RenderModal/RenderModalHr.d.ts +2 -0
- package/dist/editor/components/RenderModal/RenderModalHr.js +18 -0
- package/dist/editor/components/RenderModal/RenderModalPicture.d.ts +28 -0
- package/dist/editor/components/RenderModal/RenderModalPicture.js +51 -0
- package/dist/editor/components/RenderModal/ScaleSetting.d.ts +5 -0
- package/dist/editor/components/RenderModal/ScaleSetting.js +11 -0
- package/dist/editor/components/RenderModal/human-readable-audio-codecs.d.ts +2 -0
- package/dist/editor/components/RenderModal/human-readable-audio-codecs.js +18 -0
- package/dist/editor/components/RenderModal/human-readable-codec.d.ts +2 -0
- package/dist/editor/components/RenderModal/human-readable-codec.js +36 -0
- package/dist/editor/components/RenderModal/layout.d.ts +5 -0
- package/dist/editor/components/RenderModal/layout.js +31 -0
- package/dist/editor/components/RenderQueue/CircularProgress.d.ts +5 -0
- package/dist/editor/components/RenderQueue/CircularProgress.js +18 -0
- package/dist/editor/components/RenderQueue/RenderQueueError.d.ts +5 -0
- package/dist/editor/components/RenderQueue/RenderQueueError.js +26 -0
- package/dist/editor/components/RenderQueue/RenderQueueItem.d.ts +5 -0
- package/dist/editor/components/RenderQueue/RenderQueueItem.js +39 -0
- package/dist/editor/components/RenderQueue/RenderQueueItemCancelButton.d.ts +5 -0
- package/dist/editor/components/RenderQueue/RenderQueueItemCancelButton.js +22 -0
- package/dist/editor/components/RenderQueue/RenderQueueItemStatus.d.ts +5 -0
- package/dist/editor/components/RenderQueue/RenderQueueItemStatus.js +27 -0
- package/dist/editor/components/RenderQueue/RenderQueueOutputName.d.ts +5 -0
- package/dist/editor/components/RenderQueue/RenderQueueOutputName.js +24 -0
- package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.d.ts +5 -0
- package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.js +27 -0
- package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.d.ts +5 -0
- package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.js +23 -0
- package/dist/editor/components/RenderQueue/RenderQueueRepeat.d.ts +5 -0
- package/dist/editor/components/RenderQueue/RenderQueueRepeat.js +22 -0
- package/dist/editor/components/RenderQueue/actions.d.ts +49 -0
- package/dist/editor/components/RenderQueue/actions.js +98 -0
- package/dist/editor/components/RenderQueue/context.d.ts +19 -0
- package/dist/editor/components/RenderQueue/context.js +56 -0
- package/dist/editor/components/RenderQueue/index.d.ts +2 -0
- package/dist/editor/components/RenderQueue/index.js +18 -0
- package/dist/editor/components/RenderQueue/item-style.d.ts +2 -0
- package/dist/editor/components/RenderQueue/item-style.js +21 -0
- package/dist/editor/components/RenderToolbarIcon.d.ts +2 -0
- package/dist/editor/components/RenderToolbarIcon.js +78 -0
- package/dist/editor/components/RendersTab.d.ts +6 -0
- package/dist/editor/components/RendersTab.js +43 -0
- package/dist/editor/components/SegmentedControl.d.ts +16 -0
- package/dist/editor/components/SegmentedControl.js +63 -0
- package/dist/editor/components/SidebarContent.d.ts +5 -0
- package/dist/editor/components/SidebarContent.js +52 -0
- package/dist/editor/components/Tabs/index.d.ts +11 -0
- package/dist/editor/components/Tabs/index.js +51 -0
- package/dist/editor/helpers/client-id.d.ts +17 -0
- package/dist/editor/helpers/client-id.js +46 -0
- package/dist/editor/helpers/use-file-existence.d.ts +1 -0
- package/dist/editor/helpers/use-file-existence.js +66 -0
- package/dist/editor/icons/RenderStillIcon.d.ts +3 -0
- package/dist/editor/icons/RenderStillIcon.js +8 -0
- package/dist/editor/icons/audio.d.ts +2 -0
- package/dist/editor/icons/audio.js +6 -0
- package/dist/editor/icons/file.d.ts +2 -0
- package/dist/editor/icons/file.js +6 -0
- package/dist/editor/icons/frame.d.ts +2 -0
- package/dist/editor/icons/frame.js +6 -0
- package/dist/editor/icons/gear.d.ts +2 -0
- package/dist/editor/icons/gear.js +6 -0
- package/dist/editor/icons/gif.d.ts +2 -0
- package/dist/editor/icons/gif.js +6 -0
- package/dist/editor/icons/render.d.ts +5 -0
- package/dist/editor/icons/render.js +8 -0
- package/dist/editor/icons/video.d.ts +5 -0
- package/dist/editor/icons/video.js +8 -0
- package/dist/ffmpeg.d.ts +2 -0
- package/dist/ffmpeg.js +21 -0
- package/dist/file-watcher.d.ts +9 -0
- package/dist/file-watcher.js +35 -0
- package/dist/gcp-command.d.ts +1 -0
- package/dist/gcp-command.js +27 -0
- package/dist/get-default-out-name.d.ts +5 -0
- package/dist/get-default-out-name.js +10 -0
- package/dist/preview-server/api-routes.d.ts +4 -0
- package/dist/preview-server/api-routes.js +17 -0
- package/dist/preview-server/api-types.d.ts +27 -0
- package/dist/preview-server/api-types.js +2 -0
- package/dist/preview-server/file-existence-watchers.d.ts +13 -0
- package/dist/preview-server/file-existence-watchers.js +62 -0
- package/dist/preview-server/handler.d.ts +9 -0
- package/dist/preview-server/handler.js +34 -0
- package/dist/preview-server/parse-body.d.ts +2 -0
- package/dist/preview-server/parse-body.js +16 -0
- package/dist/preview-server/render-queue/get-default-video-contexts.d.ts +10 -0
- package/dist/preview-server/render-queue/get-default-video-contexts.js +13 -0
- package/dist/preview-server/render-queue/job.d.ts +114 -0
- package/dist/preview-server/render-queue/job.js +2 -0
- package/dist/preview-server/render-queue/make-retry-payload.d.ts +3 -0
- package/dist/preview-server/render-queue/make-retry-payload.js +79 -0
- package/dist/preview-server/render-queue/open-directory-in-finder.d.ts +1 -0
- package/dist/preview-server/render-queue/open-directory-in-finder.js +34 -0
- package/dist/preview-server/render-queue/process-still.d.ts +8 -0
- package/dist/preview-server/render-queue/process-still.js +47 -0
- package/dist/preview-server/render-queue/process-video.d.ts +8 -0
- package/dist/preview-server/render-queue/process-video.js +64 -0
- package/dist/preview-server/render-queue/queue.d.ts +21 -0
- package/dist/preview-server/render-queue/queue.js +185 -0
- package/dist/preview-server/routes/add-render.d.ts +3 -0
- package/dist/preview-server/routes/add-render.js +68 -0
- package/dist/preview-server/routes/cancel-render.d.ts +3 -0
- package/dist/preview-server/routes/cancel-render.js +9 -0
- package/dist/preview-server/routes/open-in-file-explorer.d.ts +3 -0
- package/dist/preview-server/routes/open-in-file-explorer.js +14 -0
- package/dist/preview-server/routes/remove-render.d.ts +3 -0
- package/dist/preview-server/routes/remove-render.js +9 -0
- package/dist/preview-server/routes/subscribe-to-file-existence.d.ts +3 -0
- package/dist/preview-server/routes/subscribe-to-file-existence.js +13 -0
- package/dist/preview-server/routes/unsubscribe-from-file-existence.d.ts +3 -0
- package/dist/preview-server/routes/unsubscribe-from-file-existence.js +13 -0
- package/dist/render-flows/render.d.ts +46 -0
- package/dist/render-flows/render.js +279 -0
- package/dist/render-flows/still.d.ts +29 -0
- package/dist/render-flows/still.js +171 -0
- package/package.json +6 -6
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RenderQueueRemoveItem = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const InlineAction_1 = require("../InlineAction");
|
|
7
|
+
const NotificationCenter_1 = require("../Notifications/NotificationCenter");
|
|
8
|
+
const actions_1 = require("./actions");
|
|
9
|
+
const RenderQueueRemoveItem = ({ job }) => {
|
|
10
|
+
const onClick = (0, react_1.useCallback)(() => {
|
|
11
|
+
(0, actions_1.removeRenderJob)(job).catch((err) => {
|
|
12
|
+
(0, NotificationCenter_1.sendErrorNotification)(`Could not remove item: ${err.message}`);
|
|
13
|
+
console.log(err);
|
|
14
|
+
});
|
|
15
|
+
}, [job]);
|
|
16
|
+
const icon = (0, react_1.useMemo)(() => {
|
|
17
|
+
return {
|
|
18
|
+
height: 16,
|
|
19
|
+
};
|
|
20
|
+
}, []);
|
|
21
|
+
return ((0, jsx_runtime_1.jsx)(InlineAction_1.InlineAction, { onClick: onClick, children: (0, jsx_runtime_1.jsx)("svg", { style: icon, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 320 512", children: (0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M310.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 210.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L114.7 256 9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 301.3 265.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L205.3 256 310.6 150.6z" }) }) }));
|
|
22
|
+
};
|
|
23
|
+
exports.RenderQueueRemoveItem = RenderQueueRemoveItem;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RenderQueueRepeatItem = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const make_retry_payload_1 = require("../../../preview-server/render-queue/make-retry-payload");
|
|
7
|
+
const modals_1 = require("../../state/modals");
|
|
8
|
+
const InlineAction_1 = require("../InlineAction");
|
|
9
|
+
const RenderQueueRepeatItem = ({ job }) => {
|
|
10
|
+
const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
|
|
11
|
+
const onClick = (0, react_1.useCallback)(() => {
|
|
12
|
+
const retryPayload = (0, make_retry_payload_1.makeRetryPayload)(job);
|
|
13
|
+
setSelectedModal(retryPayload);
|
|
14
|
+
}, [job, setSelectedModal]);
|
|
15
|
+
const icon = (0, react_1.useMemo)(() => {
|
|
16
|
+
return {
|
|
17
|
+
height: 12,
|
|
18
|
+
};
|
|
19
|
+
}, []);
|
|
20
|
+
return ((0, jsx_runtime_1.jsx)(InlineAction_1.InlineAction, { onClick: onClick, children: (0, jsx_runtime_1.jsx)("svg", { style: icon, viewBox: "0 0 512 512", children: (0, jsx_runtime_1.jsx)("path", { fill: "currentcolor", d: "M386.3 160H336c-17.7 0-32 14.3-32 32s14.3 32 32 32H464c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0s-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3s163.8-62.5 226.3 0L386.3 160z" }) }) }));
|
|
21
|
+
};
|
|
22
|
+
exports.RenderQueueRepeatItem = RenderQueueRepeatItem;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { AudioCodec, Codec, PixelFormat, ProResProfile, StillImageFormat, VideoImageFormat } from '@remotion/renderer';
|
|
2
|
+
import type { ApiRoutes } from '../../../preview-server/api-types';
|
|
3
|
+
import type { RenderJob } from '../../../preview-server/render-queue/job';
|
|
4
|
+
export declare const callApi: <Endpoint extends keyof ApiRoutes>(endpoint: Endpoint, body: ApiRoutes[Endpoint]["Request"]) => Promise<ApiRoutes[Endpoint]["Response"]>;
|
|
5
|
+
export declare const addStillRenderJob: ({ compositionId, outName, imageFormat, quality, frame, scale, verbose, }: {
|
|
6
|
+
compositionId: string;
|
|
7
|
+
outName: string;
|
|
8
|
+
imageFormat: StillImageFormat;
|
|
9
|
+
quality: number | null;
|
|
10
|
+
frame: number;
|
|
11
|
+
scale: number;
|
|
12
|
+
verbose: boolean;
|
|
13
|
+
}) => Promise<undefined>;
|
|
14
|
+
export declare const addVideoRenderJob: ({ compositionId, outName, imageFormat, quality, scale, verbose, codec, concurrency, crf, startFrame, endFrame, muted, enforceAudioTrack, proResProfile, pixelFormat, audioBitrate, videoBitrate, everyNthFrame, numberOfGifLoops, delayRenderTimeout, audioCodec, }: {
|
|
15
|
+
compositionId: string;
|
|
16
|
+
outName: string;
|
|
17
|
+
imageFormat: VideoImageFormat;
|
|
18
|
+
quality: number | null;
|
|
19
|
+
scale: number;
|
|
20
|
+
verbose: boolean;
|
|
21
|
+
codec: Codec;
|
|
22
|
+
concurrency: number;
|
|
23
|
+
crf: number | null;
|
|
24
|
+
startFrame: number;
|
|
25
|
+
endFrame: number;
|
|
26
|
+
muted: boolean;
|
|
27
|
+
enforceAudioTrack: boolean;
|
|
28
|
+
proResProfile: ProResProfile | null;
|
|
29
|
+
pixelFormat: PixelFormat;
|
|
30
|
+
audioBitrate: string | null;
|
|
31
|
+
videoBitrate: string | null;
|
|
32
|
+
everyNthFrame: number;
|
|
33
|
+
numberOfGifLoops: number | null;
|
|
34
|
+
delayRenderTimeout: number;
|
|
35
|
+
audioCodec: AudioCodec;
|
|
36
|
+
}) => Promise<undefined>;
|
|
37
|
+
export declare const unsubscribeFromFileExistenceWatcher: ({ file, clientId, }: {
|
|
38
|
+
file: string;
|
|
39
|
+
clientId: string;
|
|
40
|
+
}) => Promise<undefined>;
|
|
41
|
+
export declare const subscribeToFileExistenceWatcher: ({ file, clientId, }: {
|
|
42
|
+
file: string;
|
|
43
|
+
clientId: string;
|
|
44
|
+
}) => Promise<boolean>;
|
|
45
|
+
export declare const openInFileExplorer: ({ directory }: {
|
|
46
|
+
directory: string;
|
|
47
|
+
}) => Promise<void>;
|
|
48
|
+
export declare const removeRenderJob: (job: RenderJob) => Promise<undefined>;
|
|
49
|
+
export declare const cancelRenderJob: (job: RenderJob) => Promise<import("../../../preview-server/render-queue/job").CancelRenderResponse>;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cancelRenderJob = exports.removeRenderJob = exports.openInFileExplorer = exports.subscribeToFileExistenceWatcher = exports.unsubscribeFromFileExistenceWatcher = exports.addVideoRenderJob = exports.addStillRenderJob = exports.callApi = void 0;
|
|
4
|
+
const callApi = (endpoint, body) => {
|
|
5
|
+
return new Promise((resolve, reject) => {
|
|
6
|
+
fetch(endpoint, {
|
|
7
|
+
method: 'post',
|
|
8
|
+
headers: {
|
|
9
|
+
'content-type': 'application/json',
|
|
10
|
+
},
|
|
11
|
+
body: JSON.stringify(body),
|
|
12
|
+
})
|
|
13
|
+
.then((res) => res.json())
|
|
14
|
+
.then((data) => {
|
|
15
|
+
if (data.success) {
|
|
16
|
+
resolve(data.data);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
reject(new Error(data.error));
|
|
20
|
+
}
|
|
21
|
+
})
|
|
22
|
+
.catch((err) => {
|
|
23
|
+
reject(err);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
exports.callApi = callApi;
|
|
28
|
+
const addStillRenderJob = ({ compositionId, outName, imageFormat, quality, frame, scale, verbose, }) => {
|
|
29
|
+
return (0, exports.callApi)('/api/render', {
|
|
30
|
+
compositionId,
|
|
31
|
+
type: 'still',
|
|
32
|
+
outName,
|
|
33
|
+
imageFormat,
|
|
34
|
+
quality,
|
|
35
|
+
frame,
|
|
36
|
+
scale,
|
|
37
|
+
verbose,
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
exports.addStillRenderJob = addStillRenderJob;
|
|
41
|
+
const addVideoRenderJob = ({ compositionId, outName, imageFormat, quality, scale, verbose, codec, concurrency, crf, startFrame, endFrame, muted, enforceAudioTrack, proResProfile, pixelFormat, audioBitrate, videoBitrate, everyNthFrame, numberOfGifLoops, delayRenderTimeout, audioCodec, }) => {
|
|
42
|
+
return (0, exports.callApi)('/api/render', {
|
|
43
|
+
compositionId,
|
|
44
|
+
type: 'video',
|
|
45
|
+
outName,
|
|
46
|
+
imageFormat,
|
|
47
|
+
quality,
|
|
48
|
+
scale,
|
|
49
|
+
verbose,
|
|
50
|
+
codec,
|
|
51
|
+
concurrency,
|
|
52
|
+
crf,
|
|
53
|
+
endFrame,
|
|
54
|
+
startFrame,
|
|
55
|
+
muted,
|
|
56
|
+
enforceAudioTrack,
|
|
57
|
+
proResProfile,
|
|
58
|
+
pixelFormat,
|
|
59
|
+
audioBitrate,
|
|
60
|
+
videoBitrate,
|
|
61
|
+
everyNthFrame,
|
|
62
|
+
numberOfGifLoops,
|
|
63
|
+
delayRenderTimeout,
|
|
64
|
+
audioCodec,
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
exports.addVideoRenderJob = addVideoRenderJob;
|
|
68
|
+
const unsubscribeFromFileExistenceWatcher = ({ file, clientId, }) => {
|
|
69
|
+
return (0, exports.callApi)('/api/unsubscribe-from-file-existence', { file, clientId });
|
|
70
|
+
};
|
|
71
|
+
exports.unsubscribeFromFileExistenceWatcher = unsubscribeFromFileExistenceWatcher;
|
|
72
|
+
const subscribeToFileExistenceWatcher = async ({ file, clientId, }) => {
|
|
73
|
+
const { exists } = await (0, exports.callApi)('/api/subscribe-to-file-existence', {
|
|
74
|
+
file,
|
|
75
|
+
clientId,
|
|
76
|
+
});
|
|
77
|
+
return exists;
|
|
78
|
+
};
|
|
79
|
+
exports.subscribeToFileExistenceWatcher = subscribeToFileExistenceWatcher;
|
|
80
|
+
const openInFileExplorer = ({ directory }) => {
|
|
81
|
+
const body = {
|
|
82
|
+
directory,
|
|
83
|
+
};
|
|
84
|
+
return (0, exports.callApi)('/api/open-in-file-explorer', body);
|
|
85
|
+
};
|
|
86
|
+
exports.openInFileExplorer = openInFileExplorer;
|
|
87
|
+
const removeRenderJob = (job) => {
|
|
88
|
+
return (0, exports.callApi)('/api/remove-render', {
|
|
89
|
+
jobId: job.id,
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
exports.removeRenderJob = removeRenderJob;
|
|
93
|
+
const cancelRenderJob = (job) => {
|
|
94
|
+
return (0, exports.callApi)('/api/cancel', {
|
|
95
|
+
jobId: job.id,
|
|
96
|
+
});
|
|
97
|
+
};
|
|
98
|
+
exports.cancelRenderJob = cancelRenderJob;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { RenderJob } from '../../../preview-server/render-queue/job';
|
|
3
|
+
declare global {
|
|
4
|
+
interface Window {
|
|
5
|
+
remotion_initialRenderQueue: RenderJob[];
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
declare type RenderQueueContextType = {
|
|
9
|
+
jobs: RenderJob[];
|
|
10
|
+
};
|
|
11
|
+
export declare const RenderQueueContext: React.Context<RenderQueueContextType>;
|
|
12
|
+
export declare const useShouldRenderLeftSidebarTabs: () => boolean;
|
|
13
|
+
export declare const renderJobsRef: React.RefObject<{
|
|
14
|
+
updateRenderJobs: (jobs: RenderJob[]) => void;
|
|
15
|
+
}>;
|
|
16
|
+
export declare const RenderQueueContextProvider: React.FC<{
|
|
17
|
+
children: React.ReactNode;
|
|
18
|
+
}>;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.RenderQueueContextProvider = exports.renderJobsRef = exports.useShouldRenderLeftSidebarTabs = exports.RenderQueueContext = void 0;
|
|
27
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
28
|
+
const react_1 = __importStar(require("react"));
|
|
29
|
+
const client_id_1 = require("../../helpers/client-id");
|
|
30
|
+
exports.RenderQueueContext = react_1.default.createContext({
|
|
31
|
+
jobs: [],
|
|
32
|
+
});
|
|
33
|
+
const useShouldRenderLeftSidebarTabs = () => {
|
|
34
|
+
const context = (0, react_1.useContext)(exports.RenderQueueContext);
|
|
35
|
+
const previewServer = (0, react_1.useContext)(client_id_1.PreviewServerConnectionCtx);
|
|
36
|
+
return context.jobs.length > 0 && previewServer.type === 'connected';
|
|
37
|
+
};
|
|
38
|
+
exports.useShouldRenderLeftSidebarTabs = useShouldRenderLeftSidebarTabs;
|
|
39
|
+
exports.renderJobsRef = (0, react_1.createRef)();
|
|
40
|
+
const RenderQueueContextProvider = ({ children }) => {
|
|
41
|
+
const [jobs, setJobs] = (0, react_1.useState)(window.remotion_initialRenderQueue);
|
|
42
|
+
const value = (0, react_1.useMemo)(() => {
|
|
43
|
+
return {
|
|
44
|
+
jobs,
|
|
45
|
+
};
|
|
46
|
+
}, [jobs]);
|
|
47
|
+
(0, react_1.useImperativeHandle)(exports.renderJobsRef, () => {
|
|
48
|
+
return {
|
|
49
|
+
updateRenderJobs: (newJobs) => {
|
|
50
|
+
setJobs(newJobs);
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
}, []);
|
|
54
|
+
return ((0, jsx_runtime_1.jsx)(exports.RenderQueueContext.Provider, { value: value, children: children }));
|
|
55
|
+
};
|
|
56
|
+
exports.RenderQueueContextProvider = RenderQueueContextProvider;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RenderQueue = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const colors_1 = require("../../helpers/colors");
|
|
7
|
+
const context_1 = require("./context");
|
|
8
|
+
const RenderQueueItem_1 = require("./RenderQueueItem");
|
|
9
|
+
const separatorStyle = {
|
|
10
|
+
borderBottom: `1px solid ${colors_1.BORDER_COLOR}`,
|
|
11
|
+
};
|
|
12
|
+
const RenderQueue = () => {
|
|
13
|
+
const { jobs } = (0, react_1.useContext)(context_1.RenderQueueContext);
|
|
14
|
+
return ((0, jsx_runtime_1.jsx)("div", { children: jobs.map((j, index) => {
|
|
15
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: index === jobs.length - 1 ? undefined : separatorStyle, children: (0, jsx_runtime_1.jsx)(RenderQueueItem_1.RenderQueueItem, { job: j }) }, j.id));
|
|
16
|
+
}) }));
|
|
17
|
+
};
|
|
18
|
+
exports.RenderQueue = RenderQueue;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.renderQueueItemSubtitleStyle = void 0;
|
|
4
|
+
const colors_1 = require("../../helpers/colors");
|
|
5
|
+
const layout_1 = require("../layout");
|
|
6
|
+
exports.renderQueueItemSubtitleStyle = {
|
|
7
|
+
fontSize: 13,
|
|
8
|
+
color: colors_1.LIGHT_TEXT,
|
|
9
|
+
appearance: 'none',
|
|
10
|
+
border: 'none',
|
|
11
|
+
padding: 0,
|
|
12
|
+
cursor: 'pointer',
|
|
13
|
+
lineHeight: 1.2,
|
|
14
|
+
textAlign: 'left',
|
|
15
|
+
whiteSpace: 'nowrap',
|
|
16
|
+
marginRight: layout_1.SPACING_UNIT,
|
|
17
|
+
overflowX: 'hidden',
|
|
18
|
+
// size smaller than viewport causes actual ellipse
|
|
19
|
+
maxWidth: 500,
|
|
20
|
+
textOverflow: 'ellipsis',
|
|
21
|
+
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RenderStillButton = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const remotion_1 = require("remotion");
|
|
7
|
+
const get_default_out_name_1 = require("../../get-default-out-name");
|
|
8
|
+
const get_default_video_contexts_1 = require("../../preview-server/render-queue/get-default-video-contexts");
|
|
9
|
+
const client_id_1 = require("../helpers/client-id");
|
|
10
|
+
const render_1 = require("../icons/render");
|
|
11
|
+
const modals_1 = require("../state/modals");
|
|
12
|
+
const ControlButton_1 = require("./ControlButton");
|
|
13
|
+
const RenderStillButton = () => {
|
|
14
|
+
const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
|
|
15
|
+
const { type } = (0, react_1.useContext)(client_id_1.PreviewServerConnectionCtx);
|
|
16
|
+
const iconStyle = (0, react_1.useMemo)(() => {
|
|
17
|
+
return {
|
|
18
|
+
style: {
|
|
19
|
+
height: 15,
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
}, []);
|
|
23
|
+
const tooltip = type === 'connected'
|
|
24
|
+
? 'Export the current frame as a still image'
|
|
25
|
+
: 'Connect to the preview server to render';
|
|
26
|
+
const video = remotion_1.Internals.useVideo();
|
|
27
|
+
const frame = (0, remotion_1.useCurrentFrame)();
|
|
28
|
+
const onClick = (0, react_1.useCallback)(() => {
|
|
29
|
+
var _a, _b;
|
|
30
|
+
if (!video) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
const isVideo = video.durationInFrames > 1;
|
|
34
|
+
const defaults = window.remotion_renderDefaults;
|
|
35
|
+
if (!defaults) {
|
|
36
|
+
throw new TypeError('Expected defaults');
|
|
37
|
+
}
|
|
38
|
+
const { initialAudioCodec, initialRenderType, initialVideoCodec } = (0, get_default_video_contexts_1.getDefaultCodecs)({
|
|
39
|
+
defaultCodec: defaults.codec,
|
|
40
|
+
isStill: !isVideo,
|
|
41
|
+
});
|
|
42
|
+
setSelectedModal({
|
|
43
|
+
type: 'render',
|
|
44
|
+
compositionId: video.id,
|
|
45
|
+
initialFrame: frame,
|
|
46
|
+
initialStillImageFormat: defaults.stillImageFormat,
|
|
47
|
+
initialVideoImageFormat: defaults.videoImageFormat,
|
|
48
|
+
initialOutName: (0, get_default_out_name_1.getDefaultOutLocation)({
|
|
49
|
+
compositionName: video.id,
|
|
50
|
+
defaultExtension: isVideo ? 'mp4' : 'png',
|
|
51
|
+
type: 'asset',
|
|
52
|
+
}),
|
|
53
|
+
initialQuality: defaults.quality,
|
|
54
|
+
initialScale: (_b = (_a = window.remotion_renderDefaults) === null || _a === void 0 ? void 0 : _a.scale) !== null && _b !== void 0 ? _b : 1,
|
|
55
|
+
initialVerbose: defaults.logLevel === 'verbose',
|
|
56
|
+
initialAudioCodec,
|
|
57
|
+
initialRenderType,
|
|
58
|
+
initialVideoCodec,
|
|
59
|
+
initialConcurrency: defaults.concurrency,
|
|
60
|
+
maxConcurrency: defaults.maxConcurrency,
|
|
61
|
+
minConcurrency: defaults.minConcurrency,
|
|
62
|
+
initialMuted: defaults.muted,
|
|
63
|
+
initialEnforceAudioTrack: defaults.enforceAudioTrack,
|
|
64
|
+
initialProResProfile: defaults.proResProfile,
|
|
65
|
+
initialPixelFormat: defaults.pixelFormat,
|
|
66
|
+
initialAudioBitrate: defaults.audioBitrate,
|
|
67
|
+
initialVideoBitrate: defaults.videoBitrate,
|
|
68
|
+
initialEveryNthFrame: defaults.everyNthFrame,
|
|
69
|
+
initialNumberOfGifLoops: defaults.numberOfGifLoops,
|
|
70
|
+
initialDelayRenderTimeout: defaults.delayRenderTimeout,
|
|
71
|
+
});
|
|
72
|
+
}, [video, frame, setSelectedModal]);
|
|
73
|
+
if (!video) {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
return ((0, jsx_runtime_1.jsx)(ControlButton_1.ControlButton, { id: "render-modal-button", disabled: type !== 'connected', title: tooltip, "aria-label": tooltip, onClick: onClick, children: (0, jsx_runtime_1.jsx)(render_1.RenderIcon, { svgProps: iconStyle }) }));
|
|
77
|
+
};
|
|
78
|
+
exports.RenderStillButton = RenderStillButton;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RendersTab = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const colors_1 = require("../helpers/colors");
|
|
7
|
+
const layout_1 = require("./layout");
|
|
8
|
+
const context_1 = require("./RenderQueue/context");
|
|
9
|
+
const Tabs_1 = require("./Tabs");
|
|
10
|
+
const row = {
|
|
11
|
+
display: 'flex',
|
|
12
|
+
flexDirection: 'row',
|
|
13
|
+
fontSize: 13,
|
|
14
|
+
justifyContent: 'center',
|
|
15
|
+
color: 'inherit',
|
|
16
|
+
alignItems: 'center',
|
|
17
|
+
};
|
|
18
|
+
const badge = {
|
|
19
|
+
height: 16,
|
|
20
|
+
width: 16,
|
|
21
|
+
borderRadius: 8,
|
|
22
|
+
fontSize: 10,
|
|
23
|
+
display: 'inline-flex',
|
|
24
|
+
justifyContent: 'center',
|
|
25
|
+
alignItems: 'center',
|
|
26
|
+
};
|
|
27
|
+
const RendersTab = ({ selected, onClick }) => {
|
|
28
|
+
const { jobs } = (0, react_1.useContext)(context_1.RenderQueueContext);
|
|
29
|
+
const failedJobs = jobs.filter((j) => j.status === 'failed').length;
|
|
30
|
+
const jobCount = jobs.length;
|
|
31
|
+
const badgeStyle = (0, react_1.useMemo)(() => {
|
|
32
|
+
return {
|
|
33
|
+
...badge,
|
|
34
|
+
backgroundColor: failedJobs > 0 ? colors_1.FAIL_COLOR : 'transparent',
|
|
35
|
+
color: failedJobs > 0 ? 'white' : colors_1.LIGHT_TEXT,
|
|
36
|
+
borderWidth: failedJobs > 0 ? 0 : 1,
|
|
37
|
+
borderStyle: 'solid',
|
|
38
|
+
borderColor: colors_1.LIGHT_TEXT,
|
|
39
|
+
};
|
|
40
|
+
}, [failedJobs]);
|
|
41
|
+
return ((0, jsx_runtime_1.jsx)(Tabs_1.Tab, { selected: selected, onClick: onClick, children: (0, jsx_runtime_1.jsxs)("div", { style: row, children: ["Renders", jobCount > 0 ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 0.5 }), (0, jsx_runtime_1.jsx)("div", { style: badgeStyle, children: jobCount })] })) : null] }) }));
|
|
42
|
+
};
|
|
43
|
+
exports.RendersTab = RendersTab;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { PropsWithChildren } from 'react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export declare type SegmentedControlItem = {
|
|
4
|
+
label: React.ReactNode;
|
|
5
|
+
onClick: () => void;
|
|
6
|
+
key: string;
|
|
7
|
+
selected: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare const SegmentedControl: React.FC<{
|
|
10
|
+
items: SegmentedControlItem[];
|
|
11
|
+
needsWrapping: boolean;
|
|
12
|
+
}>;
|
|
13
|
+
export declare const Item: React.FC<PropsWithChildren<{
|
|
14
|
+
selected: boolean;
|
|
15
|
+
onClick: () => void;
|
|
16
|
+
}>>;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Item = exports.SegmentedControl = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const colors_1 = require("../helpers/colors");
|
|
7
|
+
const z_index_1 = require("../state/z-index");
|
|
8
|
+
const container = {
|
|
9
|
+
display: 'flex',
|
|
10
|
+
flexDirection: 'row',
|
|
11
|
+
overflow: 'hidden',
|
|
12
|
+
border: '1px solid ' + colors_1.INPUT_BORDER_COLOR_UNHOVERED,
|
|
13
|
+
flexWrap: 'wrap',
|
|
14
|
+
maxWidth: '295px',
|
|
15
|
+
justifyContent: 'flex-end',
|
|
16
|
+
};
|
|
17
|
+
const item = {
|
|
18
|
+
display: 'flex',
|
|
19
|
+
fontSize: 15,
|
|
20
|
+
padding: '4px 12px',
|
|
21
|
+
cursor: 'pointer',
|
|
22
|
+
appearance: 'none',
|
|
23
|
+
border: 'none',
|
|
24
|
+
};
|
|
25
|
+
const SegmentedControl = ({ items, needsWrapping }) => {
|
|
26
|
+
const controlStyle = (0, react_1.useMemo)(() => {
|
|
27
|
+
if (needsWrapping) {
|
|
28
|
+
return {
|
|
29
|
+
...container,
|
|
30
|
+
flexWrap: 'wrap',
|
|
31
|
+
maxWidth: '248px',
|
|
32
|
+
justifyContent: 'flex-end',
|
|
33
|
+
marginBottom: '8px',
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
...container,
|
|
38
|
+
};
|
|
39
|
+
}, [needsWrapping]);
|
|
40
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: controlStyle, children: items.map((i) => {
|
|
41
|
+
return ((0, jsx_runtime_1.jsx)(exports.Item, { onClick: i.onClick, selected: i.selected, children: i.label }, i.key));
|
|
42
|
+
}) }));
|
|
43
|
+
};
|
|
44
|
+
exports.SegmentedControl = SegmentedControl;
|
|
45
|
+
const Item = ({ selected, onClick, children }) => {
|
|
46
|
+
const [hovered, setHovered] = (0, react_1.useState)(false);
|
|
47
|
+
const { tabIndex } = (0, z_index_1.useZIndex)();
|
|
48
|
+
const onPointerEnter = (0, react_1.useCallback)(() => {
|
|
49
|
+
setHovered(true);
|
|
50
|
+
}, []);
|
|
51
|
+
const onPointerLeave = (0, react_1.useCallback)(() => {
|
|
52
|
+
setHovered(false);
|
|
53
|
+
}, []);
|
|
54
|
+
const itemStyle = (0, react_1.useMemo)(() => {
|
|
55
|
+
return {
|
|
56
|
+
...item,
|
|
57
|
+
backgroundColor: selected ? colors_1.INPUT_BACKGROUND : 'transparent',
|
|
58
|
+
color: selected ? 'white' : hovered ? 'white' : colors_1.LIGHT_TEXT,
|
|
59
|
+
};
|
|
60
|
+
}, [hovered, selected]);
|
|
61
|
+
return ((0, jsx_runtime_1.jsx)("button", { type: "button", onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, style: itemStyle, tabIndex: tabIndex, onClick: onClick, children: children }));
|
|
62
|
+
};
|
|
63
|
+
exports.Item = Item;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SidebarContent = exports.leftSidebarTabs = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const colors_1 = require("../helpers/colors");
|
|
7
|
+
const CompositionSelector_1 = require("./CompositionSelector");
|
|
8
|
+
const CurrentCompositionSideEffects_1 = require("./CurrentCompositionSideEffects");
|
|
9
|
+
const RenderQueue_1 = require("./RenderQueue");
|
|
10
|
+
const context_1 = require("./RenderQueue/context");
|
|
11
|
+
const RendersTab_1 = require("./RendersTab");
|
|
12
|
+
const Tabs_1 = require("./Tabs");
|
|
13
|
+
const container = {
|
|
14
|
+
width: '100%',
|
|
15
|
+
};
|
|
16
|
+
const tabsContainer = {
|
|
17
|
+
borderBottom: `1px solid ${colors_1.BORDER_COLOR}`,
|
|
18
|
+
};
|
|
19
|
+
exports.leftSidebarTabs = (0, react_1.createRef)();
|
|
20
|
+
const localStorageKey = 'remotion.sidebarPanel';
|
|
21
|
+
const persistSelectedPanel = (panel) => {
|
|
22
|
+
localStorage.setItem(localStorageKey, panel);
|
|
23
|
+
};
|
|
24
|
+
const getSelectedPanel = (shouldRender) => {
|
|
25
|
+
const panel = localStorage.getItem(localStorageKey);
|
|
26
|
+
if (panel === 'renders' && shouldRender) {
|
|
27
|
+
return 'renders';
|
|
28
|
+
}
|
|
29
|
+
return 'compositions';
|
|
30
|
+
};
|
|
31
|
+
const SidebarContent = () => {
|
|
32
|
+
const shouldRender = (0, context_1.useShouldRenderLeftSidebarTabs)();
|
|
33
|
+
const [panel, setPanel] = (0, react_1.useState)(() => getSelectedPanel(shouldRender));
|
|
34
|
+
const onCompositionsSelected = (0, react_1.useCallback)(() => {
|
|
35
|
+
setPanel('compositions');
|
|
36
|
+
persistSelectedPanel('compositions');
|
|
37
|
+
}, []);
|
|
38
|
+
const onRendersSelected = (0, react_1.useCallback)(() => {
|
|
39
|
+
setPanel('renders');
|
|
40
|
+
persistSelectedPanel('renders');
|
|
41
|
+
}, []);
|
|
42
|
+
(0, react_1.useImperativeHandle)(exports.leftSidebarTabs, () => {
|
|
43
|
+
return {
|
|
44
|
+
selectRendersPanel: () => {
|
|
45
|
+
setPanel('renders');
|
|
46
|
+
persistSelectedPanel('renders');
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}, []);
|
|
50
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [shouldRender ? ((0, jsx_runtime_1.jsx)("div", { style: tabsContainer, children: (0, jsx_runtime_1.jsxs)(Tabs_1.Tabs, { children: [(0, jsx_runtime_1.jsx)(Tabs_1.Tab, { selected: panel === 'compositions', onClick: onCompositionsSelected, children: "Compositions" }), (0, jsx_runtime_1.jsx)(RendersTab_1.RendersTab, { onClick: onRendersSelected, selected: panel === 'renders' })] }) })) : null, panel === 'renders' && shouldRender ? ((0, jsx_runtime_1.jsx)(RenderQueue_1.RenderQueue, {})) : ((0, jsx_runtime_1.jsx)(CompositionSelector_1.CompositionSelector, {})), (0, jsx_runtime_1.jsx)(CurrentCompositionSideEffects_1.CurrentCompositionKeybindings, {}), (0, jsx_runtime_1.jsx)(CurrentCompositionSideEffects_1.TitleUpdater, {})] }));
|
|
51
|
+
};
|
|
52
|
+
exports.SidebarContent = SidebarContent;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare const Tabs: React.FC<{
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
style?: React.CSSProperties;
|
|
5
|
+
}>;
|
|
6
|
+
export declare const Tab: React.FC<{
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
onClick: React.MouseEventHandler<HTMLButtonElement>;
|
|
9
|
+
style?: React.CSSProperties;
|
|
10
|
+
selected: boolean;
|
|
11
|
+
}>;
|