create-flexireact 1.2.1 → 1.2.2
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/index.js +181 -40
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -983,76 +983,64 @@ export default {
|
|
|
983
983
|
|
|
984
984
|
'components/Hero.tsx': () => `import React from 'react';
|
|
985
985
|
import { Button, Badge, Card } from '@flexireact/flexi-ui';
|
|
986
|
-
import {
|
|
986
|
+
import { Github, ArrowRight, Sparkles } from 'lucide-react';
|
|
987
987
|
|
|
988
988
|
export function Hero() {
|
|
989
989
|
return (
|
|
990
|
-
<section className="
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
<div className="
|
|
994
|
-
<div className="
|
|
995
|
-
<div className="absolute bottom-0 left-0 w-[400px] h-[400px] rounded-full bg-gradient-radial from-emerald-500/10 to-transparent blur-3xl" />
|
|
990
|
+
<section className="hero-section">
|
|
991
|
+
<div className="hero-bg">
|
|
992
|
+
<div className="hero-glow hero-glow-1" />
|
|
993
|
+
<div className="hero-glow hero-glow-2" />
|
|
994
|
+
<div className="hero-glow hero-glow-3" />
|
|
996
995
|
</div>
|
|
997
|
-
|
|
998
|
-
{/* Grid Pattern Overlay */}
|
|
999
|
-
<div className="absolute inset-0 -z-10 bg-[linear-gradient(rgba(255,255,255,0.02)_1px,transparent_1px),linear-gradient(90deg,rgba(255,255,255,0.02)_1px,transparent_1px)] bg-[size:64px_64px]" />
|
|
996
|
+
<div className="hero-grid" />
|
|
1000
997
|
|
|
1001
998
|
<div className="container mx-auto px-6 py-32 max-w-6xl">
|
|
1002
999
|
<div className="flex flex-col items-center text-center">
|
|
1003
|
-
|
|
1004
|
-
<div className="animate-fade-in" style={{ animationDelay: '0.1s' }}>
|
|
1000
|
+
<div className="animate-fade-in">
|
|
1005
1001
|
<Badge variant="success" className="mb-8 px-4 py-2 text-sm">
|
|
1006
1002
|
<Sparkles className="w-4 h-4 mr-2" />
|
|
1007
1003
|
The Modern React Framework
|
|
1008
1004
|
</Badge>
|
|
1009
1005
|
</div>
|
|
1010
1006
|
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
Build{' '}
|
|
1014
|
-
<span className="text-transparent bg-clip-text bg-gradient-to-r from-[#00FF9C] via-emerald-400 to-cyan-400">
|
|
1015
|
-
beautiful
|
|
1016
|
-
</span>
|
|
1007
|
+
<h1 className="hero-title animate-fade-up">
|
|
1008
|
+
Build <span className="hero-gradient">beautiful</span>
|
|
1017
1009
|
<br />
|
|
1018
1010
|
apps faster
|
|
1019
1011
|
</h1>
|
|
1020
1012
|
|
|
1021
|
-
|
|
1022
|
-
<p className="text-xl md:text-2xl text-[#94a3b8] max-w-2xl mb-12 leading-relaxed animate-fade-up" style={{ animationDelay: '0.3s' }}>
|
|
1013
|
+
<p className="hero-subtitle animate-fade-up">
|
|
1023
1014
|
Flexi UI is a stunning component library with neon emerald accents,
|
|
1024
1015
|
dark-first design, and seamless React integration.
|
|
1025
1016
|
</p>
|
|
1026
1017
|
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
<Button size="lg" className="gap-2 text-base px-8 py-4 h-auto">
|
|
1018
|
+
<div className="hero-buttons animate-fade-up">
|
|
1019
|
+
<Button size="lg" className="gap-2 px-8 py-4">
|
|
1030
1020
|
Get Started
|
|
1031
1021
|
<ArrowRight className="w-5 h-5" />
|
|
1032
1022
|
</Button>
|
|
1033
|
-
<Button variant="outline" size="lg" className="gap-2
|
|
1023
|
+
<Button variant="outline" size="lg" className="gap-2 px-8 py-4">
|
|
1034
1024
|
<Github className="w-5 h-5" />
|
|
1035
1025
|
GitHub
|
|
1036
1026
|
</Button>
|
|
1037
1027
|
</div>
|
|
1038
1028
|
|
|
1039
|
-
|
|
1040
|
-
<Card className="w-full max-w-2xl animate-scale-in animate-glow-pulse" style={{ animationDelay: '0.5s' }}>
|
|
1029
|
+
<Card className="terminal-card animate-scale-in">
|
|
1041
1030
|
<div className="p-6">
|
|
1042
|
-
<div className="
|
|
1043
|
-
<div className="
|
|
1044
|
-
<div className="
|
|
1045
|
-
<div className="
|
|
1046
|
-
<span className="
|
|
1031
|
+
<div className="terminal-dots">
|
|
1032
|
+
<div className="dot dot-red" />
|
|
1033
|
+
<div className="dot dot-yellow" />
|
|
1034
|
+
<div className="dot dot-green" />
|
|
1035
|
+
<span className="terminal-label">terminal</span>
|
|
1047
1036
|
</div>
|
|
1048
|
-
<pre className="
|
|
1037
|
+
<pre className="terminal-code">
|
|
1049
1038
|
<code>
|
|
1050
|
-
<span className="
|
|
1051
|
-
<
|
|
1052
|
-
<span className="
|
|
1053
|
-
<
|
|
1054
|
-
|
|
1055
|
-
<span className="text-[#00FF9C]">✓</span> <span className="text-[#f8fafc]">Ready in</span> <span className="text-[#00FF9C]">38ms</span>
|
|
1039
|
+
<span className="dim">$</span> <span className="green">npm</span> install @flexireact/flexi-ui
|
|
1040
|
+
<br />
|
|
1041
|
+
<span className="dim">$</span> <span className="green">npx</span> create-flexireact my-app
|
|
1042
|
+
<br /><br />
|
|
1043
|
+
<span className="green">✓</span> Ready in <span className="green">38ms</span>
|
|
1056
1044
|
</code>
|
|
1057
1045
|
</pre>
|
|
1058
1046
|
</div>
|
|
@@ -1127,11 +1115,11 @@ export function Features() {
|
|
|
1127
1115
|
{features.map((feature, index) => (
|
|
1128
1116
|
<Card
|
|
1129
1117
|
key={index}
|
|
1130
|
-
className="group p-8
|
|
1118
|
+
className="group p-8 feature-card"
|
|
1131
1119
|
style={{ animationDelay: (index * 0.1) + 's' }}
|
|
1132
1120
|
>
|
|
1133
1121
|
<div className="flex items-start gap-4">
|
|
1134
|
-
<div className="
|
|
1122
|
+
<div className="feature-icon">
|
|
1135
1123
|
<feature.icon className="w-6 h-6" />
|
|
1136
1124
|
</div>
|
|
1137
1125
|
<div className="flex-1">
|
|
@@ -1590,6 +1578,159 @@ export default function HomePage() {
|
|
|
1590
1578
|
transform: scale(1);
|
|
1591
1579
|
}
|
|
1592
1580
|
}
|
|
1581
|
+
|
|
1582
|
+
/* Feature card styles */
|
|
1583
|
+
.feature-card {
|
|
1584
|
+
transition: all 0.3s;
|
|
1585
|
+
cursor: default;
|
|
1586
|
+
animation: fadeUp 0.6s ease-out forwards;
|
|
1587
|
+
opacity: 0;
|
|
1588
|
+
}
|
|
1589
|
+
|
|
1590
|
+
.feature-card:hover {
|
|
1591
|
+
border-color: rgba(0, 255, 156, 0.5);
|
|
1592
|
+
box-shadow: 0 0 30px rgba(0, 255, 156, 0.1);
|
|
1593
|
+
}
|
|
1594
|
+
|
|
1595
|
+
.feature-icon {
|
|
1596
|
+
padding: 0.75rem;
|
|
1597
|
+
border-radius: 0.75rem;
|
|
1598
|
+
background-color: rgba(0, 255, 156, 0.1);
|
|
1599
|
+
color: #00FF9C;
|
|
1600
|
+
transition: all 0.3s;
|
|
1601
|
+
}
|
|
1602
|
+
|
|
1603
|
+
.group:hover .feature-icon {
|
|
1604
|
+
background-color: #00FF9C;
|
|
1605
|
+
color: black;
|
|
1606
|
+
}
|
|
1607
|
+
|
|
1608
|
+
/* Hero section styles */
|
|
1609
|
+
.hero-section {
|
|
1610
|
+
position: relative;
|
|
1611
|
+
min-height: 100vh;
|
|
1612
|
+
display: flex;
|
|
1613
|
+
align-items: center;
|
|
1614
|
+
justify-content: center;
|
|
1615
|
+
overflow: hidden;
|
|
1616
|
+
}
|
|
1617
|
+
|
|
1618
|
+
.hero-bg {
|
|
1619
|
+
position: absolute;
|
|
1620
|
+
inset: 0;
|
|
1621
|
+
z-index: -10;
|
|
1622
|
+
}
|
|
1623
|
+
|
|
1624
|
+
.hero-glow {
|
|
1625
|
+
position: absolute;
|
|
1626
|
+
border-radius: 9999px;
|
|
1627
|
+
filter: blur(64px);
|
|
1628
|
+
}
|
|
1629
|
+
|
|
1630
|
+
.hero-glow-1 {
|
|
1631
|
+
top: 50%;
|
|
1632
|
+
left: 50%;
|
|
1633
|
+
transform: translate(-50%, -50%);
|
|
1634
|
+
width: 800px;
|
|
1635
|
+
height: 800px;
|
|
1636
|
+
background: radial-gradient(circle, rgba(0,255,156,0.2), rgba(0,255,156,0.05), transparent);
|
|
1637
|
+
}
|
|
1638
|
+
|
|
1639
|
+
.hero-glow-2 {
|
|
1640
|
+
top: 0;
|
|
1641
|
+
right: 0;
|
|
1642
|
+
width: 600px;
|
|
1643
|
+
height: 600px;
|
|
1644
|
+
background: radial-gradient(circle, rgba(6,182,212,0.1), transparent);
|
|
1645
|
+
}
|
|
1646
|
+
|
|
1647
|
+
.hero-glow-3 {
|
|
1648
|
+
bottom: 0;
|
|
1649
|
+
left: 0;
|
|
1650
|
+
width: 400px;
|
|
1651
|
+
height: 400px;
|
|
1652
|
+
background: radial-gradient(circle, rgba(16,185,129,0.1), transparent);
|
|
1653
|
+
}
|
|
1654
|
+
|
|
1655
|
+
.hero-grid {
|
|
1656
|
+
position: absolute;
|
|
1657
|
+
inset: 0;
|
|
1658
|
+
z-index: -10;
|
|
1659
|
+
background-image:
|
|
1660
|
+
linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
|
|
1661
|
+
linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
|
|
1662
|
+
background-size: 64px 64px;
|
|
1663
|
+
}
|
|
1664
|
+
|
|
1665
|
+
.hero-title {
|
|
1666
|
+
font-size: clamp(3rem, 8vw, 5rem);
|
|
1667
|
+
font-weight: 900;
|
|
1668
|
+
letter-spacing: -0.02em;
|
|
1669
|
+
margin-bottom: 2rem;
|
|
1670
|
+
line-height: 1.1;
|
|
1671
|
+
}
|
|
1672
|
+
|
|
1673
|
+
.hero-gradient {
|
|
1674
|
+
background: linear-gradient(to right, #00FF9C, #34d399, #22d3ee);
|
|
1675
|
+
-webkit-background-clip: text;
|
|
1676
|
+
-webkit-text-fill-color: transparent;
|
|
1677
|
+
background-clip: text;
|
|
1678
|
+
}
|
|
1679
|
+
|
|
1680
|
+
.hero-subtitle {
|
|
1681
|
+
font-size: 1.25rem;
|
|
1682
|
+
color: #94a3b8;
|
|
1683
|
+
max-width: 42rem;
|
|
1684
|
+
margin-bottom: 3rem;
|
|
1685
|
+
line-height: 1.7;
|
|
1686
|
+
}
|
|
1687
|
+
|
|
1688
|
+
.hero-buttons {
|
|
1689
|
+
display: flex;
|
|
1690
|
+
flex-wrap: wrap;
|
|
1691
|
+
align-items: center;
|
|
1692
|
+
justify-content: center;
|
|
1693
|
+
gap: 1rem;
|
|
1694
|
+
margin-bottom: 5rem;
|
|
1695
|
+
}
|
|
1696
|
+
|
|
1697
|
+
/* Terminal styles */
|
|
1698
|
+
.terminal-card {
|
|
1699
|
+
width: 100%;
|
|
1700
|
+
max-width: 42rem;
|
|
1701
|
+
}
|
|
1702
|
+
|
|
1703
|
+
.terminal-dots {
|
|
1704
|
+
display: flex;
|
|
1705
|
+
align-items: center;
|
|
1706
|
+
gap: 0.5rem;
|
|
1707
|
+
margin-bottom: 1rem;
|
|
1708
|
+
}
|
|
1709
|
+
|
|
1710
|
+
.dot {
|
|
1711
|
+
width: 12px;
|
|
1712
|
+
height: 12px;
|
|
1713
|
+
border-radius: 50%;
|
|
1714
|
+
}
|
|
1715
|
+
|
|
1716
|
+
.dot-red { background-color: rgba(239,68,68,0.8); }
|
|
1717
|
+
.dot-yellow { background-color: rgba(234,179,8,0.8); }
|
|
1718
|
+
.dot-green { background-color: rgba(34,197,94,0.8); }
|
|
1719
|
+
|
|
1720
|
+
.terminal-label {
|
|
1721
|
+
margin-left: 0.75rem;
|
|
1722
|
+
font-size: 0.75rem;
|
|
1723
|
+
color: #64748b;
|
|
1724
|
+
}
|
|
1725
|
+
|
|
1726
|
+
.terminal-code {
|
|
1727
|
+
text-align: left;
|
|
1728
|
+
font-size: 0.875rem;
|
|
1729
|
+
font-family: ui-monospace, monospace;
|
|
1730
|
+
}
|
|
1731
|
+
|
|
1732
|
+
.dim { color: #64748b; }
|
|
1733
|
+
.green { color: #00FF9C; }
|
|
1593
1734
|
`,
|
|
1594
1735
|
|
|
1595
1736
|
// ============================================================================
|