remotion 4.0.0-oops.3 → 4.0.0-prefetch.7

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 (189) hide show
  1. package/.turbo/turbo-build.log +5 -5
  2. package/README.md +30 -19
  3. package/dist/AbsoluteFill.d.ts +6 -2
  4. package/dist/AbsoluteFill.js +7 -3
  5. package/dist/CanUseRemotionHooks.d.ts +5 -0
  6. package/dist/CanUseRemotionHooks.js +10 -0
  7. package/dist/Composition.d.ts +3 -6
  8. package/dist/Composition.js +40 -28
  9. package/dist/CompositionManager.d.ts +7 -12
  10. package/dist/CompositionManager.js +15 -5
  11. package/dist/Folder.d.ts +15 -0
  12. package/dist/Folder.js +33 -0
  13. package/dist/IFrame.js +1 -1
  14. package/dist/Img.js +33 -16
  15. package/dist/RemotionRoot.js +1 -1
  16. package/dist/{sequencing/index.d.ts → Sequence.d.ts} +13 -3
  17. package/dist/{sequencing/index.js → Sequence.js} +40 -34
  18. package/dist/Still.d.ts +1 -1
  19. package/dist/Still.js +1 -1
  20. package/dist/asset-types.d.ts +1 -4
  21. package/dist/audio/Audio.d.ts +2 -2
  22. package/dist/audio/Audio.js +5 -5
  23. package/dist/audio/AudioForDevelopment.d.ts +3 -2
  24. package/dist/audio/AudioForDevelopment.js +19 -6
  25. package/dist/audio/AudioForRendering.d.ts +5 -2
  26. package/dist/audio/AudioForRendering.js +15 -8
  27. package/dist/audio/index.js +5 -1
  28. package/dist/audio/props.d.ts +1 -1
  29. package/dist/audio/shared-audio-tags.d.ts +4 -3
  30. package/dist/audio/shared-audio-tags.js +115 -42
  31. package/dist/audio/use-audio-frame.js +4 -4
  32. package/dist/config/bundle-out-dir.d.ts +2 -0
  33. package/dist/config/bundle-out-dir.js +12 -0
  34. package/dist/config/input-props.js +12 -14
  35. package/dist/config/public-path.d.ts +2 -0
  36. package/dist/config/public-path.js +12 -0
  37. package/dist/{config/index.d.ts → config.d.ts} +70 -22
  38. package/dist/config.js +21 -0
  39. package/dist/default-css.d.ts +1 -0
  40. package/dist/default-css.js +9 -2
  41. package/dist/delay-render.d.ts +1 -1
  42. package/dist/delay-render.js +4 -4
  43. package/dist/freeze.d.ts +2 -2
  44. package/dist/freeze.js +2 -2
  45. package/dist/get-timeline-clip-name.js +2 -1
  46. package/dist/index.d.ts +23 -8
  47. package/dist/index.js +18 -8
  48. package/dist/internals.d.ts +35 -101
  49. package/dist/internals.js +18 -94
  50. package/dist/{interpolateColors.d.ts → interpolate-colors.d.ts} +0 -0
  51. package/dist/{interpolateColors.js → interpolate-colors.js} +0 -0
  52. package/dist/loading-indicator.d.ts +2 -0
  53. package/dist/loading-indicator.js +35 -0
  54. package/dist/loop/index.js +5 -4
  55. package/dist/multiple-versions-warning.js +18 -4
  56. package/dist/play-and-handle-not-allowed-error.d.ts +1 -1
  57. package/dist/portal-node.d.ts +1 -0
  58. package/dist/portal-node.js +23 -0
  59. package/dist/preload.d.ts +7 -0
  60. package/dist/preload.js +83 -0
  61. package/dist/register-root.d.ts +2 -1
  62. package/dist/register-root.js +20 -5
  63. package/dist/series/index.d.ts +2 -2
  64. package/dist/series/index.js +4 -4
  65. package/dist/spring/index.d.ts +8 -4
  66. package/dist/spring/index.js +21 -6
  67. package/dist/spring/measure-spring.d.ts +1 -1
  68. package/dist/spring/measure-spring.js +1 -1
  69. package/dist/static-file.js +6 -0
  70. package/dist/timeline-position-state.d.ts +1 -1
  71. package/dist/{use-frame.d.ts → use-current-frame.d.ts} +0 -1
  72. package/dist/use-current-frame.js +28 -0
  73. package/dist/use-lazy-component.d.ts +3 -3
  74. package/dist/use-lazy-component.js +5 -1
  75. package/dist/use-media-in-timeline.d.ts +2 -2
  76. package/dist/use-media-in-timeline.js +10 -7
  77. package/dist/use-media-playback.d.ts +3 -2
  78. package/dist/use-media-playback.js +9 -6
  79. package/dist/use-media-tag-volume.d.ts +1 -1
  80. package/dist/use-sync-volume-with-media-tag.d.ts +2 -2
  81. package/dist/use-unsafe-video-config.d.ts +1 -1
  82. package/dist/use-unsafe-video-config.js +2 -2
  83. package/dist/use-video-config.d.ts +1 -1
  84. package/dist/use-video-config.js +6 -0
  85. package/dist/use-video.d.ts +13 -1
  86. package/dist/use-video.js +16 -3
  87. package/dist/validate-media-props.d.ts +4 -3
  88. package/dist/validation/validate-fps.d.ts +1 -1
  89. package/dist/validation/validate-fps.js +4 -1
  90. package/dist/validation/validate-offthreadvideo-image-format.d.ts +1 -0
  91. package/dist/validation/validate-offthreadvideo-image-format.js +15 -0
  92. package/dist/validation/validation-spring-duration.d.ts +1 -0
  93. package/dist/validation/validation-spring-duration.js +21 -0
  94. package/dist/version.d.ts +1 -0
  95. package/dist/version.js +5 -0
  96. package/dist/video/OffthreadVideo.d.ts +3 -0
  97. package/dist/video/OffthreadVideo.js +27 -0
  98. package/dist/video/OffthreadVideoForRendering.d.ts +3 -0
  99. package/dist/video/OffthreadVideoForRendering.js +101 -0
  100. package/dist/video/Video.d.ts +3 -3
  101. package/dist/video/Video.js +4 -4
  102. package/dist/video/VideoForDevelopment.d.ts +7 -2
  103. package/dist/video/VideoForDevelopment.js +28 -4
  104. package/dist/video/VideoForRendering.d.ts +5 -2
  105. package/dist/video/VideoForRendering.js +62 -40
  106. package/dist/video/get-current-time.d.ts +7 -1
  107. package/dist/video/get-current-time.js +17 -9
  108. package/dist/video/index.d.ts +3 -2
  109. package/dist/video/index.js +5 -12
  110. package/dist/video/props.d.ts +13 -2
  111. package/dist/volume-prop.js +1 -1
  112. package/dist/warn-about-non-seekable-media.d.ts +1 -1
  113. package/dist/warn-about-non-seekable-media.js +14 -2
  114. package/dist/wrap-remotion-context.d.ts +2 -1
  115. package/dist/wrap-remotion-context.js +12 -4
  116. package/ensure-correct-version.js +24 -0
  117. package/package.json +10 -11
  118. package/version.d.ts +1 -0
  119. package/version.js +1 -0
  120. package/dist/compress-assets.d.ts +0 -7
  121. package/dist/compress-assets.js +0 -25
  122. package/dist/config/browser-executable.d.ts +0 -3
  123. package/dist/config/browser-executable.js +0 -12
  124. package/dist/config/browser.d.ts +0 -4
  125. package/dist/config/browser.js +0 -19
  126. package/dist/config/chromium-flags.d.ts +0 -10
  127. package/dist/config/chromium-flags.js +0 -34
  128. package/dist/config/codec.d.ts +0 -17
  129. package/dist/config/codec.js +0 -103
  130. package/dist/config/concurrency.d.ts +0 -3
  131. package/dist/config/concurrency.js +0 -15
  132. package/dist/config/crf.d.ts +0 -9
  133. package/dist/config/crf.js +0 -83
  134. package/dist/config/env-file.d.ts +0 -2
  135. package/dist/config/env-file.js +0 -10
  136. package/dist/config/ffmpeg-executable.d.ts +0 -3
  137. package/dist/config/ffmpeg-executable.js +0 -12
  138. package/dist/config/frame-range.d.ts +0 -5
  139. package/dist/config/frame-range.js +0 -80
  140. package/dist/config/image-format.d.ts +0 -8
  141. package/dist/config/image-format.js +0 -37
  142. package/dist/config/image-sequence.d.ts +0 -3
  143. package/dist/config/image-sequence.js +0 -15
  144. package/dist/config/index.js +0 -175
  145. package/dist/config/log.d.ts +0 -7
  146. package/dist/config/log.js +0 -25
  147. package/dist/config/max-timeline-tracks.d.ts +0 -2
  148. package/dist/config/max-timeline-tracks.js +0 -24
  149. package/dist/config/override-webpack.d.ts +0 -12
  150. package/dist/config/override-webpack.js +0 -14
  151. package/dist/config/overwrite.d.ts +0 -3
  152. package/dist/config/overwrite.js +0 -14
  153. package/dist/config/pixel-format.d.ts +0 -8
  154. package/dist/config/pixel-format.js +0 -38
  155. package/dist/config/preview-server.d.ts +0 -2
  156. package/dist/config/preview-server.js +0 -20
  157. package/dist/config/prores-profile.d.ts +0 -7
  158. package/dist/config/prores-profile.js +0 -32
  159. package/dist/config/quality.d.ts +0 -2
  160. package/dist/config/quality.js +0 -17
  161. package/dist/config/scale.d.ts +0 -3
  162. package/dist/config/scale.js +0 -15
  163. package/dist/config/still-frame.d.ts +0 -2
  164. package/dist/config/still-frame.js +0 -12
  165. package/dist/config/timeout.d.ts +0 -2
  166. package/dist/config/timeout.js +0 -17
  167. package/dist/config/webpack-caching.d.ts +0 -3
  168. package/dist/config/webpack-caching.js +0 -16
  169. package/dist/feature-flags.d.ts +0 -1
  170. package/dist/feature-flags.js +0 -7
  171. package/dist/initial-frame.d.ts +0 -2
  172. package/dist/initial-frame.js +0 -12
  173. package/dist/is-audio-codec.d.ts +0 -2
  174. package/dist/is-audio-codec.js +0 -7
  175. package/dist/perf/index.d.ts +0 -5
  176. package/dist/perf/index.js +0 -33
  177. package/dist/timeline-inout-position-state.d.ts +0 -12
  178. package/dist/timeline-inout-position-state.js +0 -23
  179. package/dist/timeout.d.ts +0 -2
  180. package/dist/timeout.js +0 -12
  181. package/dist/use-frame.js +0 -25
  182. package/dist/validation/validate-frame.d.ts +0 -1
  183. package/dist/validation/validate-frame.js +0 -24
  184. package/dist/validation/validate-image-format.d.ts +0 -2
  185. package/dist/validation/validate-image-format.js +0 -9
  186. package/dist/validation/validate-opengl-renderer.d.ts +0 -4
  187. package/dist/validation/validate-opengl-renderer.js +0 -14
  188. package/dist/validation/validate-quality.d.ts +0 -1
  189. package/dist/validation/validate-quality.js +0 -21
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import './asset-types';
2
- import { TAsset, TCompMetadata } from './CompositionManager';
2
+ import type { TAsset, TCompMetadata } from './CompositionManager';
3
3
  declare global {
4
4
  interface Window {
5
5
  ready: boolean;
@@ -9,15 +9,22 @@ declare global {
9
9
  remotion_editorName: string | null;
10
10
  remotion_projectName: string;
11
11
  remotion_cwd: string;
12
+ remotion_previewServerCommand: string;
12
13
  remotion_setFrame: (frame: number) => void;
13
14
  remotion_initialFrame: number;
15
+ remotion_proxyPort: number;
16
+ remotion_audioEnabled: boolean;
17
+ remotion_videoEnabled: boolean;
14
18
  remotion_puppeteerTimeout: number;
15
19
  remotion_inputProps: string;
16
20
  remotion_envVariables: string;
17
21
  remotion_collectAssets: () => TAsset[];
18
22
  remotion_isPlayer: boolean;
19
- remotion_imported: boolean;
20
- siteVersion: '2';
23
+ remotion_isBuilding: undefined | (() => void);
24
+ remotion_finishedBuilding: undefined | (() => void);
25
+ siteVersion: '4';
26
+ remotion_version: string;
27
+ remotion_imported: string | boolean;
21
28
  }
22
29
  }
23
30
  export declare type BundleState = {
@@ -27,31 +34,39 @@ export declare type BundleState = {
27
34
  } | {
28
35
  type: 'composition';
29
36
  compositionName: string;
37
+ compositionDefaultProps: unknown;
38
+ compositionHeight: number;
39
+ compositionDurationInFrames: number;
40
+ compositionWidth: number;
41
+ compositionFps: number;
30
42
  };
31
43
  export * from './AbsoluteFill';
32
44
  export * from './audio';
33
45
  export * from './Composition';
34
- export { SmallTCompMetadata, TAsset, TCompMetadata, TFolder, } from './CompositionManager';
35
- export * from './config';
46
+ export { SmallTCompMetadata, TAsset, TCompMetadata } from './CompositionManager';
47
+ export { Config, ConfigType } from './config';
36
48
  export { getInputProps } from './config/input-props';
37
49
  export * from './delay-render';
38
50
  export * from './easing';
51
+ export * from './Folder';
39
52
  export * from './freeze';
40
53
  export * from './IFrame';
41
54
  export * from './Img';
42
55
  export * from './internals';
43
56
  export * from './interpolate';
44
- export { interpolateColors } from './interpolateColors';
57
+ export { interpolateColors } from './interpolate-colors';
45
58
  export { Loop } from './loop';
59
+ export { fetchAndPreload } from './preload';
46
60
  export * from './random';
47
61
  export { registerRoot } from './register-root';
48
- export { Sequence } from './sequencing';
62
+ export { Sequence } from './Sequence';
49
63
  export { Series } from './series';
50
64
  export * from './spring';
51
65
  export { staticFile } from './static-file';
52
66
  export * from './Still';
53
67
  export type { PlayableMediaTag } from './timeline-position-state';
54
- export * from './use-frame';
68
+ export { useCurrentFrame } from './use-current-frame';
55
69
  export * from './use-video-config';
70
+ export * from './version';
56
71
  export * from './video';
57
72
  export * from './video-config';
package/dist/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -10,39 +14,45 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.staticFile = exports.Series = exports.Sequence = exports.registerRoot = exports.Loop = exports.interpolateColors = exports.getInputProps = void 0;
17
+ exports.useCurrentFrame = exports.staticFile = exports.Series = exports.Sequence = exports.registerRoot = exports.fetchAndPreload = exports.Loop = exports.interpolateColors = exports.getInputProps = exports.Config = void 0;
14
18
  require("./asset-types");
15
19
  const multiple_versions_warning_1 = require("./multiple-versions-warning");
16
20
  (0, multiple_versions_warning_1.checkMultipleRemotionVersions)();
17
21
  __exportStar(require("./AbsoluteFill"), exports);
18
22
  __exportStar(require("./audio"), exports);
19
23
  __exportStar(require("./Composition"), exports);
20
- __exportStar(require("./config"), exports);
24
+ var config_1 = require("./config");
25
+ Object.defineProperty(exports, "Config", { enumerable: true, get: function () { return config_1.Config; } });
21
26
  var input_props_1 = require("./config/input-props");
22
27
  Object.defineProperty(exports, "getInputProps", { enumerable: true, get: function () { return input_props_1.getInputProps; } });
23
28
  __exportStar(require("./delay-render"), exports);
24
29
  __exportStar(require("./easing"), exports);
30
+ __exportStar(require("./Folder"), exports);
25
31
  __exportStar(require("./freeze"), exports);
26
32
  __exportStar(require("./IFrame"), exports);
27
33
  __exportStar(require("./Img"), exports);
28
34
  __exportStar(require("./internals"), exports);
29
35
  __exportStar(require("./interpolate"), exports);
30
- var interpolateColors_1 = require("./interpolateColors");
31
- Object.defineProperty(exports, "interpolateColors", { enumerable: true, get: function () { return interpolateColors_1.interpolateColors; } });
36
+ var interpolate_colors_1 = require("./interpolate-colors");
37
+ Object.defineProperty(exports, "interpolateColors", { enumerable: true, get: function () { return interpolate_colors_1.interpolateColors; } });
32
38
  var loop_1 = require("./loop");
33
39
  Object.defineProperty(exports, "Loop", { enumerable: true, get: function () { return loop_1.Loop; } });
40
+ var preload_1 = require("./preload");
41
+ Object.defineProperty(exports, "fetchAndPreload", { enumerable: true, get: function () { return preload_1.fetchAndPreload; } });
34
42
  __exportStar(require("./random"), exports);
35
43
  var register_root_1 = require("./register-root");
36
44
  Object.defineProperty(exports, "registerRoot", { enumerable: true, get: function () { return register_root_1.registerRoot; } });
37
- var sequencing_1 = require("./sequencing");
38
- Object.defineProperty(exports, "Sequence", { enumerable: true, get: function () { return sequencing_1.Sequence; } });
45
+ var Sequence_1 = require("./Sequence");
46
+ Object.defineProperty(exports, "Sequence", { enumerable: true, get: function () { return Sequence_1.Sequence; } });
39
47
  var series_1 = require("./series");
40
48
  Object.defineProperty(exports, "Series", { enumerable: true, get: function () { return series_1.Series; } });
41
49
  __exportStar(require("./spring"), exports);
42
50
  var static_file_1 = require("./static-file");
43
51
  Object.defineProperty(exports, "staticFile", { enumerable: true, get: function () { return static_file_1.staticFile; } });
44
52
  __exportStar(require("./Still"), exports);
45
- __exportStar(require("./use-frame"), exports);
53
+ var use_current_frame_1 = require("./use-current-frame");
54
+ Object.defineProperty(exports, "useCurrentFrame", { enumerable: true, get: function () { return use_current_frame_1.useCurrentFrame; } });
46
55
  __exportStar(require("./use-video-config"), exports);
56
+ __exportStar(require("./version"), exports);
47
57
  __exportStar(require("./video"), exports);
48
58
  __exportStar(require("./video-config"), exports);
@@ -1,118 +1,59 @@
1
1
  /// <reference types="react" />
2
- import { CompProps } from './Composition';
3
- import { CompositionManagerContext, RenderAssetInfo, TAsset, TCompMetadata, TComposition, TSequence } from './CompositionManager';
4
- import * as AssetCompression from './compress-assets';
5
- import * as Logging from './config/log';
6
- import { WebpackOverrideFn } from './config/override-webpack';
7
- import { ProResProfile } from './config/prores-profile';
2
+ import type { Configuration } from 'webpack';
3
+ import type { CompProps } from './Composition';
4
+ import type { CompositionManagerContext, TAsset, TCompMetadata, TComposition, TSequence } from './CompositionManager';
8
5
  import * as CSSUtils from './default-css';
9
- import { RemotionEnvironment } from './get-environment';
10
- import * as perf from './perf';
11
- import * as TimelineInOutPosition from './timeline-inout-position-state';
12
- import { SetTimelineInOutContextValue, TimelineInOutContextValue } from './timeline-inout-position-state';
6
+ import type { RemotionEnvironment } from './get-environment';
7
+ import type { SetTimelineContextValue, TimelineContextValue } from './timeline-position-state';
13
8
  import * as TimelinePosition from './timeline-position-state';
14
- import { SetTimelineContextValue, TimelineContextValue } from './timeline-position-state';
15
9
  import { truthy } from './truthy';
16
- import { OpenGlRenderer } from './validation/validate-opengl-renderer';
17
- import { MediaVolumeContextValue, SetMediaVolumeContextValue } from './volume-position-state';
10
+ import type { MediaVolumeContextValue, SetMediaVolumeContextValue } from './volume-position-state';
18
11
  import { useRemotionContexts } from './wrap-remotion-context';
19
- declare const Timeline: {
20
- TimelineInOutContext: import("react").Context<TimelineInOutPosition.TimelineInOutContextValue>;
21
- SetTimelineInOutContext: import("react").Context<TimelineInOutPosition.SetTimelineInOutContextValue>;
22
- useTimelineInOutFramePosition: () => TimelineInOutPosition.TimelineInOutContextValue;
23
- useTimelineSetInOutFramePosition: () => TimelineInOutPosition.SetTimelineInOutContextValue;
24
- TimelineContext: import("react").Context<TimelinePosition.TimelineContextValue>;
25
- SetTimelineContext: import("react").Context<TimelinePosition.SetTimelineContextValue>;
26
- useTimelinePosition: () => number;
27
- useTimelineSetFrame: () => (u: import("react").SetStateAction<number>) => void;
28
- usePlayingState: () => readonly [boolean, (u: import("react").SetStateAction<boolean>) => void, import("react").MutableRefObject<boolean>];
29
- };
12
+ declare const Timeline: typeof TimelinePosition;
30
13
  export declare const Internals: {
31
- perf: typeof perf;
32
14
  useUnsafeVideoConfig: () => import("./video-config").VideoConfig | null;
33
- Timeline: {
34
- TimelineInOutContext: import("react").Context<TimelineInOutPosition.TimelineInOutContextValue>;
35
- SetTimelineInOutContext: import("react").Context<TimelineInOutPosition.SetTimelineInOutContextValue>;
36
- useTimelineInOutFramePosition: () => TimelineInOutPosition.TimelineInOutContextValue;
37
- useTimelineSetInOutFramePosition: () => TimelineInOutPosition.SetTimelineInOutContextValue;
38
- TimelineContext: import("react").Context<TimelinePosition.TimelineContextValue>;
39
- SetTimelineContext: import("react").Context<TimelinePosition.SetTimelineContextValue>;
40
- useTimelinePosition: () => number;
41
- useTimelineSetFrame: () => (u: import("react").SetStateAction<number>) => void;
42
- usePlayingState: () => readonly [boolean, (u: import("react").SetStateAction<boolean>) => void, import("react").MutableRefObject<boolean>];
43
- };
15
+ Timeline: typeof TimelinePosition;
44
16
  CompositionManager: import("react").Context<CompositionManagerContext>;
45
17
  RemotionRoot: import("react").FC<{
46
18
  children: import("react").ReactNode;
47
19
  }>;
48
- useVideo: () => TComposition<unknown> | null;
20
+ useVideo: () => {
21
+ height: number;
22
+ width: number;
23
+ fps: number;
24
+ durationInFrames: number;
25
+ defaultProps: unknown;
26
+ id: string;
27
+ folderName: string | null;
28
+ parentFolderName: string | null;
29
+ component: import("react").LazyExoticComponent<import("react").ComponentType<unknown>>;
30
+ nonce: number;
31
+ } | null;
49
32
  getRoot: () => import("react").FC<{}> | null;
50
- getBrowserExecutable: () => import("./config/browser-executable").BrowserExecutable;
51
- getCustomFfmpegExecutable: () => import("./config/ffmpeg-executable").FfmpegExecutable;
52
- getPixelFormat: () => "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
53
- getConcurrency: () => number | null;
54
- getRange: () => import("./config/frame-range").FrameRange | null;
55
- getShouldOverwrite: () => boolean;
56
- getOutputCodecOrUndefined: () => import("./config/codec").CodecOrUndefined;
57
- getWebpackOverrideFn: () => WebpackOverrideFn;
58
- getQuality: () => number | undefined;
59
- getScale: () => number;
60
- getShouldOutputImageSequence: (frameRange: import("./config/frame-range").FrameRange | null) => boolean;
61
- validateSelectedCrfAndCodecCombination: (crf: unknown, codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv") => void;
62
- getFinalOutputCodec: ({ codec: inputCodec, fileExtension, emitWarning, isLambda, }: {
63
- codec: import("./config/codec").CodecOrUndefined;
64
- fileExtension: string | null;
65
- emitWarning: boolean;
66
- isLambda: boolean;
67
- }) => "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv";
68
33
  useMediaVolumeState: () => readonly [number, (u: number) => void];
69
34
  useMediaMutedState: () => readonly [boolean, (u: import("react").SetStateAction<boolean>) => void];
70
- DEFAULT_CODEC: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv";
71
- DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
72
- FEATURE_FLAG_FIREFOX_SUPPORT: boolean;
73
- DEFAULT_WEBPACK_CACHE_ENABLED: boolean;
74
- getBrowser: () => import("./config/browser").Browser | null;
75
- DEFAULT_BROWSER: import("./config/browser").Browser;
76
- getDefaultCrfForCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv") => number;
77
- getActualCrf: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv") => number;
78
- setFrameRangeFromCli: (newFrameRange: string | number) => void;
79
- getUserPreferredImageFormat: () => "none" | "png" | "jpeg" | undefined;
80
- validateSelectedPixelFormatAndImageFormatCombination: (pixelFormat: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le", imageFormat: "none" | "png" | "jpeg") => "none" | "valid";
81
- validateSelectedPixelFormatAndCodecCombination: (pixelFormat: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le", codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv") => void;
82
- validateFrameRange: (frameRange: import("./config/frame-range").FrameRange | null) => void;
83
- validateNonNullImageFormat: (imageFormat: "none" | "png" | "jpeg") => void;
84
- getWebpackCaching: () => boolean;
85
35
  useLazyComponent: <T>(compProps: CompProps<T>) => import("react").ExoticComponent<(import("react").PropsWithoutRef<T> & import("react").RefAttributes<import("react").Component<T, any, any>>) | import("react").PropsWithRef<T>> & {
86
36
  readonly _result: import("react").ComponentType<T>;
87
37
  };
88
38
  truthy: typeof truthy;
89
- isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | undefined) => boolean;
90
- Logging: typeof Logging;
91
- SequenceContext: import("react").Context<import("./sequencing").SequenceContextType | null>;
39
+ SequenceContext: import("react").Context<import("./Sequence").SequenceContextType | null>;
92
40
  useRemotionContexts: typeof useRemotionContexts;
93
41
  RemotionContextProvider: (props: import("./wrap-remotion-context").RemotionContextProviderProps) => JSX.Element;
94
42
  CSSUtils: typeof CSSUtils;
95
43
  setupEnvVariables: () => void;
96
- setupInitialFrame: () => void;
97
44
  ENV_VARIABLES_ENV_NAME: "ENV_VARIABLES";
98
- INITIAL_FRAME_LOCAL_STORAGE_KEY: string;
99
- getDotEnvLocation: () => string | null;
100
- getServerPort: () => number | undefined;
101
45
  MediaVolumeContext: import("react").Context<MediaVolumeContextValue>;
102
46
  SetMediaVolumeContext: import("react").Context<SetMediaVolumeContextValue>;
103
47
  validateDurationInFrames: (durationInFrames: number, component: string) => void;
104
- validateFps: (fps: number, location: string) => void;
48
+ validateFps: (fps: number, location: string, isGif: boolean) => void;
105
49
  validateDimension: (amount: number, nameOfProp: string, location: string) => void;
106
50
  getRemotionEnvironment: () => RemotionEnvironment;
107
- getProResProfile: () => "light" | "4444-xq" | "4444" | "hq" | "standard" | "proxy" | undefined;
108
- setProResProfile: (profile: "light" | "4444-xq" | "4444" | "hq" | "standard" | "proxy" | undefined) => void;
109
- validateSelectedCodecAndProResCombination: (actualCodec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv", actualProResProfile: "light" | "4444-xq" | "4444" | "hq" | "standard" | "proxy" | undefined) => void;
110
- getMaxTimelineTracks: () => number;
111
51
  SharedAudioContext: import("react").Context<{
112
- registerAudio: (aud: import("./audio").RemotionAudioProps) => {
52
+ registerAudio: (aud: import("./audio").RemotionAudioProps, audioId: string) => {
113
53
  id: number;
114
54
  props: import("./audio").RemotionAudioProps;
115
55
  el: import("react").RefObject<HTMLAudioElement>;
56
+ audioId: string;
116
57
  };
117
58
  unregisterAudio: (id: number) => void;
118
59
  updateAudio: (id: number, aud: import("./audio").RemotionAudioProps) => void;
@@ -123,29 +64,22 @@ export declare const Internals: {
123
64
  numberOfAudioTags: number;
124
65
  children: import("react").ReactNode;
125
66
  }>;
126
- validateQuality: (q: number | undefined) => void;
127
- validateFrame: (frame: number, durationInFrames: number) => void;
128
- setStillFrame: (frame: number) => void;
129
- getStillFrame: () => number;
130
67
  invalidCompositionErrorMessage: string;
131
68
  isCompositionIdValid: (id: string) => RegExpMatchArray | null;
132
- DEFAULT_OVERWRITE: boolean;
133
- AssetCompression: typeof AssetCompression;
134
- defaultOverrideFunction: WebpackOverrideFn;
135
- DEFAULT_PUPPETEER_TIMEOUT: number;
136
- setupPuppeteerTimeout: () => void;
137
- setPuppeteerTimeout: (newPuppeteerTimeout: number) => void;
138
- getCurrentPuppeteerTimeout: () => number;
139
- getChromiumDisableWebSecurity: () => boolean;
140
- getIgnoreCertificateErrors: () => boolean;
141
- validateOpenGlRenderer: (option: "angle" | "egl" | "swiftshader" | null) => "angle" | "egl" | "swiftshader" | null;
142
- getChromiumOpenGlRenderer: () => "angle" | "egl" | "swiftshader" | null;
143
- getChromiumHeadlessMode: () => boolean;
144
- DEFAULT_OPENGL_RENDERER: "angle" | "egl" | "swiftshader" | null;
145
69
  getPreviewDomElement: () => HTMLElement | null;
146
70
  compositionsRef: import("react").RefObject<{
147
71
  getCompositions: () => TCompMetadata[];
148
72
  }>;
149
73
  DELAY_RENDER_CALLSTACK_TOKEN: string;
74
+ portalNode: () => HTMLElement;
75
+ waitForRoot: (fn: (comp: import("react").FC<{}>) => void) => () => void;
76
+ validateOffthreadVideoImageFormat: (input: unknown) => void;
77
+ CanUseRemotionHooksProvider: import("react").FC<{
78
+ children: import("react").ReactNode;
79
+ }>;
80
+ CanUseRemotionHooks: import("react").Context<boolean>;
81
+ enableLegacyRemotionConfig: () => void;
150
82
  };
151
- export type { TComposition, Timeline, TCompMetadata, TSequence, WebpackOverrideFn, TAsset, RenderAssetInfo, TimelineContextValue, SetTimelineContextValue, TimelineInOutContextValue, SetTimelineInOutContextValue, CompProps, CompositionManagerContext, MediaVolumeContextValue, SetMediaVolumeContextValue, RemotionEnvironment, ProResProfile, OpenGlRenderer, };
83
+ declare type WebpackConfiguration = Configuration;
84
+ declare type WebpackOverrideFn = (currentConfiguration: WebpackConfiguration) => WebpackConfiguration;
85
+ export type { TComposition, Timeline, TCompMetadata, TSequence, WebpackOverrideFn, WebpackConfiguration, TAsset, TimelineContextValue, SetTimelineContextValue, CompProps, CompositionManagerContext, MediaVolumeContextValue, SetMediaVolumeContextValue, RemotionEnvironment, };
package/dist/internals.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -20,47 +24,20 @@ var __importStar = (this && this.__importStar) || function (mod) {
20
24
  };
21
25
  Object.defineProperty(exports, "__esModule", { value: true });
22
26
  exports.Internals = void 0;
27
+ const config_1 = require("./config");
23
28
  const shared_audio_tags_1 = require("./audio/shared-audio-tags");
29
+ const CanUseRemotionHooks_1 = require("./CanUseRemotionHooks");
24
30
  const CompositionManager_1 = require("./CompositionManager");
25
- const AssetCompression = __importStar(require("./compress-assets"));
26
- const browser_1 = require("./config/browser");
27
- const browser_executable_1 = require("./config/browser-executable");
28
- const chromium_flags_1 = require("./config/chromium-flags");
29
- const codec_1 = require("./config/codec");
30
- const concurrency_1 = require("./config/concurrency");
31
- const crf_1 = require("./config/crf");
32
- const env_file_1 = require("./config/env-file");
33
- const ffmpeg_executable_1 = require("./config/ffmpeg-executable");
34
- const frame_range_1 = require("./config/frame-range");
35
- const image_format_1 = require("./config/image-format");
36
- const image_sequence_1 = require("./config/image-sequence");
37
- const Logging = __importStar(require("./config/log"));
38
- const max_timeline_tracks_1 = require("./config/max-timeline-tracks");
39
- const override_webpack_1 = require("./config/override-webpack");
40
- const overwrite_1 = require("./config/overwrite");
41
- const pixel_format_1 = require("./config/pixel-format");
42
- const preview_server_1 = require("./config/preview-server");
43
- const prores_profile_1 = require("./config/prores-profile");
44
- const quality_1 = require("./config/quality");
45
- const scale_1 = require("./config/scale");
46
- const still_frame_1 = require("./config/still-frame");
47
- const timeout_1 = require("./config/timeout");
48
- const webpack_caching_1 = require("./config/webpack-caching");
49
31
  const CSSUtils = __importStar(require("./default-css"));
50
32
  const delay_render_1 = require("./delay-render");
51
- const feature_flags_1 = require("./feature-flags");
52
33
  const get_environment_1 = require("./get-environment");
53
34
  const get_preview_dom_element_1 = require("./get-preview-dom-element");
54
- const initial_frame_1 = require("./initial-frame");
55
- const is_audio_codec_1 = require("./is-audio-codec");
56
- const perf = __importStar(require("./perf"));
35
+ const portal_node_1 = require("./portal-node");
57
36
  const register_root_1 = require("./register-root");
58
37
  const RemotionRoot_1 = require("./RemotionRoot");
59
- const sequencing_1 = require("./sequencing");
38
+ const Sequence_1 = require("./Sequence");
60
39
  const setup_env_variables_1 = require("./setup-env-variables");
61
- const TimelineInOutPosition = __importStar(require("./timeline-inout-position-state"));
62
40
  const TimelinePosition = __importStar(require("./timeline-position-state"));
63
- const timeout_2 = require("./timeout");
64
41
  const truthy_1 = require("./truthy");
65
42
  const use_lazy_component_1 = require("./use-lazy-component");
66
43
  const use_unsafe_video_config_1 = require("./use-unsafe-video-config");
@@ -69,99 +46,46 @@ const validate_composition_id_1 = require("./validation/validate-composition-id"
69
46
  const validate_dimensions_1 = require("./validation/validate-dimensions");
70
47
  const validate_duration_in_frames_1 = require("./validation/validate-duration-in-frames");
71
48
  const validate_fps_1 = require("./validation/validate-fps");
72
- const validate_frame_1 = require("./validation/validate-frame");
73
- const validate_image_format_1 = require("./validation/validate-image-format");
74
- const validate_opengl_renderer_1 = require("./validation/validate-opengl-renderer");
75
- const validate_quality_1 = require("./validation/validate-quality");
49
+ const validate_offthreadvideo_image_format_1 = require("./validation/validate-offthreadvideo-image-format");
76
50
  const volume_position_state_1 = require("./volume-position-state");
77
51
  const wrap_remotion_context_1 = require("./wrap-remotion-context");
78
- const Timeline = { ...TimelinePosition, ...TimelineInOutPosition };
52
+ const Timeline = TimelinePosition;
79
53
  // Mark them as Internals so use don't assume this is public
80
54
  // API and are less likely to use it
81
55
  exports.Internals = {
82
- perf,
83
56
  useUnsafeVideoConfig: use_unsafe_video_config_1.useUnsafeVideoConfig,
84
57
  Timeline,
85
58
  CompositionManager: CompositionManager_1.CompositionManager,
86
59
  RemotionRoot: RemotionRoot_1.RemotionRoot,
87
60
  useVideo: use_video_1.useVideo,
88
61
  getRoot: register_root_1.getRoot,
89
- getBrowserExecutable: browser_executable_1.getBrowserExecutable,
90
- getCustomFfmpegExecutable: ffmpeg_executable_1.getCustomFfmpegExecutable,
91
- getPixelFormat: pixel_format_1.getPixelFormat,
92
- getConcurrency: concurrency_1.getConcurrency,
93
- getRange: frame_range_1.getRange,
94
- getShouldOverwrite: overwrite_1.getShouldOverwrite,
95
- getOutputCodecOrUndefined: codec_1.getOutputCodecOrUndefined,
96
- getWebpackOverrideFn: override_webpack_1.getWebpackOverrideFn,
97
- getQuality: quality_1.getQuality,
98
- getScale: scale_1.getScale,
99
- getShouldOutputImageSequence: image_sequence_1.getShouldOutputImageSequence,
100
- validateSelectedCrfAndCodecCombination: crf_1.validateSelectedCrfAndCodecCombination,
101
- getFinalOutputCodec: codec_1.getFinalOutputCodec,
102
62
  useMediaVolumeState: volume_position_state_1.useMediaVolumeState,
103
63
  useMediaMutedState: volume_position_state_1.useMediaMutedState,
104
- DEFAULT_CODEC: codec_1.DEFAULT_CODEC,
105
- DEFAULT_PIXEL_FORMAT: pixel_format_1.DEFAULT_PIXEL_FORMAT,
106
- FEATURE_FLAG_FIREFOX_SUPPORT: feature_flags_1.FEATURE_FLAG_FIREFOX_SUPPORT,
107
- DEFAULT_WEBPACK_CACHE_ENABLED: webpack_caching_1.DEFAULT_WEBPACK_CACHE_ENABLED,
108
- getBrowser: browser_1.getBrowser,
109
- DEFAULT_BROWSER: browser_1.DEFAULT_BROWSER,
110
- getDefaultCrfForCodec: crf_1.getDefaultCrfForCodec,
111
- getActualCrf: crf_1.getActualCrf,
112
- setFrameRangeFromCli: frame_range_1.setFrameRangeFromCli,
113
- getUserPreferredImageFormat: image_format_1.getUserPreferredImageFormat,
114
- validateSelectedPixelFormatAndImageFormatCombination: image_format_1.validateSelectedPixelFormatAndImageFormatCombination,
115
- validateSelectedPixelFormatAndCodecCombination: pixel_format_1.validateSelectedPixelFormatAndCodecCombination,
116
- validateFrameRange: frame_range_1.validateFrameRange,
117
- validateNonNullImageFormat: validate_image_format_1.validateNonNullImageFormat,
118
- getWebpackCaching: webpack_caching_1.getWebpackCaching,
119
64
  useLazyComponent: use_lazy_component_1.useLazyComponent,
120
65
  truthy: truthy_1.truthy,
121
- isAudioCodec: is_audio_codec_1.isAudioCodec,
122
- Logging,
123
- SequenceContext: sequencing_1.SequenceContext,
66
+ SequenceContext: Sequence_1.SequenceContext,
124
67
  useRemotionContexts: wrap_remotion_context_1.useRemotionContexts,
125
68
  RemotionContextProvider: wrap_remotion_context_1.RemotionContextProvider,
126
69
  CSSUtils,
127
70
  setupEnvVariables: setup_env_variables_1.setupEnvVariables,
128
- setupInitialFrame: initial_frame_1.setupInitialFrame,
129
71
  ENV_VARIABLES_ENV_NAME: setup_env_variables_1.ENV_VARIABLES_ENV_NAME,
130
- INITIAL_FRAME_LOCAL_STORAGE_KEY: initial_frame_1.INITIAL_FRAME_LOCAL_STORAGE_KEY,
131
- getDotEnvLocation: env_file_1.getDotEnvLocation,
132
- getServerPort: preview_server_1.getServerPort,
133
72
  MediaVolumeContext: volume_position_state_1.MediaVolumeContext,
134
73
  SetMediaVolumeContext: volume_position_state_1.SetMediaVolumeContext,
135
74
  validateDurationInFrames: validate_duration_in_frames_1.validateDurationInFrames,
136
75
  validateFps: validate_fps_1.validateFps,
137
76
  validateDimension: validate_dimensions_1.validateDimension,
138
77
  getRemotionEnvironment: get_environment_1.getRemotionEnvironment,
139
- getProResProfile: prores_profile_1.getProResProfile,
140
- setProResProfile: prores_profile_1.setProResProfile,
141
- validateSelectedCodecAndProResCombination: prores_profile_1.validateSelectedCodecAndProResCombination,
142
- getMaxTimelineTracks: max_timeline_tracks_1.getMaxTimelineTracks,
143
78
  SharedAudioContext: shared_audio_tags_1.SharedAudioContext,
144
79
  SharedAudioContextProvider: shared_audio_tags_1.SharedAudioContextProvider,
145
- validateQuality: validate_quality_1.validateQuality,
146
- validateFrame: validate_frame_1.validateFrame,
147
- setStillFrame: still_frame_1.setStillFrame,
148
- getStillFrame: still_frame_1.getStillFrame,
149
80
  invalidCompositionErrorMessage: validate_composition_id_1.invalidCompositionErrorMessage,
150
81
  isCompositionIdValid: validate_composition_id_1.isCompositionIdValid,
151
- DEFAULT_OVERWRITE: overwrite_1.DEFAULT_OVERWRITE,
152
- AssetCompression,
153
- defaultOverrideFunction: override_webpack_1.defaultOverrideFunction,
154
- DEFAULT_PUPPETEER_TIMEOUT: timeout_2.DEFAULT_PUPPETEER_TIMEOUT,
155
- setupPuppeteerTimeout: timeout_2.setupPuppeteerTimeout,
156
- setPuppeteerTimeout: timeout_1.setPuppeteerTimeout,
157
- getCurrentPuppeteerTimeout: timeout_1.getCurrentPuppeteerTimeout,
158
- getChromiumDisableWebSecurity: chromium_flags_1.getChromiumDisableWebSecurity,
159
- getIgnoreCertificateErrors: chromium_flags_1.getIgnoreCertificateErrors,
160
- validateOpenGlRenderer: validate_opengl_renderer_1.validateOpenGlRenderer,
161
- getChromiumOpenGlRenderer: chromium_flags_1.getChromiumOpenGlRenderer,
162
- getChromiumHeadlessMode: chromium_flags_1.getChromiumHeadlessMode,
163
- DEFAULT_OPENGL_RENDERER: chromium_flags_1.DEFAULT_OPENGL_RENDERER,
164
82
  getPreviewDomElement: get_preview_dom_element_1.getPreviewDomElement,
165
83
  compositionsRef: CompositionManager_1.compositionsRef,
166
84
  DELAY_RENDER_CALLSTACK_TOKEN: delay_render_1.DELAY_RENDER_CALLSTACK_TOKEN,
85
+ portalNode: portal_node_1.portalNode,
86
+ waitForRoot: register_root_1.waitForRoot,
87
+ validateOffthreadVideoImageFormat: validate_offthreadvideo_image_format_1.validateOffthreadVideoImageFormat,
88
+ CanUseRemotionHooksProvider: CanUseRemotionHooks_1.CanUseRemotionHooksProvider,
89
+ CanUseRemotionHooks: CanUseRemotionHooks_1.CanUseRemotionHooks,
90
+ enableLegacyRemotionConfig: config_1.enableLegacyRemotionConfig,
167
91
  };
@@ -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 AbsoluteFill_1 = require("./AbsoluteFill");
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)(AbsoluteFill_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;
@@ -2,10 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Loop = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const __1 = require("..");
5
+ const Sequence_1 = require("../Sequence");
6
+ const use_video_config_1 = require("../use-video-config");
6
7
  const validate_duration_in_frames_1 = require("../validation/validate-duration-in-frames");
7
8
  const Loop = ({ durationInFrames, times = Infinity, children, layout, name, }) => {
8
- const { durationInFrames: compDuration } = (0, __1.useVideoConfig)();
9
+ const { durationInFrames: compDuration } = (0, use_video_config_1.useVideoConfig)();
9
10
  (0, validate_duration_in_frames_1.validateDurationInFrames)(durationInFrames, 'of the <Loop /> component');
10
11
  if (typeof times !== 'number') {
11
12
  throw new TypeError(`You passed to "times" an argument of type ${typeof times}, but it must be a number.`);
@@ -19,9 +20,9 @@ const Loop = ({ durationInFrames, times = Infinity, children, layout, name, }) =
19
20
  const maxTimes = Math.ceil(compDuration / durationInFrames);
20
21
  const actualTimes = Math.min(maxTimes, times);
21
22
  return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: new Array(actualTimes).fill(true).map((_, i) => {
22
- return ((0, jsx_runtime_1.jsx)(__1.Sequence
23
+ return ((0, jsx_runtime_1.jsx)(Sequence_1.Sequence
23
24
  // eslint-disable-next-line react/no-array-index-key
24
25
  , { durationInFrames: durationInFrames, from: i * durationInFrames, layout: layout, name: name, showLoopTimesInTimeline: actualTimes, showInTimeline: i === 0, children: children }, `loop-${i}`));
25
- }) }, void 0));
26
+ }) }));
26
27
  };
27
28
  exports.Loop = Loop;
@@ -1,13 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkMultipleRemotionVersions = void 0;
4
+ const truthy_1 = require("./truthy");
5
+ const version_1 = require("./version");
4
6
  const checkMultipleRemotionVersions = () => {
5
- if (typeof window === 'undefined') {
7
+ if (typeof globalThis === 'undefined') {
6
8
  return;
7
9
  }
8
- if (window.remotion_imported) {
9
- console.error('🚨 Multiple versions of Remotion detected. Multiple versions will cause conflicting React contexts and things may break in an unexpected way. Please check your dependency tree and make sure only one version of Remotion is on the page.');
10
+ const alreadyImported = globalThis.remotion_imported ||
11
+ (typeof window !== 'undefined' && window.remotion_imported);
12
+ if (alreadyImported) {
13
+ throw new TypeError(`🚨 Multiple versions of Remotion detected: ${[
14
+ version_1.VERSION,
15
+ typeof alreadyImported === 'string'
16
+ ? alreadyImported
17
+ : 'an older version',
18
+ ]
19
+ .filter(truthy_1.truthy)
20
+ .join(' and ')}. This will cause things to break in an unexpected way.\nCheck that all your Remotion packages are on the same version. If your dependencies depend on Remotion, make them peer dependencies. You can also run \`npx remotion versions\` from your terminal to see which versions are mismatching.`);
21
+ }
22
+ globalThis.remotion_imported = true;
23
+ if (typeof window !== 'undefined') {
24
+ window.remotion_imported = version_1.VERSION;
10
25
  }
11
- window.remotion_imported = true;
12
26
  };
13
27
  exports.checkMultipleRemotionVersions = checkMultipleRemotionVersions;
@@ -1,2 +1,2 @@
1
- import { RefObject } from 'react';
1
+ import type { RefObject } from 'react';
2
2
  export declare const playAndHandleNotAllowedError: (mediaRef: RefObject<HTMLVideoElement | HTMLAudioElement>, mediaType: 'audio' | 'video') => void;
@@ -0,0 +1 @@
1
+ export declare const portalNode: () => HTMLElement;