@remotion/cli 3.1.7 → 3.1.11

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 (61) hide show
  1. package/dist/bundle-on-cli.d.ts +2 -0
  2. package/dist/bundle-on-cli.js +41 -0
  3. package/dist/bundle.d.ts +1 -0
  4. package/dist/bundle.js +31 -0
  5. package/dist/chalk/symbols.d.ts +111 -0
  6. package/dist/chalk/symbols.js +75 -0
  7. package/dist/chalk/utilities.d.ts +2 -0
  8. package/dist/chalk/utilities.js +37 -0
  9. package/dist/code-frame.js +2 -1
  10. package/dist/compositions.js +4 -1
  11. package/dist/editor/components/Canvas.js +2 -0
  12. package/dist/editor/components/CompositionManager.d.ts +4 -0
  13. package/dist/editor/components/CompositionManager.js +60 -0
  14. package/dist/editor/components/CompositionSelector.js +2 -0
  15. package/dist/editor/components/CompositionSelectorItem.js +1 -0
  16. package/dist/editor/components/CurrentComposition.js +5 -0
  17. package/dist/editor/components/LoadingIndicator.d.ts +2 -0
  18. package/dist/editor/components/LoadingIndicator.js +35 -0
  19. package/dist/editor/components/Menu/MenuItem.js +1 -1
  20. package/dist/editor/components/Menu/MenuSubItem.js +1 -1
  21. package/dist/editor/components/Menu/styles.d.ts +3 -2
  22. package/dist/editor/components/Menu/styles.js +10 -3
  23. package/dist/editor/components/MenuToolbar.js +2 -0
  24. package/dist/editor/components/NewComposition/ComboBox.js +12 -2
  25. package/dist/editor/components/Notifications/Notification.js +1 -1
  26. package/dist/editor/components/Notifications/NotificationCenter.js +1 -0
  27. package/dist/editor/components/PreviewToolbar.js +2 -0
  28. package/dist/editor/components/Timeline/TimelineList.js +2 -0
  29. package/dist/editor/components/Timeline/TimelineScrollable.d.ts +4 -0
  30. package/dist/editor/components/Timeline/TimelineScrollable.js +23 -0
  31. package/dist/editor/components/Timeline/TimelineZoomControls.d.ts +2 -0
  32. package/dist/editor/components/Timeline/TimelineZoomControls.js +29 -0
  33. package/dist/editor/components/Timeline/timeline-scroll-logic.d.ts +4 -0
  34. package/dist/editor/components/Timeline/timeline-scroll-logic.js +13 -0
  35. package/dist/editor/state/timeline-zoom.d.ts +10 -0
  36. package/dist/editor/state/timeline-zoom.js +24 -0
  37. package/dist/prepare-entry-point.d.ts +11 -0
  38. package/dist/prepare-entry-point.js +36 -0
  39. package/dist/preview-server/error-overlay/remotion-overlay/Button.d.ts +1 -0
  40. package/dist/preview-server/error-overlay/remotion-overlay/Button.js +9 -2
  41. package/dist/preview-server/error-overlay/remotion-overlay/HelpLink.js +5 -1
  42. package/dist/preview-server/error-overlay/remotion-overlay/get-help-link.js +24 -0
  43. package/dist/preview-server/fast-refresh/helpers.d.ts +39 -0
  44. package/dist/preview-server/fast-refresh/helpers.js +145 -0
  45. package/dist/preview-server/fast-refresh/index.d.ts +30 -0
  46. package/dist/preview-server/fast-refresh/index.js +86 -0
  47. package/dist/preview-server/fast-refresh/loader.d.ts +35 -0
  48. package/dist/preview-server/fast-refresh/loader.js +81 -0
  49. package/dist/preview-server/fast-refresh/runtime.d.ts +35 -0
  50. package/dist/preview-server/fast-refresh/runtime.js +32 -0
  51. package/dist/preview-server/static-preview.d.ts +1 -0
  52. package/dist/preview-server/static-preview.js +40 -0
  53. package/dist/preview-server/webpack-cache.d.ts +12 -0
  54. package/dist/preview-server/webpack-cache.js +66 -0
  55. package/dist/render.js +9 -5
  56. package/dist/setup-cache.d.ts +8 -0
  57. package/dist/setup-cache.js +16 -1
  58. package/dist/still.js +6 -5
  59. package/dist/webpack-cache.d.ts +2 -2
  60. package/dist/webpack-cache.js +10 -10
  61. package/package.json +10 -10
@@ -0,0 +1,2 @@
1
+ import { RenderStep } from './step';
2
+ export declare const bundleOnCli: (fullPath: string, steps: RenderStep[]) => Promise<string>;
@@ -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;
@@ -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,2 @@
1
+ export declare function stringReplaceAll(string: string, substring: string, replacer: string): string;
2
+ export declare function stringEncaseCRLFWithFirstIndex(string: string, prefix: string, postfix: string, index: number): string;
@@ -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;
@@ -41,7 +41,8 @@ const logLine = (frame) => {
41
41
  };
42
42
  const printCodeFrameAndStack = (err) => {
43
43
  var _a, _b, _c;
44
- if (!err.symbolicatedStackFrames) {
44
+ if (!err.symbolicatedStackFrames ||
45
+ err.symbolicatedStackFrames.length === 0) {
45
46
  log_1.Log.error(err.stack);
46
47
  return;
47
48
  }
@@ -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.bundleOnCli)({
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;
@@ -4,12 +4,14 @@ exports.Canvas = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const player_1 = require("@remotion/player");
6
6
  const react_1 = require("react");
7
+ const colors_1 = require("../helpers/colors");
7
8
  const Preview_1 = require("./Preview");
8
9
  const container = {
9
10
  flex: 1,
10
11
  display: 'flex',
11
12
  overflow: 'hidden',
12
13
  position: 'relative',
14
+ backgroundColor: colors_1.BACKGROUND,
13
15
  };
14
16
  const Canvas = () => {
15
17
  const ref = (0, react_1.useRef)(null);
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { TComposition } from 'remotion';
3
+ export declare const useSelectComposition: () => (c: TComposition) => void;
4
+ export declare const InitialCompositionLoader: React.FC;
@@ -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;
@@ -4,6 +4,7 @@ exports.CompositionSelector = exports.getKeysToExpand = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const remotion_1 = require("remotion");
7
+ const colors_1 = require("../helpers/colors");
7
8
  const create_folder_tree_1 = require("../helpers/create-folder-tree");
8
9
  const persist_open_folders_1 = require("../helpers/persist-open-folders");
9
10
  const z_index_1 = require("../state/z-index");
@@ -16,6 +17,7 @@ const container = {
16
17
  height: '100%',
17
18
  width: '100%',
18
19
  flex: 1,
20
+ backgroundColor: colors_1.BACKGROUND,
19
21
  };
20
22
  const list = {
21
23
  padding: 5,
@@ -23,6 +23,7 @@ const itemStyle = {
23
23
  border: 'none',
24
24
  width: '100%',
25
25
  textAlign: 'left',
26
+ backgroundColor: colors_1.BACKGROUND,
26
27
  };
27
28
  const iconStyle = {
28
29
  width: 18,
@@ -4,6 +4,7 @@ exports.CurrentComposition = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const remotion_1 = require("remotion");
7
+ const colors_1 = require("../helpers/colors");
7
8
  const is_composition_still_1 = require("../helpers/is-composition-still");
8
9
  const render_frame_1 = require("../state/render-frame");
9
10
  const rich_timeline_1 = require("../state/rich-timeline");
@@ -15,23 +16,27 @@ const container = {
15
16
  borderBottom: '1px solid black',
16
17
  padding: 16,
17
18
  color: 'white',
19
+ backgroundColor: colors_1.BACKGROUND,
18
20
  };
19
21
  const title = {
20
22
  fontWeight: 'bold',
21
23
  fontSize: 12,
22
24
  whiteSpace: 'nowrap',
23
25
  lineHeight: '18px',
26
+ backgroundColor: colors_1.BACKGROUND,
24
27
  };
25
28
  const subtitle = {
26
29
  fontSize: 12,
27
30
  opacity: 0.8,
28
31
  whiteSpace: 'nowrap',
29
32
  lineHeight: '18px',
33
+ backgroundColor: colors_1.BACKGROUND,
30
34
  };
31
35
  const row = {
32
36
  display: 'flex',
33
37
  flexDirection: 'row',
34
38
  lineHeight: '18px',
39
+ backgroundColor: colors_1.BACKGROUND,
35
40
  };
36
41
  const targetHeight = 60;
37
42
  const targetWidth = (targetHeight * 16) / 9;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const Loading: React.FC;
@@ -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;
@@ -46,7 +46,7 @@ const MenuItem = ({ label: itemName, selected, id, onItemSelected, onItemHovered
46
46
  return null;
47
47
  }
48
48
  return {
49
- ...styles_1.menuContainer,
49
+ ...styles_1.menuContainerTowardsBottom,
50
50
  left: size.left,
51
51
  top: size.top + size.height,
52
52
  };
@@ -70,7 +70,7 @@ const MenuSubItem = ({ label, leaveLeftSpace, leftItem, onActionChosen, id, sele
70
70
  return null;
71
71
  }
72
72
  return {
73
- ...styles_1.menuContainer,
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
- /// <reference types="react" />
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 menuContainer: React.CSSProperties;
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.menuContainer = exports.SUBMENU_LEFT_INSET = exports.MENU_VERTICAL_PADDING = void 0;
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
- exports.menuContainer = {
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%',
@@ -4,6 +4,7 @@ exports.MenuToolbar = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const remotion_1 = require("remotion");
7
+ const colors_1 = require("../helpers/colors");
7
8
  const pick_color_1 = require("../helpers/pick-color");
8
9
  const Checkmark_1 = require("../icons/Checkmark");
9
10
  const checkerboard_1 = require("../state/checkerboard");
@@ -27,6 +28,7 @@ const row = {
27
28
  fontSize: 13,
28
29
  paddingLeft: 6,
29
30
  paddingRight: 10,
31
+ backgroundColor: colors_1.BACKGROUND,
30
32
  };
31
33
  const flex = {
32
34
  flex: 1,
@@ -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
- ...styles_1.menuContainer,
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);
@@ -26,6 +26,6 @@ const Notification = ({ children, id, duration, created, onRemove }) => {
26
26
  clearTimeout(timeout);
27
27
  };
28
28
  }, [created, duration, id, onRemove]);
29
- return (0, jsx_runtime_1.jsx)("div", { style: notification, children: children });
29
+ return ((0, jsx_runtime_1.jsx)("div", { className: "css-reset", style: notification, children: children }));
30
30
  };
31
31
  exports.Notification = Notification;
@@ -13,6 +13,7 @@ const container = {
13
13
  flexDirection: 'column',
14
14
  paddingTop: 20,
15
15
  pointerEvents: 'none',
16
+ backgroundColor: 'transparent',
16
17
  };
17
18
  exports.notificationCenter = (0, react_1.createRef)();
18
19
  const NotificationCenter = () => {
@@ -4,6 +4,7 @@ exports.PreviewToolbar = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const remotion_1 = require("remotion");
7
+ const colors_1 = require("../helpers/colors");
7
8
  const timeline_layout_1 = require("../helpers/timeline-layout");
8
9
  const loop_1 = require("../state/loop");
9
10
  const CheckboardToggle_1 = require("./CheckboardToggle");
@@ -27,6 +28,7 @@ const container = {
27
28
  paddingBottom: 2,
28
29
  alignItems: 'center',
29
30
  flexDirection: 'row',
31
+ background: colors_1.BACKGROUND,
30
32
  };
31
33
  const sideContainer = {
32
34
  width: 300,