Files
WRNexusJS/packages/ui/components/ProductHero.wrn
T
2026-07-22 01:26:10 +05:30

56 lines
1.7 KiB
Plaintext

component ProductHero {
props {
eyebrow = ""
title = ""
description = ""
align = "start"
class = ""
}
view {
<section
class="
relative isolate overflow-hidden border-b border-[var(--wire-color-border,#e2e8f0)]
bg-[var(--wire-color-background,#ffffff)] px-4 py-16 sm:px-6 sm:py-20 lg:px-8 lg:py-24
{class}
"
>
<div
class="pointer-events-none absolute inset-0 -z-10 opacity-80"
style="background: radial-gradient(circle at 16% 0%, color-mix(in srgb, var(--wire-color-primary, #059669) 16%, transparent), transparent 36%);"
aria-hidden="true"
></div>
<div class="mx-auto w-full max-w-7xl">
<div
class="max-w-4xl"
class:mx-auto='{align === "center"}'
class:text-center='{align === "center"}'
>
{#if eyebrow}
<p class="mb-4 text-xs font-bold uppercase tracking-[0.18em] text-[var(--wire-color-primary,#059669)] sm:text-sm">
{eyebrow}
</p>
{/if}
{#if title}
<h1 class="m-0 max-w-[18ch] text-4xl font-semibold leading-[1.05] tracking-[-0.045em] text-[var(--wire-color-text,#0f172a)] sm:text-5xl lg:text-6xl" class:mx-auto='{align === "center"}'>
{title}
</h1>
{/if}
{#if description}
<p class="mt-6 max-w-3xl text-base leading-8 text-[var(--wire-color-text-muted,#64748b)] sm:text-lg" class:mx-auto='{align === "center"}'>
{description}
</p>
{/if}
</div>
<div class="mt-8 space-y-8">
<slot />
</div>
</div>
</section>
}
}