remotion 4.0.0-fastlambda.8 → 4.0.0-july8th.12

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 (268) hide show
  1. package/.turbo/turbo-build.log +5 -5
  2. package/README.md +1 -1
  3. package/dist/AbsoluteFill.d.ts +6 -1
  4. package/dist/AbsoluteFill.d.ts.map +1 -1
  5. package/dist/AbsoluteFill.js +5 -1
  6. package/dist/AbsoluteFill.js.map +1 -1
  7. package/dist/Composition.d.ts +3 -6
  8. package/dist/Composition.d.ts.map +1 -1
  9. package/dist/Composition.js +30 -27
  10. package/dist/Composition.js.map +1 -1
  11. package/dist/CompositionManager.d.ts +4 -6
  12. package/dist/CompositionManager.d.ts.map +1 -1
  13. package/dist/CompositionManager.js +6 -2
  14. package/dist/CompositionManager.js.map +1 -1
  15. package/dist/Folder.d.ts +15 -0
  16. package/dist/Folder.js +33 -0
  17. package/dist/IFrame.d.ts.map +1 -1
  18. package/dist/IFrame.js +1 -1
  19. package/dist/IFrame.js.map +1 -1
  20. package/dist/Img.d.ts.map +1 -1
  21. package/dist/Img.js +26 -21
  22. package/dist/Img.js.map +1 -1
  23. package/dist/RemotionRoot.d.ts.map +1 -1
  24. package/dist/RemotionRoot.js +1 -1
  25. package/dist/RemotionRoot.js.map +1 -1
  26. package/dist/Sequence.d.ts +25 -0
  27. package/dist/Sequence.js +127 -0
  28. package/dist/Still.d.ts +1 -2
  29. package/dist/Still.d.ts.map +1 -1
  30. package/dist/Still.js +1 -1
  31. package/dist/Still.js.map +1 -1
  32. package/dist/any-component.d.ts +4 -0
  33. package/dist/any-component.d.ts.map +1 -0
  34. package/dist/any-component.js +3 -0
  35. package/dist/any-component.js.map +1 -0
  36. package/dist/asset-types.d.ts +1 -4
  37. package/dist/asset-types.d.ts.map +1 -1
  38. package/dist/audio/Audio.d.ts +2 -2
  39. package/dist/audio/Audio.d.ts.map +1 -1
  40. package/dist/audio/Audio.js +4 -4
  41. package/dist/audio/Audio.js.map +1 -1
  42. package/dist/audio/AudioForDevelopment.d.ts +1 -1
  43. package/dist/audio/AudioForDevelopment.d.ts.map +1 -1
  44. package/dist/audio/AudioForDevelopment.js +2 -1
  45. package/dist/audio/AudioForDevelopment.js.map +1 -1
  46. package/dist/audio/AudioForRendering.d.ts +2 -2
  47. package/dist/audio/AudioForRendering.d.ts.map +1 -1
  48. package/dist/audio/AudioForRendering.js +6 -6
  49. package/dist/audio/AudioForRendering.js.map +1 -1
  50. package/dist/audio/index.js +5 -1
  51. package/dist/audio/props.d.ts +1 -1
  52. package/dist/audio/props.d.ts.map +1 -1
  53. package/dist/audio/shared-audio-tags.d.ts +1 -1
  54. package/dist/audio/shared-audio-tags.d.ts.map +1 -1
  55. package/dist/audio/shared-audio-tags.js +6 -2
  56. package/dist/audio/shared-audio-tags.js.map +1 -1
  57. package/dist/audio/use-audio-frame.js +4 -4
  58. package/dist/compress-assets.d.ts +1 -1
  59. package/dist/config/chromium-flags.d.ts +2 -2
  60. package/dist/config/codec.d.ts +1 -2
  61. package/dist/config/codec.d.ts.map +1 -1
  62. package/dist/config/codec.js +2 -3
  63. package/dist/config/codec.js.map +1 -1
  64. package/dist/config/crf.d.ts +1 -1
  65. package/dist/config/crf.d.ts.map +1 -1
  66. package/dist/config/crf.js.map +1 -1
  67. package/dist/config/ffmpeg-executable.d.ts +2 -0
  68. package/dist/config/ffmpeg-executable.js +10 -1
  69. package/dist/config/frame-range.js.map +1 -1
  70. package/dist/config/frames-per-lambda.d.ts +3 -0
  71. package/dist/config/frames-per-lambda.d.ts.map +1 -0
  72. package/dist/config/frames-per-lambda.js +13 -0
  73. package/dist/config/frames-per-lambda.js.map +1 -0
  74. package/dist/config/image-format.d.ts +1 -1
  75. package/dist/config/image-format.d.ts.map +1 -1
  76. package/dist/config/image-format.js.map +1 -1
  77. package/dist/config/image-sequence.d.ts +1 -1
  78. package/dist/config/index.d.ts +19 -14
  79. package/dist/config/index.d.ts.map +1 -1
  80. package/dist/config/index.js +7 -2
  81. package/dist/config/index.js.map +1 -1
  82. package/dist/config/input-props.d.ts.map +1 -1
  83. package/dist/config/input-props.js +12 -14
  84. package/dist/config/input-props.js.map +1 -1
  85. package/dist/config/log.d.ts +1 -1
  86. package/dist/config/log.d.ts.map +1 -1
  87. package/dist/config/log.js.map +1 -1
  88. package/dist/config/override-webpack.d.ts +2 -8
  89. package/dist/config/override-webpack.d.ts.map +1 -1
  90. package/dist/config/override-webpack.js.map +1 -1
  91. package/dist/config/overwrite.d.ts.map +1 -1
  92. package/dist/config/overwrite.js.map +1 -1
  93. package/dist/config/pixel-format.d.ts +1 -1
  94. package/dist/config/pixel-format.d.ts.map +1 -1
  95. package/dist/config/pixel-format.js.map +1 -1
  96. package/dist/config/prores-profile.d.ts +1 -1
  97. package/dist/config/quality.d.ts.map +1 -1
  98. package/dist/config/quality.js.map +1 -1
  99. package/dist/default-css.d.ts +1 -0
  100. package/dist/default-css.d.ts.map +1 -1
  101. package/dist/default-css.js +9 -2
  102. package/dist/default-css.js.map +1 -1
  103. package/dist/delay-render.d.ts +1 -1
  104. package/dist/freeze.d.ts +2 -2
  105. package/dist/freeze.d.ts.map +1 -1
  106. package/dist/freeze.js +2 -2
  107. package/dist/freeze.js.map +1 -1
  108. package/dist/get-asset-file-name.d.ts.map +1 -1
  109. package/dist/get-asset-file-name.js.map +1 -1
  110. package/dist/get-environment.d.ts.map +1 -1
  111. package/dist/get-environment.js.map +1 -1
  112. package/dist/get-timeline-clip-name.js.map +1 -1
  113. package/dist/index.d.ts +10 -6
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +13 -7
  116. package/dist/index.js.map +1 -1
  117. package/dist/initial-frame.d.ts +1 -0
  118. package/dist/initial-frame.js +1 -0
  119. package/dist/internals.d.ts +19 -18
  120. package/dist/internals.d.ts.map +1 -1
  121. package/dist/internals.js +15 -6
  122. package/dist/internals.js.map +1 -1
  123. package/dist/interpolate-colors.d.ts +5 -0
  124. package/dist/interpolate-colors.js +401 -0
  125. package/dist/interpolate.d.ts.map +1 -1
  126. package/dist/interpolate.js.map +1 -1
  127. package/dist/interpolateColors.d.ts.map +1 -1
  128. package/dist/interpolateColors.js.map +1 -1
  129. package/dist/is-audio-codec.d.ts +1 -1
  130. package/dist/is-remote-asset.d.ts +2 -0
  131. package/dist/is-remote-asset.d.ts.map +1 -0
  132. package/dist/is-remote-asset.js +6 -0
  133. package/dist/is-remote-asset.js.map +1 -0
  134. package/dist/loading-indicator.d.ts +2 -0
  135. package/dist/loading-indicator.js +35 -0
  136. package/dist/loop/index.d.ts.map +1 -1
  137. package/dist/loop/index.js +1 -1
  138. package/dist/loop/index.js.map +1 -1
  139. package/dist/perf/index.d.ts +1 -1
  140. package/dist/perf/index.js +2 -0
  141. package/dist/perf/index.js.map +1 -1
  142. package/dist/play-and-handle-not-allowed-error.d.ts +1 -1
  143. package/dist/portal-node.d.ts +1 -0
  144. package/dist/portal-node.js +23 -0
  145. package/dist/ready-manager.d.ts +3 -0
  146. package/dist/ready-manager.d.ts.map +1 -0
  147. package/dist/ready-manager.js +42 -0
  148. package/dist/ready-manager.js.map +1 -0
  149. package/dist/register-root.d.ts +2 -1
  150. package/dist/register-root.d.ts.map +1 -1
  151. package/dist/register-root.js +20 -5
  152. package/dist/register-root.js.map +1 -1
  153. package/dist/sequencing/index.d.ts.map +1 -1
  154. package/dist/sequencing/index.js +1 -1
  155. package/dist/sequencing/index.js.map +1 -1
  156. package/dist/series/index.d.ts +2 -2
  157. package/dist/series/index.d.ts.map +1 -1
  158. package/dist/series/index.js +4 -4
  159. package/dist/series/index.js.map +1 -1
  160. package/dist/setup-env-variables.d.ts.map +1 -1
  161. package/dist/setup-env-variables.js.map +1 -1
  162. package/dist/spring/index.d.ts +8 -4
  163. package/dist/spring/index.d.ts.map +1 -1
  164. package/dist/spring/index.js +21 -6
  165. package/dist/spring/index.js.map +1 -1
  166. package/dist/spring/measure-spring.d.ts +1 -1
  167. package/dist/spring/measure-spring.js.map +1 -1
  168. package/dist/timeline-inout-position-state.d.ts +1 -1
  169. package/dist/timeline-inout-position-state.d.ts.map +1 -1
  170. package/dist/timeline-inout-position-state.js.map +1 -1
  171. package/dist/timeline-position-state.d.ts +1 -1
  172. package/dist/timeline-position-state.d.ts.map +1 -1
  173. package/dist/timeline-position-state.js.map +1 -1
  174. package/dist/use-current-frame.d.ts +7 -0
  175. package/dist/use-current-frame.js +25 -0
  176. package/dist/use-frame.d.ts.map +1 -1
  177. package/dist/use-frame.js.map +1 -1
  178. package/dist/use-lazy-component.d.ts +3 -3
  179. package/dist/use-lazy-component.d.ts.map +1 -1
  180. package/dist/use-lazy-component.js +5 -1
  181. package/dist/use-lazy-component.js.map +1 -1
  182. package/dist/use-media-in-timeline.d.ts +2 -2
  183. package/dist/use-media-in-timeline.d.ts.map +1 -1
  184. package/dist/use-media-in-timeline.js +2 -2
  185. package/dist/use-media-in-timeline.js.map +1 -1
  186. package/dist/use-media-playback.d.ts +3 -2
  187. package/dist/use-media-playback.d.ts.map +1 -1
  188. package/dist/use-media-playback.js +8 -6
  189. package/dist/use-media-playback.js.map +1 -1
  190. package/dist/use-media-tag-volume.d.ts +1 -1
  191. package/dist/use-sync-volume-with-media-tag.d.ts +2 -2
  192. package/dist/use-unsafe-video-config.d.ts +1 -1
  193. package/dist/use-unsafe-video-config.d.ts.map +1 -1
  194. package/dist/use-unsafe-video-config.js +2 -2
  195. package/dist/use-unsafe-video-config.js.map +1 -1
  196. package/dist/use-video-config.d.ts +1 -1
  197. package/dist/use-video-config.d.ts.map +1 -1
  198. package/dist/use-video-config.js.map +1 -1
  199. package/dist/use-video.d.ts.map +1 -1
  200. package/dist/use-video.js.map +1 -1
  201. package/dist/validate-media-props.d.ts +4 -3
  202. package/dist/validation/validate-dimensions.d.ts.map +1 -1
  203. package/dist/validation/validate-dimensions.js.map +1 -1
  204. package/dist/validation/validate-duration-in-frames.d.ts.map +1 -1
  205. package/dist/validation/validate-duration-in-frames.js.map +1 -1
  206. package/dist/validation/validate-fps.d.ts.map +1 -1
  207. package/dist/validation/validate-fps.js.map +1 -1
  208. package/dist/validation/validate-image-format.d.ts +1 -1
  209. package/dist/validation/validate-offthreadvideo-image-format.d.ts +1 -0
  210. package/dist/validation/validate-offthreadvideo-image-format.js +15 -0
  211. package/dist/validation/validate-opengl-renderer.d.ts +1 -1
  212. package/dist/validation/validate-opengl-renderer.js +1 -1
  213. package/dist/validation/validation-spring-duration.d.ts +1 -0
  214. package/dist/validation/validation-spring-duration.js +21 -0
  215. package/dist/video/OffthreadVideo.d.ts +3 -0
  216. package/dist/video/OffthreadVideo.js +27 -0
  217. package/dist/video/OffthreadVideoForRendering.d.ts +3 -0
  218. package/dist/video/OffthreadVideoForRendering.js +95 -0
  219. package/dist/video/Video.d.ts +2 -2
  220. package/dist/video/Video.d.ts.map +1 -1
  221. package/dist/video/Video.js +4 -4
  222. package/dist/video/Video.js.map +1 -1
  223. package/dist/video/VideoForDevelopment.d.ts +6 -2
  224. package/dist/video/VideoForDevelopment.d.ts.map +1 -1
  225. package/dist/video/VideoForDevelopment.js +3 -2
  226. package/dist/video/VideoForDevelopment.js.map +1 -1
  227. package/dist/video/VideoForRendering.d.ts +2 -2
  228. package/dist/video/VideoForRendering.d.ts.map +1 -1
  229. package/dist/video/VideoForRendering.js +13 -7
  230. package/dist/video/VideoForRendering.js.map +1 -1
  231. package/dist/video/get-current-time.d.ts +5 -0
  232. package/dist/video/get-current-time.js +10 -2
  233. package/dist/video/index.d.ts +3 -2
  234. package/dist/video/index.js +5 -12
  235. package/dist/video/props.d.ts +13 -2
  236. package/dist/video/props.d.ts.map +1 -1
  237. package/dist/video-config.d.ts.map +1 -1
  238. package/dist/volume-prop.js +1 -1
  239. package/dist/warn-about-non-seekable-media.d.ts +1 -1
  240. package/dist/warn-about-non-seekable-media.js +14 -2
  241. package/dist/wrap-remotion-context.d.ts +1 -1
  242. package/dist/wrap-remotion-context.js +8 -4
  243. package/dist/wrap-remotion-context.js.map +1 -1
  244. package/package.json +4 -4
  245. package/.turbo/turbo-lint.log +0 -11
  246. package/.turbo/turbo-test.log +0 -78
  247. package/dist/compress-assets.d.ts.map +0 -1
  248. package/dist/compress-assets.js.map +0 -1
  249. package/dist/config/chromium-flags.d.ts.map +0 -1
  250. package/dist/config/chromium-flags.js.map +0 -1
  251. package/dist/config/scale.d.ts.map +0 -1
  252. package/dist/config/scale.js.map +0 -1
  253. package/dist/config/timeout.d.ts.map +0 -1
  254. package/dist/config/timeout.js.map +0 -1
  255. package/dist/delay-render.d.ts.map +0 -1
  256. package/dist/delay-render.js.map +0 -1
  257. package/dist/get-preview-dom-element.d.ts.map +0 -1
  258. package/dist/get-preview-dom-element.js.map +0 -1
  259. package/dist/play-and-handle-not-allowed-error.d.ts.map +0 -1
  260. package/dist/play-and-handle-not-allowed-error.js.map +0 -1
  261. package/dist/static-file.d.ts.map +0 -1
  262. package/dist/static-file.js.map +0 -1
  263. package/dist/timeout.d.ts.map +0 -1
  264. package/dist/timeout.js.map +0 -1
  265. package/dist/validation/validate-folder-name.d.ts.map +0 -1
  266. package/dist/validation/validate-folder-name.js.map +0 -1
  267. package/dist/validation/validate-opengl-renderer.d.ts.map +0 -1
  268. package/dist/validation/validate-opengl-renderer.js.map +0 -1
@@ -1,5 +1,5 @@
1
- remotion:build: cache hit, replaying output 4a4ef92a893fde14
2
- remotion:build: 
3
- remotion:build: > remotion@3.0.7 build /Users/jonathanburger/remotion/packages/core
4
- remotion:build: > tsc -d
5
- remotion:build: 
1
+ remotion:build: cache hit, replaying output 39dcfe0ce8ce0a46
2
+ remotion:build: 
3
+ remotion:build: > remotion@3.0.28 build /Users/jonathanburger/remotion2/packages/core
4
+ remotion:build: > tsc -d
5
+ remotion:build: 
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  </a>
5
5
  </p>
6
6
 
7
- [![Discord Shield](https://discordapp.com/api/guilds/809501355504959528/widget.png?style=shield)](https://discord.gg/6VzzNDwUwV)
7
+ [![Discord Shield](https://discordapp.com/api/guilds/809501355504959528/widget.png?style=shield)](https://remotion.dev/discord)
8
8
  [![NPM Version](http://img.shields.io/npm/v/remotion.svg?style=flat)](https://www.npmjs.org/package/remotion)
9
9
  [![NPM Downloads](https://img.shields.io/npm/dm/remotion.svg?style=flat)](https://npmcharts.com/compare/remotion?minimal=true)
10
10
  [![Install Size](https://packagephobia.now.sh/badge?p=remotion)](https://packagephobia.now.sh/result?p=remotion)
@@ -1,2 +1,7 @@
1
- import React, { HTMLAttributes } from 'react';
1
+ import type { HTMLAttributes } from 'react';
2
+ import React from 'react';
3
+ /**
4
+ * An absolutely positioned <div> element with 100% width, height, and a column flex style
5
+ * @link https://www.remotion.dev/docs/absolute-fill
6
+ */
2
7
  export declare const AbsoluteFill: React.FC<HTMLAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"AbsoluteFill.d.ts","sourceRoot":"","sources":["../src/AbsoluteFill.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,cAAc,EAAU,MAAM,OAAO,CAAC;AAErD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,cAAc,CAAC,CAoBjE,CAAC"}
1
+ {"version":3,"file":"AbsoluteFill.d.ts","sourceRoot":"","sources":["../src/AbsoluteFill.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,cAAc,EAAU,MAAM,OAAO,CAAC;AAErD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,cAAc,CAAC,CAkBjE,CAAC"}
@@ -3,6 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AbsoluteFill = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
+ /**
7
+ * An absolutely positioned <div> element with 100% width, height, and a column flex style
8
+ * @link https://www.remotion.dev/docs/absolute-fill
9
+ */
6
10
  const AbsoluteFill = (props) => {
7
11
  const { style, ...other } = props;
8
12
  const actualStyle = (0, react_1.useMemo)(() => {
@@ -19,6 +23,6 @@ const AbsoluteFill = (props) => {
19
23
  ...style,
20
24
  };
21
25
  }, [style]);
22
- return (0, jsx_runtime_1.jsx)("div", { style: actualStyle, ...other }, void 0);
26
+ return (0, jsx_runtime_1.jsx)("div", { style: actualStyle, ...other });
23
27
  };
24
28
  exports.AbsoluteFill = AbsoluteFill;
@@ -1 +1 @@
1
- {"version":3,"file":"AbsoluteFill.js","sourceRoot":"","sources":["../src/AbsoluteFill.tsx"],"names":[],"mappings":";;;;AAAA,iCAAqD;AAE9C,MAAM,YAAY,GAA6C,CACrE,KAAK,EACJ,EAAE;IACH,MAAM,EAAC,KAAK,EAAE,GAAG,KAAK,EAAC,GAAG,KAAK,CAAC;IAChC,MAAM,WAAW,GAAG,IAAA,eAAO,EAAC,GAAwB,EAAE;QACrD,OAAO;YACN,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,GAAG,KAAK;SACR,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,gCAAK,KAAK,EAAE,WAAW,KAAM,KAAK,WAAI,CAAC;AAC/C,CAAC,CAAC;AApBW,QAAA,YAAY,gBAoBvB"}
1
+ {"version":3,"file":"AbsoluteFill.js","sourceRoot":"","sources":["../src/AbsoluteFill.tsx"],"names":[],"mappings":";;;;AAAA,iCAAqD;AAE9C,MAAM,YAAY,GAA6C,KAAK,CAAC,EAAE;IAC7E,MAAM,EAAC,KAAK,EAAE,GAAG,KAAK,EAAC,GAAG,KAAK,CAAC;IAChC,MAAM,WAAW,GAAG,IAAA,eAAO,EAAC,GAAwB,EAAE;QACrD,OAAO;YACN,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,GAAG,KAAK;SACR,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,8CAAK,KAAK,EAAE,WAAW,IAAM,KAAK,UAAI,CAAC;AAC/C,CAAC,CAAC;AAlBW,QAAA,YAAY,gBAkBvB"}
@@ -1,8 +1,5 @@
1
- import React, { ComponentType, FC } from 'react';
2
- export declare const Folder: FC<{
3
- name: string;
4
- children: React.ReactNode;
5
- }>;
1
+ import type { ComponentType } from 'react';
2
+ import React from 'react';
6
3
  declare type LooseComponentType<T> = ComponentType<T> | ((props: T) => React.ReactNode);
7
4
  export declare type CompProps<T> = {
8
5
  lazyComponent: () => Promise<{
@@ -21,5 +18,5 @@ declare type CompositionProps<T> = StillProps<T> & {
21
18
  fps: number;
22
19
  durationInFrames: number;
23
20
  };
24
- export declare const Composition: <T>({ width, height, fps, durationInFrames, id, defaultProps, ...compProps }: CompositionProps<T>) => null;
21
+ export declare const Composition: <T>({ width, height, fps, durationInFrames, id, defaultProps, ...compProps }: CompositionProps<T>) => React.ReactPortal | null;
25
22
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Composition.d.ts","sourceRoot":"","sources":["../src/Composition.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACb,aAAa,EAEb,EAAE,EAIF,MAAM,OAAO,CAAC;AAqBf,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAC,CAgChE,CAAC;AAEF,aAAK,kBAAkB,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;AAEhF,oBAAY,SAAS,CAAC,CAAC,IACpB;IACA,aAAa,EAAE,MAAM,OAAO,CAAC;QAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAA;KAAC,CAAC,CAAC;CAC9D,GACD;IACA,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;CAChC,CAAC;AAEL,oBAAY,UAAU,CAAC,CAAC,IAAI;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,CAAC,CAAC;CACjB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAEjB,aAAK,gBAAgB,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,WAAW,4GAgEvB,CAAC"}
1
+ {"version":3,"file":"Composition.d.ts","sourceRoot":"","sources":["../src/Composition.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAa7C,oBAAY,SAAS,CAAC,CAAC,IACpB;IACA,aAAa,EAAE,MAAM,OAAO,CAAC;QAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;KAAC,CAAC,CAAC;CACxD,GACD;IACA,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CAC1B,CAAC;AAEL,aAAK,KAAK,CAAC,CAAC,IAAI;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,CAAC,CAAC;CACjB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAEjB,eAAO,MAAM,WAAW,wGAyEvB,CAAC"}
@@ -1,47 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Composition = exports.Folder = void 0;
3
+ exports.Composition = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
+ const react_dom_1 = require("react-dom");
6
7
  const CompositionManager_1 = require("./CompositionManager");
8
+ const input_props_1 = require("./config/input-props");
9
+ const delay_render_1 = require("./delay-render");
10
+ const Folder_1 = require("./Folder");
11
+ const get_environment_1 = require("./get-environment");
12
+ const loading_indicator_1 = require("./loading-indicator");
7
13
  const nonce_1 = require("./nonce");
8
- const truthy_1 = require("./truthy");
14
+ const portal_node_1 = require("./portal-node");
9
15
  const use_lazy_component_1 = require("./use-lazy-component");
16
+ const use_video_1 = require("./use-video");
10
17
  const validate_composition_id_1 = require("./validation/validate-composition-id");
11
18
  const validate_dimensions_1 = require("./validation/validate-dimensions");
12
19
  const validate_duration_in_frames_1 = require("./validation/validate-duration-in-frames");
13
- const validate_folder_name_1 = require("./validation/validate-folder-name");
14
20
  const validate_fps_1 = require("./validation/validate-fps");
15
- const FolderContext = (0, react_1.createContext)({
16
- folderName: null,
17
- parentName: null,
18
- });
19
- const Folder = ({ name, children, }) => {
20
- const parent = (0, react_1.useContext)(FolderContext);
21
- const { registerFolder, unregisterFolder } = (0, react_1.useContext)(CompositionManager_1.CompositionManager);
22
- (0, validate_folder_name_1.validateFolderName)(name);
23
- const parentNameArr = [parent.parentName, parent.folderName].filter(truthy_1.truthy);
24
- const parentName = parentNameArr.length === 0 ? null : parentNameArr.join('/');
25
- const value = (0, react_1.useMemo)(() => {
26
- return {
27
- folderName: name,
28
- parentName,
29
- };
30
- }, [name, parentName]);
21
+ const Fallback = () => {
31
22
  (0, react_1.useEffect)(() => {
32
- registerFolder(name, parentName);
33
- return () => {
34
- unregisterFolder(name, parentName);
35
- };
36
- }, [name, parent.folderName, parentName, registerFolder, unregisterFolder]);
37
- return ((0, jsx_runtime_1.jsx)(FolderContext.Provider, { value: value, children: children }, void 0));
23
+ const fallback = (0, delay_render_1.delayRender)('Waiting for Root component to unsuspend');
24
+ return () => (0, delay_render_1.continueRender)(fallback);
25
+ }, []);
26
+ return null;
38
27
  };
39
- exports.Folder = Folder;
40
28
  const Composition = ({ width, height, fps, durationInFrames, id, defaultProps, ...compProps }) => {
41
29
  const { registerComposition, unregisterComposition } = (0, react_1.useContext)(CompositionManager_1.CompositionManager);
30
+ const video = (0, use_video_1.useVideo)();
42
31
  const lazy = (0, use_lazy_component_1.useLazyComponent)(compProps);
43
32
  const nonce = (0, nonce_1.useNonce)();
44
- const { folderName, parentName } = (0, react_1.useContext)(FolderContext);
33
+ const { folderName, parentName } = (0, react_1.useContext)(Folder_1.FolderContext);
45
34
  (0, react_1.useEffect)(() => {
46
35
  // Ensure it's a URL safe id
47
36
  if (!id) {
@@ -81,6 +70,20 @@ const Composition = ({ width, height, fps, durationInFrames, id, defaultProps, .
81
70
  nonce,
82
71
  parentName,
83
72
  ]);
73
+ if ((0, get_environment_1.getRemotionEnvironment)() === 'preview' &&
74
+ video &&
75
+ video.component === lazy) {
76
+ const Comp = lazy;
77
+ const inputProps = (0, input_props_1.getInputProps)();
78
+ return (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: (0, jsx_runtime_1.jsx)(loading_indicator_1.Loading, {}), children: (0, jsx_runtime_1.jsx)(Comp, { ...defaultProps, ...inputProps }) }), (0, portal_node_1.portalNode)());
79
+ }
80
+ if ((0, get_environment_1.getRemotionEnvironment)() === 'rendering' &&
81
+ video &&
82
+ video.component === lazy) {
83
+ const Comp = lazy;
84
+ const inputProps = (0, input_props_1.getInputProps)();
85
+ return (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: (0, jsx_runtime_1.jsx)(Fallback, {}), children: (0, jsx_runtime_1.jsx)(Comp, { ...defaultProps, ...inputProps }) }), (0, portal_node_1.portalNode)());
86
+ }
84
87
  return null;
85
88
  };
86
89
  exports.Composition = Composition;
@@ -1 +1 @@
1
- {"version":3,"file":"Composition.js","sourceRoot":"","sources":["../src/Composition.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Composition.js","sourceRoot":"","sources":["../src/Composition.tsx"],"names":[],"mappings":";;;AAAA,iCAA4C;AAE5C,6DAAwD;AACxD,mCAAiC;AACjC,mDAIyB;AACzB,6DAAsD;AACtD,0EAAmE;AACnE,0FAAkF;AAClF,4DAAsD;AAmB/C,MAAM,WAAW,GAAG,CAAK,EAC/B,KAAK,EACL,MAAM,EACN,GAAG,EACH,gBAAgB,EAChB,EAAE,EACF,YAAY,EAAE,KAAK,EACnB,GAAG,SAAS,EACF,EAAE,EAAE;IACd,MAAM,EAAC,mBAAmB,EAAE,qBAAqB,EAAC,GAAG,IAAA,kBAAU,EAC9D,uCAAkB,CAClB,CAAC;IAEF,MAAM,IAAI,GAAG,IAAA,qCAAgB,EAAC,SAAS,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAA,gBAAQ,GAAE,CAAC;IAEzB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,4BAA4B;QAC5B,IAAI,CAAC,EAAE,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SACjD;QAED,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE;YACpC,MAAM,IAAI,KAAK,CACd,mEAAmE,EAAE,EAAE,CACvE,CAAC;SACF;QAED,IAAA,uCAAiB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClC,IAAA,uCAAiB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAA,sDAAwB,EAAC,gBAAgB,CAAC,CAAC;QAC3C,IAAA,0BAAW,EAAC,GAAG,CAAC,CAAC;QACjB,mBAAmB,CAAI;YACtB,gBAAgB;YAChB,GAAG;YACH,MAAM;YACN,KAAK;YACL,EAAE;YACF,SAAS,EAAE,IAAI;YACf,KAAK;YACL,KAAK;SACL,CAAC,CAAC;QAEH,IAAI,IAAA,+BAAe,GAAE,EAAE;YACtB,IAAA,oCAAoB,EAAC;gBACpB,SAAS,EAAE,IAAI;gBACf,gBAAgB;gBAChB,GAAG;gBACH,MAAM;gBACN,EAAE;gBACF,KAAK;gBACL,KAAK;aACL,CAAC,CAAC;SACH;QAED,OAAO,GAAG,EAAE;YACX,qBAAqB,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAA,uCAAuB,EAAC,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC;IACH,CAAC,EAAE;QACF,gBAAgB;QAChB,GAAG;QACH,MAAM;QACN,IAAI;QACJ,EAAE;QACF,KAAK;QACL,mBAAmB;QACnB,qBAAqB;QACrB,KAAK;QACL,KAAK;KACL,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAzEW,QAAA,WAAW,eAyEtB"}
@@ -1,4 +1,6 @@
1
- import React, { ComponentType, LazyExoticComponent } from 'react';
1
+ import type { ComponentType, LazyExoticComponent } from 'react';
2
+ import React from 'react';
3
+ import type { TFolder } from './Folder';
2
4
  export declare type TComposition<T = unknown> = {
3
5
  width: number;
4
6
  height: number;
@@ -12,7 +14,7 @@ export declare type TComposition<T = unknown> = {
12
14
  nonce: number;
13
15
  };
14
16
  export declare type TCompMetadata = Pick<TComposition, 'id' | 'height' | 'width' | 'fps' | 'durationInFrames' | 'defaultProps'>;
15
- export declare type SmallTCompMetadata = Pick<TComposition, 'id' | 'height' | 'width' | 'fps' | 'durationInFrames'>;
17
+ export declare type SmallTCompMetadata = Pick<TComposition, 'id' | 'height' | 'width' | 'fps' | 'durationInFrames'> & Partial<Pick<TComposition, 'defaultProps'>>;
16
18
  declare type EnhancedTSequenceData = {
17
19
  type: 'sequence';
18
20
  } | {
@@ -74,10 +76,6 @@ export declare const CompositionManager: React.Context<CompositionManagerContext
74
76
  export declare const compositionsRef: React.RefObject<{
75
77
  getCompositions: () => TCompMetadata[];
76
78
  }>;
77
- export declare type TFolder = {
78
- name: string;
79
- parent: string | null;
80
- };
81
79
  export declare const CompositionManagerProvider: React.FC<{
82
80
  children: React.ReactNode;
83
81
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"CompositionManager.d.ts","sourceRoot":"","sources":["../src/CompositionManager.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CompositionManager.d.ts","sourceRoot":"","sources":["../src/CompositionManager.tsx"],"names":[],"mappings":"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"}
@@ -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];
@@ -139,6 +143,6 @@ const CompositionManagerProvider = ({ children }) => {
139
143
  unregisterFolder,
140
144
  folders,
141
145
  ]);
142
- return ((0, jsx_runtime_1.jsx)(exports.CompositionManager.Provider, { value: contextValue, children: children }, void 0));
146
+ return ((0, jsx_runtime_1.jsx)(exports.CompositionManager.Provider, { value: contextValue, children: children }));
143
147
  };
144
148
  exports.CompositionManagerProvider = CompositionManagerProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"CompositionManager.js","sourceRoot":"","sources":["../src/CompositionManager.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CompositionManager.js","sourceRoot":"","sources":["../src/CompositionManager.tsx"],"names":[],"mappings":";;;AAAA,iCAAyD;AAmF5C,QAAA,kBAAkB,GAAG,IAAA,qBAAa,EAA4B;IAC1E,YAAY,EAAE,EAAE;IAChB,mBAAmB,EAAE,GAAG,EAAE,CAAC,SAAS;IACpC,qBAAqB,EAAE,GAAG,EAAE,CAAC,SAAS;IACtC,kBAAkB,EAAE,IAAI;IACxB,qBAAqB,EAAE,GAAG,EAAE,CAAC,SAAS;IACtC,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS;IACjC,kBAAkB,EAAE,GAAG,EAAE,CAAC,SAAS;IACnC,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;IAC9B,eAAe,EAAE,GAAG,EAAE,CAAC,SAAS;IAChC,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;CACV,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { FC } from 'react';
2
+ export declare type TFolder = {
3
+ name: string;
4
+ parent: string | null;
5
+ };
6
+ declare type FolderContextType = {
7
+ folderName: string | null;
8
+ parentName: string | null;
9
+ };
10
+ export declare const FolderContext: import("react").Context<FolderContextType>;
11
+ export declare const Folder: FC<{
12
+ name: string;
13
+ children: React.ReactNode;
14
+ }>;
15
+ export {};
package/dist/Folder.js ADDED
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Folder = exports.FolderContext = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const CompositionManager_1 = require("./CompositionManager");
7
+ const truthy_1 = require("./truthy");
8
+ const validate_folder_name_1 = require("./validation/validate-folder-name");
9
+ exports.FolderContext = (0, react_1.createContext)({
10
+ folderName: null,
11
+ parentName: null,
12
+ });
13
+ const Folder = ({ name, children, }) => {
14
+ const parent = (0, react_1.useContext)(exports.FolderContext);
15
+ const { registerFolder, unregisterFolder } = (0, react_1.useContext)(CompositionManager_1.CompositionManager);
16
+ (0, validate_folder_name_1.validateFolderName)(name);
17
+ const parentNameArr = [parent.parentName, parent.folderName].filter(truthy_1.truthy);
18
+ const parentName = parentNameArr.length === 0 ? null : parentNameArr.join('/');
19
+ const value = (0, react_1.useMemo)(() => {
20
+ return {
21
+ folderName: name,
22
+ parentName,
23
+ };
24
+ }, [name, parentName]);
25
+ (0, react_1.useEffect)(() => {
26
+ registerFolder(name, parentName);
27
+ return () => {
28
+ unregisterFolder(name, parentName);
29
+ };
30
+ }, [name, parent.folderName, parentName, registerFolder, unregisterFolder]);
31
+ return ((0, jsx_runtime_1.jsx)(exports.FolderContext.Provider, { value: value, children: children }));
32
+ };
33
+ exports.Folder = Folder;
@@ -1 +1 @@
1
- {"version":3,"file":"IFrame.d.ts","sourceRoot":"","sources":["../src/IFrame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAyC/D,eAAO,MAAM,MAAM,wOAAkC,CAAC"}
1
+ {"version":3,"file":"IFrame.d.ts","sourceRoot":"","sources":["../src/IFrame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAuC/D,eAAO,MAAM,MAAM,wOAAkC,CAAC"}
package/dist/IFrame.js CHANGED
@@ -19,6 +19,6 @@ const IFrameRefForwarding = ({ onLoad, onError, ...props }, ref) => {
19
19
  console.error('Error loading iframe:', e, 'Handle the event using the onError() prop to make this message disappear.');
20
20
  }
21
21
  }, [handle, onError]);
22
- return (0, jsx_runtime_1.jsx)("iframe", { ...props, ref: ref, onError: didGetError, onLoad: didLoad }, void 0);
22
+ return (0, jsx_runtime_1.jsx)("iframe", { ...props, ref: ref, onError: didGetError, onLoad: didLoad });
23
23
  };
24
24
  exports.IFrame = (0, react_1.forwardRef)(IFrameRefForwarding);
@@ -1 +1 @@
1
- {"version":3,"file":"IFrame.js","sourceRoot":"","sources":["../src/IFrame.tsx"],"names":[],"mappings":";;;;AAAA,iCAA+D;AAC/D,iDAA2D;AAE3D,MAAM,mBAAmB,GAMrB,CAAC,EAAC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,EAAC,EAAE,GAAG,EAAE,EAAE;IACxC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAC9B,IAAA,0BAAW,EAAC,gCAAgC,KAAK,CAAC,GAAG,EAAE,CAAC,CACxD,CAAC;IAEF,MAAM,OAAO,GAAG,IAAA,mBAAW,EAC1B,CAAC,CAAiD,EAAE,EAAE;QACrD,IAAA,6BAAc,EAAC,MAAM,CAAC,CAAC;QACvB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,CAAC;IACb,CAAC,EACD,CAAC,MAAM,EAAE,MAAM,CAAC,CAChB,CAAC;IAEF,MAAM,WAAW,GAAG,IAAA,mBAAW,EAC9B,CAAC,CAAiD,EAAE,EAAE;QACrD,IAAA,6BAAc,EAAC,MAAM,CAAC,CAAC;QACvB,IAAI,OAAO,EAAE;YACZ,OAAO,CAAC,CAAC,CAAC,CAAC;SACX;aAAM;YACN,OAAO,CAAC,KAAK,CACZ,uBAAuB,EACvB,CAAC,EACD,2EAA2E,CAC3E,CAAC;SACF;IACF,CAAC,EACD,CAAC,MAAM,EAAE,OAAO,CAAC,CACjB,CAAC;IAEF,OAAO,sCAAY,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,WAAI,CAAC;AAC/E,CAAC,CAAC;AAEW,QAAA,MAAM,GAAG,IAAA,kBAAU,EAAC,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"IFrame.js","sourceRoot":"","sources":["../src/IFrame.tsx"],"names":[],"mappings":";;;;AAAA,iCAA+D;AAC/D,mDAA4D;AAE5D,MAAM,mBAAmB,GAMrB,CAAC,EAAC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,EAAC,EAAE,GAAG,EAAE,EAAE;IACxC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,IAAA,2BAAW,GAAE,CAAC,CAAC;IAE/C,MAAM,OAAO,GAAG,IAAA,mBAAW,EAC1B,CAAC,CAAiD,EAAE,EAAE;QACrD,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;QACvB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,CAAC;IACb,CAAC,EACD,CAAC,MAAM,EAAE,MAAM,CAAC,CAChB,CAAC;IAEF,MAAM,WAAW,GAAG,IAAA,mBAAW,EAC9B,CAAC,CAAiD,EAAE,EAAE;QACrD,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;QACvB,IAAI,OAAO,EAAE;YACZ,OAAO,CAAC,CAAC,CAAC,CAAC;SACX;aAAM;YACN,OAAO,CAAC,KAAK,CACZ,uBAAuB,EACvB,CAAC,EACD,2EAA2E,CAC3E,CAAC;SACF;IACF,CAAC,EACD,CAAC,MAAM,EAAE,OAAO,CAAC,CACjB,CAAC;IAEF,OAAO,mDAAY,KAAK,IAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,YAAI,CAAC;AAC/E,CAAC,CAAC;AAEW,QAAA,MAAM,GAAG,IAAA,kBAAU,EAAC,mBAAmB,CAAC,CAAC"}
package/dist/Img.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Img.d.ts","sourceRoot":"","sources":["../src/Img.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAkD1E,eAAO,MAAM,GAAG,8NAA+B,CAAC"}
1
+ {"version":3,"file":"Img.d.ts","sourceRoot":"","sources":["../src/Img.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAgD1E,eAAO,MAAM,GAAG,8NAA+B,CAAC"}
package/dist/Img.js CHANGED
@@ -4,34 +4,39 @@ exports.Img = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const delay_render_1 = require("./delay-render");
7
- const ImgRefForwarding = ({ onLoad, onError, ...props }, ref) => {
8
- const [handle] = (0, react_1.useState)(() => (0, delay_render_1.delayRender)('Loading <Img> with src=' + props.src));
9
- (0, react_1.useEffect)(() => {
10
- if (ref &&
11
- ref.current.complete) {
12
- (0, delay_render_1.continueRender)(handle);
13
- }
14
- }, [handle, ref]);
15
- const didLoad = (0, react_1.useCallback)((e) => {
16
- (0, delay_render_1.continueRender)(handle);
17
- onLoad === null || onLoad === void 0 ? void 0 : onLoad(e);
18
- }, [handle, onLoad]);
7
+ const ImgRefForwarding = ({ onError, ...props }, ref) => {
8
+ const imageRef = (0, react_1.useRef)(null);
9
+ (0, react_1.useImperativeHandle)(ref, () => {
10
+ return imageRef.current;
11
+ });
19
12
  const didGetError = (0, react_1.useCallback)((e) => {
20
- (0, delay_render_1.continueRender)(handle);
13
+ var _a;
21
14
  if (onError) {
22
15
  onError(e);
23
16
  }
24
17
  else {
25
- console.error('Error loading image:', e, 'Handle the event using the onError() prop to make this message disappear.');
18
+ console.error('Error loading image with src:', (_a = imageRef.current) === null || _a === void 0 ? void 0 : _a.src, e, 'Handle the event using the onError() prop to make this message disappear.');
19
+ }
20
+ }, [onError]);
21
+ // If image source switches, make new handle
22
+ (0, react_1.useLayoutEffect)(() => {
23
+ const newHandle = (0, delay_render_1.delayRender)('Loading <Img> with src=' + props.src);
24
+ const { current } = imageRef;
25
+ const didLoad = () => {
26
+ (0, delay_render_1.continueRender)(newHandle);
27
+ };
28
+ if (current === null || current === void 0 ? void 0 : current.complete) {
29
+ (0, delay_render_1.continueRender)(newHandle);
30
+ }
31
+ else {
32
+ current === null || current === void 0 ? void 0 : current.addEventListener('load', didLoad, { once: true });
26
33
  }
27
- }, [handle, onError]);
28
- (0, react_1.useEffect)(() => {
29
- console.log('mounting', props.src);
34
+ // If tag gets unmounted, clear pending handles because image is not going to load
30
35
  return () => {
31
- (0, delay_render_1.continueRender)(handle);
32
- console.log('unmounting', props.src);
36
+ current === null || current === void 0 ? void 0 : current.removeEventListener('load', didLoad);
37
+ (0, delay_render_1.continueRender)(newHandle);
33
38
  };
34
- }, []);
35
- return (0, jsx_runtime_1.jsx)("img", { ...props, ref: ref, onLoad: didLoad, onError: didGetError }, void 0);
39
+ }, [props.src]);
40
+ return (0, jsx_runtime_1.jsx)("img", { ...props, ref: imageRef, onError: didGetError });
36
41
  };
37
42
  exports.Img = (0, react_1.forwardRef)(ImgRefForwarding);
package/dist/Img.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Img.js","sourceRoot":"","sources":["../src/Img.tsx"],"names":[],"mappings":";;;;AAAA,iCAA0E;AAC1E,iDAA2D;AAE3D,MAAM,gBAAgB,GAMlB,CAAC,EAAC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,EAAC,EAAE,GAAG,EAAE,EAAE;IACxC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAC9B,IAAA,0BAAW,EAAC,yBAAyB,GAAG,KAAK,CAAC,GAAG,CAAC,CAClD,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,IACC,GAAG;YACF,GAAgD,CAAC,OAAO,CAAC,QAAQ,EACjE;YACD,IAAA,6BAAc,EAAC,MAAM,CAAC,CAAC;SACvB;IACF,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAElB,MAAM,OAAO,GAAG,IAAA,mBAAW,EAC1B,CAAC,CAAgD,EAAE,EAAE;QACpD,IAAA,6BAAc,EAAC,MAAM,CAAC,CAAC;QACvB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,CAAC;IACb,CAAC,EACD,CAAC,MAAM,EAAE,MAAM,CAAC,CAChB,CAAC;IAEF,MAAM,WAAW,GAAG,IAAA,mBAAW,EAC9B,CAAC,CAAgD,EAAE,EAAE;QACpD,IAAA,6BAAc,EAAC,MAAM,CAAC,CAAC;QACvB,IAAI,OAAO,EAAE;YACZ,OAAO,CAAC,CAAC,CAAC,CAAC;SACX;aAAM;YACN,OAAO,CAAC,KAAK,CACZ,sBAAsB,EACtB,CAAC,EACD,2EAA2E,CAC3E,CAAC;SACF;IACF,CAAC,EACD,CAAC,MAAM,EAAE,OAAO,CAAC,CACjB,CAAC;IAEF,OAAO,mCAAS,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,WAAI,CAAC;AAC5E,CAAC,CAAC;AAEW,QAAA,GAAG,GAAG,IAAA,kBAAU,EAAC,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"Img.js","sourceRoot":"","sources":["../src/Img.tsx"],"names":[],"mappings":";;;;AAAA,iCAA0E;AAC1E,mDAA4D;AAE5D,MAAM,gBAAgB,GAMlB,CAAC,EAAC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,EAAC,EAAE,GAAG,EAAE,EAAE;IACxC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,IAAA,2BAAW,GAAE,CAAC,CAAC;IAE/C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,IACC,GAAG;YACF,GAAgD,CAAC,OAAO,CAAC,QAAQ,EACjE;YACD,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;SACvB;IACF,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAElB,MAAM,OAAO,GAAG,IAAA,mBAAW,EAC1B,CAAC,CAAgD,EAAE,EAAE;QACpD,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;QACvB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,CAAC;IACb,CAAC,EACD,CAAC,MAAM,EAAE,MAAM,CAAC,CAChB,CAAC;IAEF,MAAM,WAAW,GAAG,IAAA,mBAAW,EAC9B,CAAC,CAAgD,EAAE,EAAE;QACpD,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;QACvB,IAAI,OAAO,EAAE;YACZ,OAAO,CAAC,CAAC,CAAC,CAAC;SACX;aAAM;YACN,OAAO,CAAC,KAAK,CACZ,sBAAsB,EACtB,CAAC,EACD,2EAA2E,CAC3E,CAAC;SACF;IACF,CAAC,EACD,CAAC,MAAM,EAAE,OAAO,CAAC,CACjB,CAAC;IAEF,OAAO,gDAAS,KAAK,IAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,YAAI,CAAC;AAC5E,CAAC,CAAC;AAEW,QAAA,GAAG,GAAG,IAAA,kBAAU,EAAC,gBAAgB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RemotionRoot.d.ts","sourceRoot":"","sources":["../src/RemotionRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAcf,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,CA0EA,CAAC"}
1
+ {"version":3,"file":"RemotionRoot.d.ts","sourceRoot":"","sources":["../src/RemotionRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAkBf,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAiJhC,CAAC"}
@@ -65,6 +65,6 @@ const RemotionRoot = ({ children }) => {
65
65
  // In the preview, which is mostly played on Desktop, we opt out of the autoplay policy fix as described in https://github.com/remotion-dev/remotion/pull/554, as it mostly applies to mobile.
66
66
  , {
67
67
  // In the preview, which is mostly played on Desktop, we opt out of the autoplay policy fix as described in https://github.com/remotion-dev/remotion/pull/554, as it mostly applies to mobile.
68
- numberOfAudioTags: 0, children: children }, void 0) }, void 0) }, void 0) }, void 0) }, void 0));
68
+ numberOfAudioTags: 0, children: children }) }) }) }) }));
69
69
  };
70
70
  exports.RemotionRoot = RemotionRoot;
@@ -1 +1 @@
1
- {"version":3,"file":"RemotionRoot.js","sourceRoot":"","sources":["../src/RemotionRoot.tsx"],"names":[],"mappings":";;;;AAAA,iCAMe;AACf,iEAAqE;AACrE,6DAAgE;AAChE,iDAA2D;AAC3D,mCAAoD;AACpD,qCAAgC;AAChC,uEAMmC;AAE5B,MAAM,YAAY,GAEpB,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAE;;IACnB,MAAM,CAAC,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAS,MAAA,MAAM,CAAC,qBAAqB,mCAAI,CAAC,CAAC,CAAC;IAC9E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,IAAA,cAAM,EAAU,KAAK,CAAC,CAAC;IACjD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;IACpD,MAAM,iBAAiB,GAAG,IAAA,cAAM,EAAqB,EAAE,CAAC,CAAC;IAEzD,IAAA,uBAAe,EAAC,GAAG,EAAE;QACpB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAClC,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAS,EAAE,EAAE;gBACxC,MAAM,EAAE,GAAG,IAAA,0BAAW,EAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC;gBAC5D,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACZ,qBAAqB,CAAC,GAAG,EAAE,CAAC,IAAA,6BAAc,EAAC,EAAE,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC;YAEF,MAAM,CAAC,iBAAiB,GAAG,KAAK,CAAC;SACjC;IACF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,oBAAoB,GAAG,IAAA,eAAO,EAAC,GAAyB,EAAE;QAC/D,OAAO;YACN,KAAK;YACL,OAAO;YACP,iBAAiB;YACjB,MAAM,EAAE,cAAc;YACtB,YAAY;YACZ,eAAe;YACf,iBAAiB;SACjB,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IAEnD,MAAM,uBAAuB,GAAG,IAAA,eAAO,EAAC,GAA4B,EAAE;QACrE,OAAO;YACN,QAAQ;YACR,UAAU;SACV,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAkB,EAAE;QAChD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,OAAO;YACN,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE;YACzB,aAAa;SACb,CAAC;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,IAAI,MAAM,CAAC,GAAG,EAAE;YACf,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,EAAE;gBACtC,IAAI,MAAM,KAAK,MAAM,EAAE;oBACtB,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;iBAC/B;YACF,CAAC,CAAC,CAAC;SACH;IACF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACN,uBAAC,oBAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YACzC,uBAAC,yCAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,oBAAoB,YACpD,uBAAC,4CAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,uBAAuB,YAC1D,uBAAC,+CAA0B,cAC1B,uBAAC,8CAA0B;oBAC1B,8LAA8L;;wBAA9L,8LAA8L;wBAC9L,iBAAiB,EAAE,CAAC,YAEnB,QAAQ,WACmB,WACD,WACA,WACJ,WACJ,CACxB,CAAC;AACH,CAAC,CAAC;AA5EW,QAAA,YAAY,gBA4EvB"}
1
+ {"version":3,"file":"RemotionRoot.js","sourceRoot":"","sources":["../src/RemotionRoot.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ export declare type SequenceContextType = {
3
+ cumulatedFrom: number;
4
+ relativeFrom: number;
5
+ parentFrom: number;
6
+ durationInFrames: number;
7
+ id: string;
8
+ };
9
+ export declare const SequenceContext: React.Context<SequenceContextType | null>;
10
+ declare type LayoutAndStyle = {
11
+ layout: 'none';
12
+ } | {
13
+ layout?: 'absolute-fill';
14
+ style?: React.CSSProperties;
15
+ };
16
+ export declare type SequenceProps = {
17
+ children: React.ReactNode;
18
+ from: number;
19
+ durationInFrames?: number;
20
+ name?: string;
21
+ showInTimeline?: boolean;
22
+ showLoopTimesInTimeline?: number;
23
+ } & LayoutAndStyle;
24
+ export declare const Sequence: React.FC<SequenceProps>;
25
+ export {};
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Sequence = exports.SequenceContext = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const AbsoluteFill_1 = require("./AbsoluteFill");
7
+ const CompositionManager_1 = require("./CompositionManager");
8
+ const get_timeline_clip_name_1 = require("./get-timeline-clip-name");
9
+ const nonce_1 = require("./nonce");
10
+ const timeline_position_state_1 = require("./timeline-position-state");
11
+ const use_current_frame_1 = require("./use-current-frame");
12
+ const use_unsafe_video_config_1 = require("./use-unsafe-video-config");
13
+ exports.SequenceContext = (0, react_1.createContext)(null);
14
+ const Sequence = ({ from, durationInFrames = Infinity, children, name, showInTimeline = true, showLoopTimesInTimeline, ...other }) => {
15
+ const { layout = 'absolute-fill' } = other;
16
+ const [id] = (0, react_1.useState)(() => String(Math.random()));
17
+ const parentSequence = (0, react_1.useContext)(exports.SequenceContext);
18
+ const { rootId } = (0, react_1.useContext)(timeline_position_state_1.TimelineContext);
19
+ const cumulatedFrom = parentSequence
20
+ ? parentSequence.cumulatedFrom + parentSequence.relativeFrom
21
+ : 0;
22
+ const actualFrom = cumulatedFrom + from;
23
+ const nonce = (0, nonce_1.useNonce)();
24
+ if (layout !== 'absolute-fill' && layout !== 'none') {
25
+ throw new TypeError(`The layout prop of <Sequence /> expects either "absolute-fill" or "none", but you passed: ${layout}`);
26
+ }
27
+ // @ts-expect-error
28
+ if (layout === 'none' && typeof other.style !== 'undefined') {
29
+ throw new TypeError('If layout="none", you may not pass a style.');
30
+ }
31
+ if (typeof durationInFrames !== 'number') {
32
+ throw new TypeError(`You passed to durationInFrames an argument of type ${typeof durationInFrames}, but it must be a number.`);
33
+ }
34
+ if (durationInFrames <= 0) {
35
+ throw new TypeError(`durationInFrames must be positive, but got ${durationInFrames}`);
36
+ }
37
+ // Infinity is non-integer but allowed!
38
+ if (durationInFrames % 1 !== 0 && Number.isFinite(durationInFrames)) {
39
+ throw new TypeError(`The "durationInFrames" of a sequence must be an integer, but got ${durationInFrames}.`);
40
+ }
41
+ if (typeof from !== 'number') {
42
+ throw new TypeError(`You passed to the "from" props of your <Sequence> an argument of type ${typeof from}, but it must be a number.`);
43
+ }
44
+ if (from % 1 !== 0) {
45
+ throw new TypeError(`The "from" prop of a sequence must be an integer, but got ${from}.`);
46
+ }
47
+ const absoluteFrame = (0, use_current_frame_1.useAbsoluteCurrentFrame)();
48
+ const unsafeVideoConfig = (0, use_unsafe_video_config_1.useUnsafeVideoConfig)();
49
+ const compositionDuration = unsafeVideoConfig
50
+ ? unsafeVideoConfig.durationInFrames
51
+ : 0;
52
+ const actualDurationInFrames = Math.min(compositionDuration - from, parentSequence
53
+ ? Math.min(parentSequence.durationInFrames +
54
+ (parentSequence.cumulatedFrom + parentSequence.relativeFrom) -
55
+ actualFrom, durationInFrames)
56
+ : durationInFrames);
57
+ const { registerSequence, unregisterSequence } = (0, react_1.useContext)(CompositionManager_1.CompositionManager);
58
+ const contextValue = (0, react_1.useMemo)(() => {
59
+ var _a;
60
+ return {
61
+ cumulatedFrom,
62
+ relativeFrom: from,
63
+ durationInFrames: actualDurationInFrames,
64
+ parentFrom: (_a = parentSequence === null || parentSequence === void 0 ? void 0 : parentSequence.relativeFrom) !== null && _a !== void 0 ? _a : 0,
65
+ id,
66
+ };
67
+ }, [
68
+ cumulatedFrom,
69
+ from,
70
+ actualDurationInFrames,
71
+ parentSequence === null || parentSequence === void 0 ? void 0 : parentSequence.relativeFrom,
72
+ id,
73
+ ]);
74
+ const timelineClipName = (0, react_1.useMemo)(() => {
75
+ return name !== null && name !== void 0 ? name : (0, get_timeline_clip_name_1.getTimelineClipName)(children);
76
+ }, [children, name]);
77
+ (0, react_1.useEffect)(() => {
78
+ var _a;
79
+ registerSequence({
80
+ from,
81
+ duration: actualDurationInFrames,
82
+ id,
83
+ displayName: timelineClipName,
84
+ parent: (_a = parentSequence === null || parentSequence === void 0 ? void 0 : parentSequence.id) !== null && _a !== void 0 ? _a : null,
85
+ type: 'sequence',
86
+ rootId,
87
+ showInTimeline,
88
+ nonce,
89
+ showLoopTimesInTimeline,
90
+ });
91
+ return () => {
92
+ unregisterSequence(id);
93
+ };
94
+ }, [
95
+ durationInFrames,
96
+ actualFrom,
97
+ id,
98
+ name,
99
+ registerSequence,
100
+ timelineClipName,
101
+ unregisterSequence,
102
+ parentSequence === null || parentSequence === void 0 ? void 0 : parentSequence.id,
103
+ actualDurationInFrames,
104
+ rootId,
105
+ from,
106
+ showInTimeline,
107
+ nonce,
108
+ showLoopTimesInTimeline,
109
+ ]);
110
+ const endThreshold = (() => {
111
+ return actualFrom + durationInFrames - 1;
112
+ })();
113
+ const content = absoluteFrame < actualFrom
114
+ ? null
115
+ : absoluteFrame > endThreshold
116
+ ? null
117
+ : children;
118
+ const styleIfThere = other.layout === 'none' ? undefined : other.style;
119
+ const defaultStyle = (0, react_1.useMemo)(() => {
120
+ return {
121
+ flexDirection: undefined,
122
+ ...(styleIfThere !== null && styleIfThere !== void 0 ? styleIfThere : {}),
123
+ };
124
+ }, [styleIfThere]);
125
+ return ((0, jsx_runtime_1.jsx)(exports.SequenceContext.Provider, { value: contextValue, children: content === null ? null : layout === 'absolute-fill' ? ((0, jsx_runtime_1.jsx)(AbsoluteFill_1.AbsoluteFill, { style: defaultStyle, children: content })) : (content) }));
126
+ };
127
+ exports.Sequence = Sequence;
package/dist/Still.d.ts CHANGED
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
- import { StillProps } from './Composition';
1
+ import type { StillProps } from './Composition';
3
2
  export declare const Still: <T>(props: StillProps<T>) => JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"Still.d.ts","sourceRoot":"","sources":["../src/Still.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAc,UAAU,EAAC,MAAM,eAAe,CAAC;AAEtD,eAAO,MAAM,KAAK,0CAEjB,CAAC"}
1
+ {"version":3,"file":"Still.d.ts","sourceRoot":"","sources":["../src/Still.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAC,MAAM,eAAe,CAAC;AAEtD,eAAO,MAAM,KAAK,0CAEjB,CAAC"}