{ /* ============================================================ Content Stack Lab - Portfolio Page ============================================================ */ const { useEffect, useState } = React; const portfolioTabs = window.portfolioTabs || []; const admin = window.CSLAdmin || {}; const pageHero = (admin.heroes && admin.heroes["portfolio"]) || {}; const pageCta = (admin.ctas && admin.ctas["portfolio"] && (admin.ctas["portfolio"].main || admin.ctas["portfolio"]["start-call"])) || {}; function DotTitle({ text, as = "h1" }) { return ; } function PortfolioHero() { return (
{pageHero.subheading ?

{pageHero.subheading}

: null}
); } function PortfolioPills({ pills }) { return (
{(pills || []).map((pill) => {pill})}
); } function PortfolioTile({ item }) { const content = (
{item.image ? {item.title :
Portfolio image
}
{item.title ?

{item.title}

: null}
); return item.link ? {content} : content; } function PortfolioTabs() { const [activeTab, setActiveTab] = useState(""); if (!portfolioTabs.length) return null; return (
{portfolioTabs.map((tab) => { const isActive = activeTab === tab.id; const panelId = `${tab.id}-panel`; return (