@remotion/promo-pages 4.0.363 → 4.0.365
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/Homepage.js +26 -27
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/Homepage.js +26 -27
- package/package.json +10 -10
- package/.turbo/turbo-lint.log +0 -15
- package/.turbo/turbo-make.log +0 -5
- package/bundle.ts +0 -54
- package/eslint.config.mjs +0 -7
- package/server.ts +0 -26
- package/src/cn.ts +0 -6
- package/src/components/Homepage.tsx +0 -87
- package/src/components/TeamPicture.tsx +0 -11
- package/src/components/homepage/BackgroundAnimation.tsx +0 -108
- package/src/components/homepage/ChooseTemplate.tsx +0 -57
- package/src/components/homepage/CommunityStats.tsx +0 -54
- package/src/components/homepage/CommunityStatsItems.tsx +0 -304
- package/src/components/homepage/Counter.tsx +0 -120
- package/src/components/homepage/Demo/Card.tsx +0 -273
- package/src/components/homepage/Demo/Cards.tsx +0 -129
- package/src/components/homepage/Demo/Comp.tsx +0 -157
- package/src/components/homepage/Demo/CurrentCountry.tsx +0 -97
- package/src/components/homepage/Demo/DemoError.tsx +0 -18
- package/src/components/homepage/Demo/DemoErrorIcon.tsx +0 -32
- package/src/components/homepage/Demo/DemoRender.tsx +0 -166
- package/src/components/homepage/Demo/DigitWheel.tsx +0 -179
- package/src/components/homepage/Demo/DisplayedEmoji.tsx +0 -93
- package/src/components/homepage/Demo/DoneCheckmark.tsx +0 -39
- package/src/components/homepage/Demo/DownloadNudge.tsx +0 -62
- package/src/components/homepage/Demo/DragAndDropNudge.tsx +0 -57
- package/src/components/homepage/Demo/EmojiCard.tsx +0 -200
- package/src/components/homepage/Demo/Minus.tsx +0 -21
- package/src/components/homepage/Demo/PlayPauseButton.tsx +0 -66
- package/src/components/homepage/Demo/PlayerControls.tsx +0 -48
- package/src/components/homepage/Demo/PlayerSeekBar.tsx +0 -325
- package/src/components/homepage/Demo/PlayerVolume.tsx +0 -83
- package/src/components/homepage/Demo/Progress.tsx +0 -38
- package/src/components/homepage/Demo/Spinner.tsx +0 -60
- package/src/components/homepage/Demo/Switcher.tsx +0 -54
- package/src/components/homepage/Demo/Temperature.tsx +0 -44
- package/src/components/homepage/Demo/TemperatureNumber.tsx +0 -68
- package/src/components/homepage/Demo/ThemeNudge.tsx +0 -72
- package/src/components/homepage/Demo/TimeDisplay.tsx +0 -43
- package/src/components/homepage/Demo/TrendingRepos.tsx +0 -106
- package/src/components/homepage/Demo/icons.tsx +0 -114
- package/src/components/homepage/Demo/index.tsx +0 -158
- package/src/components/homepage/Demo/math.ts +0 -43
- package/src/components/homepage/Demo/types.ts +0 -6
- package/src/components/homepage/EditorStarterSection.tsx +0 -76
- package/src/components/homepage/EvaluateRemotion.tsx +0 -92
- package/src/components/homepage/FreePricing.tsx +0 -283
- package/src/components/homepage/GetStartedStrip.tsx +0 -77
- package/src/components/homepage/GitHubButton.tsx +0 -23
- package/src/components/homepage/IconForTemplate.tsx +0 -170
- package/src/components/homepage/IfYouKnowReact.tsx +0 -68
- package/src/components/homepage/InfoTooltip.tsx +0 -25
- package/src/components/homepage/MoreTemplatesButton.tsx +0 -29
- package/src/components/homepage/MoreVideoPowerSection.tsx +0 -95
- package/src/components/homepage/MuxVideo.tsx +0 -68
- package/src/components/homepage/NewsletterButton.tsx +0 -89
- package/src/components/homepage/ParameterizeAndEdit.tsx +0 -106
- package/src/components/homepage/Pricing.tsx +0 -49
- package/src/components/homepage/PricingBulletPoint.tsx +0 -50
- package/src/components/homepage/RealMp4Videos.tsx +0 -108
- package/src/components/homepage/Spacer.tsx +0 -5
- package/src/components/homepage/TemplateIcon.tsx +0 -36
- package/src/components/homepage/TextInput.tsx +0 -62
- package/src/components/homepage/TrustedByBanner.tsx +0 -145
- package/src/components/homepage/VideoApps.tsx +0 -231
- package/src/components/homepage/VideoAppsShowcase.tsx +0 -270
- package/src/components/homepage/VideoAppsTitle.tsx +0 -11
- package/src/components/homepage/VideoPlayerWithControls.tsx +0 -189
- package/src/components/homepage/WriteInReact.tsx +0 -34
- package/src/components/homepage/YouAreHere.tsx +0 -30
- package/src/components/homepage/layout/Button.tsx +0 -93
- package/src/components/homepage/layout/colors.ts +0 -17
- package/src/components/homepage/layout/use-color-mode.tsx +0 -44
- package/src/components/homepage/layout/use-el-size.ts +0 -51
- package/src/components/homepage/layout/use-mobile-layout.ts +0 -8
- package/src/components/homepage/video-player.css +0 -24
- package/src/components/icons/blank.tsx +0 -13
- package/src/components/icons/clone.tsx +0 -10
- package/src/components/icons/code-hike.tsx +0 -15
- package/src/components/icons/cubes.tsx +0 -13
- package/src/components/icons/js.tsx +0 -17
- package/src/components/icons/music.tsx +0 -9
- package/src/components/icons/next.tsx +0 -64
- package/src/components/icons/overlay.tsx +0 -24
- package/src/components/icons/recorder.tsx +0 -23
- package/src/components/icons/remix.tsx +0 -27
- package/src/components/icons/skia.tsx +0 -13
- package/src/components/icons/stargazer.tsx +0 -13
- package/src/components/icons/still.tsx +0 -13
- package/src/components/icons/tailwind.tsx +0 -22
- package/src/components/icons/tiktok.tsx +0 -13
- package/src/components/icons/ts.tsx +0 -18
- package/src/components/icons/tts.tsx +0 -13
- package/src/components/icons/undo.tsx +0 -11
- package/src/components/icons/waveform.tsx +0 -13
- package/src/components/team/TeamCards.tsx +0 -167
- package/src/components/team/TitleTeamCards.tsx +0 -22
- package/src/components/team.css +0 -22
- package/src/components/team.tsx +0 -51
- package/src/fonts.css +0 -30
- package/src/index.css +0 -140
- package/src/main.tsx +0 -12
- package/src/team.tsx +0 -12
- package/tsconfig.json +0 -11
- package/vite.config.ts +0 -9
package/dist/Homepage.js
CHANGED
|
@@ -745,7 +745,7 @@ var __defProp2, __export2 = (target, all) => {
|
|
|
745
745
|
});
|
|
746
746
|
}, useIsPlayer = () => {
|
|
747
747
|
return useContext(IsPlayerContext);
|
|
748
|
-
}, VERSION = "4.0.
|
|
748
|
+
}, VERSION = "4.0.365", checkMultipleRemotionVersions = () => {
|
|
749
749
|
if (typeof globalThis === "undefined") {
|
|
750
750
|
return;
|
|
751
751
|
}
|
|
@@ -1674,12 +1674,15 @@ Check that all your Remotion packages are on the same version. If your dependenc
|
|
|
1674
1674
|
if (!sequenceContext) {
|
|
1675
1675
|
return null;
|
|
1676
1676
|
}
|
|
1677
|
+
if (!isActive) {
|
|
1678
|
+
return sequenceContext;
|
|
1679
|
+
}
|
|
1677
1680
|
return {
|
|
1678
1681
|
...sequenceContext,
|
|
1679
1682
|
relativeFrom: 0,
|
|
1680
1683
|
cumulatedFrom: 0
|
|
1681
1684
|
};
|
|
1682
|
-
}, [sequenceContext]);
|
|
1685
|
+
}, [sequenceContext, isActive]);
|
|
1683
1686
|
return /* @__PURE__ */ jsx72(TimelineContext.Provider, {
|
|
1684
1687
|
value: timelineValue,
|
|
1685
1688
|
children: /* @__PURE__ */ jsx72(SequenceContext.Provider, {
|
|
@@ -2717,7 +2720,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
|
|
|
2717
2720
|
throw new TypeError(`trimAfter must be a positive number, instead got ${trimAfter}.`);
|
|
2718
2721
|
}
|
|
2719
2722
|
}
|
|
2720
|
-
if (trimAfter
|
|
2723
|
+
if (trimAfter <= trimBefore) {
|
|
2721
2724
|
throw new TypeError("trimAfter prop must be greater than trimBefore prop.");
|
|
2722
2725
|
}
|
|
2723
2726
|
}, validateMediaTrimProps = ({
|
|
@@ -5033,27 +5036,21 @@ Check that all your Remotion packages are on the same version. If your dependenc
|
|
|
5033
5036
|
onImageFrame?.(current);
|
|
5034
5037
|
}
|
|
5035
5038
|
unblock();
|
|
5036
|
-
|
|
5037
|
-
continueRender2(newHandle);
|
|
5038
|
-
});
|
|
5039
|
+
continueRender2(newHandle);
|
|
5039
5040
|
};
|
|
5040
5041
|
if (!imageRef.current) {
|
|
5041
5042
|
onComplete();
|
|
5042
5043
|
return;
|
|
5043
5044
|
}
|
|
5044
5045
|
current.src = actualSrc;
|
|
5045
|
-
|
|
5046
|
-
|
|
5047
|
-
|
|
5048
|
-
|
|
5049
|
-
|
|
5050
|
-
|
|
5051
|
-
|
|
5052
|
-
|
|
5053
|
-
current.addEventListener("load", onComplete);
|
|
5054
|
-
}
|
|
5055
|
-
});
|
|
5056
|
-
}
|
|
5046
|
+
current.decode().then(onComplete).catch((err) => {
|
|
5047
|
+
console.warn(err);
|
|
5048
|
+
if (current.complete) {
|
|
5049
|
+
onComplete();
|
|
5050
|
+
} else {
|
|
5051
|
+
current.addEventListener("load", onComplete);
|
|
5052
|
+
}
|
|
5053
|
+
});
|
|
5057
5054
|
return () => {
|
|
5058
5055
|
unmounted = true;
|
|
5059
5056
|
current.removeEventListener("load", onComplete);
|
|
@@ -5081,7 +5078,8 @@ Check that all your Remotion packages are on the same version. If your dependenc
|
|
|
5081
5078
|
...props2,
|
|
5082
5079
|
ref: imageRef,
|
|
5083
5080
|
crossOrigin: crossOriginValue,
|
|
5084
|
-
onError: didGetError
|
|
5081
|
+
onError: didGetError,
|
|
5082
|
+
decoding: "sync"
|
|
5085
5083
|
});
|
|
5086
5084
|
}, Img, compositionsRef, CompositionManagerProvider = ({
|
|
5087
5085
|
children,
|
|
@@ -6832,12 +6830,12 @@ var init_esm = __esm(() => {
|
|
|
6832
6830
|
warn,
|
|
6833
6831
|
error
|
|
6834
6832
|
};
|
|
6835
|
-
if (typeof window !== "undefined") {
|
|
6836
|
-
window.remotion_renderReady = false;
|
|
6837
|
-
}
|
|
6838
6833
|
handles = [];
|
|
6839
6834
|
if (typeof window !== "undefined") {
|
|
6840
|
-
window.
|
|
6835
|
+
window.remotion_renderReady = false;
|
|
6836
|
+
if (!window.remotion_delayRenderTimeouts) {
|
|
6837
|
+
window.remotion_delayRenderTimeouts = {};
|
|
6838
|
+
}
|
|
6841
6839
|
}
|
|
6842
6840
|
Canvas = React9.forwardRef(CanvasRefForwardingFunction);
|
|
6843
6841
|
AnimatedImage = forwardRef3(({
|
|
@@ -7121,7 +7119,8 @@ var init_esm = __esm(() => {
|
|
|
7121
7119
|
getInputPropsOverride,
|
|
7122
7120
|
setInputPropsOverride,
|
|
7123
7121
|
useVideoEnabled,
|
|
7124
|
-
useAudioEnabled
|
|
7122
|
+
useAudioEnabled,
|
|
7123
|
+
useIsPlayerBuffering
|
|
7125
7124
|
};
|
|
7126
7125
|
PERCENTAGE = NUMBER + "%";
|
|
7127
7126
|
IsInsideSeriesContext = createContext20(false);
|
|
@@ -12434,9 +12433,9 @@ function truthy2(value) {
|
|
|
12434
12433
|
}
|
|
12435
12434
|
if (typeof window !== "undefined") {
|
|
12436
12435
|
window.remotion_renderReady = false;
|
|
12437
|
-
|
|
12438
|
-
|
|
12439
|
-
|
|
12436
|
+
if (!window.remotion_delayRenderTimeouts) {
|
|
12437
|
+
window.remotion_delayRenderTimeouts = {};
|
|
12438
|
+
}
|
|
12440
12439
|
}
|
|
12441
12440
|
var DELAY_RENDER_CALLSTACK_TOKEN2 = "The delayRender was called:";
|
|
12442
12441
|
var DELAY_RENDER_RETRIES_LEFT2 = "Retries left: ";
|
|
@@ -745,7 +745,7 @@ var __defProp2, __export2 = (target, all) => {
|
|
|
745
745
|
});
|
|
746
746
|
}, useIsPlayer = () => {
|
|
747
747
|
return useContext(IsPlayerContext);
|
|
748
|
-
}, VERSION = "4.0.
|
|
748
|
+
}, VERSION = "4.0.365", checkMultipleRemotionVersions = () => {
|
|
749
749
|
if (typeof globalThis === "undefined") {
|
|
750
750
|
return;
|
|
751
751
|
}
|
|
@@ -1674,12 +1674,15 @@ Check that all your Remotion packages are on the same version. If your dependenc
|
|
|
1674
1674
|
if (!sequenceContext) {
|
|
1675
1675
|
return null;
|
|
1676
1676
|
}
|
|
1677
|
+
if (!isActive) {
|
|
1678
|
+
return sequenceContext;
|
|
1679
|
+
}
|
|
1677
1680
|
return {
|
|
1678
1681
|
...sequenceContext,
|
|
1679
1682
|
relativeFrom: 0,
|
|
1680
1683
|
cumulatedFrom: 0
|
|
1681
1684
|
};
|
|
1682
|
-
}, [sequenceContext]);
|
|
1685
|
+
}, [sequenceContext, isActive]);
|
|
1683
1686
|
return /* @__PURE__ */ jsx72(TimelineContext.Provider, {
|
|
1684
1687
|
value: timelineValue,
|
|
1685
1688
|
children: /* @__PURE__ */ jsx72(SequenceContext.Provider, {
|
|
@@ -2717,7 +2720,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
|
|
|
2717
2720
|
throw new TypeError(`trimAfter must be a positive number, instead got ${trimAfter}.`);
|
|
2718
2721
|
}
|
|
2719
2722
|
}
|
|
2720
|
-
if (trimAfter
|
|
2723
|
+
if (trimAfter <= trimBefore) {
|
|
2721
2724
|
throw new TypeError("trimAfter prop must be greater than trimBefore prop.");
|
|
2722
2725
|
}
|
|
2723
2726
|
}, validateMediaTrimProps = ({
|
|
@@ -5033,27 +5036,21 @@ Check that all your Remotion packages are on the same version. If your dependenc
|
|
|
5033
5036
|
onImageFrame?.(current);
|
|
5034
5037
|
}
|
|
5035
5038
|
unblock();
|
|
5036
|
-
|
|
5037
|
-
continueRender2(newHandle);
|
|
5038
|
-
});
|
|
5039
|
+
continueRender2(newHandle);
|
|
5039
5040
|
};
|
|
5040
5041
|
if (!imageRef.current) {
|
|
5041
5042
|
onComplete();
|
|
5042
5043
|
return;
|
|
5043
5044
|
}
|
|
5044
5045
|
current.src = actualSrc;
|
|
5045
|
-
|
|
5046
|
-
|
|
5047
|
-
|
|
5048
|
-
|
|
5049
|
-
|
|
5050
|
-
|
|
5051
|
-
|
|
5052
|
-
|
|
5053
|
-
current.addEventListener("load", onComplete);
|
|
5054
|
-
}
|
|
5055
|
-
});
|
|
5056
|
-
}
|
|
5046
|
+
current.decode().then(onComplete).catch((err) => {
|
|
5047
|
+
console.warn(err);
|
|
5048
|
+
if (current.complete) {
|
|
5049
|
+
onComplete();
|
|
5050
|
+
} else {
|
|
5051
|
+
current.addEventListener("load", onComplete);
|
|
5052
|
+
}
|
|
5053
|
+
});
|
|
5057
5054
|
return () => {
|
|
5058
5055
|
unmounted = true;
|
|
5059
5056
|
current.removeEventListener("load", onComplete);
|
|
@@ -5081,7 +5078,8 @@ Check that all your Remotion packages are on the same version. If your dependenc
|
|
|
5081
5078
|
...props2,
|
|
5082
5079
|
ref: imageRef,
|
|
5083
5080
|
crossOrigin: crossOriginValue,
|
|
5084
|
-
onError: didGetError
|
|
5081
|
+
onError: didGetError,
|
|
5082
|
+
decoding: "sync"
|
|
5085
5083
|
});
|
|
5086
5084
|
}, Img, compositionsRef, CompositionManagerProvider = ({
|
|
5087
5085
|
children,
|
|
@@ -6832,12 +6830,12 @@ var init_esm = __esm(() => {
|
|
|
6832
6830
|
warn,
|
|
6833
6831
|
error
|
|
6834
6832
|
};
|
|
6835
|
-
if (typeof window !== "undefined") {
|
|
6836
|
-
window.remotion_renderReady = false;
|
|
6837
|
-
}
|
|
6838
6833
|
handles = [];
|
|
6839
6834
|
if (typeof window !== "undefined") {
|
|
6840
|
-
window.
|
|
6835
|
+
window.remotion_renderReady = false;
|
|
6836
|
+
if (!window.remotion_delayRenderTimeouts) {
|
|
6837
|
+
window.remotion_delayRenderTimeouts = {};
|
|
6838
|
+
}
|
|
6841
6839
|
}
|
|
6842
6840
|
Canvas = React9.forwardRef(CanvasRefForwardingFunction);
|
|
6843
6841
|
AnimatedImage = forwardRef3(({
|
|
@@ -7121,7 +7119,8 @@ var init_esm = __esm(() => {
|
|
|
7121
7119
|
getInputPropsOverride,
|
|
7122
7120
|
setInputPropsOverride,
|
|
7123
7121
|
useVideoEnabled,
|
|
7124
|
-
useAudioEnabled
|
|
7122
|
+
useAudioEnabled,
|
|
7123
|
+
useIsPlayerBuffering
|
|
7125
7124
|
};
|
|
7126
7125
|
PERCENTAGE = NUMBER + "%";
|
|
7127
7126
|
IsInsideSeriesContext = createContext20(false);
|
|
@@ -12434,9 +12433,9 @@ function truthy2(value) {
|
|
|
12434
12433
|
}
|
|
12435
12434
|
if (typeof window !== "undefined") {
|
|
12436
12435
|
window.remotion_renderReady = false;
|
|
12437
|
-
|
|
12438
|
-
|
|
12439
|
-
|
|
12436
|
+
if (!window.remotion_delayRenderTimeouts) {
|
|
12437
|
+
window.remotion_delayRenderTimeouts = {};
|
|
12438
|
+
}
|
|
12440
12439
|
}
|
|
12441
12440
|
var DELAY_RENDER_CALLSTACK_TOKEN2 = "The delayRender was called:";
|
|
12442
12441
|
var DELAY_RENDER_RETRIES_LEFT2 = "Retries left: ";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/promo-pages",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.365",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -11,21 +11,21 @@
|
|
|
11
11
|
},
|
|
12
12
|
"type": "module",
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@remotion/animated-emoji": "4.0.
|
|
15
|
-
"@remotion/lambda": "4.0.
|
|
16
|
-
"@remotion/lottie": "4.0.
|
|
17
|
-
"@remotion/paths": "4.0.
|
|
18
|
-
"@remotion/player": "4.0.
|
|
19
|
-
"@remotion/shapes": "4.0.
|
|
20
|
-
"create-video": "4.0.
|
|
14
|
+
"@remotion/animated-emoji": "4.0.365",
|
|
15
|
+
"@remotion/lambda": "4.0.365",
|
|
16
|
+
"@remotion/lottie": "4.0.365",
|
|
17
|
+
"@remotion/paths": "4.0.365",
|
|
18
|
+
"@remotion/player": "4.0.365",
|
|
19
|
+
"@remotion/shapes": "4.0.365",
|
|
20
|
+
"create-video": "4.0.365",
|
|
21
21
|
"hls.js": "1.5.19",
|
|
22
22
|
"polished": "4.3.1",
|
|
23
|
-
"remotion": "4.0.
|
|
23
|
+
"remotion": "4.0.365",
|
|
24
24
|
"zod": "3.22.3",
|
|
25
25
|
"bun-plugin-tailwind": "0.0.15"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
28
|
+
"@remotion/eslint-config-internal": "4.0.365",
|
|
29
29
|
"@eslint/eslintrc": "3.1.0",
|
|
30
30
|
"@types/react": "19.0.0",
|
|
31
31
|
"@types/react-dom": "19.0.0",
|
package/.turbo/turbo-lint.log
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
[0m[2m[35m$[0m [2m[1mtsc && eslint src[0m
|
|
3
|
-
=============
|
|
4
|
-
|
|
5
|
-
WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.
|
|
6
|
-
|
|
7
|
-
You may find that it works just fine, or you may not.
|
|
8
|
-
|
|
9
|
-
SUPPORTED TYPESCRIPT VERSIONS: >=4.7.4 <5.7.0
|
|
10
|
-
|
|
11
|
-
YOUR TYPESCRIPT VERSION: 5.8.2
|
|
12
|
-
|
|
13
|
-
Please only submit bug reports when using the officially supported version.
|
|
14
|
-
|
|
15
|
-
=============
|
package/.turbo/turbo-make.log
DELETED
package/bundle.ts
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import {$, build} from 'bun';
|
|
2
|
-
|
|
3
|
-
import {NoReactInternals} from 'remotion/no-react';
|
|
4
|
-
|
|
5
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
6
|
-
throw new Error('This script must be run using NODE_ENV=production');
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
const nodeVersion =
|
|
10
|
-
await $`node -e "console.log(typeof structuredClone)"`.text();
|
|
11
|
-
if (nodeVersion.trim() === 'undefined') {
|
|
12
|
-
if (NoReactInternals.ENABLE_V5_BREAKING_CHANGES) {
|
|
13
|
-
throw new Error(
|
|
14
|
-
'Error: You are using Node.js without structuredClone. Please upgrade to Node.js 17 or newer.',
|
|
15
|
-
);
|
|
16
|
-
} else {
|
|
17
|
-
console.log(
|
|
18
|
-
'Node does not have structuredClone. Passing because we are not building the site.',
|
|
19
|
-
);
|
|
20
|
-
process.exit(0);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
await $`bunx tailwindcss -i src/index.css -o dist/tailwind.css`;
|
|
25
|
-
|
|
26
|
-
const result = await build({
|
|
27
|
-
entrypoints: [
|
|
28
|
-
'./src/components/Homepage.tsx',
|
|
29
|
-
'./src/components/homepage/Pricing.tsx',
|
|
30
|
-
'./src/components/team.tsx',
|
|
31
|
-
],
|
|
32
|
-
outdir: 'dist',
|
|
33
|
-
format: 'esm',
|
|
34
|
-
external: [
|
|
35
|
-
'react',
|
|
36
|
-
'react/jsx-runtime',
|
|
37
|
-
'react-dom',
|
|
38
|
-
'lottie-web',
|
|
39
|
-
'hls.js',
|
|
40
|
-
'plyr',
|
|
41
|
-
'zod',
|
|
42
|
-
],
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
if (!result.success) {
|
|
46
|
-
console.log(result.logs.join('\n'));
|
|
47
|
-
process.exit(1);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
for (const output of result.outputs) {
|
|
51
|
-
await Bun.write('dist/' + output.path, await output.text());
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export {};
|
package/eslint.config.mjs
DELETED
package/server.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import {serve} from 'bun';
|
|
2
|
-
import homepage from './homepage.html';
|
|
3
|
-
import team from './team.html';
|
|
4
|
-
|
|
5
|
-
const server = serve({
|
|
6
|
-
routes: {
|
|
7
|
-
'/': homepage,
|
|
8
|
-
'/about': team,
|
|
9
|
-
},
|
|
10
|
-
development: true,
|
|
11
|
-
async fetch(req) {
|
|
12
|
-
try {
|
|
13
|
-
const url = new URL(req.url);
|
|
14
|
-
const file = Bun.file(`./public${url.pathname}`);
|
|
15
|
-
const exists = await file.exists();
|
|
16
|
-
if (!exists) {
|
|
17
|
-
return new Response('Not Found', {status: 404});
|
|
18
|
-
}
|
|
19
|
-
return new Response(file);
|
|
20
|
-
} catch (e) {
|
|
21
|
-
return new Response('Server Error', {status: 500});
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
console.log(`Listening on ${server.url}`);
|
package/src/cn.ts
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import {BackgroundAnimation} from './homepage/BackgroundAnimation';
|
|
5
|
-
import CommunityStats from './homepage/CommunityStats';
|
|
6
|
-
import {Demo} from './homepage/Demo';
|
|
7
|
-
import EditorStarterSection from './homepage/EditorStarterSection';
|
|
8
|
-
import EvaluateRemotionSection from './homepage/EvaluateRemotion';
|
|
9
|
-
import {IfYouKnowReact} from './homepage/IfYouKnowReact';
|
|
10
|
-
import type {ColorMode} from './homepage/layout/use-color-mode';
|
|
11
|
-
import {ColorModeProvider} from './homepage/layout/use-color-mode';
|
|
12
|
-
import {MoreVideoPowerSection} from './homepage/MoreVideoPowerSection';
|
|
13
|
-
import {NewsletterButton} from './homepage/NewsletterButton';
|
|
14
|
-
import {ParameterizeAndEdit} from './homepage/ParameterizeAndEdit';
|
|
15
|
-
import {Pricing} from './homepage/Pricing';
|
|
16
|
-
import {RealMP4Videos} from './homepage/RealMp4Videos';
|
|
17
|
-
import TrustedByBanner from './homepage/TrustedByBanner';
|
|
18
|
-
import VideoAppsShowcase from './homepage/VideoAppsShowcase';
|
|
19
|
-
import {SectionTitle} from './homepage/VideoAppsTitle';
|
|
20
|
-
import {WriteInReact} from './homepage/WriteInReact';
|
|
21
|
-
|
|
22
|
-
export const NewLanding: React.FC<{
|
|
23
|
-
readonly colorMode: ColorMode;
|
|
24
|
-
readonly setColorMode: (colorMode: ColorMode) => void;
|
|
25
|
-
}> = ({colorMode, setColorMode}) => {
|
|
26
|
-
return (
|
|
27
|
-
<ColorModeProvider colorMode={colorMode} setColorMode={setColorMode}>
|
|
28
|
-
<div className="bg-[var(--background)] relative">
|
|
29
|
-
<div style={{overflow: 'hidden'}}>
|
|
30
|
-
<div>
|
|
31
|
-
<BackgroundAnimation />
|
|
32
|
-
</div>
|
|
33
|
-
<br />
|
|
34
|
-
<br />
|
|
35
|
-
<br />
|
|
36
|
-
<br />
|
|
37
|
-
<div className="max-w-[500px] lg:max-w-[1000px] m-auto pl-5 pr-5 overflow-x-clip md:overflow-x-visible relative">
|
|
38
|
-
<WriteInReact />
|
|
39
|
-
<br />
|
|
40
|
-
<IfYouKnowReact />
|
|
41
|
-
<ParameterizeAndEdit />
|
|
42
|
-
<RealMP4Videos />
|
|
43
|
-
<br />
|
|
44
|
-
<br />
|
|
45
|
-
<br />
|
|
46
|
-
<VideoAppsShowcase />
|
|
47
|
-
<br />
|
|
48
|
-
<br />
|
|
49
|
-
<Demo />
|
|
50
|
-
<br />
|
|
51
|
-
<br />
|
|
52
|
-
<br />
|
|
53
|
-
<SectionTitle>Pricing</SectionTitle>
|
|
54
|
-
<Pricing />
|
|
55
|
-
<TrustedByBanner />
|
|
56
|
-
<br />
|
|
57
|
-
<EvaluateRemotionSection />
|
|
58
|
-
<br />
|
|
59
|
-
<br />
|
|
60
|
-
<br />
|
|
61
|
-
<CommunityStats />
|
|
62
|
-
<br />
|
|
63
|
-
<br />
|
|
64
|
-
<br />
|
|
65
|
-
<EditorStarterSection />
|
|
66
|
-
<br />
|
|
67
|
-
<br />
|
|
68
|
-
<br />
|
|
69
|
-
|
|
70
|
-
<SectionTitle>Even more power to developers</SectionTitle>
|
|
71
|
-
<div className={'fontbrand text-center mb-10 -mt-4'}>
|
|
72
|
-
Innovative video products that you might enjoy.
|
|
73
|
-
</div>
|
|
74
|
-
<MoreVideoPowerSection />
|
|
75
|
-
<br />
|
|
76
|
-
<br />
|
|
77
|
-
<br />
|
|
78
|
-
<NewsletterButton />
|
|
79
|
-
<br />
|
|
80
|
-
<br />
|
|
81
|
-
<br />
|
|
82
|
-
</div>
|
|
83
|
-
</div>
|
|
84
|
-
</div>
|
|
85
|
-
</ColorModeProvider>
|
|
86
|
-
);
|
|
87
|
-
};
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import {getLength} from '@remotion/paths';
|
|
4
|
-
import React, {useEffect} from 'react';
|
|
5
|
-
|
|
6
|
-
const rx = 0.2;
|
|
7
|
-
const ry = 0.45;
|
|
8
|
-
|
|
9
|
-
function ellipseToPath(cx: number, cy: number): string {
|
|
10
|
-
let output = 'M' + (cx - rx).toString() + ',' + cy.toString();
|
|
11
|
-
output +=
|
|
12
|
-
'a' +
|
|
13
|
-
rx.toString() +
|
|
14
|
-
',' +
|
|
15
|
-
ry.toString() +
|
|
16
|
-
' 0 1,0 ' +
|
|
17
|
-
(2 * rx).toString() +
|
|
18
|
-
',0';
|
|
19
|
-
output +=
|
|
20
|
-
'a' +
|
|
21
|
-
rx.toString() +
|
|
22
|
-
',' +
|
|
23
|
-
ry.toString() +
|
|
24
|
-
' 0 1,0 ' +
|
|
25
|
-
(-2 * rx).toString() +
|
|
26
|
-
',0';
|
|
27
|
-
return output;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const strokeWidth = 0.035;
|
|
31
|
-
|
|
32
|
-
export const BackgroundAnimation: React.FC = () => {
|
|
33
|
-
const d = ellipseToPath(0.5, 0.5);
|
|
34
|
-
const length = getLength(d);
|
|
35
|
-
|
|
36
|
-
const css = `
|
|
37
|
-
@keyframes bganimation {
|
|
38
|
-
from {
|
|
39
|
-
stroke-dashoffset: 0
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
to {
|
|
43
|
-
stroke-dashoffset: ${length};
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
`;
|
|
47
|
-
|
|
48
|
-
useEffect(() => {
|
|
49
|
-
const _style = document.createElement('style');
|
|
50
|
-
_style.innerHTML = css;
|
|
51
|
-
document.head.appendChild(_style);
|
|
52
|
-
}, [css]);
|
|
53
|
-
|
|
54
|
-
return (
|
|
55
|
-
<div className=" w-full h-full min-w-0 m-auto lg:relative lg:min-w-[700px] lg:max-w-[1200px] lg:ml-auto lg:left-auto pointer-events-none">
|
|
56
|
-
<svg
|
|
57
|
-
className="translate-y-[-30%] lg:translate-y-[-50%]"
|
|
58
|
-
viewBox="0 0 1 1"
|
|
59
|
-
style={{
|
|
60
|
-
width: '100%',
|
|
61
|
-
position: 'absolute',
|
|
62
|
-
}}
|
|
63
|
-
>
|
|
64
|
-
<path
|
|
65
|
-
d={d}
|
|
66
|
-
fill="none"
|
|
67
|
-
stroke="var(--ifm-color-primary)"
|
|
68
|
-
strokeLinecap="round"
|
|
69
|
-
className="stroke-[0.04] lg:stroke-[0.035]"
|
|
70
|
-
style={{
|
|
71
|
-
transformOrigin: 'center center',
|
|
72
|
-
transform: `rotate(120deg)`,
|
|
73
|
-
animation: `bganimation 20s linear infinite`,
|
|
74
|
-
strokeDasharray: `${length * 0.2} ${length * 0.8}`,
|
|
75
|
-
}}
|
|
76
|
-
/>
|
|
77
|
-
<path
|
|
78
|
-
d={d}
|
|
79
|
-
fill="none"
|
|
80
|
-
stroke="var(--ifm-color-primary)"
|
|
81
|
-
strokeLinecap="round"
|
|
82
|
-
strokeWidth={strokeWidth}
|
|
83
|
-
className="stroke-[0.04] lg:stroke-[0.035]"
|
|
84
|
-
style={{
|
|
85
|
-
transformOrigin: 'center center',
|
|
86
|
-
transform: `rotate(0deg)`,
|
|
87
|
-
animation: `bganimation 20s linear infinite`,
|
|
88
|
-
strokeDasharray: `${length * 0.2} ${length * 0.8}`,
|
|
89
|
-
}}
|
|
90
|
-
/>
|
|
91
|
-
<path
|
|
92
|
-
d={d}
|
|
93
|
-
fill="none"
|
|
94
|
-
stroke="var(--ifm-color-primary)"
|
|
95
|
-
strokeLinecap="round"
|
|
96
|
-
strokeWidth={strokeWidth}
|
|
97
|
-
className="stroke-[0.04] lg:stroke-[0.035]"
|
|
98
|
-
style={{
|
|
99
|
-
transformOrigin: 'center center',
|
|
100
|
-
transform: `rotate(240deg)`,
|
|
101
|
-
animation: `bganimation 20s linear infinite`,
|
|
102
|
-
strokeDasharray: `${length * 0.2} ${length * 0.8}`,
|
|
103
|
-
}}
|
|
104
|
-
/>
|
|
105
|
-
</svg>
|
|
106
|
-
</div>
|
|
107
|
-
);
|
|
108
|
-
};
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import {CreateVideoInternals} from 'create-video';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
|
|
4
|
-
import {IconForTemplate} from './IconForTemplate';
|
|
5
|
-
import {MoreTemplatesButton} from './MoreTemplatesButton';
|
|
6
|
-
import {TemplateIcon} from './TemplateIcon';
|
|
7
|
-
|
|
8
|
-
export const ChooseTemplate: React.FC = () => {
|
|
9
|
-
return (
|
|
10
|
-
<div
|
|
11
|
-
style={{
|
|
12
|
-
display: 'flex',
|
|
13
|
-
flexDirection: 'column',
|
|
14
|
-
}}
|
|
15
|
-
>
|
|
16
|
-
<div
|
|
17
|
-
style={{
|
|
18
|
-
position: 'relative',
|
|
19
|
-
textAlign: 'center',
|
|
20
|
-
}}
|
|
21
|
-
>
|
|
22
|
-
<div
|
|
23
|
-
className="no-scroll-bar"
|
|
24
|
-
style={{
|
|
25
|
-
backgroundColor: 'var(--plain-button)',
|
|
26
|
-
display: 'inline-flex',
|
|
27
|
-
flexDirection: 'row',
|
|
28
|
-
justifyContent: 'space-around',
|
|
29
|
-
boxShadow: '0 0 4px 0px var(--ifm-color-emphasis-200)',
|
|
30
|
-
borderRadius: 50,
|
|
31
|
-
alignItems: 'center',
|
|
32
|
-
padding: 8,
|
|
33
|
-
width: '100%',
|
|
34
|
-
maxWidth: '550px',
|
|
35
|
-
}}
|
|
36
|
-
>
|
|
37
|
-
{CreateVideoInternals.FEATURED_TEMPLATES.filter(
|
|
38
|
-
(f) => f.featuredOnHomePage,
|
|
39
|
-
).map((template) => {
|
|
40
|
-
return (
|
|
41
|
-
<a
|
|
42
|
-
key={template.cliId}
|
|
43
|
-
className="text-inherit no-underline"
|
|
44
|
-
href={`/templates/${template.cliId}`}
|
|
45
|
-
>
|
|
46
|
-
<TemplateIcon label={template.featuredOnHomePage!}>
|
|
47
|
-
<IconForTemplate scale={0.7} template={template} />
|
|
48
|
-
</TemplateIcon>
|
|
49
|
-
</a>
|
|
50
|
-
);
|
|
51
|
-
})}
|
|
52
|
-
<MoreTemplatesButton />
|
|
53
|
-
</div>
|
|
54
|
-
</div>
|
|
55
|
-
</div>
|
|
56
|
-
);
|
|
57
|
-
};
|