remotion 3.3.45 → 3.3.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Sequence.js +1 -1
- package/dist/Still.d.ts +0 -1
- package/dist/audio/Audio.d.ts +2 -2
- package/dist/audio/AudioForDevelopment.d.ts +1 -1
- package/dist/audio/AudioForRendering.d.ts +1 -1
- package/dist/cjs/AbsoluteFill.d.ts +6 -0
- package/dist/cjs/AbsoluteFill.js +28 -0
- package/dist/cjs/CanUseRemotionHooks.d.ts +5 -0
- package/dist/cjs/CanUseRemotionHooks.js +10 -0
- package/dist/cjs/Clipper.d.ts +7 -0
- package/dist/cjs/Clipper.js +24 -0
- package/dist/cjs/Composition.d.ts +23 -0
- package/dist/cjs/Composition.js +113 -0
- package/dist/cjs/CompositionManager.d.ts +82 -0
- package/dist/cjs/CompositionManager.js +164 -0
- package/dist/cjs/Folder.d.ts +15 -0
- package/dist/cjs/Folder.js +33 -0
- package/dist/cjs/IFrame.d.ts +2 -0
- package/dist/cjs/IFrame.js +24 -0
- package/dist/cjs/Img.d.ts +2 -0
- package/dist/cjs/Img.js +52 -0
- package/dist/cjs/NativeLayers.d.ts +13 -0
- package/dist/cjs/NativeLayers.js +29 -0
- package/dist/cjs/Null.d.ts +2 -0
- package/dist/cjs/Null.js +25 -0
- package/dist/cjs/RemotionRoot.d.ts +5 -0
- package/dist/cjs/RemotionRoot.js +73 -0
- package/dist/cjs/Sequence.d.ts +29 -0
- package/dist/cjs/Sequence.js +131 -0
- package/dist/cjs/Still.d.ts +3 -0
- package/dist/cjs/Still.js +9 -0
- package/dist/cjs/absolute-src.d.ts +1 -0
- package/dist/cjs/absolute-src.js +7 -0
- package/dist/cjs/asset-types.d.ts +50 -0
- package/dist/cjs/asset-types.js +1 -0
- package/dist/cjs/audio/Audio.d.ts +8 -0
- package/dist/cjs/audio/Audio.js +52 -0
- package/dist/cjs/audio/AudioForDevelopment.d.ts +11 -0
- package/dist/cjs/audio/AudioForDevelopment.js +94 -0
- package/dist/cjs/audio/AudioForRendering.d.ts +10 -0
- package/dist/cjs/audio/AudioForRendering.js +111 -0
- package/dist/cjs/audio/index.d.ts +2 -0
- package/dist/cjs/audio/index.js +18 -0
- package/dist/cjs/audio/props.d.ts +12 -0
- package/dist/cjs/audio/props.js +2 -0
- package/dist/cjs/audio/shared-audio-tags.d.ts +37 -0
- package/dist/cjs/audio/shared-audio-tags.js +222 -0
- package/dist/cjs/audio/use-audio-frame.d.ts +6 -0
- package/dist/cjs/audio/use-audio-frame.js +23 -0
- package/dist/cjs/bezier.d.ts +1 -0
- package/dist/cjs/bezier.js +114 -0
- package/dist/cjs/cancel-render.d.ts +1 -0
- package/dist/cjs/cancel-render.js +43 -0
- package/dist/cjs/config/input-props.d.ts +1 -0
- package/dist/cjs/config/input-props.js +31 -0
- package/dist/cjs/config.d.ts +285 -0
- package/dist/cjs/config.js +21 -0
- package/dist/cjs/default-css.d.ts +3 -0
- package/dist/cjs/default-css.js +49 -0
- package/dist/cjs/delay-render.d.ts +14 -0
- package/dist/cjs/delay-render.js +77 -0
- package/dist/cjs/easing.d.ts +19 -0
- package/dist/cjs/easing.js +77 -0
- package/dist/cjs/freeze.d.ts +7 -0
- package/dist/cjs/freeze.js +34 -0
- package/dist/cjs/get-asset-file-name.d.ts +1 -0
- package/dist/cjs/get-asset-file-name.js +14 -0
- package/dist/cjs/get-environment.d.ts +3 -0
- package/dist/cjs/get-environment.js +34 -0
- package/dist/cjs/get-preview-dom-element.d.ts +1 -0
- package/dist/cjs/get-preview-dom-element.js +7 -0
- package/dist/cjs/get-static-files.d.ts +17 -0
- package/dist/cjs/get-static-files.js +31 -0
- package/dist/cjs/get-timeline-clip-name.d.ts +1 -0
- package/dist/cjs/get-timeline-clip-name.js +25 -0
- package/dist/cjs/index.d.ts +92 -0
- package/dist/cjs/index.js +73 -0
- package/dist/cjs/internals.d.ts +99 -0
- package/dist/cjs/internals.js +101 -0
- package/dist/cjs/interpolate-colors.d.ts +5 -0
- package/dist/cjs/interpolate-colors.js +401 -0
- package/dist/cjs/interpolate.d.ts +18 -0
- package/dist/cjs/interpolate.js +123 -0
- package/dist/cjs/is-approximately-the-same.d.ts +1 -0
- package/dist/cjs/is-approximately-the-same.js +8 -0
- package/dist/cjs/is-player.d.ts +3 -0
- package/dist/cjs/is-player.js +14 -0
- package/dist/cjs/loading-indicator.d.ts +2 -0
- package/dist/cjs/loading-indicator.js +35 -0
- package/dist/cjs/loop/index.d.ts +9 -0
- package/dist/cjs/loop/index.js +29 -0
- package/dist/cjs/multiple-versions-warning.d.ts +1 -0
- package/dist/cjs/multiple-versions-warning.js +32 -0
- package/dist/cjs/nonce.d.ts +7 -0
- package/dist/cjs/nonce.js +17 -0
- package/dist/cjs/play-and-handle-not-allowed-error.d.ts +2 -0
- package/dist/cjs/play-and-handle-not-allowed-error.js +44 -0
- package/dist/cjs/portal-node.d.ts +1 -0
- package/dist/cjs/portal-node.js +23 -0
- package/dist/cjs/prefetch-state.d.ts +8 -0
- package/dist/cjs/prefetch-state.js +27 -0
- package/dist/cjs/prefetch.d.ts +9 -0
- package/dist/cjs/prefetch.js +108 -0
- package/dist/cjs/random.d.ts +7 -0
- package/dist/cjs/random.js +42 -0
- package/dist/cjs/register-root.d.ts +4 -0
- package/dist/cjs/register-root.js +33 -0
- package/dist/cjs/series/flatten-children.d.ts +2 -0
- package/dist/cjs/series/flatten-children.js +19 -0
- package/dist/cjs/series/index.d.ts +13 -0
- package/dist/cjs/series/index.js +60 -0
- package/dist/cjs/setup-env-variables.d.ts +2 -0
- package/dist/cjs/setup-env-variables.js +36 -0
- package/dist/cjs/spring/index.d.ts +27 -0
- package/dist/cjs/spring/index.js +55 -0
- package/dist/cjs/spring/measure-spring.d.ts +8 -0
- package/dist/cjs/spring/measure-spring.js +64 -0
- package/dist/cjs/spring/spring-utils.d.ts +21 -0
- package/dist/cjs/spring/spring-utils.js +103 -0
- package/dist/cjs/static-file.d.ts +5 -0
- package/dist/cjs/static-file.js +33 -0
- package/dist/cjs/test/Img.test.d.ts +1 -0
- package/dist/cjs/test/Img.test.js +25 -0
- package/dist/cjs/test/absolute-src.test.d.ts +1 -0
- package/dist/cjs/test/absolute-src.test.js +18 -0
- package/dist/cjs/test/audio-for-rendering.test.d.ts +1 -0
- package/dist/cjs/test/audio-for-rendering.test.js +88 -0
- package/dist/cjs/test/audio.test.d.ts +1 -0
- package/dist/cjs/test/audio.test.js +76 -0
- package/dist/cjs/test/bezier.test.d.ts +1 -0
- package/dist/cjs/test/bezier.test.js +52 -0
- package/dist/cjs/test/composition-rules.test.d.ts +1 -0
- package/dist/cjs/test/composition-rules.test.js +30 -0
- package/dist/cjs/test/composition-validation.test.d.ts +1 -0
- package/dist/cjs/test/composition-validation.test.js +99 -0
- package/dist/cjs/test/easing.test.d.ts +1 -0
- package/dist/cjs/test/easing.test.js +191 -0
- package/dist/cjs/test/expect-to-throw.d.ts +1 -0
- package/dist/cjs/test/expect-to-throw.js +15 -0
- package/dist/cjs/test/freeze.test.d.ts +1 -0
- package/dist/cjs/test/freeze.test.js +65 -0
- package/dist/cjs/test/get-asset-file-name.test.d.ts +1 -0
- package/dist/cjs/test/get-asset-file-name.test.js +14 -0
- package/dist/cjs/test/get-current-time.test.d.ts +1 -0
- package/dist/cjs/test/get-current-time.test.js +74 -0
- package/dist/cjs/test/input-props.test.d.ts +1 -0
- package/dist/cjs/test/input-props.test.js +31 -0
- package/dist/cjs/test/interpolate.test.d.ts +1 -0
- package/dist/cjs/test/interpolate.test.js +138 -0
- package/dist/cjs/test/interpolateColors.test.d.ts +1 -0
- package/dist/cjs/test/interpolateColors.test.js +63 -0
- package/dist/cjs/test/loop-validation.test.d.ts +1 -0
- package/dist/cjs/test/loop-validation.test.js +93 -0
- package/dist/cjs/test/measure-spring.test.d.ts +1 -0
- package/dist/cjs/test/measure-spring.test.js +45 -0
- package/dist/cjs/test/media-validation.test.d.ts +1 -0
- package/dist/cjs/test/media-validation.test.js +47 -0
- package/dist/cjs/test/nested-sequences.test.d.ts +1 -0
- package/dist/cjs/test/nested-sequences.test.js +132 -0
- package/dist/cjs/test/not-all-props-in-media-tags.test.d.ts +1 -0
- package/dist/cjs/test/not-all-props-in-media-tags.test.js +33 -0
- package/dist/cjs/test/random.test.d.ts +1 -0
- package/dist/cjs/test/random.test.js +60 -0
- package/dist/cjs/test/ready-manager.test.d.ts +1 -0
- package/dist/cjs/test/ready-manager.test.js +29 -0
- package/dist/cjs/test/render-hook.d.ts +23 -0
- package/dist/cjs/test/render-hook.js +27 -0
- package/dist/cjs/test/sequence-from-initial-offset.test.d.ts +4 -0
- package/dist/cjs/test/sequence-from-initial-offset.test.js +35 -0
- package/dist/cjs/test/sequence-validation.test.d.ts +1 -0
- package/dist/cjs/test/sequence-validation.test.js +47 -0
- package/dist/cjs/test/series.test.d.ts +1 -0
- package/dist/cjs/test/series.test.js +115 -0
- package/dist/cjs/test/spring.test.d.ts +1 -0
- package/dist/cjs/test/spring.test.js +38 -0
- package/dist/cjs/test/truthy.test.d.ts +1 -0
- package/dist/cjs/test/truthy.test.js +24 -0
- package/dist/cjs/test/use-audio-frame.test.d.ts +1 -0
- package/dist/cjs/test/use-audio-frame.test.js +78 -0
- package/dist/cjs/test/use-media-in-timeline.test.d.ts +1 -0
- package/dist/cjs/test/use-media-in-timeline.test.js +74 -0
- package/dist/cjs/test/use-media-tag-volume.test.d.ts +1 -0
- package/dist/cjs/test/use-media-tag-volume.test.js +49 -0
- package/dist/cjs/test/use-sync-volume-with-media-tag.test.d.ts +1 -0
- package/dist/cjs/test/use-sync-volume-with-media-tag.test.js +55 -0
- package/dist/cjs/test/validate-start-from-props.test.d.ts +1 -0
- package/dist/cjs/test/validate-start-from-props.test.js +39 -0
- package/dist/cjs/test/video.test.d.ts +1 -0
- package/dist/cjs/test/video.test.js +80 -0
- package/dist/cjs/test/volume-prop.test.d.ts +1 -0
- package/dist/cjs/test/volume-prop.test.js +95 -0
- package/dist/cjs/test/wrap-sequence-context.d.ts +6 -0
- package/dist/cjs/test/wrap-sequence-context.js +41 -0
- package/dist/cjs/timeline-position-state.d.ts +29 -0
- package/dist/cjs/timeline-position-state.js +41 -0
- package/dist/cjs/truthy.d.ts +3 -0
- package/dist/cjs/truthy.js +7 -0
- package/dist/cjs/use-current-frame.d.ts +6 -0
- package/dist/cjs/use-current-frame.js +28 -0
- package/dist/cjs/use-lazy-component.d.ts +7 -0
- package/dist/cjs/use-lazy-component.js +49 -0
- package/dist/cjs/use-media-in-timeline.d.ts +10 -0
- package/dist/cjs/use-media-in-timeline.js +129 -0
- package/dist/cjs/use-media-playback.d.ts +10 -0
- package/dist/cjs/use-media-playback.js +77 -0
- package/dist/cjs/use-media-tag-volume.d.ts +2 -0
- package/dist/cjs/use-media-tag-volume.js +31 -0
- package/dist/cjs/use-sync-volume-with-media-tag.d.ts +10 -0
- package/dist/cjs/use-sync-volume-with-media-tag.js +21 -0
- package/dist/cjs/use-unsafe-video-config.d.ts +2 -0
- package/dist/cjs/use-unsafe-video-config.js +27 -0
- package/dist/cjs/use-video-config.d.ts +7 -0
- package/dist/cjs/use-video-config.js +29 -0
- package/dist/cjs/use-video.d.ts +13 -0
- package/dist/cjs/use-video.js +28 -0
- package/dist/cjs/validate-frame.d.ts +1 -0
- package/dist/cjs/validate-frame.js +24 -0
- package/dist/cjs/validate-media-props.d.ts +4 -0
- package/dist/cjs/validate-media-props.js +24 -0
- package/dist/cjs/validate-start-from-props.d.ts +1 -0
- package/dist/cjs/validate-start-from-props.js +31 -0
- package/dist/cjs/validation/validate-composition-id.d.ts +3 -0
- package/dist/cjs/validation/validate-composition-id.js +13 -0
- package/dist/cjs/validation/validate-dimensions.d.ts +1 -0
- package/dist/cjs/validation/validate-dimensions.js +21 -0
- package/dist/cjs/validation/validate-duration-in-frames.d.ts +1 -0
- package/dist/cjs/validation/validate-duration-in-frames.js +15 -0
- package/dist/cjs/validation/validate-folder-name.d.ts +3 -0
- package/dist/cjs/validation/validate-folder-name.js +19 -0
- package/dist/cjs/validation/validate-fps.d.ts +1 -0
- package/dist/cjs/validation/validate-fps.js +21 -0
- package/dist/cjs/validation/validate-offthreadvideo-image-format.d.ts +1 -0
- package/dist/cjs/validation/validate-offthreadvideo-image-format.js +15 -0
- package/dist/cjs/validation/validation-spring-duration.d.ts +1 -0
- package/dist/cjs/validation/validation-spring-duration.js +21 -0
- package/dist/cjs/version.d.ts +1 -0
- package/dist/cjs/version.js +5 -0
- package/dist/cjs/video/OffthreadVideo.d.ts +3 -0
- package/dist/cjs/video/OffthreadVideo.js +33 -0
- package/dist/cjs/video/OffthreadVideoForRendering.d.ts +3 -0
- package/dist/cjs/video/OffthreadVideoForRendering.js +104 -0
- package/dist/cjs/video/Video.d.ts +8 -0
- package/dist/cjs/video/Video.js +50 -0
- package/dist/cjs/video/VideoForDevelopment.d.ts +11 -0
- package/dist/cjs/video/VideoForDevelopment.js +113 -0
- package/dist/cjs/video/VideoForRendering.d.ts +10 -0
- package/dist/cjs/video/VideoForRendering.js +203 -0
- package/dist/cjs/video/duration-state.d.ts +17 -0
- package/dist/cjs/video/duration-state.js +34 -0
- package/dist/cjs/video/get-current-time.d.ts +13 -0
- package/dist/cjs/video/get-current-time.js +31 -0
- package/dist/cjs/video/index.d.ts +3 -0
- package/dist/cjs/video/index.js +7 -0
- package/dist/cjs/video/props.d.ts +25 -0
- package/dist/cjs/video/props.js +2 -0
- package/dist/cjs/video/video-fragment.d.ts +12 -0
- package/dist/cjs/video/video-fragment.js +60 -0
- package/dist/cjs/video-config.d.ts +8 -0
- package/dist/cjs/video-config.js +2 -0
- package/dist/cjs/volume-position-state.d.ts +19 -0
- package/dist/cjs/volume-position-state.js +32 -0
- package/dist/cjs/volume-prop.d.ts +7 -0
- package/dist/cjs/volume-prop.js +24 -0
- package/dist/cjs/warn-about-non-seekable-media.d.ts +1 -0
- package/dist/cjs/warn-about-non-seekable-media.js +34 -0
- package/dist/cjs/wrap-remotion-context.d.ts +18 -0
- package/dist/cjs/wrap-remotion-context.js +73 -0
- package/dist/esm/AbsoluteFill.d.ts +6 -0
- package/dist/esm/AbsoluteFill.js +25 -0
- package/dist/esm/CanUseRemotionHooks.d.ts +5 -0
- package/dist/esm/CanUseRemotionHooks.js +6 -0
- package/dist/esm/Clipper.d.ts +7 -0
- package/dist/esm/Clipper.js +20 -0
- package/dist/esm/Composition.d.ts +23 -0
- package/dist/esm/Composition.js +108 -0
- package/dist/esm/CompositionManager.d.ts +82 -0
- package/dist/esm/CompositionManager.js +137 -0
- package/dist/esm/Folder.d.ts +15 -0
- package/dist/esm/Folder.js +29 -0
- package/dist/esm/IFrame.d.ts +2 -0
- package/dist/esm/IFrame.js +21 -0
- package/dist/esm/Img.d.ts +2 -0
- package/dist/esm/Img.js +49 -0
- package/dist/esm/NativeLayers.d.ts +13 -0
- package/dist/esm/NativeLayers.js +25 -0
- package/dist/esm/Null.d.ts +2 -0
- package/dist/esm/Null.js +21 -0
- package/dist/esm/RemotionRoot.d.ts +5 -0
- package/dist/esm/RemotionRoot.js +69 -0
- package/dist/esm/Sequence.d.ts +29 -0
- package/dist/esm/Sequence.js +128 -0
- package/dist/esm/Still.d.ts +3 -0
- package/dist/esm/Still.js +5 -0
- package/dist/esm/absolute-src.d.ts +1 -0
- package/dist/esm/absolute-src.js +3 -0
- package/dist/esm/asset-types.d.ts +50 -0
- package/dist/esm/asset-types.js +1 -0
- package/dist/esm/audio/Audio.d.ts +8 -0
- package/dist/esm/audio/Audio.js +49 -0
- package/dist/esm/audio/AudioForDevelopment.d.ts +11 -0
- package/dist/esm/audio/AudioForDevelopment.js +91 -0
- package/dist/esm/audio/AudioForRendering.d.ts +10 -0
- package/dist/esm/audio/AudioForRendering.js +108 -0
- package/dist/esm/audio/index.d.ts +2 -0
- package/dist/esm/audio/index.js +2 -0
- package/dist/esm/audio/props.d.ts +12 -0
- package/dist/esm/audio/props.js +1 -0
- package/dist/esm/audio/shared-audio-tags.d.ts +37 -0
- package/dist/esm/audio/shared-audio-tags.js +194 -0
- package/dist/esm/audio/use-audio-frame.d.ts +6 -0
- package/dist/esm/audio/use-audio-frame.js +18 -0
- package/dist/esm/bezier.d.ts +1 -0
- package/dist/esm/bezier.js +110 -0
- package/dist/esm/cancel-render.d.ts +1 -0
- package/dist/esm/cancel-render.js +39 -0
- package/dist/esm/config/input-props.d.ts +1 -0
- package/dist/esm/config/input-props.js +27 -0
- package/dist/esm/config.d.ts +285 -0
- package/dist/esm/config.js +17 -0
- package/dist/esm/default-css.d.ts +3 -0
- package/dist/esm/default-css.js +44 -0
- package/dist/esm/delay-render.d.ts +14 -0
- package/dist/esm/delay-render.js +72 -0
- package/dist/esm/easing.d.ts +19 -0
- package/dist/esm/easing.js +73 -0
- package/dist/esm/freeze.d.ts +7 -0
- package/dist/esm/freeze.js +30 -0
- package/dist/esm/get-asset-file-name.d.ts +1 -0
- package/dist/esm/get-asset-file-name.js +10 -0
- package/dist/esm/get-environment.d.ts +3 -0
- package/dist/esm/get-environment.js +29 -0
- package/dist/esm/get-preview-dom-element.d.ts +1 -0
- package/dist/esm/get-preview-dom-element.js +3 -0
- package/dist/esm/get-static-files.d.ts +17 -0
- package/dist/esm/get-static-files.js +27 -0
- package/dist/esm/get-timeline-clip-name.d.ts +1 -0
- package/dist/esm/get-timeline-clip-name.js +21 -0
- package/dist/esm/index.d.ts +92 -0
- package/dist/esm/index.js +41 -0
- package/dist/esm/internals.d.ts +99 -0
- package/dist/esm/internals.js +75 -0
- package/dist/esm/interpolate-colors.d.ts +5 -0
- package/dist/esm/interpolate-colors.js +397 -0
- package/dist/esm/interpolate.d.ts +18 -0
- package/dist/esm/interpolate.js +119 -0
- package/dist/esm/is-approximately-the-same.d.ts +1 -0
- package/dist/esm/is-approximately-the-same.js +4 -0
- package/dist/esm/is-player.d.ts +3 -0
- package/dist/esm/is-player.js +9 -0
- package/dist/esm/loading-indicator.d.ts +2 -0
- package/dist/esm/loading-indicator.js +31 -0
- package/dist/esm/loop/index.d.ts +9 -0
- package/dist/esm/loop/index.js +25 -0
- package/dist/esm/multiple-versions-warning.d.ts +1 -0
- package/dist/esm/multiple-versions-warning.js +28 -0
- package/dist/esm/nonce.d.ts +7 -0
- package/dist/esm/nonce.js +13 -0
- package/dist/esm/play-and-handle-not-allowed-error.d.ts +2 -0
- package/dist/esm/play-and-handle-not-allowed-error.js +40 -0
- package/dist/esm/portal-node.d.ts +1 -0
- package/dist/esm/portal-node.js +19 -0
- package/dist/esm/prefetch-state.d.ts +8 -0
- package/dist/esm/prefetch-state.js +22 -0
- package/dist/esm/prefetch.d.ts +9 -0
- package/dist/esm/prefetch.js +103 -0
- package/dist/esm/random.d.ts +7 -0
- package/dist/esm/random.js +38 -0
- package/dist/esm/register-root.d.ts +4 -0
- package/dist/esm/register-root.js +27 -0
- package/dist/esm/series/flatten-children.d.ts +2 -0
- package/dist/esm/series/flatten-children.js +12 -0
- package/dist/esm/series/index.d.ts +13 -0
- package/dist/esm/series/index.js +57 -0
- package/dist/esm/setup-env-variables.d.ts +2 -0
- package/dist/esm/setup-env-variables.js +32 -0
- package/dist/esm/spring/index.d.ts +27 -0
- package/dist/esm/spring/index.js +50 -0
- package/dist/esm/spring/measure-spring.d.ts +8 -0
- package/dist/esm/spring/measure-spring.js +60 -0
- package/dist/esm/spring/spring-utils.d.ts +21 -0
- package/dist/esm/spring/spring-utils.js +99 -0
- package/dist/esm/static-file.d.ts +5 -0
- package/dist/esm/static-file.js +29 -0
- package/dist/esm/test/Img.test.d.ts +1 -0
- package/dist/esm/test/Img.test.js +20 -0
- package/dist/esm/test/absolute-src.test.d.ts +1 -0
- package/dist/esm/test/absolute-src.test.js +16 -0
- package/dist/esm/test/audio-for-rendering.test.d.ts +1 -0
- package/dist/esm/test/audio-for-rendering.test.js +83 -0
- package/dist/esm/test/audio.test.d.ts +1 -0
- package/dist/esm/test/audio.test.js +51 -0
- package/dist/esm/test/bezier.test.d.ts +1 -0
- package/dist/esm/test/bezier.test.js +50 -0
- package/dist/esm/test/composition-rules.test.d.ts +1 -0
- package/dist/esm/test/composition-rules.test.js +28 -0
- package/dist/esm/test/composition-validation.test.d.ts +1 -0
- package/dist/esm/test/composition-validation.test.js +97 -0
- package/dist/esm/test/easing.test.d.ts +1 -0
- package/dist/esm/test/easing.test.js +189 -0
- package/dist/esm/test/expect-to-throw.d.ts +1 -0
- package/dist/esm/test/expect-to-throw.js +11 -0
- package/dist/esm/test/freeze.test.d.ts +1 -0
- package/dist/esm/test/freeze.test.js +63 -0
- package/dist/esm/test/get-asset-file-name.test.d.ts +1 -0
- package/dist/esm/test/get-asset-file-name.test.js +12 -0
- package/dist/esm/test/get-current-time.test.d.ts +1 -0
- package/dist/esm/test/get-current-time.test.js +72 -0
- package/dist/esm/test/input-props.test.d.ts +1 -0
- package/dist/esm/test/input-props.test.js +29 -0
- package/dist/esm/test/interpolate.test.d.ts +1 -0
- package/dist/esm/test/interpolate.test.js +136 -0
- package/dist/esm/test/interpolateColors.test.d.ts +1 -0
- package/dist/esm/test/interpolateColors.test.js +61 -0
- package/dist/esm/test/loop-validation.test.d.ts +1 -0
- package/dist/esm/test/loop-validation.test.js +68 -0
- package/dist/esm/test/measure-spring.test.d.ts +1 -0
- package/dist/esm/test/measure-spring.test.js +43 -0
- package/dist/esm/test/media-validation.test.d.ts +1 -0
- package/dist/esm/test/media-validation.test.js +45 -0
- package/dist/esm/test/nested-sequences.test.d.ts +1 -0
- package/dist/esm/test/nested-sequences.test.js +130 -0
- package/dist/esm/test/not-all-props-in-media-tags.test.d.ts +1 -0
- package/dist/esm/test/not-all-props-in-media-tags.test.js +28 -0
- package/dist/esm/test/random.test.d.ts +1 -0
- package/dist/esm/test/random.test.js +58 -0
- package/dist/esm/test/ready-manager.test.d.ts +1 -0
- package/dist/esm/test/ready-manager.test.js +27 -0
- package/dist/esm/test/render-hook.d.ts +23 -0
- package/dist/esm/test/render-hook.js +20 -0
- package/dist/esm/test/sequence-from-initial-offset.test.d.ts +4 -0
- package/dist/esm/test/sequence-from-initial-offset.test.js +33 -0
- package/dist/esm/test/sequence-validation.test.d.ts +1 -0
- package/dist/esm/test/sequence-validation.test.js +45 -0
- package/dist/esm/test/series.test.d.ts +1 -0
- package/dist/esm/test/series.test.js +113 -0
- package/dist/esm/test/spring.test.d.ts +1 -0
- package/dist/esm/test/spring.test.js +36 -0
- package/dist/esm/test/truthy.test.d.ts +1 -0
- package/dist/esm/test/truthy.test.js +22 -0
- package/dist/esm/test/use-audio-frame.test.d.ts +1 -0
- package/dist/esm/test/use-audio-frame.test.js +53 -0
- package/dist/esm/test/use-media-in-timeline.test.d.ts +1 -0
- package/dist/esm/test/use-media-in-timeline.test.js +49 -0
- package/dist/esm/test/use-media-tag-volume.test.d.ts +1 -0
- package/dist/esm/test/use-media-tag-volume.test.js +44 -0
- package/dist/esm/test/use-sync-volume-with-media-tag.test.d.ts +1 -0
- package/dist/esm/test/use-sync-volume-with-media-tag.test.js +53 -0
- package/dist/esm/test/validate-start-from-props.test.d.ts +1 -0
- package/dist/esm/test/validate-start-from-props.test.js +37 -0
- package/dist/esm/test/video.test.d.ts +1 -0
- package/dist/esm/test/video.test.js +55 -0
- package/dist/esm/test/volume-prop.test.d.ts +1 -0
- package/dist/esm/test/volume-prop.test.js +93 -0
- package/dist/esm/test/wrap-sequence-context.d.ts +6 -0
- package/dist/esm/test/wrap-sequence-context.js +37 -0
- package/dist/esm/timeline-position-state.d.ts +29 -0
- package/dist/esm/timeline-position-state.js +35 -0
- package/dist/esm/truthy.d.ts +3 -0
- package/dist/esm/truthy.js +3 -0
- package/dist/esm/use-current-frame.d.ts +6 -0
- package/dist/esm/use-current-frame.js +24 -0
- package/dist/esm/use-lazy-component.d.ts +7 -0
- package/dist/esm/use-lazy-component.js +22 -0
- package/dist/esm/use-media-in-timeline.d.ts +10 -0
- package/dist/esm/use-media-in-timeline.js +125 -0
- package/dist/esm/use-media-playback.d.ts +10 -0
- package/dist/esm/use-media-playback.js +73 -0
- package/dist/esm/use-media-tag-volume.d.ts +2 -0
- package/dist/esm/use-media-tag-volume.js +27 -0
- package/dist/esm/use-sync-volume-with-media-tag.d.ts +10 -0
- package/dist/esm/use-sync-volume-with-media-tag.js +17 -0
- package/dist/esm/use-unsafe-video-config.d.ts +2 -0
- package/dist/esm/use-unsafe-video-config.js +23 -0
- package/dist/esm/use-video-config.d.ts +7 -0
- package/dist/esm/use-video-config.js +25 -0
- package/dist/esm/use-video.d.ts +13 -0
- package/dist/esm/use-video.js +24 -0
- package/dist/esm/validate-frame.d.ts +1 -0
- package/dist/esm/validate-frame.js +20 -0
- package/dist/esm/validate-media-props.d.ts +4 -0
- package/dist/esm/validate-media-props.js +20 -0
- package/dist/esm/validate-start-from-props.d.ts +1 -0
- package/dist/esm/validate-start-from-props.js +27 -0
- package/dist/esm/validation/validate-composition-id.d.ts +3 -0
- package/dist/esm/validation/validate-composition-id.js +8 -0
- package/dist/esm/validation/validate-dimensions.d.ts +1 -0
- package/dist/esm/validation/validate-dimensions.js +17 -0
- package/dist/esm/validation/validate-duration-in-frames.d.ts +1 -0
- package/dist/esm/validation/validate-duration-in-frames.js +11 -0
- package/dist/esm/validation/validate-folder-name.d.ts +3 -0
- package/dist/esm/validation/validate-folder-name.js +14 -0
- package/dist/esm/validation/validate-fps.d.ts +1 -0
- package/dist/esm/validation/validate-fps.js +17 -0
- package/dist/esm/validation/validate-offthreadvideo-image-format.d.ts +1 -0
- package/dist/esm/validation/validate-offthreadvideo-image-format.js +11 -0
- package/dist/esm/validation/validation-spring-duration.d.ts +1 -0
- package/dist/esm/validation/validation-spring-duration.js +17 -0
- package/dist/esm/version.d.ts +1 -0
- package/dist/esm/version.js +2 -0
- package/dist/esm/video/OffthreadVideo.d.ts +3 -0
- package/dist/esm/video/OffthreadVideo.js +29 -0
- package/dist/esm/video/OffthreadVideoForRendering.d.ts +3 -0
- package/dist/esm/video/OffthreadVideoForRendering.js +100 -0
- package/dist/esm/video/Video.d.ts +8 -0
- package/dist/esm/video/Video.js +47 -0
- package/dist/esm/video/VideoForDevelopment.d.ts +11 -0
- package/dist/esm/video/VideoForDevelopment.js +110 -0
- package/dist/esm/video/VideoForRendering.d.ts +10 -0
- package/dist/esm/video/VideoForRendering.js +200 -0
- package/dist/esm/video/duration-state.d.ts +17 -0
- package/dist/esm/video/duration-state.js +29 -0
- package/dist/esm/video/get-current-time.d.ts +13 -0
- package/dist/esm/video/get-current-time.js +26 -0
- package/dist/esm/video/index.d.ts +3 -0
- package/dist/esm/video/index.js +2 -0
- package/dist/esm/video/props.d.ts +25 -0
- package/dist/esm/video/props.js +1 -0
- package/dist/esm/video/video-fragment.d.ts +12 -0
- package/dist/esm/video/video-fragment.js +55 -0
- package/dist/esm/video-config.d.ts +8 -0
- package/dist/esm/video-config.js +1 -0
- package/dist/esm/volume-position-state.d.ts +19 -0
- package/dist/esm/volume-position-state.js +27 -0
- package/dist/esm/volume-prop.d.ts +7 -0
- package/dist/esm/volume-prop.js +20 -0
- package/dist/esm/warn-about-non-seekable-media.d.ts +1 -0
- package/dist/esm/warn-about-non-seekable-media.js +30 -0
- package/dist/esm/wrap-remotion-context.d.ts +18 -0
- package/dist/esm/wrap-remotion-context.js +45 -0
- package/dist/internals.d.ts +0 -1
- package/dist/series/index.js +5 -2
- package/dist/tsconfig-cjs.tsbuildinfo +1 -0
- package/dist/use-video.d.ts +0 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/video/Video.d.ts +1 -1
- package/dist/video/VideoForDevelopment.d.ts +1 -1
- package/dist/video/VideoForRendering.d.ts +1 -1
- package/package.json +23 -12
- package/tsconfig-cjs.json +11 -0
- package/tsconfig.json +3 -3
- package/dist/LayerMaster.d.ts +0 -8
- package/dist/LayerMaster.js +0 -39
- package/dist/Satori.d.ts +0 -5
- package/dist/Satori.js +0 -92
- package/dist/get-compositions-from-markup.d.ts +0 -3
- package/dist/get-compositions-from-markup.js +0 -19
- package/dist/layers.d.ts +0 -24
- package/dist/layers.js +0 -149
- package/dist/video/NativeVideo.d.ts +0 -5
- package/dist/video/NativeVideo.js +0 -33
- package/dist/video/NativeVideoForRendering.d.ts +0 -8
- package/dist/video/NativeVideoForRendering.js +0 -14
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.measureSpring = void 0;
|
|
4
|
+
const validate_fps_js_1 = require("../validation/validate-fps.js");
|
|
5
|
+
const spring_utils_js_1 = require("./spring-utils.js");
|
|
6
|
+
function measureSpring({ fps, config = {}, threshold = 0.005, from = 0, to = 1, }) {
|
|
7
|
+
if (typeof threshold !== 'number') {
|
|
8
|
+
throw new TypeError(`threshold must be a number, got ${threshold} of type ${typeof threshold}`);
|
|
9
|
+
}
|
|
10
|
+
if (threshold === 0) {
|
|
11
|
+
return Infinity;
|
|
12
|
+
}
|
|
13
|
+
if (threshold === 1) {
|
|
14
|
+
return 0;
|
|
15
|
+
}
|
|
16
|
+
if (isNaN(threshold)) {
|
|
17
|
+
throw new TypeError('Threshold is NaN');
|
|
18
|
+
}
|
|
19
|
+
if (!Number.isFinite(threshold)) {
|
|
20
|
+
throw new TypeError('Threshold is not finite');
|
|
21
|
+
}
|
|
22
|
+
if (threshold < 0) {
|
|
23
|
+
throw new TypeError('Threshold is below 0');
|
|
24
|
+
}
|
|
25
|
+
(0, validate_fps_js_1.validateFps)(fps, 'to the measureSpring() function', false);
|
|
26
|
+
const range = Math.abs(from - to);
|
|
27
|
+
let frame = 0;
|
|
28
|
+
let finishedFrame = 0;
|
|
29
|
+
const calc = () => {
|
|
30
|
+
return (0, spring_utils_js_1.springCalculation)({
|
|
31
|
+
fps,
|
|
32
|
+
frame,
|
|
33
|
+
config,
|
|
34
|
+
from,
|
|
35
|
+
to,
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
let animation = calc();
|
|
39
|
+
const calcDifference = () => {
|
|
40
|
+
return (Math.abs(animation.current - animation.toValue) /
|
|
41
|
+
(range === 0 ? 1 : range));
|
|
42
|
+
};
|
|
43
|
+
let difference = calcDifference();
|
|
44
|
+
while (difference >= threshold) {
|
|
45
|
+
frame++;
|
|
46
|
+
animation = calc();
|
|
47
|
+
difference = calcDifference();
|
|
48
|
+
}
|
|
49
|
+
// Since spring is bouncy, just because it's under the threshold we
|
|
50
|
+
// cannot be sure it's done. We need to animate further until it stays in the
|
|
51
|
+
// threshold for, say, 20 frames.
|
|
52
|
+
finishedFrame = frame;
|
|
53
|
+
for (let i = 0; i < 20; i++) {
|
|
54
|
+
frame++;
|
|
55
|
+
animation = calc();
|
|
56
|
+
difference = calcDifference();
|
|
57
|
+
if (difference >= threshold) {
|
|
58
|
+
i = 0;
|
|
59
|
+
finishedFrame = frame + 1;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return finishedFrame;
|
|
63
|
+
}
|
|
64
|
+
exports.measureSpring = measureSpring;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
declare type AnimationNode = {
|
|
2
|
+
lastTimestamp: number;
|
|
3
|
+
toValue: number;
|
|
4
|
+
current: number;
|
|
5
|
+
velocity: number;
|
|
6
|
+
prevPosition?: number;
|
|
7
|
+
};
|
|
8
|
+
export declare type SpringConfig = {
|
|
9
|
+
damping: number;
|
|
10
|
+
mass: number;
|
|
11
|
+
stiffness: number;
|
|
12
|
+
overshootClamping: boolean;
|
|
13
|
+
};
|
|
14
|
+
export declare function springCalculation({ from, to, frame, fps, config, }: {
|
|
15
|
+
from?: number;
|
|
16
|
+
to?: number;
|
|
17
|
+
frame: number;
|
|
18
|
+
fps: number;
|
|
19
|
+
config?: Partial<SpringConfig>;
|
|
20
|
+
}): AnimationNode;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.springCalculation = void 0;
|
|
4
|
+
const defaultSpringConfig = {
|
|
5
|
+
damping: 10,
|
|
6
|
+
mass: 1,
|
|
7
|
+
stiffness: 100,
|
|
8
|
+
overshootClamping: false,
|
|
9
|
+
};
|
|
10
|
+
const advanceCache = {};
|
|
11
|
+
function advance({ animation, now, config, }) {
|
|
12
|
+
const { toValue, lastTimestamp, current, velocity } = animation;
|
|
13
|
+
const deltaTime = Math.min(now - lastTimestamp, 64);
|
|
14
|
+
const c = config.damping;
|
|
15
|
+
const m = config.mass;
|
|
16
|
+
const k = config.stiffness;
|
|
17
|
+
const cacheKey = [
|
|
18
|
+
toValue,
|
|
19
|
+
lastTimestamp,
|
|
20
|
+
current,
|
|
21
|
+
velocity,
|
|
22
|
+
c,
|
|
23
|
+
m,
|
|
24
|
+
k,
|
|
25
|
+
now,
|
|
26
|
+
].join('-');
|
|
27
|
+
if (advanceCache[cacheKey]) {
|
|
28
|
+
return advanceCache[cacheKey];
|
|
29
|
+
}
|
|
30
|
+
const v0 = -velocity;
|
|
31
|
+
const x0 = toValue - current;
|
|
32
|
+
const zeta = c / (2 * Math.sqrt(k * m)); // damping ratio
|
|
33
|
+
const omega0 = Math.sqrt(k / m); // undamped angular frequency of the oscillator (rad/ms)
|
|
34
|
+
const omega1 = omega0 * Math.sqrt(1 - zeta ** 2); // exponential decay
|
|
35
|
+
const t = deltaTime / 1000;
|
|
36
|
+
const sin1 = Math.sin(omega1 * t);
|
|
37
|
+
const cos1 = Math.cos(omega1 * t);
|
|
38
|
+
// under damped
|
|
39
|
+
const underDampedEnvelope = Math.exp(-zeta * omega0 * t);
|
|
40
|
+
const underDampedFrag1 = underDampedEnvelope *
|
|
41
|
+
(sin1 * ((v0 + zeta * omega0 * x0) / omega1) + x0 * cos1);
|
|
42
|
+
const underDampedPosition = toValue - underDampedFrag1;
|
|
43
|
+
// This looks crazy -- it's actually just the derivative of the oscillation function
|
|
44
|
+
const underDampedVelocity = zeta * omega0 * underDampedFrag1 -
|
|
45
|
+
underDampedEnvelope *
|
|
46
|
+
(cos1 * (v0 + zeta * omega0 * x0) - omega1 * x0 * sin1);
|
|
47
|
+
// critically damped
|
|
48
|
+
const criticallyDampedEnvelope = Math.exp(-omega0 * t);
|
|
49
|
+
const criticallyDampedPosition = toValue - criticallyDampedEnvelope * (x0 + (v0 + omega0 * x0) * t);
|
|
50
|
+
const criticallyDampedVelocity = criticallyDampedEnvelope *
|
|
51
|
+
(v0 * (t * omega0 - 1) + t * x0 * omega0 * omega0);
|
|
52
|
+
const animationNode = {
|
|
53
|
+
toValue,
|
|
54
|
+
prevPosition: current,
|
|
55
|
+
lastTimestamp: now,
|
|
56
|
+
current: zeta < 1 ? underDampedPosition : criticallyDampedPosition,
|
|
57
|
+
velocity: zeta < 1 ? underDampedVelocity : criticallyDampedVelocity,
|
|
58
|
+
};
|
|
59
|
+
advanceCache[cacheKey] = animationNode;
|
|
60
|
+
return animationNode;
|
|
61
|
+
}
|
|
62
|
+
const calculationCache = {};
|
|
63
|
+
function springCalculation({ from = 0, to = 1, frame, fps, config = {}, }) {
|
|
64
|
+
const cacheKey = [
|
|
65
|
+
from,
|
|
66
|
+
to,
|
|
67
|
+
frame,
|
|
68
|
+
fps,
|
|
69
|
+
config.damping,
|
|
70
|
+
config.mass,
|
|
71
|
+
config.overshootClamping,
|
|
72
|
+
config.stiffness,
|
|
73
|
+
].join('-');
|
|
74
|
+
if (calculationCache[cacheKey]) {
|
|
75
|
+
return calculationCache[cacheKey];
|
|
76
|
+
}
|
|
77
|
+
let animation = {
|
|
78
|
+
lastTimestamp: 0,
|
|
79
|
+
current: from,
|
|
80
|
+
toValue: to,
|
|
81
|
+
velocity: 0,
|
|
82
|
+
prevPosition: 0,
|
|
83
|
+
};
|
|
84
|
+
const frameClamped = Math.max(0, frame);
|
|
85
|
+
const unevenRest = frameClamped % 1;
|
|
86
|
+
for (let f = 0; f <= Math.floor(frameClamped); f++) {
|
|
87
|
+
if (f === Math.floor(frameClamped)) {
|
|
88
|
+
f += unevenRest;
|
|
89
|
+
}
|
|
90
|
+
const time = (f / fps) * 1000;
|
|
91
|
+
animation = advance({
|
|
92
|
+
animation,
|
|
93
|
+
now: time,
|
|
94
|
+
config: {
|
|
95
|
+
...defaultSpringConfig,
|
|
96
|
+
...config,
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
calculationCache[cacheKey] = animation;
|
|
101
|
+
return animation;
|
|
102
|
+
}
|
|
103
|
+
exports.springCalculation = springCalculation;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.staticFile = void 0;
|
|
4
|
+
const trimLeadingSlash = (path) => {
|
|
5
|
+
if (path.startsWith('/')) {
|
|
6
|
+
return trimLeadingSlash(path.substr(1));
|
|
7
|
+
}
|
|
8
|
+
return path;
|
|
9
|
+
};
|
|
10
|
+
const inner = (path) => {
|
|
11
|
+
if (typeof window !== 'undefined' && window.remotion_staticBase) {
|
|
12
|
+
return `${window.remotion_staticBase}/${trimLeadingSlash(path)}`;
|
|
13
|
+
}
|
|
14
|
+
return `/${trimLeadingSlash(path)}`;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Reference a file from the public/ folder.
|
|
18
|
+
* If the file does not appear in the autocomplete, type the path manually.
|
|
19
|
+
*/
|
|
20
|
+
const staticFile = (path) => {
|
|
21
|
+
if (path.startsWith('http://') || path.startsWith('https://')) {
|
|
22
|
+
throw new TypeError(`staticFile() does not support remote URLs - got "${path}". Instead, pass the URL without wrapping it in staticFile(). See: https://remotion.dev/docs/staticfile-remote-urls`);
|
|
23
|
+
}
|
|
24
|
+
if (path.startsWith('..') || path.startsWith('./')) {
|
|
25
|
+
throw new TypeError(`staticFile() does not support relative paths - got "${path}". Instead, pass the name of a file that is inside the public/ folder. See: https://remotion.dev/docs/staticfile-relative-paths`);
|
|
26
|
+
}
|
|
27
|
+
const preparsed = inner(path);
|
|
28
|
+
if (!preparsed.startsWith('/')) {
|
|
29
|
+
return `/${preparsed}`;
|
|
30
|
+
}
|
|
31
|
+
return preparsed;
|
|
32
|
+
};
|
|
33
|
+
exports.staticFile = staticFile;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
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 jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
/**
|
|
8
|
+
* @vitest-environment jsdom
|
|
9
|
+
*/
|
|
10
|
+
const react_1 = require("@testing-library/react");
|
|
11
|
+
const react_2 = __importDefault(require("react"));
|
|
12
|
+
const vitest_1 = require("vitest");
|
|
13
|
+
const Img_js_1 = require("../Img.js");
|
|
14
|
+
const ref = react_2.default.createRef();
|
|
15
|
+
const testImgUrl = 'https://source.unsplash.com/random/50x50';
|
|
16
|
+
(0, vitest_1.beforeEach)(() => {
|
|
17
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(Img_js_1.Img, { ref: ref, src: testImgUrl }));
|
|
18
|
+
});
|
|
19
|
+
(0, vitest_1.test)('Img component renders img tag', () => {
|
|
20
|
+
var _a;
|
|
21
|
+
(0, vitest_1.expect)((_a = ref.current) === null || _a === void 0 ? void 0 : _a.tagName).toBe('IMG');
|
|
22
|
+
});
|
|
23
|
+
(0, vitest_1.test)('Src attribute is forwarded to img tag', () => {
|
|
24
|
+
(0, vitest_1.expect)(ref.current).toHaveProperty('src', testImgUrl);
|
|
25
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* @vitest-environment jsdom
|
|
5
|
+
*/
|
|
6
|
+
const vitest_1 = require("vitest");
|
|
7
|
+
const absolute_src_js_1 = require("../absolute-src.js");
|
|
8
|
+
(0, vitest_1.describe)('Absolute src should behave as expected', () => {
|
|
9
|
+
(0, vitest_1.test)('Get localhost:8080', () => {
|
|
10
|
+
(0, vitest_1.expect)((0, absolute_src_js_1.getAbsoluteSrc)('http://localhost:8080')).toBe('http://localhost:8080/');
|
|
11
|
+
});
|
|
12
|
+
(0, vitest_1.test)('Get localhost/hi', () => {
|
|
13
|
+
(0, vitest_1.expect)((0, absolute_src_js_1.getAbsoluteSrc)('/hi')).toBe('http://localhost:3000/hi');
|
|
14
|
+
});
|
|
15
|
+
(0, vitest_1.test)('Get data:base64', () => {
|
|
16
|
+
(0, vitest_1.expect)((0, absolute_src_js_1.getAbsoluteSrc)('data:base64,image/png,abc')).toBe('data:base64,image/png,abc');
|
|
17
|
+
});
|
|
18
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,88 @@
|
|
|
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 jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
/**
|
|
8
|
+
* @vitest-environment jsdom
|
|
9
|
+
*/
|
|
10
|
+
const react_1 = require("@testing-library/react");
|
|
11
|
+
const react_2 = __importDefault(require("react"));
|
|
12
|
+
const vitest_1 = require("vitest");
|
|
13
|
+
const AudioForRendering_js_1 = require("../audio/AudioForRendering.js");
|
|
14
|
+
const CanUseRemotionHooks_js_1 = require("../CanUseRemotionHooks.js");
|
|
15
|
+
const internals_js_1 = require("../internals.js");
|
|
16
|
+
const expect_to_throw_js_1 = require("./expect-to-throw.js");
|
|
17
|
+
let mockContext;
|
|
18
|
+
(0, vitest_1.describe)('Register and unregister asset', () => {
|
|
19
|
+
function createMockContext() {
|
|
20
|
+
const registerAsset = vitest_1.vitest.fn();
|
|
21
|
+
const unregisterAsset = vitest_1.vitest.fn();
|
|
22
|
+
window.remotion_audioEnabled = true;
|
|
23
|
+
const MockProvider = ({ children }) => {
|
|
24
|
+
return ((0, jsx_runtime_1.jsx)(CanUseRemotionHooks_js_1.CanUseRemotionHooksProvider, { children: (0, jsx_runtime_1.jsx)(internals_js_1.Internals.CompositionManager.Provider, { value:
|
|
25
|
+
// eslint-disable-next-line react/jsx-no-constructed-context-values
|
|
26
|
+
{
|
|
27
|
+
registerAsset,
|
|
28
|
+
unregisterAsset,
|
|
29
|
+
}, children: children }) }));
|
|
30
|
+
};
|
|
31
|
+
return {
|
|
32
|
+
MockProvider,
|
|
33
|
+
registerAsset,
|
|
34
|
+
unregisterAsset,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
(0, vitest_1.beforeEach)(() => {
|
|
38
|
+
mockContext = createMockContext();
|
|
39
|
+
});
|
|
40
|
+
(0, vitest_1.test)('register and unregister asset', () => {
|
|
41
|
+
const props = {
|
|
42
|
+
src: 'test',
|
|
43
|
+
muted: false,
|
|
44
|
+
volume: 50,
|
|
45
|
+
onDuration: vitest_1.vitest.fn(),
|
|
46
|
+
};
|
|
47
|
+
const { unmount } = (0, react_1.render)((0, jsx_runtime_1.jsx)(CanUseRemotionHooks_js_1.CanUseRemotionHooksProvider, { children: (0, jsx_runtime_1.jsx)(mockContext.MockProvider, { children: (0, jsx_runtime_1.jsx)(AudioForRendering_js_1.AudioForRendering, { ...props }) }) }));
|
|
48
|
+
(0, vitest_1.expect)(mockContext.registerAsset).toHaveBeenCalled();
|
|
49
|
+
unmount();
|
|
50
|
+
(0, vitest_1.expect)(mockContext.unregisterAsset).toHaveBeenCalled();
|
|
51
|
+
});
|
|
52
|
+
(0, vitest_1.test)('no src passed', () => {
|
|
53
|
+
const props = {
|
|
54
|
+
src: undefined,
|
|
55
|
+
muted: false,
|
|
56
|
+
volume: 50,
|
|
57
|
+
onDuration: vitest_1.vitest.fn(),
|
|
58
|
+
};
|
|
59
|
+
(0, expect_to_throw_js_1.expectToThrow)(() => {
|
|
60
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(CanUseRemotionHooks_js_1.CanUseRemotionHooksProvider, { children: (0, jsx_runtime_1.jsx)(mockContext.MockProvider, { children: (0, jsx_runtime_1.jsx)(AudioForRendering_js_1.AudioForRendering, { ...props }) }) }));
|
|
61
|
+
}, /No src passed/);
|
|
62
|
+
(0, vitest_1.expect)(mockContext.registerAsset).not.toHaveBeenCalled();
|
|
63
|
+
(0, vitest_1.expect)(mockContext.unregisterAsset).not.toHaveBeenCalled();
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
let mockUseEffect;
|
|
67
|
+
(0, vitest_1.describe)('useEffect tests', () => {
|
|
68
|
+
const useEffectSpy = vitest_1.vitest.spyOn(react_2.default, 'useEffect');
|
|
69
|
+
mockUseEffect = vitest_1.vitest.fn();
|
|
70
|
+
(0, vitest_1.beforeAll)(() => {
|
|
71
|
+
useEffectSpy.mockImplementation(() => {
|
|
72
|
+
mockUseEffect();
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
(0, vitest_1.afterAll)(() => {
|
|
76
|
+
useEffectSpy.mockRestore();
|
|
77
|
+
});
|
|
78
|
+
vitest_1.test.skip('has registered', () => {
|
|
79
|
+
const props = {
|
|
80
|
+
src: 'test',
|
|
81
|
+
muted: false,
|
|
82
|
+
volume: 50,
|
|
83
|
+
onDuration: vitest_1.vitest.fn(),
|
|
84
|
+
};
|
|
85
|
+
(0, react_1.render)((0, jsx_runtime_1.jsxs)(CanUseRemotionHooks_js_1.CanUseRemotionHooksProvider, { children: [(0, jsx_runtime_1.jsx)(AudioForRendering_js_1.AudioForRendering, { ...props }), ' '] }));
|
|
86
|
+
(0, vitest_1.expect)(mockUseEffect).toHaveBeenCalled();
|
|
87
|
+
});
|
|
88
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
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
|
+
/**
|
|
28
|
+
* @vitest-environment jsdom
|
|
29
|
+
*/
|
|
30
|
+
const react_1 = require("@testing-library/react");
|
|
31
|
+
const react_2 = __importStar(require("react"));
|
|
32
|
+
const vitest_1 = require("vitest");
|
|
33
|
+
const audio_1 = require("../audio");
|
|
34
|
+
const CanUseRemotionHooks_js_1 = require("../CanUseRemotionHooks.js");
|
|
35
|
+
const internals_js_1 = require("../internals.js");
|
|
36
|
+
const Wrapper = ({ children }) => {
|
|
37
|
+
const compositions = (0, react_2.useContext)(internals_js_1.Internals.CompositionManager);
|
|
38
|
+
return ((0, jsx_runtime_1.jsx)(CanUseRemotionHooks_js_1.CanUseRemotionHooksProvider, { children: (0, jsx_runtime_1.jsx)(internals_js_1.Internals.RemotionRoot, { numberOfAudioTags: 0, children: (0, jsx_runtime_1.jsx)(internals_js_1.Internals.CompositionManager.Provider
|
|
39
|
+
// eslint-disable-next-line react/jsx-no-constructed-context-values
|
|
40
|
+
, {
|
|
41
|
+
// eslint-disable-next-line react/jsx-no-constructed-context-values
|
|
42
|
+
value: {
|
|
43
|
+
...compositions,
|
|
44
|
+
compositions: [
|
|
45
|
+
{
|
|
46
|
+
height: 1080,
|
|
47
|
+
width: 1080,
|
|
48
|
+
fps: 30,
|
|
49
|
+
durationInFrames: 30,
|
|
50
|
+
id: 'markup',
|
|
51
|
+
nonce: 0,
|
|
52
|
+
component: react_2.default.lazy(() => Promise.resolve({
|
|
53
|
+
default: (() => null),
|
|
54
|
+
})),
|
|
55
|
+
defaultProps: undefined,
|
|
56
|
+
folderName: null,
|
|
57
|
+
parentFolderName: null,
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
currentComposition: 'markup',
|
|
61
|
+
}, children: children }) }) }));
|
|
62
|
+
};
|
|
63
|
+
(0, vitest_1.describe)('Render correctly with props', () => {
|
|
64
|
+
(0, vitest_1.test)('It should render Audio without startFrom / endAt props', () => {
|
|
65
|
+
(0, vitest_1.expect)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(Wrapper, { children: (0, jsx_runtime_1.jsx)(audio_1.Audio, { src: "test", volume: 1 }) }))).not.toThrow();
|
|
66
|
+
});
|
|
67
|
+
(0, vitest_1.test)('It should render Audio with startAt props', () => {
|
|
68
|
+
(0, vitest_1.expect)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(Wrapper, { children: (0, jsx_runtime_1.jsx)(audio_1.Audio, { src: "test", volume: 1, startFrom: 10 }) }))).not.toThrow();
|
|
69
|
+
});
|
|
70
|
+
(0, vitest_1.test)('It should render Audio with endAt props', () => {
|
|
71
|
+
(0, vitest_1.expect)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(Wrapper, { children: (0, jsx_runtime_1.jsx)(audio_1.Audio, { src: "test", volume: 1, endAt: 10 }) }))).not.toThrow();
|
|
72
|
+
});
|
|
73
|
+
(0, vitest_1.test)('It should render Audio with startFrom and endAt props', () => {
|
|
74
|
+
(0, vitest_1.expect)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(Wrapper, { children: (0, jsx_runtime_1.jsx)(audio_1.Audio, { src: "test", volume: 1, startFrom: 10, endAt: 20 }) }))).not.toThrow();
|
|
75
|
+
});
|
|
76
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const bezier_js_1 = require("../bezier.js");
|
|
5
|
+
const identity = (x) => {
|
|
6
|
+
return x;
|
|
7
|
+
};
|
|
8
|
+
const assertClose = (a, b, precision = 3) => {
|
|
9
|
+
(0, vitest_1.expect)(a).toBeCloseTo(b, precision);
|
|
10
|
+
};
|
|
11
|
+
const allEquals = (be1, be2, samples) => {
|
|
12
|
+
for (let i = 0; i <= samples; ++i) {
|
|
13
|
+
const x = i / samples;
|
|
14
|
+
assertClose(be1(x), be2(x));
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
function repeat(n) {
|
|
18
|
+
return function (f) {
|
|
19
|
+
for (let i = 0; i < n; ++i) {
|
|
20
|
+
f();
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
(0, vitest_1.test)('bezier - should create an object', () => {
|
|
25
|
+
(0, vitest_1.expect)(typeof (0, bezier_js_1.bezier)(0, 0, 1, 1) === 'function').toBe(true);
|
|
26
|
+
});
|
|
27
|
+
(0, vitest_1.test)('bezier - fail with wrong params', () => {
|
|
28
|
+
const valuesToTest = [
|
|
29
|
+
[0.5, 0.5, -5, 0.5],
|
|
30
|
+
[0.5, 0.5, 5, 0.5],
|
|
31
|
+
[-2, 0.5, 0.5, 0.5],
|
|
32
|
+
[2, 0.5, 0.5, 0.5],
|
|
33
|
+
];
|
|
34
|
+
valuesToTest.forEach((entry) => {
|
|
35
|
+
(0, vitest_1.expect)(() => (0, bezier_js_1.bezier)(entry[0], entry[1], entry[2], entry[3])).toThrow();
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
(0, vitest_1.test)('bezier - linear curves', () => {
|
|
39
|
+
allEquals((0, bezier_js_1.bezier)(0, 0, 1, 1), (0, bezier_js_1.bezier)(1, 1, 0, 0), 100);
|
|
40
|
+
allEquals((0, bezier_js_1.bezier)(0, 0, 1, 1), identity, 100);
|
|
41
|
+
});
|
|
42
|
+
(0, vitest_1.test)('bezier - right value at extremes', () => {
|
|
43
|
+
repeat(10)(() => {
|
|
44
|
+
const a = Math.random();
|
|
45
|
+
const b = 2 * Math.random() - 0.5;
|
|
46
|
+
const c = Math.random();
|
|
47
|
+
const d = 2 * Math.random() - 0.5;
|
|
48
|
+
const easing = (0, bezier_js_1.bezier)(a, b, c, d);
|
|
49
|
+
(0, vitest_1.expect)(easing(0)).toBe(0);
|
|
50
|
+
(0, vitest_1.expect)(easing(1)).toBe(1);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
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 Composition_js_1 = require("../Composition.js");
|
|
10
|
+
const RemotionRoot_js_1 = require("../RemotionRoot.js");
|
|
11
|
+
const expect_to_throw_js_1 = require("./expect-to-throw.js");
|
|
12
|
+
const AnyComp = () => null;
|
|
13
|
+
(0, vitest_1.describe)('Render composition-rules should throw with invalid props', () => {
|
|
14
|
+
(0, vitest_1.test)('It should report invalid component id', () => {
|
|
15
|
+
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(Composition_js_1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: 30, height: 100, id: "invalid@id", width: 100 })), /can only contain/);
|
|
16
|
+
});
|
|
17
|
+
(0, vitest_1.test)('It should throw if no id is passed', () => {
|
|
18
|
+
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)(
|
|
19
|
+
// @ts-expect-error
|
|
20
|
+
(0, jsx_runtime_1.jsx)(Composition_js_1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: 30, height: 100, width: 100 })), /No id for composition passed./);
|
|
21
|
+
});
|
|
22
|
+
(0, vitest_1.test)('It should throw if multiple components have the same id', () => {
|
|
23
|
+
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsxs)(RemotionRoot_js_1.RemotionRoot, { numberOfAudioTags: 0, children: [(0, jsx_runtime_1.jsx)(Composition_js_1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: 30, height: 100, width: 100, id: "id" }), (0, jsx_runtime_1.jsx)(Composition_js_1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: 30, height: 100, width: 100, id: "id" })] })), /Multiple composition with id id/);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
(0, vitest_1.describe)('Render composition-rules should not with valid props', () => {
|
|
27
|
+
(0, vitest_1.test)('It should validate the component id', () => {
|
|
28
|
+
(0, vitest_1.expect)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(Composition_js_1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: 30, height: 100, id: "valid-id", width: 100 }))).not.toThrow();
|
|
29
|
+
});
|
|
30
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,99 @@
|
|
|
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 __1 = require("..");
|
|
10
|
+
const RemotionRoot_js_1 = require("../RemotionRoot.js");
|
|
11
|
+
const expect_to_throw_js_1 = require("./expect-to-throw.js");
|
|
12
|
+
const AnyComp = () => null;
|
|
13
|
+
(0, vitest_1.describe)('Composition-validation render should throw with invalid props', () => {
|
|
14
|
+
(0, vitest_1.test)('It should throw if multiple components have the same id', () => {
|
|
15
|
+
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(RemotionRoot_js_1.RemotionRoot, { numberOfAudioTags: 0, children: (0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: 30, height: 100, id: "id" }) })), /The "width/);
|
|
16
|
+
});
|
|
17
|
+
(0, vitest_1.describe)('Throw with invalid height props', () => {
|
|
18
|
+
(0, vitest_1.test)('It should throw if height is a negative number', () => {
|
|
19
|
+
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(RemotionRoot_js_1.RemotionRoot, { numberOfAudioTags: 0, children: (0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: 30, height: -100, width: 100, id: "id" }) })), /The "height" prop of the <Composition\/> component must be positive, but got -100./);
|
|
20
|
+
});
|
|
21
|
+
(0, vitest_1.test)('It should throw if height=0 is boundary off-point', () => {
|
|
22
|
+
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(RemotionRoot_js_1.RemotionRoot, { numberOfAudioTags: 0, children: (0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: 30, height: 0, width: 100, id: "id" }) })), /The "height" prop of the <Composition\/> component must be positive, but got 0./);
|
|
23
|
+
});
|
|
24
|
+
(0, vitest_1.test)('It should throw if height is not a number', () => {
|
|
25
|
+
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(RemotionRoot_js_1.RemotionRoot, { numberOfAudioTags: 0, children: (0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: 30,
|
|
26
|
+
// @ts-expect-error
|
|
27
|
+
height: '100', width: 100, id: "id" }) })), /The "height" prop of the <Composition\/> component must be a number, but you passed a value of type string/);
|
|
28
|
+
});
|
|
29
|
+
(0, vitest_1.test)('It should throw if height is not an integer', () => {
|
|
30
|
+
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(RemotionRoot_js_1.RemotionRoot, { numberOfAudioTags: 0, children: (0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: 30, height: 100.01, width: 100, id: "id" }) })), /The "height" prop of the <Composition\/> component must be an integer, but is 100.01/);
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
(0, vitest_1.describe)('Throw with invalid width props', () => {
|
|
34
|
+
(0, vitest_1.test)('It should throw if width is a negative number', () => {
|
|
35
|
+
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(RemotionRoot_js_1.RemotionRoot, { numberOfAudioTags: 0, children: (0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: 30, height: 100, width: -100, id: "id" }) })), /The "width" prop of the <Composition\/> component must be positive, but got -100./);
|
|
36
|
+
});
|
|
37
|
+
(0, vitest_1.test)('It should throw if width=0 is boundary off-point', () => {
|
|
38
|
+
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(RemotionRoot_js_1.RemotionRoot, { numberOfAudioTags: 0, children: (0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: 30, height: 100, width: 0, id: "id" }) })), /The "width" prop of the <Composition\/> component must be positive, but got 0./);
|
|
39
|
+
});
|
|
40
|
+
(0, vitest_1.test)('It should throw if width is not a number', () => {
|
|
41
|
+
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(RemotionRoot_js_1.RemotionRoot, { numberOfAudioTags: 0, children: (0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: 30, height: 100,
|
|
42
|
+
// @ts-expect-error
|
|
43
|
+
width: '100', id: "id" }) })), /The "width" prop of the <Composition\/> component must be a number, but you passed a value of type string/);
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
(0, vitest_1.describe)('Throw with invalid durationInFrames', () => {
|
|
47
|
+
(0, vitest_1.test)('It should throw if durationInFrames of a composition is a negative number', () => {
|
|
48
|
+
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(RemotionRoot_js_1.RemotionRoot, { numberOfAudioTags: 0, children: (0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: -100, fps: 30, height: 100, width: 100, id: "id" }) })), /The "durationInFrames" prop of the <Composition\/> component must be positive, but got -100./);
|
|
49
|
+
});
|
|
50
|
+
(0, vitest_1.test)('It should throw if durationInFrames=0 of a composition is boundary off-point', () => {
|
|
51
|
+
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(RemotionRoot_js_1.RemotionRoot, { numberOfAudioTags: 0, children: (0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 0, fps: 30, height: 100, width: 100, id: "id" }) })), /The "durationInFrames" prop of the <Composition\/> component must be positive, but got 0./);
|
|
52
|
+
});
|
|
53
|
+
(0, vitest_1.test)('It should throw if durationInFrames of a composition is not an integer', () => {
|
|
54
|
+
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(RemotionRoot_js_1.RemotionRoot, { numberOfAudioTags: 0, children: (0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 0.11, fps: 30, height: 100, width: 100, id: "id" }) })), /The "durationInFrames" prop of the <Composition\/> component must be an integer, but got 0.11./);
|
|
55
|
+
});
|
|
56
|
+
(0, vitest_1.test)('It should throw if durationInFrames of a composition is not a number', () => {
|
|
57
|
+
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(RemotionRoot_js_1.RemotionRoot, { numberOfAudioTags: 0, children: (0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }),
|
|
58
|
+
// @ts-expect-error
|
|
59
|
+
durationInFrames: '100', fps: 30, height: 100, width: 100, id: "id" }) })), /The "durationInFrames" prop of the <Composition\/> component must be a number, but you passed a value of type string/);
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
(0, vitest_1.describe)('Throw with invalid fps', () => {
|
|
63
|
+
(0, vitest_1.test)('It should throw if fps is of a composition is negative', () => {
|
|
64
|
+
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(RemotionRoot_js_1.RemotionRoot, { numberOfAudioTags: 0, children: (0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: -30, height: 100, width: 100, id: "id" }) })), /"fps" must be positive, but got -30./);
|
|
65
|
+
});
|
|
66
|
+
(0, vitest_1.test)('It should throw if fps=0 of a composition is boundary off-point', () => {
|
|
67
|
+
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(RemotionRoot_js_1.RemotionRoot, { numberOfAudioTags: 0, children: (0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: 0, height: 100, width: 100, id: "id" }) })), /"fps" must be positive, but got 0./);
|
|
68
|
+
});
|
|
69
|
+
(0, vitest_1.test)('It should throw if fps of a composition is not a number', () => {
|
|
70
|
+
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(RemotionRoot_js_1.RemotionRoot, { numberOfAudioTags: 0, children: (0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100,
|
|
71
|
+
// @ts-expect-error
|
|
72
|
+
fps: '30', height: 100, width: 100, id: "id" }) })), /"fps" must be a number, but you passed a value of type string/);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
(0, vitest_1.describe)('Composition-validation render should NOT throw with valid props', () => {
|
|
77
|
+
(0, vitest_1.describe)('Not throw with valid height props', () => {
|
|
78
|
+
(0, vitest_1.test)('It should not throw if height is a positive number', () => {
|
|
79
|
+
(0, vitest_1.expect)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: 30, height: 100, width: 100, id: "id" }))).not.toThrow();
|
|
80
|
+
});
|
|
81
|
+
(0, vitest_1.test)('It should not throw if height=1 is boundary on-point', () => {
|
|
82
|
+
(0, vitest_1.expect)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: 30, height: 1, width: 100, id: "id" }))).not.toThrow();
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
(0, vitest_1.describe)('Not throw with valid width props', () => {
|
|
86
|
+
(0, vitest_1.test)('It should not throw if width is a positive number', () => {
|
|
87
|
+
(0, vitest_1.expect)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: 30, height: 100, width: 100, id: "id" }))).not.toThrow();
|
|
88
|
+
});
|
|
89
|
+
(0, vitest_1.test)('It should not throw if width=1 is boundary on-point', () => {
|
|
90
|
+
(0, vitest_1.expect)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: 30, height: 100, width: 1, id: "id" }))).not.toThrow();
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
(0, vitest_1.test)('It should not throw if durationInFrames=1 of a composition is boundary on-point', () => {
|
|
94
|
+
(0, vitest_1.expect)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 1, fps: 30, height: 100, width: 100, id: "id" }))).not.toThrow();
|
|
95
|
+
});
|
|
96
|
+
(0, vitest_1.test)('It should not throw if fps=1 of a composition is boundary on-point', () => {
|
|
97
|
+
(0, vitest_1.expect)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(__1.Composition, { lazyComponent: () => Promise.resolve({ default: AnyComp }), durationInFrames: 100, fps: 1, height: 100, width: 100, id: "id" }))).not.toThrow();
|
|
98
|
+
});
|
|
99
|
+
});
|