@remotion/cli 3.1.7 → 3.1.8
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/bundle-on-cli.d.ts +2 -0
- package/dist/bundle-on-cli.js +41 -0
- package/dist/bundle.d.ts +1 -0
- package/dist/bundle.js +31 -0
- package/dist/chalk/symbols.d.ts +111 -0
- package/dist/chalk/symbols.js +75 -0
- package/dist/chalk/utilities.d.ts +2 -0
- package/dist/chalk/utilities.js +37 -0
- package/dist/compositions.js +4 -1
- package/dist/editor/components/CompositionManager.d.ts +4 -0
- package/dist/editor/components/CompositionManager.js +60 -0
- package/dist/editor/components/LoadingIndicator.d.ts +2 -0
- package/dist/editor/components/LoadingIndicator.js +35 -0
- package/dist/editor/components/Menu/MenuItem.js +1 -1
- package/dist/editor/components/Menu/MenuSubItem.js +1 -1
- package/dist/editor/components/Menu/styles.d.ts +3 -2
- package/dist/editor/components/Menu/styles.js +10 -3
- package/dist/editor/components/NewComposition/ComboBox.js +12 -2
- package/dist/editor/components/Timeline/TimelineScrollable.d.ts +4 -0
- package/dist/editor/components/Timeline/TimelineScrollable.js +23 -0
- package/dist/editor/components/Timeline/TimelineZoomControls.d.ts +2 -0
- package/dist/editor/components/Timeline/TimelineZoomControls.js +29 -0
- package/dist/editor/components/Timeline/timeline-scroll-logic.d.ts +4 -0
- package/dist/editor/components/Timeline/timeline-scroll-logic.js +13 -0
- package/dist/editor/state/timeline-zoom.d.ts +10 -0
- package/dist/editor/state/timeline-zoom.js +24 -0
- package/dist/prepare-entry-point.d.ts +11 -0
- package/dist/prepare-entry-point.js +36 -0
- package/dist/preview-server/fast-refresh/helpers.d.ts +39 -0
- package/dist/preview-server/fast-refresh/helpers.js +145 -0
- package/dist/preview-server/fast-refresh/index.d.ts +30 -0
- package/dist/preview-server/fast-refresh/index.js +86 -0
- package/dist/preview-server/fast-refresh/loader.d.ts +35 -0
- package/dist/preview-server/fast-refresh/loader.js +81 -0
- package/dist/preview-server/fast-refresh/runtime.d.ts +35 -0
- package/dist/preview-server/fast-refresh/runtime.js +32 -0
- package/dist/preview-server/static-preview.d.ts +1 -0
- package/dist/preview-server/static-preview.js +40 -0
- package/dist/preview-server/webpack-cache.d.ts +12 -0
- package/dist/preview-server/webpack-cache.js +66 -0
- package/dist/render.js +9 -5
- package/dist/setup-cache.d.ts +8 -0
- package/dist/setup-cache.js +16 -1
- package/dist/still.js +6 -5
- package/dist/webpack-cache.d.ts +2 -2
- package/dist/webpack-cache.js +10 -10
- package/package.json +10 -10
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bundleOnCli = void 0;
|
|
4
|
+
const bundler_1 = require("@remotion/bundler");
|
|
5
|
+
const remotion_1 = require("remotion");
|
|
6
|
+
const log_1 = require("./log");
|
|
7
|
+
const parse_command_line_1 = require("./parse-command-line");
|
|
8
|
+
const progress_bar_1 = require("./progress-bar");
|
|
9
|
+
const bundleOnCli = async (fullPath, steps) => {
|
|
10
|
+
var _a;
|
|
11
|
+
const shouldCache = remotion_1.Internals.getWebpackCaching();
|
|
12
|
+
const cacheExistedBefore = bundler_1.BundlerInternals.cacheExists('production', null);
|
|
13
|
+
if (cacheExistedBefore && !shouldCache) {
|
|
14
|
+
log_1.Log.info('🧹 Cache disabled but found. Deleting... ');
|
|
15
|
+
await bundler_1.BundlerInternals.clearCache('production', null);
|
|
16
|
+
}
|
|
17
|
+
const bundleStartTime = Date.now();
|
|
18
|
+
const bundlingProgress = (0, progress_bar_1.createOverwriteableCliOutput)((0, parse_command_line_1.quietFlagProvided)());
|
|
19
|
+
const bundled = await (0, bundler_1.bundle)(fullPath, (progress) => {
|
|
20
|
+
bundlingProgress.update((0, progress_bar_1.makeBundlingProgress)({
|
|
21
|
+
progress: progress / 100,
|
|
22
|
+
steps,
|
|
23
|
+
doneIn: null,
|
|
24
|
+
}));
|
|
25
|
+
}, {
|
|
26
|
+
enableCaching: shouldCache,
|
|
27
|
+
webpackOverride: (_a = remotion_1.Internals.getWebpackOverrideFn()) !== null && _a !== void 0 ? _a : remotion_1.Internals.defaultOverrideFunction,
|
|
28
|
+
});
|
|
29
|
+
bundlingProgress.update((0, progress_bar_1.makeBundlingProgress)({
|
|
30
|
+
progress: 1,
|
|
31
|
+
steps,
|
|
32
|
+
doneIn: Date.now() - bundleStartTime,
|
|
33
|
+
}) + '\n');
|
|
34
|
+
log_1.Log.verbose('Bundled under', bundled);
|
|
35
|
+
const cacheExistedAfter = bundler_1.BundlerInternals.cacheExists('production', null);
|
|
36
|
+
if (cacheExistedAfter && !cacheExistedBefore) {
|
|
37
|
+
log_1.Log.info('⚡️ Cached bundle. Subsequent renders will be faster.');
|
|
38
|
+
}
|
|
39
|
+
return bundled;
|
|
40
|
+
};
|
|
41
|
+
exports.bundleOnCli = bundleOnCli;
|
package/dist/bundle.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const bundleCommand: () => Promise<void>;
|
package/dist/bundle.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bundleCommand = void 0;
|
|
4
|
+
const get_cli_options_1 = require("./get-cli-options");
|
|
5
|
+
const initialize_render_cli_1 = require("./initialize-render-cli");
|
|
6
|
+
const log_1 = require("./log");
|
|
7
|
+
const parse_command_line_1 = require("./parse-command-line");
|
|
8
|
+
const prepare_entry_point_1 = require("./prepare-entry-point");
|
|
9
|
+
const bundleCommand = async () => {
|
|
10
|
+
const file = parse_command_line_1.parsedCli._[1];
|
|
11
|
+
if (!file) {
|
|
12
|
+
log_1.Log.error('No entry point specified. Pass more arguments:');
|
|
13
|
+
log_1.Log.error(' npx remotion bundle [entry-point]');
|
|
14
|
+
log_1.Log.error('Documentation: https://www.remotion.dev/docs/render');
|
|
15
|
+
process.exit(1);
|
|
16
|
+
}
|
|
17
|
+
await (0, initialize_render_cli_1.initializeRenderCli)('bundle');
|
|
18
|
+
const { publicPath, bundleOutDir } = await (0, get_cli_options_1.getCliOptions)({
|
|
19
|
+
isLambda: false,
|
|
20
|
+
type: 'get-compositions-or-bundle',
|
|
21
|
+
});
|
|
22
|
+
const { urlOrBundle } = await (0, prepare_entry_point_1.prepareEntryPoint)({
|
|
23
|
+
file,
|
|
24
|
+
otherSteps: [],
|
|
25
|
+
outDir: bundleOutDir,
|
|
26
|
+
publicPath,
|
|
27
|
+
});
|
|
28
|
+
log_1.Log.info();
|
|
29
|
+
log_1.Log.info(urlOrBundle);
|
|
30
|
+
};
|
|
31
|
+
exports.bundleCommand = bundleCommand;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
declare const isHyper: boolean;
|
|
2
|
+
declare const isWindows: boolean;
|
|
3
|
+
declare const isLinux: boolean;
|
|
4
|
+
declare const common: {
|
|
5
|
+
ballotDisabled: string;
|
|
6
|
+
ballotOff: string;
|
|
7
|
+
ballotOn: string;
|
|
8
|
+
bullet: string;
|
|
9
|
+
bulletWhite: string;
|
|
10
|
+
fullBlock: string;
|
|
11
|
+
heart: string;
|
|
12
|
+
identicalTo: string;
|
|
13
|
+
line: string;
|
|
14
|
+
mark: string;
|
|
15
|
+
middot: string;
|
|
16
|
+
minus: string;
|
|
17
|
+
multiplication: string;
|
|
18
|
+
obelus: string;
|
|
19
|
+
pencilDownRight: string;
|
|
20
|
+
pencilRight: string;
|
|
21
|
+
pencilUpRight: string;
|
|
22
|
+
percent: string;
|
|
23
|
+
pilcrow2: string;
|
|
24
|
+
pilcrow: string;
|
|
25
|
+
plusMinus: string;
|
|
26
|
+
question: string;
|
|
27
|
+
section: string;
|
|
28
|
+
starsOff: string;
|
|
29
|
+
starsOn: string;
|
|
30
|
+
upDownArrow: string;
|
|
31
|
+
};
|
|
32
|
+
declare const windows: {
|
|
33
|
+
check: string;
|
|
34
|
+
cross: string;
|
|
35
|
+
ellipsisLarge: string;
|
|
36
|
+
ellipsis: string;
|
|
37
|
+
info: string;
|
|
38
|
+
questionSmall: string;
|
|
39
|
+
pointer: string;
|
|
40
|
+
pointerSmall: string;
|
|
41
|
+
radioOff: string;
|
|
42
|
+
radioOn: string;
|
|
43
|
+
warning: string;
|
|
44
|
+
ballotDisabled: string;
|
|
45
|
+
ballotOff: string;
|
|
46
|
+
ballotOn: string;
|
|
47
|
+
bullet: string;
|
|
48
|
+
bulletWhite: string;
|
|
49
|
+
fullBlock: string;
|
|
50
|
+
heart: string;
|
|
51
|
+
identicalTo: string;
|
|
52
|
+
line: string;
|
|
53
|
+
mark: string;
|
|
54
|
+
middot: string;
|
|
55
|
+
minus: string;
|
|
56
|
+
multiplication: string;
|
|
57
|
+
obelus: string;
|
|
58
|
+
pencilDownRight: string;
|
|
59
|
+
pencilRight: string;
|
|
60
|
+
pencilUpRight: string;
|
|
61
|
+
percent: string;
|
|
62
|
+
pilcrow2: string;
|
|
63
|
+
pilcrow: string;
|
|
64
|
+
plusMinus: string;
|
|
65
|
+
question: string;
|
|
66
|
+
section: string;
|
|
67
|
+
starsOff: string;
|
|
68
|
+
starsOn: string;
|
|
69
|
+
upDownArrow: string;
|
|
70
|
+
};
|
|
71
|
+
declare const other: {
|
|
72
|
+
ballotCross: string;
|
|
73
|
+
check: string;
|
|
74
|
+
cross: string;
|
|
75
|
+
ellipsisLarge: string;
|
|
76
|
+
ellipsis: string;
|
|
77
|
+
info: string;
|
|
78
|
+
questionFull: string;
|
|
79
|
+
questionSmall: string;
|
|
80
|
+
pointer: string;
|
|
81
|
+
pointerSmall: string;
|
|
82
|
+
radioOff: string;
|
|
83
|
+
radioOn: string;
|
|
84
|
+
warning: string;
|
|
85
|
+
ballotDisabled: string;
|
|
86
|
+
ballotOff: string;
|
|
87
|
+
ballotOn: string;
|
|
88
|
+
bullet: string;
|
|
89
|
+
bulletWhite: string;
|
|
90
|
+
fullBlock: string;
|
|
91
|
+
heart: string;
|
|
92
|
+
identicalTo: string;
|
|
93
|
+
line: string;
|
|
94
|
+
mark: string;
|
|
95
|
+
middot: string;
|
|
96
|
+
minus: string;
|
|
97
|
+
multiplication: string;
|
|
98
|
+
obelus: string;
|
|
99
|
+
pencilDownRight: string;
|
|
100
|
+
pencilRight: string;
|
|
101
|
+
pencilUpRight: string;
|
|
102
|
+
percent: string;
|
|
103
|
+
pilcrow2: string;
|
|
104
|
+
pilcrow: string;
|
|
105
|
+
plusMinus: string;
|
|
106
|
+
question: string;
|
|
107
|
+
section: string;
|
|
108
|
+
starsOff: string;
|
|
109
|
+
starsOn: string;
|
|
110
|
+
upDownArrow: string;
|
|
111
|
+
};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const isHyper = typeof process !== 'undefined' && process.env.TERM_PROGRAM === 'Hyper';
|
|
3
|
+
const isWindows = typeof process !== 'undefined' && process.platform === 'win32';
|
|
4
|
+
const isLinux = typeof process !== 'undefined' && process.platform === 'linux';
|
|
5
|
+
const common = {
|
|
6
|
+
ballotDisabled: '☒',
|
|
7
|
+
ballotOff: '☐',
|
|
8
|
+
ballotOn: '☑',
|
|
9
|
+
bullet: '•',
|
|
10
|
+
bulletWhite: '◦',
|
|
11
|
+
fullBlock: '█',
|
|
12
|
+
heart: '❤',
|
|
13
|
+
identicalTo: '≡',
|
|
14
|
+
line: '─',
|
|
15
|
+
mark: '※',
|
|
16
|
+
middot: '·',
|
|
17
|
+
minus: '-',
|
|
18
|
+
multiplication: '×',
|
|
19
|
+
obelus: '÷',
|
|
20
|
+
pencilDownRight: '✎',
|
|
21
|
+
pencilRight: '✏',
|
|
22
|
+
pencilUpRight: '✐',
|
|
23
|
+
percent: '%',
|
|
24
|
+
pilcrow2: '❡',
|
|
25
|
+
pilcrow: '¶',
|
|
26
|
+
plusMinus: '±',
|
|
27
|
+
question: '?',
|
|
28
|
+
section: '§',
|
|
29
|
+
starsOff: '☆',
|
|
30
|
+
starsOn: '★',
|
|
31
|
+
upDownArrow: '↕',
|
|
32
|
+
};
|
|
33
|
+
const windows = {
|
|
34
|
+
...common,
|
|
35
|
+
check: '√',
|
|
36
|
+
cross: '×',
|
|
37
|
+
ellipsisLarge: '...',
|
|
38
|
+
ellipsis: '...',
|
|
39
|
+
info: 'i',
|
|
40
|
+
questionSmall: '?',
|
|
41
|
+
pointer: '>',
|
|
42
|
+
pointerSmall: '»',
|
|
43
|
+
radioOff: '( )',
|
|
44
|
+
radioOn: '(*)',
|
|
45
|
+
warning: '‼',
|
|
46
|
+
};
|
|
47
|
+
const other = {
|
|
48
|
+
...common,
|
|
49
|
+
ballotCross: '✘',
|
|
50
|
+
check: '✔',
|
|
51
|
+
cross: '✖',
|
|
52
|
+
ellipsisLarge: '⋯',
|
|
53
|
+
ellipsis: '…',
|
|
54
|
+
info: 'ℹ',
|
|
55
|
+
questionFull: '?',
|
|
56
|
+
questionSmall: '﹖',
|
|
57
|
+
pointer: isLinux ? '▸' : '❯',
|
|
58
|
+
pointerSmall: isLinux ? '‣' : '›',
|
|
59
|
+
radioOff: '◯',
|
|
60
|
+
radioOn: '◉',
|
|
61
|
+
warning: '⚠',
|
|
62
|
+
};
|
|
63
|
+
module.exports = isWindows && !isHyper ? windows : other;
|
|
64
|
+
Reflect.defineProperty(module.exports, 'common', {
|
|
65
|
+
enumerable: false,
|
|
66
|
+
value: common,
|
|
67
|
+
});
|
|
68
|
+
Reflect.defineProperty(module.exports, 'windows', {
|
|
69
|
+
enumerable: false,
|
|
70
|
+
value: windows,
|
|
71
|
+
});
|
|
72
|
+
Reflect.defineProperty(module.exports, 'other', {
|
|
73
|
+
enumerable: false,
|
|
74
|
+
value: other,
|
|
75
|
+
});
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stringEncaseCRLFWithFirstIndex = exports.stringReplaceAll = void 0;
|
|
4
|
+
function stringReplaceAll(string, substring, replacer) {
|
|
5
|
+
let index = string.indexOf(substring);
|
|
6
|
+
if (index === -1) {
|
|
7
|
+
return string;
|
|
8
|
+
}
|
|
9
|
+
const substringLength = substring.length;
|
|
10
|
+
let endIndex = 0;
|
|
11
|
+
let returnValue = '';
|
|
12
|
+
do {
|
|
13
|
+
returnValue += string.slice(endIndex, index) + substring + replacer;
|
|
14
|
+
endIndex = index + substringLength;
|
|
15
|
+
index = string.indexOf(substring, endIndex);
|
|
16
|
+
} while (index !== -1);
|
|
17
|
+
returnValue += string.slice(endIndex);
|
|
18
|
+
return returnValue;
|
|
19
|
+
}
|
|
20
|
+
exports.stringReplaceAll = stringReplaceAll;
|
|
21
|
+
function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
|
|
22
|
+
let endIndex = 0;
|
|
23
|
+
let returnValue = '';
|
|
24
|
+
do {
|
|
25
|
+
const gotCR = string[index - 1] === '\r';
|
|
26
|
+
returnValue +=
|
|
27
|
+
string.slice(endIndex, gotCR ? index - 1 : index) +
|
|
28
|
+
prefix +
|
|
29
|
+
(gotCR ? '\r\n' : '\n') +
|
|
30
|
+
postfix;
|
|
31
|
+
endIndex = index + 1;
|
|
32
|
+
index = string.indexOf('\n', endIndex);
|
|
33
|
+
} while (index !== -1);
|
|
34
|
+
returnValue += string.slice(endIndex);
|
|
35
|
+
return returnValue;
|
|
36
|
+
}
|
|
37
|
+
exports.stringEncaseCRLFWithFirstIndex = stringEncaseCRLFWithFirstIndex;
|
package/dist/compositions.js
CHANGED
|
@@ -39,7 +39,7 @@ const listCompositionsCommand = async (remotionRoot) => {
|
|
|
39
39
|
isLambda: false,
|
|
40
40
|
type: 'get-compositions',
|
|
41
41
|
});
|
|
42
|
-
const bundled = await (0, setup_cache_1.
|
|
42
|
+
const { urlOrBundle: bundled, cleanup: cleanupBundle } = await (0, setup_cache_1.bundleOnCliOrTakeServeUrl)({
|
|
43
43
|
remotionRoot,
|
|
44
44
|
fullPath,
|
|
45
45
|
steps: ['bundling'],
|
|
@@ -85,5 +85,8 @@ const listCompositionsCommand = async (remotionRoot) => {
|
|
|
85
85
|
].join('');
|
|
86
86
|
})
|
|
87
87
|
.join('\n'));
|
|
88
|
+
await renderer_1.RenderInternals.cleanDownloadMap(downloadMap);
|
|
89
|
+
await cleanupBundle();
|
|
90
|
+
log_1.Log.verbose('Cleaned up', downloadMap.assetDir);
|
|
88
91
|
};
|
|
89
92
|
exports.listCompositionsCommand = listCompositionsCommand;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InitialCompositionLoader = exports.useSelectComposition = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const remotion_1 = require("remotion");
|
|
6
|
+
const folders_1 = require("../state/folders");
|
|
7
|
+
const marks_1 = require("../state/marks");
|
|
8
|
+
const CompositionSelector_1 = require("./CompositionSelector");
|
|
9
|
+
const FramePersistor_1 = require("./FramePersistor");
|
|
10
|
+
const TimelineInOutToggle_1 = require("./TimelineInOutToggle");
|
|
11
|
+
const useSelectComposition = () => {
|
|
12
|
+
const setCurrentFrame = remotion_1.Internals.Timeline.useTimelineSetFrame();
|
|
13
|
+
const { setCurrentComposition } = (0, react_1.useContext)(remotion_1.Internals.CompositionManager);
|
|
14
|
+
const { setFoldersExpanded } = (0, react_1.useContext)(folders_1.FolderContext);
|
|
15
|
+
return (c) => {
|
|
16
|
+
var _a;
|
|
17
|
+
(_a = TimelineInOutToggle_1.inOutHandles.current) === null || _a === void 0 ? void 0 : _a.setMarks((0, marks_1.loadMarks)(c.id, c.durationInFrames));
|
|
18
|
+
window.history.pushState({}, 'Preview', `/${c.id}`);
|
|
19
|
+
const frame = (0, FramePersistor_1.getFrameForComposition)(c.id);
|
|
20
|
+
const frameInBounds = Math.min(c.durationInFrames - 1, frame);
|
|
21
|
+
setCurrentFrame(frameInBounds);
|
|
22
|
+
setCurrentComposition(c.id);
|
|
23
|
+
const { folderName, parentFolderName } = c;
|
|
24
|
+
if (folderName !== null) {
|
|
25
|
+
setFoldersExpanded((ex) => {
|
|
26
|
+
const keysToExpand = (0, CompositionSelector_1.getKeysToExpand)(folderName, parentFolderName);
|
|
27
|
+
const newState = {
|
|
28
|
+
...ex,
|
|
29
|
+
};
|
|
30
|
+
for (const key of keysToExpand) {
|
|
31
|
+
newState[key] = true;
|
|
32
|
+
}
|
|
33
|
+
return newState;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
exports.useSelectComposition = useSelectComposition;
|
|
39
|
+
const InitialCompositionLoader = () => {
|
|
40
|
+
const { compositions, currentComposition } = (0, react_1.useContext)(remotion_1.Internals.CompositionManager);
|
|
41
|
+
const selectComposition = (0, exports.useSelectComposition)();
|
|
42
|
+
(0, react_1.useEffect)(() => {
|
|
43
|
+
if (currentComposition) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const compositionFromUrl = (0, FramePersistor_1.getCurrentCompositionFromUrl)();
|
|
47
|
+
if (compositionFromUrl) {
|
|
48
|
+
const exists = compositions.find((c) => c.id === compositionFromUrl);
|
|
49
|
+
if (exists) {
|
|
50
|
+
selectComposition(exists);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (compositions.length > 0) {
|
|
55
|
+
selectComposition(compositions[0]);
|
|
56
|
+
}
|
|
57
|
+
}, [compositions, currentComposition, selectComposition]);
|
|
58
|
+
return null;
|
|
59
|
+
};
|
|
60
|
+
exports.InitialCompositionLoader = InitialCompositionLoader;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Loading = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const remotion_1 = require("remotion");
|
|
6
|
+
const rotate = {
|
|
7
|
+
transform: `rotate(90deg)`,
|
|
8
|
+
};
|
|
9
|
+
const ICON_SIZE = 40;
|
|
10
|
+
const label = {
|
|
11
|
+
color: '#555',
|
|
12
|
+
fontSize: 14,
|
|
13
|
+
fontFamily: 'sans-serif',
|
|
14
|
+
};
|
|
15
|
+
const container = {
|
|
16
|
+
justifyContent: 'center',
|
|
17
|
+
alignItems: 'center',
|
|
18
|
+
};
|
|
19
|
+
const Loading = () => {
|
|
20
|
+
return ((0, jsx_runtime_1.jsxs)(remotion_1.AbsoluteFill, { style: container, id: "remotion-comp-loading", children: [(0, jsx_runtime_1.jsx)("style", { type: "text/css", children: `
|
|
21
|
+
@keyframes anim {
|
|
22
|
+
from {
|
|
23
|
+
opacity: 0
|
|
24
|
+
}
|
|
25
|
+
to {
|
|
26
|
+
opacity: 1
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
#remotion-comp-loading {
|
|
30
|
+
animation: anim 2s;
|
|
31
|
+
animation-fill-mode: forwards;
|
|
32
|
+
}
|
|
33
|
+
` }), (0, jsx_runtime_1.jsx)("svg", { width: ICON_SIZE, height: ICON_SIZE, viewBox: "-100 -100 400 400", style: rotate, children: (0, jsx_runtime_1.jsx)("path", { fill: "#555", stroke: "#555", strokeWidth: "100", strokeLinejoin: "round", d: "M 2 172 a 196 100 0 0 0 195 5 A 196 240 0 0 0 100 2.259 A 196 240 0 0 0 2 172 z" }) }), (0, jsx_runtime_1.jsx)("p", { style: label, children: "Loading..." })] }));
|
|
34
|
+
};
|
|
35
|
+
exports.Loading = Loading;
|
|
@@ -70,7 +70,7 @@ const MenuSubItem = ({ label, leaveLeftSpace, leftItem, onActionChosen, id, sele
|
|
|
70
70
|
return null;
|
|
71
71
|
}
|
|
72
72
|
return {
|
|
73
|
-
...styles_1.
|
|
73
|
+
...styles_1.menuContainerTowardsBottom,
|
|
74
74
|
left: size.left + size.width + styles_1.SUBMENU_LEFT_INSET,
|
|
75
75
|
top: size.top - styles_1.MENU_VERTICAL_PADDING,
|
|
76
76
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import type React from 'react';
|
|
2
2
|
export declare const MENU_VERTICAL_PADDING = 4;
|
|
3
3
|
export declare const SUBMENU_LEFT_INSET = -8;
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const menuContainerTowardsBottom: React.CSSProperties;
|
|
5
|
+
export declare const menuContainerTowardsTop: React.CSSProperties;
|
|
5
6
|
export declare const outerPortal: React.CSSProperties;
|
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.outerPortal = exports.
|
|
3
|
+
exports.outerPortal = exports.menuContainerTowardsTop = exports.menuContainerTowardsBottom = exports.SUBMENU_LEFT_INSET = exports.MENU_VERTICAL_PADDING = void 0;
|
|
4
4
|
const colors_1 = require("../../helpers/colors");
|
|
5
5
|
exports.MENU_VERTICAL_PADDING = 4;
|
|
6
6
|
exports.SUBMENU_LEFT_INSET = -8;
|
|
7
|
-
|
|
7
|
+
const menuContainer = {
|
|
8
8
|
backgroundColor: colors_1.BACKGROUND,
|
|
9
9
|
position: 'fixed',
|
|
10
|
-
boxShadow: '0 2px 8px rgba(0, 0, 0, 0.5)',
|
|
11
10
|
color: 'white',
|
|
12
11
|
userSelect: 'none',
|
|
13
12
|
minWidth: 200,
|
|
14
13
|
};
|
|
14
|
+
exports.menuContainerTowardsBottom = {
|
|
15
|
+
...menuContainer,
|
|
16
|
+
boxShadow: '0 2px 8px rgba(0, 0, 0, 0.5)',
|
|
17
|
+
};
|
|
18
|
+
exports.menuContainerTowardsTop = {
|
|
19
|
+
...menuContainer,
|
|
20
|
+
boxShadow: '0 -2px 8px rgba(0, 0, 0, 0.5)',
|
|
21
|
+
};
|
|
15
22
|
exports.outerPortal = {
|
|
16
23
|
position: 'fixed',
|
|
17
24
|
height: '100%',
|
|
@@ -60,10 +60,20 @@ const Combobox = ({ values, selectedId, style: customStyle, title }) => {
|
|
|
60
60
|
if (!opened || !size) {
|
|
61
61
|
return null;
|
|
62
62
|
}
|
|
63
|
+
const spaceToBottom = size.windowSize.height - (size.top + size.height);
|
|
64
|
+
const spaceToTop = size.top;
|
|
65
|
+
const layout = spaceToTop > spaceToBottom ? 'bottom' : 'top';
|
|
63
66
|
return {
|
|
64
|
-
...
|
|
67
|
+
...(layout === 'top'
|
|
68
|
+
? {
|
|
69
|
+
...styles_1.menuContainerTowardsBottom,
|
|
70
|
+
top: size.top + size.height,
|
|
71
|
+
}
|
|
72
|
+
: {
|
|
73
|
+
...styles_1.menuContainerTowardsTop,
|
|
74
|
+
bottom: size.windowSize.height - size.top,
|
|
75
|
+
}),
|
|
65
76
|
left: size.left,
|
|
66
|
-
top: size.top + size.height,
|
|
67
77
|
};
|
|
68
78
|
}, [opened, size]);
|
|
69
79
|
const selected = values.find((v) => v.id === selectedId);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TimelineScrollable = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const timeline_refs_1 = require("./timeline-refs");
|
|
7
|
+
const outer = {
|
|
8
|
+
width: '100%',
|
|
9
|
+
height: '100%',
|
|
10
|
+
overflowX: 'auto',
|
|
11
|
+
position: 'relative',
|
|
12
|
+
backgroundColor: '#111',
|
|
13
|
+
};
|
|
14
|
+
const TimelineScrollable = ({ children }) => {
|
|
15
|
+
const containerStyle = (0, react_1.useMemo)(() => {
|
|
16
|
+
return {
|
|
17
|
+
width: '100%',
|
|
18
|
+
height: '100%',
|
|
19
|
+
};
|
|
20
|
+
}, []);
|
|
21
|
+
return ((0, jsx_runtime_1.jsx)("div", { ref: timeline_refs_1.scrollableRef, style: outer, children: (0, jsx_runtime_1.jsx)("div", { style: containerStyle, children: children }) }));
|
|
22
|
+
};
|
|
23
|
+
exports.TimelineScrollable = TimelineScrollable;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TimelineZoomControls = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const timeline_zoom_1 = require("../../state/timeline-zoom");
|
|
7
|
+
const ControlButton_1 = require("../ControlButton");
|
|
8
|
+
const container = {
|
|
9
|
+
color: 'black',
|
|
10
|
+
flexDirection: 'row',
|
|
11
|
+
display: 'flex',
|
|
12
|
+
};
|
|
13
|
+
const buttonStyle = {
|
|
14
|
+
fontSize: 24,
|
|
15
|
+
};
|
|
16
|
+
const TimelineZoomControls = () => {
|
|
17
|
+
const { setZoom, zoom } = (0, react_1.useContext)(timeline_zoom_1.TimelineZoomCtx);
|
|
18
|
+
const onMinusClicked = (0, react_1.useCallback)(() => {
|
|
19
|
+
setZoom((z) => Math.max(timeline_zoom_1.TIMELINE_MIN_ZOOM, z - 0.2));
|
|
20
|
+
}, [setZoom]);
|
|
21
|
+
const onPlusClicked = (0, react_1.useCallback)(() => {
|
|
22
|
+
setZoom((z) => Math.min(timeline_zoom_1.TIMELINE_MAX_ZOOM, z + 0.2));
|
|
23
|
+
}, [setZoom]);
|
|
24
|
+
const onChange = (0, react_1.useCallback)((e) => {
|
|
25
|
+
setZoom(Number(e.target.value));
|
|
26
|
+
}, [setZoom]);
|
|
27
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)(ControlButton_1.ControlButton, { onClick: onMinusClicked, style: buttonStyle, title: "Zoom out timeline", role: 'ControlButton', type: "button", children: "-" }), (0, jsx_runtime_1.jsx)("input", { type: 'range', min: timeline_zoom_1.TIMELINE_MIN_ZOOM, step: 0.1, value: zoom, max: timeline_zoom_1.TIMELINE_MAX_ZOOM, onChange: onChange }), (0, jsx_runtime_1.jsx)(ControlButton_1.ControlButton, { onClick: onPlusClicked, style: buttonStyle, title: "Zoom in timeline", role: 'button', type: "button", children: "+" })] }));
|
|
28
|
+
};
|
|
29
|
+
exports.TimelineZoomControls = TimelineZoomControls;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.canScrollTimelineIntoDirection = void 0;
|
|
4
|
+
const timeline_layout_1 = require("../../helpers/timeline-layout");
|
|
5
|
+
const timeline_refs_1 = require("./timeline-refs");
|
|
6
|
+
const canScrollTimelineIntoDirection = () => {
|
|
7
|
+
const current = timeline_refs_1.scrollableRef.current;
|
|
8
|
+
const { scrollWidth, scrollLeft, clientWidth } = current;
|
|
9
|
+
const canScrollRight = scrollWidth - scrollLeft - clientWidth > timeline_layout_1.TIMELINE_PADDING;
|
|
10
|
+
const canScrollLeft = scrollLeft > timeline_layout_1.TIMELINE_PADDING;
|
|
11
|
+
return { canScrollRight, canScrollLeft };
|
|
12
|
+
};
|
|
13
|
+
exports.canScrollTimelineIntoDirection = canScrollTimelineIntoDirection;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare const TIMELINE_MIN_ZOOM = 1;
|
|
3
|
+
export declare const TIMELINE_MAX_ZOOM = 5;
|
|
4
|
+
export declare const TimelineZoomCtx: React.Context<{
|
|
5
|
+
zoom: number;
|
|
6
|
+
setZoom: React.Dispatch<React.SetStateAction<number>>;
|
|
7
|
+
}>;
|
|
8
|
+
export declare const TimelineZoomContext: React.FC<{
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
}>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TimelineZoomContext = exports.TimelineZoomCtx = exports.TIMELINE_MAX_ZOOM = exports.TIMELINE_MIN_ZOOM = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
exports.TIMELINE_MIN_ZOOM = 1;
|
|
7
|
+
exports.TIMELINE_MAX_ZOOM = 5;
|
|
8
|
+
exports.TimelineZoomCtx = (0, react_1.createContext)({
|
|
9
|
+
zoom: -1,
|
|
10
|
+
setZoom: () => {
|
|
11
|
+
throw new Error('has no context');
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
const TimelineZoomContext = ({ children }) => {
|
|
15
|
+
const [zoom, setZoom] = (0, react_1.useState)(exports.TIMELINE_MIN_ZOOM);
|
|
16
|
+
const value = (0, react_1.useMemo)(() => {
|
|
17
|
+
return {
|
|
18
|
+
zoom,
|
|
19
|
+
setZoom,
|
|
20
|
+
};
|
|
21
|
+
}, [zoom]);
|
|
22
|
+
return ((0, jsx_runtime_1.jsx)(exports.TimelineZoomCtx.Provider, { value: value, children: children }));
|
|
23
|
+
};
|
|
24
|
+
exports.TimelineZoomContext = TimelineZoomContext;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RenderStep } from './step';
|
|
2
|
+
export declare const prepareEntryPoint: ({ file, otherSteps, publicPath, outDir, }: {
|
|
3
|
+
file: string;
|
|
4
|
+
otherSteps: RenderStep[];
|
|
5
|
+
outDir: string | null;
|
|
6
|
+
publicPath: string | null;
|
|
7
|
+
}) => Promise<{
|
|
8
|
+
urlOrBundle: string;
|
|
9
|
+
steps: RenderStep[];
|
|
10
|
+
shouldDelete: boolean;
|
|
11
|
+
}>;
|