@remotion/promo-pages 5.0.0-canary → 5.0.0-canary.3

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.
Files changed (130) hide show
  1. package/dist/Homepage.js +1 -1
  2. package/dist/homepage/Pricing.js +1 -1
  3. package/package.json +15 -12
  4. package/.turbo/turbo-make.log +0 -8
  5. package/bundle.ts +0 -38
  6. package/eslint.config.mjs +0 -7
  7. package/index.html +0 -13
  8. package/public/fire.mp3 +0 -0
  9. package/public/img/cluster.png +0 -0
  10. package/public/img/code-sample-new.png +0 -0
  11. package/public/img/freelancers/alex.jpeg +0 -0
  12. package/public/img/freelancers/antoine.jpeg +0 -0
  13. package/public/img/freelancers/ayush.png +0 -0
  14. package/public/img/freelancers/benjamin.jpeg +0 -0
  15. package/public/img/freelancers/default.png +0 -0
  16. package/public/img/freelancers/florent.jpeg +0 -0
  17. package/public/img/freelancers/karel.jpeg +0 -0
  18. package/public/img/freelancers/lorenzo.jpeg +0 -0
  19. package/public/img/freelancers/mickael.jpeg +0 -0
  20. package/public/img/freelancers/mohit.jpeg +0 -0
  21. package/public/img/freelancers/pramod.jpg +0 -0
  22. package/public/img/freelancers/pranav.jpg +0 -0
  23. package/public/img/freelancers/rahul.png +0 -0
  24. package/public/img/freelancers/ray.jpeg +0 -0
  25. package/public/img/freelancers/stephen.png +0 -0
  26. package/public/img/freelancers/umungo.png +0 -0
  27. package/public/img/freelancers/yehor.jpeg +0 -0
  28. package/public/img/gt-planar-black.woff2 +0 -0
  29. package/public/img/gt-planar-bold.woff2 +0 -0
  30. package/public/img/gt-planar-medium.woff2 +0 -0
  31. package/public/img/gt-planar-regular.woff2 +0 -0
  32. package/public/img/logo-small.png +0 -0
  33. package/public/img/mp4.png +0 -0
  34. package/public/img/player-demo.mp4 +0 -0
  35. package/public/img/player-example-dark.png +0 -0
  36. package/public/img/player-example.png +0 -0
  37. package/public/img/writeinreact.png +0 -0
  38. package/public/partyhorn.mp3 +0 -0
  39. package/public/sad.mp3 +0 -0
  40. package/src/cn.ts +0 -6
  41. package/src/components/Homepage.tsx +0 -88
  42. package/src/components/homepage/BackgroundAnimation.tsx +0 -108
  43. package/src/components/homepage/ChooseTemplate.tsx +0 -57
  44. package/src/components/homepage/CodeExample.tsx +0 -89
  45. package/src/components/homepage/CommunityStats.tsx +0 -54
  46. package/src/components/homepage/CommunityStatsItems.tsx +0 -304
  47. package/src/components/homepage/Counter.tsx +0 -110
  48. package/src/components/homepage/Demo/Card.tsx +0 -273
  49. package/src/components/homepage/Demo/Cards.tsx +0 -129
  50. package/src/components/homepage/Demo/Comp.tsx +0 -157
  51. package/src/components/homepage/Demo/CurrentCountry.tsx +0 -97
  52. package/src/components/homepage/Demo/DemoError.tsx +0 -18
  53. package/src/components/homepage/Demo/DemoErrorIcon.tsx +0 -32
  54. package/src/components/homepage/Demo/DemoRender.tsx +0 -166
  55. package/src/components/homepage/Demo/DigitWheel.tsx +0 -179
  56. package/src/components/homepage/Demo/DisplayedEmoji.tsx +0 -81
  57. package/src/components/homepage/Demo/DoneCheckmark.tsx +0 -39
  58. package/src/components/homepage/Demo/DownloadNudge.tsx +0 -62
  59. package/src/components/homepage/Demo/DragAndDropNudge.tsx +0 -57
  60. package/src/components/homepage/Demo/EmojiCard.tsx +0 -198
  61. package/src/components/homepage/Demo/Minus.tsx +0 -21
  62. package/src/components/homepage/Demo/PlayPauseButton.tsx +0 -66
  63. package/src/components/homepage/Demo/PlayerControls.tsx +0 -48
  64. package/src/components/homepage/Demo/PlayerSeekBar.tsx +0 -325
  65. package/src/components/homepage/Demo/PlayerVolume.tsx +0 -83
  66. package/src/components/homepage/Demo/Progress.tsx +0 -38
  67. package/src/components/homepage/Demo/Spinner.tsx +0 -60
  68. package/src/components/homepage/Demo/Switcher.tsx +0 -54
  69. package/src/components/homepage/Demo/Temperature.tsx +0 -44
  70. package/src/components/homepage/Demo/TemperatureNumber.tsx +0 -68
  71. package/src/components/homepage/Demo/ThemeNudge.tsx +0 -72
  72. package/src/components/homepage/Demo/TimeDisplay.tsx +0 -43
  73. package/src/components/homepage/Demo/TrendingRepos.tsx +0 -106
  74. package/src/components/homepage/Demo/icons.tsx +0 -114
  75. package/src/components/homepage/Demo/index.tsx +0 -158
  76. package/src/components/homepage/Demo/math.ts +0 -43
  77. package/src/components/homepage/Demo/types.ts +0 -6
  78. package/src/components/homepage/Editor.tsx +0 -67
  79. package/src/components/homepage/EvaluateRemotion.tsx +0 -92
  80. package/src/components/homepage/FreePricing.tsx +0 -295
  81. package/src/components/homepage/GetStartedStrip.tsx +0 -77
  82. package/src/components/homepage/GitHubButton.tsx +0 -23
  83. package/src/components/homepage/IconForTemplate.tsx +0 -154
  84. package/src/components/homepage/IfYouKnowReact.tsx +0 -29
  85. package/src/components/homepage/InfoTooltip.tsx +0 -25
  86. package/src/components/homepage/MoreTemplatesButton.tsx +0 -29
  87. package/src/components/homepage/MuxVideo.tsx +0 -68
  88. package/src/components/homepage/NewsletterButton.tsx +0 -88
  89. package/src/components/homepage/Pricing.tsx +0 -49
  90. package/src/components/homepage/PricingBulletPoint.tsx +0 -50
  91. package/src/components/homepage/RealMp4Videos.tsx +0 -50
  92. package/src/components/homepage/Spacer.tsx +0 -5
  93. package/src/components/homepage/TemplateIcon.tsx +0 -36
  94. package/src/components/homepage/TextInput.tsx +0 -62
  95. package/src/components/homepage/TrustedByBanner.tsx +0 -194
  96. package/src/components/homepage/VideoApps.tsx +0 -231
  97. package/src/components/homepage/VideoAppsShowcase.tsx +0 -276
  98. package/src/components/homepage/VideoAppsTitle.tsx +0 -24
  99. package/src/components/homepage/VideoPlayerWithControls.tsx +0 -188
  100. package/src/components/homepage/WriteInReact.tsx +0 -34
  101. package/src/components/homepage/YouAreHere.tsx +0 -30
  102. package/src/components/homepage/custom.css +0 -57
  103. package/src/components/homepage/layout/Button.tsx +0 -93
  104. package/src/components/homepage/layout/colors.ts +0 -17
  105. package/src/components/homepage/layout/use-color-mode.tsx +0 -44
  106. package/src/components/homepage/layout/use-el-size.ts +0 -51
  107. package/src/components/homepage/layout/use-mobile-layout.ts +0 -8
  108. package/src/components/homepage/video-player.css +0 -24
  109. package/src/components/icons/blank.tsx +0 -13
  110. package/src/components/icons/clone.tsx +0 -10
  111. package/src/components/icons/code-hike.tsx +0 -15
  112. package/src/components/icons/cubes.tsx +0 -13
  113. package/src/components/icons/js.tsx +0 -17
  114. package/src/components/icons/next.tsx +0 -64
  115. package/src/components/icons/overlay.tsx +0 -24
  116. package/src/components/icons/remix.tsx +0 -24
  117. package/src/components/icons/skia.tsx +0 -13
  118. package/src/components/icons/stargazer.tsx +0 -13
  119. package/src/components/icons/still.tsx +0 -13
  120. package/src/components/icons/tailwind.tsx +0 -22
  121. package/src/components/icons/tiktok.tsx +0 -13
  122. package/src/components/icons/ts.tsx +0 -18
  123. package/src/components/icons/tts.tsx +0 -13
  124. package/src/components/icons/undo.tsx +0 -11
  125. package/src/components/icons/waveform.tsx +0 -13
  126. package/src/fonts.css +0 -30
  127. package/src/index.css +0 -74
  128. package/src/main.tsx +0 -12
  129. package/tsconfig.json +0 -15
  130. package/vite.config.ts +0 -9
@@ -1,17 +0,0 @@
1
- import {darken, transparentize} from 'polished';
2
-
3
- export const PALETTE = {
4
- BOX_STROKE: 'var(--box-stroke)',
5
- TEXT_COLOR: 'var(--text-color)',
6
- BORDER_COLOR: 'var(--border-color)',
7
- BRAND: 'var(--ifm-color-primary)',
8
- };
9
-
10
- export const FONTS = {
11
- GTPLANAR: 'GTPlanar',
12
- };
13
-
14
- export const UNDERLAY_BLUE = transparentize(0.85, '#42e9f5');
15
- export const RED = '#e74c3c';
16
- export const UNDERLAY_RED = transparentize(0.9, RED);
17
- export const BLUE_TEXT = darken(0.3, '#42e9f5');
@@ -1,44 +0,0 @@
1
- /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- import React, {useContext, useMemo, type ReactNode} from 'react';
9
-
10
- type ContextValue = {
11
- /** Current color mode. */
12
- readonly colorMode: ColorMode;
13
- /** Set new color mode. */
14
- readonly setColorMode: (colorMode: ColorMode) => void;
15
- };
16
-
17
- const Context = React.createContext<ContextValue | undefined>(undefined);
18
-
19
- export type ColorMode = 'light' | 'dark';
20
-
21
- export const ColorModeProvider = ({
22
- children,
23
- colorMode,
24
- setColorMode,
25
- }: {
26
- readonly children: React.ReactNode;
27
- readonly setColorMode: (colorMode: ColorMode) => void;
28
- readonly colorMode: ColorMode;
29
- }): ReactNode => {
30
- const value: ContextValue = useMemo(() => {
31
- return {colorMode, setColorMode};
32
- }, [colorMode, setColorMode]);
33
-
34
- return <Context.Provider value={value}>{children}</Context.Provider>;
35
- };
36
-
37
- export function useColorMode(): ContextValue {
38
- const context = useContext(Context);
39
- if (context === null || context === undefined) {
40
- throw new Error('ColorModeProvider');
41
- }
42
-
43
- return context;
44
- }
@@ -1,51 +0,0 @@
1
- import {useCallback, useEffect, useMemo, useState} from 'react';
2
-
3
- export type Size = {
4
- width: number;
5
- height: number;
6
- };
7
-
8
- export const useElementSize = (ref: HTMLElement | null): Size | null => {
9
- const [size, setSize] = useState<Size | null>(null);
10
- const observer = useMemo(() => {
11
- if (typeof ResizeObserver === 'undefined') {
12
- return;
13
- }
14
-
15
- return new ResizeObserver((entries) => {
16
- setSize({
17
- width: entries[0].contentRect.width,
18
- height: entries[0].contentRect.height,
19
- });
20
- });
21
- }, []);
22
- const updateSize = useCallback(() => {
23
- if (ref === null) {
24
- return;
25
- }
26
-
27
- const rect = ref.getClientRects();
28
- setSize({
29
- width: rect[0].width as number,
30
- height: rect[0].height as number,
31
- });
32
- }, [ref]);
33
-
34
- useEffect(() => {
35
- updateSize();
36
- if (!observer) {
37
- return;
38
- }
39
-
40
- if (ref) {
41
- observer.observe(ref);
42
- }
43
-
44
- return (): void => {
45
- if (ref) {
46
- observer.unobserve(ref);
47
- }
48
- };
49
- }, [observer, ref, updateSize]);
50
- return size;
51
- };
@@ -1,8 +0,0 @@
1
- import {useElementSize} from './use-el-size';
2
-
3
- export const useMobileLayout = () => {
4
- const containerSize = useElementSize(
5
- typeof document === 'undefined' ? null : document.body,
6
- );
7
- return (containerSize?.width ?? Infinity) < 900;
8
- };
@@ -1,24 +0,0 @@
1
- :global(:root) {
2
- --plyr-color-main: #1b1b1b;
3
- --plyr-range-fill-background: #ccc;
4
- }
5
- :global(.plyr__controls button),
6
- :global(.plyr__controls input) {
7
- cursor: pointer;
8
- }
9
- .video-container {
10
- margin-bottom: 40px;
11
- margin-top: 40px;
12
- border-radius: 30px;
13
- }
14
- :global(.plyr:fullscreen video) {
15
- max-width: initial;
16
- max-height: initial;
17
- width: 100%;
18
- height: 100%;
19
- }
20
- video {
21
- display: block;
22
- max-width: 100%;
23
- cursor: pointer;
24
- }
@@ -1,13 +0,0 @@
1
- import type {SVGProps} from 'react';
2
- import React from 'react';
3
-
4
- export const Blank: React.FC<SVGProps<SVGSVGElement>> = (props) => {
5
- return (
6
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" {...props}>
7
- <path
8
- fill="currentColor"
9
- d="M0 64C0 28.65 28.65 0 64 0H220.1C232.8 0 245.1 5.057 254.1 14.06L369.9 129.9C378.9 138.9 384 151.2 384 163.9V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V64zM352 192H240C213.5 192 192 170.5 192 144V32H64C46.33 32 32 46.33 32 64V448C32 465.7 46.33 480 64 480H320C337.7 480 352 465.7 352 448V192zM347.3 152.6L231.4 36.69C229.4 34.62 226.8 33.18 224 32.48V144C224 152.8 231.2 160 240 160H351.5C350.8 157.2 349.4 154.6 347.3 152.6z"
10
- />
11
- </svg>
12
- );
13
- };
@@ -1,10 +0,0 @@
1
- import type {SVGProps} from 'react';
2
-
3
- export const CloneIcon: React.FC<SVGProps<SVGSVGElement>> = (props) => (
4
- <svg {...props} viewBox="0 0 512 512">
5
- <path
6
- fill="currentcolor"
7
- d="M288 448L64 448l0-224 64 0 0-64-64 0c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l224 0c35.3 0 64-28.7 64-64l0-64-64 0 0 64zm-64-96l224 0c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64L224 0c-35.3 0-64 28.7-64 64l0 224c0 35.3 28.7 64 64 64z"
8
- />
9
- </svg>
10
- );
@@ -1,15 +0,0 @@
1
- import type {SVGProps} from 'react';
2
- import React from 'react';
3
-
4
- export const CodeHike: React.FC<SVGProps<SVGSVGElement>> = (props) => {
5
- return (
6
- <svg {...props} viewBox="-100 -100 200 200" fill="currentColor">
7
- <path d="M 70 60 L 42 -27 L 72 -27 L 100 60 Z" />
8
- <path d="M 20.419540229885058 40.05357142857142 L 42 -27 L 72 -27 L 50.41954022988506 40.05357142857142 Z" />
9
- <path d="M 20.419540229885058 40.05357142857142 L -15 -70 L 15 -70 L 50.41954022988506 40.05357142857142 Z" />
10
- <path d="M -50.41954022988506 40.05357142857142 L -15 -70 L 15 -70 L -20.419540229885058 40.05357142857142 Z" />
11
- <path d="M -50.41954022988506 40.05357142857142 L -72 -27 L -42 -27 L -20.419540229885058 40.05357142857142 Z" />
12
- <path d="M -100 60 L -72 -27 L -42 -27 L -70 60 Z" />
13
- </svg>
14
- );
15
- };
@@ -1,13 +0,0 @@
1
- import type {SVGProps} from 'react';
2
- import React from 'react';
3
-
4
- export const Cubes: React.FC<SVGProps<SVGSVGElement>> = (props) => {
5
- return (
6
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" {...props}>
7
- <path
8
- fill="currentColor"
9
- d="M239.5 5.018C250.1 1.106 261.9 1.106 272.5 5.018L480.5 81.28C499.4 88.22 512 106.2 512 126.4V385.7C512 405.8 499.4 423.8 480.5 430.7L272.5 506.1C261.9 510.9 250.1 510.9 239.5 506.1L31.48 430.7C12.57 423.8 0 405.8 0 385.7V126.4C0 106.2 12.57 88.22 31.48 81.28L239.5 5.018zM261.5 35.06C257.1 33.76 254 33.76 250.5 35.06L44.14 110.7L256 193.1L467.9 110.7L261.5 35.06zM42.49 400.7L240 473.1V222L32 140.3V385.7C32 392.4 36.19 398.4 42.49 400.7V400.7zM272 473.1L469.5 400.7C475.8 398.4 480 392.4 480 385.7V140.3L272 222V473.1z"
10
- />
11
- </svg>
12
- );
13
- };
@@ -1,17 +0,0 @@
1
- import type {SVGProps} from 'react';
2
- import React from 'react';
3
-
4
- export const JSIcon: React.FC<SVGProps<SVGSVGElement>> = (props) => {
5
- return (
6
- <svg
7
- className="svg-inline--fa fa-js-square fa-w-14"
8
- viewBox="0 0 448 512"
9
- {...props}
10
- >
11
- <path
12
- fill="currentColor"
13
- d="M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM243.8 381.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z"
14
- />
15
- </svg>
16
- );
17
- };
@@ -1,64 +0,0 @@
1
- import React from 'react';
2
-
3
- export const NextIcon: React.FC<{
4
- readonly style: React.CSSProperties;
5
- }> = ({style}) => {
6
- return (
7
- <svg
8
- fill="none"
9
- viewBox="0 0 180 180"
10
- style={style}
11
- xmlns="http://www.w3.org/2000/svg"
12
- >
13
- <mask
14
- height="180"
15
- id="mask0_292_250"
16
- maskUnits="userSpaceOnUse"
17
- style={{maskType: 'alpha'}}
18
- width="180"
19
- x="0"
20
- y="0"
21
- >
22
- <circle cx="90" cy="90" fill="currentcolor" r="90" />
23
- </mask>
24
- <g mask="url(#mask0_292_250)">
25
- <circle cx="90" cy="90" fill="currentcolor" r="90" />
26
- <path
27
- d="M149.508 157.52L69.142 54H54V125.97H66.1136V69.3836L139.999 164.845C143.333 162.614 146.509 160.165 149.508 157.52Z"
28
- fill="url(#paint0_linear_292_250)"
29
- />
30
- <rect
31
- fill="url(#paint1_linear_292_250)"
32
- height="72"
33
- width="12"
34
- x="115"
35
- y="54"
36
- />
37
- </g>
38
- <defs>
39
- <linearGradient
40
- gradientUnits="userSpaceOnUse"
41
- id="paint0_linear_292_250"
42
- x1="109"
43
- x2="144.5"
44
- y1="116.5"
45
- y2="160.5"
46
- >
47
- <stop stopColor="var(--background)" />
48
- <stop offset="1" stopColor="var(--background)" stopOpacity="0" />
49
- </linearGradient>
50
- <linearGradient
51
- gradientUnits="userSpaceOnUse"
52
- id="paint1_linear_292_250"
53
- x1="121"
54
- x2="120.799"
55
- y1="54"
56
- y2="106.875"
57
- >
58
- <stop stopColor="var(--background)" />
59
- <stop offset="1" stopColor="var(--background)" stopOpacity="0" />
60
- </linearGradient>
61
- </defs>
62
- </svg>
63
- );
64
- };
@@ -1,24 +0,0 @@
1
- import type {SVGProps} from 'react';
2
- import React from 'react';
3
-
4
- export const OverlayIcon: React.FC<SVGProps<SVGSVGElement>> = (props) => {
5
- return (
6
- <svg
7
- viewBox="0 0 576 512"
8
- fill="none"
9
- xmlns="http://www.w3.org/2000/svg"
10
- {...props}
11
- >
12
- <path
13
- d="M251.1 407.9C274.5 418.7 301.5 418.7 324.9 407.9V407.8L476.9 337.6L530.1 362.2C538.6 366.1 544 374.6 544 384C544 393.4 538.6 401.9 530.1 405.8L311.5 506.8C296.6 513.7 279.4 513.7 264.5 506.8L45.9 405.8C37.4 401.9 32 393.4 32 384C32 374.6 37.4 366.1 45.9 362.2L99.1 337.7L251.1 407.9Z"
14
- fill="currentcolor"
15
- />
16
- <path
17
- d="M277.8 132.7L495.2 230.1C505.4 234.7 512 244.8 512 256C512 267.2 505.4 277.3 495.2 281.9L277.8 379.3C270.1 382.4 263.5 384 256 384C248.5 384 241 382.4 234.2 379.3L16.76 281.9C6.561 277.3 0.0003 267.2 0.0003 256C0.0003 244.8 6.561 234.7 16.76 230.1L234.2 132.7C241 129.6 248.5 128 256 128C263.5 128 270.1 129.6 277.8 132.7Z"
18
- stroke="currentcolor"
19
- transform="translate(32, -25)"
20
- strokeWidth="36"
21
- />
22
- </svg>
23
- );
24
- };
@@ -1,24 +0,0 @@
1
- import type {SVGProps} from 'react';
2
- import React from 'react';
3
-
4
- export const RemixIcon: React.FC<SVGProps<SVGSVGElement>> = (props) => {
5
- return (
6
- <svg
7
- viewBox="0 0 800 800"
8
- fill="none"
9
- xmlns="http://www.w3.org/2000/svg"
10
- {...props}
11
- >
12
- <path
13
- fillRule="evenodd"
14
- clipRule="evenodd"
15
- d="M621.609 552.632C626.649 617.449 626.649 647.833 626.649 681H476.823C476.823 673.776 476.952 667.167 477.082 660.466C477.488 639.634 477.911 617.911 474.538 574.041C470.082 509.814 442.451 495.543 391.645 495.543H346.633H156V378.687H398.776C462.951 378.687 495.04 359.146 495.04 307.408C495.04 261.915 462.951 234.347 398.776 234.347H156V120H425.516C570.802 120 643 188.686 643 298.405C643 380.471 592.194 433.993 523.562 442.913C581.498 454.509 615.369 487.514 621.609 552.632Z"
16
- fill="currentcolor"
17
- />
18
- <path
19
- d="M156 681V593H313.899C340.273 593 346 612.845 346 624.68V681H156Z"
20
- fill="currentcolor"
21
- />
22
- </svg>
23
- );
24
- };
@@ -1,13 +0,0 @@
1
- import type {SVGProps} from 'react';
2
- import React from 'react';
3
-
4
- export const SkiaIcon: React.FC<SVGProps<SVGSVGElement>> = (props) => {
5
- return (
6
- <svg {...props} xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512">
7
- <path
8
- fill="currentColor"
9
- d="M288 400C288 461.9 237.9 512 176 512H32C14.33 512 0 497.7 0 480C0 462.3 14.33 448 32 448H36.81C54.44 448 66.4 429.1 64.59 411.6C64.2 407.8 64 403.9 64 400C64 338.1 114.1 288 176 288C178.8 288 181.5 288.1 184.3 288.3C184.1 285.7 183.1 282.1 183.1 280.3C183.1 244.6 201.1 210.1 229.1 189.1L474.3 12.25C499.7-6.279 534.9-3.526 557.2 18.74C579.4 41 582.2 76.16 563.7 101.6L386.1 345.1C365 374.9 331.4 392 295.7 392C293 392 290.3 391.9 287.7 391.7C287.9 394.5 287.1 397.2 287.1 400H288zM295.7 360C321.2 360 345.2 347.8 360.2 327.2L537.8 82.82C547.1 70.08 545.7 52.5 534.5 41.37C523.4 30.24 505.8 28.86 493.1 38.12L248.8 215.8C228.2 230.8 215.1 254.8 215.1 280.3C215.1 285.7 216.5 290.9 217.5 295.1L217.6 295.1C217.9 297.3 218.2 298.6 218.5 299.9L276.1 357.5C277.4 357.8 278.7 358.1 280 358.4L280 358.5C285.1 359.5 290.3 360 295.7 360L295.7 360zM253.5 380.1L195.9 322.5C194.5 322.2 193.2 321.8 191.9 321.6C186.7 320.5 181.4 320 176 320C131.8 320 96 355.8 96 400C96 402.8 96.14 405.6 96.43 408.3C98.15 425 93.42 441.9 83.96 455.1C74.31 468.5 58 480 36.81 480H176C220.2 480 256 444.2 256 400C256 394.6 255.5 389.3 254.4 384.1C254.2 382.8 253.9 381.5 253.5 380.1V380.1z"
10
- />
11
- </svg>
12
- );
13
- };
@@ -1,13 +0,0 @@
1
- import type {SVGProps} from 'react';
2
- import React from 'react';
3
-
4
- export const Stargazer: React.FC<SVGProps<SVGSVGElement>> = (props) => {
5
- return (
6
- <svg height="1em" viewBox="0 0 512 512" {...props}>
7
- <path
8
- fill="currentcolor"
9
- d="M325.8 152.3c1.3 4.6 5.5 7.7 10.2 7.7s8.9-3.1 10.2-7.7L360 104l48.3-13.8c4.6-1.3 7.7-5.5 7.7-10.2s-3.1-8.9-7.7-10.2L360 56 346.2 7.7C344.9 3.1 340.7 0 336 0s-8.9 3.1-10.2 7.7L312 56 263.7 69.8c-4.6 1.3-7.7 5.5-7.7 10.2s3.1 8.9 7.7 10.2L312 104l13.8 48.3zM115.7 346.2L75.5 307l55.5-8.1c15.6-2.3 29.2-12.1 36.1-26.3l24.8-50.3 24.8 50.3c7 14.2 20.5 24 36.1 26.3l55.5 8.1-40.2 39.2c-11.3 11-16.4 26.9-13.8 42.4l9.5 55.4-49.5-26.1c-14-7.4-30.7-7.4-44.7 0L120 444l9.5-55.4c2.7-15.6-2.5-31.4-13.8-42.4zm54.7-188.8l-46.3 94L20.5 266.5C.9 269.3-7 293.5 7.2 307.4l74.9 73.2L64.5 483.9c-3.4 19.6 17.2 34.6 34.8 25.3l92.6-48.8 92.6 48.8c17.6 9.3 38.2-5.7 34.8-25.3L301.6 380.6l74.9-73.2c14.2-13.9 6.4-38.1-13.3-40.9L259.7 251.4l-46.3-94c-8.8-17.9-34.3-17.9-43.1 0zm258.4 85.8l11 38.6c1 3.6 4.4 6.2 8.2 6.2s7.1-2.5 8.2-6.2l11-38.6 38.6-11c3.6-1 6.2-4.4 6.2-8.2s-2.5-7.1-6.2-8.2l-38.6-11-11-38.6c-1-3.6-4.4-6.2-8.2-6.2s-7.1 2.5-8.2 6.2l-11 38.6-38.6 11c-3.6 1-6.2 4.4-6.2 8.2s2.5 7.1 6.2 8.2l38.6 11z"
10
- />
11
- </svg>
12
- );
13
- };
@@ -1,13 +0,0 @@
1
- import type {SVGProps} from 'react';
2
- import React from 'react';
3
-
4
- export const StillIcon: React.FC<SVGProps<SVGSVGElement>> = (props) => {
5
- return (
6
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" {...props}>
7
- <path
8
- fill="currentColor"
9
- d="M324.9 157.8c-11.38-17.38-39.89-17.31-51.23-.0625L200.5 268.5L184.1 245.9C172.7 229.1 145.9 229.9 134.4 245.9l-64.52 89.16c-6.797 9.406-7.75 21.72-2.547 32C72.53 377.5 83.05 384 94.75 384h322.5c11.41 0 21.8-6.281 27.14-16.38c5.312-10 4.734-22.09-1.516-31.56L324.9 157.8zM95.8 352l62.39-87.38l29.91 41.34C191.2 310.2 196.4 313.2 201.4 312.6c5.25-.125 10.12-2.781 13.02-7.188l83.83-129.9L415 352H95.8zM447.1 32h-384C28.65 32-.0091 60.65-.0091 96v320c0 35.35 28.65 64 63.1 64h384c35.35 0 64-28.65 64-64V96C511.1 60.65 483.3 32 447.1 32zM480 416c0 17.64-14.36 32-32 32H64c-17.64 0-32-14.36-32-32V96c0-17.64 14.36-32 32-32h384c17.64 0 32 14.36 32 32V416zM144 192C170.5 192 192 170.5 192 144S170.5 96 144 96S96 117.5 96 144S117.5 192 144 192zM144 128c8.822 0 15.1 7.178 15.1 16S152.8 160 144 160S128 152.8 128 144S135.2 128 144 128z"
10
- />
11
- </svg>
12
- );
13
- };
@@ -1,22 +0,0 @@
1
- import type {SVGProps} from 'react';
2
- import React from 'react';
3
-
4
- export const Tailwind: React.FC<SVGProps<SVGSVGElement>> = (props) => {
5
- return (
6
- <svg
7
- viewBox="0 0 51 31"
8
- fill="none"
9
- xmlns="http://www.w3.org/2000/svg"
10
- {...props}
11
- >
12
- <path
13
- d="M0 25.364C1.701 18.6 5.954 15.218 12.758 15.218C19.0815 15.218 21.9775 18.1395 24.4794 20.6634L24.48 20.664C26.015 22.213 27.403 23.613 29.344 24.096C32.746 24.941 35.723 23.673 38.275 20.291C36.574 27.055 32.321 30.436 25.517 30.436C19.1925 30.436 16.2975 27.5155 13.7956 24.9916L13.795 24.991C12.26 23.441 10.872 22.041 8.93 21.559C5.529 20.714 2.552 21.982 0 25.364Z"
14
- fill="currentcolor"
15
- />
16
- <path
17
- d="M12 10.146C13.701 3.382 17.954 0 24.758 0C31.0815 0 33.9775 2.92151 36.4794 5.44536L36.48 5.446C38.015 6.995 39.403 8.395 41.344 8.878C44.746 9.723 47.723 8.455 50.275 5.073C48.574 11.837 44.321 15.218 37.517 15.218C31.1925 15.218 28.2975 12.2975 25.7956 9.77365L25.795 9.773C24.26 8.223 22.872 6.823 20.93 6.341C17.529 5.496 14.552 6.764 12 10.146Z"
18
- fill="currentcolor"
19
- />
20
- </svg>
21
- );
22
- };
@@ -1,13 +0,0 @@
1
- import type {SVGProps} from 'react';
2
- import React from 'react';
3
-
4
- export const TikTok: React.FC<SVGProps<SVGSVGElement>> = (props) => {
5
- return (
6
- <svg {...props} viewBox="0 0 448 512">
7
- <path
8
- fill="currentcolor"
9
- d="M448 209.9a210.1 210.1 0 0 1 -122.8-39.3V349.4A162.6 162.6 0 1 1 185 188.3V278.2a74.6 74.6 0 1 0 52.2 71.2V0l88 0a121.2 121.2 0 0 0 1.9 22.2h0A122.2 122.2 0 0 0 381 102.4a121.4 121.4 0 0 0 67 20.1z"
10
- />
11
- </svg>
12
- );
13
- };
@@ -1,18 +0,0 @@
1
- import type {SVGProps} from 'react';
2
- import React from 'react';
3
-
4
- export const TypeScriptIcon: React.FC<SVGProps<SVGSVGElement>> = (props) => {
5
- return (
6
- <svg
7
- fill="#000000"
8
- xmlns="http://www.w3.org/2000/svg"
9
- viewBox="0 0 24 24"
10
- {...props}
11
- >
12
- <path
13
- fill="currentColor"
14
- d="M3,5v14c0,1.105,0.895,2,2,2h14c1.105,0,2-0.895,2-2V5c0-1.105-0.895-2-2-2H5C3.895,3,3,3.895,3,5z M13.666,12.451h-2.118 V19H9.841v-6.549H7.767V11h5.899V12.451z M13.998,18.626v-1.751c0,0,0.956,0.721,2.104,0.721c1.148,0,1.103-0.75,1.103-0.853 c0-1.089-3.251-1.089-3.251-3.501c0-3.281,4.737-1.986,4.737-1.986l-0.059,1.559c0,0-0.794-0.53-1.692-0.53 c-0.897,0-1.221,0.427-1.221,0.883c0,1.177,3.281,1.059,3.281,3.428C19,20.244,13.998,18.626,13.998,18.626z"
15
- />
16
- </svg>
17
- );
18
- };
@@ -1,13 +0,0 @@
1
- import type {SVGProps} from 'react';
2
- import React from 'react';
3
-
4
- export const TTSIcon: React.FC<SVGProps<SVGSVGElement>> = (props) => {
5
- return (
6
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" {...props}>
7
- <path
8
- fill="currentColor"
9
- d="M256 31.1c-141.4 0-255.1 93.13-255.1 208c0 47.62 19.91 91.25 52.91 126.3c-14.87 39.5-45.87 72.88-46.37 73.25c-6.623 7-8.373 17.25-4.623 26C5.816 474.3 14.38 480 24 480c61.49 0 109.1-25.75 139.1-46.25c28.1 9 60.16 14.25 92.9 14.25c141.4 0 255.1-93.13 255.1-207.1S397.4 31.1 256 31.1zM256 416c-28.25 0-56.24-4.25-83.24-12.75c-9.516-3.068-19.92-1.461-28.07 4.338c-22.1 16.25-58.54 35.29-102.7 39.66c11.1-15.12 29.75-40.5 40.74-69.63l.1289-.3398c4.283-11.27 1.791-23.1-6.43-32.82C47.51 313.1 32.06 277.6 32.06 240c0-97 100.5-176 223.1-176c123.5 0 223.1 79 223.1 176S379.5 416 256 416zM272 272h-128c-8.801 0-16 7.199-16 15.1C127.1 296.8 135.2 304 144 304h128c8.801 0 15.1-7.204 15.1-16C287.1 279.2 280.8 272 272 272zM368 176h-224c-8.801 0-16 7.199-16 15.1C127.1 200.8 135.2 208 144 208h224c8.801 0 15.1-7.204 15.1-16C383.1 183.2 376.8 176 368 176z"
10
- />
11
- </svg>
12
- );
13
- };
@@ -1,11 +0,0 @@
1
- import type {SVGProps} from 'react';
2
- import React from 'react';
3
-
4
- export const UndoIcon: React.FC<SVGProps<SVGSVGElement>> = (props) => (
5
- <svg viewBox="0 0 512 512" {...props}>
6
- <path
7
- fill="currentcolor"
8
- d="M48.5 224L40 224c-13.3 0-24-10.7-24-24L16 72c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2L98.6 96.6c87.6-86.5 228.7-86.2 315.8 1c87.5 87.5 87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3c-62.2-62.2-162.7-62.5-225.3-1L185 183c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8L48.5 224z"
9
- />
10
- </svg>
11
- );
@@ -1,13 +0,0 @@
1
- import type {SVGProps} from 'react';
2
- import React from 'react';
3
-
4
- export const Waveform: React.FC<SVGProps<SVGSVGElement>> = (props) => {
5
- return (
6
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512" {...props}>
7
- <path
8
- fill="currentColor"
9
- d="M224 96C215.2 96 208 103.2 208 111.1v288C208 408.8 215.2 416 223.1 416C232.8 416 240 408.8 240 400V111.1C240 103.2 232.8 96 224 96zM128 192C119.2 192 112 199.2 112 207.1V304C112 312.8 119.2 320 127.1 320S144 312.8 144 304V207.1C144 199.2 136.8 192 128 192zM32 224C23.2 224 16 231.2 16 239.1V272C16 280.8 23.2 288 31.1 288S48 280.8 48 272V239.1C48 231.2 40.8 224 32 224zM416 128C407.2 128 400 135.2 400 143.1v224C400 376.8 407.2 384 415.1 384S432 376.8 432 368V143.1C432 135.2 424.8 128 416 128zM608 224c-8.8 0-16 7.2-16 15.1V272C592 280.8 599.2 288 608 288s16-7.2 16-15.1V239.1C624 231.2 616.8 224 608 224zM512 64c-8.8 0-16 7.2-16 15.1V432C496 440.8 503.2 448 511.1 448C520.8 448 528 440.8 528 432V79.1C528 71.2 520.8 64 512 64zM320 0C311.2 0 304 7.2 304 15.1V496C304 504.8 311.2 512 319.1 512S336 504.8 336 496V15.1C336 7.2 328.8 0 320 0z"
10
- />
11
- </svg>
12
- );
13
- };
package/src/fonts.css DELETED
@@ -1,30 +0,0 @@
1
- @font-face {
2
- font-family: 'GTPlanar';
3
- src: url('/img/gt-planar-regular.woff2') format('woff2');
4
- font-weight: 400;
5
- font-style: normal;
6
- font-feature-settings: 'ss03' on;
7
- }
8
-
9
- @font-face {
10
- font-family: 'GTPlanar';
11
- src: url('/img/gt-planar-medium.woff2') format('woff2');
12
- font-weight: 500;
13
- font-style: normal;
14
- font-feature-settings: 'ss03' on;
15
- }
16
- @font-face {
17
- font-family: 'GTPlanar';
18
- src: url('/img/gt-planar-bold.woff2') format('woff2');
19
- font-weight: 700;
20
- font-style: normal;
21
- font-feature-settings: 'ss03' on;
22
- }
23
-
24
- @font-face {
25
- font-family: 'GTPlanar';
26
- src: url('/img/gt-planar-black.woff2') format('woff2');
27
- font-weight: 900;
28
- font-style: normal;
29
- font-feature-settings: 'ss03' on;
30
- }
package/src/index.css DELETED
@@ -1,74 +0,0 @@
1
- @layer theme, base, components, utilities;
2
-
3
- html {
4
- font-family: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',
5
- 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
6
- }
7
- body {
8
- margin: 0;
9
- }
10
-
11
- @keyframes click {
12
- 0% {
13
- transform: translateY(-18px);
14
- opacity: 0;
15
- }
16
-
17
- 30% {
18
- opacity: 0.7;
19
- }
20
- 70% {
21
- opacity: 0.7;
22
- }
23
- 100% {
24
- transform: translateY(-23px);
25
- opacity: 0;
26
- }
27
- }
28
-
29
- @keyframes jump {
30
- from {
31
- transform: scale(0);
32
- }
33
- to {
34
- transform: scale(1);
35
- }
36
- }
37
-
38
- @layer base {
39
- input[type='number']::-webkit-inner-spin-button,
40
- input[type='number']::-webkit-outer-spin-button {
41
- -webkit-appearance: none;
42
- margin: 0;
43
- }
44
- }
45
-
46
- @theme {
47
- --color-brand: #0b84f3;
48
- --font-brand: 'GTPlanar', sans-serif;
49
- --color-pane: var(--ifm-background-surface-color);
50
- --color-muted: var(--subtitle);
51
- }
52
-
53
- @utility border-effect {
54
- border: 2px solid var(--box-stroke);
55
- border-bottom: 4px solid var(--box-stroke);
56
- border-radius: var(--radius-lg);
57
- }
58
-
59
- @utility bluelink {
60
- @apply text-brand no-underline hover:underline underline-offset-2;
61
- }
62
-
63
- @utility card {
64
- @apply border-effect bg-pane p-5;
65
- }
66
-
67
- @utility fontbrand {
68
- @apply font-brand;
69
- font-feature-settings: 'ss03' on;
70
- }
71
-
72
- @import 'tailwindcss/theme' layer(theme);
73
- @import 'tailwindcss/utilities' layer(utilities);
74
- @import './fonts.css';
package/src/main.tsx DELETED
@@ -1,12 +0,0 @@
1
- import {StrictMode} from 'react';
2
- import {createRoot} from 'react-dom/client';
3
- import {NewLanding} from './components/Homepage';
4
- import './index.css';
5
-
6
- createRoot(document.getElementById('root')!).render(
7
- <StrictMode>
8
- <div data-theme="light">
9
- <NewLanding colorMode="light" setColorMode={() => {}} />
10
- </div>
11
- </StrictMode>,
12
- );
package/tsconfig.json DELETED
@@ -1,15 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2021",
4
- "module": "Preserve",
5
- "moduleResolution": "Bundler",
6
- "jsx": "react-jsx",
7
- "strict": true,
8
- "noEmit": true,
9
- "lib": ["ES2021", "DOM"],
10
- "esModuleInterop": true,
11
- "skipLibCheck": true,
12
- "forceConsistentCasingInFileNames": true,
13
- "noUnusedLocals": true
14
- }
15
- }
package/vite.config.ts DELETED
@@ -1,9 +0,0 @@
1
- import tailwindcss from '@tailwindcss/vite';
2
- import react from '@vitejs/plugin-react-swc';
3
-
4
- import {defineConfig} from 'vite';
5
-
6
- // https://vite.dev/config/
7
- export default defineConfig({
8
- plugins: [react(), tailwindcss()],
9
- });