Experiment Banner

Live Preview
<div class="w-full max-w-3xl mx-auto gradient-border shadow-[0_20px_50px_rgba(99,102,241,0.2)]">
        <div class="p-6 flex flex-col md:flex-row items-center gap-6">
            <div
                class="w-14 h-14 rounded-2xl bg-indigo-500 flex items-center justify-center text-white shrink-0 animate-bounce">
                <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                    <path
                        d="M11 4a2 2 0 114 0v1a1 1 0 001 1h3a1 1 0 011 1v3a1 1 0 01-1 1h-1a2 2 0 100 4h1a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1v-1a2 2 0 10-4 0v1a1 1 0 01-1 1H7a1 1 0 01-1-1v-3a1 1 0 00-1-1H4a2 2 0 110-4h1a1 1 0 001-1V7a1 1 0 011-1h3a1 1 0 001-1V4z"
                        stroke-width="2"></path>
                </svg>
            </div>
            <div class="flex-1 text-center md:text-left">
                <h3 class="text-lg font-bold text-white mb-1">Scale your production limits today</h3>
                <p class="text-zinc-400 text-sm">Your account is currently hitting 85% of its monthly token quota.
                    Increase your limits to prevent service interruption.</p>
            </div>
            <button
                class="px-6 py-3 bg-white text-zinc-950 font-bold rounded-xl hover:bg-zinc-200 transition-all shadow-xl shadow-white/10 whitespace-nowrap">Upgrade
                Plan</button>
        </div>
    </div>

    <script>
        document.querySelectorAll('button').forEach(btn => {
            btn.addEventListener('click', (e) => {
                const originalText = btn.innerText;
                if (originalText === 'PROCESSING...' || originalText === 'SUCCESS') return;
                btn.innerText = 'PROCESSING...';
                btn.classList.add('opacity-50');
                setTimeout(() => {
                    btn.innerText = 'SUCCESS';
                    btn.classList.remove('opacity-50');
                    setTimeout(() => btn.innerText = originalText, 1500);
                }, 800);
            });
        });
    </script>

Related components

More items from the merged UI library.

View all