@b3-crow/ui-kit 0.0.23 → 0.0.25
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/README.md +83 -35
- package/dist/components/AnimatedBackground.d.ts +9 -0
- package/dist/components/AnimatedBackground.d.ts.map +1 -0
- package/dist/components/AnimatedBackground.js +43 -0
- package/dist/components/AnimatedBackground.js.map +1 -0
- package/dist/components/Button.d.ts +15 -0
- package/dist/components/Button.d.ts.map +1 -0
- package/dist/components/Button.js +26 -0
- package/dist/components/Button.js.map +1 -0
- package/dist/components/Card.d.ts +22 -0
- package/dist/components/Card.d.ts.map +1 -0
- package/dist/components/Card.js +50 -0
- package/dist/components/Card.js.map +1 -0
- package/dist/components/Globe.d.ts +14 -0
- package/dist/components/Globe.d.ts.map +1 -0
- package/dist/components/Globe.js +67 -0
- package/dist/components/Globe.js.map +1 -0
- package/dist/components/GradientBackground.d.ts +16 -0
- package/dist/components/GradientBackground.d.ts.map +1 -0
- package/dist/components/GradientBackground.js +18 -0
- package/dist/components/GradientBackground.js.map +1 -0
- package/dist/components/HeroText.d.ts +6 -0
- package/dist/components/HeroText.d.ts.map +1 -0
- package/dist/components/HeroText.js +22 -0
- package/dist/components/HeroText.js.map +1 -0
- package/dist/components/InputField.d.ts +25 -0
- package/dist/components/InputField.d.ts.map +1 -0
- package/dist/components/InputField.js +73 -0
- package/dist/components/InputField.js.map +1 -0
- package/dist/components/Logo.d.ts +6 -0
- package/dist/components/Logo.d.ts.map +1 -0
- package/dist/components/Logo.js +7 -0
- package/dist/components/Logo.js.map +1 -0
- package/dist/components/SectionLabel.d.ts +7 -0
- package/dist/components/SectionLabel.d.ts.map +1 -0
- package/dist/components/SectionLabel.js +11 -0
- package/dist/components/SectionLabel.js.map +1 -0
- package/dist/components/Subtitle.d.ts +6 -0
- package/dist/components/Subtitle.d.ts.map +1 -0
- package/dist/components/Subtitle.js +18 -0
- package/dist/components/Subtitle.js.map +1 -0
- package/dist/components/TypewriterText.d.ts +5 -0
- package/dist/components/TypewriterText.d.ts.map +1 -0
- package/dist/components/TypewriterText.js +57 -0
- package/dist/components/TypewriterText.js.map +1 -0
- package/dist/components/index.d.ts +12 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +12 -0
- package/dist/components/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +6 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/styles.css +2 -0
- package/docs/components.md +265 -0
- package/docs/development.md +291 -0
- package/docs/examples.md +333 -0
- package/docs/setup.md +73 -0
- package/package.json +9 -4
- package/.github/dependabot.yml +0 -6
- package/.github/workflows/publish.yml +0 -75
- package/.github/workflows/template-sync.yml +0 -31
- package/.husky/commit-msg +0 -1
- package/.husky/pre-commit +0 -1
- package/.prettierrc +0 -13
- package/bun.lock +0 -1042
- package/commitlint.config.cjs +0 -4
- package/eslint.config.mts +0 -7
- package/lint-staged +0 -0
- package/postcss.config.mjs +0 -5
- package/src/components/coming-soon/AnimatedBackground.tsx +0 -71
- package/src/components/coming-soon/HeroText.tsx +0 -40
- package/src/components/coming-soon/Logo.tsx +0 -27
- package/src/components/coming-soon/Subtitle.tsx +0 -37
- package/src/components/coming-soon/TypewriterText.tsx +0 -89
- package/src/components/coming-soon/index.ts +0 -5
- package/src/index.ts +0 -2
- package/tsconfig.json +0 -23
package/commitlint.config.cjs
DELETED
package/eslint.config.mts
DELETED
package/lint-staged
DELETED
|
File without changes
|
package/postcss.config.mjs
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
interface AnimatedBackgroundProps {
|
|
4
|
-
backgroundColor?: string;
|
|
5
|
-
primaryGlowColor?: string;
|
|
6
|
-
secondaryGlowColor?: string;
|
|
7
|
-
tertiaryGlowColor?: string;
|
|
8
|
-
primaryGlowOpacity?: number;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export function AnimatedBackground({
|
|
12
|
-
backgroundColor = '#000000',
|
|
13
|
-
primaryGlowColor = '#854ED2',
|
|
14
|
-
secondaryGlowColor = '#ffffffbd',
|
|
15
|
-
tertiaryGlowColor = '#e0c8ffbe',
|
|
16
|
-
primaryGlowOpacity = 0.5,
|
|
17
|
-
}: AnimatedBackgroundProps) {
|
|
18
|
-
return (
|
|
19
|
-
<div
|
|
20
|
-
style={{
|
|
21
|
-
position: 'fixed',
|
|
22
|
-
top: 0,
|
|
23
|
-
left: 0,
|
|
24
|
-
right: 0,
|
|
25
|
-
bottom: 0,
|
|
26
|
-
zIndex: -10,
|
|
27
|
-
overflow: 'hidden',
|
|
28
|
-
}}
|
|
29
|
-
>
|
|
30
|
-
<div
|
|
31
|
-
style={{
|
|
32
|
-
position: 'absolute',
|
|
33
|
-
top: 0,
|
|
34
|
-
left: 0,
|
|
35
|
-
right: 0,
|
|
36
|
-
bottom: 0,
|
|
37
|
-
background: backgroundColor,
|
|
38
|
-
}}
|
|
39
|
-
/>
|
|
40
|
-
|
|
41
|
-
<div
|
|
42
|
-
style={{
|
|
43
|
-
position: 'absolute',
|
|
44
|
-
top: '50%',
|
|
45
|
-
left: '100%',
|
|
46
|
-
transform: 'translate(-50%, -50%)',
|
|
47
|
-
width: '1700px',
|
|
48
|
-
height: '900px',
|
|
49
|
-
borderRadius: '50%',
|
|
50
|
-
background: `radial-gradient(circle, ${primaryGlowColor} 0%, transparent 70%)`,
|
|
51
|
-
opacity: primaryGlowOpacity,
|
|
52
|
-
filter: 'blur(40px)',
|
|
53
|
-
}}
|
|
54
|
-
/>
|
|
55
|
-
|
|
56
|
-
<div
|
|
57
|
-
style={{
|
|
58
|
-
position: 'absolute',
|
|
59
|
-
top: '50%',
|
|
60
|
-
left: '100%',
|
|
61
|
-
transform: 'translate(-50%, -50%)',
|
|
62
|
-
width: '500px',
|
|
63
|
-
height: '400px',
|
|
64
|
-
borderRadius: '50%',
|
|
65
|
-
background: `radial-gradient(circle, ${secondaryGlowColor} 0%, ${tertiaryGlowColor} 40%, transparent 65%)`,
|
|
66
|
-
filter: 'blur(80px)',
|
|
67
|
-
}}
|
|
68
|
-
/>
|
|
69
|
-
</div>
|
|
70
|
-
);
|
|
71
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { motion } from 'framer-motion';
|
|
4
|
-
|
|
5
|
-
interface HeroTextProps {
|
|
6
|
-
text: string;
|
|
7
|
-
gradient?: string;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export function HeroText({
|
|
11
|
-
text,
|
|
12
|
-
gradient = 'linear-gradient(70deg, #1B0637 0%, #210E3C 10%, #24113F 20%, #2E1A4B 35%, #3A2559 45%, #563F77 65%, #604882 80%, #765F97 100%)',
|
|
13
|
-
}: HeroTextProps) {
|
|
14
|
-
return (
|
|
15
|
-
<motion.h1
|
|
16
|
-
initial={{ opacity: 0, y: 40 }}
|
|
17
|
-
animate={{ opacity: 1, y: 0 }}
|
|
18
|
-
transition={{ duration: 1, delay: 0.3, ease: 'easeOut' }}
|
|
19
|
-
style={{
|
|
20
|
-
fontSize: 'clamp(9rem, 22vw, 22rem)',
|
|
21
|
-
fontWeight: 650,
|
|
22
|
-
lineHeight: 0.9,
|
|
23
|
-
letterSpacing: '0.01em',
|
|
24
|
-
background: gradient,
|
|
25
|
-
WebkitBackgroundClip: 'text',
|
|
26
|
-
backgroundClip: 'text',
|
|
27
|
-
WebkitTextFillColor: 'transparent',
|
|
28
|
-
textAlign: 'center',
|
|
29
|
-
margin: 0,
|
|
30
|
-
marginTop: '-5vh',
|
|
31
|
-
padding: 0,
|
|
32
|
-
fontFamily:
|
|
33
|
-
'-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica", "Arial", sans-serif',
|
|
34
|
-
filter: 'drop-shadow(0 0 80px rgba(87, 84, 96, 0.3))',
|
|
35
|
-
}}
|
|
36
|
-
>
|
|
37
|
-
{text}
|
|
38
|
-
</motion.h1>
|
|
39
|
-
);
|
|
40
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { motion } from 'framer-motion';
|
|
4
|
-
|
|
5
|
-
interface LogoProps {
|
|
6
|
-
src: string;
|
|
7
|
-
alt: string;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export function Logo({ src, alt }: LogoProps) {
|
|
11
|
-
return (
|
|
12
|
-
<motion.div
|
|
13
|
-
initial={{ opacity: 0, y: -20 }}
|
|
14
|
-
animate={{ opacity: 1, y: 0 }}
|
|
15
|
-
transition={{ duration: 0.8, ease: 'easeOut' }}
|
|
16
|
-
className="fixed left-8 top-8 z-50"
|
|
17
|
-
>
|
|
18
|
-
<img
|
|
19
|
-
src={src}
|
|
20
|
-
alt={alt}
|
|
21
|
-
width={80}
|
|
22
|
-
height={80}
|
|
23
|
-
className="h-16 w-16 object-contain sm:h-20 sm:w-20"
|
|
24
|
-
/>
|
|
25
|
-
</motion.div>
|
|
26
|
-
);
|
|
27
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { motion } from 'framer-motion';
|
|
4
|
-
import type { ReactNode } from 'react';
|
|
5
|
-
|
|
6
|
-
interface SubtitleProps {
|
|
7
|
-
children: ReactNode;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export function Subtitle({ children }: SubtitleProps) {
|
|
11
|
-
return (
|
|
12
|
-
<motion.p
|
|
13
|
-
initial={{ opacity: 0 }}
|
|
14
|
-
animate={{ opacity: 1 }}
|
|
15
|
-
transition={{ duration: 1, delay: 0.6, ease: 'easeOut' }}
|
|
16
|
-
style={{
|
|
17
|
-
position: 'fixed',
|
|
18
|
-
bottom: '1.5vh',
|
|
19
|
-
left: '50%',
|
|
20
|
-
transform: 'translateX(-50%)',
|
|
21
|
-
fontSize: 'clamp(0.75rem, 1vw, 0.95rem)',
|
|
22
|
-
lineHeight: 1.4,
|
|
23
|
-
color: 'rgba(255, 255, 255, 0.52)',
|
|
24
|
-
textAlign: 'center',
|
|
25
|
-
maxWidth: '50rem',
|
|
26
|
-
padding: '0 2rem',
|
|
27
|
-
fontWeight: 400,
|
|
28
|
-
letterSpacing: '0.01em',
|
|
29
|
-
fontFamily:
|
|
30
|
-
'-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica", "Arial", sans-serif',
|
|
31
|
-
zIndex: 10,
|
|
32
|
-
}}
|
|
33
|
-
>
|
|
34
|
-
{children}
|
|
35
|
-
</motion.p>
|
|
36
|
-
);
|
|
37
|
-
}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { motion } from 'framer-motion';
|
|
4
|
-
import { useEffect, useRef, useState } from 'react';
|
|
5
|
-
|
|
6
|
-
interface TypewriterTextProps {
|
|
7
|
-
text: string;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export function TypewriterText({ text }: TypewriterTextProps) {
|
|
11
|
-
const [displayedText, setDisplayedText] = useState('');
|
|
12
|
-
const [currentIndex, setCurrentIndex] = useState(0);
|
|
13
|
-
const [showCursor, setShowCursor] = useState(true);
|
|
14
|
-
const timeoutRef = useRef<NodeJS.Timeout | null>(null);
|
|
15
|
-
|
|
16
|
-
// Reset typewriter when text prop changes
|
|
17
|
-
useEffect(() => {
|
|
18
|
-
if (timeoutRef.current) {
|
|
19
|
-
clearTimeout(timeoutRef.current);
|
|
20
|
-
timeoutRef.current = null;
|
|
21
|
-
}
|
|
22
|
-
setDisplayedText('');
|
|
23
|
-
setCurrentIndex(0);
|
|
24
|
-
}, [text]);
|
|
25
|
-
|
|
26
|
-
useEffect(() => {
|
|
27
|
-
if (currentIndex < text.length) {
|
|
28
|
-
const delay = currentIndex === 0 ? 2500 : 150;
|
|
29
|
-
timeoutRef.current = setTimeout(() => {
|
|
30
|
-
setDisplayedText(prev => prev + text[currentIndex]);
|
|
31
|
-
setCurrentIndex(prev => prev + 1);
|
|
32
|
-
}, delay);
|
|
33
|
-
return () => {
|
|
34
|
-
if (timeoutRef.current) {
|
|
35
|
-
clearTimeout(timeoutRef.current);
|
|
36
|
-
timeoutRef.current = null;
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
}, [currentIndex, text]);
|
|
41
|
-
|
|
42
|
-
useEffect(() => {
|
|
43
|
-
const cursorInterval = setInterval(() => {
|
|
44
|
-
setShowCursor(prev => !prev);
|
|
45
|
-
}, 530);
|
|
46
|
-
return () => clearInterval(cursorInterval);
|
|
47
|
-
}, []);
|
|
48
|
-
|
|
49
|
-
return (
|
|
50
|
-
<motion.div
|
|
51
|
-
role="status"
|
|
52
|
-
aria-live="polite"
|
|
53
|
-
aria-atomic="true"
|
|
54
|
-
aria-label="Status message"
|
|
55
|
-
initial={{ opacity: 0 }}
|
|
56
|
-
animate={{ opacity: 1 }}
|
|
57
|
-
transition={{ duration: 1, delay: 1.5 }}
|
|
58
|
-
style={{
|
|
59
|
-
fontSize: 'clamp(1rem, 2vw, 1.5rem)',
|
|
60
|
-
fontWeight: 600,
|
|
61
|
-
letterSpacing: '0.3em',
|
|
62
|
-
color: '#8b7fb8',
|
|
63
|
-
textAlign: 'center',
|
|
64
|
-
fontFamily: '"Courier New", Courier, monospace',
|
|
65
|
-
marginTop: '3rem',
|
|
66
|
-
textTransform: 'uppercase',
|
|
67
|
-
}}
|
|
68
|
-
>
|
|
69
|
-
<span
|
|
70
|
-
style={{
|
|
71
|
-
textShadow:
|
|
72
|
-
'0 0 10px rgba(139, 127, 184, 0.5), 0 0 20px rgba(139, 127, 184, 0.3)',
|
|
73
|
-
}}
|
|
74
|
-
>
|
|
75
|
-
{displayedText}
|
|
76
|
-
</span>
|
|
77
|
-
<span
|
|
78
|
-
aria-hidden="true"
|
|
79
|
-
style={{
|
|
80
|
-
opacity: showCursor ? 1 : 0,
|
|
81
|
-
color: '#8b7fb8',
|
|
82
|
-
marginLeft: '2px',
|
|
83
|
-
}}
|
|
84
|
-
>
|
|
85
|
-
_
|
|
86
|
-
</span>
|
|
87
|
-
</motion.div>
|
|
88
|
-
);
|
|
89
|
-
}
|
package/src/index.ts
DELETED
package/tsconfig.json
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ES2020",
|
|
4
|
-
"module": "ESNext",
|
|
5
|
-
"moduleResolution": "Node",
|
|
6
|
-
"strict": true,
|
|
7
|
-
"esModuleInterop": true,
|
|
8
|
-
"forceConsistentCasingInFileNames": true,
|
|
9
|
-
"skipLibCheck": true,
|
|
10
|
-
"resolveJsonModule": true,
|
|
11
|
-
"outDir": "dist",
|
|
12
|
-
"declaration": true,
|
|
13
|
-
"declarationMap": true,
|
|
14
|
-
"sourceMap": true,
|
|
15
|
-
"jsx": "react-jsx",
|
|
16
|
-
"baseUrl": "./src",
|
|
17
|
-
"paths": {
|
|
18
|
-
"@/components/*": ["components/*"]
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
"include": ["src/**/*"],
|
|
22
|
-
"exclude": ["node_modules", "dist"]
|
|
23
|
-
}
|