remotion 3.3.53 → 3.3.55

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 (331) hide show
  1. package/dist/cjs/AbsoluteFill.d.ts +2 -2
  2. package/dist/cjs/AbsoluteFill.js +2 -2
  3. package/dist/cjs/Composition.d.ts +4 -0
  4. package/dist/cjs/Composition.js +4 -0
  5. package/dist/cjs/Folder.d.ts +4 -0
  6. package/dist/cjs/Folder.js +4 -0
  7. package/dist/cjs/IFrame.d.ts +4 -0
  8. package/dist/cjs/IFrame.js +4 -0
  9. package/dist/cjs/Img.d.ts +4 -0
  10. package/dist/cjs/Img.js +4 -0
  11. package/dist/cjs/Sequence.d.ts +2 -10
  12. package/dist/cjs/Sequence.js +6 -6
  13. package/dist/cjs/SequenceContext.d.ts +9 -0
  14. package/dist/cjs/SequenceContext.js +5 -0
  15. package/dist/cjs/Still.d.ts +4 -0
  16. package/dist/cjs/Still.js +4 -0
  17. package/dist/cjs/audio/Audio.d.ts +4 -0
  18. package/dist/cjs/audio/Audio.js +6 -2
  19. package/dist/cjs/audio/AudioForDevelopment.js +2 -2
  20. package/dist/cjs/audio/AudioForRendering.js +2 -2
  21. package/dist/cjs/audio/use-audio-frame.js +2 -2
  22. package/dist/cjs/cancel-render.d.ts +4 -0
  23. package/dist/cjs/cancel-render.js +4 -0
  24. package/dist/cjs/delay-render.d.ts +4 -4
  25. package/dist/cjs/delay-render.js +4 -4
  26. package/dist/cjs/easing.d.ts +4 -0
  27. package/dist/cjs/easing.js +4 -0
  28. package/dist/cjs/freeze.d.ts +4 -0
  29. package/dist/cjs/freeze.js +6 -2
  30. package/dist/cjs/get-static-files.d.ts +4 -0
  31. package/dist/cjs/get-static-files.js +4 -0
  32. package/dist/cjs/index.d.ts +16 -8
  33. package/dist/cjs/index.js +18 -10
  34. package/dist/cjs/internals.d.ts +5 -5
  35. package/dist/cjs/internals.js +4 -4
  36. package/dist/cjs/interpolate-colors.d.ts +4 -0
  37. package/dist/cjs/interpolate-colors.js +4 -0
  38. package/dist/cjs/interpolate.js +4 -0
  39. package/dist/cjs/loop/index.d.ts +4 -0
  40. package/dist/cjs/loop/index.js +4 -0
  41. package/dist/cjs/prefetch.d.ts +4 -0
  42. package/dist/cjs/prefetch.js +4 -0
  43. package/dist/cjs/random.d.ts +2 -3
  44. package/dist/cjs/random.js +2 -3
  45. package/dist/cjs/register-root.d.ts +4 -0
  46. package/dist/cjs/register-root.js +4 -0
  47. package/dist/cjs/series/index.d.ts +4 -0
  48. package/dist/cjs/series/index.js +4 -0
  49. package/dist/cjs/spring/index.d.ts +2 -2
  50. package/dist/cjs/spring/index.js +2 -2
  51. package/dist/cjs/spring/measure-spring.d.ts +4 -0
  52. package/dist/cjs/spring/measure-spring.js +4 -0
  53. package/dist/cjs/static-file.d.ts +2 -2
  54. package/dist/cjs/static-file.js +2 -2
  55. package/dist/cjs/use-current-frame.d.ts +2 -3
  56. package/dist/cjs/use-current-frame.js +4 -5
  57. package/dist/cjs/use-media-in-timeline.js +2 -2
  58. package/dist/cjs/use-unsafe-video-config.js +2 -2
  59. package/dist/cjs/use-video-config.d.ts +4 -3
  60. package/dist/cjs/use-video-config.js +4 -3
  61. package/dist/cjs/validate-media-props.d.ts +2 -2
  62. package/dist/cjs/version.d.ts +1 -1
  63. package/dist/cjs/version.js +1 -1
  64. package/dist/cjs/video/OffthreadVideo.d.ts +4 -0
  65. package/dist/cjs/video/OffthreadVideo.js +4 -0
  66. package/dist/cjs/video/OffthreadVideoForRendering.js +2 -2
  67. package/dist/cjs/video/Video.d.ts +4 -0
  68. package/dist/cjs/video/Video.js +6 -2
  69. package/dist/cjs/video/VideoForDevelopment.js +2 -2
  70. package/dist/cjs/video/VideoForRendering.js +2 -2
  71. package/dist/cjs/wrap-remotion-context.d.ts +1 -1
  72. package/dist/cjs/wrap-remotion-context.js +3 -3
  73. package/dist/esm/AbsoluteFill.js +2 -2
  74. package/dist/esm/Composition.js +4 -0
  75. package/dist/esm/Folder.js +4 -0
  76. package/dist/esm/IFrame.js +4 -0
  77. package/dist/esm/Img.js +4 -0
  78. package/dist/esm/Sequence.js +5 -5
  79. package/dist/esm/SequenceContext.js +2 -0
  80. package/dist/esm/Still.js +4 -0
  81. package/dist/esm/audio/Audio.js +5 -1
  82. package/dist/esm/audio/AudioForDevelopment.js +1 -1
  83. package/dist/esm/audio/AudioForRendering.js +1 -1
  84. package/dist/esm/audio/use-audio-frame.js +1 -1
  85. package/dist/esm/cancel-render.js +4 -0
  86. package/dist/esm/delay-render.js +4 -4
  87. package/dist/esm/easing.js +4 -0
  88. package/dist/esm/freeze.js +5 -1
  89. package/dist/esm/get-static-files.js +4 -0
  90. package/dist/esm/index.js +15 -7
  91. package/dist/esm/index.mjs +4070 -0
  92. package/dist/esm/internals.js +2 -2
  93. package/dist/esm/interpolate-colors.js +4 -0
  94. package/dist/esm/interpolate.js +4 -0
  95. package/dist/esm/loop/index.js +4 -0
  96. package/dist/esm/prefetch.js +4 -0
  97. package/dist/esm/random.js +2 -3
  98. package/dist/esm/register-root.js +4 -0
  99. package/dist/esm/series/index.js +4 -0
  100. package/dist/esm/spring/index.js +2 -2
  101. package/dist/esm/spring/measure-spring.js +4 -0
  102. package/dist/esm/static-file.js +2 -2
  103. package/dist/esm/test/audio.test.js +1 -1
  104. package/dist/esm/test/composition-validation.test.js +1 -1
  105. package/dist/esm/test/loop-validation.test.js +1 -1
  106. package/dist/esm/test/measure-spring.test.js +1 -1
  107. package/dist/esm/test/series.test.js +1 -1
  108. package/dist/esm/test/spring.test.js +1 -1
  109. package/dist/esm/test/use-audio-frame.test.js +1 -1
  110. package/dist/esm/test/video.test.js +1 -1
  111. package/dist/esm/use-current-frame.js +3 -4
  112. package/dist/esm/use-media-in-timeline.js +1 -1
  113. package/dist/esm/use-unsafe-video-config.js +1 -1
  114. package/dist/esm/use-video-config.js +4 -3
  115. package/dist/esm/version.js +1 -1
  116. package/dist/esm/version.mjs +4 -0
  117. package/dist/esm/video/OffthreadVideo.js +4 -0
  118. package/dist/esm/video/OffthreadVideoForRendering.js +1 -1
  119. package/dist/esm/video/Video.js +5 -1
  120. package/dist/esm/video/VideoForDevelopment.js +1 -1
  121. package/dist/esm/video/VideoForRendering.js +1 -1
  122. package/dist/esm/wrap-remotion-context.js +2 -2
  123. package/package.json +11 -9
  124. package/version.js +2 -0
  125. package/.prettierrc.js +0 -14
  126. package/dist/cjs/test/Img.test.d.ts +0 -1
  127. package/dist/cjs/test/Img.test.js +0 -25
  128. package/dist/cjs/test/absolute-src.test.d.ts +0 -1
  129. package/dist/cjs/test/absolute-src.test.js +0 -18
  130. package/dist/cjs/test/audio-for-rendering.test.d.ts +0 -1
  131. package/dist/cjs/test/audio-for-rendering.test.js +0 -88
  132. package/dist/cjs/test/audio.test.d.ts +0 -1
  133. package/dist/cjs/test/audio.test.js +0 -76
  134. package/dist/cjs/test/bezier.test.d.ts +0 -1
  135. package/dist/cjs/test/bezier.test.js +0 -52
  136. package/dist/cjs/test/composition-rules.test.d.ts +0 -1
  137. package/dist/cjs/test/composition-rules.test.js +0 -30
  138. package/dist/cjs/test/composition-validation.test.d.ts +0 -1
  139. package/dist/cjs/test/composition-validation.test.js +0 -99
  140. package/dist/cjs/test/easing.test.d.ts +0 -1
  141. package/dist/cjs/test/easing.test.js +0 -191
  142. package/dist/cjs/test/expect-to-throw.d.ts +0 -1
  143. package/dist/cjs/test/expect-to-throw.js +0 -15
  144. package/dist/cjs/test/freeze.test.d.ts +0 -1
  145. package/dist/cjs/test/freeze.test.js +0 -65
  146. package/dist/cjs/test/get-asset-file-name.test.d.ts +0 -1
  147. package/dist/cjs/test/get-asset-file-name.test.js +0 -14
  148. package/dist/cjs/test/get-current-time.test.d.ts +0 -1
  149. package/dist/cjs/test/get-current-time.test.js +0 -74
  150. package/dist/cjs/test/input-props.test.d.ts +0 -1
  151. package/dist/cjs/test/input-props.test.js +0 -31
  152. package/dist/cjs/test/interpolate.test.d.ts +0 -1
  153. package/dist/cjs/test/interpolate.test.js +0 -138
  154. package/dist/cjs/test/interpolateColors.test.d.ts +0 -1
  155. package/dist/cjs/test/interpolateColors.test.js +0 -63
  156. package/dist/cjs/test/loop-validation.test.d.ts +0 -1
  157. package/dist/cjs/test/loop-validation.test.js +0 -93
  158. package/dist/cjs/test/measure-spring.test.d.ts +0 -1
  159. package/dist/cjs/test/measure-spring.test.js +0 -45
  160. package/dist/cjs/test/media-validation.test.d.ts +0 -1
  161. package/dist/cjs/test/media-validation.test.js +0 -47
  162. package/dist/cjs/test/nested-sequences.test.d.ts +0 -1
  163. package/dist/cjs/test/nested-sequences.test.js +0 -132
  164. package/dist/cjs/test/not-all-props-in-media-tags.test.d.ts +0 -1
  165. package/dist/cjs/test/not-all-props-in-media-tags.test.js +0 -33
  166. package/dist/cjs/test/random.test.d.ts +0 -1
  167. package/dist/cjs/test/random.test.js +0 -60
  168. package/dist/cjs/test/ready-manager.test.d.ts +0 -1
  169. package/dist/cjs/test/ready-manager.test.js +0 -29
  170. package/dist/cjs/test/render-hook.d.ts +0 -23
  171. package/dist/cjs/test/render-hook.js +0 -27
  172. package/dist/cjs/test/sequence-from-initial-offset.test.d.ts +0 -4
  173. package/dist/cjs/test/sequence-from-initial-offset.test.js +0 -35
  174. package/dist/cjs/test/sequence-validation.test.d.ts +0 -1
  175. package/dist/cjs/test/sequence-validation.test.js +0 -47
  176. package/dist/cjs/test/series.test.d.ts +0 -1
  177. package/dist/cjs/test/series.test.js +0 -115
  178. package/dist/cjs/test/spring.test.d.ts +0 -1
  179. package/dist/cjs/test/spring.test.js +0 -38
  180. package/dist/cjs/test/truthy.test.d.ts +0 -1
  181. package/dist/cjs/test/truthy.test.js +0 -24
  182. package/dist/cjs/test/use-audio-frame.test.d.ts +0 -1
  183. package/dist/cjs/test/use-audio-frame.test.js +0 -78
  184. package/dist/cjs/test/use-media-in-timeline.test.d.ts +0 -1
  185. package/dist/cjs/test/use-media-in-timeline.test.js +0 -74
  186. package/dist/cjs/test/use-media-tag-volume.test.d.ts +0 -1
  187. package/dist/cjs/test/use-media-tag-volume.test.js +0 -49
  188. package/dist/cjs/test/use-sync-volume-with-media-tag.test.d.ts +0 -1
  189. package/dist/cjs/test/use-sync-volume-with-media-tag.test.js +0 -55
  190. package/dist/cjs/test/validate-start-from-props.test.d.ts +0 -1
  191. package/dist/cjs/test/validate-start-from-props.test.js +0 -39
  192. package/dist/cjs/test/video.test.d.ts +0 -1
  193. package/dist/cjs/test/video.test.js +0 -80
  194. package/dist/cjs/test/volume-prop.test.d.ts +0 -1
  195. package/dist/cjs/test/volume-prop.test.js +0 -95
  196. package/dist/cjs/test/wrap-sequence-context.d.ts +0 -6
  197. package/dist/cjs/test/wrap-sequence-context.js +0 -41
  198. package/dist/esm/AbsoluteFill.d.ts +0 -6
  199. package/dist/esm/CanUseRemotionHooks.d.ts +0 -5
  200. package/dist/esm/Clipper.d.ts +0 -7
  201. package/dist/esm/Composition.d.ts +0 -23
  202. package/dist/esm/CompositionManager.d.ts +0 -82
  203. package/dist/esm/Folder.d.ts +0 -15
  204. package/dist/esm/IFrame.d.ts +0 -2
  205. package/dist/esm/Img.d.ts +0 -2
  206. package/dist/esm/NativeLayers.d.ts +0 -13
  207. package/dist/esm/Null.d.ts +0 -2
  208. package/dist/esm/RemotionRoot.d.ts +0 -5
  209. package/dist/esm/Sequence.d.ts +0 -29
  210. package/dist/esm/Still.d.ts +0 -3
  211. package/dist/esm/absolute-src.d.ts +0 -1
  212. package/dist/esm/asset-types.d.ts +0 -50
  213. package/dist/esm/audio/Audio.d.ts +0 -8
  214. package/dist/esm/audio/AudioForDevelopment.d.ts +0 -11
  215. package/dist/esm/audio/AudioForRendering.d.ts +0 -10
  216. package/dist/esm/audio/index.d.ts +0 -2
  217. package/dist/esm/audio/props.d.ts +0 -12
  218. package/dist/esm/audio/shared-audio-tags.d.ts +0 -37
  219. package/dist/esm/audio/use-audio-frame.d.ts +0 -6
  220. package/dist/esm/bezier.d.ts +0 -1
  221. package/dist/esm/cancel-render.d.ts +0 -1
  222. package/dist/esm/config/input-props.d.ts +0 -1
  223. package/dist/esm/config.d.ts +0 -285
  224. package/dist/esm/default-css.d.ts +0 -3
  225. package/dist/esm/delay-render.d.ts +0 -14
  226. package/dist/esm/easing.d.ts +0 -19
  227. package/dist/esm/freeze.d.ts +0 -7
  228. package/dist/esm/get-asset-file-name.d.ts +0 -1
  229. package/dist/esm/get-environment.d.ts +0 -3
  230. package/dist/esm/get-preview-dom-element.d.ts +0 -1
  231. package/dist/esm/get-static-files.d.ts +0 -17
  232. package/dist/esm/get-timeline-clip-name.d.ts +0 -1
  233. package/dist/esm/index.d.ts +0 -92
  234. package/dist/esm/internals.d.ts +0 -99
  235. package/dist/esm/interpolate-colors.d.ts +0 -5
  236. package/dist/esm/interpolate.d.ts +0 -18
  237. package/dist/esm/is-approximately-the-same.d.ts +0 -1
  238. package/dist/esm/is-player.d.ts +0 -3
  239. package/dist/esm/loading-indicator.d.ts +0 -2
  240. package/dist/esm/loop/index.d.ts +0 -9
  241. package/dist/esm/multiple-versions-warning.d.ts +0 -1
  242. package/dist/esm/nonce.d.ts +0 -7
  243. package/dist/esm/play-and-handle-not-allowed-error.d.ts +0 -2
  244. package/dist/esm/portal-node.d.ts +0 -1
  245. package/dist/esm/prefetch-state.d.ts +0 -8
  246. package/dist/esm/prefetch.d.ts +0 -9
  247. package/dist/esm/random.d.ts +0 -7
  248. package/dist/esm/register-root.d.ts +0 -4
  249. package/dist/esm/series/flatten-children.d.ts +0 -2
  250. package/dist/esm/series/index.d.ts +0 -13
  251. package/dist/esm/setup-env-variables.d.ts +0 -2
  252. package/dist/esm/spring/index.d.ts +0 -27
  253. package/dist/esm/spring/measure-spring.d.ts +0 -8
  254. package/dist/esm/spring/spring-utils.d.ts +0 -21
  255. package/dist/esm/static-file.d.ts +0 -5
  256. package/dist/esm/test/Img.test.d.ts +0 -1
  257. package/dist/esm/test/absolute-src.test.d.ts +0 -1
  258. package/dist/esm/test/audio-for-rendering.test.d.ts +0 -1
  259. package/dist/esm/test/audio.test.d.ts +0 -1
  260. package/dist/esm/test/bezier.test.d.ts +0 -1
  261. package/dist/esm/test/composition-rules.test.d.ts +0 -1
  262. package/dist/esm/test/composition-validation.test.d.ts +0 -1
  263. package/dist/esm/test/easing.test.d.ts +0 -1
  264. package/dist/esm/test/expect-to-throw.d.ts +0 -1
  265. package/dist/esm/test/freeze.test.d.ts +0 -1
  266. package/dist/esm/test/get-asset-file-name.test.d.ts +0 -1
  267. package/dist/esm/test/get-current-time.test.d.ts +0 -1
  268. package/dist/esm/test/input-props.test.d.ts +0 -1
  269. package/dist/esm/test/interpolate.test.d.ts +0 -1
  270. package/dist/esm/test/interpolateColors.test.d.ts +0 -1
  271. package/dist/esm/test/loop-validation.test.d.ts +0 -1
  272. package/dist/esm/test/measure-spring.test.d.ts +0 -1
  273. package/dist/esm/test/media-validation.test.d.ts +0 -1
  274. package/dist/esm/test/nested-sequences.test.d.ts +0 -1
  275. package/dist/esm/test/not-all-props-in-media-tags.test.d.ts +0 -1
  276. package/dist/esm/test/random.test.d.ts +0 -1
  277. package/dist/esm/test/ready-manager.test.d.ts +0 -1
  278. package/dist/esm/test/render-hook.d.ts +0 -23
  279. package/dist/esm/test/sequence-from-initial-offset.test.d.ts +0 -4
  280. package/dist/esm/test/sequence-validation.test.d.ts +0 -1
  281. package/dist/esm/test/series.test.d.ts +0 -1
  282. package/dist/esm/test/spring.test.d.ts +0 -1
  283. package/dist/esm/test/truthy.test.d.ts +0 -1
  284. package/dist/esm/test/use-audio-frame.test.d.ts +0 -1
  285. package/dist/esm/test/use-media-in-timeline.test.d.ts +0 -1
  286. package/dist/esm/test/use-media-tag-volume.test.d.ts +0 -1
  287. package/dist/esm/test/use-sync-volume-with-media-tag.test.d.ts +0 -1
  288. package/dist/esm/test/validate-start-from-props.test.d.ts +0 -1
  289. package/dist/esm/test/video.test.d.ts +0 -1
  290. package/dist/esm/test/volume-prop.test.d.ts +0 -1
  291. package/dist/esm/test/wrap-sequence-context.d.ts +0 -6
  292. package/dist/esm/timeline-position-state.d.ts +0 -29
  293. package/dist/esm/truthy.d.ts +0 -3
  294. package/dist/esm/use-current-frame.d.ts +0 -6
  295. package/dist/esm/use-lazy-component.d.ts +0 -7
  296. package/dist/esm/use-media-in-timeline.d.ts +0 -10
  297. package/dist/esm/use-media-playback.d.ts +0 -10
  298. package/dist/esm/use-media-tag-volume.d.ts +0 -2
  299. package/dist/esm/use-sync-volume-with-media-tag.d.ts +0 -10
  300. package/dist/esm/use-unsafe-video-config.d.ts +0 -2
  301. package/dist/esm/use-video-config.d.ts +0 -7
  302. package/dist/esm/use-video.d.ts +0 -13
  303. package/dist/esm/validate-frame.d.ts +0 -1
  304. package/dist/esm/validate-media-props.d.ts +0 -4
  305. package/dist/esm/validate-start-from-props.d.ts +0 -1
  306. package/dist/esm/validation/validate-composition-id.d.ts +0 -3
  307. package/dist/esm/validation/validate-dimensions.d.ts +0 -1
  308. package/dist/esm/validation/validate-duration-in-frames.d.ts +0 -1
  309. package/dist/esm/validation/validate-folder-name.d.ts +0 -3
  310. package/dist/esm/validation/validate-fps.d.ts +0 -1
  311. package/dist/esm/validation/validate-offthreadvideo-image-format.d.ts +0 -1
  312. package/dist/esm/validation/validation-spring-duration.d.ts +0 -1
  313. package/dist/esm/version.d.ts +0 -1
  314. package/dist/esm/video/OffthreadVideo.d.ts +0 -3
  315. package/dist/esm/video/OffthreadVideoForRendering.d.ts +0 -3
  316. package/dist/esm/video/Video.d.ts +0 -8
  317. package/dist/esm/video/VideoForDevelopment.d.ts +0 -11
  318. package/dist/esm/video/VideoForRendering.d.ts +0 -10
  319. package/dist/esm/video/duration-state.d.ts +0 -17
  320. package/dist/esm/video/get-current-time.d.ts +0 -13
  321. package/dist/esm/video/index.d.ts +0 -3
  322. package/dist/esm/video/props.d.ts +0 -25
  323. package/dist/esm/video/video-fragment.d.ts +0 -12
  324. package/dist/esm/video-config.d.ts +0 -8
  325. package/dist/esm/volume-position-state.d.ts +0 -19
  326. package/dist/esm/volume-prop.d.ts +0 -7
  327. package/dist/esm/warn-about-non-seekable-media.d.ts +0 -1
  328. package/dist/esm/wrap-remotion-context.d.ts +0 -18
  329. package/dist/tsconfig-cjs.tsbuildinfo +0 -1
  330. package/tsconfig-cjs.json +0 -11
  331. package/tsconfig.json +0 -12
@@ -1 +0,0 @@
1
- export {};
@@ -1,33 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const fs_1 = __importDefault(require("fs"));
7
- const path_1 = __importDefault(require("path"));
8
- const vitest_1 = require("vitest");
9
- // Test for https://github.com/remotion-dev/remotion/issues/1243
10
- (0, vitest_1.test)('Should not have disableRemotePlayback props in the <VideoForDevelopment> component type definition', () => {
11
- const file = path_1.default.resolve(process.cwd(), 'dist', 'esm', 'video', 'VideoForDevelopment.d.ts');
12
- const read = fs_1.default.readFileSync(file, 'utf-8');
13
- (0, vitest_1.expect)(read).not.toContain('disableRemotePlayback');
14
- (0, vitest_1.expect)(read).toContain('volume-prop');
15
- });
16
- (0, vitest_1.test)('Should not have disableRemotePlayback props in the <VideoForRendering> component type definition', () => {
17
- const file = path_1.default.resolve(process.cwd(), 'dist', 'esm', 'video', 'VideoForRendering.d.ts');
18
- const read = fs_1.default.readFileSync(file, 'utf-8');
19
- (0, vitest_1.expect)(read).not.toContain('disableRemotePlayback');
20
- (0, vitest_1.expect)(read).toContain('volume-prop');
21
- });
22
- (0, vitest_1.test)('Should not have disableRemotePlayback props in the <AudioForDevelopment> component type definition', () => {
23
- const file = path_1.default.resolve(process.cwd(), 'dist', 'esm', 'audio', 'AudioForDevelopment.d.ts');
24
- const read = fs_1.default.readFileSync(file, 'utf-8');
25
- (0, vitest_1.expect)(read).not.toContain('aria-disabled');
26
- (0, vitest_1.expect)(read).toContain('volume-prop');
27
- });
28
- (0, vitest_1.test)('Should not have disableRemotePlayback props in the <AudioForRendering> component type definition', () => {
29
- const file = path_1.default.resolve(process.cwd(), 'dist', 'esm', 'audio', 'AudioForRendering.d.ts');
30
- const read = fs_1.default.readFileSync(file, 'utf-8');
31
- (0, vitest_1.expect)(read).not.toContain('aria-disabled');
32
- (0, vitest_1.expect)(read).toContain('volume-prop');
33
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const random_js_1 = require("../random.js");
5
- (0, vitest_1.describe)('Should support negative random numbers', () => {
6
- (0, vitest_1.test)('test with -1', () => (0, vitest_1.expect)((0, random_js_1.random)(-1)).toBe((0, random_js_1.random)(-1)));
7
- (0, vitest_1.test)('test with -2', () => (0, vitest_1.expect)((0, random_js_1.random)(-2)).toBe((0, random_js_1.random)(-2)));
8
- (0, vitest_1.test)('different seeds should be different randoms', () => (0, vitest_1.expect)((0, random_js_1.random)(-2)).not.toBe((0, random_js_1.random)(-1)));
9
- });
10
- (0, vitest_1.test)('Random should be deterministic', () => {
11
- (0, vitest_1.expect)((0, random_js_1.random)(1)).toBe((0, random_js_1.random)(1));
12
- (0, vitest_1.expect)((0, random_js_1.random)(2)).toBe((0, random_js_1.random)(2));
13
- (0, vitest_1.expect)((0, random_js_1.random)(2)).not.toBe((0, random_js_1.random)(1));
14
- (0, vitest_1.expect)((0, random_js_1.random)(null)).not.toBe((0, random_js_1.random)(null));
15
- });
16
- (0, vitest_1.describe)('Random should be uniform', () => {
17
- const ITEM_COUNT = 100000;
18
- const mapped = new Array(ITEM_COUNT).fill(true).map((_a, i) => {
19
- return (0, random_js_1.random)(i);
20
- });
21
- const average = mapped.reduce((a, b) => a + b, 0) / mapped.length;
22
- (0, vitest_1.test)('test if average is around 0.5', () => {
23
- (0, vitest_1.expect)(average).toBeLessThan(0.51);
24
- (0, vitest_1.expect)(average).toBeGreaterThan(0.49);
25
- });
26
- const tenPercentSections = [];
27
- const stepInterval = 0.1;
28
- let currentStep = 0;
29
- while (currentStep < 0.999999) {
30
- const items = mapped.filter((m) => m >= currentStep && m <= currentStep + stepInterval);
31
- tenPercentSections.push(items);
32
- currentStep += stepInterval;
33
- }
34
- const ACCURACY = 0.005;
35
- tenPercentSections.forEach((entries, index) => (0, vitest_1.test)(`section ${index} should contain around ${ITEM_COUNT * stepInterval} entries`, () => {
36
- (0, vitest_1.expect)(entries.length).toBeLessThan(ITEM_COUNT * (stepInterval + ACCURACY));
37
- (0, vitest_1.expect)(entries.length).toBeGreaterThan(ITEM_COUNT * (stepInterval - ACCURACY));
38
- }));
39
- (0, vitest_1.test)('test for average distance', () => {
40
- const distances = mapped
41
- .map((_a, i) => {
42
- if (i === 0) {
43
- return null;
44
- }
45
- return Math.abs(mapped[i] - mapped[i - 1]);
46
- })
47
- .filter((f) => f !== null);
48
- const averageDistance = distances.reduce((a, b) => a + b, 0) / distances.length;
49
- (0, vitest_1.expect)(averageDistance).toBeGreaterThan(0.3);
50
- });
51
- });
52
- (0, vitest_1.test)('Random string should be uniform', () => {
53
- const alphabet = 'abcdefghijlkmnopqrstuvwxyz0123456789';
54
- const array = new Array(alphabet.length)
55
- .fill(true)
56
- .map((_, i) => (0, random_js_1.random)(alphabet[i]));
57
- const average = array.reduce((a, b) => a + b, 0) / array.length;
58
- (0, vitest_1.expect)(average).toBeLessThan(0.55);
59
- (0, vitest_1.expect)(average).toBeGreaterThan(0.45);
60
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
- * @vitest-environment jsdom
5
- */
6
- const vitest_1 = require("vitest");
7
- const delay_render_js_1 = require("../delay-render.js");
8
- (0, vitest_1.describe)('Ready Manager tests', () => {
9
- let handle;
10
- (0, vitest_1.test)('delayRender sets window.ready to false', () => {
11
- window.ready = true;
12
- handle = (0, delay_render_js_1.delayRender)();
13
- (0, vitest_1.expect)(typeof handle).toBe('number');
14
- (0, vitest_1.expect)(window.ready).toBe(false);
15
- });
16
- (0, vitest_1.test)('continueRender sets window.ready to true', () => {
17
- (0, delay_render_js_1.continueRender)(handle);
18
- (0, vitest_1.expect)(window.ready).toBe(true);
19
- });
20
- (0, vitest_1.test)('Render is only continued if all handles have been finished', () => {
21
- handle = (0, delay_render_js_1.delayRender)();
22
- const handle2 = (0, delay_render_js_1.delayRender)();
23
- (0, vitest_1.expect)(window.ready).toBe(false);
24
- (0, delay_render_js_1.continueRender)(handle);
25
- (0, vitest_1.expect)(window.ready).toBe(false);
26
- (0, delay_render_js_1.continueRender)(handle2);
27
- (0, vitest_1.expect)(window.ready).toBe(true);
28
- });
29
- });
@@ -1,23 +0,0 @@
1
- import React from 'react';
2
- interface RenderHookOptions<Props> {
3
- /**
4
- * The argument passed to the renderHook callback. Can be useful if you plan
5
- * to use the rerender utility to change the values passed to your hook.
6
- */
7
- initialProps?: Props;
8
- /**
9
- * Pass a React Component as the wrapper option to have it rendered around the inner element. This is most useful for creating
10
- * reusable custom render functions for common data providers. See setup for examples.
11
- *
12
- * @see https://testing-library.com/docs/react-testing-library/api/#wrapper
13
- */
14
- wrapper?: React.JSXElementConstructor<{
15
- children: React.ReactElement;
16
- }>;
17
- }
18
- export declare function renderHook<Result, Props>(renderCallback: (initialProps: Props) => Result, options?: RenderHookOptions<Props>): {
19
- result: React.RefObject<unknown>;
20
- rerender: (rerenderCallbackProps: Props) => void;
21
- unmount: () => void;
22
- };
23
- export {};
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.renderHook = void 0;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const react_1 = require("@testing-library/react");
9
- const react_2 = __importDefault(require("react"));
10
- function renderHook(renderCallback, options = {}) {
11
- const { initialProps, wrapper } = options;
12
- const result = react_2.default.createRef();
13
- const TestComponent = ({ renderCallbackProps, }) => {
14
- const pendingResult = renderCallback(renderCallbackProps);
15
- react_2.default.useEffect(() => {
16
- // @ts-expect-error
17
- result.current = pendingResult;
18
- });
19
- return null;
20
- };
21
- const { rerender: baseRerender, unmount } = (0, react_1.render)((0, jsx_runtime_1.jsx)(TestComponent, { renderCallbackProps: initialProps }), { wrapper });
22
- function rerender(rerenderCallbackProps) {
23
- return baseRerender((0, jsx_runtime_1.jsx)(TestComponent, { renderCallbackProps: rerenderCallbackProps }));
24
- }
25
- return { result, rerender, unmount };
26
- }
27
- exports.renderHook = renderHook;
@@ -1,4 +0,0 @@
1
- /**
2
- * @vitest-environment jsdom
3
- */
4
- export {};
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- /**
5
- * @vitest-environment jsdom
6
- */
7
- const react_1 = require("@testing-library/react");
8
- const vitest_1 = require("vitest");
9
- const CanUseRemotionHooks_js_1 = require("../CanUseRemotionHooks.js");
10
- const freeze_js_1 = require("../freeze.js");
11
- const internals_js_1 = require("../internals.js");
12
- const Sequence_js_1 = require("../Sequence.js");
13
- const use_video_config_js_1 = require("../use-video-config.js");
14
- const wrap_sequence_context_js_1 = require("./wrap-sequence-context.js");
15
- const Inner = () => {
16
- const config = (0, use_video_config_js_1.useVideoConfig)();
17
- return (0, jsx_runtime_1.jsx)("div", { children: config.durationInFrames });
18
- };
19
- const context = {
20
- audioAndVideoTags: { current: [] },
21
- frame: 10000,
22
- imperativePlaying: {
23
- current: false,
24
- },
25
- playbackRate: 0,
26
- playing: false,
27
- rootId: 'hither',
28
- setPlaybackRate: () => undefined,
29
- };
30
- (0, vitest_1.describe)('Composition-validation render should NOT throw with valid props', () => {
31
- (0, vitest_1.test)('It should allow undefined as children', () => {
32
- const { queryByText } = (0, react_1.render)((0, jsx_runtime_1.jsx)(CanUseRemotionHooks_js_1.CanUseRemotionHooksProvider, { children: (0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsx)(internals_js_1.Internals.Timeline.TimelineContext.Provider, { value: context, children: (0, jsx_runtime_1.jsx)(freeze_js_1.Freeze, { frame: 10000, children: (0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { durationInFrames: 2424, from: 9265, children: (0, jsx_runtime_1.jsx)(Inner, {}) }) }) }) }) }));
33
- (0, vitest_1.expect)(queryByText(/^0$/)).not.toBe(null);
34
- });
35
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- /**
5
- * @vitest-environment jsdom
6
- */
7
- const react_1 = require("@testing-library/react");
8
- const vitest_1 = require("vitest");
9
- const CanUseRemotionHooks_js_1 = require("../CanUseRemotionHooks.js");
10
- const Sequence_js_1 = require("../Sequence.js");
11
- const expect_to_throw_js_1 = require("./expect-to-throw.js");
12
- const wrap_sequence_context_js_1 = require("./wrap-sequence-context.js");
13
- (0, vitest_1.describe)('Composition-validation render should throw with invalid props', () => {
14
- (0, vitest_1.describe)('Throw with invalid duration props', () => {
15
- (0, vitest_1.test)('It should throw if Sequence has non-integer durationInFrames', () => {
16
- (0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { from: 0, durationInFrames: 1.1, children: "hi" })), /The "durationInFrames" of a sequence must be an integer, but got 1.1./);
17
- });
18
- (0, vitest_1.test)('It should throw if Sequence has negative duration', () => {
19
- (0, expect_to_throw_js_1.expectToThrow)(
20
- // @ts-expect-error
21
- () => (0, react_1.render)((0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { from: 0, durationInFrames: -1 })), /durationInFrames must be positive, but got -1/);
22
- });
23
- });
24
- (0, vitest_1.describe)('Throw with invalid from props', () => {
25
- (0, vitest_1.test)('It should throw if "from" props is not a number', () => {
26
- (0, expect_to_throw_js_1.expectToThrow)(
27
- // @ts-expect-error
28
- () => (0, react_1.render)((0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { from: '0', durationInFrames: 30 })), /You passed to the "from" props of your <Sequence> an argument of type string, but it must be a number./);
29
- });
30
- (0, vitest_1.test)('It should throw if Sequence has non-integer from', () => {
31
- (0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { from: 0.1, durationInFrames: 1, children: "hi" })), /The "from" prop of a sequence must be an integer, but got 0.1./);
32
- });
33
- });
34
- (0, vitest_1.test)('It should throw for invalid layout value', () => {
35
- (0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)(
36
- // @ts-expect-error
37
- (0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { from: 0, durationInFrames: 100, layout: 'invalid-value' })), /The layout prop of <Sequence \/> expects either "absolute-fill" or "none", but you passed: invalid-value/);
38
- });
39
- });
40
- (0, vitest_1.describe)('Composition-validation render should NOT throw with valid props', () => {
41
- (0, vitest_1.test)('It should allow null as children', () => {
42
- (0, vitest_1.expect)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(CanUseRemotionHooks_js_1.CanUseRemotionHooksProvider, { children: (0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { durationInFrames: 100, from: 0, children: null }) }) }))).not.toThrow();
43
- });
44
- (0, vitest_1.test)('It should allow undefined as children', () => {
45
- (0, vitest_1.expect)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(CanUseRemotionHooks_js_1.CanUseRemotionHooksProvider, { children: (0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { durationInFrames: 100, from: 0, children: undefined }) }) }))).not.toThrow();
46
- });
47
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,115 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- const server_1 = require("react-dom/server");
5
- const vitest_1 = require("vitest");
6
- const CanUseRemotionHooks_js_1 = require("../CanUseRemotionHooks.js");
7
- const series_1 = require("../series");
8
- const timeline_position_state_js_1 = require("../timeline-position-state.js");
9
- const use_current_frame_js_1 = require("../use-current-frame.js");
10
- const wrap_sequence_context_js_1 = require("./wrap-sequence-context.js");
11
- const First = () => {
12
- const frame = (0, use_current_frame_js_1.useCurrentFrame)();
13
- return (0, jsx_runtime_1.jsx)("div", { children: 'first ' + frame });
14
- };
15
- const Second = () => {
16
- const frame = (0, use_current_frame_js_1.useCurrentFrame)();
17
- return (0, jsx_runtime_1.jsx)("div", { children: 'second ' + frame });
18
- };
19
- const Third = () => {
20
- const frame = (0, use_current_frame_js_1.useCurrentFrame)();
21
- return (0, jsx_runtime_1.jsx)("div", { children: 'third ' + frame });
22
- };
23
- const renderForFrame = (frame, markup) => {
24
- return (0, server_1.renderToString)((0, jsx_runtime_1.jsx)(CanUseRemotionHooks_js_1.CanUseRemotionHooksProvider, { children: (0, jsx_runtime_1.jsx)(timeline_position_state_js_1.TimelineContext.Provider, { value: {
25
- rootId: '',
26
- frame,
27
- playing: false,
28
- imperativePlaying: {
29
- current: false,
30
- },
31
- playbackRate: 1,
32
- setPlaybackRate: () => {
33
- throw new Error('playback rate');
34
- },
35
- audioAndVideoTags: { current: [] },
36
- }, children: markup }) }));
37
- };
38
- (0, vitest_1.test)('Basic series test', () => {
39
- const outerHTML = renderForFrame(10, (0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsxs)(series_1.Series, { children: [(0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 5, children: (0, jsx_runtime_1.jsx)(First, {}) }), (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 5, children: (0, jsx_runtime_1.jsx)(Second, {}) }), (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 5, children: (0, jsx_runtime_1.jsx)(Third, {}) })] }) }));
40
- (0, vitest_1.expect)(outerHTML).toBe('<div style="position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:flex"><div>third 0</div></div>');
41
- });
42
- (0, vitest_1.test)('Should support fragments', () => {
43
- const outerHtml = renderForFrame(10, (0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsxs)(series_1.Series, { children: [(0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 5, children: (0, jsx_runtime_1.jsx)(First, {}) }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 5, children: (0, jsx_runtime_1.jsx)(Second, {}) }, "0"), (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 5, children: (0, jsx_runtime_1.jsx)(Third, {}) }, "1")] })] }) }));
44
- (0, vitest_1.expect)(outerHtml).not.toBe('<div style="position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:flex"><div>second 1</div></div>');
45
- });
46
- (0, vitest_1.test)('Should not allow foreign elements', () => {
47
- (0, vitest_1.expect)(() => {
48
- renderForFrame(0, (0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsx)(series_1.Series, { children: (0, jsx_runtime_1.jsx)(First, {}) }) }));
49
- }).toThrow(/only accepts a/);
50
- });
51
- (0, vitest_1.test)('Should allow layout prop', () => {
52
- const outerHTML = renderForFrame(0, (0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsx)(series_1.Series, { children: (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 1, children: (0, jsx_runtime_1.jsx)(First, {}) }) }) }));
53
- (0, vitest_1.expect)(outerHTML).toBe('<div style="position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:flex"><div>first 0</div></div>');
54
- const outerHTML2 = renderForFrame(0, (0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsx)(series_1.Series, { children: (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 1, layout: "none", children: (0, jsx_runtime_1.jsx)(First, {}) }) }) }));
55
- (0, vitest_1.expect)(outerHTML2).toBe('<div>first 0</div>');
56
- });
57
- (0, vitest_1.test)('Should render nothing after the end', () => {
58
- const outerHTML = renderForFrame(10, (0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsx)(series_1.Series, { children: (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 1, children: (0, jsx_runtime_1.jsx)(First, {}) }) }) }));
59
- (0, vitest_1.expect)(outerHTML).toBe('');
60
- });
61
- (0, vitest_1.test)('Should throw if invalid or no duration provided', () => {
62
- (0, vitest_1.expect)(() => {
63
- renderForFrame(10, (0, jsx_runtime_1.jsx)(series_1.Series, { children: (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: NaN, children: (0, jsx_runtime_1.jsx)(First, {}) }) }));
64
- }).toThrow(/The "durationInFrames" prop of a <Series.Sequence \/> component must be an integer, but got NaN./);
65
- (0, vitest_1.expect)(() => {
66
- renderForFrame(10, (0, jsx_runtime_1.jsx)(series_1.Series, { children: (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { children: (0, jsx_runtime_1.jsx)(First, {}) }) }));
67
- }).toThrow(/The "durationInFrames" prop of a <Series.Sequence \/> component must be a number, but you passed a value of type undefined/);
68
- });
69
- (0, vitest_1.test)('Should allow whitespace', () => {
70
- const outerHtml = renderForFrame(11, (0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsxs)(series_1.Series, { children: [(0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 10, children: (0, jsx_runtime_1.jsx)(First, {}) }), ' ', (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 10, children: (0, jsx_runtime_1.jsx)(Second, {}) })] }) }));
71
- (0, vitest_1.expect)(outerHtml).toBe('<div style="position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:flex"><div>second 1</div></div>');
72
- });
73
- (0, vitest_1.test)('Handle empty Series.Sequence', () => {
74
- (0, vitest_1.expect)(() => renderForFrame(11, (0, jsx_runtime_1.jsxs)(series_1.Series, { children: [(0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 10, children: (0, jsx_runtime_1.jsx)(First, {}) }), (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 10 })] }))).toThrow(/A <Series.Sequence \/> component \(index = 1, duration = 10\) was detected to not have any children\. Delete it to fix this error\./);
75
- });
76
- (0, vitest_1.test)('Should allow negative overlap prop', () => {
77
- const outerHTML = renderForFrame(4, (0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsxs)(series_1.Series, { children: [(0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 5, layout: "none", children: (0, jsx_runtime_1.jsx)(First, {}) }), (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { offset: -1, layout: "none", durationInFrames: 5, children: (0, jsx_runtime_1.jsx)(Second, {}) })] }) }));
78
- (0, vitest_1.expect)(outerHTML).toBe('<div>first 4</div><div>second 0</div>');
79
- });
80
- (0, vitest_1.test)('Should allow positive overlap prop', () => {
81
- const outerHTML = renderForFrame(5, (0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsxs)(series_1.Series, { children: [(0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 5, layout: "none", children: (0, jsx_runtime_1.jsx)(First, {}) }), (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { offset: 1, layout: "none", durationInFrames: 5, children: (0, jsx_runtime_1.jsx)(Second, {}) })] }) }));
82
- (0, vitest_1.expect)(outerHTML).toBe('');
83
- });
84
- (0, vitest_1.test)('Should disallow NaN as offset prop', () => {
85
- (0, vitest_1.expect)(() => {
86
- renderForFrame(9, (0, jsx_runtime_1.jsx)(series_1.Series, { children: (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { offset: NaN, layout: "none", durationInFrames: 5, children: (0, jsx_runtime_1.jsx)(Second, {}) }) }));
87
- }).toThrow(/The "offset" property of a <Series.Sequence \/> must not be NaN, but got NaN \(index = 0, duration = 5\)\./);
88
- });
89
- (0, vitest_1.test)('Should disallow Infinity as offset prop', () => {
90
- (0, vitest_1.expect)(() => {
91
- renderForFrame(9, (0, jsx_runtime_1.jsx)(series_1.Series, { children: (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { offset: Infinity, layout: "none", durationInFrames: 5, children: (0, jsx_runtime_1.jsx)(Second, {}) }) }));
92
- }).toThrow(/The "offset" property of a <Series.Sequence \/> must be finite, but got Infinity \(index = 0, duration = 5\)\./);
93
- });
94
- (0, vitest_1.test)('Should disallow non-integer numbers as offset prop', () => {
95
- (0, vitest_1.expect)(() => {
96
- renderForFrame(9, (0, jsx_runtime_1.jsx)(series_1.Series, { children: (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { offset: Math.PI, layout: "none", durationInFrames: 5, children: (0, jsx_runtime_1.jsx)(Second, {}) }) }));
97
- }).toThrow(/The "offset" property of a <Series.Sequence \/> must be finite, but got 3.141592653589793 \(index = 0, duration = 5\)\./);
98
- });
99
- (0, vitest_1.test)('Should cascade negative offset props', () => {
100
- const outerHTML = renderForFrame(9, (0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsxs)(series_1.Series, { children: [(0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 5, layout: "none", children: (0, jsx_runtime_1.jsx)(First, {}) }), (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { offset: -1, layout: "none", durationInFrames: 5, children: (0, jsx_runtime_1.jsx)(Second, {}) }), (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { layout: "none", durationInFrames: 5, children: (0, jsx_runtime_1.jsx)(Third, {}) })] }) }));
101
- (0, vitest_1.expect)(outerHTML).toBe('<div>third 0</div>');
102
- });
103
- (0, vitest_1.test)('Should cascade positive offset props', () => {
104
- const outerHTML = renderForFrame(11, (0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsxs)(series_1.Series, { children: [(0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 5, layout: "none", children: (0, jsx_runtime_1.jsx)(First, {}) }), (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { offset: 1, layout: "none", durationInFrames: 5, children: (0, jsx_runtime_1.jsx)(Second, {}) }), (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { layout: "none", durationInFrames: 5, children: (0, jsx_runtime_1.jsx)(Third, {}) })] }) }));
105
- (0, vitest_1.expect)(outerHTML).toBe('<div>third 0</div>');
106
- });
107
- (0, vitest_1.test)('Allow durationInFrames as Infinity for last Series.Sequence', () => {
108
- const outerHTML = renderForFrame(10, (0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsxs)(series_1.Series, { children: [(0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 5, children: (0, jsx_runtime_1.jsx)(First, {}) }), (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 5, children: (0, jsx_runtime_1.jsx)(Second, {}) }), (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: Infinity, children: (0, jsx_runtime_1.jsx)(Third, {}) })] }) }));
109
- (0, vitest_1.expect)(outerHTML).toBe('<div style="position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:flex"><div>third 0</div></div>');
110
- });
111
- (0, vitest_1.test)('Disallow durationInFrames as Infinity for first n-1 Series.Sequence', () => {
112
- (0, vitest_1.expect)(() => {
113
- renderForFrame(10, (0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsxs)(series_1.Series, { children: [(0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 5, children: (0, jsx_runtime_1.jsx)(First, {}) }), (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: Infinity, children: (0, jsx_runtime_1.jsx)(Second, {}) }), (0, jsx_runtime_1.jsx)(series_1.Series.Sequence, { durationInFrames: 5, children: (0, jsx_runtime_1.jsx)(Third, {}) })] }) }));
114
- }).toThrow(/The "durationInFrames" prop of a <Series.Sequence \/> component must be an integer, but got Infinity\./);
115
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const is_approximately_the_same_js_1 = require("../is-approximately-the-same.js");
5
- const spring_1 = require("../spring");
6
- (0, vitest_1.test)('Basic spring to equal 0', () => {
7
- (0, vitest_1.expect)((0, spring_1.spring)({
8
- fps: 30,
9
- frame: 0,
10
- })).toEqual(0);
11
- });
12
- (0, vitest_1.test)('Basic spring to equal 1', () => {
13
- (0, vitest_1.expect)((0, spring_1.spring)({
14
- fps: 30,
15
- frame: 0,
16
- from: 1,
17
- to: 0,
18
- })).toEqual(1);
19
- });
20
- (0, vitest_1.test)('Should be approxmiately the same', () => {
21
- (0, vitest_1.expect)((0, is_approximately_the_same_js_1.isApproximatelyTheSame)((0, spring_1.spring)({
22
- fps: 30,
23
- frame: 1,
24
- }), 0.04941510804510185)).toBe(true);
25
- });
26
- (0, vitest_1.test)('Should be close to 1', () => {
27
- (0, vitest_1.expect)((0, spring_1.spring)({
28
- fps: 30,
29
- frame: 100,
30
- })).toBeCloseTo(1);
31
- });
32
- (0, vitest_1.test)('Should be able to set duration for spring', () => {
33
- (0, vitest_1.expect)((0, spring_1.spring)({
34
- fps: 30,
35
- frame: 5,
36
- durationInFrames: 5,
37
- })).toBeCloseTo(1);
38
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const truthy_js_1 = require("../truthy.js");
5
- vitest_1.test.each([
6
- ['true', true],
7
- ['false', true],
8
- ['True', true],
9
- ['False', true],
10
- ['', false],
11
- ['abc', true],
12
- [true, true],
13
- [false, false],
14
- [null, false],
15
- [undefined, false],
16
- [0, false],
17
- [1, true],
18
- [0.5, true],
19
- [12, true],
20
- [-1, true],
21
- [-4, true],
22
- ])('test with %s', (input, expected) => {
23
- (0, vitest_1.expect)((0, truthy_js_1.truthy)(input)).toEqual(expected);
24
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,78 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const jsx_runtime_1 = require("react/jsx-runtime");
27
- const vitest_1 = require("vitest");
28
- const useAudioFrameModule = __importStar(require("../audio/use-audio-frame.js"));
29
- const use_audio_frame_js_1 = require("../audio/use-audio-frame.js");
30
- const Sequence_js_1 = require("../Sequence.js");
31
- const useFrameModule = __importStar(require("../use-current-frame.js"));
32
- const render_hook_js_1 = require("./render-hook.js");
33
- vitest_1.test.skip('Media starts at 0 if it is outside a sequence', () => {
34
- const wrapper = ({ children }) => ((0, jsx_runtime_1.jsx)(Sequence_js_1.SequenceContext.Provider, { value: null, children: children }));
35
- const { result } = (0, render_hook_js_1.renderHook)(() => (0, use_audio_frame_js_1.useMediaStartsAt)(), { wrapper });
36
- (0, vitest_1.expect)(result.current).toEqual(0);
37
- });
38
- vitest_1.test.skip('Media start is shifted back based on sequence', () => {
39
- const mockSequence = {
40
- cumulatedFrom: 0,
41
- relativeFrom: -100,
42
- parentFrom: 0,
43
- durationInFrames: 0,
44
- id: 'mock',
45
- };
46
- const wrapper = ({ children }) => ((0, jsx_runtime_1.jsx)(Sequence_js_1.SequenceContext.Provider, { value: mockSequence, children: children }));
47
- const { result } = (0, render_hook_js_1.renderHook)(() => (0, use_audio_frame_js_1.useMediaStartsAt)(), { wrapper });
48
- (0, vitest_1.expect)(result.current).toEqual(-100);
49
- });
50
- (0, vitest_1.describe)('useFrameForVolumeProp hook tests', () => {
51
- (0, vitest_1.beforeAll)(() => {
52
- vitest_1.vitest
53
- .spyOn(useAudioFrameModule, 'useMediaStartsAt')
54
- .mockImplementation(() => -10);
55
- });
56
- (0, vitest_1.afterAll)(() => {
57
- vitest_1.vitest.spyOn(useAudioFrameModule, 'useMediaStartsAt').mockRestore();
58
- });
59
- vitest_1.test.skip('Media not mounted', () => {
60
- vitest_1.vitest.spyOn(useFrameModule, 'useCurrentFrame').mockImplementation(() => 9);
61
- const { result } = (0, render_hook_js_1.renderHook)(() => (0, use_audio_frame_js_1.useFrameForVolumeProp)());
62
- (0, vitest_1.expect)(result.current).toEqual(-1);
63
- });
64
- vitest_1.test.skip('Media mounted', () => {
65
- vitest_1.vitest
66
- .spyOn(useFrameModule, 'useCurrentFrame')
67
- .mockImplementation(() => 10);
68
- const { result } = (0, render_hook_js_1.renderHook)(() => (0, use_audio_frame_js_1.useFrameForVolumeProp)());
69
- (0, vitest_1.expect)(result.current).toEqual(0);
70
- });
71
- vitest_1.test.skip('Media mounted + 1 frame', () => {
72
- vitest_1.vitest
73
- .spyOn(useFrameModule, 'useCurrentFrame')
74
- .mockImplementation(() => 11);
75
- const { result } = (0, render_hook_js_1.renderHook)(() => (0, use_audio_frame_js_1.useFrameForVolumeProp)());
76
- (0, vitest_1.expect)(result.current).toEqual(1);
77
- });
78
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,74 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const jsx_runtime_1 = require("react/jsx-runtime");
27
- const vitest_1 = require("vitest");
28
- const internals_js_1 = require("../internals.js");
29
- const use_media_in_timeline_js_1 = require("../use-media-in-timeline.js");
30
- const useVideoConfigModule = __importStar(require("../use-video-config.js"));
31
- const render_hook_js_1 = require("./render-hook.js");
32
- const wrap_sequence_context_js_1 = require("./wrap-sequence-context.js");
33
- (0, vitest_1.beforeAll)(() => {
34
- vitest_1.vitest
35
- .spyOn(useVideoConfigModule, 'useVideoConfig')
36
- .mockImplementation(() => ({
37
- width: 10,
38
- height: 10,
39
- fps: 30,
40
- durationInFrames: 100,
41
- id: 'hithere',
42
- defaultProps: () => ({}),
43
- }));
44
- });
45
- (0, vitest_1.afterAll)(() => {
46
- vitest_1.vitest.spyOn(useVideoConfigModule, 'useVideoConfig').mockClear();
47
- });
48
- (0, vitest_1.test)('useMediaInTimeline registers and unregisters new sequence', () => {
49
- const registerSequence = vitest_1.vitest.fn();
50
- const unregisterSequence = vitest_1.vitest.fn();
51
- const wrapper = ({ children }) => ((0, jsx_runtime_1.jsx)(internals_js_1.Internals.CompositionManager.Provider, { value:
52
- // eslint-disable-next-line react/jsx-no-constructed-context-values
53
- {
54
- ...wrap_sequence_context_js_1.mockCompositionContext,
55
- registerSequence,
56
- unregisterSequence,
57
- }, children: children }));
58
- const audioRef = {
59
- current: { volume: 0.5 },
60
- };
61
- const { unmount } = (0, render_hook_js_1.renderHook)(() => (0, use_media_in_timeline_js_1.useMediaInTimeline)({
62
- volume: 1,
63
- src: 'test',
64
- mediaVolume: 1,
65
- mediaType: 'audio',
66
- mediaRef: audioRef,
67
- playbackRate: 1,
68
- }), {
69
- wrapper,
70
- });
71
- (0, vitest_1.expect)(registerSequence).toHaveBeenCalled();
72
- unmount();
73
- (0, vitest_1.expect)(unregisterSequence).toHaveBeenCalled();
74
- });
@@ -1 +0,0 @@
1
- export {};