ProductMegaMenu
Reusable product mega menu component.
Usage
Components are auto-discovered. Use the component directly in any .wrn view:
<ProductMegaMenu />Legacy mount name: data-component="ProductMegaMenu".
Props and attributes
| Prop | Type | Requirement | Default |
|---|---|---|---|
class | string | Optional | "" |
Slots
This component does not declare a slot.
Events
This component does not declare a custom event.
Source contract
Installed source: components/ProductMegaMenu.wrn
component ProductMegaMenu {
props {
class: string = ""
}
view {
<div
class="border-t border-slate-200 bg-white shadow-2xl shadow-slate-950/10 dark:border-white/10 dark:bg-slate-950 dark:shadow-black/30 {class}"
>
<div class="mx-auto max-w-7xl px-6 py-8 lg:px-10">
<div class="grid gap-8 lg:grid-cols-[minmax(0,1.65fr)_minmax(18rem,0.7fr)]">
<!-- Main product links -->
<div>
<div class="mb-5 flex items-end justify-between gap-6">
<div>
<p class="text-xs font-semibold uppercase tracking-[0.16em] text-indigo-600 dark:text-indigo-400">
WRNexusJS platform
</p>
<h2 class="mt-2 text-lg font-bold tracking-tight text-slate-950 dark:text-white">
Everything you need to manage identity
</h2>
</div>
<a
href="/product"
class="group hidden items-center gap-2 text-sm font-semibold text-indigo-600 transition hover:text-indigo-800 dark:text-indigo-400 dark:hover:text-indigo-300 xl:inline-flex"
>
View all features
<span class="icon-[lucide--arrow-right] h-4 w-4 transition-transform group-hover:translate-x-1" aria-hidden="true" >
</span>
</a>
</div>
<div class="grid gap-2 md:grid-cols-2">
<!-- Platform -->
<a
href="/platform"
class="group flex items-start gap-4 rounded-2xl border border-transparent p-4 transition hover:border-indigo-200 hover:bg-indigo-50 dark:hover:border-indigo-500/20 dark:hover:bg-indigo-500/10"
>
<span
class="grid h-11 w-11 shrink-0 place-items-center rounded-xl bg-indigo-100 text-indigo-700 transition group-hover:bg-indigo-600 group-hover:text-white dark:bg-indigo-500/15 dark:text-indigo-300 dark:group-hover:bg-indigo-500 dark:group-hover:text-white"
>
<span class="icon-[lucide--layers-3] h-5 w-5" aria-hidden="true" >
</span>
</span>
<span class="min-w-0">
<span class="flex items-center gap-2">
<span class="text-sm font-semibold text-slate-950 dark:text-white">
Platform
</span>
<span class="icon-[lucide--arrow-up-right] h-3.5 w-3.5 text-slate-300 opacity-0 transition group-hover:translate-x-0.5 group-hover:-translate-y-0.5 group-hover:text-indigo-600 group-hover:opacity-100 dark:text-slate-600 dark:group-hover:text-indigo-300" aria-hidden="true" >
</span>
</span>
<span class="mt-1 block text-xs leading-5 text-slate-500 dark:text-slate-400">
Unified identity infrastructure for every application.
</span>
</span>
</a>
<!-- Authentication -->
<a
href="/authentication"
class="group flex items-start gap-4 rounded-2xl border border-transparent p-4 transition hover:border-violet-200 hover:bg-violet-50 dark:hover:border-violet-500/20 dark:hover:bg-violet-500/10"
>
<span
class="grid h-11 w-11 shrink-0 place-items-center rounded-xl bg-violet-100 text-violet-700 transition group-hover:bg-violet-600 group-hover:text-white dark:bg-violet-500/15 dark:text-violet-300 dark:group-hover:bg-violet-500 dark:group-hover:text-white"
>
<span class="icon-[lucide--fingerprint] h-5 w-5" aria-hidden="true" >
</span>
</span>
<span class="min-w-0">
<span class="flex items-center gap-2">
<span class="text-sm font-semibold text-slate-950 dark:text-white">
Authentication
</span>
<span class="icon-[lucide--arrow-up-right] h-3.5 w-3.5 text-slate-300 opacity-0 transition group-hover:translate-x-0.5 group-hover:-translate-y-0.5 group-hover:text-violet-600 group-hover:opacity-100 dark:text-slate-600 dark:group-hover:text-violet-300" aria-hidden="true" >
</span>
</span>
<span class="mt-1 block text-xs leading-5 text-slate-500 dark:text-slate-400">
Passwords, passkeys, social login, MFA, and SSO.
</span>
</span>
</a>
<!-- User management -->
<a
href="/user-management"
class="group flex items-start gap-4 rounded-2xl border border-transparent p-4 transition hover:border-cyan-200 hover:bg-cyan-50 dark:hover:border-cyan-500/20 dark:hover:bg-cyan-500/10"
>
<span
class="grid h-11 w-11 shrink-0 place-items-center rounded-xl bg-cyan-100 text-cyan-700 transition group-hover:bg-cyan-600 group-hover:text-white dark:bg-cyan-500/15 dark:text-cyan-300 dark:group-hover:bg-cyan-500 dark:group-hover:text-white"
>
<span class="icon-[lucide--users-round] h-5 w-5" aria-hidden="true" >
</span>
</span>
<span class="min-w-0">
<span class="flex items-center gap-2">
<span class="text-sm font-semibold text-slate-950 dark:text-white">
User management
</span>
<span class="icon-[lucide--arrow-up-right] h-3.5 w-3.5 text-slate-300 opacity-0 transition group-hover:translate-x-0.5 group-hover:-translate-y-0.5 group-hover:text-cyan-600 group-hover:opacity-100 dark:text-slate-600 dark:group-hover:text-cyan-300" aria-hidden="true" >
</span>
</span>
<span class="mt-1 block text-xs leading-5 text-slate-500 dark:text-slate-400">
Profiles, sessions, invitations, and user lifecycle.
</span>
</span>
</a>
<!-- Organizations -->
<a
href="/organizations"
class="group flex items-start gap-4 rounded-2xl border border-transparent p-4 transition hover:border-emerald-200 hover:bg-emerald-50 dark:hover:border-emerald-500/20 dark:hover:bg-emerald-500/10"
>
<span
class="grid h-11 w-11 shrink-0 place-items-center rounded-xl bg-emerald-100 text-emerald-700 transition group-hover:bg-emerald-600 group-hover:text-white dark:bg-emerald-500/15 dark:text-emerald-300 dark:group-hover:bg-emerald-500 dark:group-hover:text-white"
>
<span class="icon-[lucide--building-2] h-5 w-5" aria-hidden="true" >
</span>
</span>
<span class="min-w-0">
<span class="flex items-center gap-2">
<span class="text-sm font-semibold text-slate-950 dark:text-white">
Organizations
</span>
<span class="icon-[lucide--arrow-up-right] h-3.5 w-3.5 text-slate-300 opacity-0 transition group-hover:translate-x-0.5 group-hover:-translate-y-0.5 group-hover:text-emerald-600 group-hover:opacity-100 dark:text-slate-600 dark:group-hover:text-emerald-300" aria-hidden="true" >
</span>
</span>
<span class="mt-1 block text-xs leading-5 text-slate-500 dark:text-slate-400">
Multi-tenant workspaces, teams, domains, and membership.
</span>
</span>
</a>
<!-- Authorization -->
<a
href="/authorization"
class="group flex items-start gap-4 rounded-2xl border border-transparent p-4 transition hover:border-amber-200 hover:bg-amber-50 dark:hover:border-amber-500/20 dark:hover:bg-amber-500/10"
>
<span
class="grid h-11 w-11 shrink-0 place-items-center rounded-xl bg-amber-100 text-amber-700 transition group-hover:bg-amber-600 group-hover:text-white dark:bg-amber-500/15 dark:text-amber-300 dark:group-hover:bg-amber-500 dark:group-hover:text-white"
>
<span class="icon-[lucide--key-square] h-5 w-5" aria-hidden="true" >
</span>
</span>
<span class="min-w-0">
<span class="flex items-center gap-2">
<span class="text-sm font-semibold text-slate-950 dark:text-white">
Authorization
</span>
<span class="icon-[lucide--arrow-up-right] h-3.5 w-3.5 text-slate-300 opacity-0 transition group-hover:translate-x-0.5 group-hover:-translate-y-0.5 group-hover:text-amber-600 group-hover:opacity-100 dark:text-slate-600 dark:group-hover:text-amber-300" aria-hidden="true" >
</span>
</span>
<span class="mt-1 block text-xs leading-5 text-slate-500 dark:text-slate-400">
Roles, permissions, policies, and protected resources.
</span>
</span>
</a>
<!-- Security -->
<a
href="/security"
class="group flex items-start gap-4 rounded-2xl border border-transparent p-4 transition hover:border-rose-200 hover:bg-rose-50 dark:hover:border-rose-500/20 dark:hover:bg-rose-500/10"
>
<span
class="grid h-11 w-11 shrink-0 place-items-center rounded-xl bg-rose-100 text-rose-700 transition group-hover:bg-rose-600 group-hover:text-white dark:bg-rose-500/15 dark:text-rose-300 dark:group-hover:bg-rose-500 dark:group-hover:text-white"
>
<span class="icon-[lucide--shield-check] h-5 w-5" aria-hidden="true" >
</span>
</span>
<span class="min-w-0">
<span class="flex items-center gap-2">
<span class="text-sm font-semibold text-slate-950 dark:text-white">
Security
</span>
<span class="icon-[lucide--arrow-up-right] h-3.5 w-3.5 text-slate-300 opacity-0 transition group-hover:translate-x-0.5 group-hover:-translate-y-0.5 group-hover:text-rose-600 group-hover:opacity-100 dark:text-slate-600 dark:group-hover:text-rose-300" aria-hidden="true" >
</span>
</span>
<span class="mt-1 block text-xs leading-5 text-slate-500 dark:text-slate-400">
Session controls, recovery, audit logs, and threat protection.
</span>
</span>
</a>
</div>
<a
href="/product"
class="mt-4 flex items-center justify-center gap-2 rounded-xl border border-indigo-200 bg-indigo-50 px-4 py-3 text-sm font-semibold text-indigo-700 transition hover:border-indigo-300 hover:bg-indigo-100 dark:border-indigo-500/20 dark:bg-indigo-500/10 dark:text-indigo-300 dark:hover:border-indigo-500/30 dark:hover:bg-indigo-500/15 xl:hidden"
>
View all product features
<span class="icon-[lucide--arrow-right] h-4 w-4" aria-hidden="true" >
</span>
</a>
</div>
<!-- Featured panel -->
<aside
class="relative overflow-hidden rounded-3xl border border-indigo-200 bg-linear-to-br from-indigo-50 via-white to-violet-50 p-6 dark:border-indigo-500/20 dark:from-indigo-500/10 dark:via-slate-900 dark:to-violet-500/10"
>
<div aria-hidden="true" class="absolute -right-16 -top-16 h-40 w-40 rounded-full bg-indigo-300/30 blur-3xl dark:bg-indigo-500/10" >
</div>
<div aria-hidden="true" class="absolute -bottom-20 -left-16 h-40 w-40 rounded-full bg-violet-300/30 blur-3xl dark:bg-violet-500/10" >
</div>
<div class="relative">
<span
class="inline-flex items-center gap-2 rounded-full border border-indigo-200 bg-white/80 px-3 py-1.5 text-xs font-semibold text-indigo-700 backdrop-blur-sm dark:border-indigo-500/20 dark:bg-white/5 dark:text-indigo-300"
>
<span class="icon-[lucide--sparkles] h-3.5 w-3.5" aria-hidden="true" >
</span>
Featured
</span>
<div
class="mt-5 grid h-12 w-12 place-items-center rounded-2xl bg-indigo-600 text-white shadow-lg shadow-indigo-600/20"
>
<span class="icon-[lucide--shield-user] h-6 w-6" aria-hidden="true" >
</span>
</div>
<h3 class="mt-5 text-xl font-bold tracking-tight text-slate-950 dark:text-white">
Identity built for modern SaaS
</h3>
<p class="mt-3 text-sm leading-6 text-slate-600 dark:text-slate-400">
Add secure authentication, organizations, permissions, and user
management without rebuilding identity infrastructure.
</p>
<ul class="mt-5 space-y-3">
<li class="flex items-center gap-3 text-sm text-slate-700 dark:text-slate-300">
<span
class="grid h-6 w-6 shrink-0 place-items-center rounded-full bg-emerald-100 text-emerald-700 dark:bg-emerald-500/15 dark:text-emerald-300"
>
<span class="icon-[lucide--check] h-3.5 w-3.5" aria-hidden="true" >
</span>
</span>
Passkeys and multifactor authentication
</li>
<li class="flex items-center gap-3 text-sm text-slate-700 dark:text-slate-300">
<span
class="grid h-6 w-6 shrink-0 place-items-center rounded-full bg-emerald-100 text-emerald-700 dark:bg-emerald-500/15 dark:text-emerald-300"
>
<span class="icon-[lucide--check] h-3.5 w-3.5" aria-hidden="true" >
</span>
</span>
Organizations and workspace isolation
</li>
<li class="flex items-center gap-3 text-sm text-slate-700 dark:text-slate-300">
<span
class="grid h-6 w-6 shrink-0 place-items-center rounded-full bg-emerald-100 text-emerald-700 dark:bg-emerald-500/15 dark:text-emerald-300"
>
<span class="icon-[lucide--check] h-3.5 w-3.5" aria-hidden="true" >
</span>
</span>
APIs and SDKs for every stack
</li>
</ul>
<a
href="/solutions/saas"
class="group mt-6 flex h-11 w-full items-center justify-center gap-2 rounded-xl bg-indigo-600 px-4 text-sm font-bold text-white shadow-lg shadow-indigo-600/20 transition hover:-translate-y-0.5 hover:bg-indigo-500 hover:shadow-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500 focus-visible:ring-offset-2 dark:focus-visible:ring-offset-slate-900"
>
Explore SaaS identity
<span class="icon-[lucide--arrow-right] h-4 w-4 transition-transform group-hover:translate-x-1" aria-hidden="true" >
</span>
</a>
<div class="mt-4 flex items-center justify-center gap-2 text-xs text-slate-500 dark:text-slate-400">
<span class="icon-[lucide--code-2] h-4 w-4 text-indigo-600 dark:text-indigo-400" aria-hidden="true" >
</span>
Developer-first and API-ready
</div>
</div>
</aside>
</div>
<!-- Bottom quick links -->
<div
class="mt-7 flex flex-wrap items-center justify-between gap-4 border-t border-slate-200 pt-5 dark:border-white/10"
>
<div class="flex flex-wrap items-center gap-x-6 gap-y-3">
<a
href="/integrations"
class="inline-flex items-center gap-2 text-sm font-semibold text-slate-600 transition hover:text-indigo-700 dark:text-slate-400 dark:hover:text-indigo-300"
>
<span class="icon-[lucide--plug] h-4 w-4" aria-hidden="true" >
</span>
Integrations
</a>
<a
href="/enterprise-sso"
class="inline-flex items-center gap-2 text-sm font-semibold text-slate-600 transition hover:text-indigo-700 dark:text-slate-400 dark:hover:text-indigo-300"
>
<span class="icon-[lucide--building-2] h-4 w-4" aria-hidden="true" >
</span>
Enterprise SSO
</a>
<a
href="/audit-logs"
class="inline-flex items-center gap-2 text-sm font-semibold text-slate-600 transition hover:text-indigo-700 dark:text-slate-400 dark:hover:text-indigo-300"
>
<span class="icon-[lucide--scroll-text] h-4 w-4" aria-hidden="true" >
</span>
Audit logs
</a>
</div>
<a
href="/docs"
class="group inline-flex items-center gap-2 text-sm font-semibold text-indigo-600 transition hover:text-indigo-800 dark:text-indigo-400 dark:hover:text-indigo-300"
>
Read the documentation
<span class="icon-[lucide--arrow-up-right] h-4 w-4 transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5" aria-hidden="true" >
</span>
</a>
</div>
</div>
</div>
}
}