/* global React, SectionHead, I, RANKINGS, SERVICES, INDUSTRIES, HUBS, PEOPLE, OFFICES, INSIGHTS, AWARDS, BsaLogo */ const { useState: useStateH, useEffect: useEffectH, useRef: useRefH } = React; // ─── Hero ───────────────────────────────────────────────────────────── function Hero({ navigate, onEnquire, t, dense }) { return (
{/* Editorial grid overlay (very subtle) */}
); } // ─── Rankings strip ─────────────────────────────────────────────────── function RankingsStrip({ t }) { const ref = useRefH(null); const [paused, setPaused] = useStateH(false); return (
{t.rankingsHead}
Directory · Tier · Edition · Jurisdiction
setPaused(true)} onMouseLeave={() => setPaused(false)} style={{ overflow: "hidden", position: "relative", maskImage: "linear-gradient(to right, transparent, black 8%, black 92%, transparent)" }} >
{[...RANKINGS, ...RANKINGS, ...RANKINGS].map((r, i) => (
{r.directory} {r.tier}
{r.practice}
{r.jurisdiction}
))}
); } // ─── Expertise (3-tier) ─────────────────────────────────────────────── function ExpertiseSection({ navigate, t }) { const [tier, setTier] = useStateH("services"); const tiers = { services: { label: t.services, count: 17, items: SERVICES.map((s) => s.name), highlight: SERVICES.filter((s) => s.flagship).map((s) => s.name) }, industries: { label: t.industries, count: 11, items: INDUSTRIES, highlight: ["Real Estate", "Construction & Engineering", "Financial Institutions"] }, hubs: { label: t.hubs, count: 3, items: HUBS, highlight: HUBS }, }; const current = tiers[tier]; return (
{/* Tier tabs */}
{Object.entries(tiers).map(([k, v]) => ( ))}
{/* Items list */}
{current.items.map((item, i) => { const isFlagship = current.highlight.includes(item); return ( ); })}
); } // ─── Leadership feature ─────────────────────────────────────────────── function LeadershipFeature({ openLawyer, navigate, t }) { const featured = [PEOPLE.find((p) => p.slug === "ahmad-bin-hezeem"), PEOPLE.find((p) => p.slug === "jimmy-haoula")]; return (
{featured.map((p) => ( ))}
); } // ─── Insights teaser ────────────────────────────────────────────────── function InsightsTeaser({ navigate, t }) { return (
{INSIGHTS.slice(0, 3).map((ins, i) => (
0 ? 28 : 0, cursor: "pointer", transition: "background .2s ease", }} onMouseEnter={(e) => e.currentTarget.style.background = "var(--paper-2)"} onMouseLeave={(e) => e.currentTarget.style.background = "transparent"} onClick={() => navigate("insights")} >
{ins.category} {ins.date}

{ins.title}

{ins.excerpt}

{ins.authors[0]} {ins.readTime}
))}
); } // ─── Regional map (HTML stat tile, original) ────────────────────────── function RegionMap({ navigate, t }) { // Approximate cities positioned in a stylised box — relative coords % const pins = [ { c: "Dubai", x: 36, y: 60, hq: true }, { c: "Abu Dhabi", x: 30, y: 68 }, { c: "Sharjah", x: 38, y: 56 }, { c: "Ras Al Khaimah", x: 42, y: 50 }, { c: "Muscat", x: 58, y: 78 }, { c: "Riyadh", x: 18, y: 64 }, { c: "Beirut", x: 10, y: 18 }, { c: "Erbil", x: 12, y: 6 }, ]; return (
{OFFICES.map((o) => ( ))}
{/* Map plate */}
{/* Background grid */} {/* stylised landmass — abstract, not geographic */} {/* Pins */} {pins.map((p) => (
{p.hq && (
)}
{p.c}
))} {/* Legend */}
Regional network
8 offices · 5 countries
Stylised — not geographic
); } // ─── Awards strip ───────────────────────────────────────────────────── function AwardsRow({ t }) { return (
Awards · attributed; firm-supplied list
{AWARDS.slice(0, 8).map((a, i) => (
{a.year}
{a.name}
{a.issuer}
))}
); } // ─── Big closing call ───────────────────────────────────────────────── function ClosingCTA({ onEnquire, t }) { return (
{t.consult}

A regional partnership, one enquiry away.

Institutional enquiries are routed to the appropriate partner. We typically respond within one business day.

+971 4 528 5555
); } Object.assign(window, { Hero, RankingsStrip, ExpertiseSection, LeadershipFeature, InsightsTeaser, RegionMap, AwardsRow, ClosingCTA });