codecanvas-pro / components /features.js
Gravatar123A's picture
copy this website exactly
b2d9c8d verified
Raw
History Blame Contribute Delete
7.19 kB
class CustomFeatures extends HTMLElement {
connectedCallback() {
this.attachShadow({ mode: 'open' });
this.shadowRoot.innerHTML = `
<style>
:host {
display: block;
padding: 6rem 0;
background-color: white;
}
.dark :host {
background-color: #111827;
}
.container {
max-width: 1280px;
margin: 0 auto;
padding: 0 1.5rem;
}
.section-header {
text-align: center;
margin-bottom: 4rem;
}
.section-title {
font-size: 2.25rem;
line-height: 2.5rem;
font-weight: 800;
color: #1e3a8a;
margin-bottom: 1rem;
}
.dark .section-title {
color: #93c5fd;
}
.section-subtitle {
font-size: 1.125rem;
line-height: 1.75rem;
color: #64748b;
max-width: 42rem;
margin: 0 auto;
}
.dark .section-subtitle {
color: #94a3b8;
}
.features-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
}
.feature-card {
background-color: #f8fafc;
border-radius: 1rem;
padding: 2rem;
transition: all 0.3s ease;
border: 1px solid #e2e8f0;
}
.dark .feature-card {
background-color: #1e293b;
border-color: #334155;
}
.feature-card:hover {
transform: translateY(-5px);
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}
.dark .feature-card:hover {
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.25);
}
.feature-icon {
width: 3rem;
height: 3rem;
display: flex;
align-items: center;
justify-content: center;
background-color: #3b82f6;
color: white;
border-radius: 0.75rem;
margin-bottom: 1.5rem;
}
.dark .feature-icon {
background-color: #1e40af;
}
.feature-title {
font-size: 1.25rem;
line-height: 1.75rem;
font-weight: 600;
color: #1e3a8a;
margin-bottom: 1rem;
}
.dark .feature-title {
color: #e5e7eb;
}
.feature-description {
color: #64748b;
margin-bottom: 1.5rem;
}
.dark .feature-description {
color: #94a3b8;
}
.feature-link {
display: inline-flex;
align-items: center;
color: #3b82f6;
font-weight: 500;
text-decoration: none;
transition: color 0.2s;
}
.dark .feature-link {
color: #93c5fd;
}
.feature-link:hover {
color: #2563eb;
}
.dark .feature-link:hover {
color: #60a5fa;
}
.feature-link-icon {
margin-left: 0.25rem;
width: 1rem;
height: 1rem;
}
</style>
<div class="container">
<div class="section-header" id="features">
<h2 class="section-title">Developer-First Features</h2>
<p class="section-subtitle">
Tools and components designed to make your development workflow more efficient and enjoyable
</p>
</div>
<div class="features-grid">
<div class="feature-card glow-effect">
<div class="feature-icon">
<i data-feather="code"></i>
</div>
<h3 class="feature-title">Reusable Components</h3>
<p class="feature-description">
Build with modular, customizable components that follow web standards and best practices.
</p>
<a href="#" class="feature-link">
Explore components
<i data-feather="arrow-right" class="feature-link-icon"></i>
</a>
</div>
<div class="feature-card glow-effect">
<div class="feature-icon">
<i data-feather="zap"></i>
</div>
<h3 class="feature-title">Performance Optimized</h3>
<p class="feature-description">
Lightweight and optimized for fast loading with minimal bundle size impact.
</p>
<a href="#" class="feature-link">
View benchmarks
<i data-feather="arrow-right" class="feature-link-icon"></i>
</a>
</div>
<div class="feature-card glow-effect">
<div class="feature-icon">
<i data-feather="moon"></i>
</div>
<h3 class="feature-title">Dark Mode Ready</h3>
<p class="feature-description">
Built with dark mode support out of the box with automatic system preference detection.
</p>
<a href="#" class="feature-link">
Learn implementation
<i data-feather="arrow-right" class="feature-link-icon"></i>
</a>
</div>
<div class="feature-card glow-effect">
<div class="feature-icon">
<i data-feather="smartphone"></i>
</div>
<h3 class="feature-title">Fully Responsive</h3>
<p class="feature-description">
Works flawlessly on all devices from mobile to desktop with adaptive layouts.
</p>
<a href="#" class="feature-link">
Test responsiveness
<i data-feather="arrow-right" class="feature-link-icon"></i>
</a>
</div>
<div class="feature-card glow-effect">
<div class="feature-icon">
<i data-feather="git-branch"></i>
</div>
<h3 class="feature-title">Version Controlled</h3>
<p class="feature-description">
Regular updates and semantic versioning to ensure stability and compatibility.
</p>
<a href="#" class="feature-link">
Check changelog
<i data-feather="arrow-right" class="feature-link-icon"></i>
</a>
</div>
<div class="feature-card glow-effect">
<div class="feature-icon">
<i data-feather="book-open"></i>
</div>
<h3 class="feature-title">Comprehensive Docs</h3>
<p class="feature-description">
Detailed documentation with examples, API references, and best practice guides.
</p>
<a href="#" class="feature-link">
Read documentation
<i data-feather="arrow-right" class="feature-link-icon"></i>
</a>
</div>
</div>
</div>
`;
}
}
customElements.define('custom-features', CustomFeatures);