ResourcesMegaMenu
Reusable resources mega menu component.
Usage
Components are auto-discovered. Use the component directly in any .wrn view:
<ResourcesMegaMenu />Legacy mount name: data-component="ResourcesMegaMenu".
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/ResourcesMegaMenu.wrn
component ResourcesMegaMenu {
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.55fr)_minmax(18rem,0.8fr)]">
<!-- Resource links -->
<section>
<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">
Resources
</p>
<h2 class="mt-2 text-lg font-bold tracking-tight text-slate-950 dark:text-white">
Learn, build, and get support
</h2>
<p class="mt-1 text-sm text-slate-500 dark:text-slate-400">
Explore practical guides, customer stories, product updates,
and security resources.
</p>
</div>
<a
href="/resources"
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 resources
<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">
<!-- Blog -->
<a
href="/blog"
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--newspaper] 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">
Blog
</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">
Product updates, engineering insights, identity trends, and
company news.
</span>
</span>
</a>
<!-- Customer stories -->
<a
href="/customers"
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--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">
Customer stories
</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">
See how teams use WRNexusJS to secure and scale their
applications.
</span>
</span>
</a>
<!-- Guides -->
<a
href="/guides"
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--book-marked] 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">
Guides
</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">
Practical identity, security, SaaS, and architecture
walkthroughs.
</span>
</span>
</a>
<!-- Help center -->
<a
href="/help"
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--circle-help] 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">
Help center
</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">
Find answers for account, workspace, billing, and security
questions.
</span>
</span>
</a>
<!-- Security -->
<a
href="/security"
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--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-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">
Learn how WRNexusJS protects accounts, sessions, and
organizations.
</span>
</span>
</a>
<!-- Trust center -->
<a
href="/trust"
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--badge-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">
Trust center
</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">
Review compliance, privacy, infrastructure, and operational
controls.
</span>
</span>
</a>
</div>
<a
href="/resources"
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 resources
<span class="icon-[lucide--arrow-right] h-4 w-4" aria-hidden="true" >
</span>
</a>
</section>
<!-- Featured resource -->
<aside
class="relative overflow-hidden rounded-3xl border border-indigo-200 bg-linear-to-br from-indigo-50 via-white to-cyan-50 p-6 dark:border-indigo-500/20 dark:from-indigo-500/10 dark:via-slate-900 dark:to-cyan-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-cyan-300/30 blur-3xl dark:bg-cyan-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 guide
</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--book-open-check] 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">
The modern SaaS identity checklist
</h3>
<p class="mt-3 text-sm leading-6 text-slate-600 dark:text-slate-400">
A practical checklist covering authentication, organizations,
permissions, MFA, recovery, sessions, and enterprise SSO.
</p>
<div class="mt-5 space-y-3">
<div class="flex items-center gap-3">
<span
class="grid h-7 w-7 shrink-0 place-items-center rounded-full bg-indigo-100 text-indigo-700 dark:bg-indigo-500/15 dark:text-indigo-300"
>
<span class="icon-[lucide--check] h-4 w-4" aria-hidden="true" >
</span>
</span>
<span class="text-sm text-slate-700 dark:text-slate-300">
Secure authentication foundations
</span>
</div>
<div class="flex items-center gap-3">
<span
class="grid h-7 w-7 shrink-0 place-items-center rounded-full bg-indigo-100 text-indigo-700 dark:bg-indigo-500/15 dark:text-indigo-300"
>
<span class="icon-[lucide--check] h-4 w-4" aria-hidden="true" >
</span>
</span>
<span class="text-sm text-slate-700 dark:text-slate-300">
Multi-tenant organization design
</span>
</div>
<div class="flex items-center gap-3">
<span
class="grid h-7 w-7 shrink-0 place-items-center rounded-full bg-indigo-100 text-indigo-700 dark:bg-indigo-500/15 dark:text-indigo-300"
>
<span class="icon-[lucide--check] h-4 w-4" aria-hidden="true" >
</span>
</span>
<span class="text-sm text-slate-700 dark:text-slate-300">
Recovery and account protection
</span>
</div>
</div>
<a
href="/guides/saas-identity-checklist"
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"
>
Read the guide
<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-4 text-xs text-slate-500 dark:text-slate-400">
<span class="inline-flex items-center gap-1.5">
<span class="icon-[lucide--clock-3] h-4 w-4" aria-hidden="true" >
</span>
12 min read
</span>
<span class="inline-flex items-center gap-1.5">
<span class="icon-[lucide--download] h-4 w-4" aria-hidden="true" >
</span>
PDF available
</span>
</div>
</div>
</aside>
</div>
<!-- Bottom resource 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="/webinars"
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--presentation] h-4 w-4" aria-hidden="true" >
</span>
Webinars
</a>
<a
href="/events"
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--calendar-days] h-4 w-4" aria-hidden="true" >
</span>
Events
</a>
<a
href="/reports"
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--file-chart-column] h-4 w-4" aria-hidden="true" >
</span>
Reports
</a>
<a
href="/newsletter"
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--mail-plus] h-4 w-4" aria-hidden="true" >
</span>
Newsletter
</a>
</div>
<a
href="/contact"
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"
>
Contact our team
<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>
}
}