@remotion/promo-pages 4.0.304 → 4.0.306
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/.turbo/turbo-make.log +2 -2
- package/dist/Homepage.js +74 -68
- package/dist/cn.d.ts +2 -0
- package/dist/cn.js +5 -0
- package/dist/components/Homepage.d.ts +6 -0
- package/dist/components/Homepage.js +20 -0
- package/dist/components/homepage/BackgroundAnimation.d.ts +2 -0
- package/dist/components/homepage/BackgroundAnimation.js +66 -0
- package/dist/components/homepage/ChooseTemplate.d.ts +2 -0
- package/dist/components/homepage/ChooseTemplate.js +27 -0
- package/dist/components/homepage/CommunityStats.d.ts +3 -0
- package/dist/components/homepage/CommunityStats.js +6 -0
- package/dist/components/homepage/CommunityStatsItems.d.ts +7 -0
- package/dist/components/homepage/CommunityStatsItems.js +58 -0
- package/dist/components/homepage/Counter.d.ts +8 -0
- package/dist/components/homepage/Counter.js +47 -0
- package/dist/components/homepage/Demo/Card.d.ts +15 -0
- package/dist/components/homepage/Demo/Card.js +174 -0
- package/dist/components/homepage/Demo/Cards.d.ts +15 -0
- package/dist/components/homepage/Demo/Cards.js +57 -0
- package/dist/components/homepage/Demo/Comp.d.ts +38 -0
- package/dist/components/homepage/Demo/Comp.js +71 -0
- package/dist/components/homepage/Demo/CurrentCountry.d.ts +9 -0
- package/dist/components/homepage/Demo/CurrentCountry.js +48 -0
- package/dist/components/homepage/Demo/DemoError.d.ts +2 -0
- package/dist/components/homepage/Demo/DemoError.js +10 -0
- package/dist/components/homepage/Demo/DemoErrorIcon.d.ts +2 -0
- package/dist/components/homepage/Demo/DemoErrorIcon.js +16 -0
- package/dist/components/homepage/Demo/DemoRender.d.ts +102 -0
- package/dist/components/homepage/Demo/DemoRender.js +95 -0
- package/dist/components/homepage/Demo/DigitWheel.d.ts +9 -0
- package/dist/components/homepage/Demo/DigitWheel.js +94 -0
- package/dist/components/homepage/Demo/DisplayedEmoji.d.ts +5 -0
- package/dist/components/homepage/Demo/DisplayedEmoji.js +49 -0
- package/dist/components/homepage/Demo/DoneCheckmark.d.ts +2 -0
- package/dist/components/homepage/Demo/DoneCheckmark.js +20 -0
- package/dist/components/homepage/Demo/DownloadNudge.d.ts +2 -0
- package/dist/components/homepage/Demo/DownloadNudge.js +27 -0
- package/dist/components/homepage/Demo/DragAndDropNudge.d.ts +3 -0
- package/dist/components/homepage/Demo/DragAndDropNudge.js +26 -0
- package/dist/components/homepage/Demo/EmojiCard.d.ts +10 -0
- package/dist/components/homepage/Demo/EmojiCard.js +119 -0
- package/dist/components/homepage/Demo/Minus.d.ts +5 -0
- package/dist/components/homepage/Demo/Minus.js +11 -0
- package/dist/components/homepage/Demo/PlayPauseButton.d.ts +5 -0
- package/dist/components/homepage/Demo/PlayPauseButton.js +47 -0
- package/dist/components/homepage/Demo/PlayerControls.d.ts +8 -0
- package/dist/components/homepage/Demo/PlayerControls.js +15 -0
- package/dist/components/homepage/Demo/PlayerSeekBar.d.ts +11 -0
- package/dist/components/homepage/Demo/PlayerSeekBar.js +216 -0
- package/dist/components/homepage/Demo/PlayerVolume.d.ts +5 -0
- package/dist/components/homepage/Demo/PlayerVolume.js +53 -0
- package/dist/components/homepage/Demo/Progress.d.ts +4 -0
- package/dist/components/homepage/Demo/Progress.js +14 -0
- package/dist/components/homepage/Demo/Spinner.d.ts +5 -0
- package/dist/components/homepage/Demo/Spinner.js +37 -0
- package/dist/components/homepage/Demo/Switcher.d.ts +6 -0
- package/dist/components/homepage/Demo/Switcher.js +25 -0
- package/dist/components/homepage/Demo/Temperature.d.ts +6 -0
- package/dist/components/homepage/Demo/Temperature.js +21 -0
- package/dist/components/homepage/Demo/TemperatureNumber.d.ts +5 -0
- package/dist/components/homepage/Demo/TemperatureNumber.js +36 -0
- package/dist/components/homepage/Demo/ThemeNudge.d.ts +3 -0
- package/dist/components/homepage/Demo/ThemeNudge.js +35 -0
- package/dist/components/homepage/Demo/TimeDisplay.d.ts +6 -0
- package/dist/components/homepage/Demo/TimeDisplay.js +27 -0
- package/dist/components/homepage/Demo/TrendingRepos.d.ts +6 -0
- package/dist/components/homepage/Demo/TrendingRepos.js +65 -0
- package/dist/components/homepage/Demo/icons.d.ts +10 -0
- package/dist/components/homepage/Demo/icons.js +22 -0
- package/dist/components/homepage/Demo/index.d.ts +2 -0
- package/dist/components/homepage/Demo/index.js +95 -0
- package/dist/components/homepage/Demo/math.d.ts +10 -0
- package/dist/components/homepage/Demo/math.js +29 -0
- package/dist/components/homepage/Demo/types.d.ts +6 -0
- package/dist/components/homepage/Demo/types.js +0 -0
- package/dist/components/homepage/Editor.d.ts +2 -0
- package/dist/components/homepage/Editor.js +37 -0
- package/dist/components/homepage/EvaluateRemotion.d.ts +3 -0
- package/dist/components/homepage/EvaluateRemotion.js +39 -0
- package/dist/components/homepage/FreePricing.d.ts +4 -0
- package/dist/components/homepage/FreePricing.js +80 -0
- package/dist/components/homepage/GetStartedStrip.d.ts +2 -0
- package/dist/components/homepage/GetStartedStrip.js +14 -0
- package/dist/components/homepage/GitHubButton.d.ts +2 -0
- package/dist/components/homepage/GitHubButton.js +7 -0
- package/dist/components/homepage/IconForTemplate.d.ts +6 -0
- package/dist/components/homepage/IconForTemplate.js +94 -0
- package/dist/components/homepage/IfYouKnowReact.d.ts +3 -0
- package/dist/components/homepage/IfYouKnowReact.js +20 -0
- package/dist/components/homepage/InfoTooltip.d.ts +6 -0
- package/dist/components/homepage/InfoTooltip.js +6 -0
- package/dist/components/homepage/MoreTemplatesButton.d.ts +2 -0
- package/dist/components/homepage/MoreTemplatesButton.js +10 -0
- package/dist/components/homepage/MuxVideo.d.ts +7 -0
- package/dist/components/homepage/MuxVideo.js +45 -0
- package/dist/components/homepage/NewsletterButton.d.ts +2 -0
- package/dist/components/homepage/NewsletterButton.js +38 -0
- package/dist/components/homepage/Pricing.d.ts +2 -0
- package/dist/components/homepage/Pricing.js +15 -0
- package/dist/components/homepage/PricingBulletPoint.d.ts +6 -0
- package/dist/components/homepage/PricingBulletPoint.js +19 -0
- package/dist/components/homepage/RealMp4Videos.d.ts +2 -0
- package/dist/components/homepage/RealMp4Videos.js +32 -0
- package/dist/components/homepage/Spacer.d.ts +2 -0
- package/dist/components/homepage/Spacer.js +4 -0
- package/dist/components/homepage/TemplateIcon.d.ts +5 -0
- package/dist/components/homepage/TemplateIcon.js +24 -0
- package/dist/components/homepage/TextInput.d.ts +7 -0
- package/dist/components/homepage/TextInput.js +34 -0
- package/dist/components/homepage/TrustedByBanner.d.ts +2 -0
- package/dist/components/homepage/TrustedByBanner.js +32 -0
- package/dist/components/homepage/VideoApps.d.ts +4 -0
- package/dist/components/homepage/VideoApps.js +72 -0
- package/dist/components/homepage/VideoAppsShowcase.d.ts +3 -0
- package/dist/components/homepage/VideoAppsShowcase.js +160 -0
- package/dist/components/homepage/VideoAppsTitle.d.ts +5 -0
- package/dist/components/homepage/VideoAppsTitle.js +7 -0
- package/dist/components/homepage/VideoPlayerWithControls.d.ts +20 -0
- package/dist/components/homepage/VideoPlayerWithControls.js +104 -0
- package/dist/components/homepage/WriteInReact.d.ts +2 -0
- package/dist/components/homepage/WriteInReact.js +10 -0
- package/dist/components/homepage/YouAreHere.d.ts +2 -0
- package/dist/components/homepage/YouAreHere.js +23 -0
- package/dist/components/homepage/layout/Button.d.ts +19 -0
- package/dist/components/homepage/layout/Button.js +29 -0
- package/dist/components/homepage/layout/colors.d.ts +13 -0
- package/dist/components/homepage/layout/colors.js +14 -0
- package/dist/components/homepage/layout/use-color-mode.d.ts +21 -0
- package/dist/components/homepage/layout/use-color-mode.js +22 -0
- package/dist/components/homepage/layout/use-el-size.d.ts +5 -0
- package/dist/components/homepage/layout/use-el-size.js +40 -0
- package/dist/components/homepage/layout/use-mobile-layout.d.ts +1 -0
- package/dist/components/homepage/layout/use-mobile-layout.js +6 -0
- package/dist/components/icons/blank.d.ts +3 -0
- package/dist/components/icons/blank.js +4 -0
- package/dist/components/icons/clone.d.ts +2 -0
- package/dist/components/icons/clone.js +2 -0
- package/dist/components/icons/code-hike.d.ts +3 -0
- package/dist/components/icons/code-hike.js +4 -0
- package/dist/components/icons/cubes.d.ts +3 -0
- package/dist/components/icons/cubes.js +4 -0
- package/dist/components/icons/js.d.ts +3 -0
- package/dist/components/icons/js.js +4 -0
- package/dist/components/icons/music.d.ts +2 -0
- package/dist/components/icons/music.js +4 -0
- package/dist/components/icons/next.d.ts +4 -0
- package/dist/components/icons/next.js +4 -0
- package/dist/components/icons/overlay.d.ts +3 -0
- package/dist/components/icons/overlay.js +4 -0
- package/dist/components/icons/remix.d.ts +3 -0
- package/dist/components/icons/remix.js +4 -0
- package/dist/components/icons/skia.d.ts +3 -0
- package/dist/components/icons/skia.js +4 -0
- package/dist/components/icons/stargazer.d.ts +3 -0
- package/dist/components/icons/stargazer.js +4 -0
- package/dist/components/icons/still.d.ts +3 -0
- package/dist/components/icons/still.js +4 -0
- package/dist/components/icons/tailwind.d.ts +3 -0
- package/dist/components/icons/tailwind.js +4 -0
- package/dist/components/icons/tiktok.d.ts +3 -0
- package/dist/components/icons/tiktok.js +4 -0
- package/dist/components/icons/ts.d.ts +3 -0
- package/dist/components/icons/ts.js +4 -0
- package/dist/components/icons/tts.d.ts +3 -0
- package/dist/components/icons/tts.js +4 -0
- package/dist/components/icons/undo.d.ts +3 -0
- package/dist/components/icons/undo.js +2 -0
- package/dist/components/icons/waveform.d.ts +3 -0
- package/dist/components/icons/waveform.js +4 -0
- package/dist/main.d.ts +1 -0
- package/dist/main.js +6 -0
- package/package.json +10 -10
- package/src/components/Homepage.tsx +1 -1
package/.turbo/turbo-make.log
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @remotion/promo-pages@4.0.
|
|
3
|
+
> @remotion/promo-pages@4.0.306 make /Users/jonathanburger/remotion/packages/promo-pages
|
|
4
4
|
> bun --env-file=../.env.bundle bundle.ts
|
|
5
5
|
|
|
6
6
|
≈ tailwindcss v4.1.1
|
|
7
7
|
|
|
8
|
-
Done in
|
|
8
|
+
Done in 35ms
|
package/dist/Homepage.js
CHANGED
|
@@ -5016,7 +5016,7 @@ import { jsx as jsx14 } from "react/jsx-runtime";
|
|
|
5016
5016
|
import {
|
|
5017
5017
|
forwardRef as forwardRef4,
|
|
5018
5018
|
useContext as useContext22,
|
|
5019
|
-
useEffect as
|
|
5019
|
+
useEffect as useEffect13,
|
|
5020
5020
|
useImperativeHandle as useImperativeHandle5,
|
|
5021
5021
|
useMemo as useMemo20,
|
|
5022
5022
|
useRef as useRef11,
|
|
@@ -5030,20 +5030,20 @@ import React13, {
|
|
|
5030
5030
|
createRef as createRef2,
|
|
5031
5031
|
useCallback as useCallback6,
|
|
5032
5032
|
useContext as useContext14,
|
|
5033
|
-
useEffect as
|
|
5033
|
+
useEffect as useEffect7,
|
|
5034
5034
|
useMemo as useMemo14,
|
|
5035
5035
|
useRef as useRef4,
|
|
5036
5036
|
useState as useState9
|
|
5037
5037
|
} from "react";
|
|
5038
|
-
import {
|
|
5038
|
+
import { useMemo as useMemo13 } from "react";
|
|
5039
5039
|
import { jsx as jsx15, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
5040
5040
|
import { useRef as useRef5 } from "react";
|
|
5041
|
-
import { useContext as useContext17, useEffect as
|
|
5041
|
+
import { useContext as useContext17, useEffect as useEffect8, useMemo as useMemo15, useState as useState10 } from "react";
|
|
5042
5042
|
import { useContext as useContext16 } from "react";
|
|
5043
5043
|
import {
|
|
5044
5044
|
useCallback as useCallback9,
|
|
5045
5045
|
useContext as useContext20,
|
|
5046
|
-
useEffect as
|
|
5046
|
+
useEffect as useEffect12,
|
|
5047
5047
|
useLayoutEffect as useLayoutEffect5,
|
|
5048
5048
|
useRef as useRef10
|
|
5049
5049
|
} from "react";
|
|
@@ -5052,7 +5052,7 @@ import { useContext as useContext19, useMemo as useMemo17 } from "react";
|
|
|
5052
5052
|
import React14, {
|
|
5053
5053
|
useCallback as useCallback7,
|
|
5054
5054
|
useContext as useContext18,
|
|
5055
|
-
useEffect as
|
|
5055
|
+
useEffect as useEffect9,
|
|
5056
5056
|
useLayoutEffect as useLayoutEffect4,
|
|
5057
5057
|
useMemo as useMemo16,
|
|
5058
5058
|
useRef as useRef7,
|
|
@@ -5060,14 +5060,14 @@ import React14, {
|
|
|
5060
5060
|
} from "react";
|
|
5061
5061
|
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
5062
5062
|
import React15 from "react";
|
|
5063
|
-
import { useEffect as
|
|
5064
|
-
import { useEffect as
|
|
5063
|
+
import { useEffect as useEffect10, useState as useState12 } from "react";
|
|
5064
|
+
import { useEffect as useEffect11, useRef as useRef9 } from "react";
|
|
5065
5065
|
import { createContext as createContext16, useContext as useContext21, useMemo as useMemo19 } from "react";
|
|
5066
5066
|
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
5067
5067
|
import {
|
|
5068
5068
|
forwardRef as forwardRef5,
|
|
5069
5069
|
useContext as useContext23,
|
|
5070
|
-
useEffect as
|
|
5070
|
+
useEffect as useEffect14,
|
|
5071
5071
|
useImperativeHandle as useImperativeHandle6,
|
|
5072
5072
|
useLayoutEffect as useLayoutEffect6,
|
|
5073
5073
|
useMemo as useMemo21,
|
|
@@ -5075,9 +5075,9 @@ import {
|
|
|
5075
5075
|
} from "react";
|
|
5076
5076
|
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
5077
5077
|
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
5078
|
-
import { Suspense, useContext as useContext26, useEffect as
|
|
5078
|
+
import { Suspense, useContext as useContext26, useEffect as useEffect16 } from "react";
|
|
5079
5079
|
import { createPortal } from "react-dom";
|
|
5080
|
-
import { createContext as createContext17, useContext as useContext25, useEffect as
|
|
5080
|
+
import { createContext as createContext17, useContext as useContext25, useEffect as useEffect15, useMemo as useMemo222 } from "react";
|
|
5081
5081
|
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
5082
5082
|
import { jsx as jsx21, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
5083
5083
|
import React19, { useMemo as useMemo23 } from "react";
|
|
@@ -5103,7 +5103,7 @@ import React23, {
|
|
|
5103
5103
|
} from "react";
|
|
5104
5104
|
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
5105
5105
|
import {
|
|
5106
|
-
useEffect as
|
|
5106
|
+
useEffect as useEffect17,
|
|
5107
5107
|
useLayoutEffect as useLayoutEffect8,
|
|
5108
5108
|
useMemo as useMemo25,
|
|
5109
5109
|
useRef as useRef15,
|
|
@@ -5123,7 +5123,7 @@ import { useCallback as useCallback15 } from "react";
|
|
|
5123
5123
|
import {
|
|
5124
5124
|
useCallback as useCallback14,
|
|
5125
5125
|
useContext as useContext28,
|
|
5126
|
-
useEffect as
|
|
5126
|
+
useEffect as useEffect18,
|
|
5127
5127
|
useLayoutEffect as useLayoutEffect9,
|
|
5128
5128
|
useMemo as useMemo28,
|
|
5129
5129
|
useState as useState17
|
|
@@ -5132,20 +5132,20 @@ import { jsx as jsx30 } from "react/jsx-runtime";
|
|
|
5132
5132
|
import {
|
|
5133
5133
|
forwardRef as forwardRef10,
|
|
5134
5134
|
useContext as useContext29,
|
|
5135
|
-
useEffect as
|
|
5135
|
+
useEffect as useEffect20,
|
|
5136
5136
|
useImperativeHandle as useImperativeHandle9,
|
|
5137
5137
|
useMemo as useMemo29,
|
|
5138
5138
|
useRef as useRef16,
|
|
5139
5139
|
useState as useState18
|
|
5140
5140
|
} from "react";
|
|
5141
|
-
import { useEffect as
|
|
5141
|
+
import { useEffect as useEffect19 } from "react";
|
|
5142
5142
|
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
5143
5143
|
import { jsx as jsx322 } from "react/jsx-runtime";
|
|
5144
5144
|
import { forwardRef as forwardRef12, useCallback as useCallback16, useContext as useContext31 } from "react";
|
|
5145
5145
|
import {
|
|
5146
5146
|
forwardRef as forwardRef11,
|
|
5147
5147
|
useContext as useContext30,
|
|
5148
|
-
useEffect as
|
|
5148
|
+
useEffect as useEffect21,
|
|
5149
5149
|
useImperativeHandle as useImperativeHandle10,
|
|
5150
5150
|
useLayoutEffect as useLayoutEffect10,
|
|
5151
5151
|
useMemo as useMemo30,
|
|
@@ -5236,7 +5236,7 @@ var useIsPlayer = () => {
|
|
|
5236
5236
|
function truthy(value) {
|
|
5237
5237
|
return Boolean(value);
|
|
5238
5238
|
}
|
|
5239
|
-
var VERSION = "4.0.
|
|
5239
|
+
var VERSION = "4.0.306";
|
|
5240
5240
|
var checkMultipleRemotionVersions = () => {
|
|
5241
5241
|
if (typeof globalThis === "undefined") {
|
|
5242
5242
|
return;
|
|
@@ -7488,9 +7488,6 @@ var getCrossOriginValue = ({
|
|
|
7488
7488
|
if (requestsVideoFrame) {
|
|
7489
7489
|
return "anonymous";
|
|
7490
7490
|
}
|
|
7491
|
-
if (!getRemotionEnvironment().isRendering) {
|
|
7492
|
-
return "anonymous";
|
|
7493
|
-
}
|
|
7494
7491
|
return;
|
|
7495
7492
|
};
|
|
7496
7493
|
var LogLevelContext = createContext14({
|
|
@@ -7642,13 +7639,6 @@ var useSingletonAudioContext = (logLevel, latencyHint) => {
|
|
|
7642
7639
|
latencyHint
|
|
7643
7640
|
});
|
|
7644
7641
|
}, [logLevel, latencyHint]);
|
|
7645
|
-
useEffect7(() => {
|
|
7646
|
-
return () => {
|
|
7647
|
-
if (audioContext) {
|
|
7648
|
-
audioContext.close();
|
|
7649
|
-
}
|
|
7650
|
-
};
|
|
7651
|
-
}, [audioContext]);
|
|
7652
7642
|
return audioContext;
|
|
7653
7643
|
};
|
|
7654
7644
|
var EMPTY_AUDIO = "data:audio/mp3;base64,/+MYxAAJcAV8AAgAABn//////+/gQ5BAMA+D4Pg+BAQBAEAwD4Pg+D4EBAEAQDAPg++hYBH///hUFQVBUFREDQNHmf///////+MYxBUGkAGIMAAAAP/29Xt6lUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV/+MYxDUAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV";
|
|
@@ -7817,7 +7807,7 @@ var SharedAudioContextProvider = ({ children, numberOfAudioTags, component, audi
|
|
|
7817
7807
|
audios.current = [];
|
|
7818
7808
|
rerenderAudios();
|
|
7819
7809
|
}, [numberOfAudioTags, rerenderAudios]);
|
|
7820
|
-
|
|
7810
|
+
useEffect7(() => {
|
|
7821
7811
|
return () => {
|
|
7822
7812
|
resetAudio();
|
|
7823
7813
|
};
|
|
@@ -7998,7 +7988,8 @@ var useVolume = ({
|
|
|
7998
7988
|
mediaRef,
|
|
7999
7989
|
volume,
|
|
8000
7990
|
logLevel,
|
|
8001
|
-
source
|
|
7991
|
+
source,
|
|
7992
|
+
shouldUseWebAudioApi
|
|
8002
7993
|
}) => {
|
|
8003
7994
|
const audioStuffRef = useRef6(null);
|
|
8004
7995
|
const currentVolumeRef = useRef6(volume);
|
|
@@ -8015,6 +8006,9 @@ var useVolume = ({
|
|
|
8015
8006
|
if (!mediaRef.current) {
|
|
8016
8007
|
return;
|
|
8017
8008
|
}
|
|
8009
|
+
if (!shouldUseWebAudioApi) {
|
|
8010
|
+
return;
|
|
8011
|
+
}
|
|
8018
8012
|
if (mediaRef.current.playbackRate !== 1 && isSafari()) {
|
|
8019
8013
|
warnSafariOnce(logLevel);
|
|
8020
8014
|
return;
|
|
@@ -8037,7 +8031,7 @@ var useVolume = ({
|
|
|
8037
8031
|
gainNode.disconnect();
|
|
8038
8032
|
source.get().disconnect();
|
|
8039
8033
|
};
|
|
8040
|
-
}, [logLevel, mediaRef, audioContext, source]);
|
|
8034
|
+
}, [logLevel, mediaRef, audioContext, source, shouldUseWebAudioApi]);
|
|
8041
8035
|
if (audioStuffRef.current) {
|
|
8042
8036
|
const valueToSet = volume;
|
|
8043
8037
|
if (!isApproximatelyTheSame(audioStuffRef.current.gainNode.gain.value, valueToSet)) {
|
|
@@ -8045,7 +8039,9 @@ var useVolume = ({
|
|
|
8045
8039
|
Log.trace(logLevel, `Setting gain to ${valueToSet} for ${mediaRef.current?.src}`);
|
|
8046
8040
|
}
|
|
8047
8041
|
}
|
|
8048
|
-
|
|
8042
|
+
const safariCase = isSafari() && mediaRef.current && mediaRef.current?.playbackRate !== 1;
|
|
8043
|
+
const shouldUseTraditionalVolume = safariCase || !shouldUseWebAudioApi;
|
|
8044
|
+
if (shouldUseTraditionalVolume && mediaRef.current && !isApproximatelyTheSame(volume, mediaRef.current?.volume)) {
|
|
8049
8045
|
mediaRef.current.volume = Math.min(volume, 1);
|
|
8050
8046
|
}
|
|
8051
8047
|
return audioStuffRef;
|
|
@@ -8142,12 +8138,12 @@ var useMediaInTimeline = ({
|
|
|
8142
8138
|
});
|
|
8143
8139
|
}).join(",");
|
|
8144
8140
|
}, [duration, startsAt, volume, mediaVolume]);
|
|
8145
|
-
|
|
8141
|
+
useEffect8(() => {
|
|
8146
8142
|
if (typeof volume === "number" && volume !== initialVolume) {
|
|
8147
8143
|
warnOnce2(`Remotion: The ${mediaType} with src ${src} has changed it's volume. Prefer the callback syntax for setting volume to get better timeline display: https://www.remotion.dev/docs/audio/volume`);
|
|
8148
8144
|
}
|
|
8149
8145
|
}, [initialVolume, mediaType, src, volume]);
|
|
8150
|
-
|
|
8146
|
+
useEffect8(() => {
|
|
8151
8147
|
if (!mediaRef.current) {
|
|
8152
8148
|
return;
|
|
8153
8149
|
}
|
|
@@ -8204,7 +8200,7 @@ var useMediaInTimeline = ({
|
|
|
8204
8200
|
showInTimeline,
|
|
8205
8201
|
premountDisplay
|
|
8206
8202
|
]);
|
|
8207
|
-
|
|
8203
|
+
useEffect8(() => {
|
|
8208
8204
|
const tag = {
|
|
8209
8205
|
id,
|
|
8210
8206
|
play: (reason) => {
|
|
@@ -8275,7 +8271,7 @@ var useBufferManager = (logLevel, mountTime) => {
|
|
|
8275
8271
|
}
|
|
8276
8272
|
};
|
|
8277
8273
|
}, []);
|
|
8278
|
-
|
|
8274
|
+
useEffect9(() => {
|
|
8279
8275
|
if (blocks.length > 0) {
|
|
8280
8276
|
onBufferingCallbacks.forEach((c) => c());
|
|
8281
8277
|
playbackLogging({
|
|
@@ -8312,7 +8308,7 @@ var BufferingProvider = ({ children }) => {
|
|
|
8312
8308
|
};
|
|
8313
8309
|
var useIsPlayerBuffering = (bufferManager) => {
|
|
8314
8310
|
const [isBuffering, setIsBuffering] = useState11(bufferManager.buffering.current);
|
|
8315
|
-
|
|
8311
|
+
useEffect9(() => {
|
|
8316
8312
|
const onBuffer = () => {
|
|
8317
8313
|
setIsBuffering(true);
|
|
8318
8314
|
};
|
|
@@ -8485,7 +8481,7 @@ var useMediaBuffering = ({
|
|
|
8485
8481
|
}) => {
|
|
8486
8482
|
const buffer = useBufferState();
|
|
8487
8483
|
const [isBuffering, setIsBuffering] = useState12(false);
|
|
8488
|
-
|
|
8484
|
+
useEffect10(() => {
|
|
8489
8485
|
let cleanupFns = [];
|
|
8490
8486
|
const { current } = element;
|
|
8491
8487
|
if (!current) {
|
|
@@ -8609,7 +8605,7 @@ var useRequestVideoCallbackTime = ({
|
|
|
8609
8605
|
onVariableFpsVideoDetected
|
|
8610
8606
|
}) => {
|
|
8611
8607
|
const currentTime = useRef9(null);
|
|
8612
|
-
|
|
8608
|
+
useEffect11(() => {
|
|
8613
8609
|
const { current } = mediaRef;
|
|
8614
8610
|
if (current) {
|
|
8615
8611
|
currentTime.current = {
|
|
@@ -8893,7 +8889,7 @@ var useMediaPlayback = ({
|
|
|
8893
8889
|
return acceptableTimeshift ?? defaultAcceptableTimeshift;
|
|
8894
8890
|
})();
|
|
8895
8891
|
const isPlayerBuffering = useIsPlayerBuffering(buffering);
|
|
8896
|
-
|
|
8892
|
+
useEffect12(() => {
|
|
8897
8893
|
if (mediaRef.current?.paused) {
|
|
8898
8894
|
return;
|
|
8899
8895
|
}
|
|
@@ -8936,7 +8932,7 @@ var useMediaPlayback = ({
|
|
|
8936
8932
|
mediaRef.current.playbackRate = playbackRateToSet;
|
|
8937
8933
|
}
|
|
8938
8934
|
}, [mediaRef, playbackRate]);
|
|
8939
|
-
|
|
8935
|
+
useEffect12(() => {
|
|
8940
8936
|
const tagName = mediaType === "audio" ? "<Audio>" : "<Video>";
|
|
8941
8937
|
if (!mediaRef.current) {
|
|
8942
8938
|
throw new Error(`No ${mediaType} ref found`);
|
|
@@ -9102,6 +9098,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
9102
9098
|
delayRenderRetries,
|
|
9103
9099
|
delayRenderTimeoutInMilliseconds,
|
|
9104
9100
|
toneFrequency,
|
|
9101
|
+
useWebAudioApi,
|
|
9105
9102
|
...nativeProps
|
|
9106
9103
|
} = props;
|
|
9107
9104
|
const _propsValid = true;
|
|
@@ -9124,11 +9121,16 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
9124
9121
|
volume,
|
|
9125
9122
|
mediaVolume
|
|
9126
9123
|
});
|
|
9124
|
+
const crossOriginValue = getCrossOriginValue({
|
|
9125
|
+
crossOrigin,
|
|
9126
|
+
requestsVideoFrame: false
|
|
9127
|
+
});
|
|
9127
9128
|
const propsToPass = useMemo20(() => {
|
|
9128
9129
|
return {
|
|
9129
9130
|
muted: muted || mediaMuted || isSequenceHidden || userPreferredVolume <= 0,
|
|
9130
9131
|
src: preloadedSrc,
|
|
9131
9132
|
loop: _remotionInternalNativeLoopPassed,
|
|
9133
|
+
crossOrigin: crossOriginValue,
|
|
9132
9134
|
...nativeProps
|
|
9133
9135
|
};
|
|
9134
9136
|
}, [
|
|
@@ -9138,7 +9140,8 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
9138
9140
|
muted,
|
|
9139
9141
|
nativeProps,
|
|
9140
9142
|
preloadedSrc,
|
|
9141
|
-
userPreferredVolume
|
|
9143
|
+
userPreferredVolume,
|
|
9144
|
+
crossOriginValue
|
|
9142
9145
|
]);
|
|
9143
9146
|
const id = useMemo20(() => `audio-${random(src ?? "")}-${sequenceContext?.relativeFrom}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.durationInFrames}-muted:${props.muted}-loop:${props.loop}`, [
|
|
9144
9147
|
src,
|
|
@@ -9183,14 +9186,15 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
9183
9186
|
logLevel,
|
|
9184
9187
|
mediaRef: audioRef,
|
|
9185
9188
|
source: mediaElementSourceNode,
|
|
9186
|
-
volume: userPreferredVolume
|
|
9189
|
+
volume: userPreferredVolume,
|
|
9190
|
+
shouldUseWebAudioApi: useWebAudioApi ?? false
|
|
9187
9191
|
});
|
|
9188
9192
|
useImperativeHandle5(ref, () => {
|
|
9189
9193
|
return audioRef.current;
|
|
9190
9194
|
}, [audioRef]);
|
|
9191
9195
|
const currentOnDurationCallback = useRef11(onDuration);
|
|
9192
9196
|
currentOnDurationCallback.current = onDuration;
|
|
9193
|
-
|
|
9197
|
+
useEffect13(() => {
|
|
9194
9198
|
const { current } = audioRef;
|
|
9195
9199
|
if (!current) {
|
|
9196
9200
|
return;
|
|
@@ -9210,10 +9214,6 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
9210
9214
|
if (initialShouldPreMountAudioElements) {
|
|
9211
9215
|
return null;
|
|
9212
9216
|
}
|
|
9213
|
-
const crossOriginValue = getCrossOriginValue({
|
|
9214
|
-
crossOrigin,
|
|
9215
|
-
requestsVideoFrame: false
|
|
9216
|
-
});
|
|
9217
9217
|
return /* @__PURE__ */ jsx17("audio", {
|
|
9218
9218
|
ref: audioRef,
|
|
9219
9219
|
preload: "metadata",
|
|
@@ -9260,7 +9260,7 @@ var AudioForRenderingRefForwardingFunction = (props, ref) => {
|
|
|
9260
9260
|
useImperativeHandle6(ref, () => {
|
|
9261
9261
|
return audioRef.current;
|
|
9262
9262
|
}, []);
|
|
9263
|
-
|
|
9263
|
+
useEffect14(() => {
|
|
9264
9264
|
if (!props.src) {
|
|
9265
9265
|
throw new Error("No src passed");
|
|
9266
9266
|
}
|
|
@@ -9579,7 +9579,7 @@ var validateDefaultAndInputProps = (defaultProps, name, compositionId) => {
|
|
|
9579
9579
|
}
|
|
9580
9580
|
};
|
|
9581
9581
|
var Fallback = () => {
|
|
9582
|
-
|
|
9582
|
+
useEffect16(() => {
|
|
9583
9583
|
const fallback = delayRender("Waiting for Root component to unsuspend");
|
|
9584
9584
|
return () => continueRender(fallback);
|
|
9585
9585
|
}, []);
|
|
@@ -9614,7 +9614,7 @@ var InnerComposition = ({
|
|
|
9614
9614
|
throw new Error("<Composition> mounted inside another composition. See https://remotion.dev/docs/wrong-composition-mount for help.");
|
|
9615
9615
|
}
|
|
9616
9616
|
const { folderName, parentName } = useContext26(FolderContext);
|
|
9617
|
-
|
|
9617
|
+
useEffect16(() => {
|
|
9618
9618
|
if (!id) {
|
|
9619
9619
|
throw new Error("No id for composition passed.");
|
|
9620
9620
|
}
|
|
@@ -9653,7 +9653,7 @@ var InnerComposition = ({
|
|
|
9653
9653
|
registerComposition,
|
|
9654
9654
|
unregisterComposition
|
|
9655
9655
|
]);
|
|
9656
|
-
|
|
9656
|
+
useEffect16(() => {
|
|
9657
9657
|
window.dispatchEvent(new CustomEvent(PROPS_UPDATED_EXTERNALLY, {
|
|
9658
9658
|
detail: {
|
|
9659
9659
|
resetUnsaved: id
|
|
@@ -10136,7 +10136,7 @@ var RemotionRoot = ({
|
|
|
10136
10136
|
}
|
|
10137
10137
|
};
|
|
10138
10138
|
}, []);
|
|
10139
|
-
|
|
10139
|
+
useEffect17(() => {
|
|
10140
10140
|
if (typeof __webpack_module__ !== "undefined") {
|
|
10141
10141
|
if (__webpack_module__.hot) {
|
|
10142
10142
|
__webpack_module__.hot.addStatusHandler((status) => {
|
|
@@ -10833,7 +10833,7 @@ var useEmitVideoFrame = ({
|
|
|
10833
10833
|
ref,
|
|
10834
10834
|
onVideoFrame
|
|
10835
10835
|
}) => {
|
|
10836
|
-
|
|
10836
|
+
useEffect19(() => {
|
|
10837
10837
|
const { current } = ref;
|
|
10838
10838
|
if (!current) {
|
|
10839
10839
|
return;
|
|
@@ -10894,6 +10894,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
10894
10894
|
delayRenderRetries,
|
|
10895
10895
|
delayRenderTimeoutInMilliseconds,
|
|
10896
10896
|
allowAmplificationDuringRender,
|
|
10897
|
+
useWebAudioApi,
|
|
10897
10898
|
...nativeProps
|
|
10898
10899
|
} = props2;
|
|
10899
10900
|
const _propsValid = true;
|
|
@@ -10948,7 +10949,8 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
10948
10949
|
logLevel,
|
|
10949
10950
|
mediaRef: videoRef,
|
|
10950
10951
|
volume: userPreferredVolume,
|
|
10951
|
-
source: sharedSource
|
|
10952
|
+
source: sharedSource,
|
|
10953
|
+
shouldUseWebAudioApi: useWebAudioApi ?? false
|
|
10952
10954
|
});
|
|
10953
10955
|
const actualFrom = parentSequence ? parentSequence.relativeFrom : 0;
|
|
10954
10956
|
const duration = parentSequence ? Math.min(parentSequence.durationInFrames, durationInFrames) : durationInFrames;
|
|
@@ -10968,7 +10970,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
10968
10970
|
tag: "video",
|
|
10969
10971
|
mountTime
|
|
10970
10972
|
}));
|
|
10971
|
-
|
|
10973
|
+
useEffect20(() => {
|
|
10972
10974
|
const { current } = videoRef;
|
|
10973
10975
|
if (!current) {
|
|
10974
10976
|
return;
|
|
@@ -10999,7 +11001,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
10999
11001
|
const currentOnDurationCallback = useRef16(onDuration);
|
|
11000
11002
|
currentOnDurationCallback.current = onDuration;
|
|
11001
11003
|
useEmitVideoFrame({ ref: videoRef, onVideoFrame });
|
|
11002
|
-
|
|
11004
|
+
useEffect20(() => {
|
|
11003
11005
|
const { current } = videoRef;
|
|
11004
11006
|
if (!current) {
|
|
11005
11007
|
return;
|
|
@@ -11016,7 +11018,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
11016
11018
|
current.removeEventListener("loadedmetadata", onLoadedMetadata);
|
|
11017
11019
|
};
|
|
11018
11020
|
}, [src]);
|
|
11019
|
-
|
|
11021
|
+
useEffect20(() => {
|
|
11020
11022
|
const { current } = videoRef;
|
|
11021
11023
|
if (!current) {
|
|
11022
11024
|
return;
|
|
@@ -11211,7 +11213,7 @@ var VideoForRenderingForwardFunction = ({
|
|
|
11211
11213
|
frame: volumePropsFrame,
|
|
11212
11214
|
mediaVolume: 1
|
|
11213
11215
|
});
|
|
11214
|
-
|
|
11216
|
+
useEffect21(() => {
|
|
11215
11217
|
if (!props2.src) {
|
|
11216
11218
|
throw new Error("No src passed");
|
|
11217
11219
|
}
|
|
@@ -11252,7 +11254,7 @@ var VideoForRenderingForwardFunction = ({
|
|
|
11252
11254
|
useImperativeHandle10(ref, () => {
|
|
11253
11255
|
return videoRef.current;
|
|
11254
11256
|
}, []);
|
|
11255
|
-
|
|
11257
|
+
useEffect21(() => {
|
|
11256
11258
|
if (!window.remotion_videoEnabled) {
|
|
11257
11259
|
return;
|
|
11258
11260
|
}
|
|
@@ -14816,23 +14818,23 @@ var PlayerUI = ({
|
|
|
14816
14818
|
});
|
|
14817
14819
|
};
|
|
14818
14820
|
var PlayerUI_default = forwardRef13(PlayerUI);
|
|
14819
|
-
var
|
|
14820
|
-
var persistVolume = (volume, logLevel) => {
|
|
14821
|
+
var DEFAULT_VOLUME_PERSISTANCE_KEY = "remotion.volumePreference";
|
|
14822
|
+
var persistVolume = (volume, logLevel, volumePersistenceKey) => {
|
|
14821
14823
|
if (typeof window === "undefined") {
|
|
14822
14824
|
return;
|
|
14823
14825
|
}
|
|
14824
14826
|
try {
|
|
14825
|
-
window.localStorage.setItem(
|
|
14827
|
+
window.localStorage.setItem(volumePersistenceKey ?? DEFAULT_VOLUME_PERSISTANCE_KEY, String(volume));
|
|
14826
14828
|
} catch (e) {
|
|
14827
14829
|
Internals.Log.error(logLevel, "Could not persist volume", e);
|
|
14828
14830
|
}
|
|
14829
14831
|
};
|
|
14830
|
-
var getPreferredVolume = () => {
|
|
14832
|
+
var getPreferredVolume = (volumePersistenceKey) => {
|
|
14831
14833
|
if (typeof window === "undefined") {
|
|
14832
14834
|
return 1;
|
|
14833
14835
|
}
|
|
14834
14836
|
try {
|
|
14835
|
-
const val = window.localStorage.getItem(
|
|
14837
|
+
const val = window.localStorage.getItem(volumePersistenceKey ?? DEFAULT_VOLUME_PERSISTANCE_KEY);
|
|
14836
14838
|
return val ? Number(val) : 1;
|
|
14837
14839
|
} catch {
|
|
14838
14840
|
return 1;
|
|
@@ -14850,7 +14852,8 @@ var SharedPlayerContexts = ({
|
|
|
14850
14852
|
numberOfSharedAudioTags,
|
|
14851
14853
|
initiallyMuted,
|
|
14852
14854
|
logLevel,
|
|
14853
|
-
audioLatencyHint
|
|
14855
|
+
audioLatencyHint,
|
|
14856
|
+
volumePersistenceKey
|
|
14854
14857
|
}) => {
|
|
14855
14858
|
const compositionManagerContext = useMemo132(() => {
|
|
14856
14859
|
const context = {
|
|
@@ -14876,7 +14879,7 @@ var SharedPlayerContexts = ({
|
|
|
14876
14879
|
return context;
|
|
14877
14880
|
}, [component, durationInFrames, compositionHeight, compositionWidth, fps]);
|
|
14878
14881
|
const [mediaMuted, setMediaMuted] = useState122(() => initiallyMuted);
|
|
14879
|
-
const [mediaVolume, setMediaVolume] = useState122(() => getPreferredVolume());
|
|
14882
|
+
const [mediaVolume, setMediaVolume] = useState122(() => getPreferredVolume(volumePersistenceKey ?? null));
|
|
14880
14883
|
const mediaVolumeContextValue = useMemo132(() => {
|
|
14881
14884
|
return {
|
|
14882
14885
|
mediaMuted,
|
|
@@ -14885,8 +14888,8 @@ var SharedPlayerContexts = ({
|
|
|
14885
14888
|
}, [mediaMuted, mediaVolume]);
|
|
14886
14889
|
const setMediaVolumeAndPersist = useCallback122((vol) => {
|
|
14887
14890
|
setMediaVolume(vol);
|
|
14888
|
-
persistVolume(vol, logLevel);
|
|
14889
|
-
}, [logLevel]);
|
|
14891
|
+
persistVolume(vol, logLevel, volumePersistenceKey ?? null);
|
|
14892
|
+
}, [logLevel, volumePersistenceKey]);
|
|
14890
14893
|
const setMediaVolumeContextValue = useMemo132(() => {
|
|
14891
14894
|
return {
|
|
14892
14895
|
setMediaMuted,
|
|
@@ -15085,6 +15088,7 @@ var PlayerFn = ({
|
|
|
15085
15088
|
noSuspense,
|
|
15086
15089
|
acknowledgeRemotionLicense,
|
|
15087
15090
|
audioLatencyHint = "interactive",
|
|
15091
|
+
volumePersistenceKey,
|
|
15088
15092
|
...componentProps
|
|
15089
15093
|
}, ref) => {
|
|
15090
15094
|
if (typeof window !== "undefined") {
|
|
@@ -15219,6 +15223,7 @@ var PlayerFn = ({
|
|
|
15219
15223
|
initiallyMuted,
|
|
15220
15224
|
logLevel,
|
|
15221
15225
|
audioLatencyHint,
|
|
15226
|
+
volumePersistenceKey,
|
|
15222
15227
|
children: /* @__PURE__ */ jsx142(Internals.Timeline.SetTimelineContext.Provider, {
|
|
15223
15228
|
value: setTimelineContextValue,
|
|
15224
15229
|
children: /* @__PURE__ */ jsx142(PlayerEmitterProvider, {
|
|
@@ -21371,6 +21376,7 @@ var NewLanding = ({ colorMode, setColorMode }) => {
|
|
|
21371
21376
|
children: /* @__PURE__ */ jsx131("div", {
|
|
21372
21377
|
className: "bg-[var(--background)] relative",
|
|
21373
21378
|
children: /* @__PURE__ */ jsxs58("div", {
|
|
21379
|
+
style: { overflow: "hidden" },
|
|
21374
21380
|
children: [
|
|
21375
21381
|
/* @__PURE__ */ jsx131("div", {
|
|
21376
21382
|
children: /* @__PURE__ */ jsx131(BackgroundAnimation, {})
|
package/dist/cn.d.ts
ADDED
package/dist/cn.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { BackgroundAnimation } from './homepage/BackgroundAnimation';
|
|
4
|
+
import CommunityStats from './homepage/CommunityStats';
|
|
5
|
+
import { Demo } from './homepage/Demo';
|
|
6
|
+
import { LightningFastEditor } from './homepage/Editor';
|
|
7
|
+
import EvaluateRemotionSection from './homepage/EvaluateRemotion';
|
|
8
|
+
import { IfYouKnowReact } from './homepage/IfYouKnowReact';
|
|
9
|
+
import { ColorModeProvider } from './homepage/layout/use-color-mode';
|
|
10
|
+
import { NewsletterButton } from './homepage/NewsletterButton';
|
|
11
|
+
import { Pricing } from './homepage/Pricing';
|
|
12
|
+
import { RealMP4Videos } from './homepage/RealMp4Videos';
|
|
13
|
+
import TrustedByBanner from './homepage/TrustedByBanner';
|
|
14
|
+
import { VideoApps } from './homepage/VideoApps';
|
|
15
|
+
import VideoAppsShowcase from './homepage/VideoAppsShowcase';
|
|
16
|
+
import { SectionTitle, VideoAppsTitle } from './homepage/VideoAppsTitle';
|
|
17
|
+
import { WriteInReact } from './homepage/WriteInReact';
|
|
18
|
+
export const NewLanding = ({ colorMode, setColorMode }) => {
|
|
19
|
+
return (_jsx(ColorModeProvider, { colorMode: colorMode, setColorMode: setColorMode, children: _jsx("div", { className: "bg-[var(--background)] relative", children: _jsxs("div", { style: { overflow: 'hidden' }, children: [_jsx("div", { children: _jsx(BackgroundAnimation, {}) }), _jsx("br", {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {}), _jsxs("div", { className: "max-w-[500px] lg:max-w-[1000px] m-auto pl-5 pr-5 overflow-x-clip md:overflow-x-visible relative", children: [_jsx(WriteInReact, {}), _jsx("br", {}), _jsx(IfYouKnowReact, {}), _jsx(RealMP4Videos, {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {}), _jsx(LightningFastEditor, {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {}), _jsx(VideoAppsTitle, {}), _jsx(VideoApps, { active: "remotion" }), _jsx("br", {}), _jsx("br", {}), _jsx(VideoAppsShowcase, {}), _jsx("br", {}), _jsx("br", {}), _jsx(Demo, {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {}), _jsx(SectionTitle, { children: "Pricing" }), _jsx(Pricing, {}), _jsx(TrustedByBanner, {}), _jsx("br", {}), _jsx(EvaluateRemotionSection, {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {}), _jsx(CommunityStats, {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {}), _jsx(NewsletterButton, {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {})] })] }) }) }));
|
|
20
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { getLength } from '@remotion/paths';
|
|
4
|
+
import { useEffect } from 'react';
|
|
5
|
+
const rx = 0.2;
|
|
6
|
+
const ry = 0.45;
|
|
7
|
+
function ellipseToPath(cx, cy) {
|
|
8
|
+
let output = 'M' + (cx - rx).toString() + ',' + cy.toString();
|
|
9
|
+
output +=
|
|
10
|
+
'a' +
|
|
11
|
+
rx.toString() +
|
|
12
|
+
',' +
|
|
13
|
+
ry.toString() +
|
|
14
|
+
' 0 1,0 ' +
|
|
15
|
+
(2 * rx).toString() +
|
|
16
|
+
',0';
|
|
17
|
+
output +=
|
|
18
|
+
'a' +
|
|
19
|
+
rx.toString() +
|
|
20
|
+
',' +
|
|
21
|
+
ry.toString() +
|
|
22
|
+
' 0 1,0 ' +
|
|
23
|
+
(-2 * rx).toString() +
|
|
24
|
+
',0';
|
|
25
|
+
return output;
|
|
26
|
+
}
|
|
27
|
+
const strokeWidth = 0.035;
|
|
28
|
+
export const BackgroundAnimation = () => {
|
|
29
|
+
const d = ellipseToPath(0.5, 0.5);
|
|
30
|
+
const length = getLength(d);
|
|
31
|
+
const css = `
|
|
32
|
+
@keyframes bganimation {
|
|
33
|
+
from {
|
|
34
|
+
stroke-dashoffset: 0
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
to {
|
|
38
|
+
stroke-dashoffset: ${length};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
`;
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
const _style = document.createElement('style');
|
|
44
|
+
_style.innerHTML = css;
|
|
45
|
+
document.head.appendChild(_style);
|
|
46
|
+
}, [css]);
|
|
47
|
+
return (_jsx("div", { className: " w-full h-full left-[50%] ml-[-50%] min-w-0 lg:m-auto lg:relative lg:min-w-[700px] lg:max-w-[1200px] lg:ml-auto lg:left-auto pointer-events-none", children: _jsxs("svg", { className: "translate-y-[-30%] lg:translate-y-[-50%]", viewBox: "0 0 1 1", style: {
|
|
48
|
+
width: '100%',
|
|
49
|
+
position: 'absolute',
|
|
50
|
+
}, children: [_jsx("path", { d: d, fill: "none", stroke: "var(--ifm-color-primary)", strokeLinecap: "round", className: "stroke-[0.04] lg:stroke-[0.035]", style: {
|
|
51
|
+
transformOrigin: 'center center',
|
|
52
|
+
transform: `rotate(120deg)`,
|
|
53
|
+
animation: `bganimation 20s linear infinite`,
|
|
54
|
+
strokeDasharray: `${length * 0.2} ${length * 0.8}`,
|
|
55
|
+
} }), _jsx("path", { d: d, fill: "none", stroke: "var(--ifm-color-primary)", strokeLinecap: "round", strokeWidth: strokeWidth, className: "stroke-[0.04] lg:stroke-[0.035]", style: {
|
|
56
|
+
transformOrigin: 'center center',
|
|
57
|
+
transform: `rotate(0deg)`,
|
|
58
|
+
animation: `bganimation 20s linear infinite`,
|
|
59
|
+
strokeDasharray: `${length * 0.2} ${length * 0.8}`,
|
|
60
|
+
} }), _jsx("path", { d: d, fill: "none", stroke: "var(--ifm-color-primary)", strokeLinecap: "round", strokeWidth: strokeWidth, className: "stroke-[0.04] lg:stroke-[0.035]", style: {
|
|
61
|
+
transformOrigin: 'center center',
|
|
62
|
+
transform: `rotate(240deg)`,
|
|
63
|
+
animation: `bganimation 20s linear infinite`,
|
|
64
|
+
strokeDasharray: `${length * 0.2} ${length * 0.8}`,
|
|
65
|
+
} })] }) }));
|
|
66
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { CreateVideoInternals } from 'create-video';
|
|
3
|
+
import { IconForTemplate } from './IconForTemplate';
|
|
4
|
+
import { MoreTemplatesButton } from './MoreTemplatesButton';
|
|
5
|
+
import { TemplateIcon } from './TemplateIcon';
|
|
6
|
+
export const ChooseTemplate = () => {
|
|
7
|
+
return (_jsx("div", { style: {
|
|
8
|
+
display: 'flex',
|
|
9
|
+
flexDirection: 'column',
|
|
10
|
+
}, children: _jsx("div", { style: {
|
|
11
|
+
position: 'relative',
|
|
12
|
+
textAlign: 'center',
|
|
13
|
+
}, children: _jsxs("div", { className: "no-scroll-bar", style: {
|
|
14
|
+
backgroundColor: 'var(--plain-button)',
|
|
15
|
+
display: 'inline-flex',
|
|
16
|
+
flexDirection: 'row',
|
|
17
|
+
justifyContent: 'space-around',
|
|
18
|
+
boxShadow: '0 0 4px 0px var(--ifm-color-emphasis-200)',
|
|
19
|
+
borderRadius: 50,
|
|
20
|
+
alignItems: 'center',
|
|
21
|
+
padding: 8,
|
|
22
|
+
width: '100%',
|
|
23
|
+
maxWidth: '550px',
|
|
24
|
+
}, children: [CreateVideoInternals.FEATURED_TEMPLATES.filter((f) => f.featuredOnHomePage).map((template) => {
|
|
25
|
+
return (_jsx("a", { className: "text-inherit no-underline", href: `/templates/${template.cliId}`, children: _jsx(TemplateIcon, { label: template.featuredOnHomePage, children: _jsx(IconForTemplate, { scale: 0.7, template: template }) }) }, template.cliId));
|
|
26
|
+
}), _jsx(MoreTemplatesButton, {})] }) }) }));
|
|
27
|
+
};
|