Загрузка...

Компонент поиска путешествий с эффектом Glassmorphism. Идеален для сайтов бронирования, визуально привлекательный и интуитивно понятный интерфейс.
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Flight Booking Component</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap" rel="stylesheet">
<script src="https://cdn.tailwindcss.com"></script>
<style>
@keyframes pulse-glow {
0%,
100% {
opacity: 0.4;
transform: scale(1);
}
50% {
opacity: 0.8;
transform: scale(1.02);
}
}
@keyframes radial-pulse {
0%,
100% {
opacity: 0.6;
transform: scale(1);
}
50% {
opacity: 0.9;
transform: scale(1.05);
}
}
.animate-glow {
animation: pulse-glow 3s ease-in-out infinite;
}
.animate-radial {
animation: radial-pulse 4s ease-in-out infinite;
}
</style>
<style id="aura-editor-visibility-style">
.invisible {
visibility: hidden !important;
}
</style>
<link id="all-fonts-link-font-geist" rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&display=swap">
<style id="all-fonts-style-font-geist">
.font-geist {
font-family: 'Geist', sans-serif !important;
}
</style>
<link id="all-fonts-link-font-roboto" rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;600;700&display=swap">
<style id="all-fonts-style-font-roboto">
.font-roboto {
font-family: 'Roboto', sans-serif !important;
}
</style>
<link id="all-fonts-link-font-montserrat" rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap">
<style id="all-fonts-style-font-montserrat">
.font-montserrat {
font-family: 'Montserrat', sans-serif !important;
}
</style>
<link id="all-fonts-link-font-poppins" rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap">
<style id="all-fonts-style-font-poppins">
.font-poppins {
font-family: 'Poppins', sans-serif !important;
}
</style>
<link id="all-fonts-link-font-playfair" rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;900&display=swap">
<style id="all-fonts-style-font-playfair">
.font-playfair {
font-family: 'Playfair Display', serif !important;
}
</style>
<link id="all-fonts-link-font-instrument-serif" rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Instrument+Serif:wght@400;500;600;700&display=swap">
<style id="all-fonts-style-font-instrument-serif">
.font-instrument-serif {
font-family: 'Instrument Serif', serif !important;
}
</style>
<link id="all-fonts-link-font-merriweather" rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Merriweather:wght@300;400;700;900&display=swap">
<style id="all-fonts-style-font-merriweather">
.font-merriweather {
font-family: 'Merriweather', serif !important;
}
</style>
<link id="all-fonts-link-font-bricolage" rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@300;400;500;600;700&display=swap">
<style id="all-fonts-style-font-bricolage">
.font-bricolage {
font-family: 'Bricolage Grotesque', sans-serif !important;
}
</style>
<link id="all-fonts-link-font-jakarta" rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap">
<style id="all-fonts-style-font-jakarta">
.font-jakarta {
font-family: 'Plus Jakarta Sans', sans-serif !important;
}
</style>
<link id="all-fonts-link-font-manrope" rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&display=swap">
<style id="all-fonts-style-font-manrope">
.font-manrope {
font-family: 'Manrope', sans-serif !important;
}
</style>
<link id="all-fonts-link-font-space-grotesk" rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap">
<style id="all-fonts-style-font-space-grotesk">
.font-space-grotesk {
font-family: 'Space Grotesk', sans-serif !important;
}
</style>
<link id="all-fonts-link-font-work-sans" rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Work+Sans:wght@300;400;500;600;700;800&display=swap">
<style id="all-fonts-style-font-work-sans">
.font-work-sans {
font-family: 'Work Sans', sans-serif !important;
}
</style>
<link id="all-fonts-link-font-pt-serif" rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=PT+Serif:wght@400;700&display=swap">
<style id="all-fonts-style-font-pt-serif">
.font-pt-serif {
font-family: 'PT Serif', serif !important;
}
</style>
<link id="all-fonts-link-font-geist-mono" rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Geist+Mono:wght@300;400;500;600;700&display=swap">
<style id="all-fonts-style-font-geist-mono">
.font-geist-mono {
font-family: 'Geist Mono', monospace !important;
}
</style>
<link id="all-fonts-link-font-space-mono" rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap">
<style id="all-fonts-style-font-space-mono">
.font-space-mono {
font-family: 'Space Mono', monospace !important;
}
</style>
<link id="all-fonts-link-font-quicksand" rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap">
<style id="all-fonts-style-font-quicksand">
.font-quicksand {
font-family: 'Quicksand', sans-serif !important;
}
</style>
<link id="all-fonts-link-font-nunito" rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;500;600;700;800&display=swap">
<style id="all-fonts-style-font-nunito">
.font-nunito {
font-family: 'Nunito', sans-serif !important;
}
</style>
</head>
<body class="min-h-screen antialiased bg-gradient-to-br from-slate-100 via-blue-50 to-indigo-100"
style="font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, Apple Color Emoji, Segoe UI Emoji;">
<main class="flex items-center justify-center p-6 md:p-12">
<section aria-label="Flight search" class="w-full max-w-4xl">
<div class="relative">
<!-- Enhanced animated white glow layers -->
<div class="pointer-events-none absolute -inset-12 rounded-[999px] animate-radial blur-3xl"
style="background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.2), transparent 70%);">
</div>
<div class="pointer-events-none absolute -inset-8 rounded-[999px] animate-glow blur-2xl"
style="background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.5), transparent 60%);">
</div>
<div class="pointer-events-none absolute -inset-4 rounded-[999px] animate-pulse blur-xl"
style="background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.3), transparent 50%);">
</div>
<!-- Pill container with glassmorphism -->
<div role="search" class="relative z-10 w-full rounded-[999px] border border-white/30 backdrop-blur-xl" style="background: rgba(255, 255, 255, 0.2); box-shadow:
0 1px 2px rgba(0,0,0,0.04),
0 8px 24px rgba(0,0,0,0.08),
0 0 40px rgba(255,255,255,0.2),
inset 0 1px 0 rgba(255,255,255,0.4);">
<div
class="grid grid-cols-1 gap-2 sm:grid-cols-2 sm:gap-0 sm:px-6 sm:py-4 md:grid-cols-4 md:px-8 md:pt-2 md:pb-2 pt-4 pr-5 pb-4 pl-5 gap-x-2 gap-y-2">
<!-- Departure -->
<button type="button" class="group flex flex-col text-left w-full border-slate-600 rounded-none pt-1 pr-6 pb-1 pl-1 gap-x-0.5 gap-y-0.5 items-start justify-center md:pr-6 md:border-r" style="font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, Apple Color Emoji, Segoe UI Emoji;">
<span class="text-[13px] leading-5 font-semibold text-slate-900 tracking-tight" style="">Departure</span>
<span class="text-[14px] leading-6 group-hover:text-slate-700 text-slate-600 tracking-tight" style="">Search destinations</span>
</button>
<!-- Arrival -->
<button type="button" class="group flex w-full flex-col items-start justify-center gap-0.5 rounded-none px-1 py-1 text-left md:pr-6 md:pl-6 md:border-r border-slate-600">
<span class="text-[13px] leading-5 font-semibold text-slate-900 tracking-tight" style="">Arrival</span>
<span class="text-[14px] leading-6 text-slate-600 group-hover:text-slate-700 tracking-tight" style="">Search destinations</span>
</button>
<!-- Date -->
<button type="button" class="group flex w-full flex-col items-start justify-center gap-0.5 rounded-none px-1 py-1 text-left md:pr-6 md:pl-6 md:border-r border-slate-600">
<span class="text-[13px] leading-5 font-semibold text-slate-900 tracking-tight" style="">Date</span>
<span class="text-[14px] leading-6 text-slate-600 group-hover:text-slate-700 tracking-tight" style="">Add dates</span>
</button>
<!-- Passengers -->
<button type="button" class="group flex w-full flex-col items-start justify-center gap-0.5 rounded-none px-1 py-1 text-left md:pl-6">
<span class="text-[13px] leading-5 font-semibold text-slate-900 tracking-tight" style="">Passengers</span>
<span class="text-[14px] leading-6 text-slate-600 group-hover:text-slate-700 tracking-tight" style="">Add passengers</span>
</button>
</div>
<!-- Search button -->
<div class="pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 md:right-3">
<button type="button" aria-label="Search flights" class="pointer-events-auto grid h-12 w-12 place-items-center rounded-full bg-teal-700 text-white shadow-lg ring-4 ring-white/60 hover:bg-teal-600 transition-colors backdrop-blur-sm">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-lucide="search" class="lucide lucide-search h-5 w-5"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg>
</button>
</div>
</div>
</div>
</section>
</main>
<!-- Icons (lucide) -->
<script src="https://unpkg.com/lucide@latest"></script>
<script>
window.addEventListener('DOMContentLoaded', () => {
lucide.createIcons();
});
</script>
</body>
</html>