tailwind-rs-wasm 0.15.4

WASM-optimized Tailwind CSS implementation for Rust web applications
Documentation
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tailwind-RS Demos</title>
    <meta name="description" content="Comprehensive demos showcasing Tailwind-RS WASM capabilities">
    
    <!-- Tailwind CSS CDN for demo purposes -->
    <script src="https://cdn.tailwindcss.com"></script>
    <script>
        tailwind.config = {
            darkMode: 'class',
        }
    </script>
    
    <style>
        .gradient-text {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        
        .demo-container {
            min-height: 100vh;
            background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
        }
    </style>
</head>
<body class="demo-container">
    <div class="container mx-auto px-4 py-16">
        <!-- Header -->
        <header class="text-center mb-16">
            <h1 class="text-6xl font-bold mb-6 gradient-text">
                🎨 Tailwind-RS Demos
            </h1>
            <p class="text-xl text-gray-600 dark:text-gray-300 mb-8 max-w-3xl mx-auto">
                Experience the power of Rust-native Tailwind CSS with type safety, 
                performance, and seamless WASM integration.
            </p>
        </header>
        
        <!-- Demo Cards -->
        <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 max-w-6xl mx-auto">
            <!-- Basic Demo Card -->
            <div class="bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700 overflow-hidden">
                <div class="px-6 py-4 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-700">
                    <h3 class="text-xl font-semibold text-gray-900 dark:text-gray-100">
                        📱 Basic Demo
                    </h3>
                </div>
                <div class="px-6 py-4">
                    <p class="text-gray-600 dark:text-gray-300 mb-4">
                        Interactive demo showcasing core Tailwind-RS WASM capabilities with real-time class generation and preview.
                    </p>
                    <div class="space-y-2 mb-6">
                        <div class="flex items-center text-sm text-gray-500 dark:text-gray-400">
                            <span class="w-2 h-2 bg-green-500 rounded-full mr-2"></span>
                            WASM Class Builder
                        </div>
                        <div class="flex items-center text-sm text-gray-500 dark:text-gray-400">
                            <span class="w-2 h-2 bg-green-500 rounded-full mr-2"></span>
                            Real-time Preview
                        </div>
                        <div class="flex items-center text-sm text-gray-500 dark:text-gray-400">
                            <span class="w-2 h-2 bg-green-500 rounded-full mr-2"></span>
                            Preset Styles
                        </div>
                    </div>
                    <a href="demo.html" 
                       class="inline-block w-full text-center bg-blue-500 hover:bg-blue-600 text-white px-4 py-2 rounded-lg transition-colors">
                        Launch Basic Demo
                    </a>
                </div>
            </div>
            
            <!-- Comprehensive Demo Card -->
            <div class="bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700 overflow-hidden">
                <div class="px-6 py-4 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-700">
                    <h3 class="text-xl font-semibold text-gray-900 dark:text-gray-100">
                        🎨 Comprehensive Demo
                    </h3>
                </div>
                <div class="px-6 py-4">
                    <p class="text-gray-600 dark:text-gray-300 mb-4">
                        Full-featured showcase with multi-tab interface, component library, utilities, and performance metrics.
                    </p>
                    <div class="space-y-2 mb-6">
                        <div class="flex items-center text-sm text-gray-500 dark:text-gray-400">
                            <span class="w-2 h-2 bg-green-500 rounded-full mr-2"></span>
                            Multi-tab Interface
                        </div>
                        <div class="flex items-center text-sm text-gray-500 dark:text-gray-400">
                            <span class="w-2 h-2 bg-green-500 rounded-full mr-2"></span>
                            Component Showcase
                        </div>
                        <div class="flex items-center text-sm text-gray-500 dark:text-gray-400">
                            <span class="w-2 h-2 bg-green-500 rounded-full mr-2"></span>
                            Performance Metrics
                        </div>
                    </div>
                    <a href="comprehensive-demo.html" 
                       class="inline-block w-full text-center bg-purple-500 hover:bg-purple-600 text-white px-4 py-2 rounded-lg transition-colors">
                        Launch Comprehensive Demo
                    </a>
                </div>
            </div>
            
            <!-- Enhanced Features Demo Card -->
            <div class="bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700 overflow-hidden">
                <div class="px-6 py-4 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-700">
                    <h3 class="text-xl font-semibold text-gray-900 dark:text-gray-100">
                        ✨ Enhanced Features
                    </h3>
                </div>
                <div class="px-6 py-4">
                    <p class="text-gray-600 dark:text-gray-300 mb-4">
                        Showcase of all Tailwind-RS v4.1 features including Text Shadow, Mask, Backdrop Filters, Container Queries, and more.
                    </p>
                    <div class="space-y-2 mb-6">
                        <div class="flex items-center text-sm text-gray-500 dark:text-gray-400">
                            <span class="w-2 h-2 bg-green-500 rounded-full mr-2"></span>
                            Text Shadow Utilities
                        </div>
                        <div class="flex items-center text-sm text-gray-500 dark:text-gray-400">
                            <span class="w-2 h-2 bg-green-500 rounded-full mr-2"></span>
                            Mask & Backdrop Filters
                        </div>
                        <div class="flex items-center text-sm text-gray-500 dark:text-gray-400">
                            <span class="w-2 h-2 bg-green-500 rounded-full mr-2"></span>
                            Container Queries
                        </div>
                        <div class="flex items-center text-sm text-gray-500 dark:text-gray-400">
                            <span class="w-2 h-2 bg-green-500 rounded-full mr-2"></span>
                            Advanced Validation
                        </div>
                    </div>
                    <a href="enhanced-features-demo.html" 
                       class="inline-block w-full text-center bg-green-500 hover:bg-green-600 text-white px-4 py-2 rounded-lg transition-colors">
                        Launch Enhanced Features
                    </a>
                </div>
            </div>
        </div>
        
        <!-- Features Grid -->
        <div class="grid grid-cols-1 md:grid-cols-3 gap-8 mt-16 max-w-4xl mx-auto">
            <div class="text-center">
                <div class="text-4xl mb-4">🚀</div>
                <h3 class="text-lg font-semibold text-gray-900 dark:text-gray-100 mb-2">
                    Performance
                </h3>
                <p class="text-gray-600 dark:text-gray-300 text-sm">
                    19.5KB WASM bundle vs 100KB+ JavaScript alternatives
                </p>
            </div>
            
            <div class="text-center">
                <div class="text-4xl mb-4">🛡️</div>
                <h3 class="text-lg font-semibold text-gray-900 dark:text-gray-100 mb-2">
                    Type Safety
                </h3>
                <p class="text-gray-600 dark:text-gray-300 text-sm">
                    Compile-time validation with zero runtime overhead
                </p>
            </div>
            
            <div class="text-center">
                <div class="text-4xl mb-4">🎨</div>
                <h3 class="text-lg font-semibold text-gray-900 dark:text-gray-100 mb-2">
                    Dynamic Styling
                </h3>
                <p class="text-gray-600 dark:text-gray-300 text-sm">
                    Real-time class generation with reactive signals
                </p>
            </div>
        </div>
        
        <!-- Footer -->
        <footer class="text-center mt-16 text-gray-500 dark:text-gray-400">
            <p>Built with ❤️ using Rust + WASM</p>
            <p class="text-sm mt-2">
                <a href="https://github.com/cloud-shuttle/tailwind-rs" class="hover:text-blue-500">
                    View on GitHub
                </a>
            </p>
        </footer>
    </div>
    
    <!-- Dark mode toggle -->
    <button id="toggle-theme" 
            class="fixed top-4 right-4 bg-gray-200 dark:bg-gray-700 text-gray-800 dark:text-gray-200 p-2 rounded-lg shadow-lg hover:bg-gray-300 dark:hover:bg-gray-600 transition-colors">
        <span>☀️</span>
    </button>
    
    <script>
        // Dark mode toggle
        const toggleButton = document.getElementById('toggle-theme');
        const body = document.body;
        
        // Check for saved theme preference or default to light mode
        const currentTheme = localStorage.getItem('theme') || 'light';
        body.classList.toggle('dark', currentTheme === 'dark');
        updateToggleIcon();
        
        toggleButton.addEventListener('click', () => {
            body.classList.toggle('dark');
            const isDark = body.classList.contains('dark');
            localStorage.setItem('theme', isDark ? 'dark' : 'light');
            updateToggleIcon();
        });
        
        function updateToggleIcon() {
            const icon = toggleButton.querySelector('span');
            icon.textContent = body.classList.contains('dark') ? '🌙' : '☀️';
        }
    </script>
</body>
</html>