@remotion/promo-pages 4.0.340 → 4.0.341
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/LICENSE.md +7 -7
- package/dist/Homepage.js +52 -62
- package/dist/tailwind.css +3 -0
- package/package.json +10 -10
- package/src/components/homepage/CommunityStatsItems.tsx +1 -1
- package/src/components/homepage/Demo/icons.tsx +2 -2
- package/src/components/homepage/GitHubButton.tsx +1 -1
- package/src/components/homepage/VideoAppsShowcase.tsx +70 -90
- package/dist/cn.d.ts +0 -2
- package/dist/cn.js +0 -5
- package/dist/components/Homepage.d.ts +0 -6
- package/dist/components/Homepage.js +0 -20
- package/dist/components/homepage/BackgroundAnimation.d.ts +0 -2
- package/dist/components/homepage/BackgroundAnimation.js +0 -66
- package/dist/components/homepage/ChooseTemplate.d.ts +0 -2
- package/dist/components/homepage/ChooseTemplate.js +0 -27
- package/dist/components/homepage/CommunityStats.d.ts +0 -3
- package/dist/components/homepage/CommunityStats.js +0 -6
- package/dist/components/homepage/CommunityStatsItems.d.ts +0 -7
- package/dist/components/homepage/CommunityStatsItems.js +0 -58
- package/dist/components/homepage/Counter.d.ts +0 -9
- package/dist/components/homepage/Counter.js +0 -55
- package/dist/components/homepage/Demo/Card.d.ts +0 -15
- package/dist/components/homepage/Demo/Card.js +0 -174
- package/dist/components/homepage/Demo/Cards.d.ts +0 -15
- package/dist/components/homepage/Demo/Cards.js +0 -57
- package/dist/components/homepage/Demo/Comp.d.ts +0 -38
- package/dist/components/homepage/Demo/Comp.js +0 -71
- package/dist/components/homepage/Demo/CurrentCountry.d.ts +0 -9
- package/dist/components/homepage/Demo/CurrentCountry.js +0 -48
- package/dist/components/homepage/Demo/DemoError.d.ts +0 -2
- package/dist/components/homepage/Demo/DemoError.js +0 -10
- package/dist/components/homepage/Demo/DemoErrorIcon.d.ts +0 -2
- package/dist/components/homepage/Demo/DemoErrorIcon.js +0 -16
- package/dist/components/homepage/Demo/DemoRender.d.ts +0 -102
- package/dist/components/homepage/Demo/DemoRender.js +0 -95
- package/dist/components/homepage/Demo/DigitWheel.d.ts +0 -9
- package/dist/components/homepage/Demo/DigitWheel.js +0 -94
- package/dist/components/homepage/Demo/DisplayedEmoji.d.ts +0 -5
- package/dist/components/homepage/Demo/DisplayedEmoji.js +0 -63
- package/dist/components/homepage/Demo/DoneCheckmark.d.ts +0 -2
- package/dist/components/homepage/Demo/DoneCheckmark.js +0 -20
- package/dist/components/homepage/Demo/DownloadNudge.d.ts +0 -2
- package/dist/components/homepage/Demo/DownloadNudge.js +0 -27
- package/dist/components/homepage/Demo/DragAndDropNudge.d.ts +0 -3
- package/dist/components/homepage/Demo/DragAndDropNudge.js +0 -26
- package/dist/components/homepage/Demo/EmojiCard.d.ts +0 -10
- package/dist/components/homepage/Demo/EmojiCard.js +0 -119
- package/dist/components/homepage/Demo/Minus.d.ts +0 -5
- package/dist/components/homepage/Demo/Minus.js +0 -11
- package/dist/components/homepage/Demo/PlayPauseButton.d.ts +0 -5
- package/dist/components/homepage/Demo/PlayPauseButton.js +0 -47
- package/dist/components/homepage/Demo/PlayerControls.d.ts +0 -8
- package/dist/components/homepage/Demo/PlayerControls.js +0 -15
- package/dist/components/homepage/Demo/PlayerSeekBar.d.ts +0 -11
- package/dist/components/homepage/Demo/PlayerSeekBar.js +0 -216
- package/dist/components/homepage/Demo/PlayerVolume.d.ts +0 -5
- package/dist/components/homepage/Demo/PlayerVolume.js +0 -53
- package/dist/components/homepage/Demo/Progress.d.ts +0 -4
- package/dist/components/homepage/Demo/Progress.js +0 -14
- package/dist/components/homepage/Demo/Spinner.d.ts +0 -5
- package/dist/components/homepage/Demo/Spinner.js +0 -37
- package/dist/components/homepage/Demo/Switcher.d.ts +0 -6
- package/dist/components/homepage/Demo/Switcher.js +0 -25
- package/dist/components/homepage/Demo/Temperature.d.ts +0 -6
- package/dist/components/homepage/Demo/Temperature.js +0 -21
- package/dist/components/homepage/Demo/TemperatureNumber.d.ts +0 -5
- package/dist/components/homepage/Demo/TemperatureNumber.js +0 -36
- package/dist/components/homepage/Demo/ThemeNudge.d.ts +0 -3
- package/dist/components/homepage/Demo/ThemeNudge.js +0 -35
- package/dist/components/homepage/Demo/TimeDisplay.d.ts +0 -6
- package/dist/components/homepage/Demo/TimeDisplay.js +0 -27
- package/dist/components/homepage/Demo/TrendingRepos.d.ts +0 -6
- package/dist/components/homepage/Demo/TrendingRepos.js +0 -65
- package/dist/components/homepage/Demo/icons.d.ts +0 -10
- package/dist/components/homepage/Demo/icons.js +0 -22
- package/dist/components/homepage/Demo/index.d.ts +0 -2
- package/dist/components/homepage/Demo/index.js +0 -95
- package/dist/components/homepage/Demo/math.d.ts +0 -10
- package/dist/components/homepage/Demo/math.js +0 -29
- package/dist/components/homepage/Demo/types.d.ts +0 -6
- package/dist/components/homepage/Demo/types.js +0 -0
- package/dist/components/homepage/EvaluateRemotion.d.ts +0 -3
- package/dist/components/homepage/EvaluateRemotion.js +0 -39
- package/dist/components/homepage/FreePricing.d.ts +0 -4
- package/dist/components/homepage/FreePricing.js +0 -75
- package/dist/components/homepage/GetStartedStrip.d.ts +0 -2
- package/dist/components/homepage/GetStartedStrip.js +0 -14
- package/dist/components/homepage/GitHubButton.d.ts +0 -2
- package/dist/components/homepage/GitHubButton.js +0 -7
- package/dist/components/homepage/IconForTemplate.d.ts +0 -6
- package/dist/components/homepage/IconForTemplate.js +0 -98
- package/dist/components/homepage/IfYouKnowReact.d.ts +0 -3
- package/dist/components/homepage/IfYouKnowReact.js +0 -23
- package/dist/components/homepage/InfoTooltip.d.ts +0 -6
- package/dist/components/homepage/InfoTooltip.js +0 -6
- package/dist/components/homepage/MoreTemplatesButton.d.ts +0 -2
- package/dist/components/homepage/MoreTemplatesButton.js +0 -10
- package/dist/components/homepage/MoreVideoPowerSection.d.ts +0 -2
- package/dist/components/homepage/MoreVideoPowerSection.js +0 -16
- package/dist/components/homepage/MuxVideo.d.ts +0 -7
- package/dist/components/homepage/MuxVideo.js +0 -45
- package/dist/components/homepage/NewsletterButton.d.ts +0 -2
- package/dist/components/homepage/NewsletterButton.js +0 -39
- package/dist/components/homepage/ParameterizeAndEdit.d.ts +0 -2
- package/dist/components/homepage/ParameterizeAndEdit.js +0 -22
- package/dist/components/homepage/Pricing.d.ts +0 -2
- package/dist/components/homepage/Pricing.js +0 -15
- package/dist/components/homepage/PricingBulletPoint.d.ts +0 -6
- package/dist/components/homepage/PricingBulletPoint.js +0 -19
- package/dist/components/homepage/RealMp4Videos.d.ts +0 -2
- package/dist/components/homepage/RealMp4Videos.js +0 -41
- package/dist/components/homepage/Spacer.d.ts +0 -2
- package/dist/components/homepage/Spacer.js +0 -4
- package/dist/components/homepage/TemplateIcon.d.ts +0 -5
- package/dist/components/homepage/TemplateIcon.js +0 -24
- package/dist/components/homepage/TextInput.d.ts +0 -7
- package/dist/components/homepage/TextInput.js +0 -34
- package/dist/components/homepage/TrustedByBanner.d.ts +0 -2
- package/dist/components/homepage/TrustedByBanner.js +0 -32
- package/dist/components/homepage/VideoApps.d.ts +0 -4
- package/dist/components/homepage/VideoApps.js +0 -72
- package/dist/components/homepage/VideoAppsShowcase.d.ts +0 -3
- package/dist/components/homepage/VideoAppsShowcase.js +0 -163
- package/dist/components/homepage/VideoAppsTitle.d.ts +0 -4
- package/dist/components/homepage/VideoAppsTitle.js +0 -4
- package/dist/components/homepage/VideoPlayerWithControls.d.ts +0 -20
- package/dist/components/homepage/VideoPlayerWithControls.js +0 -104
- package/dist/components/homepage/WriteInReact.d.ts +0 -2
- package/dist/components/homepage/WriteInReact.js +0 -10
- package/dist/components/homepage/YouAreHere.d.ts +0 -2
- package/dist/components/homepage/YouAreHere.js +0 -23
- package/dist/components/homepage/layout/Button.d.ts +0 -19
- package/dist/components/homepage/layout/Button.js +0 -29
- package/dist/components/homepage/layout/colors.d.ts +0 -13
- package/dist/components/homepage/layout/colors.js +0 -14
- package/dist/components/homepage/layout/use-color-mode.d.ts +0 -21
- package/dist/components/homepage/layout/use-color-mode.js +0 -22
- package/dist/components/homepage/layout/use-el-size.d.ts +0 -5
- package/dist/components/homepage/layout/use-el-size.js +0 -40
- package/dist/components/homepage/layout/use-mobile-layout.d.ts +0 -1
- package/dist/components/homepage/layout/use-mobile-layout.js +0 -6
- package/dist/components/icons/blank.d.ts +0 -3
- package/dist/components/icons/blank.js +0 -4
- package/dist/components/icons/clone.d.ts +0 -2
- package/dist/components/icons/clone.js +0 -2
- package/dist/components/icons/code-hike.d.ts +0 -3
- package/dist/components/icons/code-hike.js +0 -4
- package/dist/components/icons/cubes.d.ts +0 -3
- package/dist/components/icons/cubes.js +0 -4
- package/dist/components/icons/js.d.ts +0 -3
- package/dist/components/icons/js.js +0 -4
- package/dist/components/icons/music.d.ts +0 -2
- package/dist/components/icons/music.js +0 -4
- package/dist/components/icons/next.d.ts +0 -4
- package/dist/components/icons/next.js +0 -4
- package/dist/components/icons/overlay.d.ts +0 -3
- package/dist/components/icons/overlay.js +0 -4
- package/dist/components/icons/recorder.d.ts +0 -3
- package/dist/components/icons/recorder.js +0 -4
- package/dist/components/icons/remix.d.ts +0 -3
- package/dist/components/icons/remix.js +0 -4
- package/dist/components/icons/skia.d.ts +0 -3
- package/dist/components/icons/skia.js +0 -4
- package/dist/components/icons/stargazer.d.ts +0 -3
- package/dist/components/icons/stargazer.js +0 -4
- package/dist/components/icons/still.d.ts +0 -3
- package/dist/components/icons/still.js +0 -4
- package/dist/components/icons/tailwind.d.ts +0 -3
- package/dist/components/icons/tailwind.js +0 -4
- package/dist/components/icons/tiktok.d.ts +0 -3
- package/dist/components/icons/tiktok.js +0 -4
- package/dist/components/icons/ts.d.ts +0 -3
- package/dist/components/icons/ts.js +0 -4
- package/dist/components/icons/tts.d.ts +0 -3
- package/dist/components/icons/tts.js +0 -4
- package/dist/components/icons/undo.d.ts +0 -3
- package/dist/components/icons/undo.js +0 -2
- package/dist/components/icons/waveform.d.ts +0 -3
- package/dist/components/icons/waveform.js +0 -4
- package/dist/main.d.ts +0 -1
- package/dist/main.js +0 -6
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.341 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 30ms
|
package/LICENSE.md
CHANGED
|
@@ -6,10 +6,10 @@ In Remotion 5.0, the license will slightly change. [View the changes here](https
|
|
|
6
6
|
|
|
7
7
|
Depending on the type of your legal entity, you are granted permission to use Remotion for your project. Individuals and small companies are allowed to use Remotion to create videos for free (even commercial), while a company license is required for for-profit organizations of a certain size. This two-tier system was designed to ensure funding for this project while still allowing the source code to be available and the program to be free for most. Read below for the exact terms of use.
|
|
8
8
|
|
|
9
|
-
- [Free
|
|
10
|
-
- [Company
|
|
9
|
+
- [Free License](#free-license)
|
|
10
|
+
- [Company License](#company-license)
|
|
11
11
|
|
|
12
|
-
## Free
|
|
12
|
+
## Free License
|
|
13
13
|
|
|
14
14
|
Copyright © 2025 [Remotion](https://www.remotion.dev)
|
|
15
15
|
|
|
@@ -24,7 +24,7 @@ You are eligible to use Remotion for free if you are:
|
|
|
24
24
|
|
|
25
25
|
### Allowed use cases
|
|
26
26
|
|
|
27
|
-
Permission is hereby granted, free of charge, to any person eligible for the "Free
|
|
27
|
+
Permission is hereby granted, free of charge, to any person eligible for the "Free License", to use the software non-commercially or commercially for the purpose of creating videos and images and to modify the software to their own liking, for the purpose of fulfilling their custom use case or to contribute bug fixes or improvements back to Remotion.
|
|
28
28
|
|
|
29
29
|
### Disallowed use cases
|
|
30
30
|
|
|
@@ -38,12 +38,12 @@ The software is provided "as is", without warranty of any kind, express or impli
|
|
|
38
38
|
|
|
39
39
|
Support is provided on a best-we-can-do basis via GitHub Issues and Discord.
|
|
40
40
|
|
|
41
|
-
## Company
|
|
41
|
+
## Company License
|
|
42
42
|
|
|
43
|
-
You are required to obtain a
|
|
43
|
+
You are required to obtain a Company License to use Remotion if you are not within the group of entities eligible for a Free License. This license will enable you to use Remotion for the allowed use cases specified in the Free License, and give you access to prioritized support (read the [Support Policy](https://www.remotion.dev/docs/support)).
|
|
44
44
|
|
|
45
45
|
Visit [remotion.pro](https://www.remotion.pro/license) for pricing and to buy a license.
|
|
46
46
|
|
|
47
47
|
### FAQs
|
|
48
48
|
|
|
49
|
-
Are you not sure whether you need a
|
|
49
|
+
Are you not sure whether you need a Company License because of an edge case? Here are some [frequently asked questions](https://www.remotion.pro/faq).
|
package/dist/Homepage.js
CHANGED
|
@@ -735,7 +735,7 @@ var __defProp2, __export2 = (target, all) => {
|
|
|
735
735
|
});
|
|
736
736
|
}, useIsPlayer = () => {
|
|
737
737
|
return useContext(IsPlayerContext);
|
|
738
|
-
}, VERSION = "4.0.
|
|
738
|
+
}, VERSION = "4.0.341", checkMultipleRemotionVersions = () => {
|
|
739
739
|
if (typeof globalThis === "undefined") {
|
|
740
740
|
return;
|
|
741
741
|
}
|
|
@@ -11497,7 +11497,7 @@ var GitHubStars = () => {
|
|
|
11497
11497
|
width: "45px"
|
|
11498
11498
|
}),
|
|
11499
11499
|
/* @__PURE__ */ jsx7(StatItemContent, {
|
|
11500
|
-
content: "
|
|
11500
|
+
content: "24k",
|
|
11501
11501
|
width: "80px",
|
|
11502
11502
|
fontSize: "2.5rem",
|
|
11503
11503
|
fontWeight: "bold"
|
|
@@ -18471,7 +18471,7 @@ var PausedIcon = (props) => {
|
|
|
18471
18471
|
className: "svg-inline--fa fa-play fa-w-14",
|
|
18472
18472
|
role: "img",
|
|
18473
18473
|
xmlns: "http://www.w3.org/2000/svg",
|
|
18474
|
-
viewBox: "0 0
|
|
18474
|
+
viewBox: "0 0 480 512",
|
|
18475
18475
|
...props,
|
|
18476
18476
|
children: /* @__PURE__ */ jsx71("path", {
|
|
18477
18477
|
fill: "currentColor",
|
|
@@ -18482,7 +18482,7 @@ var PausedIcon = (props) => {
|
|
|
18482
18482
|
var PlayingIcon = (props) => {
|
|
18483
18483
|
return /* @__PURE__ */ jsx71("svg", {
|
|
18484
18484
|
xmlns: "http://www.w3.org/2000/svg",
|
|
18485
|
-
viewBox: "0 0
|
|
18485
|
+
viewBox: "0 0 400 512",
|
|
18486
18486
|
fill: "currentColor",
|
|
18487
18487
|
...props,
|
|
18488
18488
|
children: /* @__PURE__ */ jsx71("path", {
|
|
@@ -20000,7 +20000,7 @@ var videoApps = [
|
|
|
20000
20000
|
link: "https://banger.show?ref=remotion",
|
|
20001
20001
|
videoWidth: 1080,
|
|
20002
20002
|
videoHeight: 1080,
|
|
20003
|
-
muxId: "
|
|
20003
|
+
muxId: "Kg02XHfkR6x8400BtO4Ica54XlSPimmmTRpqDHHUaeACk",
|
|
20004
20004
|
buttonText: "Banger.Show website"
|
|
20005
20005
|
},
|
|
20006
20006
|
{
|
|
@@ -20040,59 +20040,16 @@ var icon5 = {
|
|
|
20040
20040
|
var VideoAppsShowcase = () => {
|
|
20041
20041
|
const [activeTab, setActiveTab] = useState40(0);
|
|
20042
20042
|
const [isMuted, setIsMuted] = useState40(true);
|
|
20043
|
+
const [isPlaying, setIsPlaying] = useState40(false);
|
|
20043
20044
|
const videoRef = useRef35(null);
|
|
20044
20045
|
const containerRef = useRef35(null);
|
|
20045
|
-
useEffect47(() => {
|
|
20046
|
-
const observer = new IntersectionObserver((entries) => {
|
|
20047
|
-
if (entries[0].isIntersecting) {
|
|
20048
|
-
if (videoRef.current && videoRef.current.paused) {
|
|
20049
|
-
videoRef.current.muted = true;
|
|
20050
|
-
setIsMuted(true);
|
|
20051
|
-
videoRef.current.play().then(() => {}).catch((error) => {
|
|
20052
|
-
console.error("Playback error:", error);
|
|
20053
|
-
});
|
|
20054
|
-
}
|
|
20055
|
-
} else if (videoRef.current && !videoRef.current.paused) {
|
|
20056
|
-
videoRef.current.pause();
|
|
20057
|
-
}
|
|
20058
|
-
}, { threshold: 0.5 });
|
|
20059
|
-
const currentContainer = containerRef.current;
|
|
20060
|
-
if (currentContainer) {
|
|
20061
|
-
observer.observe(currentContainer);
|
|
20062
|
-
}
|
|
20063
|
-
return () => {
|
|
20064
|
-
if (currentContainer) {
|
|
20065
|
-
observer.unobserve(currentContainer);
|
|
20066
|
-
}
|
|
20067
|
-
};
|
|
20068
|
-
}, []);
|
|
20069
20046
|
useEffect47(() => {
|
|
20070
20047
|
const video = videoRef.current;
|
|
20071
20048
|
if (video) {
|
|
20072
20049
|
video.pause();
|
|
20050
|
+
setIsPlaying(false);
|
|
20073
20051
|
video.currentTime = 0;
|
|
20074
20052
|
video.load();
|
|
20075
|
-
const observer = new IntersectionObserver((entries) => {
|
|
20076
|
-
if (entries[0].isIntersecting) {
|
|
20077
|
-
if (video) {
|
|
20078
|
-
video.muted = true;
|
|
20079
|
-
setIsMuted(true);
|
|
20080
|
-
video.play().then(() => {}).catch((error) => {
|
|
20081
|
-
console.error("Playback error:", error);
|
|
20082
|
-
});
|
|
20083
|
-
}
|
|
20084
|
-
}
|
|
20085
|
-
}, { threshold: 0.5 });
|
|
20086
|
-
observer.observe(video);
|
|
20087
|
-
return () => {
|
|
20088
|
-
observer.disconnect();
|
|
20089
|
-
video.muted = false;
|
|
20090
|
-
if (video) {
|
|
20091
|
-
video.pause();
|
|
20092
|
-
video.currentTime = 0;
|
|
20093
|
-
video.load();
|
|
20094
|
-
}
|
|
20095
|
-
};
|
|
20096
20053
|
}
|
|
20097
20054
|
}, [activeTab]);
|
|
20098
20055
|
const handlePlayPause = () => {
|
|
@@ -20100,12 +20057,16 @@ var VideoAppsShowcase = () => {
|
|
|
20100
20057
|
if (videoRef.current.paused) {
|
|
20101
20058
|
const playPromise = videoRef.current.play();
|
|
20102
20059
|
if (playPromise !== undefined) {
|
|
20103
|
-
playPromise.then(() => {
|
|
20060
|
+
playPromise.then(() => {
|
|
20061
|
+
setIsPlaying(true);
|
|
20062
|
+
}).catch((error) => {
|
|
20104
20063
|
console.error("Playback error:", error);
|
|
20064
|
+
setIsPlaying(false);
|
|
20105
20065
|
});
|
|
20106
20066
|
}
|
|
20107
20067
|
} else {
|
|
20108
20068
|
videoRef.current.pause();
|
|
20069
|
+
setIsPlaying(false);
|
|
20109
20070
|
}
|
|
20110
20071
|
}
|
|
20111
20072
|
};
|
|
@@ -20138,7 +20099,7 @@ var VideoAppsShowcase = () => {
|
|
|
20138
20099
|
className: "flex-1 flex flex-col lg:flex-row justify-center",
|
|
20139
20100
|
children: [
|
|
20140
20101
|
/* @__PURE__ */ jsxs45("div", {
|
|
20141
|
-
className: "w-full max-w-[500px] aspect-square relative overflow-hidden bg-[#eee]",
|
|
20102
|
+
className: "w-full max-w-[500px] aspect-square relative overflow-hidden bg-[#eee] cursor-pointer",
|
|
20142
20103
|
onClick: handlePlayPause,
|
|
20143
20104
|
children: [
|
|
20144
20105
|
/* @__PURE__ */ jsx104(MuxVideo, {
|
|
@@ -20149,20 +20110,48 @@ var VideoAppsShowcase = () => {
|
|
|
20149
20110
|
playsInline: true,
|
|
20150
20111
|
muted: isMuted
|
|
20151
20112
|
}),
|
|
20152
|
-
|
|
20113
|
+
/* @__PURE__ */ jsx104("button", {
|
|
20114
|
+
type: "button",
|
|
20115
|
+
className: "absolute bottom-2.5 left-2.5 bg-white text-black rounded-full w-8 h-8 flex justify-center items-center text-base cursor-pointer transition-colors border-2 border-black border-solid",
|
|
20116
|
+
onClick: (e) => {
|
|
20117
|
+
e.stopPropagation();
|
|
20118
|
+
handlePlayPause();
|
|
20119
|
+
},
|
|
20120
|
+
children: isPlaying ? /* @__PURE__ */ jsx104(PlayingIcon, {
|
|
20121
|
+
style: {
|
|
20122
|
+
width: 12,
|
|
20123
|
+
height: 20,
|
|
20124
|
+
marginLeft: "2px",
|
|
20125
|
+
marginTop: "1px"
|
|
20126
|
+
}
|
|
20127
|
+
}) : /* @__PURE__ */ jsx104(PausedIcon, {
|
|
20128
|
+
style: {
|
|
20129
|
+
width: 14,
|
|
20130
|
+
height: 16,
|
|
20131
|
+
marginLeft: "2px",
|
|
20132
|
+
marginTop: "0.5px"
|
|
20133
|
+
}
|
|
20134
|
+
})
|
|
20135
|
+
}),
|
|
20136
|
+
/* @__PURE__ */ jsx104("button", {
|
|
20153
20137
|
type: "button",
|
|
20154
20138
|
className: "absolute bottom-2.5 right-2.5 bg-white text-black rounded-full w-8 h-8 flex justify-center items-center text-base cursor-pointer transition-colors border-2 border-black border-solid",
|
|
20155
20139
|
onClick: (e) => {
|
|
20156
20140
|
e.stopPropagation();
|
|
20157
20141
|
handleMuteToggle();
|
|
20158
20142
|
},
|
|
20159
|
-
children: /* @__PURE__ */ jsx104(
|
|
20160
|
-
style: {
|
|
20161
|
-
|
|
20162
|
-
|
|
20163
|
-
|
|
20164
|
-
|
|
20165
|
-
|
|
20143
|
+
children: isMuted ? /* @__PURE__ */ jsx104(IsMutedIcon, {
|
|
20144
|
+
style: {
|
|
20145
|
+
width: 16,
|
|
20146
|
+
height: 16,
|
|
20147
|
+
marginTop: "1px"
|
|
20148
|
+
}
|
|
20149
|
+
}) : /* @__PURE__ */ jsx104(NotMutedIcon, {
|
|
20150
|
+
style: {
|
|
20151
|
+
width: 16,
|
|
20152
|
+
height: 16,
|
|
20153
|
+
marginTop: "1px"
|
|
20154
|
+
}
|
|
20166
20155
|
})
|
|
20167
20156
|
})
|
|
20168
20157
|
]
|
|
@@ -20312,7 +20301,8 @@ var listOfRemotionPackages = [
|
|
|
20312
20301
|
"@remotion/compositor",
|
|
20313
20302
|
"@remotion/example-videos",
|
|
20314
20303
|
"@remotion/whisper-web",
|
|
20315
|
-
"@remotion/video"
|
|
20304
|
+
"@remotion/video",
|
|
20305
|
+
"@remotion/web-renderer"
|
|
20316
20306
|
];
|
|
20317
20307
|
function truthy3(value) {
|
|
20318
20308
|
return Boolean(value);
|
|
@@ -21359,7 +21349,7 @@ var GithubButton = () => {
|
|
|
21359
21349
|
" ",
|
|
21360
21350
|
/* @__PURE__ */ jsx130("div", {
|
|
21361
21351
|
className: "text-xs inline-block ml-2 leading-none mt-[3px] self-center",
|
|
21362
|
-
children: "
|
|
21352
|
+
children: "24k"
|
|
21363
21353
|
})
|
|
21364
21354
|
]
|
|
21365
21355
|
});
|
package/dist/tailwind.css
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/promo-pages",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.341",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
"polished": "4.3.1",
|
|
11
11
|
"zod": "3.22.3",
|
|
12
12
|
"bun-plugin-tailwind": "0.0.15",
|
|
13
|
-
"@remotion/animated-emoji": "4.0.
|
|
14
|
-
"@remotion/
|
|
15
|
-
"@remotion/lambda": "4.0.
|
|
16
|
-
"@remotion/
|
|
17
|
-
"@remotion/
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
13
|
+
"@remotion/animated-emoji": "4.0.341",
|
|
14
|
+
"@remotion/player": "4.0.341",
|
|
15
|
+
"@remotion/lambda": "4.0.341",
|
|
16
|
+
"@remotion/shapes": "4.0.341",
|
|
17
|
+
"@remotion/lottie": "4.0.341",
|
|
18
|
+
"@remotion/paths": "4.0.341",
|
|
19
|
+
"create-video": "4.0.341",
|
|
20
|
+
"remotion": "4.0.341"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@eslint/eslintrc": "3.1.0",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"tailwind-merge": "2.5.2",
|
|
35
35
|
"bun-plugin-tailwind": "0.0.13",
|
|
36
36
|
"clsx": "2.1.1",
|
|
37
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
37
|
+
"@remotion/eslint-config-internal": "4.0.341"
|
|
38
38
|
},
|
|
39
39
|
"repository": {
|
|
40
40
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/promo-pages"
|
|
@@ -50,7 +50,7 @@ export const PausedIcon: React.FC<SVGProps<SVGSVGElement>> = (props) => {
|
|
|
50
50
|
className="svg-inline--fa fa-play fa-w-14"
|
|
51
51
|
role="img"
|
|
52
52
|
xmlns="http://www.w3.org/2000/svg"
|
|
53
|
-
viewBox="0 0
|
|
53
|
+
viewBox="0 0 480 512"
|
|
54
54
|
{...props}
|
|
55
55
|
>
|
|
56
56
|
<path
|
|
@@ -65,7 +65,7 @@ export const PlayingIcon: React.FC<SVGProps<SVGSVGElement>> = (props) => {
|
|
|
65
65
|
return (
|
|
66
66
|
<svg
|
|
67
67
|
xmlns="http://www.w3.org/2000/svg"
|
|
68
|
-
viewBox="0 0
|
|
68
|
+
viewBox="0 0 400 512"
|
|
69
69
|
fill="currentColor"
|
|
70
70
|
{...props}
|
|
71
71
|
>
|
|
@@ -16,7 +16,7 @@ export const GithubButton: React.FC = () => {
|
|
|
16
16
|
<div className="flex flex-row items-center text-base">
|
|
17
17
|
<GithubIcon /> <span>GitHub</span>{' '}
|
|
18
18
|
<div className="text-xs inline-block ml-2 leading-none mt-[3px] self-center">
|
|
19
|
-
{'
|
|
19
|
+
{'24k'}
|
|
20
20
|
</div>
|
|
21
21
|
</div>
|
|
22
22
|
);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, {useEffect, useRef, useState} from 'react';
|
|
2
2
|
|
|
3
|
+
import {IsMutedIcon, NotMutedIcon, PausedIcon, PlayingIcon} from './Demo/icons';
|
|
3
4
|
import {MuxVideo} from './MuxVideo';
|
|
4
5
|
import {SectionTitle} from './VideoAppsTitle';
|
|
5
6
|
|
|
@@ -18,7 +19,7 @@ const videoApps = [
|
|
|
18
19
|
link: 'https://banger.show?ref=remotion',
|
|
19
20
|
videoWidth: 1080,
|
|
20
21
|
videoHeight: 1080,
|
|
21
|
-
muxId: '
|
|
22
|
+
muxId: 'Kg02XHfkR6x8400BtO4Ica54XlSPimmmTRpqDHHUaeACk',
|
|
22
23
|
buttonText: 'Banger.Show website',
|
|
23
24
|
},
|
|
24
25
|
{
|
|
@@ -64,82 +65,18 @@ const icon: React.CSSProperties = {
|
|
|
64
65
|
const VideoAppsShowcase: React.FC = () => {
|
|
65
66
|
const [activeTab, setActiveTab] = useState(0);
|
|
66
67
|
const [isMuted, setIsMuted] = useState(true);
|
|
68
|
+
const [isPlaying, setIsPlaying] = useState(false);
|
|
67
69
|
const videoRef = useRef<HTMLVideoElement>(null);
|
|
68
70
|
const containerRef = useRef<HTMLDivElement>(null);
|
|
69
71
|
|
|
70
|
-
|
|
71
|
-
const observer = new IntersectionObserver(
|
|
72
|
-
(entries) => {
|
|
73
|
-
if (entries[0].isIntersecting) {
|
|
74
|
-
if (videoRef.current && videoRef.current.paused) {
|
|
75
|
-
videoRef.current.muted = true; // Ensure video is muted before autoplay
|
|
76
|
-
setIsMuted(true); // Update state to reflect muted status
|
|
77
|
-
videoRef.current
|
|
78
|
-
.play()
|
|
79
|
-
.then(() => {})
|
|
80
|
-
.catch((error) => {
|
|
81
|
-
// eslint-disable-next-line no-console
|
|
82
|
-
console.error('Playback error:', error);
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
} else if (videoRef.current && !videoRef.current.paused) {
|
|
86
|
-
videoRef.current.pause();
|
|
87
|
-
}
|
|
88
|
-
},
|
|
89
|
-
{threshold: 0.5},
|
|
90
|
-
);
|
|
91
|
-
|
|
92
|
-
const currentContainer = containerRef.current;
|
|
93
|
-
if (currentContainer) {
|
|
94
|
-
observer.observe(currentContainer);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
return () => {
|
|
98
|
-
if (currentContainer) {
|
|
99
|
-
observer.unobserve(currentContainer);
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
}, []);
|
|
103
|
-
|
|
72
|
+
// Remove the intersection observer autoplay logic
|
|
104
73
|
useEffect(() => {
|
|
105
74
|
const video = videoRef.current;
|
|
106
75
|
if (video) {
|
|
107
76
|
video.pause();
|
|
77
|
+
setIsPlaying(false);
|
|
108
78
|
video.currentTime = 0;
|
|
109
79
|
video.load();
|
|
110
|
-
|
|
111
|
-
// Check if the video is visible and play it if it is
|
|
112
|
-
const observer = new IntersectionObserver(
|
|
113
|
-
(entries) => {
|
|
114
|
-
if (entries[0].isIntersecting) {
|
|
115
|
-
// Introduce a delay before playing the video
|
|
116
|
-
if (video) {
|
|
117
|
-
video.muted = true; // Ensure video is muted before autoplay
|
|
118
|
-
setIsMuted(true); // Update state to reflect muted status
|
|
119
|
-
video
|
|
120
|
-
.play()
|
|
121
|
-
.then(() => {})
|
|
122
|
-
.catch((error) => {
|
|
123
|
-
// eslint-disable-next-line no-console
|
|
124
|
-
console.error('Playback error:', error);
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
},
|
|
129
|
-
{threshold: 0.5},
|
|
130
|
-
);
|
|
131
|
-
|
|
132
|
-
observer.observe(video);
|
|
133
|
-
|
|
134
|
-
return () => {
|
|
135
|
-
observer.disconnect();
|
|
136
|
-
video.muted = false; // Unmute the video when it's no longer visible
|
|
137
|
-
if (video) {
|
|
138
|
-
video.pause();
|
|
139
|
-
video.currentTime = 0;
|
|
140
|
-
video.load();
|
|
141
|
-
}
|
|
142
|
-
};
|
|
143
80
|
}
|
|
144
81
|
}, [activeTab]);
|
|
145
82
|
|
|
@@ -151,16 +88,17 @@ const VideoAppsShowcase: React.FC = () => {
|
|
|
151
88
|
if (playPromise !== undefined) {
|
|
152
89
|
playPromise
|
|
153
90
|
.then(() => {
|
|
154
|
-
|
|
91
|
+
setIsPlaying(true);
|
|
155
92
|
})
|
|
156
93
|
.catch((error) => {
|
|
157
|
-
// Auto-play was prevented or there was an error
|
|
158
94
|
// eslint-disable-next-line no-console
|
|
159
95
|
console.error('Playback error:', error);
|
|
96
|
+
setIsPlaying(false);
|
|
160
97
|
});
|
|
161
98
|
}
|
|
162
99
|
} else {
|
|
163
100
|
videoRef.current.pause();
|
|
101
|
+
setIsPlaying(false);
|
|
164
102
|
}
|
|
165
103
|
}
|
|
166
104
|
};
|
|
@@ -197,7 +135,7 @@ const VideoAppsShowcase: React.FC = () => {
|
|
|
197
135
|
<div className={'flex-1 flex flex-col lg:flex-row justify-center'}>
|
|
198
136
|
<div
|
|
199
137
|
className={
|
|
200
|
-
'w-full max-w-[500px] aspect-square relative overflow-hidden bg-[#eee]'
|
|
138
|
+
'w-full max-w-[500px] aspect-square relative overflow-hidden bg-[#eee] cursor-pointer'
|
|
201
139
|
}
|
|
202
140
|
onClick={handlePlayPause}
|
|
203
141
|
>
|
|
@@ -212,25 +150,67 @@ const VideoAppsShowcase: React.FC = () => {
|
|
|
212
150
|
muted={isMuted}
|
|
213
151
|
/>
|
|
214
152
|
|
|
215
|
-
{
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
153
|
+
{/* Play/Pause Button - bottom left corner */}
|
|
154
|
+
<button
|
|
155
|
+
type="button"
|
|
156
|
+
className={
|
|
157
|
+
'absolute bottom-2.5 left-2.5 bg-white text-black rounded-full w-8 h-8 flex justify-center items-center text-base cursor-pointer transition-colors border-2 border-black border-solid'
|
|
158
|
+
}
|
|
159
|
+
onClick={(e) => {
|
|
160
|
+
e.stopPropagation();
|
|
161
|
+
handlePlayPause();
|
|
162
|
+
}}
|
|
163
|
+
>
|
|
164
|
+
{isPlaying ? (
|
|
165
|
+
<PlayingIcon
|
|
166
|
+
style={{
|
|
167
|
+
width: 12,
|
|
168
|
+
height: 20,
|
|
169
|
+
marginLeft: '2px',
|
|
170
|
+
marginTop: '1px',
|
|
171
|
+
}}
|
|
172
|
+
/>
|
|
173
|
+
) : (
|
|
174
|
+
<PausedIcon
|
|
175
|
+
style={{
|
|
176
|
+
width: 14,
|
|
177
|
+
height: 16,
|
|
178
|
+
marginLeft: '2px',
|
|
179
|
+
marginTop: '0.5px',
|
|
180
|
+
}}
|
|
181
|
+
/>
|
|
182
|
+
)}
|
|
183
|
+
</button>
|
|
184
|
+
|
|
185
|
+
{/* Mute/Unmute Button - bottom right corner */}
|
|
186
|
+
<button
|
|
187
|
+
type="button"
|
|
188
|
+
className={
|
|
189
|
+
'absolute bottom-2.5 right-2.5 bg-white text-black rounded-full w-8 h-8 flex justify-center items-center text-base cursor-pointer transition-colors border-2 border-black border-solid'
|
|
190
|
+
}
|
|
191
|
+
onClick={(e) => {
|
|
192
|
+
e.stopPropagation();
|
|
193
|
+
handleMuteToggle();
|
|
194
|
+
}}
|
|
195
|
+
>
|
|
196
|
+
{isMuted ? (
|
|
197
|
+
<IsMutedIcon
|
|
198
|
+
style={{
|
|
199
|
+
width: 16,
|
|
200
|
+
height: 16,
|
|
201
|
+
marginTop: '1px',
|
|
202
|
+
}}
|
|
203
|
+
/>
|
|
204
|
+
) : (
|
|
205
|
+
<NotMutedIcon
|
|
206
|
+
style={{
|
|
207
|
+
width: 16,
|
|
208
|
+
height: 16,
|
|
209
|
+
marginTop: '1px',
|
|
210
|
+
}}
|
|
211
|
+
/>
|
|
212
|
+
)}
|
|
213
|
+
</button>
|
|
234
214
|
</div>
|
|
235
215
|
<div className={'p-6 flex-1 flex flex-col h-full'}>
|
|
236
216
|
<div className="text-4xl font-bold fontbrand mt-0">
|
package/dist/cn.d.ts
DELETED
package/dist/cn.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
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 EvaluateRemotionSection from './homepage/EvaluateRemotion';
|
|
7
|
-
import { IfYouKnowReact } from './homepage/IfYouKnowReact';
|
|
8
|
-
import { ColorModeProvider } from './homepage/layout/use-color-mode';
|
|
9
|
-
import { MoreVideoPowerSection } from './homepage/MoreVideoPowerSection';
|
|
10
|
-
import { NewsletterButton } from './homepage/NewsletterButton';
|
|
11
|
-
import { ParameterizeAndEdit } from './homepage/ParameterizeAndEdit';
|
|
12
|
-
import { Pricing } from './homepage/Pricing';
|
|
13
|
-
import { RealMP4Videos } from './homepage/RealMp4Videos';
|
|
14
|
-
import TrustedByBanner from './homepage/TrustedByBanner';
|
|
15
|
-
import VideoAppsShowcase from './homepage/VideoAppsShowcase';
|
|
16
|
-
import { SectionTitle } 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(ParameterizeAndEdit, {}), _jsx(RealMP4Videos, {}), _jsx("br", {}), _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(SectionTitle, { children: "Even more power to developers" }), _jsx("div", { className: 'fontbrand text-center mb-10 -mt-4', children: "Innovative video products that you might enjoy." }), _jsx(MoreVideoPowerSection, {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {}), _jsx(NewsletterButton, {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {})] })] }) }) }));
|
|
20
|
-
};
|