Spaces:
Running
Running
| 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); |