PageSourceSearch

https://needle.app/assets/blog-Cf2xiK1u.js

js needle.app collected 2026-09-25 20:18:12 UTC 3,337 bytes, 1 lines download raw bytes

1import{o as e,t}from"./react-CUDSawes.js";import{t as n}from"./link-D1cIkJX5.js";import{t as r}from"./jsx-runtime-DLdBydc3.js";import{t as i}from"./ArrowUpRight.es-CitjLL9m.js";import{dn as a}from"./index-DbRKOFB6.js";import{t as o}from"./MarketingPageLayout-BViqTjEt.js";var s=e(t(),1),c=r(),l=`All`;function u({category:e,date:t}){return(0,c.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-4 gap-y-2`,children:[(0,c.jsx)(`span`,{className:`font-mono text-[11px] font-medium tracking-[0.06em] text-charcoal uppercase`,children:e}),(0,c.jsx)(`span`,{className:`inline-flex items-center gap-1.5 font-mono text-[11px] font-medium text-ink-muted before:size-1.5 before:rounded-full before:bg-charcoal/30 before:content-['']`,children:t})]})}function d(){let e=(0,s.useMemo)(()=>[l,...Array.from(new Set(a.map(e=>e.category)))],[]),[t,r]=(0,s.useState)(l),[d,...f]=t===l?a:a.filter(e=>e.category===t);return(0,c.jsx)(o,{eyebrow:`Blog`,title:`Notes from the field`,description:`Playbooks, product updates, and lessons from building autonomous growth agents.`,children:(0,c.jsx)(`section`,{className:`bg-white px-6 pt-16 pb-28 sm:pt-20`,children:(0,c.jsxs)(`div`,{className:`mx-auto max-w-[1040px]`,children:[d&&(0,c.jsxs)(n,{to:d.to,className:`group grid grid-cols-1 gap-7 rounded-[24px] border border-transparent p-0 no-underline transition-colors duration-200 md:grid-cols-2 md:items-center`,children:[(0,c.jsx)(`div`,{className:`overflow-hidden rounded-[24px] border border-charcoal/8`,children:(0,c.jsx)(`img`,{src:d.image,alt:d.title,className:`w-full scale-[1.01] transition-transform duration-300 group-hover:scale-[1.03]`})}),(0,c.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,c.jsx)(u,{category:d.category,date:d.date}),(0,c.jsx)(`h2`,{className:`font-display text-[clamp(26px,3vw,34px)] leading-[1.12] font-bold tracking-[-0.8px] text-charcoal`,children:d.title}),(0,c.jsx)(`p`,{className:`text-[16px] leading-[1.6] text-muted-foreground`,children:d.excerpt}),(0,c.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 font-medium text-charcoal`,children:[`Read more`,(0,c.jsx)(i,{weight:`bold`,className:`size-4 transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5`,"aria-hidden":`true`})]})]})]}),(0,c.jsx)(`div`,{className:`mt-14 flex flex-wrap items-center gap-x-6 gap-y-3 border-t border-charcoal/10 pt-8`,children:e.map(e=>(0,c.jsx)(`button`,{type:`button`,onClick:()=>r(e),className:`font-medium transition-colors ${e===t?`text-charcoal`:`text-ink-muted hover:text-charcoal`}`,children:e},e))}),f.length>0&&(0,c.jsx)(`div`,{className:`mt-10 grid grid-cols-1 gap-x-7 gap-y-12 sm:grid-cols-2 lg:grid-cols-3`,children:f.map(e=>(0,c.jsxs)(n,{to:e.to,className:`group flex flex-col gap-4 no-underline`,children:[(0,c.jsx)(`div`,{className:`overflow-hidden rounded-[20px] border border-charcoal/8`,children:(0,c.jsx)(`img`,{src:e.image,alt:e.title,className:`w-full scale-[1.01] transition-transform duration-300 group-hover:scale-[1.04]`})}),(0,c.jsx)(u,{category:e.category,date:e.date}),(0,c.jsx)(`h3`,{className:`font-display text-[clamp(18px,2vw,22px)] leading-[1.18] font-bold tracking-[-0.4px] text-charcoal`,children:e.title}),(0,c.jsx)(`p`,{className:`text-[15px] leading-[1.6] text-muted-foreground`,children:e.excerpt})]},e.to))})]})})})}var f=d;export{f 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.