PageSourceSearch

https://outlierprincipals.com/assets/cases.index-BJLKJT_K.js

js outlierprincipals.com collected 2026-10-10 02:26:53 UTC 4,096 bytes, 1 lines download raw bytes

1import{a,e as d,j as e,L as h}from"./index-ZRjTDDYO.js";import{S as f,a as j}from"./SiteFooter-_XUh_v5R.js";const u=["Global","North America","APAC","MENA","Europe","United Kingdom"];function w(){const[t,l]=a.useState("all"),[r,m]=a.useState("all");a.useLayoutEffect(()=>{typeof window<"u"&&window.scrollTo({top:0,left:0,behavior:"auto"})},[]);const p=a.useMemo(()=>Array.from(new Set(d.map(s=>s.vertical))).sort(),[]),g=a.useMemo(()=>Array.from(new Set(d.map(s=>s.geo))).sort((s,i)=>{const o=u.indexOf(s),c=u.indexOf(i);return o===-1&&c===-1?s.localeCompare(i):o===-1?1:c===-1?-1:o-c}),[]),n=a.useMemo(()=>d.filter(s=>(t==="all"||s.vertical===t)&&(r==="all"||s.geo===r)),[t,r]),x="appearance-none bg-transparent border border-rule rounded-full pl-4 pr-9 py-2 text-sm text-ink hover:bg-secondary/60 transition-colors focus:outline-none focus:ring-1 focus:ring-ink cursor-pointer bg-[url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2210%22 height=%226%22 viewBox=%220 0 10 6%22 fill=%22none%22><path d=%22M1 1l4 4 4-4%22 stroke=%22currentColor%22 stroke-width=%221.2%22/></svg>')] bg-no-repeat bg-[right_0.85rem_center]";return e.jsxs("div",{className:"min-h-screen bg-background",children:[e.jsx(f,{}),e.jsx("main",{className:"pt-36 md:pt-44 pb-24",children:e.jsxs("div",{className:"mx-auto max-w-7xl px-6 md:px-10",children:[e.jsx(h,{to:"/",hash:"cases",className:"eyebrow text-muted-foreground hover:text-ink transition-colors",children:"← Back to home"}),e.jsxs("div",{className:"mt-8",children:[e.jsx("div",{className:"eyebrow mb-6",children:"Case studies"}),e.jsxs("h1",{className:"display text-4xl md:text-6xl text-ink leading-[1.05] md:whitespace-nowrap",children:["Real outcomes. ",e.jsx("span",{className:"italic",children:"Not slide decks."})]})]}),e.jsxs("div",{className:"mt-12 flex flex-wrap items-center gap-3",children:[e.jsxs("select",{"aria-label":"Filter by vertical",className:x,value:t,onChange:s=>l(s.target.value),children:[e.jsx("option",{value:"all",children:"All verticals"}),p.map(s=>e.jsx("option",{value:s,children:s},s))]}),e.jsxs("select",{"aria-label":"Filter by region",className:x,value:r,onChange:s=>m(s.target.value),children:[e.jsx("option",{value:"all",children:"All regions"}),g.map(s=>e.jsx("option",{value:s,children:s},s))]}),(t!=="all"||r!=="all")&&e.jsx("button",{type:"button",onClick:()=>{l("all"),m("all")},className:"text-sm text-muted-foreground hover:text-ink transition-colors",children:"Clear"}),e.jsxs("span",{className:"ml-auto text-sm text-muted-foreground",children:[n.length," ",n.length===1?"case":"cases"]})]}),n.length===0?e.jsx("div",{className:"mt-10 border-y border-rule py-20 text-center text-sm text-muted-foreground",children:"No case studies match these filters."}):e.jsx("ul",{className:"mt-10 grid gap-px bg-rule border border-rule sm:grid-cols-2 lg:grid-cols-3",children:n.map((s,i)=>e.jsx(v,{item:s,index:i},s.slug))})]})}),e.jsx(j,{})]})}function v({item:t,index:l}){return e.jsx("li",{className:"bg-background",children:e.jsxs(h,{to:"/cases/$caseId",params:{caseId:t.slug},className:"group relative flex flex-col h-full p-6 md:p-8 transition-colors hover:bg-secondary/40",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"font-sans text-[0.7rem] font-medium uppercase tracking-[0.18em] text-ink",children:String(l+1).padStart(2,"0")}),e.jsxs("span",{className:"eyebrow text-muted-foreground",children:[t.vertical," ",e.jsx("span",{className:"text-rule mx-1",children:"·"})," ",t.geo]})]}),e.jsx("div",{className:"mt-8 display text-2xl md:text-3xl text-ink leading-tight group-hover:italic transition-all duration-500",children:t.client}),e.jsx("p",{className:"mt-4 text-sm md:text-base text-muted-foreground leading-relaxed line-clamp-4",children:t.headline}),e.jsxs("div",{className:"mt-8 flex items-center justify-between text-sm text-ink",children:[e.jsx("span",{children:"Read case study"}),e.jsx("span",{"aria-hidden":!0,className:"transition-transform group-hover:translate-x-1",children:"→"})]})]})})}export{w as component};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.