1import{n as e,o as t,r as n}from"./Section-C2QA3MkN.js";import{t as r}from"./link-CzGsl-Pp.js";import{t as i}from"./arrow-right-CbwrMpDb.js";import{n as a,t as o}from"./rocket-CuJOmIjq.js";import{t as s}from"./code-xml-D5pD2u9i.js";import{t as c}from"./mail-CN36m4yD.js";import{C as l}from"./index-CUbaswEk.js";import{t as u}from"./PageHero-DKdnYQlU.js";import{n as d}from"./button-link-Di0RCbQe.js";import{t as f}from"./FinalCta-B9b37agZ.js";var p=l(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),m=l(`webhook`,[[`path`,{d:`M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2`,key:`q3hayz`}],[`path`,{d:`m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06`,key:`1go1hn`}],[`path`,{d:`m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8`,key:`qlwsc0`}]]),h=`/assets/hero-D27rWd-y.png`,g=t(),_=[{icon:o,title:`Getting started`,body:`Create your workspace, grab your public token and put the widget live in a few minutes.`,links:[{label:`Getting started`,slug:`getting-started`}]},{icon:p,title:`Live Chat widget`,body:`Install on any stack, control appearance and behaviour, and pass context about every visitor.`,links:[{label:`HTML / JavaScript`,slug:`live-chat/html-javascript`},{label:`React`,slug:`live-chat/react`},{label:`Single page applications`,slug:`live-chat/single-page-applications`},{label:`WordPress`,slug:`live-chat/wordpress`},{label:`Drupal`,slug:`live-chat/drupal`},{label:`Joomla`,slug:`live-chat/joomla`},{label:`Language`,slug:`live-chat/language`},{label:`Metadata about visitor`,slug:`live-chat/metadata-about-visitor`},{label:`Pro-active messages`,slug:`live-chat/pro-active-messages`},{label:`Events`,slug:`live-chat/events`},{label:`Embedding in a div`,slug:`live-chat/embedding-in-a-div`},{label:`Expand and suspend`,slug:`live-chat/expand-and-suspend`},{label:`Invisibility`,slug:`live-chat/invisibility`},{label:`CSS for trigger button`,slug:`live-chat/css-for-trigger-button`}]},{icon:c,title:`Email`,body:`Route inbound email into the same inbox your chats land in.`,links:[{label:`Email basics`,slug:`email/basics`}]},{icon:m,title:`Webhooks`,body:`Receive chat events in your own API in real time, with a verified challenge handshake.`,links:[{label:`Basics`,slug:`webhooks/basics`},{label:`Challenge request`,slug:`webhooks/challenge-request`},{label:`Security`,slug:`webhooks/security`},{label:`Example`,slug:`webhooks/example`}]},{icon:s,title:`REST API`,body:`Authenticate once, then read and write users and messages programmatically.`,links:[{label:`Authentication`,slug:`api/authentication`},{label:`Users`,slug:`api/users`},{label:`Messages`,slug:`api/messages`},{label:`Errors`,slug:`api/errors`}]}];function v(){return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(u,{eyebrow:`Documentation`,title:`Developer docs for every part of SignalZen.`,sub:`Set up in minutes with the integration wizards, then go deeper: widget APIs and events, email routing, webhooks and the REST API. The complete documentation, hosted right here.`,actions:(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(r,{to:`/docs/$`,params:{_splat:`getting-started`},className:d({size:`lg`}),children:[(0,g.jsx)(a,{className:`size-4`,"aria-hidden":!0}),`Getting started`]}),(0,g.jsx)(r,{to:`/docs/$`,params:{_splat:`live-chat/html-javascript`},className:d({variant:`secondary`,size:`lg`}),children:`Install the widget`})]}),children:(0,g.jsx)(`img`,{src:h,alt:`SignalZen documentation`,width:1200,height:1e3,className:`mx-auto w-full max-w-[520px]`})}),(0,g.jsxs)(e,{children:[(0,g.jsx)(n,{eyebrow:`Browse`,title:`Pick a section and start building.`,sub:`Every page of the SignalZen documentation, right here.`}),(0,g.jsx)(`div`,{className:`mt-10 grid gap-6 md:grid-cols-2`,children:_.map(e=>(0,g.jsxs)(`div`,{className:`rounded-[28px] border border-border bg-card p-7`,children:[(0,g.jsx)(`div`,{className:`flex size-11 items-center justify-center rounded-2xl bg-surface-2 text-accent`,children:(0,g.jsx)(e.icon,{className:`size-5`,"aria-hidden":!0})}),(0,g.jsx)(`h3`,{className:`mt-5 text-[1.15rem] font-semibold text-foreground`,children:e.title}),(0,g.jsx)(`p`,{className:`mt-2 text-[15px] leading-relaxed text-muted-foreground`,children:e.body}),(0,g.jsx)(`ul`,{className:`mt-5 flex flex-wrap gap-2`,children:e.links.map(e=>(0,g.jsx)(`li`,{children:(0,g.jsxs)(r,{to:`/docs/$`,params:{_splat:e.slug},className:`inline-flex items-center gap-1.5 rounded-full border border-border px-3.5 py-1.5 text-[13.5px] text-muted-foreground transition hover:border-accent/40 hover:text-foreground`,children:[e.label,(0,g.jsx)(i,{className:`size-3.5`,"aria-hidden":!0})]})},e.slug))})]},e.title))})]}),(0,g.jsx)(e,{tone:`surface`,children:(0,g.jsxs)(`div`,{className:`grid gap-10 lg:grid-cols-2 lg:items-center`,children:[(0,g.jsx)(`div`,{className:`max-w-xl`,children:(0,g.jsx)(n,{eyebrow:`Quick install`,title:`One snippet, no iframe.`,sub:`The widget is React-based and loads without an iframe â the first chunk weighs around 200KB, so your page speed stays intact.`})}),(0,g.jsx)(`pre`,{className:`overflow-x-auto rounded-[24px] border border-border bg-card p-6 text-[13px] leading-relaxed text-muted-foreground`,children:(0,g.jsx)(`code`,{children:`<script> 2 window.SignalZen = (window.SignalZen || []); 3 window.SignalZen.push(['init', { 4 token: 'YOUR_PUBLIC_TOKEN' 5 }]); 6<\/script> 7<script src="https://cdn.signalzen.com/signalzen.js" async><\/script>`})})]})}),(0,g.jsx)(f,{})]})}
7export{v 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.