@remotion/promo-pages 4.0.431 → 4.0.433
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 +4671 -2145
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/Homepage.js +4671 -2145
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/design.js +1154 -907
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/experts.js +1084 -838
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/homepage/Pricing.js +1147 -900
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsGallery.js +1152 -905
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsShow.js +1231 -984
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsSubmit.js +1237 -990
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/template-modal-content.js +1151 -904
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/templates.js +1141 -894
- package/dist/design.js +1154 -907
- package/dist/experts.js +1084 -838
- package/dist/homepage/Pricing.js +1147 -900
- package/dist/prompts/PromptsGallery.js +1152 -905
- package/dist/prompts/PromptsShow.js +1231 -984
- package/dist/prompts/PromptsSubmit.js +1237 -990
- package/dist/template-modal-content.js +1151 -904
- package/dist/templates.js +1141 -894
- package/package.json +18 -14
- package/dist/cn.d.ts +0 -2
- package/dist/cn.js +0 -5
- package/dist/components/3DEngine/ButtonDemo.d.ts +0 -2
- package/dist/components/3DEngine/ButtonDemo.js +0 -43
- package/dist/components/3DEngine/Faces.d.ts +0 -5
- package/dist/components/3DEngine/Faces.js +0 -7
- package/dist/components/3DEngine/Outer.d.ts +0 -8
- package/dist/components/3DEngine/Outer.js +0 -56
- package/dist/components/3DEngine/Switch.d.ts +0 -4
- package/dist/components/3DEngine/Switch.js +0 -4
- package/dist/components/3DEngine/get-child-node-from.d.ts +0 -1
- package/dist/components/3DEngine/get-child-node-from.js +0 -14
- package/dist/components/3DEngine/hover-transforms.d.ts +0 -9
- package/dist/components/3DEngine/hover-transforms.js +0 -177
- package/dist/components/BackButton.d.ts +0 -6
- package/dist/components/BackButton.js +0 -9
- package/dist/components/CommandCopyButton.d.ts +0 -5
- package/dist/components/CommandCopyButton.js +0 -4
- package/dist/components/Homepage.d.ts +0 -6
- package/dist/components/Homepage.js +0 -20
- package/dist/components/ManageTeamMembers.d.ts +0 -2
- package/dist/components/ManageTeamMembers.js +0 -42
- package/dist/components/Spinner.d.ts +0 -3
- package/dist/components/Spinner.js +0 -4
- package/dist/components/TeamPicture.d.ts +0 -1
- package/dist/components/TeamPicture.js +0 -4
- package/dist/components/design.d.ts +0 -1
- package/dist/components/design.js +0 -33
- package/dist/components/experts/ExpertsPage.d.ts +0 -11
- package/dist/components/experts/ExpertsPage.js +0 -50
- package/dist/components/experts/experts-data.d.ts +0 -15
- package/dist/components/experts/experts-data.js +0 -263
- package/dist/components/experts/experts-icons.d.ts +0 -7
- package/dist/components/experts/experts-icons.js +0 -36
- package/dist/components/experts.d.ts +0 -3
- package/dist/components/experts.js +0 -2
- 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 -25
- 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/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 -72
- 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 -33
- package/dist/components/homepage/Demo/DemoRender.js +0 -107
- 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 -59
- 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 -120
- 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/EditorStarterSection.d.ts +0 -3
- package/dist/components/homepage/EditorStarterSection.js +0 -8
- package/dist/components/homepage/EvaluateRemotion.d.ts +0 -3
- package/dist/components/homepage/EvaluateRemotion.js +0 -21
- package/dist/components/homepage/FreePricing.d.ts +0 -4
- package/dist/components/homepage/FreePricing.js +0 -134
- 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 -112
- 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 -11
- 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 -38
- 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 -27
- 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 -139
- 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 -105
- 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 -22
- package/dist/components/homepage/layout/Button.js +0 -30
- 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/brain.d.ts +0 -2
- package/dist/components/icons/brain.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/editor.d.ts +0 -3
- package/dist/components/icons/editor.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/prompt-to-video.d.ts +0 -2
- package/dist/components/icons/prompt-to-video.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/render-server.d.ts +0 -3
- package/dist/components/icons/render-server.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/timeline.d.ts +0 -3
- package/dist/components/icons/timeline.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/vercel.d.ts +0 -4
- package/dist/components/icons/vercel.js +0 -4
- package/dist/components/icons/waveform.d.ts +0 -3
- package/dist/components/icons/waveform.js +0 -4
- package/dist/components/prompts/CardLikeButton.d.ts +0 -5
- package/dist/components/prompts/CardLikeButton.js +0 -49
- package/dist/components/prompts/ClipboardIcon.d.ts +0 -5
- package/dist/components/prompts/ClipboardIcon.js +0 -4
- package/dist/components/prompts/CopyPromptButton.d.ts +0 -4
- package/dist/components/prompts/CopyPromptButton.js +0 -13
- package/dist/components/prompts/LikeButton.d.ts +0 -5
- package/dist/components/prompts/LikeButton.js +0 -49
- package/dist/components/prompts/MuxPlayer.d.ts +0 -8
- package/dist/components/prompts/MuxPlayer.js +0 -21
- package/dist/components/prompts/NewBackButton.d.ts +0 -5
- package/dist/components/prompts/NewBackButton.js +0 -8
- package/dist/components/prompts/Page.d.ts +0 -8
- package/dist/components/prompts/Page.js +0 -7
- package/dist/components/prompts/PromptsGallery.d.ts +0 -7
- package/dist/components/prompts/PromptsGallery.js +0 -60
- package/dist/components/prompts/PromptsShow.d.ts +0 -5
- package/dist/components/prompts/PromptsShow.js +0 -17
- package/dist/components/prompts/PromptsSubmit.d.ts +0 -2
- package/dist/components/prompts/PromptsSubmit.js +0 -173
- package/dist/components/prompts/config.d.ts +0 -1
- package/dist/components/prompts/config.js +0 -1
- package/dist/components/prompts/prompt-helpers.d.ts +0 -8
- package/dist/components/prompts/prompt-helpers.js +0 -76
- package/dist/components/prompts/prompt-types.d.ts +0 -14
- package/dist/components/prompts/prompt-types.js +0 -0
- package/dist/components/prompts/use-heart-animation.d.ts +0 -5
- package/dist/components/prompts/use-heart-animation.js +0 -29
- package/dist/components/team/TeamCards.d.ts +0 -6
- package/dist/components/team/TeamCards.js +0 -19
- package/dist/components/team/TitleTeamCards.d.ts +0 -2
- package/dist/components/team/TitleTeamCards.js +0 -6
- package/dist/components/team.d.ts +0 -3
- package/dist/components/team.js +0 -14
- package/dist/components/template-modal-content.d.ts +0 -5
- package/dist/components/template-modal-content.js +0 -73
- package/dist/components/templates.d.ts +0 -2
- package/dist/components/templates.js +0 -27
- package/dist/helpers/mobile-layout.d.ts +0 -1
- package/dist/helpers/mobile-layout.js +0 -6
- package/dist/helpers/use-el-size.d.ts +0 -5
- package/dist/helpers/use-el-size.js +0 -40
- package/dist/main.d.ts +0 -1
- package/dist/main.js +0 -6
- package/dist/prompts-show.d.ts +0 -1
- package/dist/prompts-show.js +0 -20
- package/dist/prompts-submit.d.ts +0 -1
- package/dist/prompts-submit.js +0 -6
- package/dist/prompts.d.ts +0 -1
- package/dist/prompts.js +0 -6
- package/dist/team.d.ts +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/promo-pages",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.433",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -11,26 +11,30 @@
|
|
|
11
11
|
},
|
|
12
12
|
"type": "module",
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@remotion/animated-emoji": "4.0.
|
|
15
|
-
"@remotion/design": "4.0.
|
|
16
|
-
"@remotion/web-renderer": "4.0.
|
|
17
|
-
"@remotion/lottie": "4.0.
|
|
18
|
-
"@remotion/paths": "4.0.
|
|
19
|
-
"@remotion/player": "4.0.
|
|
20
|
-
"@remotion/shapes": "4.0.
|
|
21
|
-
"@remotion/media": "4.0.
|
|
22
|
-
"@remotion/svg-3d-engine": "4.0.
|
|
23
|
-
"create-video": "4.0.
|
|
14
|
+
"@remotion/animated-emoji": "4.0.433",
|
|
15
|
+
"@remotion/design": "4.0.433",
|
|
16
|
+
"@remotion/web-renderer": "4.0.433",
|
|
17
|
+
"@remotion/lottie": "4.0.433",
|
|
18
|
+
"@remotion/paths": "4.0.433",
|
|
19
|
+
"@remotion/player": "4.0.433",
|
|
20
|
+
"@remotion/shapes": "4.0.433",
|
|
21
|
+
"@remotion/media": "4.0.433",
|
|
22
|
+
"@remotion/svg-3d-engine": "4.0.433",
|
|
23
|
+
"create-video": "4.0.433",
|
|
24
24
|
"hls.js": "1.5.19",
|
|
25
25
|
"polished": "4.3.1",
|
|
26
|
-
"remotion": "4.0.
|
|
26
|
+
"remotion": "4.0.433",
|
|
27
27
|
"zod": "4.3.6",
|
|
28
28
|
"@mux/upchunk": "^3.5.0",
|
|
29
29
|
"@vidstack/react": "1.12.13",
|
|
30
|
-
"bun-plugin-tailwind": "0.1.2"
|
|
30
|
+
"bun-plugin-tailwind": "0.1.2",
|
|
31
|
+
"@mediabunny/ac3": "1.37.0",
|
|
32
|
+
"@mediabunny/aac-encoder": "1.37.0",
|
|
33
|
+
"@mediabunny/flac-encoder": "1.37.0",
|
|
34
|
+
"@mediabunny/mp3-encoder": "1.37.0"
|
|
31
35
|
},
|
|
32
36
|
"devDependencies": {
|
|
33
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
37
|
+
"@remotion/eslint-config-internal": "4.0.433",
|
|
34
38
|
"@eslint/eslintrc": "3.1.0",
|
|
35
39
|
"@types/react": "19.2.7",
|
|
36
40
|
"@types/react-dom": "19.2.3",
|
package/dist/cn.d.ts
DELETED
package/dist/cn.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback, useRef, useState } from 'react';
|
|
3
|
-
import { cn } from '../../cn';
|
|
4
|
-
import { Outer } from './Outer';
|
|
5
|
-
import { useHoverTransforms } from './hover-transforms';
|
|
6
|
-
export const Button3D = ({ children, className, disabled, ...buttonProps }) => {
|
|
7
|
-
const [dimensions, setDimensions] = useState(null);
|
|
8
|
-
const ref = useRef(null);
|
|
9
|
-
const { isActive, progress } = useHoverTransforms(ref, Boolean(disabled));
|
|
10
|
-
const onPointerEnter = useCallback((e) => {
|
|
11
|
-
if (e.pointerType !== 'mouse') {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
setDimensions((prevDim) => {
|
|
15
|
-
if (prevDim) {
|
|
16
|
-
return prevDim;
|
|
17
|
-
}
|
|
18
|
-
if (!ref.current) {
|
|
19
|
-
throw new Error('Ref is not set');
|
|
20
|
-
}
|
|
21
|
-
const { childNodes } = ref.current;
|
|
22
|
-
if (childNodes.length === 0) {
|
|
23
|
-
throw new Error('No child nodes');
|
|
24
|
-
}
|
|
25
|
-
const childNode = childNodes[0];
|
|
26
|
-
if (!childNode) {
|
|
27
|
-
throw new Error('No child node');
|
|
28
|
-
}
|
|
29
|
-
const rect = childNode.getBoundingClientRect();
|
|
30
|
-
const { borderRadius } = getComputedStyle(childNode);
|
|
31
|
-
const cornerRadius = borderRadius.includes('e+0')
|
|
32
|
-
? Infinity
|
|
33
|
-
: parseInt(borderRadius !== null && borderRadius !== void 0 ? borderRadius : '0', 10);
|
|
34
|
-
return {
|
|
35
|
-
width: rect.width,
|
|
36
|
-
height: rect.height,
|
|
37
|
-
borderRadius: Math.min(cornerRadius, rect.width / 2, rect.height / 2),
|
|
38
|
-
};
|
|
39
|
-
});
|
|
40
|
-
}, []);
|
|
41
|
-
const content = (_jsx("button", { type: "button", disabled: disabled, className: cn('text-black', 'flex', 'justify-center', 'bg-white', 'items-center', 'font-brand', 'border-solid', 'text-[1em]', 'rounded-md', 'border-black', 'border-2', 'border-b-4', 'cursor-pointer', 'px-4', 'py-3', 'disabled:cursor-default', 'disabled:border-gray-500', 'disabled:text-gray-500', 'transition-colors', className), ...buttonProps, children: children }));
|
|
42
|
-
return (_jsx("div", { ref: ref, className: "contents", onPointerEnter: onPointerEnter, children: dimensions && (isActive || progress > 0) ? (_jsx(Outer, { parentRef: ref, width: dimensions.width, height: dimensions.height, cornerRadius: dimensions.borderRadius, hoverTransform: progress, children: content })) : (content) }));
|
|
43
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { threeDIntoSvgPath } from '@remotion/svg-3d-engine';
|
|
3
|
-
export const Faces = ({ elements, ...svgProps }) => {
|
|
4
|
-
return (_jsx(_Fragment, { children: elements.map(({ points, color, crispEdges }, idx) => {
|
|
5
|
-
return (_jsx("path", { d: threeDIntoSvgPath(points), fill: color, shapeRendering: crispEdges ? 'crispEdges' : undefined, ...svgProps }, idx));
|
|
6
|
-
}) }));
|
|
7
|
-
};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { parsePath, PathInternals, reduceInstructions } from '@remotion/paths';
|
|
3
|
-
import { makeRect } from '@remotion/shapes';
|
|
4
|
-
import { extrudeAndTransformElement, interpolateMatrix4d, makeMatrix3dTransform, reduceMatrices, rotateX, rotateY, scaled, translateX, translateY, translateZ, } from '@remotion/svg-3d-engine';
|
|
5
|
-
import { interpolate } from 'remotion';
|
|
6
|
-
import { Faces } from './Faces';
|
|
7
|
-
import { useClickTransforms, useMousePosition } from './hover-transforms';
|
|
8
|
-
export const Outer = ({ children, width, height, cornerRadius, hoverTransform, parentRef }) => {
|
|
9
|
-
const clickTransform = useClickTransforms(parentRef);
|
|
10
|
-
const angle = useMousePosition(parentRef);
|
|
11
|
-
const appropriateScale = Math.min(1.1, (20 + width) / width);
|
|
12
|
-
const transformationUnhovered = reduceMatrices([
|
|
13
|
-
rotateX(-Math.PI / 20),
|
|
14
|
-
]);
|
|
15
|
-
const transformationHovered = reduceMatrices([
|
|
16
|
-
scaled(appropriateScale),
|
|
17
|
-
rotateX(-Math.PI / 16),
|
|
18
|
-
rotateX(Math.sin(angle) / 4),
|
|
19
|
-
rotateY(-Math.cos(angle) / 4),
|
|
20
|
-
]);
|
|
21
|
-
const transformation = interpolateMatrix4d(hoverTransform, transformationUnhovered, transformationHovered);
|
|
22
|
-
const depthFromClick = clickTransform * 15;
|
|
23
|
-
const depthFromHover = interpolate(hoverTransform, [0, 1], [10, 20]);
|
|
24
|
-
const depth = depthFromHover;
|
|
25
|
-
const frontFace = reduceMatrices([
|
|
26
|
-
translateZ(-depth / 2 + depthFromClick),
|
|
27
|
-
transformation,
|
|
28
|
-
]);
|
|
29
|
-
const centerOriented = reduceMatrices([
|
|
30
|
-
translateX(-width / 2),
|
|
31
|
-
translateY(-height / 2),
|
|
32
|
-
transformation,
|
|
33
|
-
translateX(width / 2),
|
|
34
|
-
translateY(height / 2),
|
|
35
|
-
]);
|
|
36
|
-
const { path, instructions } = makeRect({ height, width, cornerRadius });
|
|
37
|
-
const { viewBox } = PathInternals.getBoundingBoxFromInstructions(reduceInstructions(instructions));
|
|
38
|
-
const inbetween = extrudeAndTransformElement({
|
|
39
|
-
sideColor: 'black',
|
|
40
|
-
crispEdges: false,
|
|
41
|
-
depth,
|
|
42
|
-
pressInDepth: depthFromClick,
|
|
43
|
-
points: parsePath(path),
|
|
44
|
-
description: 'rect',
|
|
45
|
-
transformations: centerOriented,
|
|
46
|
-
});
|
|
47
|
-
return (_jsxs("div", { className: "relative", style: { width, height }, children: [_jsx("svg", { viewBox: viewBox, style: {
|
|
48
|
-
overflow: 'visible',
|
|
49
|
-
height,
|
|
50
|
-
width,
|
|
51
|
-
position: 'absolute',
|
|
52
|
-
top: 0,
|
|
53
|
-
}, pointerEvents: "none", children: _jsx(Faces, { elements: inbetween }) }), _jsx("div", { style: {
|
|
54
|
-
transform: makeMatrix3dTransform(frontFace),
|
|
55
|
-
}, children: children })] }));
|
|
56
|
-
};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
export const Switch = ({ active, onToggle }) => {
|
|
3
|
-
return (_jsx("div", { "data-active": active, className: "h-6 transition-all rounded-full w-12 border-2 border-b-4 bg-gray-200 p-[2px] cursor-pointer data-[active=true]:bg-brand border-black relative", onClick: onToggle, children: _jsx("div", { "data-active": active, className: "h-4 w-4 left-[4px] top-[4px] transition-all rounded-full bg-white border-2 border-black absolute data-[active=true]:left-[calc(100%-24px)]" }) }));
|
|
4
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const getChildNodeFrom: (htmlElement: HTMLDivElement | null) => HTMLElement | null;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export const getChildNodeFrom = (htmlElement) => {
|
|
2
|
-
if (!htmlElement) {
|
|
3
|
-
return null;
|
|
4
|
-
}
|
|
5
|
-
const { childNodes } = htmlElement;
|
|
6
|
-
if (childNodes.length === 0) {
|
|
7
|
-
return null;
|
|
8
|
-
}
|
|
9
|
-
const childNode = childNodes[0];
|
|
10
|
-
if (!childNode) {
|
|
11
|
-
return null;
|
|
12
|
-
}
|
|
13
|
-
return childNode;
|
|
14
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
type State = {
|
|
3
|
-
progress: number;
|
|
4
|
-
isActive: boolean;
|
|
5
|
-
};
|
|
6
|
-
export declare const useHoverTransforms: (ref: React.RefObject<HTMLDivElement | null>, disabled: boolean) => State;
|
|
7
|
-
export declare const useClickTransforms: (ref: React.RefObject<HTMLDivElement | null>) => number;
|
|
8
|
-
export declare const useMousePosition: (ref: React.RefObject<HTMLDivElement | null>) => number;
|
|
9
|
-
export {};
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
import React, { useEffect, useMemo, useState } from 'react';
|
|
2
|
-
import { getChildNodeFrom } from './get-child-node-from';
|
|
3
|
-
export const useHoverTransforms = (ref, disabled) => {
|
|
4
|
-
const [state, setState] = React.useState({
|
|
5
|
-
progress: 0,
|
|
6
|
-
isActive: false,
|
|
7
|
-
});
|
|
8
|
-
const eventTarget = useMemo(() => new EventTarget(), []);
|
|
9
|
-
useEffect(() => {
|
|
10
|
-
if (disabled) {
|
|
11
|
-
eventTarget.dispatchEvent(new Event('disabled'));
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
eventTarget.dispatchEvent(new Event('enabled'));
|
|
15
|
-
}
|
|
16
|
-
}, [disabled, eventTarget]);
|
|
17
|
-
React.useEffect(() => {
|
|
18
|
-
const element = ref.current;
|
|
19
|
-
if (!element)
|
|
20
|
-
return;
|
|
21
|
-
let animationFrame;
|
|
22
|
-
let start = null;
|
|
23
|
-
let isHovered = false;
|
|
24
|
-
let internalDisabled = disabled;
|
|
25
|
-
const getIsActive = () => {
|
|
26
|
-
return isHovered && !internalDisabled;
|
|
27
|
-
};
|
|
28
|
-
const animate = (timestamp) => {
|
|
29
|
-
if (start === null)
|
|
30
|
-
start = timestamp;
|
|
31
|
-
const progress = Math.min((timestamp - start) / 150, 1);
|
|
32
|
-
setState(() => ({
|
|
33
|
-
isActive: getIsActive(),
|
|
34
|
-
progress: getIsActive() ? progress : 1 - progress,
|
|
35
|
-
}));
|
|
36
|
-
if (progress < 1) {
|
|
37
|
-
animationFrame = requestAnimationFrame(animate);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
const animateIn = () => {
|
|
41
|
-
start = null;
|
|
42
|
-
cancelAnimationFrame(animationFrame);
|
|
43
|
-
animationFrame = requestAnimationFrame(animate);
|
|
44
|
-
};
|
|
45
|
-
const handleMouseEnter = () => {
|
|
46
|
-
const prevIsActive = getIsActive();
|
|
47
|
-
isHovered = true;
|
|
48
|
-
if (prevIsActive === getIsActive()) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
animateIn();
|
|
52
|
-
};
|
|
53
|
-
const handleMouseLeave = () => {
|
|
54
|
-
const prevIsActive = getIsActive();
|
|
55
|
-
isHovered = false;
|
|
56
|
-
if (prevIsActive === getIsActive()) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
animateIn();
|
|
60
|
-
};
|
|
61
|
-
const handleDisabled = () => {
|
|
62
|
-
const prevIsActive = getIsActive();
|
|
63
|
-
internalDisabled = true;
|
|
64
|
-
if (prevIsActive === getIsActive()) {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
animateIn();
|
|
68
|
-
};
|
|
69
|
-
const handleEnabled = () => {
|
|
70
|
-
const prevIsActive = getIsActive();
|
|
71
|
-
internalDisabled = false;
|
|
72
|
-
if (prevIsActive === getIsActive()) {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
animateIn();
|
|
76
|
-
};
|
|
77
|
-
element.addEventListener('mouseenter', handleMouseEnter);
|
|
78
|
-
element.addEventListener('mouseleave', handleMouseLeave);
|
|
79
|
-
eventTarget.addEventListener('disabled', handleDisabled);
|
|
80
|
-
eventTarget.addEventListener('enabled', handleEnabled);
|
|
81
|
-
return () => {
|
|
82
|
-
element.removeEventListener('mouseenter', handleMouseEnter);
|
|
83
|
-
element.removeEventListener('mouseleave', handleMouseLeave);
|
|
84
|
-
eventTarget.removeEventListener('disabled', handleDisabled);
|
|
85
|
-
eventTarget.removeEventListener('enabled', handleEnabled);
|
|
86
|
-
cancelAnimationFrame(animationFrame);
|
|
87
|
-
};
|
|
88
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
89
|
-
}, [ref, eventTarget]);
|
|
90
|
-
return state;
|
|
91
|
-
};
|
|
92
|
-
export const useClickTransforms = (ref) => {
|
|
93
|
-
const [hoverProgress, setHoverProgress] = React.useState(0);
|
|
94
|
-
React.useEffect(() => {
|
|
95
|
-
const element = getChildNodeFrom(ref.current);
|
|
96
|
-
if (!element) {
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
let animationFrame;
|
|
100
|
-
let start = null;
|
|
101
|
-
let isHovered = false;
|
|
102
|
-
const animate = (timestamp) => {
|
|
103
|
-
if (start === null)
|
|
104
|
-
start = timestamp;
|
|
105
|
-
const progress = Math.min((timestamp - start) / 150, 1);
|
|
106
|
-
setHoverProgress(isHovered ? progress : 1 - progress);
|
|
107
|
-
if (progress < 1) {
|
|
108
|
-
animationFrame = requestAnimationFrame(animate);
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
const handleMouseEnter = () => {
|
|
112
|
-
isHovered = true;
|
|
113
|
-
start = null;
|
|
114
|
-
cancelAnimationFrame(animationFrame);
|
|
115
|
-
animationFrame = requestAnimationFrame(animate);
|
|
116
|
-
};
|
|
117
|
-
const handleMouseLeave = () => {
|
|
118
|
-
isHovered = false;
|
|
119
|
-
start = null;
|
|
120
|
-
cancelAnimationFrame(animationFrame);
|
|
121
|
-
animationFrame = requestAnimationFrame(animate);
|
|
122
|
-
};
|
|
123
|
-
element.addEventListener('pointerdown', handleMouseEnter);
|
|
124
|
-
element.addEventListener('pointerup', handleMouseLeave);
|
|
125
|
-
return () => {
|
|
126
|
-
element.removeEventListener('pointerdown', handleMouseEnter);
|
|
127
|
-
element.removeEventListener('pointerup', handleMouseLeave);
|
|
128
|
-
cancelAnimationFrame(animationFrame);
|
|
129
|
-
};
|
|
130
|
-
}, [ref]);
|
|
131
|
-
return hoverProgress;
|
|
132
|
-
};
|
|
133
|
-
const getAngle = (ref, coordinates) => {
|
|
134
|
-
const element = getChildNodeFrom(ref);
|
|
135
|
-
if (!element) {
|
|
136
|
-
return 0;
|
|
137
|
-
}
|
|
138
|
-
if (coordinates === null) {
|
|
139
|
-
return 0;
|
|
140
|
-
}
|
|
141
|
-
const clientRect = element.getClientRects();
|
|
142
|
-
if (!clientRect) {
|
|
143
|
-
return 0;
|
|
144
|
-
}
|
|
145
|
-
if (clientRect.length === 0) {
|
|
146
|
-
return 0;
|
|
147
|
-
}
|
|
148
|
-
const center = {
|
|
149
|
-
x: clientRect[0].x + clientRect[0].width / 2,
|
|
150
|
-
y: clientRect[0].y + clientRect[0].height / 2,
|
|
151
|
-
};
|
|
152
|
-
const angle = Math.atan2(coordinates.y - center.y, coordinates.x - center.x);
|
|
153
|
-
return angle;
|
|
154
|
-
};
|
|
155
|
-
let lastCoordinates = null;
|
|
156
|
-
export const useMousePosition = (ref) => {
|
|
157
|
-
const [angle, setAngle] = useState(getAngle(ref.current, lastCoordinates));
|
|
158
|
-
useEffect(() => {
|
|
159
|
-
const element = ref.current;
|
|
160
|
-
if (!element) {
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
const onMouseMove = (e) => {
|
|
164
|
-
const clientRect = element.getClientRects();
|
|
165
|
-
if (!clientRect) {
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
lastCoordinates = { y: e.clientY, x: e.clientX };
|
|
169
|
-
setAngle(getAngle(element, { y: e.clientY, x: e.clientX }));
|
|
170
|
-
};
|
|
171
|
-
window.addEventListener('mousemove', onMouseMove);
|
|
172
|
-
return () => {
|
|
173
|
-
window.removeEventListener('mousemove', onMouseMove);
|
|
174
|
-
};
|
|
175
|
-
}, [ref]);
|
|
176
|
-
return angle;
|
|
177
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Button } from '@remotion/design';
|
|
3
|
-
export const BackButton = ({ color, text, link }) => {
|
|
4
|
-
return (_jsx("div", { className: "justify-center items-center font-medium mb-4 block", style: {
|
|
5
|
-
fontFamily: 'GTPlanar',
|
|
6
|
-
fontWeight: 500,
|
|
7
|
-
color,
|
|
8
|
-
}, children: _jsx(Button, { href: link, className: "px-4 rounded-full text-sm h-10", children: _jsxs("div", { className: "flex row items-center justify-center px-4", children: [_jsx("svg", { className: "h-4 mr-[15px] inline-block", style: { color }, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512", children: _jsx("path", { fill: "currentcolor", d: "M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z" }) }), text] }) }) }));
|
|
9
|
-
};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
export const CommandCopyButton = ({ copied, customSvg }) => {
|
|
3
|
-
return copied ? (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512", className: "h-5", children: _jsx("path", { fill: "currentColor", d: "M438.6 105.4C451.1 117.9 451.1 138.1 438.6 150.6L182.6 406.6C170.1 419.1 149.9 419.1 137.4 406.6L9.372 278.6C-3.124 266.1-3.124 245.9 9.372 233.4C21.87 220.9 42.13 220.9 54.63 233.4L159.1 338.7L393.4 105.4C405.9 92.88 426.1 92.88 438.6 105.4H438.6z" }) })) : customSvg ? (customSvg) : (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 384 512", className: "h-5", children: _jsx("path", { fill: "currentColor", d: "M320 64h-49.61C262.1 27.48 230.7 0 192 0S121 27.48 113.6 64H64C28.65 64 0 92.66 0 128v320c0 35.34 28.65 64 64 64h256c35.35 0 64-28.66 64-64V128C384 92.66 355.3 64 320 64zM192 48c13.23 0 24 10.77 24 24S205.2 96 192 96S168 85.23 168 72S178.8 48 192 48zM336 448c0 8.82-7.178 16-16 16H64c-8.822 0-16-7.18-16-16V128c0-8.82 7.178-16 16-16h18.26C80.93 117.1 80 122.4 80 128v16C80 152.8 87.16 160 96 160h192c8.836 0 16-7.164 16-16V128c0-5.559-.9316-10.86-2.264-16H320c8.822 0 16 7.18 16 16V448z" }) }));
|
|
4
|
-
};
|
|
@@ -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 EditorStarterSection from './homepage/EditorStarterSection';
|
|
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 { 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: "w-full 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(EditorStarterSection, {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {}), _jsx(NewsletterButton, {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {})] })] }) }) }));
|
|
20
|
-
};
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { Button, Input } from '@remotion/design';
|
|
3
|
-
import React, { useCallback, useState } from 'react';
|
|
4
|
-
function generateId() {
|
|
5
|
-
return Math.random().toString(36).substr(2, 9);
|
|
6
|
-
}
|
|
7
|
-
const initialMembers = [
|
|
8
|
-
{ id: generateId(), name: 'alice' },
|
|
9
|
-
{ id: generateId(), name: 'bob' },
|
|
10
|
-
];
|
|
11
|
-
const Row = ({ value, onChange, onDelete, disableDelete }) => {
|
|
12
|
-
return (_jsxs("div", { className: "flex flex-row gap-2 items-center", children: [_jsx(Input, { placeholder: "Enter username", className: "w-full block flex-1", value: value, onChange: (e) => onChange(e.target.value) }), _jsx(Button, { className: "hover:text-white hover:bg-warn transition-colors w-10 h-10 p-0 rounded-full", onClick: onDelete, type: "button", disabled: disableDelete, "aria-label": "Delete member", depth: 0.5, children: _jsx("svg", { width: "16", height: "16", viewBox: "0 0 10 10", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M1 1L9 9M1 9L9 1", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }) })] }));
|
|
13
|
-
};
|
|
14
|
-
export const ManageTeamMembers = () => {
|
|
15
|
-
const [members, setMembers] = useState(initialMembers);
|
|
16
|
-
// One extra row for adding new member
|
|
17
|
-
const displayedMembers = [...members, { id: 'NEW', name: '' }];
|
|
18
|
-
const updateMember = useCallback((idx, value) => {
|
|
19
|
-
// If it's last "NEW" row, add as new member if not empty
|
|
20
|
-
if (idx === members.length) {
|
|
21
|
-
if (value.trim() !== '') {
|
|
22
|
-
setMembers((prev) => [...prev, { id: generateId(), name: value }]);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
setMembers((prev) => prev.map((m, i) => (i === idx ? { ...m, name: value } : m)));
|
|
27
|
-
}
|
|
28
|
-
}, [members.length]);
|
|
29
|
-
const deleteMember = useCallback((idx) => {
|
|
30
|
-
setMembers((prev) => prev.filter((_, i) => i !== idx));
|
|
31
|
-
}, []);
|
|
32
|
-
const [loading, setLoading] = useState(false);
|
|
33
|
-
const save = useCallback(() => {
|
|
34
|
-
setLoading(true);
|
|
35
|
-
setTimeout(() => {
|
|
36
|
-
setLoading(false);
|
|
37
|
-
}, 1000);
|
|
38
|
-
}, []);
|
|
39
|
-
return (_jsxs(_Fragment, { children: [_jsx("h2", { children: "Manage team members" }), _jsx("p", { className: "font-brand", children: "Add a new team member to your team." }), displayedMembers.map((member, idx) => (
|
|
40
|
-
// eslint-disable-next-line react/no-array-index-key
|
|
41
|
-
_jsxs(React.Fragment, { children: [_jsx(Row, { value: member.name, onChange: (val) => updateMember(idx, val), onDelete: idx < members.length ? () => deleteMember(idx) : undefined, disableDelete: idx >= members.length }), _jsx("div", { className: "h-2" })] }, idx))), _jsx("div", { className: "h-4" }), _jsx("div", { className: "flex flex-row justify-end", children: _jsx(Button, { className: "bg-brand text-white", loading: loading, onClick: save, children: "Save" }) })] }));
|
|
42
|
-
};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
export const Spinner = (props) => {
|
|
3
|
-
return (_jsxs("svg", { id: "loading", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 32 32", width: "32", height: "32", fill: "currentColor", ...props, children: [_jsx("path", { opacity: ".1", d: "M14 0 H18 V8 H14 z", transform: "rotate(0 16 16)", children: _jsx("animate", { attributeName: "opacity", from: "1", to: ".1", dur: "1s", repeatCount: "indefinite", begin: "0" }) }), _jsx("path", { opacity: ".1", d: "M14 0 H18 V8 H14 z", transform: "rotate(45 16 16)", children: _jsx("animate", { attributeName: "opacity", from: "1", to: ".1", dur: "1s", repeatCount: "indefinite", begin: "0.125s" }) }), _jsx("path", { opacity: ".1", d: "M14 0 H18 V8 H14 z", transform: "rotate(90 16 16)", children: _jsx("animate", { attributeName: "opacity", from: "1", to: ".1", dur: "1s", repeatCount: "indefinite", begin: "0.25s" }) }), _jsx("path", { opacity: ".1", d: "M14 0 H18 V8 H14 z", transform: "rotate(135 16 16)", children: _jsx("animate", { attributeName: "opacity", from: "1", to: ".1", dur: "1s", repeatCount: "indefinite", begin: "0.375s" }) }), _jsx("path", { opacity: ".1", d: "M14 0 H18 V8 H14 z", transform: "rotate(180 16 16)", children: _jsx("animate", { attributeName: "opacity", from: "1", to: ".1", dur: "1s", repeatCount: "indefinite", begin: "0.5s" }) }), _jsx("path", { opacity: ".1", d: "M14 0 H18 V8 H14 z", transform: "rotate(225 16 16)", children: _jsx("animate", { attributeName: "opacity", from: "1", to: ".1", dur: "1s", repeatCount: "indefinite", begin: "0.675s" }) }), _jsx("path", { opacity: ".1", d: "M14 0 H18 V8 H14 z", transform: "rotate(270 16 16)", children: _jsx("animate", { attributeName: "opacity", from: "1", to: ".1", dur: "1s", repeatCount: "indefinite", begin: "0.75s" }) }), _jsx("path", { opacity: ".1", d: "M14 0 H18 V8 H14 z", transform: "rotate(315 16 16)", children: _jsx("animate", { attributeName: "opacity", from: "1", to: ".1", dur: "1s", repeatCount: "indefinite", begin: "0.875s" }) })] }));
|
|
4
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const TeamPicture: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
export const TeamPicture = () => {
|
|
3
|
-
return (_jsx("div", { className: "border-effect overflow-hidden mb-10 lg:mb-4", children: _jsx("img", { src: "/img/team/team.jpeg", style: { aspectRatio: '1500 / 1038' }, className: "w-full mb-0 float-left " }) }));
|
|
4
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const DesignPage: React.FC;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Button, Card, Counter, InlineCode, Input, Link, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, } from '@remotion/design';
|
|
3
|
-
import { useCallback, useState } from 'react';
|
|
4
|
-
import { ManageTeamMembers } from './ManageTeamMembers';
|
|
5
|
-
const Explainer = ({ children }) => {
|
|
6
|
-
return (_jsx("div", { children: _jsx("div", { className: "text-gray-500 font-brand text-sm mb-2", children: children }) }));
|
|
7
|
-
};
|
|
8
|
-
export const DesignPage = () => {
|
|
9
|
-
const [count, setCount] = useState(10);
|
|
10
|
-
const [active, setActive] = useState(false);
|
|
11
|
-
const [submitButtonActive, setSubmitButtonActive] = useState(true);
|
|
12
|
-
const [submitButtonPrimaryActive, setSubmitButtonPrimaryActive] = useState(true);
|
|
13
|
-
const onClick = useCallback(() => {
|
|
14
|
-
setSubmitButtonActive(false);
|
|
15
|
-
setTimeout(() => {
|
|
16
|
-
setSubmitButtonActive(true);
|
|
17
|
-
}, 1000);
|
|
18
|
-
}, []);
|
|
19
|
-
const onClickPrimary = useCallback(() => {
|
|
20
|
-
setSubmitButtonPrimaryActive(false);
|
|
21
|
-
setTimeout(() => {
|
|
22
|
-
setSubmitButtonPrimaryActive(true);
|
|
23
|
-
}, 1000);
|
|
24
|
-
}, []);
|
|
25
|
-
const [saving, setSaving] = useState(false);
|
|
26
|
-
const save = useCallback(() => {
|
|
27
|
-
setSaving(true);
|
|
28
|
-
setTimeout(() => {
|
|
29
|
-
setSaving(false);
|
|
30
|
-
}, 1000);
|
|
31
|
-
}, []);
|
|
32
|
-
return (_jsx("div", { className: "bg-[var(--background)] relative", children: _jsxs("div", { className: "max-w-[800px] mx-auto pt-10 pb-10 px-4", children: [_jsx("h1", { children: "@remotion/design" }), _jsx("a", { href: "https://github.com/remotion-dev/remotion/blob/main/packages/promo-pages/src/components/design.tsx", className: "font-brand text-brand", target: "_blank", children: "View source" }), _jsx("br", {}), _jsx("br", {}), _jsx("h2", { className: "text-brand", children: "<Button />" }), _jsx(Explainer, { children: "Button with label" }), _jsx(Button, { children: "Click me" }), _jsx("br", {}), _jsx(Explainer, { children: "Disabled" }), _jsxs(Button, { disabled: true, children: ["Don't", " click me"] }), _jsx("br", {}), _jsx(Explainer, { children: "Primary" }), _jsx(Button, { className: "bg-brand text-white", children: "Primary" }), _jsx("br", {}), _jsx(Explainer, { children: "Click to disable" }), _jsx(Button, { onClick: onClick, loading: !submitButtonActive, children: "Submit" }), _jsx("br", {}), _jsx(Explainer, { children: "Click to disable (primary)" }), _jsx(Button, { onClick: onClickPrimary, className: "bg-brand text-white", loading: !submitButtonPrimaryActive, children: "Submit" }), _jsx("br", {}), _jsx(Explainer, { children: "Loading state" }), _jsx(Button, { onClick: onClick, loading: true, children: "Loading" }), _jsx("br", {}), _jsx(Explainer, { children: "Loading state (primary)" }), _jsx(Button, { onClick: onClick, className: "bg-brand text-white", loading: true, children: "Loading" }), _jsx("br", {}), _jsx(Explainer, { children: "Rounded" }), _jsx(Button, { className: "rounded-full", children: "Rounded" }), _jsx("br", {}), _jsx(Explainer, { children: "Full width" }), _jsx(Button, { className: "w-full", children: "Choose a template" }), _jsx("br", {}), _jsx(Explainer, { children: "Full width rounded" }), _jsx(Button, { className: "w-full rounded-full", children: "Fully rounded" }), _jsx("div", { className: "h-8" }), _jsx(Explainer, { children: "Circular" }), _jsx(Button, { className: "rounded-full bg-brand w-12 h-12" }), _jsx("div", { className: "h-8" }), _jsx(Explainer, { children: "Remove" }), _jsx(Button, { className: "hover:text-white hover:bg-warn transition-colors w-10 h-10 p-0 rounded-full", depth: 0.5, children: _jsx("svg", { width: "16", height: "16", viewBox: "0 0 10 10", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M1 1L9 9M1 9L9 1", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }) }), _jsx("div", { className: "h-8" }), _jsx(Explainer, { children: "Link button" }), _jsx(Button, { href: "/design", children: "Link button" }), _jsx("br", {}), _jsxs(Explainer, { children: ["Link button with ", _jsx("code", { children: "<span>" })] }), _jsx(Button, { href: "/design", children: _jsx("span", { children: "Link button with span child" }) }), _jsx("br", {}), _jsx(Explainer, { children: "External link button" }), _jsx(Button, { href: "https://github.com/remotion-dev/remotion", target: "_blank", children: "GitHub" }), _jsx("div", { className: "h-8" }), _jsx(Explainer, { children: "Remove (small)" }), _jsx(Button, { className: "hover:text-white hover:bg-warn transition-colors w-6 h-6 p-0 rounded-full", depth: 0.5, children: _jsx("svg", { width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M1 1L9 9M1 9L9 1", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }) }), _jsx("div", { className: "h-8" }), _jsx("h2", { className: "text-brand", children: "<Counter />" }), _jsx(Counter, { count: count, setCount: setCount, minCount: 1, step: 1, incrementStep: 1 }), _jsx("br", {}), " ", _jsx("h2", { className: "text-brand", children: "<Switch />" }), _jsx(Switch, { active: active, onToggle: () => setActive((e) => !e) }), _jsx("br", {}), " ", _jsx("h2", { className: "text-brand", children: "<Card />" }), _jsxs(Card, { className: "px-4 py-4", children: [_jsx("h3", { className: "text-text", children: "Card" }), _jsx("div", { className: "text-gray-500", children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." })] }), _jsx("br", {}), _jsx("h2", { className: "text-brand", children: "<Select />" }), _jsxs(Select, { defaultValue: "option1", children: [_jsx(SelectTrigger, { style: { width: '200px' }, children: _jsx(SelectValue, { placeholder: "Select an option" }) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "option1", children: "Option 1" }), _jsx(SelectItem, { value: "option2", children: "Option 2" }), _jsx(SelectItem, { value: "option3", children: "Option 3" })] })] }), _jsx("br", {}), _jsx("h2", { className: "text-brand", children: "<Tabs />" }), _jsxs(Tabs, { defaultValue: "tab1", children: [_jsxs(TabsList, { children: [_jsx(TabsTrigger, { value: "tab1", children: "Tab 1" }), _jsx(TabsTrigger, { value: "tab2", children: "Tab 2" }), _jsx(TabsTrigger, { value: "tab3", children: "Tab 3" })] }), _jsx(TabsContent, { value: "tab1", children: _jsx("div", { className: "font-brand", children: "Content for Tab 1" }) }), _jsx(TabsContent, { value: "tab2", children: _jsx("div", { className: "font-brand", children: "Content for Tab 2" }) }), _jsx(TabsContent, { value: "tab3", children: _jsx("div", { className: "font-brand", children: "Content for Tab 3" }) })] }), _jsx("br", {}), _jsx("h2", { className: "text-brand", children: "<Input />" }), _jsx(Input, { placeholder: "Enter your email" }), _jsx("br", {}), _jsx("br", {}), _jsx("h2", { className: "text-brand", children: "<Textarea />" }), _jsx(Textarea, { placeholder: "Enter your message" }), _jsx("br", {}), _jsx("br", {}), _jsx("h2", { className: "text-brand", children: "<InlineCode />" }), _jsxs("p", { className: "font-brand", children: ["Use ", _jsx(InlineCode, { children: "useCurrentFrame()" }), " to get the current frame and ", _jsx(InlineCode, { children: "useVideoConfig()" }), " to get the video configuration."] }), _jsx("br", {}), _jsx("h2", { className: "text-brand", children: "<Link />" }), _jsxs("p", { className: "font-brand", children: ["See the", ' ', _jsx(Link, { href: "https://www.remotion.dev/docs", target: "_blank", rel: "noopener noreferrer", children: "Remotion documentation" }), ' ', "for more information."] }), _jsx("br", {}), _jsx("br", {}), _jsx("h1", { children: "Example form set" }), _jsx("br", {}), _jsx("h2", { children: "Change email" }), _jsx("p", { className: "font-brand", children: "A email will be sent to the new email address. You will need to click on the link in the email to confirm the change." }), _jsx(Input, { placeholder: "Enter your email", className: "w-full block" }), _jsx("div", { className: "h-2" }), _jsx("div", { className: "flex flex-row justify-end", children: _jsx(Button, { className: "bg-brand text-white", loading: saving, onClick: save, children: "Change" }) }), _jsx("br", {}), _jsx("br", {}), _jsx(ManageTeamMembers, {})] }) }));
|
|
33
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
type ExpertsPageProps = {
|
|
3
|
-
readonly Link: React.ComponentType<{
|
|
4
|
-
style?: React.CSSProperties;
|
|
5
|
-
className?: string;
|
|
6
|
-
href: string;
|
|
7
|
-
children: React.ReactNode;
|
|
8
|
-
}>;
|
|
9
|
-
};
|
|
10
|
-
export declare const ExpertsPageContent: React.FC<ExpertsPageProps>;
|
|
11
|
-
export {};
|