1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7813],{58776:(e,t,a)=>{a.r(t),a.d(t,{TrackedLink:()=>d});var s=a(95155),r=a(98500),o=a.n(r),l=a(48665);function d({eventName:e,eventProps:t,onClick:a,children:r,...n}){return(0,s.jsx)(o(),{...n,onClick:s=>{(0,l.j)(e,t??{}),a?.(s)},children:r})}},74350:(e,t,a)=>{a.d(t,{Cf:()=>m,Es:()=>x,L3:()=>f,c7:()=>u,lG:()=>n,rr:()=>h});var s=a(95155),r=a(12115),o=a(43146),l=a(9005),d=a(91337);let n=o.bL;o.l9;let i=o.ZL;o.bm;let c=r.forwardRef(({className:e,...t},a)=>(0,s.jsx)(o.hJ,{ref:a,className:(0,d.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));c.displayName=o.hJ.displayName;let m=r.forwardRef(({className:e,children:t,...a},r)=>(0,s.jsxs)(i,{children:[(0,s.jsx)(c,{}),(0,s.jsxs)(o.UC,{ref:r,className:(0,d.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...a,children:[t,(0,s.jsxs)(o.bm,{className:"absolute right-2 top-2 grid h-10 w-10 place-items-center rounded-full opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,s.jsx)(l.A,{className:"h-4 w-4"}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));m.displayName=o.UC.displayName;let u=({className:e,...t})=>(0,s.jsx)("div",{className:(0,d.cn)("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});u.displayName="DialogHeader";let x=({className:e,...t})=>(0,s.jsx)("div",{className:(0,d.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});x.displayName="DialogFooter";let f=r.forwardRef(({className:e,...t},a)=>(0,s.jsx)(o.hE,{ref:a,className:(0,d.cn)("text-lg font-semibold leading-none tracking-tight",e),...t}));f.displayName=o.hE.displayName;let h=r.forwardRef(({className:e,...t},a)=>(0,s.jsx)(o.VY,{ref:a,className:(0,d.cn)("text-sm text-muted-foreground",e),...t}));h.displayName=o.VY.displayName},79984:(e,t,a)=>{a.r(t),a.d(t,{Card:()=>l,CardContent:()=>c,CardDescription:()=>i,CardFooter:()=>m,CardHeader:()=>d,CardTitle:()=>n});var s=a(95155),r=a(12115),o=a(91337);let l=r.forwardRef(({className:e,...t},a)=>(0,s.jsx)("div",{ref:a,className:(0,o.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));l.displayName="Card";let d=r.forwardRef(({className:e,...t},a)=>(0,s.jsx)("div",{ref:a,className:(0,o.cn)("flex flex-col space-y-1.5 p-6",e),...t}));d.displayName="CardHeader";let n=r.forwardRef(({className:e,...t},a)=>(0,s.jsx)("h3",{ref:a,className:(0,o.cn)("text-2xl font-semibold leading-none tracking-tight",e),...t}));n.displayName="CardTitle";let i=r.forwardRef(({className:e,...t},a)=>(0,s.jsx)("p",{ref:a,className:(0,o.cn)("text-sm text-muted-foreground",e),...t}));i.displayName="CardDescription";let c=r.forwardRef(({className:e,...t},a)=>(0,s.jsx)("div",{ref:a,className:(0,o.cn)("p-6 pt-0",e),...t}));c.displayName="CardContent";let m=r.forwardRef(({className:e,...t},a)=>(0,s.jsx)("div",{ref:a,className:(0,o.cn)("flex items-center p-6 pt-0",e),...t}));m.displayName="CardFooter"},81488:(e,t,a)=>{a.d(t,{ToolsShowcase:()=>u});var s=a(95155),r=a(12115),o=a(5772),l=a(98500),d=a.n(l),n=a(90467),i=a(8962),c=a(9005),m=a(74350);function u({eyebrow:e,heading:t,intro:a,tools:l,extras:x}){let[f,h]=(0,r.useState)(null);return(0,s.jsxs)("section",{"aria-label":"Tools showcase",className:"bg-background py-16 sm:py-20",children:[(0,s.jsxs)("div",{className:"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8",children:[(0,s.jsxs)("div",{className:"mx-auto max-w-2xl text-center",children:[(0,s.jsx)("p",{className:"text-label font-bold uppercase text-muted-foreground",children:e}),(0,s.jsx)("h2",{className:"mt-3 text-display-m font-bold tracking-tight text-foreground sm:text-display-l",children:t}),a&&(0,s.jsx)("p",{className:"mt-4 text-body-l text-muted-foreground",children:a})]}),(0,s.jsx)("div",{className:"mt-12 grid grid-cols-1 gap-6 lg:grid-cols-3",children:l.map(e=>{let t="group flex flex-col overflow-hidden rounded-xl border border-border bg-background text-left shadow-ds-sm transition-shadow duration-fast ease-ds-out hover:shadow-ds-md focus:outline-none focus-visible:ring-2 focus-visible:ring-primary",a=(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"relative aspect-[16/10] w-full overflow-hidden border-b border-border bg-muted/40",children:[(0,s.jsx)(o.default,{src:e.image,alt:e.imageAlt,width:1600,height:1e3,className:"block h-full w-full object-cover object-top"}),(0,s.jsx)("div",{className:"absolute right-2 top-2 inline-flex h-7 w-7 items-center justify-center rounded-md bg-foreground
1/85 text-background opacity-0 transition-opacity duration-fast ease-ds-out group-hover:opacity-100 group-focus-visible:opacity-100",children:e.href?(0,s.jsx)(n.A,{className:"h-3.5 w-3.5","aria-hidden":"true"}):(0,s.jsx)(i.A,{className:"h-3.5 w-3.5","aria-hidden":"true"})})]}),(0,s.jsxs)("div",{className:"p-5",children:[(0,s.jsx)("p",{className:"text-label font-bold uppercase text-muted-foreground",children:e.eyebrow}),(0,s.jsx)("h3",{className:"mt-1.5 text-heading-s font-bold text-foreground",children:e.title}),(0,s.jsx)("p",{className:"mt-2 text-body-m text-muted-foreground",children:e.desc})]})]});return e.href?(0,s.jsx)(d(),{href:e.href,className:t,children:a},e.title):(0,s.jsx)("button",{type:"button",onClick:()=>h({kind:"tool",...e}),"aria-label":`Expand ${e.title}`,className:t,children:a},e.title)})}),x&&x.length>0&&(0,s.jsxs)("div",{className:"mt-10",children:[(0,s.jsx)("p",{className:"text-center text-label font-bold uppercase text-muted-foreground",children:"Plus everything you need around the edges"}),(0,s.jsx)("ul",{className:"mt-5 grid grid-cols-1 gap-4 sm:grid-cols-3",children:x.map(e=>(0,s.jsx)("li",{children:(0,s.jsxs)("button",{type:"button",onClick:()=>h({kind:"extra",...e}),"aria-label":`Expand ${e.caption}`,className:"group flex w-full flex-col overflow-hidden rounded-lg border border-border bg-background text-left shadow-ds-sm transition-shadow duration-fast ease-ds-out hover:shadow-ds-md focus:outline-none focus-visible:ring-2 focus-visible:ring-primary",children:[(0,s.jsxs)("div",{className:"relative aspect-[16/10] w-full overflow-hidden border-b border-border bg-muted/40",children:[(0,s.jsx)(o.default,{src:e.image,alt:e.imageAlt,width:1600,height:1e3,className:"block h-full w-full object-cover object-top"}),(0,s.jsx)("div",{className:"absolute right-2 top-2 inline-flex h-7 w-7 items-center justify-center rounded-md bg-foreground
1/85 text-background opacity-0 transition-opacity duration-fast ease-ds-out group-hover:opacity-100 group-focus-visible:opacity-100",children:(0,s.jsx)(i.A,{className:"h-3.5 w-3.5","aria-hidden":"true"})})]}),(0,s.jsx)("p",{className:"px-3 py-2 text-body-s text-muted-foreground",children:e.caption})]})},e.image))})]})]}),(0,s.jsx)(m.lG,{open:null!==f,onOpenChange:e=>!e&&h(null),children:(0,s.jsx)(m.Cf,{className:"max-h-[95vh] max-w-[95vw] overflow-hidden p-0 sm:max-w-[90vw] lg:max-w-6xl",children:f&&(0,s.jsxs)("div",{className:"flex max-h-[95vh] flex-col",children:[(0,s.jsxs)("div",{className:"relative flex-1 overflow-auto bg-muted/40",children:[(0,s.jsx)("img",{src:f.image,alt:f.imageAlt,className:"block h-auto max-h-[80vh] w-full object-contain"}),(0,s.jsx)("button",{type:"button",onClick:()=>h(null),"aria-label":"Close",className:"absolute right-3 top-3 inline-flex h-9 w-9 items-center justify-center rounded-md bg-foreground/85 text-background shadow-ds-md transition-colors hover:bg-foreground",children:(0,s.jsx)(c.A,{className:"h-4 w-4","aria-hidden":"true"})})]}),"tool"===f.kind?(0,s.jsxs)("div",{className:"border-t border-border bg-background p-5 sm:p-6",children:[(0,s.jsx)("p",{className:"text-label font-bold uppercase text-muted-foreground",children:f.eyebrow}),(0,s.jsx)(m.L3,{className:"mt-1.5 text-heading-s font-bold text-foreground sm:text-heading-m",children:f.title}),(0,s.jsx)(m.rr,{className:"mt-2 text-body-m text-muted-foreground",children:f.desc})]}):(0,s.jsxs)("div",{className:"border-t border-border bg-background p-5 sm:p-6",children:[(0,s.jsx)(m.L3,{className:"text-heading-s font-bold text-foreground",children:f.caption}),(0,s.jsx)(m.rr,{className:"sr-only",children:f.imageAlt})]})]})})})]})}},85190:(e,t,a)=>{a.d(t,{AuthAwareButton:()=>i});var s=a(95155),r=a(12115),o=a(98500),l=a.n(o),d=a(91337),n=a(48665);function i({signInText:e="Sign In",dashboardText:t="Dashboard",href:a="/dashboard",className:o="inline-flex items-center justify-center px-6 py-3 text-base font-medium text-white bg-blue-600 rounded hover:bg-blue-700",onClick:c,analyticsEvent:m,analyticsProps:u}){let[x,f]=(0,r.useState)(!1),[h,p]=(0,r.useState)(!0),g=(0,r.useCallback)(()=>{try{let e=localStorage.getItem("supabase.auth.token");if(e){let t=JSON.parse(e),a=t?.currentSession||t;if(a?.access_token&&a?.expires_at){let e=1e3*a.expires_at,t=Date.now();if(e>t){f(!0),p(!1);return}}}}catch(e){console.debug("Auth check error:",e)}f(!1),p(!1)},[]);(0,r.useEffect)(()=>{g();let e=()=>{document.hidden||g()},t=e=>{"supabase.auth.token"===e.key&&g()};return document.addEventListener("visibilitychange",e),window.addEventListener("storage",t),()=>{document.removeEventListener("visibilitychange",e),window.removeEventListener("storage",t)}},[g]);let b=()=>{m&&(0,n.j)(m,{is_authenticated:x,...u??{}}),c?.()};return h?(0,s.jsx)(l(),{href:a,className:(0,d.cn)(o,"opacity-50"),onClick:b,children:e}):(0,s.jsx)(l(),{href:a,className:o,onClick:b,children:x?t:e})}}}]);
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.