@accurix/centrinfo-widget 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,n as u,o as d,p as f,r as p,s as m,t as h}from"./config-CCkOySUT.mjs";import{render as g}from"preact";import{useCallback as _,useEffect as v,useMemo as y,useRef as b,useState as x}from"preact/hooks";import{Fragment as S,jsx as C,jsxs as w}from"preact/jsx-runtime";const T=[`audio/webm;codecs=opus`,`audio/webm`,`audio/ogg;codecs=opus`,`audio/ogg`],E=e=>{let t=globalThis.MediaRecorder;if(typeof t?.isTypeSupported==`function`){for(let n of T)if(t.isTypeSupported(n))try{return new t(e,{mimeType:n})}catch{}}return new t(e)},D=e=>{if(!(!e||e.state!==`recording`)){try{e.requestData()}catch{}e.stop()}},O=[{name:`Smileys`,emojis:`😀.😃.😄.😁.😅.😂.🤣.😊.😇.🙂.🙃.😉.😌.😍.🥰.😘.😋.😛.😜.🤪.🤗.🤭.🤔.🤐.😐.😶.😏.🙄.😴.🥳.😎.🤓.🥺.😢.😭.😤.😠.🤯.😬.😱.🤩.🥱`.split(`.`)},{name:`Gestures`,emojis:[`👍`,`👎`,`👌`,`🤌`,`✌️`,`🤞`,`🤟`,`🤘`,`🤙`,`👈`,`👉`,`👆`,`👇`,`✋`,`🖐️`,`👋`,`🤝`,`🙏`,`💪`,`👏`,`🙌`,`👐`,`🤲`,`🫶`]},{name:`Hearts & symbols`,emojis:`❤️.🧡.💛.💚.💙.💜.🖤.🤍.💔.❣️.💕.💖.💘.💝.✨.⭐.🌟.💫.🔥.🎉.🎊.✅.❌.⚡.💯.🚀`.split(`.`)},{name:`Animals & nature`,emojis:[`🐶`,`🐱`,`🦊`,`🐻`,`🐼`,`🐨`,`🦁`,`🐮`,`🐸`,`🐵`,`🐧`,`🦄`,`🐝`,`🦋`,`🐢`,`🐬`,`🌷`,`🌸`,`🌹`,`🌻`,`🌳`,`🍀`]},{name:`Food & drink`,emojis:[`🍎`,`🍌`,`🍉`,`🍓`,`🍒`,`🥑`,`🍔`,`🍟`,`🍕`,`🌮`,`🍿`,`🍩`,`🍪`,`🎂`,`☕`,`🍵`,`🍺`,`🥂`,`🍷`]},{name:`Objects & travel`,emojis:`🚀.✈️.🚗.🏠.📦.📱.💻.⌚.📷.💡.🔑.🎁.📌.✏️.📝.📞.📧.💰.📈.⏰.🔔.🎯.🏆.🎮.🎵.💬.👀`.split(`.`)}],ee={inquiry:{title:`Leave a message`,submit:`Send message`,fields:[{key:`visitorName`,label:`Full name`,kind:`text`,required:!0,identity:`name`},{key:`visitorEmail`,label:`Email`,kind:`email`,required:!0,identity:`email`},{key:`message`,label:`Message`,kind:`textarea`,required:!0,placeholder:`How can we help?`}]},contact:{title:`Share your details`,submit:`Save`,fields:[{key:`name`,label:`Full name`,kind:`text`,required:!0,identity:`name`},{key:`email`,label:`Email`,kind:`email`,required:!0,identity:`email`},{key:`phone`,label:`Phone`,kind:`tel`,required:!0,identity:`phone`}]},"book-demo":{title:`Book a demo`,submit:`Request demo`,fields:[{key:`visitorName`,label:`Full name`,kind:`text`,required:!0,identity:`name`},{key:`visitorEmail`,label:`Email`,kind:`email`,required:!0,identity:`email`},{key:`preferredAt`,label:`Preferred time`,kind:`text`,placeholder:`e.g. Thursday 3pm`},{key:`notes`,label:`Notes`,kind:`textarea`,placeholder:`Anything we should know?`}]},"request-callback":{title:`Request a callback`,submit:`Request callback`,fields:[{key:`visitorName`,label:`Full name`,kind:`text`,required:!0,identity:`name`},{key:`visitorPhone`,label:`Phone`,kind:`tel`,required:!0,identity:`phone`},{key:`bestTime`,label:`Best time to call`,kind:`text`,placeholder:`e.g. tomorrow afternoon`},{key:`topic`,label:`Topic`,kind:`text`,placeholder:`What should we call about?`}]},"subscribe-newsletter":{title:`Subscribe`,submit:`Subscribe`,fields:[{key:`visitorName`,label:`Full name`,kind:`text`,required:!0,identity:`name`},{key:`visitorEmail`,label:`Email`,kind:`email`,required:!0,identity:`email`}]}},k=(e,t)=>C(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`,...t,children:e}),A=e=>C(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,...e,children:C(`path`,{"fill-rule":`evenodd`,"clip-rule":`evenodd`,d:`M5 3.25h14A3.75 3.75 0 0 1 22.75 7v6A3.75 3.75 0 0 1 19 16.75h-7.19l-4.26 3.84A.75.75 0 0 1 6.25 20v-3.32A3.75 3.75 0 0 1 2.25 13V7A3.75 3.75 0 0 1 6 3.25Zm3 7.75a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Zm4 0a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Zm4 0a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z`})}),j=e=>k(C(`path`,{d:`m6 9 6 6 6-6`}),e),te=e=>k(w(S,{children:[C(`path`,{d:`m22 2-7 20-4-9-9-4Z`}),C(`path`,{d:`M22 2 11 13`})]}),e),ne=e=>k(w(S,{children:[C(`path`,{d:`M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z`}),C(`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`}),C(`line`,{x1:`12`,y1:`19`,x2:`12`,y2:`22`})]}),e),M=e=>k(w(S,{children:[C(`path`,{d:`M9 9v1a3 3 0 0 0 4.24 2.73`}),C(`path`,{d:`M15 5.5V5a3 3 0 0 0-5.94-.6`}),C(`path`,{d:`M19 10v2a7 7 0 0 1-9.9 6.36`}),C(`path`,{d:`M5 10v2a6.98 6.98 0 0 0 1.11 3.79`}),C(`line`,{x1:`12`,y1:`19`,x2:`12`,y2:`22`}),C(`line`,{x1:`2`,y1:`2`,x2:`22`,y2:`22`})]}),e),re=e=>k(w(S,{children:[C(`path`,{d:`M15 3h6v6`}),C(`path`,{d:`M10 14 21 3`}),C(`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`})]}),e),ie=e=>k(w(S,{children:[C(`rect`,{x:`3`,y:`4`,width:`18`,height:`18`,rx:`2`}),C(`line`,{x1:`16`,y1:`2`,x2:`16`,y2:`6`}),C(`line`,{x1:`8`,y1:`2`,x2:`8`,y2:`6`}),C(`line`,{x1:`3`,y1:`10`,x2:`21`,y2:`10`})]}),e),N=e=>k(w(S,{children:[C(`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`}),C(`path`,{d:`m22 7-10 5L2 7`})]}),e),ae=e=>k(C(`path`,{d:`M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92Z`}),e),oe=e=>k(w(S,{children:[C(`circle`,{cx:`12`,cy:`12`,r:`9`}),C(`path`,{d:`M8.5 14.5a4 4 0 0 0 7 0`}),C(`line`,{x1:`9`,y1:`9.5`,x2:`9.01`,y2:`9.5`}),C(`line`,{x1:`15`,y1:`9.5`,x2:`15.01`,y2:`9.5`})]}),e),P=e=>k(w(S,{children:[C(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),C(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]}),e),se=e=>k(w(S,{children:[C(`path`,{d:`M11 5 6 9H2v6h4l5 4z`}),C(`path`,{d:`M15.5 8.5a5 5 0 0 1 0 7`}),C(`path`,{d:`M19 5a9 9 0 0 1 0 14`})]}),e),ce=e=>k(w(S,{children:[C(`path`,{d:`M11 5 6 9H2v6h4l5 4z`}),C(`line`,{x1:`22`,y1:`9`,x2:`16`,y2:`15`}),C(`line`,{x1:`16`,y1:`9`,x2:`22`,y2:`15`})]}),e),F=e=>k(C(`path`,{d:`M20 6 9 17l-5-5`}),e),le=e=>k(w(S,{children:[C(`rect`,{x:`9`,y:`9`,width:`13`,height:`13`,rx:`2`}),C(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})]}),e),I=e=>k(w(S,{children:[C(`path`,{d:`M1 4v6h6`}),C(`path`,{d:`M3.51 15a9 9 0 1 0 2.13-9.36L1 10`})]}),e),ue=e=>k(C(`rect`,{x:`6`,y:`6`,width:`12`,height:`12`,rx:`2`}),e),de=e=>k(C(`path`,{d:`M21.44 11.05 12.25 20.24a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48`}),e),fe=e=>k(w(S,{children:[C(`path`,{d:`M18.36 6.64a9 9 0 1 1-12.73 0`}),C(`line`,{x1:`12`,y1:`2`,x2:`12`,y2:`12`})]}),e),pe=e=>k(w(S,{children:[C(`circle`,{cx:`12`,cy:`12`,r:`9`}),C(`path`,{d:`M12 7v5l3 2`})]}),e),me=e=>k(w(S,{children:[C(`path`,{d:`M7 10v12`}),C(`path`,{d:`M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z`})]}),e),L=e=>k(w(S,{children:[C(`path`,{d:`M17 14V2`}),C(`path`,{d:`M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z`})]}),e),he=e=>k(w(S,{children:[C(`path`,{d:`M15 3h6v6`}),C(`path`,{d:`M9 21H3v-6`}),C(`path`,{d:`M21 3l-7 7`}),C(`path`,{d:`M3 21l7-7`})]}),e),ge=e=>k(w(S,{children:[C(`path`,{d:`M9 3v6H3`}),C(`path`,{d:`M15 21v-6h6`}),C(`path`,{d:`M9 9 2 2`}),C(`path`,{d:`M15 15l7 7`})]}),e),_e=e=>k(w(S,{children:[C(`rect`,{x:`3`,y:`4`,width:`18`,height:`14`,rx:`2`}),C(`rect`,{x:`11`,y:`11`,width:`8`,height:`6`,rx:`1`,fill:`currentColor`,stroke:`none`})]}),e),ve=e=>k(w(S,{children:[C(`rect`,{x:`4`,y:`5`,width:`16`,height:`14`,rx:`2`}),C(`path`,{d:`M12 15V9`}),C(`path`,{d:`m8.5 12.5 3.5-3.5 3.5 3.5`})]}),e),ye=e=>k(w(S,{children:[C(`line`,{x1:`12`,y1:`5`,x2:`12`,y2:`19`}),C(`path`,{d:`m19 12-7 7-7-7`})]}),e),R=e=>{if(!e)return`Live data`;let t=new Date(e);return Number.isNaN(t.getTime())?`Live data`:`Updated ${new Intl.DateTimeFormat(void 0,{hour:`numeric`,minute:`2-digit`}).format(t)}`},be=e=>e?.name?.trim()?e.version?`${e.name.trim()} · v${e.version}`:e.name.trim():``,xe=({model:e,answeredAt:t,reportingPeriod:n,filters:r=[],rowCount:i})=>{let a=be(e);return w(`div`,{class:`cf-analytics-meta`,"data-testid":`analytics-result-meta`,"aria-label":`Result details`,children:[a?C(`span`,{class:`cf-analytics-meta__model`,children:a}):null,w(`span`,{children:[C(`span`,{"aria-hidden":`true`,class:`cf-analytics-meta__dot`}),R(t)]}),n?.label?C(`span`,{children:n.label}):null,typeof i==`number`?w(`span`,{children:[i,` `,i===1?`row`:`rows`]}):null,r.length>0?w(`span`,{children:[r.length,` applied `,r.length===1?`filter`:`filters`]}):null]})},Se=({label:e,value:t,detail:n})=>w(`section`,{class:`cf-analytics-kpi`,"aria-label":e,"data-testid":`analytics-kpi`,children:[C(`div`,{class:`cf-analytics-kpi__label`,children:e}),C(`div`,{class:`cf-analytics-kpi__value`,children:t}),n?C(`div`,{class:`cf-analytics-kpi__detail`,children:n}):null]}),Ce=({title:e=`No matching data`,description:t=`No approved records matched this question.`})=>w(`section`,{class:`cf-analytics-empty`,role:`status`,"data-testid":`analytics-empty-state`,children:[C(`p`,{children:e}),C(`p`,{children:t})]}),we=({explanation:e,onFollowUp:t,showLead:n=!1,maxFollowUps:r=3})=>w(`section`,{class:`cf-analytics-explanation`,"data-testid":`inline-analytics-explanation`,"aria-label":`Analysis and supporting evidence`,children:[n?w(`div`,{class:`cf-analytics-explanation__lead`,"data-testid":`analytics-explanation-lead`,children:[w(`div`,{class:`cf-analytics-explanation__lead-meta`,children:[C(`span`,{class:`cf-analytics-explanation__eyebrow`,children:`Answer from your data`}),w(`span`,{class:`cf-analytics-explanation__provenance`,children:[C(`span`,{"aria-hidden":`true`,class:`cf-analytics-explanation__provenance-dot`}),e.source===`ai_grounded`?`AI-assisted · evidence checked`:`Based on current values`]})]}),C(`h3`,{class:`cf-analytics-explanation__headline`,children:e.headline}),C(`p`,{class:`cf-analytics-explanation__summary`,children:e.summary})]}):null,w(`div`,{class:`cf-analytics-explanation__body`,children:[(e.evidence?.length??0)>0?w(`section`,{class:`cf-analytics-explanation__section`,children:[C(`h4`,{class:`cf-analytics-explanation__heading`,children:`What the numbers show`}),C(`ul`,{class:`cf-analytics-explanation__evidence`,children:e.evidence?.slice(0,4).map(e=>w(`li`,{class:`cf-analytics-explanation__evidence-item`,children:[C(`span`,{"aria-hidden":`true`,class:`cf-analytics-explanation__evidence-bullet`}),C(`span`,{children:e})]},e))})]}):null,e.businessMeaning?w(`section`,{class:`cf-analytics-explanation__meaning`,children:[C(`h4`,{class:`cf-analytics-explanation__heading`,children:`Why this may matter`}),C(`p`,{class:`cf-analytics-explanation__paragraph`,children:e.businessMeaning})]}):null,(e.possibleDrivers?.length??0)>0?w(`section`,{class:`cf-analytics-explanation__section`,children:[w(`div`,{class:`cf-analytics-explanation__section-heading`,children:[C(`h4`,{class:`cf-analytics-explanation__heading`,children:`Possibilities worth checking`}),C(`span`,{class:`cf-analytics-explanation__hint`,children:`These are not proven causes`})]}),C(`div`,{class:`cf-analytics-explanation__drivers`,children:e.possibleDrivers?.slice(0,2).map(e=>w(`article`,{class:`cf-analytics-explanation__driver`,children:[C(`p`,{class:`cf-analytics-explanation__driver-title`,children:e.hypothesis}),w(`p`,{class:`cf-analytics-explanation__driver-body`,children:[C(`span`,{class:`cf-analytics-explanation__driver-label`,children:`How to check:`}),` `,e.howToCheck]})]},`${e.hypothesis}-${e.howToCheck}`))})]}):null,(e.recommendations?.length??0)>0?w(`section`,{class:`cf-analytics-explanation__section`,children:[C(`h4`,{class:`cf-analytics-explanation__heading`,children:`Useful next steps`}),C(`div`,{class:`cf-analytics-explanation__recommendations`,children:e.recommendations?.slice(0,3).map((e,t)=>w(`article`,{class:`cf-analytics-explanation__recommendation`,children:[C(`span`,{class:`cf-analytics-explanation__recommendation-index`,children:t+1}),w(`div`,{children:[C(`p`,{class:`cf-analytics-explanation__recommendation-title`,children:e.action}),C(`p`,{class:`cf-analytics-explanation__recommendation-body`,children:e.why}),e.successMetric?w(`p`,{class:`cf-analytics-explanation__recommendation-body`,children:[C(`span`,{class:`cf-analytics-explanation__driver-label`,children:`Watch:`}),` `,e.successMetric]}):null]})]},`${e.action}-${e.why}`))})]}):null,e.forecast?w(`section`,{class:`cf-analytics-explanation__outlook`,children:[w(`div`,{class:`cf-analytics-explanation__outlook-header`,children:[C(`h4`,{class:`cf-analytics-explanation__heading`,children:`Outlook`}),C(`span`,{class:`cf-analytics-explanation__outlook-badge`,children:`Validated estimate`})]}),C(`p`,{class:`cf-analytics-explanation__paragraph`,children:e.forecast.text}),e.forecast.limitations?C(`p`,{class:`cf-analytics-explanation__recommendation-body`,children:e.forecast.limitations}):null]}):null,t&&(e.followUps?.length??0)>0?w(`section`,{class:`cf-analytics-explanation__section cf-analytics-explanation__follow-up`,children:[C(`h4`,{class:`cf-analytics-explanation__heading`,children:`Ask a follow-up`}),C(`div`,{class:`cf-analytics-explanation__questions`,children:e.followUps?.slice(0,r).map(e=>C(`button`,{type:`button`,class:`cf-analytics-explanation__question`,onClick:()=>t(e),children:e},e))})]}):null,(e.limitations?.length??0)>0?w(`details`,{class:`cf-analytics-explanation__limits`,children:[C(`summary`,{class:`cf-analytics-explanation__limits-summary`,children:`Important limits`}),C(`ul`,{class:`cf-analytics-explanation__limits-list`,children:e.limitations?.map(e=>C(`li`,{children:e},e))})]}):null]}),C(`p`,{class:`cf-analytics-explanation__source`,children:e.source===`ai_grounded`?`AI-assisted wording, checked against the live values shown here.`:`Based only on the live values shown here.`})]}),Te=()=>{let e=b(null);return v(()=>{let t=requestAnimationFrame(()=>e.current?.scrollIntoView({block:`end`}));return()=>cancelAnimationFrame(t)},[]),e},Ee=e=>e.trim().split(/\s+/).slice(0,2).map(e=>e[0]?.toUpperCase()??``).join(``)||`🤖`,De=e=>{let t=e?.avatarId?.trim().toLowerCase().replace(/[^a-z0-9-]/g,`-`);return t?` cf-avatar-preset--${t}`:``},Oe={"support-guide":`SG`,"sales-host":`SH`,"calm-advisor":`CA`,"technical-guide":`TG`,"school-desk":`SD`,"front-office":`FO`},z=e=>{let t=e?.avatarId?.trim().toLowerCase();return t&&Oe[t]||(e?Ee(e.agentName):`·`)},ke=({persona:e,small:t,hideWhenMissing:n})=>{let r=t?`cf-msg__avatar`:`cf-header__avatar`,i=e?.agentAvatarUrl?.trim();return i?C(`span`,{class:r,children:C(`img`,{src:i,alt:``})}):n?null:C(`span`,{class:`${r}${De(e)}`,children:z(e)})},Ae=()=>{let e=n();return w(`div`,{class:`cf-msg__bubble cf-typing`,"aria-label":e.assistantTyping,children:[C(`span`,{class:`cf-typing__label`,children:`Thinking`}),C(`span`,{class:`cf-typing__dot`}),C(`span`,{class:`cf-typing__dot`}),C(`span`,{class:`cf-typing__dot`})]})},je=({msg:e})=>{if(!e.sources||e.sources.length===0)return null;let t=new Set,n=[];for(let r of e.sources){let e=(r.url||r.title||``).toLowerCase();!e||t.has(e)||(t.add(e),n.push(r))}if(n.length===0)return null;let r=n.slice(0,3),i=n.length-r.length;return w(`div`,{class:`cf-sources`,children:[r.map((e,t)=>e.url?w(`a`,{class:`cf-source`,href:e.url,target:`_blank`,rel:`noopener noreferrer nofollow`,title:e.title||e.url,children:[C(re,{}),C(`span`,{children:e.title||e.url})]},t):w(`span`,{class:`cf-source`,title:e.title,children:[C(re,{}),C(`span`,{children:e.title})]},t)),i>0&&w(`span`,{class:`cf-source cf-source--more`,children:[`+`,i,` more`]})]})},B=({replies:e,onPick:t})=>e&&e.length>0?C(`div`,{class:`cf-chips`,children:e.map((e,n)=>C(`button`,{type:`button`,class:`cf-chip`,onClick:()=>t(e),children:e},n))}):null,Me=({persona:e,starters:t,onPick:n,onFocusComposer:r,speaking:i,voiceState:a=`idle`,replyPending:o=!1,pinned:s=!1,muted:c=!1,onToggleMute:l,onEndCall:u,onTalkNow:d,showTalkNow:f=!1,micLevel:p=0,theaterMode:m=!1,onToggleTheater:h,onMinimize:g,audioDevices:_=[],selectedAudioDeviceId:v=``,onSelectAudioDevice:y,connectingOnly:b=!1})=>{if(!e||!(e.talkbackMode===`avatar`||e.widgetModule===`assistant`||e.allowVoiceInput))return null;let x=e.agentAvatarUrl?.trim()||``,T=e.assistantMediaUrl?.trim()||x,E=e.assistantMediaKind===`video`&&!!T,D=t.slice(0,3),O=a!==`idle`,ee=a===`idle`?`Speak with ${e.agentName}`:`End voice chat`,k=s&&!O&&!i,A=a===`connecting`||a===`processing`||O&&o,j=[`cf-assistant-card__stage`,`cf-assistant-card__stage--local`,O?`is-live`:``,A?`is-thinking`:``,a===`listening`&&!c?`is-listening`:``,i||a===`speaking`?`is-speaking`:``,c?`is-muted`:``].filter(Boolean).join(` `),te=a===`listening`&&!c?{"--cf-listen":String(Math.max(.18,Math.min(1,p*8)))}:void 0,M=A&&w(`span`,{class:`cf-call-ripple`,"aria-hidden":`true`,children:[C(`span`,{}),C(`span`,{}),C(`span`,{})]});if(b)return w(`div`,{class:`cf-assistant-card cf-assistant-card--connecting`,"aria-live":`polite`,children:[w(`div`,{class:`cf-assistant-card__connecting-avatar`,children:[x?C(`img`,{src:x,alt:``}):C(`span`,{class:`cf-assistant-card__connecting-face${De(e)}`,children:z(e)}),M]}),w(`div`,{class:`cf-assistant-card__connecting-copy`,children:[C(`span`,{class:`cf-assistant-card__connecting-eyebrow`,children:e.agentName}),C(`strong`,{children:`Connecting with the AI…`})]})]});let re=O&&u&&C($e,{voiceState:a,muted:c,onToggleMute:l??(()=>{}),onEndCall:u,onTalkNow:d??(()=>{}),showTalkNow:f,micLevel:p,theaterMode:m,onToggleTheater:h??(()=>{}),onMinimize:g??(()=>{}),audioDevices:_,selectedAudioDeviceId:v,onSelectAudioDevice:y??(()=>{})});return k?C(`div`,{class:`cf-assistant-card cf-assistant-card--pinned cf-assistant-card--compact`,children:w(`button`,{type:`button`,class:`cf-assistant-card__compact-speak`,onClick:r,children:[x?C(`span`,{class:`cf-assistant-card__compact-avatar`,children:C(`img`,{src:x,alt:``})}):null,C(`span`,{class:`cf-assistant-card__compact-mic`,"aria-hidden":`true`,children:C(ne,{})}),C(`span`,{class:`cf-assistant-card__compact-label`,children:ee})]})}):w(`div`,{class:`cf-assistant-card ${s?`cf-assistant-card--pinned`:``} ${i?`is-speaking`:``}`,children:[(T||e.allowVoiceInput)&&w(`div`,{class:j,style:te,children:[w(`div`,{class:`cf-assistant-card__media ${T?`cf-assistant-card__media--uploaded`:`cf-assistant-card__media--generated`}${De(e)}`,children:[E?C(`video`,{src:T,muted:!0,loop:!0,playsInline:!0,autoPlay:!0}):T?C(`img`,{src:T,alt:``}):C(`div`,{class:`cf-assistant-card__avatar-stage${De(e)}`,children:w(`div`,{class:`cf-assistant-card__face`,children:[C(`span`,{class:`cf-assistant-card__initials`,children:z(e)}),C(`span`,{class:`cf-assistant-card__eye cf-assistant-card__eye--left`}),C(`span`,{class:`cf-assistant-card__eye cf-assistant-card__eye--right`}),C(`span`,{class:`cf-assistant-card__mouth`})]})}),T&&!E&&C(`span`,{class:`cf-assistant-card__mouth cf-assistant-card__mouth--overlay`}),C(`span`,{class:`cf-avatar-aura cf-avatar-aura--one`,"aria-hidden":`true`}),C(`span`,{class:`cf-avatar-aura cf-avatar-aura--two`,"aria-hidden":`true`}),C(`span`,{class:`cf-avatar-listen-ring`,"aria-hidden":`true`}),w(`span`,{class:`cf-avatar-wave`,"aria-hidden":`true`,children:[C(`span`,{}),C(`span`,{}),C(`span`,{}),C(`span`,{})]})]}),M,e.allowVoiceInput&&(re||w(`button`,{type:`button`,class:`cf-assistant-card__speak`,onClick:r,children:[C(ne,{}),ee]}))]}),!s&&w(S,{children:[e.agentDescription?C(`p`,{class:`cf-assistant-card__copy`,children:e.agentDescription}):C(`p`,{class:`cf-assistant-card__copy`,children:e.greeting}),D.length>0&&C(`div`,{class:`cf-assistant-card__chips`,children:D.map(e=>C(`button`,{type:`button`,class:`cf-assistant-card__chip`,onClick:()=>n(e),children:e},e))}),e.disclaimerText||e.assistantPrivacyUrl?w(`p`,{class:`cf-assistant-card__privacy`,children:[e.disclaimerText||`This chat may be recorded for quality and support.`,e.assistantPrivacyUrl?w(S,{children:[` `,C(`a`,{href:e.assistantPrivacyUrl,target:`_blank`,rel:`noopener noreferrer nofollow`,children:`Privacy Policy`})]}):null]}):null]})]})},V={public_book_demo:{type:`book-demo`,label:`Book a demo`,description:`Pick a time or request a demo from the team.`,Icon:ie},public_submit_inquiry:{type:`inquiry`,label:`Leave a message`,description:`Send your question and contact details.`,Icon:N},public_request_callback:{type:`request-callback`,label:`Request a callback`,description:`Share your phone number and best time to call.`,Icon:ae},public_subscribe_newsletter:{type:`subscribe-newsletter`,label:`Subscribe`,description:`Get product updates and useful announcements.`,Icon:N}},H=({field:e,value:t,onInput:n})=>{let r=e.placeholder??e.label,i={class:`cf-form__input`,placeholder:e.required?`${r} *`:r,value:t,"aria-label":e.label,onInput:e=>n(e.target.value)};return e.kind===`textarea`?C(`textarea`,{rows:2,...i}):C(`input`,{type:e.kind,...i})},Ne=({spec:e,visitor:t,onSubmit:r,onCancel:i})=>{let a=n(),o=Te(),[s,c]=x(()=>{let n={};for(let r of e.fields)r.identity&&t[r.identity]&&(n[r.key]=t[r.identity]);return n}),[l,u]=x(`idle`),[d,f]=x(``),p=e=>!!(e.identity&&t[e.identity]?.trim()),m=e.fields.filter(e=>!p(e)),h=m.every(e=>!e.required||(s[e.key]?.trim()??``)!==``),g=t.email||t.name||``;return l===`done`?w(`div`,{class:`cf-form cf-form--done`,children:[C(F,{}),C(`span`,{children:d})]}):w(`div`,{class:`cf-form`,ref:o,children:[C(`div`,{class:`cf-form__title`,children:e.title}),m.length===0&&g&&w(`div`,{class:`cf-form__as`,children:[`as `,g]}),m.map(e=>C(H,{field:e,value:s[e.key]??``,onInput:t=>c(n=>({...n,[e.key]:t}))},e.key)),l===`error`&&C(`div`,{class:`cf-form__err`,children:a.formError}),w(`div`,{class:`cf-form__actions`,children:[i&&C(`button`,{type:`button`,class:`cf-form__cancel`,onClick:i,children:`Cancel`}),C(`button`,{type:`button`,class:`cf-form__submit`,disabled:!h||l===`submitting`,onClick:async()=>{if(!h||l===`submitting`)return;u(`submitting`);let t={},n={};for(let r of e.fields){let e=s[r.key]?.trim();e&&(t[r.key]=e,r.identity&&(n[r.identity]=e))}try{f((await r(t,n)).note||a.formThanks),u(`done`)}catch{u(`error`)}},children:l===`submitting`?a.sending:e.submit})]})]})},U=e=>String(e).padStart(2,`0`),Pe=()=>{let e=[];for(let t=9;t<=17;t++)e.push(`${U(t)}:00`),e.push(`${U(t)}:30`);return e},Fe=e=>{let t=new Date;return t.setHours(0,0,0,0),Array.from({length:e},(e,n)=>{let r=new Date(t);return r.setDate(t.getDate()+n),r})},Ie=(e,t)=>{let[n,r]=t.split(`:`).map(Number),i=new Date(e.getFullYear(),e.getMonth(),e.getDate(),n??0,r??0);try{return new Intl.DateTimeFormat(void 0,{weekday:`short`,day:`numeric`,month:`short`,year:`numeric`,hour:`2-digit`,minute:`2-digit`,timeZoneName:`short`}).format(i)}catch{return`${e.toDateString()} ${t}`}},W=(e,t)=>{let[n,r]=t.split(`:`).map(Number);return new Date(e.getFullYear(),e.getMonth(),e.getDate(),n??0,r??0)},Le=({visitor:e,onSubmit:t,onCancel:r,onDemoSlots:i,scheduler:a})=>{let o=n(),s=Te(),c=y(()=>Fe(14),[]),l=y(()=>Pe(),[]),[u,d]=x(y(()=>{let e=Date.now();for(let t=0;t<c.length;t++)if(l.some(n=>W(c[t],n).getTime()>e))return t;return 0},[c,l])),[f,p]=x(null),[h,g]=x(e.name??``),[_,b]=x(e.email??``),[T,E]=x(`idle`),[D,O]=x(``),[k,A]=x(``),[j,te]=x(``),ne=a?.connected&&a.mode===`link`,M=async()=>{if(T===`submitting`||!e.name?.trim()&&!h.trim()||!e.email?.trim()&&!_.trim())return;E(`submitting`),A(``);let n={};_.trim()&&(n.email=_.trim()),h.trim()&&(n.name=h.trim());try{let e=await t({..._.trim()?{visitorEmail:_.trim()}:{},...h.trim()?{visitorName:h.trim()}:{}},n),r=e.booking?.schedulingLink||a?.bookingLink||``;if(!r){E(`error`);return}try{window.open(r,`_blank`,`noopener,noreferrer`)}catch{}te(r),O(e.note||o.bookingLinkOpened),E(`done`)}catch{E(`error`)}},[ie,N]=x(new Set),[ae,oe]=x([]),[P,se]=x(0),[ce,le]=x(!1);v(()=>{if(!i)return;let e=!0,t=new Date,n=new Date;return n.setDate(n.getDate()+15),i(t.toISOString(),n.toISOString()).then(t=>{e&&(N(new Set(t.taken.map(e=>Date.parse(e)).filter(e=>!Number.isNaN(e)))),oe(t.busy.map(e=>[Date.parse(e.start),Date.parse(e.end)]).filter(([e,t])=>!Number.isNaN(e)&&!Number.isNaN(t))))}).catch(()=>{}),()=>{e=!1}},[i,P]);let I=!!e.email?.trim(),ue=!!e.name?.trim(),de=!!f&&(ue||h.trim()!==``)&&(I||_.trim()!==``),fe=e.email||e.name||``,pe=e=>ie.has(W(c[u],e).getTime()),me=e=>W(c[u],e).getTime()<=Date.now(),L=e=>{let t=W(c[u],e).getTime(),n=t+18e5;return ae.some(([e,r])=>t<r&&n>e)},he=async()=>{if(!de||T===`submitting`||!f)return;E(`submitting`),le(!1),A(``);let e=W(c[u],f),n=Ie(c[u],f),r={};_.trim()&&(r.email=_.trim()),h.trim()&&(r.name=h.trim());try{let i=await t({preferredAt:n,slotAt:e.toISOString(),..._.trim()?{visitorEmail:_.trim()}:{},...h.trim()?{visitorName:h.trim()}:{}},r);i.booking?.confirmed?(O(i.note||m(o.bookingConfirmed,{when:n})),te(i.booking.meetingUrl||i.booking.eventLink||``)):O(i.note||m(o.bookingRequested,{when:n})),E(`done`)}catch(t){if(t?.status===409)N(t=>new Set(t).add(e.getTime())),p(null),le(!0),se(e=>e+1),E(`idle`);else{let e=t?.message;A(e&&e.length<120?e:``),E(`error`)}}};return T===`done`?w(`div`,{class:`cf-form cf-form--done`,children:[C(F,{}),C(`span`,{children:D}),j&&w(`a`,{class:`cf-booking__link`,href:j,target:`_blank`,rel:`noopener noreferrer`,children:[ne?o.bookingOpenScheduler:o.bookingMeetingLink,` `,C(re,{})]})]}):ne?w(`div`,{class:`cf-form cf-booking`,ref:s,children:[C(`div`,{class:`cf-form__title`,children:ee[`book-demo`].title}),C(`div`,{class:`cf-booking__hint`,children:m(o.bookingViaProvider,{provider:a?.label??`the scheduler`})}),I?fe?w(`div`,{class:`cf-form__as`,children:[`as `,fe]}):null:w(S,{children:[!e.name?.trim()&&C(`input`,{class:`cf-form__input`,type:`text`,placeholder:`${o.handoffName} *`,value:h,"aria-label":o.handoffName,onInput:e=>g(e.target.value)}),C(`input`,{class:`cf-form__input`,type:`email`,placeholder:`${o.handoffEmail} *`,value:_,"aria-label":o.handoffEmail,onInput:e=>b(e.target.value)})]}),T===`error`&&C(`div`,{class:`cf-form__err`,children:k||o.formError}),w(`div`,{class:`cf-form__actions`,children:[r&&C(`button`,{type:`button`,class:`cf-form__cancel`,onClick:r,children:o.cancel}),C(`button`,{type:`button`,class:`cf-form__submit`,disabled:T===`submitting`||!e.name?.trim()&&h.trim()===``||!I&&_.trim()===``,onClick:M,children:T===`submitting`?o.sending:o.bookingOpenScheduler})]})]}):w(`div`,{class:`cf-form cf-booking`,ref:s,children:[C(`div`,{class:`cf-form__title`,children:ee[`book-demo`].title}),w(`div`,{class:`cf-booking__hint`,children:[o.bookingPickTime,` · `,C(`span`,{class:`cf-booking__dur`,children:o.bookingDuration})]}),C(`div`,{class:`cf-booking__dates`,role:`tablist`,"aria-label":`Pick a day`,children:c.map((e,t)=>w(`button`,{type:`button`,role:`tab`,"aria-selected":t===u,class:`cf-booking__date ${t===u?`is-selected`:``}`,onClick:()=>{d(t),p(null)},children:[C(`span`,{class:`cf-booking__dow`,children:e.toLocaleDateString(void 0,{weekday:`short`})}),C(`span`,{class:`cf-booking__dom`,children:e.getDate()})]},t))}),C(`div`,{class:`cf-booking__slots`,role:`listbox`,"aria-label":`Pick a time`,children:l.map(e=>{let t=me(e),n=L(e),r=pe(e),i=r||t||n;return C(`button`,{type:`button`,role:`option`,"aria-selected":f===e,disabled:i,title:t?`Earlier today`:n?`Busy on the calendar`:r?`Already booked`:void 0,class:`cf-booking__slot ${f===e?`is-selected`:``} ${i?`is-taken`:``}`,onClick:()=>p(e),children:e},e)})}),ce&&C(`div`,{class:`cf-form__err`,children:o.bookingSlotTaken}),fe?w(`div`,{class:`cf-form__as`,children:[`as `,fe]}):null,!ue&&C(`input`,{class:`cf-form__input`,type:`text`,placeholder:`${o.handoffName} *`,value:h,"aria-label":o.handoffName,onInput:e=>g(e.target.value)}),!I&&C(S,{children:C(`input`,{class:`cf-form__input`,type:`email`,placeholder:`${o.handoffEmail} *`,value:_,"aria-label":o.handoffEmail,onInput:e=>b(e.target.value)})}),T===`error`&&C(`div`,{class:`cf-form__err`,children:k||o.formError}),w(`div`,{class:`cf-form__actions`,children:[r&&C(`button`,{type:`button`,class:`cf-form__cancel`,onClick:r,children:o.cancel}),C(`button`,{type:`button`,class:`cf-form__submit`,disabled:!de||T===`submitting`,onClick:he,children:T===`submitting`?o.sending:ee[`book-demo`].submit})]})]})},Re=({actions:e,visitor:t,onSubmitForm:n,onDemoSlots:r,scheduler:i,exclude:a=[]})=>{let[o,s]=x(null),[c,l]=x(!1),u=(e??[]).map(e=>V[e]).filter(e=>!!e&&!a.includes(e.type));if(u.length===0)return null;let d=()=>{s(null),l(!1)},f=()=>s(null);if(o===`book-demo`)return w(`div`,{class:`cf-action-drawer is-open`,role:`dialog`,"aria-label":`Book a demo`,children:[C(`div`,{class:`cf-action-drawer__handle`,"aria-hidden":`true`}),w(`div`,{class:`cf-action-drawer__head`,children:[w(`div`,{children:[C(`span`,{class:`cf-action-drawer__eyebrow`,children:`Contact options`}),C(`strong`,{children:`Book a demo`})]}),C(`button`,{type:`button`,class:`cf-action-drawer__close`,onClick:f,children:C(P,{})})]}),C(Le,{visitor:t,onCancel:f,onSubmit:(e,t)=>n(`book-demo`,e,t),onDemoSlots:r,scheduler:i})]});if(o){let e=u.find(e=>e.type===o);return w(`div`,{class:`cf-action-drawer is-open`,role:`dialog`,"aria-label":e?.label??`Contact`,children:[C(`div`,{class:`cf-action-drawer__handle`,"aria-hidden":`true`}),w(`div`,{class:`cf-action-drawer__head`,children:[w(`div`,{children:[C(`span`,{class:`cf-action-drawer__eyebrow`,children:`Contact options`}),C(`strong`,{children:e?.label??ee[o].title})]}),C(`button`,{type:`button`,class:`cf-action-drawer__close`,onClick:f,children:C(P,{})})]}),C(Ne,{spec:ee[o],visitor:t,onCancel:f,onSubmit:(e,t)=>n(o,e,t)})]})}return c?w(`div`,{class:`cf-action-drawer cf-action-drawer--menu`,children:[C(`div`,{class:`cf-action-drawer__handle`,"aria-hidden":`true`}),w(`div`,{class:`cf-action-drawer__head`,children:[w(`div`,{children:[C(`span`,{class:`cf-action-drawer__eyebrow`,children:`Need help?`}),C(`strong`,{children:`Choose what you want to do`})]}),C(`button`,{type:`button`,class:`cf-action-drawer__close`,onClick:d,children:C(P,{})})]}),C(`div`,{class:`cf-action-drawer__grid`,children:u.map(({type:e,label:t,description:n,Icon:r})=>w(`button`,{type:`button`,class:`cf-action-card`,onClick:()=>s(e),children:[C(`span`,{class:`cf-action-card__icon`,children:C(r,{})}),w(`span`,{class:`cf-action-card__copy`,children:[C(`strong`,{children:t}),C(`small`,{children:n})]}),C(j,{})]},e))}),C(`p`,{class:`cf-action-drawer__note`,children:`We’ll ask for your full name and the best email or phone so the team can reach you.`})]}):w(`button`,{type:`button`,class:`cf-action-trigger`,onClick:()=>l(!0),children:[C(`span`,{class:`cf-action-trigger__icon`,children:C(N,{})}),w(`span`,{class:`cf-action-trigger__copy`,children:[C(`strong`,{children:`Contact options`}),C(`small`,{children:`Demo, message, callback`})]}),C(j,{})]})},ze=({hasEmail:e,visitor:t,question:r,onSubmitForm:i})=>{let a=n(),[o,s]=x(!1),[c,l]=x(!1),[u,d]=x(t.name??``),[f,p]=x(t.email??``);if(e)return w(`div`,{class:`cf-handoff cf-handoff--done`,children:[C(F,{}),C(`span`,{children:`We’ve alerted the team. If someone is available, they can continue here.`})]});if(o){let e=t.email||f;return w(`div`,{class:`cf-handoff cf-handoff--done`,children:[C(F,{}),C(`span`,{children:m(a.handoffShared,{email:e})})]})}let h=async()=>{if(!(!f.trim()||c)){l(!0);try{await i(`inquiry`,{visitorEmail:f.trim(),...u.trim()?{visitorName:u.trim()}:{},message:r||`I had a question the assistant couldn’t answer.`,subject:`Help request from chat`},{email:f.trim(),name:u.trim()||void 0}),s(!0)}catch{l(!1)}}};return w(`div`,{class:`cf-handoff`,children:[C(`div`,{class:`cf-handoff__title`,children:a.handoffTitle}),C(`input`,{class:`cf-form__input`,type:`text`,placeholder:a.handoffName,value:u,"aria-label":a.handoffName,onInput:e=>d(e.target.value)}),C(`input`,{class:`cf-form__input`,type:`email`,placeholder:`${a.handoffEmail} *`,value:f,"aria-label":a.handoffEmail,onInput:e=>p(e.target.value)}),C(`button`,{type:`button`,class:`cf-form__submit`,disabled:!f.trim()||c,onClick:h,children:c?a.sending:a.handoffNotify})]})},Be=({text:e})=>{let t=n(),[r,i]=x(!1);return w(`button`,{type:`button`,class:`cf-tool`,onClick:async()=>{try{await navigator.clipboard.writeText(e),i(!0),setTimeout(()=>i(!1),1500)}catch{}},"aria-label":t.copy,children:[C(r?F:le,{}),r?t.copied:t.copy]})},Ve=({items:e,onPick:t})=>e.length===0?null:C(`div`,{class:`cf-starters`,children:e.map((e,n)=>C(`button`,{type:`button`,class:`cf-starter`,onClick:()=>t(e),children:e},n))}),He=({items:e})=>{let t=e.filter(e=>e.label.trim()&&e.url.trim()).slice(0,4);return t.length===0?null:C(`div`,{class:`cf-featured-links`,children:t.map((e,t)=>w(`a`,{class:`cf-featured-link`,href:e.url,target:`_blank`,rel:`noopener noreferrer nofollow`,title:e.label,children:[C(re,{}),C(`span`,{children:e.label})]},`${e.url}-${t}`))})},Ue=({msg:e,onRate:t})=>{let r=n(),[i,a]=x(!1),[o,s]=x(``),c=e.feedback,l=()=>{t(e.id,`up`),a(!1)},u=()=>{t(e.id,`down`),a(!0)},d=()=>{t(e.id,`down`,o.trim()),a(!1)};return w(`div`,{class:`cf-feedback`,children:[w(`div`,{class:`cf-feedback__row`,children:[C(`button`,{type:`button`,class:`cf-feedback__btn ${c===`up`?`is-active`:``}`,"aria-label":r.feedbackHelpful,"aria-pressed":c===`up`,onClick:l,children:C(me,{})}),C(`button`,{type:`button`,class:`cf-feedback__btn ${c===`down`?`is-active`:``}`,"aria-label":r.feedbackNotHelpful,"aria-pressed":c===`down`,onClick:u,children:C(L,{})}),c&&!i&&C(`span`,{class:`cf-feedback__thanks`,children:r.feedbackThanks})]}),i&&c===`down`&&w(`div`,{class:`cf-feedback__comment`,children:[C(`textarea`,{class:`cf-feedback__input`,rows:2,placeholder:r.feedbackCommentPlaceholder,value:o,onInput:e=>s(e.target.value)}),C(`button`,{type:`button`,class:`cf-feedback__send`,onClick:d,children:r.feedbackSend})]})]})},We=({msg:e,persona:r,isLast:i,visitor:a,hasEmail:o,lastQuestion:s,showActions:c,onPickReply:l,onSubmitForm:u,onDemoSlots:d,onRetry:f,ratable:p,onRate:m,onExpandVisualization:h})=>{let g=n(),_=e.role===`user`,v=e.role===`system`,y=e.requestedContactFields?.includes(`email`)===!0,b=i&&!_&&!v&&!!(e.handoffOffered||y),x=b&&!o?[`inquiry`]:[],T=!e.pending&&!e.streaming;return v?C(`div`,{class:`cf-msg cf-msg--system`,children:w(`div`,{class:`cf-system-event`,children:[C(`div`,{class:`cf-system-event__mark`,children:C(ke,{persona:r,small:!0})}),C(`div`,{class:`cf-system-event__text`,children:e.content}),e.createdAt&&C(`div`,{class:`cf-system-event__time`,children:new Date(e.createdAt).toLocaleString(void 0,{day:`2-digit`,month:`short`,year:`numeric`,hour:`numeric`,minute:`2-digit`})})]})}):w(`div`,{class:`cf-msg cf-msg--${_?`user`:`agent`}`,children:[!_&&C(ke,{persona:r,small:!0}),w(`div`,{class:`cf-msg__col`,children:[e.pending&&e.content===``?C(Ae,{}):e.imageUrl?w(`div`,{class:`cf-msg__bubble cf-msg__bubble--media`,children:[C(`img`,{class:`cf-msg__media`,src:e.imageUrl,alt:`GIF`}),e.content&&C(`span`,{class:`cf-msg__caption`,children:e.content})]}):w(`div`,{class:`cf-msg__bubble`,children:[_?e.content:t(e.content),e.streaming&&C(`span`,{class:`cf-caret`,"aria-hidden":`true`})]}),!_&&e.visualization?C(Ge,{visualization:e.visualization,onExpand:h?()=>h(e.id):void 0,expandControlId:e.id}):null,!_&&e.visualization?.explanation?C(we,{explanation:e.visualization.explanation,onFollowUp:l,showLead:!e.content.toLocaleLowerCase().includes(e.visualization.explanation.headline.toLocaleLowerCase())}):null,_&&e.attachmentName&&w(`div`,{class:`cf-attach-chip`,title:e.attachmentName,children:[C(de,{}),C(`span`,{children:e.attachmentName})]}),!_&&w(S,{children:[T&&(e.error||e.content)&&C(`div`,{class:`cf-msg__tools`,children:e.error?w(`button`,{type:`button`,class:`cf-tool`,onClick:()=>f(e.id,e.retryText??``),children:[C(I,{}),g.retry]}):C(Be,{text:e.content})}),T&&p&&!e.error&&e.content&&C(Ue,{msg:e,onRate:m}),C(je,{msg:e}),i&&C(B,{replies:e.suggestedReplies,onPick:l}),b&&C(ze,{hasEmail:o,visitor:a,question:s,onSubmitForm:u}),c&&C(Re,{actions:e.availableActions,visitor:a,onSubmitForm:u,onDemoSlots:d,scheduler:r?.scheduler,exclude:x})]})]})]})},Ge=({visualization:e,expanded:t=!1,onExpand:n,onClose:r,expandControlId:a})=>{let o=y(()=>f(e),[e]),s=e.rows??[],u=e.columns??[];if(s.length===0)return C(Ce,{});let d=C(xe,{model:e.model,answeredAt:e.freshness?.answeredAt,reportingPeriod:e.reportingPeriod,filters:e.appliedFilters,rowCount:e.rowCount??s.length});if(e.presentation===`table`||!e.presentation&&e.type===`table`)return!e.tableAvailable||u.length===0?null:w(`div`,{class:`cf-analytics-visualization${t?` is-expanded`:``}`,children:[w(`div`,{class:`cf-analytics-visualization__header`,children:[w(`div`,{children:[C(`div`,{class:`cf-analytics-visualization__title`,children:e.title?.trim()||`Result details`}),d]}),w(`div`,{class:`cf-analytics-visualization__actions`,children:[e.downloadAvailable?C(`button`,{type:`button`,class:`cf-analytics-visualization__download`,onClick:()=>Ke(u,s),children:`Download`}):null,t&&r?C(`button`,{type:`button`,class:`cf-analytics-visualization__close`,"aria-label":`Restore assistant view`,onClick:r,children:C(P,{})}):n&&e.expandable!==!1?C(`button`,{type:`button`,class:`cf-analytics-visualization__expand`,"aria-label":`Expand table`,"data-visualization-message":a,onClick:n,children:C(he,{})}):null]})]}),C(c,{rows:s,columns:u,maxRows:5,expanded:t,classNames:{wrap:`cf-analytics-table-wrap`,table:`cf-analytics-table`,note:`cf-analytics-table-note`}})]});let p=e.chartRecommendation?.valueFields?.[0]??e.valueFields?.[0]??e.value??u[1];if(e.presentation===`kpi`||!e.presentation&&e.type===`kpi`){let n=s[0]?.[p??u[0]??``],i=typeof n==`number`?n:Number(n),a=e.columnMetadata?.find(e=>e.key===p),o=Number.isFinite(i)?l(i,a,e):String(n??`No value`);return w(`div`,{class:`cf-analytics-visualization${t?` is-expanded`:``}`,children:[w(`div`,{class:`cf-analytics-visualization__header`,children:[w(`div`,{children:[C(`div`,{class:`cf-analytics-visualization__title`,children:`Live metric`}),d]}),t&&r?C(`button`,{type:`button`,class:`cf-analytics-visualization__close`,"aria-label":`Restore assistant view`,onClick:r,children:C(P,{})}):null]}),C(Se,{label:a?.label??p??`Current value`,value:o,detail:e.explanation?.summary})]})}return o?w(`div`,{class:`cf-analytics-visualization${t?` is-expanded`:``}`,children:[w(`div`,{class:`cf-analytics-visualization__header`,children:[w(`div`,{children:[C(`div`,{class:`cf-analytics-visualization__title`,children:o.title}),d]}),t&&r?C(`button`,{type:`button`,class:`cf-analytics-visualization__close`,"aria-label":`Restore assistant view`,onClick:r,children:C(P,{})}):n&&e.expandable!==!1?C(`button`,{type:`button`,class:`cf-analytics-visualization__expand`,"aria-label":`Expand chart`,"data-visualization-message":a,onClick:n,children:C(he,{})}):null]}),C(i,{model:o,expanded:t}),C(`p`,{class:`cf-analytics-chart__summary`,children:o.summary}),e.downloadAvailable?C(`button`,{type:`button`,class:`cf-analytics-visualization__download`,onClick:()=>Ke(u,s),children:`Download this data`}):null]}):null},Ke=(e,t)=>{if(typeof document>`u`||e.length===0)return;let n=r(t,e),i=URL.createObjectURL(new Blob([n],{type:`text/csv;charset=utf-8`})),a=document.createElement(`a`);a.href=i,a.download=`analytics-result.csv`,a.click(),URL.revokeObjectURL(i)},qe=e=>new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result).split(`,`)[1]??``),r.onerror=n,r.readAsDataURL(e)}),Je=({onPick:e})=>C(`div`,{class:`cf-picker cf-emoji`,children:O.map(t=>w(`div`,{class:`cf-emoji__group`,children:[C(`div`,{class:`cf-emoji__label`,children:t.name}),C(`div`,{class:`cf-emoji__grid`,children:t.emojis.map((t,n)=>C(`button`,{type:`button`,class:`cf-emoji__btn`,onClick:()=>e(t),"aria-label":t,children:t},n))})]},t.name))}),Ye=({onSearch:e,onPick:t})=>{let r=n(),[i,a]=x(``),[o,s]=x([]),[c,l]=x(!0);return v(()=>{let t=!0;l(!0);let n=setTimeout(()=>{e(i).then(e=>t&&(s(e),l(!1))).catch(()=>t&&(s([]),l(!1)))},300);return()=>{t=!1,clearTimeout(n)}},[i,e]),w(`div`,{class:`cf-picker cf-gif`,children:[C(`input`,{class:`cf-gif__search`,placeholder:r.searchGifs,value:i,"aria-label":r.searchGifs,onInput:e=>a(e.target.value)}),C(`div`,{class:`cf-gif__grid`,children:c?C(`div`,{class:`cf-gif__hint`,children:r.searchingGifs}):o.length===0?C(`div`,{class:`cf-gif__hint`,children:r.noGifs}):o.map(e=>C(`button`,{type:`button`,class:`cf-gif__item`,onClick:()=>t(e.url),"aria-label":e.alt,children:C(`img`,{src:e.preview,alt:e.alt,loading:`lazy`})},e.id))}),C(`div`,{class:`cf-gif__powered`,children:`via Tenor`})]})},Xe=e=>{switch(e){case`connecting`:return`Connecting with AI…`;case`listening`:return`Listening now — go ahead.`;case`speaking`:return`AI is speaking — talk to interrupt.`;case`processing`:return`Understanding what you said…`;case`noise`:return`I couldn't hear clear words. Try again closer to the mic.`;case`misunderstood`:return`I didn't understand that. Please try again.`;case`denied`:return`Microphone access is blocked. Allow the mic or type your question.`;case`muted`:return`Muted — tap the mic to unmute.`;case`timeout`:return`Didn't hear anything for a while — ending the call.`;default:return``}},Ze=({muted:e,listening:t,micLevel:n,onToggleMute:r})=>C(`button`,{type:`button`,class:`cf-call-btn ${e?`is-muted`:``} ${t?`is-listening`:``} ${t&&n>=.004?`is-hot`:``}`,"aria-label":e?`Unmute microphone`:`Mute microphone`,"aria-pressed":e,onClick:r,style:t?{"--cf-wave":String(Math.max(.2,Math.min(1,n*6)))}:void 0,children:C(e?M:ne,{})}),Qe=({audioDevices:e,selectedAudioDeviceId:t,onSelectAudioDevice:n})=>{let[r,i]=x(!1),a=b(null);v(()=>{if(!r)return;let e=e=>{a.current&&!e.composedPath().includes(a.current)&&i(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[r]);let o=[{deviceId:``,label:`Default microphone`},...e];return w(`div`,{class:`cf-call-more`,ref:a,children:[C(`button`,{type:`button`,class:`cf-call-btn cf-call-btn--microphones`,"aria-label":`Choose microphone`,"aria-expanded":r,onClick:()=>i(e=>!e),children:C(j,{})}),r&&w(`div`,{class:`cf-call-menu`,role:`menu`,children:[C(`div`,{class:`cf-call-menu__label`,children:`Microphone`}),o.map(e=>w(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":e.deviceId===t,class:`cf-call-menu__item ${e.deviceId===t?`is-active`:``}`,onClick:()=>{n(e.deviceId),i(!1)},children:[e.deviceId===t?C(F,{}):C(`span`,{class:`cf-call-menu__spacer`}),C(`span`,{children:e.label})]},e.deviceId))]})]})},$e=({voiceState:e,muted:t,onToggleMute:n,onEndCall:r,onTalkNow:i,showTalkNow:a,micLevel:o,theaterMode:s,onToggleTheater:c,onMinimize:l,audioDevices:u,selectedAudioDeviceId:d,onSelectAudioDevice:f})=>w(`div`,{class:`cf-call-controls`,children:[C(Ze,{muted:t,listening:e===`listening`&&!t,micLevel:o,onToggleMute:n}),C(Qe,{audioDevices:u,selectedAudioDeviceId:d,onSelectAudioDevice:f}),a&&C(`button`,{type:`button`,class:`cf-call-btn cf-call-btn--talk`,"aria-label":`Talk now`,onClick:i,children:C(ne,{})}),C(`button`,{type:`button`,class:`cf-call-btn`,"aria-label":s?`Exit expanded view`:`Expand view`,"aria-pressed":s,onClick:c,children:C(s?ge:he,{})}),C(`button`,{type:`button`,class:`cf-call-btn`,"aria-label":`Minimize voice chat`,onClick:l,children:C(_e,{})}),C(`button`,{type:`button`,class:`cf-call-btn cf-call-btn--end`,"aria-label":`End voice chat`,onClick:r,children:C(fe,{})})]}),et=({persona:e,voiceState:t,muted:n,onToggleMute:r,onEndCall:i,micLevel:a,onExpand:o})=>{let s=e=>e.stopPropagation(),c=e?.assistantMediaUrl?.trim()||e?.agentAvatarUrl?.trim()||``,l=e?.assistantMediaKind===`video`&&!!c,u=e?.agentName||`Assistant`;return w(`div`,{class:[`cf-floating-call-card`,t===`listening`&&!n?`is-listening`:``,t===`speaking`?`is-speaking`:``,t===`processing`||t===`connecting`?`is-thinking`:``,n?`is-muted`:``].filter(Boolean).join(` `),style:t===`listening`&&!n?{"--cf-listen":String(Math.max(.18,Math.min(1,a*8)))}:void 0,role:`button`,tabIndex:0,"aria-label":`Reopen voice chat with ${u}`,onClick:o,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o())},children:[C(`div`,{class:`cf-floating-call-card__media`,"aria-hidden":`true`,children:c?l?C(`video`,{src:c,muted:!0,loop:!0,playsInline:!0,autoPlay:!0}):C(`img`,{src:c,alt:``}):w(`div`,{class:`cf-floating-call-card__avatar${De(e)}`,children:[C(`span`,{children:z(e)}),C(`span`,{class:`cf-floating-call-card__eye cf-floating-call-card__eye--left`}),C(`span`,{class:`cf-floating-call-card__eye cf-floating-call-card__eye--right`}),C(`span`,{class:`cf-floating-call-card__mouth`})]})}),C(`div`,{class:`cf-floating-call-card__shade`,"aria-hidden":`true`}),w(`div`,{class:`cf-floating-call-card__controls`,onClick:s,onKeyDown:s,role:`presentation`,children:[C(Ze,{muted:n,listening:t===`listening`&&!n,micLevel:a,onToggleMute:r}),C(`button`,{type:`button`,class:`cf-call-btn cf-call-btn--restore`,"aria-label":`Restore voice chat`,onClick:e=>{s(e),o()},children:C(ve,{})}),C(`button`,{type:`button`,class:`cf-call-btn cf-call-btn--end`,"aria-label":`End voice chat`,onClick:e=>{s(e),i()},children:C(fe,{})})]})]})},tt=({onSend:e,onSendGif:t,onTyping:r,disabled:i,allowVoice:a,onTranscribe:o,gifEnabled:s,onSearchGifs:c,allowAttach:l,onExtract:u,voiceStartSignal:d=0,onVoiceStateChange:f})=>{let p=n(),[m,h]=x(``),[g,_]=x(!1),[y,T]=x(!1),[O,ee]=x(`idle`),[k,A]=x(`none`),[j,M]=x(null),[re,ie]=x(!1),[N,ae]=x(``),se=b(null),ce=b(null),F=b(null),le=b(null),I=b([]),ue=b(void 0),fe=b(null),pe=b(void 0),me=b(0),L=e=>{ee(e),f?.(e)},he=()=>{ue.current&&window.clearTimeout(ue.current),ue.current=void 0,pe.current&&cancelAnimationFrame(pe.current),pe.current=void 0,fe.current?.close().catch(()=>void 0),fe.current=null};v(()=>{let e=se.current;e&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,110)}px`)},[m]),v(()=>{if(k===`none`)return;let e=e=>{ce.current&&!e.composedPath().includes(ce.current)&&A(`none`)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[k]);let ge=e=>A(t=>t===e?`none`:e),_e=e=>{let t=se.current;if(!t){h(t=>t+e);return}let n=t.selectionStart??m.length,r=t.selectionEnd??m.length;h(m.slice(0,n)+e+m.slice(r)),requestAnimationFrame(()=>{t.focus();let r=n+e.length;t.setSelectionRange(r,r)})},ve=e=>{A(`none`),t(e)},ye=async e=>{let t=e.target,n=t.files?.[0];if(t.value=``,n){if(ae(``),n.size>8388608){ae(p.attachTooLarge);return}ie(!0);try{let e=await u(await qe(n),n.type||`application/octet-stream`,n.name);if(!e){ae(p.attachFailed);return}M({name:n.name,text:e})}catch{ae(p.attachFailed)}finally{ie(!1)}}},R=(!!m.trim()||!!j)&&!i&&!re&&!y,be=()=>{R&&(e(m,j?{attachmentName:j.name,attachmentText:j.text}:void 0),r?.(!1),h(``),M(null),ae(``))},xe=t=>{let n=t.trim();if(!n||i){L(`misunderstood`),window.setTimeout(()=>L(`idle`),2500);return}let a=m.trim();e(a?`${a} ${n}`:n),r?.(!1),h(``),M(null),ae(``),L(`idle`)},Se=e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),be()):e.key===`Escape`&&k!==`none`&&(e.preventDefault(),e.stopPropagation(),A(`none`))},Ce=async()=>{if(g){D(le.current);return}try{L(`connecting`);let e=await navigator.mediaDevices.getUserMedia({audio:!0}),t=E(e);I.current=[],me.current=0;try{let t=window.AudioContext??window.webkitAudioContext;if(t){let n=new t;fe.current=n;let r=n.createMediaStreamSource(e),i=n.createAnalyser();i.fftSize=512,r.connect(i);let a=new Uint8Array(i.frequencyBinCount),o=()=>{i.getByteTimeDomainData(a);let e=0;for(let t of a){let n=(t-128)/128;e+=n*n}me.current=Math.max(me.current,Math.sqrt(e/a.length)),pe.current=requestAnimationFrame(o)};o()}}catch{}t.ondataavailable=e=>e.data.size>0&&I.current.push(e.data),t.onstop=async()=>{he(),e.getTracks().forEach(e=>e.stop()),_(!1);let n=new Blob(I.current,{type:t.mimeType||`audio/webm`});if(n.size===0||n.size<900||me.current<.006){L(`noise`),window.setTimeout(()=>L(`idle`),3200);return}T(!0),L(`processing`);try{let e=await qe(n);if(!e.trim()){L(`noise`),window.setTimeout(()=>L(`idle`),3200);return}let t=typeof navigator<`u`&&(navigator.languages?.[0]||navigator.language)||void 0;xe(await o(e,n.type,t))}catch{L(`misunderstood`),window.setTimeout(()=>L(`idle`),3e3)}finally{T(!1)}},le.current=t,t.start(250),_(!0),L(`listening`),ue.current=window.setTimeout(()=>{D(le.current)},12e3)}catch{L(`denied`),window.setTimeout(()=>L(`idle`),3500)}};return v(()=>{!d||!a||i||g||y||Ce()},[d]),v(()=>()=>he(),[]),w(`div`,{class:`cf-composer`,ref:ce,children:[k===`emoji`&&C(Je,{onPick:_e}),k===`gif`&&C(Ye,{onSearch:c,onPick:ve}),(j||re||N)&&C(`div`,{class:`cf-attach-row`,children:re?C(`span`,{class:`cf-attach-status`,children:p.attaching}):N?C(`span`,{class:`cf-attach-status cf-attach-status--err`,children:N}):j&&w(`span`,{class:`cf-attach-chip`,title:j.name,children:[C(de,{}),C(`span`,{children:j.name}),C(`button`,{type:`button`,class:`cf-attach-x`,"aria-label":`Remove attachment`,onClick:()=>M(null),children:C(P,{})})]})}),O!==`idle`&&w(`div`,{class:`cf-voice-state`,"aria-live":`polite`,children:[C(`span`,{class:`cf-voice-state__dot ${g?`is-live`:``}`}),Xe(O)]}),w(`div`,{class:`cf-composer__field`,children:[C(`button`,{type:`button`,class:`cf-iconbtn ${k===`emoji`?`is-active`:``}`,"aria-label":p.emoji,"aria-pressed":k===`emoji`,onClick:()=>ge(`emoji`),children:C(k===`emoji`?P:oe,{})}),s&&C(`button`,{type:`button`,class:`cf-iconbtn cf-gifbtn ${k===`gif`?`is-active`:``}`,"aria-label":p.gifs,"aria-pressed":k===`gif`,onClick:()=>ge(`gif`),children:C(`span`,{class:`cf-gif-label`,children:`GIF`})}),l&&w(S,{children:[C(`input`,{ref:F,type:`file`,class:`cf-file-input`,accept:`image/png,image/jpeg,image/webp,image/gif,application/pdf`,onChange:ye,tabIndex:-1,"aria-hidden":`true`}),C(`button`,{type:`button`,class:`cf-iconbtn`,"aria-label":p.attachFile,disabled:re,onClick:()=>F.current?.click(),children:C(de,{})})]}),C(`textarea`,{ref:se,class:`cf-textarea`,rows:1,placeholder:p.composerPlaceholder,value:m,"aria-label":p.composerPlaceholder,disabled:i,onInput:e=>{let t=e.target.value;h(t),r?.(!!t.trim())},onKeyDown:Se}),a&&C(`button`,{type:`button`,class:`cf-iconbtn cf-mic ${g?`is-recording`:``}`,"aria-label":g?p.stopRecording:p.recordVoice,"aria-pressed":g,disabled:y||i,onClick:Ce,children:C(ne,{})}),C(`button`,{type:`button`,class:`cf-send`,"aria-label":p.send,disabled:!R,onClick:be,children:C(te,{})})]})]})},nt=({name:e,greeting:t})=>w(`section`,{class:`cf-empty-welcome`,"aria-label":`${e} welcome`,children:[C(`span`,{class:`cf-empty-welcome__eyebrow`,children:`Ready when you are`}),C(`h2`,{children:e}),t?C(`p`,{children:t}):C(`p`,{children:`Ask a question, leave a message, or book a demo.`})]}),rt=e=>{let[t,n]=x(`light`);return v(()=>{if(e!==`auto`||typeof matchMedia>`u`)return;let t=matchMedia(`(prefers-color-scheme: dark)`),r=()=>n(t.matches?`dark`:`light`);return r(),t.addEventListener(`change`,r),()=>t.removeEventListener(`change`,r)},[e]),e===`auto`?t:e},it=1e4,at=.0022,ot=1600,st=6e4,ct=e=>e.replace(/\[[^\]]{0,60}\]/g,` `).replace(/\(([^)]{0,60})\)/g,(e,t)=>lt.has(t.trim().toLowerCase().replace(/[.!?,…]+$/,``).replace(/\s+/g,` `))?` `:e).replace(/\*[^*]{0,60}\*/g,` `).replace(/\s+/g,` `).trim(),lt=new Set(`background noise.engine noise.noise.inaudible.unintelligible.silence.no speech.static.music.laughter.applause.wind.breathing.click.clicks.clicking.mouse click.mouse clicks.beep.beeps.beeping.tap.taps.tapping.typing.keyboard typing.cough.coughing.sigh.hmm.mm.mmm.uh.um.ah.oh`.split(`.`)),ut=e=>{let t=e.trim().toLowerCase().replace(/[()[\]*]/g,` `).replace(/[.!?,…]+$/,``).replace(/\s+/g,` `).trim();return!t||/^(?:sh+\s*)+$/.test(t)?!0:lt.has(t)},dt=e=>{let t=e.trim().toLowerCase().replace(/\s+/g,` `);return t?t.includes(`transcribe this audio recording verbatim`)||t.includes(`preserve the spoken language and any code-switching`)||t.includes(`output only the transcribed text, no commentary`):!1},ft={end:`end the call`,mute:`mute your microphone`,minimize:`minimize the chat`,expand:`expand the view`,shrink:`exit the expanded view`},pt=e=>e.trim().toLowerCase().replace(/[^\p{L}\p{N}\s']/gu,` `).replace(/\s+/g,` `).trim(),mt=[{action:`shrink`,re:/\b(?:exit|leave|quit|close)\b[\s\w]*\b(?:full ?screen|expanded|theat(?:er|re))\b|\bshrink\b|\bsmaller view\b/},{action:`end`,re:/\b(?:end|close|stop|finish|hang ?up|quit|exit)\b[\s\w]*\b(?:call|chat|conversation|convo|session|talking)\b|\bhang ?up\b|\bgood ?bye\b|^bye(?: bye)?$/},{action:`mute`,re:/\bmute\b|\bstop listening\b/},{action:`minimize`,re:/\bminimi[sz]e\b|\bhide\b[\s\w]*\b(?:chat|call|window|widget)\b/},{action:`expand`,re:/\bexpand\b|\bmaximi[sz]e\b|\bfull ?screen\b|\btheat(?:er|re) mode\b|\bbigger view\b/}],ht=/^(?:yes|yeah|yep|yup|sure|correct|confirm|affirmative|go ahead|do it|please do|ok(?:ay)?)\b/,gt=/^(?:no|nope|nah|cancel|never ?mind|don'?t|stop)\b/,_t=/^(?:end|close|stop|finish|hang ?up|quit|exit|bye|good ?bye)\b/,vt=e=>{let t=pt(e);if(!t)return null;for(let{action:e,re:n}of mt)if(n.test(t)){let n=t.split(` `).length;return{action:e,confident:e===`end`?n<=10:n<=6}}return null},yt=e=>`I didn't catch yes or no. Say yes to ${ft[e]}, or no to keep talking.`,bt=e=>`I caught some audio, but not enough clear words. Try again a little closer to the mic, or type your question for ${e?.agentName?.trim()||`the assistant`}.`,xt=e=>{let t=pt(e).replace(/\b(?:um|uh|erm|hmm)\b/g,``).trim();return!t||t.split(/\s+/).length<=2&&/^(?:can|could|would|will|do|does|is|are|what|why|how|where|when)\b/.test(t)?!0:/\b(?:can you|could you|would you|will you|do you|can i|could i|would i|i want to|i need to|tell me about|what about|how about|about|with|to|for|please)$/i.test(t)},St=e=>new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result??``).split(`,`)[1]??``),r.onerror=()=>n(r.error),r.readAsDataURL(e)}),Ct=(e,t)=>{let n=window.AudioContext??window.webkitAudioContext;if(!n)return null;let r,i=!1,a=new n;try{let n=a.createMediaStreamSource(e),o=a.createAnalyser();o.fftSize=512,n.connect(o);let s=new Uint8Array(o.frequencyBinCount),c=()=>{if(i)return;o.getByteTimeDomainData(s);let e=0;for(let t of s){let n=(t-128)/128;e+=n*n}t(Math.sqrt(e/s.length),performance.now()),i||(r=requestAnimationFrame(c))};c()}catch{return a.close().catch(()=>void 0),null}return{stop:()=>{i||(i=!0,r!==void 0&&cancelAnimationFrame(r),r=void 0,a.close().catch(()=>void 0))}}},wt=e=>({...e?{deviceId:{exact:e}}:{},echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}),Tt=({transport:e,config:t,bindControls:n})=>{let r=t.strings,[i,a]=x(t.openByDefault),{persona:o,messages:c,sending:l,assistantSpeaking:f,visitor:m,hasEmail:h,liveMode:g,assignedAgentName:y,agentTypingName:T,starters:O,featuredLinks:ee,send:k,sendGif:te,notifyTyping:ne,stop:M,retry:re,rateMessage:ie,injectAssistant:N,appendUserDraft:ae,patchMessage:oe,removeMessage:P,submitCsat:F,submitForm:le,transcribe:I,extract:de,searchGifs:he,demoSlots:ge,gifEnabled:_e,identify:ve,ended:R,endConversation:be,startNew:xe,history:Se,viewingSessionId:Ce,viewMessages:we,openConversation:Te,closeHistoryView:Ee,shutdown:De,stopSpeaking:Oe,speakAssistantText:z}=u(e,t,i),[Ae,je]=x(0),[B,V]=x(`idle`),[H,Ne]=x(!1),[U,Pe]=x(!1),[Fe,Ie]=x(0),[W,Le]=x(!1),[ze,Be]=x(null),[Ue,Ke]=x([]),[qe,Je]=x(``),[Ye,Xe]=x(()=>{try{return localStorage.getItem(`centrinfo:muted`)===`1`}catch{return!1}}),Ze=rt(t.theme),Qe=c.some(e=>e.role===`assistant`&&(e.pending||e.streaming)),$e=l||Qe||f,lt=o?.soundEnabled??!0;v(()=>{s(t.sound&&lt&&!Ye)},[t.sound,lt,Ye]);let mt=_(()=>{Xe(e=>{let t=!e;try{localStorage.setItem(`centrinfo:muted`,t?`1`:`0`)}catch{}return t})},[]),Tt=b(null),Et=b(null),Dt=b(null),Ot=b(0),G=b(!1),K=b(!1),q=b(!1),kt=b(0),At=b(!1),J=b(null),jt=b(null),Mt=b([]),Nt=b(void 0),Pt=b(void 0),Ft=b(null),It=b(0),Lt=b(0),Rt=b(!1),zt=b(0),Bt=b(null),Vt=b(null),Ht=b(0),Ut=b(null),Wt=b([]),Gt=b(0),Kt=b(0),qt=b(0),Jt=b(null),Yt=b(!1),Xt=b(null),Y=b(``),Zt=b(()=>{}),Qt=b(``),$t=b(l),en=b(f),tn=b($e),nn=b(B),rn=b(0);v(()=>{$t.current=l},[l]),v(()=>{en.current=f},[f]),v(()=>{tn.current=$e},[$e]),v(()=>{nn.current=B},[B]);let[an,on]=x(!0),[sn,cn]=x(!1),ln=b(0),[un,dn]=x(!1),fn=b(null),[pn,mn]=x(!1),[hn,gn]=x(!1),X=!!Ce,_n=X?we:c,vn=_n.find(e=>e.id===ze&&e.visualization)?.visualization;v(()=>{!ze||vn||(Be(null),Le(!1))},[vn,ze]);let yn=_(()=>{a(!0),je(0),p(`open`),t.onOpen?.(),t.onShow?.()},[t]),bn=_(()=>{a(!1),Le(!1),Be(null),t.onClose?.(),t.onHide?.(),Et.current?.focus()},[t]),xn=_(()=>i?bn():yn(),[i,yn,bn]),Sn=_(()=>dn(!0),[]),Cn=_(()=>{be(),dn(!1)},[be]),wn=_(()=>{xe(),cn(!1),on(!0)},[xe]);v(()=>{un&&fn.current?.focus()},[un]),v(()=>{n({open:yn,close:bn,toggle:xn,identify:ve,startNew:xe,endConversation:be,shutdown:De})},[n,yn,bn,xn,ve,xe,be,De]),v(()=>{let e=c.filter(e=>e.role===`assistant`&&!e.pending).length;if(i){Ot.current=e;return}e>Ot.current&&je(e-Ot.current)},[c,i]),v(()=>{t.onUnreadChange?.(Ae)},[Ae,t]),v(()=>{let e=t.sessionDurationMinutes;if(!e||e<=0)return;let n=setTimeout(()=>De(),e*60*1e3);return()=>clearTimeout(n)},[t.sessionDurationMinutes,c,i,De]),v(()=>{let e=t.customLauncherSelector;if(!e||typeof document>`u`)return;let n=[];try{n=Array.from(document.querySelectorAll(e))}catch{return}let r=e=>{e.preventDefault(),xn()};return n.forEach(e=>e.addEventListener(`click`,r)),()=>n.forEach(e=>e.removeEventListener(`click`,r))},[t.customLauncherSelector,xn]);let Tn=b(!1);v(()=>{let e=t.proactiveMessage?.trim();if(!e||Tn.current)return;let n=t.proactiveOnPaths??[],r=typeof location<`u`?location.pathname:``;if(n.length>0&&!n.some(e=>r.includes(e)))return;let a=`centrinfo:proactive:${t.token.slice(0,12)}`;try{if(sessionStorage.getItem(a)===`1`)return}catch{}let o=setTimeout(()=>{if(!(i||R||c.some(e=>e.role===`user`))){Tn.current=!0;try{sessionStorage.setItem(a,`1`)}catch{}N(e),yn()}},Math.max(0,t.proactiveDelaySeconds)*1e3);return()=>clearTimeout(o)},[t.proactiveMessage]),v(()=>{let e=Dt.current;if(!i||!e)return;let t=c[c.length-1],n=Date.now()<ln.current;t?.role===`user`||an||n?(requestAnimationFrame(()=>{e.scrollTop=e.scrollHeight}),cn(!1),n&&on(!0)):cn(!0)},[c,i,l,an]);let En=_(()=>{let e=Dt.current;if(!e)return;if(G.current&&!X){on(!0),cn(!1);return}let t=e.scrollHeight-e.scrollTop-e.clientHeight<80;on(t),t&&cn(!1)},[X]),Dn=_(()=>{let e=Dt.current;e&&(e.scrollTop=e.scrollHeight),cn(!1),on(!0)},[]),On=_(()=>{ln.current=Date.now()+3e3,requestAnimationFrame(Dn)},[Dn]);v(()=>{if(!i||X||!H||B===`connecting`)return;ln.current=Date.now()+6e4,Dn();let e=requestAnimationFrame(()=>{Dn(),requestAnimationFrame(Dn)}),t=[80,180,360].map(e=>window.setTimeout(Dn,e));return()=>{cancelAnimationFrame(e),t.forEach(e=>window.clearTimeout(e))}},[f,c,i,Dn,l,H,X,B]);let kn=_(()=>{Tt.current?.querySelector(`.cf-textarea`)?.focus()},[]),An=_(()=>{Nt.current&&window.clearTimeout(Nt.current),Nt.current=void 0,Pt.current&&window.clearTimeout(Pt.current),Pt.current=void 0,Ft.current?.stop(),Ft.current=null,Ie(0)},[]),Z=_(()=>{Vt.current?.stop(),Vt.current=null,D(Ut.current),Bt.current?.getTracks().forEach(e=>e.stop()),Bt.current=null,Ht.current=0,Kt.current=0},[]),jn=_(()=>{An(),jt.current?.getTracks().forEach(e=>e.stop()),jt.current=null},[An]),Q=_(()=>{G.current=!1,q.current=!1,K.current=!1,At.current=!1,Jt.current=null,Yt.current=!1,Xt.current=null,Y.current=``,Ne(!1),Pe(!1),Le(!1),Be(null),Z(),Oe();let e=J.current;e?.state===`recording`?D(e):(jn(),V(`idle`))},[Z,Oe,jn]),Mn=_(()=>{W&&Be(null),Le(!W)},[W]),Nn=_(e=>{Be(e),Le(!0)},[]),Pn=_(()=>{let e=ze;Be(null),Le(!1),window.requestAnimationFrame(()=>{Array.from(Tt.current?.querySelectorAll(`[data-visualization-message]`)??[]).find(t=>t.dataset.visualizationMessage===e)?.focus()})},[ze]),Fn=_(()=>{Be(null),Le(!1)},[]),In=_((e,t)=>{if(Date.now()-kt.current>=st){V(`timeout`),Pt.current=window.setTimeout(()=>Q(),2400);return}V(e),Pt.current=window.setTimeout(()=>{G.current&&!K.current&&!en.current&&t()},1400)},[Q]),Ln=_((e,t,n)=>{Date.now()-kt.current<st&&!K.current&&(q.current=!0,z(t)),In(e,n)},[In,z]),Rn=_((e,t)=>{On(),kt.current=Date.now(),q.current=!0,t&&oe(t,{content:e,pending:!0,streaming:!1});let n=()=>{if(G.current){if($t.current){window.setTimeout(n,80);return}t&&Xt.current===t&&(Xt.current=null),k(e,{forceVoicePlayback:!0,userMessageId:t})}};n()},[On,oe,k]),zn=_(async(e,t,n,r=`normal`,i)=>{let a=null,s=e=>a||(On(),a=Xt.current||ae(e),Xt.current=a,oe(a,{content:Y.current||e,pending:!0,streaming:!1}),a),c=()=>{a&&(Xt.current===a&&(Xt.current=null),Y.current=``,P(a),a=null)},l=()=>{Y.current=``,V(`listening`),window.setTimeout(()=>{G.current&&!K.current&&!$t.current&&!J.current&&n()},120)},u=e.size===0,d=e.size<350&&t<.001;if(u||d){if(r===`barge`){l();return}let e=Jt.current;Ln(`noise`,e?yt(e):bt(o),n),Y.current=``;return}V(`processing`);let f=++rn.current,p=s(`Listening...`);try{let t=typeof navigator<`u`&&(navigator.languages?.[0]||navigator.language)||void 0;oe(p,{content:Y.current?`${Y.current} ...`:`Transcribing...`,pending:!0});let a=await St(e);if(!a.trim()){if(c(),r===`barge`){l();return}Ln(`noise`,Jt.current?yt(Jt.current):bt(o),n);return}let s=ct(await I(a,e.type,t,i));if(f!==rn.current){c();return}let u=[Y.current,s].map(e=>e.trim()).filter(Boolean).join(` `).replace(/\s+/g,` `).trim();if(!u||ut(u)||dt(u)){if(c(),r===`barge`){l();return}let e=Jt.current;Ln(`misunderstood`,e?yt(e):bt(o),n);return}let d=Jt.current;if(d){let e=pt(u);if(ht.test(e)||d===`end`&&_t.test(e)){c(),Jt.current=null,Zt.current(d);return}if(gt.test(e)){c(),Jt.current=null;let e=`Okay, never mind — what would you like to know?`;N(e),q.current=!0,V(`speaking`),z(e);return}c();let t=yt(d);N(t),q.current=!0,V(`speaking`),z(t);return}let m=vt(u);if(m){if(c(),kt.current=Date.now(),m.confident){Zt.current(m.action);return}Jt.current=m.action;let e=`Just to confirm — you want me to ${ft[m.action]}? Please say yes or no.`;N(e),q.current=!0,V(`speaking`),z(e);return}if(oe(p,{content:u,pending:!0}),xt(u)){Y.current=u,V(`listening`),n();return}Y.current=``,Rn(u,p)}catch(e){if(c(),r===`barge`){l();return}Ln(`misunderstood`,`I couldn't convert your speech to text. Please check the speech service configuration or type your question.${e instanceof Error&&e.message.trim()?` (${e.message.trim()})`:``}`,n)}},[ae,On,Ln,N,oe,o,P,Rn,z,I]),$=_(async()=>{if(!(!G.current||K.current)&&!(!o?.allowVoiceInput||R||X)&&!$t.current&&!J.current){Z(),q.current=!1;try{V(`connecting`);let e=await navigator.mediaDevices.getUserMedia({audio:wt(Qt.current)});if(!G.current||K.current){e.getTracks().forEach(e=>e.stop());return}navigator.mediaDevices.enumerateDevices().then(e=>{Ke(e.filter(e=>e.kind===`audioinput`).map((e,t)=>({deviceId:e.deviceId,label:e.label||`Microphone ${t+1}`})))}).catch(()=>{});let t=E(e);J.current=t,jt.current=e,Mt.current=[],It.current=0,Rt.current=!1,zt.current=0;let n=performance.now();Ft.current=Ct(e,(e,r)=>{if(It.current=Math.max(It.current,e),e>=.0038)Rt.current=!0,zt.current=0;else if(Rt.current&&e<=at){zt.current||(zt.current=r);let e=r-zt.current,i=r-n;if(e>=ot&&i>=550&&t.state===`recording`){D(t);return}}else zt.current=0;r-Lt.current>90&&(Lt.current=r,Ie(e))}),t.ondataavailable=e=>{e.data.size>0&&Mt.current.push(e.data)},t.onstop=async()=>{if(jn(),J.current=null,At.current){At.current=!1,G.current&&!K.current?(V(`idle`),$()):V(G.current&&K.current?`muted`:`idle`);return}if(!G.current){V(`idle`);return}await zn(new Blob(Mt.current,{type:t.mimeType||`audio/webm`}),It.current,$,`normal`,Math.max(0,(performance.now()-n)/1e3))},t.start(250),V(`listening`),Nt.current=window.setTimeout(()=>{D(J.current)},it)}catch{V(`denied`),Pt.current=window.setTimeout(()=>Q(),3500)}}},[R,Q,zn,o,o?.allowVoiceInput,Z,jn,X]),Bn=_(()=>{if(G.current){Q();return}kn(),!(!o?.allowVoiceInput||$t.current||R||X)&&(kt.current=Date.now(),q.current=!1,K.current=!1,G.current=!0,Pe(!1),Ne(!0),V(`connecting`),$())},[R,Q,kn,o,o?.allowVoiceInput,$,X]),Vn=_(()=>{Pe(e=>{let t=!e;if(K.current=t,t){let e=J.current;e?.state===`recording`?(At.current=!0,D(e)):(jn(),V(`muted`))}else G.current&&!R&&!X&&(V(`idle`),$());return t})},[R,$,jn,X]),Hn=_((e,t)=>{N(e),t&&(q.current=!0),V(`speaking`),z(e)},[N,z]),Un=_(e=>{switch(kt.current=Date.now(),e){case`end`:q.current=!1,Yt.current=!0,Hn(`Okay — ending our call now. Goodbye!`,!1),window.setTimeout(()=>{Yt.current&&(Yt.current=!1,Q())},2e3);break;case`mute`:{K.current||Vn();let e=`Muted. Tap the mic button when you want me to listen again.`;N(e),z(e);break}case`minimize`:bn(),Hn(`Minimized — I'm still listening. Tap the call pill to bring the chat back.`,!0);break;case`expand`:Le(!0),Hn(`Sure — expanding the view.`,!0);break;case`shrink`:Be(null),Le(!1),Hn(`Okay — back to the smaller view.`,!0);break}},[bn,Q,N,z,Hn,Vn]);v(()=>{Zt.current=Un},[Un]);let Wn=b(!1);v(()=>{Wn.current&&!f&&Yt.current&&(Yt.current=!1,Q()),Wn.current=f},[f,Q]);let Gn=_(e=>{Qt.current=e,Je(e);let t=J.current;t?.state===`recording`&&(At.current=!0,D(t))},[]),Kn=_(()=>{if(!(!G.current||K.current)){if(Z(),M(),Oe(),kt.current=Date.now(),V(`listening`),$t.current){let e=()=>{if(!(!G.current||K.current)){if($t.current){window.setTimeout(e,70);return}q.current=!1,$()}};window.setTimeout(e,70);return}q.current=!1,$()}},[$,M,Z,Oe]),qn=_(async()=>{if(!(Bt.current||Vt.current)&&!(!G.current||K.current))try{let e=await navigator.mediaDevices.getUserMedia({audio:wt(Qt.current)});if(!G.current||K.current||J.current||Bt.current||!tn.current&&nn.current!==`processing`){e.getTracks().forEach(e=>e.stop());return}Bt.current=e,Ht.current=0,Kt.current=0,qt.current=0;let t=()=>{if(Ut.current)return;M(),Oe(),rn.current+=1,kt.current=Date.now(),q.current=!1,V(`listening`);let t=E(e);Ut.current=t,Wt.current=[],Gt.current=performance.now(),Kt.current=0,t.ondataavailable=e=>{e.data.size>0&&Wt.current.push(e.data)},t.onstop=async()=>{let e=Wt.current,n=qt.current,r=t.mimeType||`audio/webm`;Ut.current=null,Wt.current=[],Z(),G.current&&await zn(new Blob(e,{type:r}),n,$,`barge`,Math.max(0,(performance.now()-Gt.current)/1e3))},t.start(250)};Vt.current=Ct(e,(e,n)=>{if(qt.current=Math.max(qt.current,e),n-Lt.current>90&&(Lt.current=n,Ie(e)),e>=.009)Ht.current||(Ht.current=n),n-Ht.current>=280&&t(),Kt.current=0;else if(Ut.current&&e<=at){Kt.current||(Kt.current=n);let e=n-Kt.current,t=n-Gt.current;e>=ot&&t>=550&&Ut.current.state===`recording`&&D(Ut.current)}else Ut.current&&n-Gt.current>=it&&Ut.current.state===`recording`?D(Ut.current):(Ht.current=0,Kt.current=0)}),Vt.current||Z()}catch{}},[zn,$,M,Z,Oe]);v(()=>{if(!(H&&!U&&!R&&!X&&($e||B===`processing`))){Z();return}let e=window.setTimeout(()=>void qn(),250);return()=>window.clearTimeout(e)},[$e,R,qn,Z,H,U,B,X]);let Jn=H&&!U&&(l||f||B===`processing`);v(()=>{!H||U||f&&V(`speaking`)},[f,H,U]),v(()=>{if(!H||U||!q.current||l||f||![`processing`,`speaking`,`noise`,`misunderstood`].includes(B))return;let e=window.setTimeout(()=>{!G.current||K.current||$t.current||(q.current=!1,$())},700);return()=>window.clearTimeout(e)},[f,l,$,H,U,B]),v(()=>()=>Q(),[Q]);let[Yn,Xn]=x(``),Zn=b(!1);v(()=>{if(Zn.current&&!l){let e=[...c].reverse().find(e=>e.role===`assistant`&&!e.streaming&&!e.pending&&e.content);e&&Xn(e.content)}Zn.current=l},[l,c]),v(()=>{if(!i)return;let e=Tt.current;un||e?.querySelector(`.cf-textarea`)?.focus();let t=t=>{if(t.key===`Escape`){if(t.preventDefault(),un){dn(!1);return}bn();return}if(t.key!==`Tab`||!e)return;let n=e.querySelectorAll(`button, [href], textarea, input, [tabindex]:not([tabindex="-1"])`),r=Array.from(n).filter(e=>!e.hasAttribute(`disabled`));if(r.length===0)return;let i=r[0],a=r[r.length-1],o=e.getRootNode()instanceof ShadowRoot?e.getRootNode().activeElement:document.activeElement;t.shiftKey&&o===i?(t.preventDefault(),a.focus()):!t.shiftKey&&o===a&&(t.preventDefault(),i.focus())};return e?.addEventListener(`keydown`,t),()=>e?.removeEventListener(`keydown`,t)},[i,bn,un]),v(()=>{let e=Tt.current;e&&(i?e.removeAttribute(`inert`):e.setAttribute(`inert`,``))},[i]);let Qn=t.accentColor??o?.accentColor,$n={zIndex:t.zIndex,"--cf-h-pad":`${t.horizontalPadding}px`,"--cf-v-pad":`${t.verticalPadding}px`,...Qn?{"--cf-accent":Qn,"--cf-accent-2":`color-mix(in oklab, ${Qn} 76%, #14141f)`}:{}},er=e=>k(e),tr=[...c].reverse().find(e=>e.role===`user`&&e.content.trim())?.content??``,nr=c.some(e=>e.role===`user`),rr=o?.talkbackMode===`avatar`||o?.widgetModule===`assistant`||!!o?.allowVoiceInput,ir=!X&&rr&&!nr?_n.filter((e,t)=>!(t===0&&e.role===`assistant`)):_n,ar=g===`human`&&y?y:o?.agentName??`Chat`,or=g===`human`?`Live support`:g===`queued`?`Waiting for the team`:o?.offline?r.statusOffline:r.statusOnline,sr=!R&&!X?o?.availableActions:void 0,cr=H&&B===`connecting`&&!X;return C(d,{value:r,children:w(`div`,{class:`cf-root`,"data-theme":Ze,"data-align":t.alignment,"data-display":`floating`,style:$n,children:[W&&i&&C(`div`,{class:`cf-theater-backdrop`,onClick:Fn}),w(`div`,{ref:Tt,class:`cf-panel ${i?`is-open`:``} ${H?`cf-panel--call`:``} ${cr?`cf-panel--voice-connecting`:``} ${W&&i?`cf-panel--theater`:``} ${vn?`cf-panel--analytics-focus`:``}`,role:`dialog`,"aria-modal":`false`,"aria-label":`Chat with ${o?.agentName??`us`}`,"aria-hidden":!i,children:[w(`div`,{class:`cf-header`,children:[C(ke,{persona:o,hideWhenMissing:!0}),w(`div`,{class:`cf-header__meta`,children:[C(`div`,{class:`cf-header__name`,children:ar}),C(`div`,{class:`cf-header__status ${g===`ai`&&o?.offline?`cf-header__status--offline`:``}`,children:C(`span`,{class:`cf-header__status-text`,children:or})})]}),w(`div`,{class:`cf-header__actions`,children:[Se.length>0&&C(`button`,{type:`button`,class:`cf-header__btn`,"aria-label":r.pastConversations,title:r.pastConversations,"aria-pressed":pn,onClick:()=>mn(e=>!e),children:C(pe,{})}),nr&&!R&&!X&&C(`button`,{type:`button`,class:`cf-header__btn`,"aria-label":r.endChat,title:r.endChat,onClick:Sn,children:C(fe,{})}),t.sound&&lt&&C(`button`,{type:`button`,class:`cf-header__btn`,"aria-label":Ye?r.unmuteSounds:r.muteSounds,"aria-pressed":Ye,onClick:mt,children:C(Ye?ce:se,{})}),C(`button`,{type:`button`,class:`cf-header__btn cf-header__close`,"aria-label":r.closeChat,onClick:bn,children:C(j,{})})]})]}),C(`div`,{class:`cf-panel__video`,children:vn?C(`div`,{class:`cf-analytics-focus`,role:`region`,"aria-label":`Expanded analytics result`,children:C(Ge,{visualization:vn,expanded:!0,onClose:Pn})}):!X&&rr?C(Me,{persona:o,starters:[],onPick:k,onFocusComposer:Bn,speaking:Qe||f,voiceState:B,replyPending:H&&l&&!f,pinned:!0,muted:U,onToggleMute:Vn,onEndCall:Q,onTalkNow:Kn,showTalkNow:Jn,micLevel:Fe,theaterMode:W,onToggleTheater:Mn,onMinimize:bn,audioDevices:Ue,selectedAudioDeviceId:qe,onSelectAudioDevice:Gn,connectingOnly:cr}):null}),!cr&&w(`div`,{class:`cf-panel__chat`,children:[t.preview&&C(`div`,{class:`cf-preview-banner`,children:r.previewBanner}),X&&C(`div`,{class:`cf-viewing-banner`,children:r.viewingPast}),w(`div`,{class:`cf-body`,ref:Dt,role:`log`,onScroll:En,children:[ir.map((e,t)=>C(We,{msg:e,persona:o,isLast:!X&&t===ir.length-1,visitor:m,hasEmail:h,lastQuestion:tr,showActions:!X&&t===ir.length-1&&!!e.handoffOffered,onPickReply:er,onSubmitForm:le,onDemoSlots:ge,onRetry:re,ratable:!X&&ir.slice(0,t).some(e=>e.role===`user`),onRate:ie,onExpandVisualization:X?void 0:Nn},e.id)),!nr&&!X&&w(S,{children:[ir.length===0&&C(nt,{name:o?.agentName??`Assistant`,greeting:o?.greeting}),C(Ve,{items:O,onPick:k}),C(He,{items:ee})]}),sn&&w(`button`,{type:`button`,class:`cf-newmsg`,onClick:Dn,children:[C(ye,{}),r.newMessages]})]}),C(`div`,{class:`cf-sr-live`,"aria-live":`polite`,"aria-atomic":`true`,children:Yn}),l&&!R&&!X&&C(`div`,{class:`cf-stopbar`,children:w(`button`,{type:`button`,class:`cf-stop`,onClick:M,children:[C(ue,{}),r.stop]})}),X?C(`div`,{class:`cf-ended`,children:C(`button`,{type:`button`,class:`cf-ended__btn`,onClick:Ee,children:r.backToChat})}):R?w(`div`,{class:`cf-ended`,children:[C(`p`,{class:`cf-ended__text`,children:r.conversationEnded}),t.csat&&nr?hn?C(`p`,{class:`cf-ended__text`,children:r.feedbackThanks}):w(`div`,{class:`cf-csat`,children:[C(`span`,{class:`cf-csat__q`,children:r.csatPrompt}),C(`button`,{type:`button`,class:`cf-csat__btn`,"aria-label":r.feedbackHelpful,onClick:()=>{F(`up`),gn(!0)},children:C(me,{})}),C(`button`,{type:`button`,class:`cf-csat__btn`,"aria-label":r.feedbackNotHelpful,onClick:()=>{F(`down`),gn(!0)},children:C(L,{})})]}):null,C(`button`,{type:`button`,class:`cf-ended__btn`,onClick:wn,children:r.startNewChat})]}):w(S,{children:[T?w(`div`,{class:`cf-live-typing`,"aria-live":`polite`,children:[T,` is typing…`]}):null,sr&&sr.length>0&&C(`div`,{class:`cf-footer-actions`,children:C(Re,{actions:sr,visitor:m,onSubmitForm:le,onDemoSlots:ge,scheduler:o?.scheduler})}),C(tt,{onSend:k,onSendGif:te,onTyping:ne,disabled:l,allowVoice:!!o?.allowVoiceInput,onTranscribe:I,gifEnabled:_e,onSearchGifs:he,allowAttach:t.attachments,onExtract:de})]}),!R&&o?.disclaimerText&&C(`div`,{class:`cf-disclaimer`,children:o.disclaimerText}),w(`div`,{class:`cf-footer`,children:[r.poweredBy,` `,C(`a`,{href:`https://accurix.tech/centrinfo`,target:`_blank`,rel:`noopener noreferrer`,children:`Centrinfo`})]})]}),un&&C(`div`,{class:`cf-confirm`,onClick:()=>dn(!1),children:w(`div`,{class:`cf-confirm__card`,role:`alertdialog`,"aria-modal":`true`,"aria-label":r.endChatConfirm,onClick:e=>e.stopPropagation(),children:[C(`div`,{class:`cf-confirm__title`,children:r.endChatConfirm}),C(`div`,{class:`cf-confirm__body`,children:r.endChatConfirmBody}),w(`div`,{class:`cf-confirm__actions`,children:[C(`button`,{ref:fn,type:`button`,class:`cf-confirm__btn cf-confirm__btn--cancel`,onClick:()=>dn(!1),children:r.cancel}),C(`button`,{type:`button`,class:`cf-confirm__btn cf-confirm__btn--danger`,onClick:Cn,children:r.endConfirmCta})]})]})}),pn&&C(`div`,{class:`cf-confirm`,onClick:()=>mn(!1),children:w(`div`,{class:`cf-history`,role:`dialog`,"aria-modal":`true`,"aria-label":r.pastConversations,onClick:e=>e.stopPropagation(),children:[w(`div`,{class:`cf-history__head`,children:[C(`span`,{children:r.pastConversations}),C(`button`,{type:`button`,class:`cf-header__btn`,"aria-label":r.closeChat,onClick:()=>mn(!1),children:C(j,{})})]}),C(`div`,{class:`cf-history__list`,children:Se.map(e=>w(`button`,{type:`button`,class:`cf-history__item ${e.sessionId===Ce?`is-active`:``}`,onClick:()=>{Te(e.sessionId),mn(!1)},children:[C(`span`,{class:`cf-history__title`,children:e.title}),w(`span`,{class:`cf-history__meta`,children:[new Date(e.ts).toLocaleDateString(void 0,{month:`short`,day:`numeric`}),e.ended?` · ${r.historyEnded}`:``]})]},e.sessionId))})]})})]}),H&&!i?C(et,{persona:o,voiceState:B,muted:U,onToggleMute:Vn,onEndCall:Q,micLevel:Fe,onExpand:yn}):W&&i?null:!t.hideDefaultLauncher&&w(`button`,{ref:Et,type:`button`,class:`cf-launcher`,"aria-label":i?r.closeChat:r.openChat,"aria-expanded":i,onClick:xn,children:[t.launcherIcon?C(`img`,{class:`cf-launcher__img`,src:t.launcherIcon,alt:``}):C(A,{}),!i&&Ae>0&&C(`span`,{class:`cf-launcher__badge`,children:Ae})]})]})})},Et=`
1
+ import{_ as e,a as t,c as n,f as r,g as i,h as a,i as o,l as s,m as c,n as l,o as u,p as d,r as f,s as p,t as m,v as h,y as g}from"./config-CHvO9tW1.mjs";import{render as _}from"preact";import{useCallback as v,useEffect as y,useMemo as b,useRef as x,useState as S}from"preact/hooks";import{Fragment as C,jsx as w,jsxs as T}from"preact/jsx-runtime";const E=[`audio/webm;codecs=opus`,`audio/webm`,`audio/ogg;codecs=opus`,`audio/ogg`],ee=e=>{let t=globalThis.MediaRecorder;if(typeof t?.isTypeSupported==`function`){for(let n of E)if(t.isTypeSupported(n))try{return new t(e,{mimeType:n})}catch{}}return new t(e)},D=e=>{if(!(!e||e.state!==`recording`)){try{e.requestData()}catch{}e.stop()}},te=[{name:`Smileys`,emojis:`😀.😃.😄.😁.😅.😂.🤣.😊.😇.🙂.🙃.😉.😌.😍.🥰.😘.😋.😛.😜.🤪.🤗.🤭.🤔.🤐.😐.😶.😏.🙄.😴.🥳.😎.🤓.🥺.😢.😭.😤.😠.🤯.😬.😱.🤩.🥱`.split(`.`)},{name:`Gestures`,emojis:[`👍`,`👎`,`👌`,`🤌`,`✌️`,`🤞`,`🤟`,`🤘`,`🤙`,`👈`,`👉`,`👆`,`👇`,`✋`,`🖐️`,`👋`,`🤝`,`🙏`,`💪`,`👏`,`🙌`,`👐`,`🤲`,`🫶`]},{name:`Hearts & symbols`,emojis:`❤️.🧡.💛.💚.💙.💜.🖤.🤍.💔.❣️.💕.💖.💘.💝.✨.⭐.🌟.💫.🔥.🎉.🎊.✅.❌.⚡.💯.🚀`.split(`.`)},{name:`Animals & nature`,emojis:[`🐶`,`🐱`,`🦊`,`🐻`,`🐼`,`🐨`,`🦁`,`🐮`,`🐸`,`🐵`,`🐧`,`🦄`,`🐝`,`🦋`,`🐢`,`🐬`,`🌷`,`🌸`,`🌹`,`🌻`,`🌳`,`🍀`]},{name:`Food & drink`,emojis:[`🍎`,`🍌`,`🍉`,`🍓`,`🍒`,`🥑`,`🍔`,`🍟`,`🍕`,`🌮`,`🍿`,`🍩`,`🍪`,`🎂`,`☕`,`🍵`,`🍺`,`🥂`,`🍷`]},{name:`Objects & travel`,emojis:`🚀.✈️.🚗.🏠.📦.📱.💻.⌚.📷.💡.🔑.🎁.📌.✏️.📝.📞.📧.💰.📈.⏰.🔔.🎯.🏆.🎮.🎵.💬.👀`.split(`.`)}],O={inquiry:{title:`Leave a message`,submit:`Send message`,fields:[{key:`visitorName`,label:`Full name`,kind:`text`,required:!0,identity:`name`},{key:`visitorEmail`,label:`Email`,kind:`email`,required:!0,identity:`email`},{key:`message`,label:`Message`,kind:`textarea`,required:!0,placeholder:`How can we help?`}]},contact:{title:`Share your details`,submit:`Save`,fields:[{key:`name`,label:`Full name`,kind:`text`,required:!0,identity:`name`},{key:`email`,label:`Email`,kind:`email`,required:!0,identity:`email`},{key:`phone`,label:`Phone`,kind:`tel`,required:!0,identity:`phone`}]},"book-demo":{title:`Book a demo`,submit:`Request demo`,fields:[{key:`visitorName`,label:`Full name`,kind:`text`,required:!0,identity:`name`},{key:`visitorEmail`,label:`Email`,kind:`email`,required:!0,identity:`email`},{key:`preferredAt`,label:`Preferred time`,kind:`text`,placeholder:`e.g. Thursday 3pm`},{key:`notes`,label:`Notes`,kind:`textarea`,placeholder:`Anything we should know?`}]},"request-callback":{title:`Request a callback`,submit:`Request callback`,fields:[{key:`visitorName`,label:`Full name`,kind:`text`,required:!0,identity:`name`},{key:`visitorPhone`,label:`Phone`,kind:`tel`,required:!0,identity:`phone`},{key:`bestTime`,label:`Best time to call`,kind:`text`,placeholder:`e.g. tomorrow afternoon`},{key:`topic`,label:`Topic`,kind:`text`,placeholder:`What should we call about?`}]},"subscribe-newsletter":{title:`Subscribe`,submit:`Subscribe`,fields:[{key:`visitorName`,label:`Full name`,kind:`text`,required:!0,identity:`name`},{key:`visitorEmail`,label:`Email`,kind:`email`,required:!0,identity:`email`}]}},k=(e,t)=>w(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`,...t,children:e}),A=e=>w(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,...e,children:w(`path`,{"fill-rule":`evenodd`,"clip-rule":`evenodd`,d:`M5 3.25h14A3.75 3.75 0 0 1 22.75 7v6A3.75 3.75 0 0 1 19 16.75h-7.19l-4.26 3.84A.75.75 0 0 1 6.25 20v-3.32A3.75 3.75 0 0 1 2.25 13V7A3.75 3.75 0 0 1 6 3.25Zm3 7.75a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Zm4 0a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Zm4 0a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z`})}),j=e=>k(w(`path`,{d:`m6 9 6 6 6-6`}),e),ne=e=>k(T(C,{children:[w(`path`,{d:`m22 2-7 20-4-9-9-4Z`}),w(`path`,{d:`M22 2 11 13`})]}),e),M=e=>k(T(C,{children:[w(`path`,{d:`M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z`}),w(`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`}),w(`line`,{x1:`12`,y1:`19`,x2:`12`,y2:`22`})]}),e),re=e=>k(T(C,{children:[w(`path`,{d:`M9 9v1a3 3 0 0 0 4.24 2.73`}),w(`path`,{d:`M15 5.5V5a3 3 0 0 0-5.94-.6`}),w(`path`,{d:`M19 10v2a7 7 0 0 1-9.9 6.36`}),w(`path`,{d:`M5 10v2a6.98 6.98 0 0 0 1.11 3.79`}),w(`line`,{x1:`12`,y1:`19`,x2:`12`,y2:`22`}),w(`line`,{x1:`2`,y1:`2`,x2:`22`,y2:`22`})]}),e),ie=e=>k(T(C,{children:[w(`path`,{d:`M15 3h6v6`}),w(`path`,{d:`M10 14 21 3`}),w(`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`})]}),e),N=e=>k(T(C,{children:[w(`rect`,{x:`3`,y:`4`,width:`18`,height:`18`,rx:`2`}),w(`line`,{x1:`16`,y1:`2`,x2:`16`,y2:`6`}),w(`line`,{x1:`8`,y1:`2`,x2:`8`,y2:`6`}),w(`line`,{x1:`3`,y1:`10`,x2:`21`,y2:`10`})]}),e),P=e=>k(T(C,{children:[w(`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`}),w(`path`,{d:`m22 7-10 5L2 7`})]}),e),F=e=>k(w(`path`,{d:`M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92Z`}),e),ae=e=>k(T(C,{children:[w(`circle`,{cx:`12`,cy:`12`,r:`9`}),w(`path`,{d:`M8.5 14.5a4 4 0 0 0 7 0`}),w(`line`,{x1:`9`,y1:`9.5`,x2:`9.01`,y2:`9.5`}),w(`line`,{x1:`15`,y1:`9.5`,x2:`15.01`,y2:`9.5`})]}),e),I=e=>k(T(C,{children:[w(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),w(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]}),e),oe=e=>k(T(C,{children:[w(`path`,{d:`M11 5 6 9H2v6h4l5 4z`}),w(`path`,{d:`M15.5 8.5a5 5 0 0 1 0 7`}),w(`path`,{d:`M19 5a9 9 0 0 1 0 14`})]}),e),se=e=>k(T(C,{children:[w(`path`,{d:`M11 5 6 9H2v6h4l5 4z`}),w(`line`,{x1:`22`,y1:`9`,x2:`16`,y2:`15`}),w(`line`,{x1:`16`,y1:`9`,x2:`22`,y2:`15`})]}),e),L=e=>k(w(`path`,{d:`M20 6 9 17l-5-5`}),e),R=e=>k(T(C,{children:[w(`rect`,{x:`9`,y:`9`,width:`13`,height:`13`,rx:`2`}),w(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})]}),e),ce=e=>k(T(C,{children:[w(`path`,{d:`M1 4v6h6`}),w(`path`,{d:`M3.51 15a9 9 0 1 0 2.13-9.36L1 10`})]}),e),le=e=>k(w(`rect`,{x:`6`,y:`6`,width:`12`,height:`12`,rx:`2`}),e),ue=e=>k(w(`path`,{d:`M21.44 11.05 12.25 20.24a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48`}),e),de=e=>k(T(C,{children:[w(`path`,{d:`M18.36 6.64a9 9 0 1 1-12.73 0`}),w(`line`,{x1:`12`,y1:`2`,x2:`12`,y2:`12`})]}),e),fe=e=>k(T(C,{children:[w(`circle`,{cx:`12`,cy:`12`,r:`9`}),w(`path`,{d:`M12 7v5l3 2`})]}),e),z=e=>k(T(C,{children:[w(`path`,{d:`M7 10v12`}),w(`path`,{d:`M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z`})]}),e),pe=e=>k(T(C,{children:[w(`path`,{d:`M17 14V2`}),w(`path`,{d:`M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z`})]}),e),me=e=>k(T(C,{children:[w(`path`,{d:`M15 3h6v6`}),w(`path`,{d:`M9 21H3v-6`}),w(`path`,{d:`M21 3l-7 7`}),w(`path`,{d:`M3 21l7-7`})]}),e),he=e=>k(T(C,{children:[w(`path`,{d:`M9 3v6H3`}),w(`path`,{d:`M15 21v-6h6`}),w(`path`,{d:`M9 9 2 2`}),w(`path`,{d:`M15 15l7 7`})]}),e),ge=e=>k(T(C,{children:[w(`rect`,{x:`3`,y:`4`,width:`18`,height:`14`,rx:`2`}),w(`rect`,{x:`11`,y:`11`,width:`8`,height:`6`,rx:`1`,fill:`currentColor`,stroke:`none`})]}),e),B=e=>k(T(C,{children:[w(`rect`,{x:`4`,y:`5`,width:`16`,height:`14`,rx:`2`}),w(`path`,{d:`M12 15V9`}),w(`path`,{d:`m8.5 12.5 3.5-3.5 3.5 3.5`})]}),e),_e=e=>k(T(C,{children:[w(`line`,{x1:`12`,y1:`5`,x2:`12`,y2:`19`}),w(`path`,{d:`m19 12-7 7-7-7`})]}),e),ve=e=>{if(!e)return`Live data`;let t=new Date(e);return Number.isNaN(t.getTime())?`Live data`:`Updated ${new Intl.DateTimeFormat(void 0,{hour:`numeric`,minute:`2-digit`}).format(t)}`},ye=({answeredAt:e,reportingPeriod:t,filters:n=[],rowCount:r})=>T(`div`,{class:`cf-analytics-meta`,"data-testid":`analytics-result-meta`,"aria-label":`Result details`,children:[T(`span`,{children:[w(`span`,{"aria-hidden":`true`,class:`cf-analytics-meta__dot`}),ve(e)]}),t?.label?w(`span`,{children:t.label}):null,typeof r==`number`?T(`span`,{children:[r,` `,r===1?`row`:`rows`]}):null,n.length>0?T(`span`,{children:[n.length,` applied `,n.length===1?`filter`:`filters`]}):null]}),be=({label:e,value:t,detail:n})=>T(`section`,{class:`cf-analytics-kpi`,"aria-label":e,"data-testid":`analytics-kpi`,children:[w(`div`,{class:`cf-analytics-kpi__label`,children:e}),w(`div`,{class:`cf-analytics-kpi__value`,children:t}),n?w(`div`,{class:`cf-analytics-kpi__detail`,children:n}):null]}),xe=({title:e=`No matching data`,description:t=`No approved records matched this question.`})=>T(`section`,{class:`cf-analytics-empty`,role:`status`,"data-testid":`analytics-empty-state`,children:[w(`p`,{children:e}),w(`p`,{children:t})]}),Se=({explanation:e,onFollowUp:t,showLead:n=!1,maxFollowUps:r=3})=>T(`section`,{class:`cf-analytics-explanation`,"data-testid":`inline-analytics-explanation`,"aria-label":`Analysis and supporting evidence`,children:[n?T(`div`,{class:`cf-analytics-explanation__lead`,"data-testid":`analytics-explanation-lead`,children:[T(`div`,{class:`cf-analytics-explanation__lead-meta`,children:[w(`span`,{class:`cf-analytics-explanation__eyebrow`,children:`Answer from your data`}),T(`span`,{class:`cf-analytics-explanation__provenance`,children:[w(`span`,{"aria-hidden":`true`,class:`cf-analytics-explanation__provenance-dot`}),e.source===`ai_grounded`?`AI-assisted · evidence checked`:`Based on current values`]})]}),w(`h3`,{class:`cf-analytics-explanation__headline`,children:e.headline}),w(`p`,{class:`cf-analytics-explanation__summary`,children:e.summary})]}):null,T(`div`,{class:`cf-analytics-explanation__body`,children:[(e.evidence?.length??0)>0?T(`section`,{class:`cf-analytics-explanation__section`,children:[w(`h4`,{class:`cf-analytics-explanation__heading`,children:`What the numbers show`}),w(`ul`,{class:`cf-analytics-explanation__evidence`,children:e.evidence?.slice(0,4).map(e=>T(`li`,{class:`cf-analytics-explanation__evidence-item`,children:[w(`span`,{"aria-hidden":`true`,class:`cf-analytics-explanation__evidence-bullet`}),w(`span`,{children:e})]},e))})]}):null,e.businessMeaning?T(`section`,{class:`cf-analytics-explanation__meaning`,children:[w(`h4`,{class:`cf-analytics-explanation__heading`,children:`Why this may matter`}),w(`p`,{class:`cf-analytics-explanation__paragraph`,children:e.businessMeaning})]}):null,(e.possibleDrivers?.length??0)>0?T(`section`,{class:`cf-analytics-explanation__section`,children:[T(`div`,{class:`cf-analytics-explanation__section-heading`,children:[w(`h4`,{class:`cf-analytics-explanation__heading`,children:`Possibilities worth checking`}),w(`span`,{class:`cf-analytics-explanation__hint`,children:`These are not proven causes`})]}),w(`div`,{class:`cf-analytics-explanation__drivers`,children:e.possibleDrivers?.slice(0,2).map(e=>T(`article`,{class:`cf-analytics-explanation__driver`,children:[w(`p`,{class:`cf-analytics-explanation__driver-title`,children:e.hypothesis}),T(`p`,{class:`cf-analytics-explanation__driver-body`,children:[w(`span`,{class:`cf-analytics-explanation__driver-label`,children:`How to check:`}),` `,e.howToCheck]})]},`${e.hypothesis}-${e.howToCheck}`))})]}):null,(e.recommendations?.length??0)>0?T(`section`,{class:`cf-analytics-explanation__section`,children:[w(`h4`,{class:`cf-analytics-explanation__heading`,children:`Useful next steps`}),w(`div`,{class:`cf-analytics-explanation__recommendations`,children:e.recommendations?.slice(0,3).map((e,t)=>T(`article`,{class:`cf-analytics-explanation__recommendation`,children:[w(`span`,{class:`cf-analytics-explanation__recommendation-index`,children:t+1}),T(`div`,{children:[w(`p`,{class:`cf-analytics-explanation__recommendation-title`,children:e.action}),w(`p`,{class:`cf-analytics-explanation__recommendation-body`,children:e.why}),e.successMetric?T(`p`,{class:`cf-analytics-explanation__recommendation-body`,children:[w(`span`,{class:`cf-analytics-explanation__driver-label`,children:`Watch:`}),` `,e.successMetric]}):null]})]},`${e.action}-${e.why}`))})]}):null,e.forecast?T(`section`,{class:`cf-analytics-explanation__outlook`,children:[T(`div`,{class:`cf-analytics-explanation__outlook-header`,children:[w(`h4`,{class:`cf-analytics-explanation__heading`,children:`Outlook`}),w(`span`,{class:`cf-analytics-explanation__outlook-badge`,children:`Validated estimate`})]}),w(`p`,{class:`cf-analytics-explanation__paragraph`,children:e.forecast.text}),e.forecast.limitations?w(`p`,{class:`cf-analytics-explanation__recommendation-body`,children:e.forecast.limitations}):null]}):null,t&&(e.followUps?.length??0)>0?T(`section`,{class:`cf-analytics-explanation__section cf-analytics-explanation__follow-up`,children:[w(`h4`,{class:`cf-analytics-explanation__heading`,children:`Ask a follow-up`}),w(`div`,{class:`cf-analytics-explanation__questions`,children:e.followUps?.slice(0,r).map(e=>w(`button`,{type:`button`,class:`cf-analytics-explanation__question`,onClick:()=>t(e),children:e},e))})]}):null,(e.limitations?.length??0)>0?T(`details`,{class:`cf-analytics-explanation__limits`,children:[w(`summary`,{class:`cf-analytics-explanation__limits-summary`,children:`Important limits`}),w(`ul`,{class:`cf-analytics-explanation__limits-list`,children:e.limitations?.map(e=>w(`li`,{children:e},e))})]}):null]}),w(`p`,{class:`cf-analytics-explanation__source`,children:e.source===`ai_grounded`?`AI-assisted wording, checked against the live values shown here.`:`Based only on the live values shown here.`})]}),Ce=()=>{let e=x(null);return y(()=>{let t=requestAnimationFrame(()=>e.current?.scrollIntoView({block:`end`}));return()=>cancelAnimationFrame(t)},[]),e},we=e=>e.trim().split(/\s+/).slice(0,2).map(e=>e[0]?.toUpperCase()??``).join(``)||`🤖`,Te=e=>{let t=e?.avatarId?.trim().toLowerCase().replace(/[^a-z0-9-]/g,`-`);return t?` cf-avatar-preset--${t}`:``},Ee={"support-guide":`SG`,"sales-host":`SH`,"calm-advisor":`CA`,"technical-guide":`TG`,"school-desk":`SD`,"front-office":`FO`},V=e=>{let t=e?.avatarId?.trim().toLowerCase();return t&&Ee[t]||(e?we(e.agentName):`·`)},De=({persona:e,small:t,hideWhenMissing:n})=>{let r=t?`cf-msg__avatar`:`cf-header__avatar`,i=e?.agentAvatarUrl?.trim();return i?w(`span`,{class:r,children:w(`img`,{src:i,alt:``})}):n?null:w(`span`,{class:`${r}${Te(e)}`,children:V(e)})},Oe=()=>{let e=n(),[t,r]=S(0),i=[`Thinking`,`Checking available information`,`Preparing your response`];return y(()=>{let e=[window.setTimeout(()=>r(1),1800),window.setTimeout(()=>r(2),5e3)];return()=>e.forEach(e=>window.clearTimeout(e))},[]),T(`div`,{class:`cf-msg__bubble cf-typing`,"aria-label":e.assistantTyping,children:[w(`span`,{class:`cf-typing__label`,"aria-live":`polite`,children:i[t]}),w(`span`,{class:`cf-typing__dot`}),w(`span`,{class:`cf-typing__dot`}),w(`span`,{class:`cf-typing__dot`})]})},ke=({msg:e})=>{if(!e.sources||e.sources.length===0)return null;let t=new Set,n=[];for(let r of e.sources){let e=(r.url||r.title||``).toLowerCase();!e||t.has(e)||(t.add(e),n.push(r))}if(n.length===0)return null;let r=n.slice(0,3),i=n.length-r.length;return T(`div`,{class:`cf-sources`,children:[r.map((e,t)=>e.url?T(`a`,{class:`cf-source`,href:e.url,target:`_blank`,rel:`noopener noreferrer nofollow`,title:e.title||e.url,children:[w(ie,{}),w(`span`,{children:e.title||e.url})]},t):T(`span`,{class:`cf-source`,title:e.title,children:[w(ie,{}),w(`span`,{children:e.title})]},t)),i>0&&T(`span`,{class:`cf-source cf-source--more`,children:[`+`,i,` more`]})]})},H=({replies:e,onPick:t})=>e&&e.length>0?w(`div`,{class:`cf-chips`,children:e.map((e,n)=>w(`button`,{type:`button`,class:`cf-chip`,onClick:()=>t(e),children:e},n))}):null,Ae=({persona:e,starters:t,onPick:n,onFocusComposer:r,speaking:i,voiceState:a=`idle`,replyPending:o=!1,pinned:s=!1,muted:c=!1,onToggleMute:l,onEndCall:u,onTalkNow:d,showTalkNow:f=!1,micLevel:p=0,theaterMode:m=!1,onToggleTheater:h,onMinimize:g,audioDevices:_=[],selectedAudioDeviceId:v=``,onSelectAudioDevice:y,connectingOnly:b=!1})=>{if(!e||!(e.talkbackMode===`avatar`||e.widgetModule===`assistant`||e.allowVoiceInput))return null;let x=e.agentAvatarUrl?.trim()||``,S=e.assistantMediaUrl?.trim()||x,E=e.assistantMediaKind===`video`&&!!S,ee=t.slice(0,3),D=a!==`idle`,te=a===`idle`?`Speak with ${e.agentName}`:`End voice chat`,O=s&&!D&&!i,k=a===`connecting`||a===`processing`||D&&o,A=[`cf-assistant-card__stage`,`cf-assistant-card__stage--local`,D?`is-live`:``,k?`is-thinking`:``,a===`listening`&&!c?`is-listening`:``,i||a===`speaking`?`is-speaking`:``,c?`is-muted`:``].filter(Boolean).join(` `),j=a===`listening`&&!c?{"--cf-listen":String(Math.max(.18,Math.min(1,p*8)))}:void 0,ne=k&&T(`span`,{class:`cf-call-ripple`,"aria-hidden":`true`,children:[w(`span`,{}),w(`span`,{}),w(`span`,{})]});if(b)return T(`div`,{class:`cf-assistant-card cf-assistant-card--connecting`,"aria-live":`polite`,children:[T(`div`,{class:`cf-assistant-card__connecting-avatar`,children:[x?w(`img`,{src:x,alt:``}):w(`span`,{class:`cf-assistant-card__connecting-face${Te(e)}`,children:V(e)}),ne]}),T(`div`,{class:`cf-assistant-card__connecting-copy`,children:[w(`span`,{class:`cf-assistant-card__connecting-eyebrow`,children:e.agentName}),w(`strong`,{children:`Connecting with the AI…`})]})]});let re=D&&u&&w(Ze,{voiceState:a,muted:c,onToggleMute:l??(()=>{}),onEndCall:u,onTalkNow:d??(()=>{}),showTalkNow:f,micLevel:p,theaterMode:m,onToggleTheater:h??(()=>{}),onMinimize:g??(()=>{}),audioDevices:_,selectedAudioDeviceId:v,onSelectAudioDevice:y??(()=>{})});return O?w(`div`,{class:`cf-assistant-card cf-assistant-card--pinned cf-assistant-card--compact`,children:T(`button`,{type:`button`,class:`cf-assistant-card__compact-speak`,onClick:r,children:[x?w(`span`,{class:`cf-assistant-card__compact-avatar`,children:w(`img`,{src:x,alt:``})}):null,w(`span`,{class:`cf-assistant-card__compact-mic`,"aria-hidden":`true`,children:w(M,{})}),w(`span`,{class:`cf-assistant-card__compact-label`,children:te})]})}):T(`div`,{class:`cf-assistant-card ${s?`cf-assistant-card--pinned`:``} ${i?`is-speaking`:``}`,children:[(S||e.allowVoiceInput)&&T(`div`,{class:A,style:j,children:[T(`div`,{class:`cf-assistant-card__media ${S?`cf-assistant-card__media--uploaded`:`cf-assistant-card__media--generated`}${Te(e)}`,children:[E?w(`video`,{src:S,muted:!0,loop:!0,playsInline:!0,autoPlay:!0}):S?w(`img`,{src:S,alt:``}):w(`div`,{class:`cf-assistant-card__avatar-stage${Te(e)}`,children:T(`div`,{class:`cf-assistant-card__face`,children:[w(`span`,{class:`cf-assistant-card__initials`,children:V(e)}),w(`span`,{class:`cf-assistant-card__eye cf-assistant-card__eye--left`}),w(`span`,{class:`cf-assistant-card__eye cf-assistant-card__eye--right`}),w(`span`,{class:`cf-assistant-card__mouth`})]})}),S&&!E&&w(`span`,{class:`cf-assistant-card__mouth cf-assistant-card__mouth--overlay`}),w(`span`,{class:`cf-avatar-aura cf-avatar-aura--one`,"aria-hidden":`true`}),w(`span`,{class:`cf-avatar-aura cf-avatar-aura--two`,"aria-hidden":`true`}),w(`span`,{class:`cf-avatar-listen-ring`,"aria-hidden":`true`}),T(`span`,{class:`cf-avatar-wave`,"aria-hidden":`true`,children:[w(`span`,{}),w(`span`,{}),w(`span`,{}),w(`span`,{})]})]}),ne,e.allowVoiceInput&&(re||T(`button`,{type:`button`,class:`cf-assistant-card__speak`,onClick:r,children:[w(M,{}),te]}))]}),!s&&T(C,{children:[e.agentDescription?w(`p`,{class:`cf-assistant-card__copy`,children:e.agentDescription}):w(`p`,{class:`cf-assistant-card__copy`,children:e.greeting}),ee.length>0&&w(`div`,{class:`cf-assistant-card__chips`,children:ee.map(e=>w(`button`,{type:`button`,class:`cf-assistant-card__chip`,onClick:()=>n(e),children:e},e))}),e.disclaimerText||e.assistantPrivacyUrl?T(`p`,{class:`cf-assistant-card__privacy`,children:[e.disclaimerText||`This chat may be recorded for quality and support.`,e.assistantPrivacyUrl?T(C,{children:[` `,w(`a`,{href:e.assistantPrivacyUrl,target:`_blank`,rel:`noopener noreferrer nofollow`,children:`Privacy Policy`})]}):null]}):null]})]})},U={public_book_demo:{type:`book-demo`,label:`Book a demo`,description:`Pick a time or request a demo from the team.`,Icon:N},public_submit_inquiry:{type:`inquiry`,label:`Leave a message`,description:`Send your question and contact details.`,Icon:P},public_request_callback:{type:`request-callback`,label:`Request a callback`,description:`Share your phone number and best time to call.`,Icon:F},public_subscribe_newsletter:{type:`subscribe-newsletter`,label:`Subscribe`,description:`Get product updates and useful announcements.`,Icon:P}},W=({field:e,value:t,onInput:n})=>{let r=e.placeholder??e.label,i={class:`cf-form__input`,placeholder:e.required?`${r} *`:r,value:t,"aria-label":e.label,onInput:e=>n(e.target.value)};return e.kind===`textarea`?w(`textarea`,{rows:2,...i}):w(`input`,{type:e.kind,...i})},je=({spec:e,visitor:t,onSubmit:r,onCancel:i})=>{let a=n(),o=Ce(),[s,c]=S(()=>{let n={};for(let r of e.fields)r.identity&&t[r.identity]&&(n[r.key]=t[r.identity]);return n}),[l,u]=S(`idle`),[d,f]=S(``),p=e=>!!(e.identity&&t[e.identity]?.trim()),m=e.fields.filter(e=>!p(e)),h=m.every(e=>!e.required||(s[e.key]?.trim()??``)!==``),g=t.email||t.name||``;return l===`done`?T(`div`,{class:`cf-form cf-form--done`,children:[w(L,{}),w(`span`,{children:d})]}):T(`div`,{class:`cf-form`,ref:o,children:[w(`div`,{class:`cf-form__title`,children:e.title}),m.length===0&&g&&T(`div`,{class:`cf-form__as`,children:[`as `,g]}),m.map(e=>w(W,{field:e,value:s[e.key]??``,onInput:t=>c(n=>({...n,[e.key]:t}))},e.key)),l===`error`&&w(`div`,{class:`cf-form__err`,children:a.formError}),T(`div`,{class:`cf-form__actions`,children:[i&&w(`button`,{type:`button`,class:`cf-form__cancel`,onClick:i,children:`Cancel`}),w(`button`,{type:`button`,class:`cf-form__submit`,disabled:!h||l===`submitting`,onClick:async()=>{if(!h||l===`submitting`)return;u(`submitting`);let t={},n={};for(let r of e.fields){let e=s[r.key]?.trim();e&&(t[r.key]=e,r.identity&&(n[r.identity]=e))}try{f((await r(t,n)).note||a.formThanks),u(`done`)}catch{u(`error`)}},children:l===`submitting`?a.sending:e.submit})]})]})},G=e=>String(e).padStart(2,`0`),Me=()=>{let e=[];for(let t=9;t<=17;t++)e.push(`${G(t)}:00`),e.push(`${G(t)}:30`);return e},Ne=e=>{let t=new Date;return t.setHours(0,0,0,0),Array.from({length:e},(e,n)=>{let r=new Date(t);return r.setDate(t.getDate()+n),r})},Pe=(e,t)=>{let[n,r]=t.split(`:`).map(Number),i=new Date(e.getFullYear(),e.getMonth(),e.getDate(),n??0,r??0);try{return new Intl.DateTimeFormat(void 0,{weekday:`short`,day:`numeric`,month:`short`,year:`numeric`,hour:`2-digit`,minute:`2-digit`,timeZoneName:`short`}).format(i)}catch{return`${e.toDateString()} ${t}`}},K=(e,t)=>{let[n,r]=t.split(`:`).map(Number);return new Date(e.getFullYear(),e.getMonth(),e.getDate(),n??0,r??0)},Fe=({visitor:e,onSubmit:t,onCancel:r,onDemoSlots:i,scheduler:a})=>{let o=n(),s=Ce(),c=b(()=>Ne(14),[]),l=b(()=>Me(),[]),[u,d]=S(b(()=>{let e=Date.now();for(let t=0;t<c.length;t++)if(l.some(n=>K(c[t],n).getTime()>e))return t;return 0},[c,l])),[f,m]=S(null),[h,g]=S(e.name??``),[_,v]=S(e.email??``),[x,E]=S(`idle`),[ee,D]=S(``),[te,k]=S(``),[A,j]=S(``),ne=a?.connected&&a.mode===`link`,M=async()=>{if(x===`submitting`||!e.name?.trim()&&!h.trim()||!e.email?.trim()&&!_.trim())return;E(`submitting`),k(``);let n={};_.trim()&&(n.email=_.trim()),h.trim()&&(n.name=h.trim());try{let e=await t({..._.trim()?{visitorEmail:_.trim()}:{},...h.trim()?{visitorName:h.trim()}:{}},n),r=e.booking?.schedulingLink||a?.bookingLink||``;if(!r){E(`error`);return}try{window.open(r,`_blank`,`noopener,noreferrer`)}catch{}j(r),D(e.note||o.bookingLinkOpened),E(`done`)}catch{E(`error`)}},[re,N]=S(new Set),[P,F]=S([]),[ae,I]=S(0),[oe,se]=S(!1);y(()=>{if(!i)return;let e=!0,t=new Date,n=new Date;return n.setDate(n.getDate()+15),i(t.toISOString(),n.toISOString()).then(t=>{e&&(N(new Set(t.taken.map(e=>Date.parse(e)).filter(e=>!Number.isNaN(e)))),F(t.busy.map(e=>[Date.parse(e.start),Date.parse(e.end)]).filter(([e,t])=>!Number.isNaN(e)&&!Number.isNaN(t))))}).catch(()=>{}),()=>{e=!1}},[i,ae]);let R=!!e.email?.trim(),ce=!!e.name?.trim(),le=!!f&&(ce||h.trim()!==``)&&(R||_.trim()!==``),ue=e.email||e.name||``,de=e=>re.has(K(c[u],e).getTime()),fe=e=>K(c[u],e).getTime()<=Date.now(),z=e=>{let t=K(c[u],e).getTime(),n=t+18e5;return P.some(([e,r])=>t<r&&n>e)},pe=async()=>{if(!le||x===`submitting`||!f)return;E(`submitting`),se(!1),k(``);let e=K(c[u],f),n=Pe(c[u],f),r={};_.trim()&&(r.email=_.trim()),h.trim()&&(r.name=h.trim());try{let i=await t({preferredAt:n,slotAt:e.toISOString(),..._.trim()?{visitorEmail:_.trim()}:{},...h.trim()?{visitorName:h.trim()}:{}},r);i.booking?.confirmed?(D(i.note||p(o.bookingConfirmed,{when:n})),j(i.booking.meetingUrl||i.booking.eventLink||``)):D(i.note||p(o.bookingRequested,{when:n})),E(`done`)}catch(t){if(t?.status===409)N(t=>new Set(t).add(e.getTime())),m(null),se(!0),I(e=>e+1),E(`idle`);else{let e=t?.message;k(e&&e.length<120?e:``),E(`error`)}}};return x===`done`?T(`div`,{class:`cf-form cf-form--done`,children:[w(L,{}),w(`span`,{children:ee}),A&&T(`a`,{class:`cf-booking__link`,href:A,target:`_blank`,rel:`noopener noreferrer`,children:[ne?o.bookingOpenScheduler:o.bookingMeetingLink,` `,w(ie,{})]})]}):ne?T(`div`,{class:`cf-form cf-booking`,ref:s,children:[w(`div`,{class:`cf-form__title`,children:O[`book-demo`].title}),w(`div`,{class:`cf-booking__hint`,children:p(o.bookingViaProvider,{provider:a?.label??`the scheduler`})}),R?ue?T(`div`,{class:`cf-form__as`,children:[`as `,ue]}):null:T(C,{children:[!e.name?.trim()&&w(`input`,{class:`cf-form__input`,type:`text`,placeholder:`${o.handoffName} *`,value:h,"aria-label":o.handoffName,onInput:e=>g(e.target.value)}),w(`input`,{class:`cf-form__input`,type:`email`,placeholder:`${o.handoffEmail} *`,value:_,"aria-label":o.handoffEmail,onInput:e=>v(e.target.value)})]}),x===`error`&&w(`div`,{class:`cf-form__err`,children:te||o.formError}),T(`div`,{class:`cf-form__actions`,children:[r&&w(`button`,{type:`button`,class:`cf-form__cancel`,onClick:r,children:o.cancel}),w(`button`,{type:`button`,class:`cf-form__submit`,disabled:x===`submitting`||!e.name?.trim()&&h.trim()===``||!R&&_.trim()===``,onClick:M,children:x===`submitting`?o.sending:o.bookingOpenScheduler})]})]}):T(`div`,{class:`cf-form cf-booking`,ref:s,children:[w(`div`,{class:`cf-form__title`,children:O[`book-demo`].title}),T(`div`,{class:`cf-booking__hint`,children:[o.bookingPickTime,` · `,w(`span`,{class:`cf-booking__dur`,children:o.bookingDuration})]}),w(`div`,{class:`cf-booking__dates`,role:`tablist`,"aria-label":`Pick a day`,children:c.map((e,t)=>T(`button`,{type:`button`,role:`tab`,"aria-selected":t===u,class:`cf-booking__date ${t===u?`is-selected`:``}`,onClick:()=>{d(t),m(null)},children:[w(`span`,{class:`cf-booking__dow`,children:e.toLocaleDateString(void 0,{weekday:`short`})}),w(`span`,{class:`cf-booking__dom`,children:e.getDate()})]},t))}),w(`div`,{class:`cf-booking__slots`,role:`listbox`,"aria-label":`Pick a time`,children:l.map(e=>{let t=fe(e),n=z(e),r=de(e),i=r||t||n;return w(`button`,{type:`button`,role:`option`,"aria-selected":f===e,disabled:i,title:t?`Earlier today`:n?`Busy on the calendar`:r?`Already booked`:void 0,class:`cf-booking__slot ${f===e?`is-selected`:``} ${i?`is-taken`:``}`,onClick:()=>m(e),children:e},e)})}),oe&&w(`div`,{class:`cf-form__err`,children:o.bookingSlotTaken}),ue?T(`div`,{class:`cf-form__as`,children:[`as `,ue]}):null,!ce&&w(`input`,{class:`cf-form__input`,type:`text`,placeholder:`${o.handoffName} *`,value:h,"aria-label":o.handoffName,onInput:e=>g(e.target.value)}),!R&&w(C,{children:w(`input`,{class:`cf-form__input`,type:`email`,placeholder:`${o.handoffEmail} *`,value:_,"aria-label":o.handoffEmail,onInput:e=>v(e.target.value)})}),x===`error`&&w(`div`,{class:`cf-form__err`,children:te||o.formError}),T(`div`,{class:`cf-form__actions`,children:[r&&w(`button`,{type:`button`,class:`cf-form__cancel`,onClick:r,children:o.cancel}),w(`button`,{type:`button`,class:`cf-form__submit`,disabled:!le||x===`submitting`,onClick:pe,children:x===`submitting`?o.sending:O[`book-demo`].submit})]})]})},Ie=({actions:e,visitor:t,onSubmitForm:n,onDemoSlots:r,scheduler:i,exclude:a=[]})=>{let[o,s]=S(null),[c,l]=S(!1),u=(e??[]).map(e=>U[e]).filter(e=>!!e&&!a.includes(e.type));if(u.length===0)return null;let d=()=>{s(null),l(!1)},f=()=>s(null);if(o===`book-demo`)return T(`div`,{class:`cf-action-drawer is-open`,role:`dialog`,"aria-label":`Book a demo`,children:[w(`div`,{class:`cf-action-drawer__handle`,"aria-hidden":`true`}),T(`div`,{class:`cf-action-drawer__head`,children:[T(`div`,{children:[w(`span`,{class:`cf-action-drawer__eyebrow`,children:`Contact options`}),w(`strong`,{children:`Book a demo`})]}),w(`button`,{type:`button`,class:`cf-action-drawer__close`,onClick:f,children:w(I,{})})]}),w(Fe,{visitor:t,onCancel:f,onSubmit:(e,t)=>n(`book-demo`,e,t),onDemoSlots:r,scheduler:i})]});if(o){let e=u.find(e=>e.type===o);return T(`div`,{class:`cf-action-drawer is-open`,role:`dialog`,"aria-label":e?.label??`Contact`,children:[w(`div`,{class:`cf-action-drawer__handle`,"aria-hidden":`true`}),T(`div`,{class:`cf-action-drawer__head`,children:[T(`div`,{children:[w(`span`,{class:`cf-action-drawer__eyebrow`,children:`Contact options`}),w(`strong`,{children:e?.label??O[o].title})]}),w(`button`,{type:`button`,class:`cf-action-drawer__close`,onClick:f,children:w(I,{})})]}),w(je,{spec:O[o],visitor:t,onCancel:f,onSubmit:(e,t)=>n(o,e,t)})]})}return c?T(`div`,{class:`cf-action-drawer cf-action-drawer--menu`,children:[w(`div`,{class:`cf-action-drawer__handle`,"aria-hidden":`true`}),T(`div`,{class:`cf-action-drawer__head`,children:[T(`div`,{children:[w(`span`,{class:`cf-action-drawer__eyebrow`,children:`Need help?`}),w(`strong`,{children:`Choose what you want to do`})]}),w(`button`,{type:`button`,class:`cf-action-drawer__close`,onClick:d,children:w(I,{})})]}),w(`div`,{class:`cf-action-drawer__grid`,children:u.map(({type:e,label:t,description:n,Icon:r})=>T(`button`,{type:`button`,class:`cf-action-card`,onClick:()=>s(e),children:[w(`span`,{class:`cf-action-card__icon`,children:w(r,{})}),T(`span`,{class:`cf-action-card__copy`,children:[w(`strong`,{children:t}),w(`small`,{children:n})]}),w(j,{})]},e))}),w(`p`,{class:`cf-action-drawer__note`,children:`We’ll ask for your full name and the best email or phone so the team can reach you.`})]}):T(`button`,{type:`button`,class:`cf-action-trigger`,onClick:()=>l(!0),children:[w(`span`,{class:`cf-action-trigger__icon`,children:w(P,{})}),T(`span`,{class:`cf-action-trigger__copy`,children:[w(`strong`,{children:`Contact options`}),w(`small`,{children:`Demo, message, callback`})]}),w(j,{})]})},Le=({hasEmail:e,visitor:t,question:r,onSubmitForm:i})=>{let a=n(),[o,s]=S(!1),[c,l]=S(!1),[u,d]=S(t.name??``),[f,m]=S(t.email??``);if(e)return T(`div`,{class:`cf-handoff cf-handoff--done`,children:[w(L,{}),w(`span`,{children:`We’ve alerted the team. If someone is available, they can continue here.`})]});if(o){let e=t.email||f;return T(`div`,{class:`cf-handoff cf-handoff--done`,children:[w(L,{}),w(`span`,{children:p(a.handoffShared,{email:e})})]})}let h=async()=>{if(!(!f.trim()||c)){l(!0);try{await i(`inquiry`,{visitorEmail:f.trim(),...u.trim()?{visitorName:u.trim()}:{},message:r||`I had a question the assistant couldn’t answer.`,subject:`Help request from chat`},{email:f.trim(),name:u.trim()||void 0}),s(!0)}catch{l(!1)}}};return T(`div`,{class:`cf-handoff`,children:[w(`div`,{class:`cf-handoff__title`,children:a.handoffTitle}),w(`input`,{class:`cf-form__input`,type:`text`,placeholder:a.handoffName,value:u,"aria-label":a.handoffName,onInput:e=>d(e.target.value)}),w(`input`,{class:`cf-form__input`,type:`email`,placeholder:`${a.handoffEmail} *`,value:f,"aria-label":a.handoffEmail,onInput:e=>m(e.target.value)}),w(`button`,{type:`button`,class:`cf-form__submit`,disabled:!f.trim()||c,onClick:h,children:c?a.sending:a.handoffNotify})]})},Re=({text:e})=>{let t=n(),[r,i]=S(!1);return T(`button`,{type:`button`,class:`cf-tool`,onClick:async()=>{try{await navigator.clipboard.writeText(e),i(!0),setTimeout(()=>i(!1),1500)}catch{}},"aria-label":t.copy,children:[w(r?L:R,{}),r?t.copied:t.copy]})},ze=({items:e,onPick:t})=>e.length===0?null:w(`div`,{class:`cf-starters`,children:e.map((e,n)=>w(`button`,{type:`button`,class:`cf-starter`,onClick:()=>t(e),children:e},n))}),Be=({items:e})=>{let t=e.filter(e=>e.label.trim()&&e.url.trim()).slice(0,4);return t.length===0?null:w(`div`,{class:`cf-featured-links`,children:t.map((e,t)=>T(`a`,{class:`cf-featured-link`,href:e.url,target:`_blank`,rel:`noopener noreferrer nofollow`,title:e.label,children:[w(ie,{}),w(`span`,{children:e.label})]},`${e.url}-${t}`))})},Ve=({msg:e,onRate:t})=>{let r=n(),[i,a]=S(!1),[o,s]=S(``),c=e.feedback,l=()=>{t(e.id,`up`),a(!1)},u=()=>{t(e.id,`down`),a(!0)},d=()=>{t(e.id,`down`,o.trim()),a(!1)};return T(`div`,{class:`cf-feedback`,children:[T(`div`,{class:`cf-feedback__row`,children:[w(`button`,{type:`button`,class:`cf-feedback__btn ${c===`up`?`is-active`:``}`,"aria-label":r.feedbackHelpful,"aria-pressed":c===`up`,onClick:l,children:w(z,{})}),w(`button`,{type:`button`,class:`cf-feedback__btn ${c===`down`?`is-active`:``}`,"aria-label":r.feedbackNotHelpful,"aria-pressed":c===`down`,onClick:u,children:w(pe,{})}),c&&!i&&w(`span`,{class:`cf-feedback__thanks`,children:r.feedbackThanks})]}),i&&c===`down`&&T(`div`,{class:`cf-feedback__comment`,children:[w(`textarea`,{class:`cf-feedback__input`,rows:2,placeholder:r.feedbackCommentPlaceholder,value:o,onInput:e=>s(e.target.value)}),w(`button`,{type:`button`,class:`cf-feedback__send`,onClick:d,children:r.feedbackSend})]})]})},He=({msg:e,persona:r,isLast:i,visitor:a,hasEmail:o,lastQuestion:s,showActions:c,onPickReply:l,onSubmitForm:u,onDemoSlots:d,onRetry:f,ratable:p,onRate:m,onExpandVisualization:h})=>{let g=n(),_=e.role===`user`,v=e.liveEventType??``,y=e.content.trim().toLowerCase(),b=v===`handoff_queued`||v===`agent_joined`||v===`agent_left`||v===`conversation_ended`||y.includes(`joined the chat`)||y.includes(`left the chat`)||y.includes(`support agents will be with you`),x=e.role===`system`||b,S=e.requestedContactFields?.includes(`email`)===!0,E=i&&!_&&!x&&!!(e.handoffOffered||S),ee=E&&!o?[`inquiry`]:[],D=!e.pending&&!e.streaming;return x?w(`div`,{class:`cf-msg cf-msg--system`,children:T(`div`,{class:`cf-system-event`,children:[w(`div`,{class:`cf-system-event__mark`,"aria-hidden":`true`}),w(`div`,{class:`cf-system-event__text`,children:e.content}),e.createdAt&&w(`div`,{class:`cf-system-event__time`,children:new Date(e.createdAt).toLocaleString(void 0,{day:`2-digit`,month:`short`,year:`numeric`,hour:`numeric`,minute:`2-digit`})})]})}):T(`div`,{class:`cf-msg cf-msg--${_?`user`:`agent`}`,children:[!_&&w(De,{persona:r,small:!0}),T(`div`,{class:`cf-msg__col`,children:[e.pending&&e.content===``?w(Oe,{}):e.imageUrl?T(`div`,{class:`cf-msg__bubble cf-msg__bubble--media`,children:[w(`img`,{class:`cf-msg__media`,src:e.imageUrl,alt:`GIF`}),e.content&&w(`span`,{class:`cf-msg__caption`,children:e.content})]}):T(`div`,{class:`cf-msg__bubble`,children:[_?e.content:t(e.content),e.streaming&&w(`span`,{class:`cf-caret`,"aria-hidden":`true`})]}),!_&&e.visualization?w(Ue,{visualization:e.visualization,onExpand:h?()=>h(e.id):void 0,expandControlId:e.id}):null,!_&&e.visualization?.explanation?w(Se,{explanation:e.visualization.explanation,onFollowUp:l,showLead:!e.content.toLocaleLowerCase().includes(e.visualization.explanation.headline.toLocaleLowerCase())}):null,_&&e.attachmentName&&T(`div`,{class:`cf-attach-chip`,title:e.attachmentName,children:[w(ue,{}),w(`span`,{children:e.attachmentName})]}),!_&&T(C,{children:[D&&(e.error||e.content)&&T(`div`,{class:`cf-msg__actions`,children:[w(`div`,{class:`cf-msg__tools`,children:e.error?T(`button`,{type:`button`,class:`cf-tool`,onClick:()=>f(e.id,e.retryText??``),children:[w(ce,{}),g.retry]}):w(Re,{text:e.content})}),p&&!e.error&&e.content&&w(Ve,{msg:e,onRate:m})]}),w(ke,{msg:e}),i&&w(H,{replies:e.suggestedReplies,onPick:l}),E&&w(Le,{hasEmail:o,visitor:a,question:s,onSubmitForm:u}),c&&w(Ie,{actions:e.availableActions,visitor:a,onSubmitForm:u,onDemoSlots:d,scheduler:r?.scheduler,exclude:ee})]})]})]})},Ue=({visualization:e,expanded:t=!1,onExpand:n,onClose:r,expandControlId:o})=>{let l=b(()=>c(e),[e]),[u,f]=S(l?.type);y(()=>f(l?.type),[l]);let p=b(()=>i(e),[e]),m=b(()=>c(e,u),[u,e]),h=e.rows??[],g=e.columns?.length?e.columns:Object.keys(h[0]??{}),_=g.map(t=>{let n=e.columnMetadata?.find(e=>e.key===t);return n?{key:t,label:n.label,dataType:n.dataType,currencyCode:n.currencyCode}:t});if(h.length===0)return w(xe,{});let v=w(ye,{answeredAt:e.freshness?.answeredAt,reportingPeriod:e.reportingPeriod,filters:e.appliedFilters,rowCount:e.rowCount??h.length}),x=()=>e.tableAvailable===!1||g.length===0?null:T(`div`,{class:`cf-analytics-visualization${t?` is-expanded`:``}`,children:[T(`div`,{class:`cf-analytics-visualization__header`,children:[T(`div`,{children:[w(`div`,{class:`cf-analytics-visualization__title`,children:e.title?.trim()||`Result details`}),v]}),T(`div`,{class:`cf-analytics-visualization__actions`,children:[e.downloadAvailable?w(`button`,{type:`button`,class:`cf-analytics-visualization__download`,onClick:()=>We(g,h),children:`Download`}):null,t&&r?w(`button`,{type:`button`,class:`cf-analytics-visualization__close`,"aria-label":`Restore assistant view`,onClick:r,children:w(I,{})}):n&&e.expandable!==!1?w(`button`,{type:`button`,class:`cf-analytics-visualization__expand`,"aria-label":`Expand table`,"data-visualization-message":o,onClick:n,children:w(me,{})}):null]})]}),w(s,{rows:h,columns:_,maxRows:100,expanded:t,classPrefix:`cf`})]});if(e.presentation===`table`||!e.presentation&&e.type===`table`)return x();let C=e.chartRecommendation?.valueFields?.[0]??e.valueFields?.[0]??e.value??g[1];if(e.presentation===`kpi`||!e.presentation&&e.type===`kpi`){let n=h[0]?.[C??g[0]??``],i=typeof n==`number`?n:Number(n),o=e.columnMetadata?.find(e=>e.key===C),s=Number.isFinite(i)?a(i,o,e):String(n??`No value`);return T(`div`,{class:`cf-analytics-visualization${t?` is-expanded`:``}`,children:[T(`div`,{class:`cf-analytics-visualization__header`,children:[T(`div`,{children:[w(`div`,{class:`cf-analytics-visualization__title`,children:`Live metric`}),v]}),t&&r?w(`button`,{type:`button`,class:`cf-analytics-visualization__close`,"aria-label":`Restore assistant view`,onClick:r,children:w(I,{})}):null]}),w(be,{label:o?.label??C??`Current value`,value:s,detail:e.explanation?.summary})]})}return m?T(`div`,{class:`cf-analytics-visualization${t?` is-expanded`:``}`,children:[T(`div`,{class:`cf-analytics-visualization__header`,children:[T(`div`,{children:[w(`div`,{class:`cf-analytics-visualization__title`,children:m.title}),v]}),T(`div`,{class:`cf-analytics-visualization__actions`,children:[p.length>1?T(`label`,{class:`cf-analytics-chart-picker`,children:[w(`span`,{children:`Chart`}),w(`select`,{"aria-label":`Chart type`,value:u??m.type,onChange:e=>f(e.currentTarget.value),children:p.map(e=>w(`option`,{value:e.type,children:e.label},e.type))})]}):null,t&&r?w(`button`,{type:`button`,class:`cf-analytics-visualization__close`,"aria-label":`Restore assistant view`,onClick:r,children:w(I,{})}):n&&e.expandable!==!1?w(`button`,{type:`button`,class:`cf-analytics-visualization__expand`,"aria-label":`Expand chart`,"data-visualization-message":o,onClick:n,children:w(me,{})}):null]})]}),w(d,{model:m,expanded:t}),w(`p`,{class:`cf-analytics-chart__summary`,children:m.summary}),e.downloadAvailable?w(`button`,{type:`button`,class:`cf-analytics-visualization__download`,onClick:()=>We(g,h),children:`Download this data`}):null]}):x()},We=(e,t)=>{if(typeof document>`u`||e.length===0)return;let n=r(t,e),i=URL.createObjectURL(new Blob([n],{type:`text/csv;charset=utf-8`})),a=document.createElement(`a`);a.href=i,a.download=`analytics-result.csv`,a.click(),URL.revokeObjectURL(i)},Ge=e=>new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result).split(`,`)[1]??``),r.onerror=n,r.readAsDataURL(e)}),Ke=({onPick:e})=>w(`div`,{class:`cf-picker cf-emoji`,children:te.map(t=>T(`div`,{class:`cf-emoji__group`,children:[w(`div`,{class:`cf-emoji__label`,children:t.name}),w(`div`,{class:`cf-emoji__grid`,children:t.emojis.map((t,n)=>w(`button`,{type:`button`,class:`cf-emoji__btn`,onClick:()=>e(t),"aria-label":t,children:t},n))})]},t.name))}),qe=({onSearch:e,onPick:t})=>{let r=n(),[i,a]=S(``),[o,s]=S([]),[c,l]=S(!0);return y(()=>{let t=!0;l(!0);let n=setTimeout(()=>{e(i).then(e=>t&&(s(e),l(!1))).catch(()=>t&&(s([]),l(!1)))},300);return()=>{t=!1,clearTimeout(n)}},[i,e]),T(`div`,{class:`cf-picker cf-gif`,children:[w(`input`,{class:`cf-gif__search`,placeholder:r.searchGifs,value:i,"aria-label":r.searchGifs,onInput:e=>a(e.target.value)}),w(`div`,{class:`cf-gif__grid`,children:c?w(`div`,{class:`cf-gif__hint`,children:r.searchingGifs}):o.length===0?w(`div`,{class:`cf-gif__hint`,children:r.noGifs}):o.map(e=>w(`button`,{type:`button`,class:`cf-gif__item`,onClick:()=>t(e.url),"aria-label":e.alt,children:w(`img`,{src:e.preview,alt:e.alt,loading:`lazy`})},e.id))}),w(`div`,{class:`cf-gif__powered`,children:`via Tenor`})]})},Je=e=>{switch(e){case`connecting`:return`Connecting with AI…`;case`listening`:return`Listening now — go ahead.`;case`speaking`:return`AI is speaking — talk to interrupt.`;case`processing`:return`Understanding what you said…`;case`noise`:return`I couldn't hear clear words. Try again closer to the mic.`;case`misunderstood`:return`I didn't understand that. Please try again.`;case`denied`:return`Microphone access is blocked. Allow the mic or type your question.`;case`muted`:return`Muted — tap the mic to unmute.`;case`timeout`:return`Didn't hear anything for a while — ending the call.`;default:return``}},Ye=({muted:e,listening:t,micLevel:n,onToggleMute:r})=>w(`button`,{type:`button`,class:`cf-call-btn ${e?`is-muted`:``} ${t?`is-listening`:``} ${t&&n>=.004?`is-hot`:``}`,"aria-label":e?`Unmute microphone`:`Mute microphone`,"aria-pressed":e,onClick:r,style:t?{"--cf-wave":String(Math.max(.2,Math.min(1,n*6)))}:void 0,children:w(e?re:M,{})}),Xe=({audioDevices:e,selectedAudioDeviceId:t,onSelectAudioDevice:n})=>{let[r,i]=S(!1),a=x(null);y(()=>{if(!r)return;let e=e=>{a.current&&!e.composedPath().includes(a.current)&&i(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[r]);let o=[{deviceId:``,label:`Default microphone`},...e];return T(`div`,{class:`cf-call-more`,ref:a,children:[w(`button`,{type:`button`,class:`cf-call-btn cf-call-btn--microphones`,"aria-label":`Choose microphone`,"aria-expanded":r,onClick:()=>i(e=>!e),children:w(j,{})}),r&&T(`div`,{class:`cf-call-menu`,role:`menu`,children:[w(`div`,{class:`cf-call-menu__label`,children:`Microphone`}),o.map(e=>T(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":e.deviceId===t,class:`cf-call-menu__item ${e.deviceId===t?`is-active`:``}`,onClick:()=>{n(e.deviceId),i(!1)},children:[e.deviceId===t?w(L,{}):w(`span`,{class:`cf-call-menu__spacer`}),w(`span`,{children:e.label})]},e.deviceId))]})]})},Ze=({voiceState:e,muted:t,onToggleMute:n,onEndCall:r,onTalkNow:i,showTalkNow:a,micLevel:o,theaterMode:s,onToggleTheater:c,onMinimize:l,audioDevices:u,selectedAudioDeviceId:d,onSelectAudioDevice:f})=>T(`div`,{class:`cf-call-controls`,children:[w(Ye,{muted:t,listening:e===`listening`&&!t,micLevel:o,onToggleMute:n}),w(Xe,{audioDevices:u,selectedAudioDeviceId:d,onSelectAudioDevice:f}),a&&w(`button`,{type:`button`,class:`cf-call-btn cf-call-btn--talk`,"aria-label":`Talk now`,onClick:i,children:w(M,{})}),w(`button`,{type:`button`,class:`cf-call-btn`,"aria-label":s?`Exit expanded view`:`Expand view`,"aria-pressed":s,onClick:c,children:w(s?he:me,{})}),w(`button`,{type:`button`,class:`cf-call-btn`,"aria-label":`Minimize voice chat`,onClick:l,children:w(ge,{})}),w(`button`,{type:`button`,class:`cf-call-btn cf-call-btn--end`,"aria-label":`End voice chat`,onClick:r,children:w(de,{})})]}),Qe=({persona:e,voiceState:t,muted:n,onToggleMute:r,onEndCall:i,micLevel:a,onExpand:o})=>{let s=e=>e.stopPropagation(),c=e?.assistantMediaUrl?.trim()||e?.agentAvatarUrl?.trim()||``,l=e?.assistantMediaKind===`video`&&!!c,u=e?.agentName||`Assistant`;return T(`div`,{class:[`cf-floating-call-card`,t===`listening`&&!n?`is-listening`:``,t===`speaking`?`is-speaking`:``,t===`processing`||t===`connecting`?`is-thinking`:``,n?`is-muted`:``].filter(Boolean).join(` `),style:t===`listening`&&!n?{"--cf-listen":String(Math.max(.18,Math.min(1,a*8)))}:void 0,role:`button`,tabIndex:0,"aria-label":`Reopen voice chat with ${u}`,onClick:o,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o())},children:[w(`div`,{class:`cf-floating-call-card__media`,"aria-hidden":`true`,children:c?l?w(`video`,{src:c,muted:!0,loop:!0,playsInline:!0,autoPlay:!0}):w(`img`,{src:c,alt:``}):T(`div`,{class:`cf-floating-call-card__avatar${Te(e)}`,children:[w(`span`,{children:V(e)}),w(`span`,{class:`cf-floating-call-card__eye cf-floating-call-card__eye--left`}),w(`span`,{class:`cf-floating-call-card__eye cf-floating-call-card__eye--right`}),w(`span`,{class:`cf-floating-call-card__mouth`})]})}),w(`div`,{class:`cf-floating-call-card__shade`,"aria-hidden":`true`}),T(`div`,{class:`cf-floating-call-card__controls`,onClick:s,onKeyDown:s,role:`presentation`,children:[w(Ye,{muted:n,listening:t===`listening`&&!n,micLevel:a,onToggleMute:r}),w(`button`,{type:`button`,class:`cf-call-btn cf-call-btn--restore`,"aria-label":`Restore voice chat`,onClick:e=>{s(e),o()},children:w(B,{})}),w(`button`,{type:`button`,class:`cf-call-btn cf-call-btn--end`,"aria-label":`End voice chat`,onClick:e=>{s(e),i()},children:w(de,{})})]})]})},$e=({onSend:e,onSendGif:t,onTyping:r,disabled:i,allowVoice:a,onTranscribe:o,gifEnabled:s,onSearchGifs:c,allowAttach:l,onExtract:u,voiceStartSignal:d=0,onVoiceStateChange:f})=>{let p=n(),[m,h]=S(``),[g,_]=S(!1),[v,b]=S(!1),[E,te]=S(`idle`),[O,k]=S(`none`),[A,j]=S(null),[re,ie]=S(!1),[N,P]=S(``),F=x(null),oe=x(null),se=x(null),L=x(null),R=x([]),ce=x(void 0),le=x(null),de=x(void 0),fe=x(0),z=e=>{te(e),f?.(e)},pe=()=>{ce.current&&window.clearTimeout(ce.current),ce.current=void 0,de.current&&cancelAnimationFrame(de.current),de.current=void 0,le.current?.close().catch(()=>void 0),le.current=null};y(()=>{let e=F.current;e&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,110)}px`)},[m]),y(()=>{if(O===`none`)return;let e=e=>{oe.current&&!e.composedPath().includes(oe.current)&&k(`none`)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[O]);let me=e=>k(t=>t===e?`none`:e),he=e=>{let t=F.current;if(!t){h(t=>t+e);return}let n=t.selectionStart??m.length,r=t.selectionEnd??m.length;h(m.slice(0,n)+e+m.slice(r)),requestAnimationFrame(()=>{t.focus();let r=n+e.length;t.setSelectionRange(r,r)})},ge=e=>{k(`none`),t(e)},B=async e=>{let t=e.target,n=t.files?.[0];if(t.value=``,n){if(P(``),n.size>8388608){P(p.attachTooLarge);return}ie(!0);try{let e=await u(await Ge(n),n.type||`application/octet-stream`,n.name);if(!e){P(p.attachFailed);return}j({name:n.name,text:e})}catch{P(p.attachFailed)}finally{ie(!1)}}},_e=(!!m.trim()||!!A)&&!i&&!re&&!v,ve=()=>{_e&&(e(m,A?{attachmentName:A.name,attachmentText:A.text}:void 0),r?.(!1),h(``),j(null),P(``))},ye=t=>{let n=t.trim();if(!n||i){z(`misunderstood`),window.setTimeout(()=>z(`idle`),2500);return}let a=m.trim();e(a?`${a} ${n}`:n),r?.(!1),h(``),j(null),P(``),z(`idle`)},be=e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),ve()):e.key===`Escape`&&O!==`none`&&(e.preventDefault(),e.stopPropagation(),k(`none`))},xe=async()=>{if(g){D(L.current);return}try{z(`connecting`);let e=await navigator.mediaDevices.getUserMedia({audio:!0}),t=ee(e);R.current=[],fe.current=0;try{let t=window.AudioContext??window.webkitAudioContext;if(t){let n=new t;le.current=n;let r=n.createMediaStreamSource(e),i=n.createAnalyser();i.fftSize=512,r.connect(i);let a=new Uint8Array(i.frequencyBinCount),o=()=>{i.getByteTimeDomainData(a);let e=0;for(let t of a){let n=(t-128)/128;e+=n*n}fe.current=Math.max(fe.current,Math.sqrt(e/a.length)),de.current=requestAnimationFrame(o)};o()}}catch{}t.ondataavailable=e=>e.data.size>0&&R.current.push(e.data),t.onstop=async()=>{pe(),e.getTracks().forEach(e=>e.stop()),_(!1);let n=new Blob(R.current,{type:t.mimeType||`audio/webm`});if(n.size===0||n.size<900||fe.current<.006){z(`noise`),window.setTimeout(()=>z(`idle`),3200);return}b(!0),z(`processing`);try{let e=await Ge(n);if(!e.trim()){z(`noise`),window.setTimeout(()=>z(`idle`),3200);return}let t=typeof navigator<`u`&&(navigator.languages?.[0]||navigator.language)||void 0;ye(await o(e,n.type,t))}catch{z(`misunderstood`),window.setTimeout(()=>z(`idle`),3e3)}finally{b(!1)}},L.current=t,t.start(250),_(!0),z(`listening`),ce.current=window.setTimeout(()=>{D(L.current)},12e3)}catch{z(`denied`),window.setTimeout(()=>z(`idle`),3500)}};return y(()=>{!d||!a||i||g||v||xe()},[d]),y(()=>()=>pe(),[]),T(`div`,{class:`cf-composer`,ref:oe,children:[O===`emoji`&&w(Ke,{onPick:he}),O===`gif`&&w(qe,{onSearch:c,onPick:ge}),(A||re||N)&&w(`div`,{class:`cf-attach-row`,children:re?w(`span`,{class:`cf-attach-status`,children:p.attaching}):N?w(`span`,{class:`cf-attach-status cf-attach-status--err`,children:N}):A&&T(`span`,{class:`cf-attach-chip`,title:A.name,children:[w(ue,{}),w(`span`,{children:A.name}),w(`button`,{type:`button`,class:`cf-attach-x`,"aria-label":`Remove attachment`,onClick:()=>j(null),children:w(I,{})})]})}),E!==`idle`&&T(`div`,{class:`cf-voice-state`,"aria-live":`polite`,children:[w(`span`,{class:`cf-voice-state__dot ${g?`is-live`:``}`}),Je(E)]}),T(`div`,{class:`cf-composer__field`,children:[w(`button`,{type:`button`,class:`cf-iconbtn ${O===`emoji`?`is-active`:``}`,"aria-label":p.emoji,"aria-pressed":O===`emoji`,onClick:()=>me(`emoji`),children:w(O===`emoji`?I:ae,{})}),s&&w(`button`,{type:`button`,class:`cf-iconbtn cf-gifbtn ${O===`gif`?`is-active`:``}`,"aria-label":p.gifs,"aria-pressed":O===`gif`,onClick:()=>me(`gif`),children:w(`span`,{class:`cf-gif-label`,children:`GIF`})}),l&&T(C,{children:[w(`input`,{ref:se,type:`file`,class:`cf-file-input`,accept:`image/png,image/jpeg,image/webp,image/gif,application/pdf`,onChange:B,tabIndex:-1,"aria-hidden":`true`}),w(`button`,{type:`button`,class:`cf-iconbtn`,"aria-label":p.attachFile,disabled:re,onClick:()=>se.current?.click(),children:w(ue,{})})]}),w(`textarea`,{ref:F,class:`cf-textarea`,rows:1,placeholder:p.composerPlaceholder,value:m,"aria-label":p.composerPlaceholder,disabled:i,onInput:e=>{let t=e.target.value;h(t),r?.(!!t.trim())},onKeyDown:be}),a&&w(`button`,{type:`button`,class:`cf-iconbtn cf-mic ${g?`is-recording`:``}`,"aria-label":g?p.stopRecording:p.recordVoice,"aria-pressed":g,disabled:v||i,onClick:xe,children:w(M,{})}),w(`button`,{type:`button`,class:`cf-send`,"aria-label":p.send,disabled:!_e,onClick:ve,children:w(ne,{})})]})]})},et=({name:e,greeting:t})=>T(`section`,{class:`cf-empty-welcome`,"aria-label":`${e} welcome`,children:[w(`span`,{class:`cf-empty-welcome__eyebrow`,children:`Ready when you are`}),w(`h2`,{children:e}),t?w(`p`,{children:t}):w(`p`,{children:`Ask a question, leave a message, or book a demo.`})]}),tt=e=>{let[t,n]=S(`light`);return y(()=>{if(e!==`auto`||typeof matchMedia>`u`)return;let t=matchMedia(`(prefers-color-scheme: dark)`),r=()=>n(t.matches?`dark`:`light`);return r(),t.addEventListener(`change`,r),()=>t.removeEventListener(`change`,r)},[e]),e===`auto`?t:e},nt=1e4,rt=.0022,it=1600,at=6e4,ot=e=>e.replace(/\[[^\]]{0,60}\]/g,` `).replace(/\(([^)]{0,60})\)/g,(e,t)=>st.has(t.trim().toLowerCase().replace(/[.!?,…]+$/,``).replace(/\s+/g,` `))?` `:e).replace(/\*[^*]{0,60}\*/g,` `).replace(/\s+/g,` `).trim(),st=new Set(`background noise.engine noise.noise.inaudible.unintelligible.silence.no speech.static.music.laughter.applause.wind.breathing.click.clicks.clicking.mouse click.mouse clicks.beep.beeps.beeping.tap.taps.tapping.typing.keyboard typing.cough.coughing.sigh.hmm.mm.mmm.uh.um.ah.oh`.split(`.`)),ct=e=>{let t=e.trim().toLowerCase().replace(/[()[\]*]/g,` `).replace(/[.!?,…]+$/,``).replace(/\s+/g,` `).trim();return!t||/^(?:sh+\s*)+$/.test(t)?!0:st.has(t)},lt=e=>{let t=e.trim().toLowerCase().replace(/\s+/g,` `);return t?t.includes(`transcribe this audio recording verbatim`)||t.includes(`preserve the spoken language and any code-switching`)||t.includes(`output only the transcribed text, no commentary`):!1},ut={end:`end the call`,mute:`mute your microphone`,minimize:`minimize the chat`,expand:`expand the view`,shrink:`exit the expanded view`},dt=e=>e.trim().toLowerCase().replace(/[^\p{L}\p{N}\s']/gu,` `).replace(/\s+/g,` `).trim(),ft=[{action:`shrink`,re:/\b(?:exit|leave|quit|close)\b[\s\w]*\b(?:full ?screen|expanded|theat(?:er|re))\b|\bshrink\b|\bsmaller view\b/},{action:`end`,re:/\b(?:end|close|stop|finish|hang ?up|quit|exit)\b[\s\w]*\b(?:call|chat|conversation|convo|session|talking)\b|\bhang ?up\b|\bgood ?bye\b|^bye(?: bye)?$/},{action:`mute`,re:/\bmute\b|\bstop listening\b/},{action:`minimize`,re:/\bminimi[sz]e\b|\bhide\b[\s\w]*\b(?:chat|call|window|widget)\b/},{action:`expand`,re:/\bexpand\b|\bmaximi[sz]e\b|\bfull ?screen\b|\btheat(?:er|re) mode\b|\bbigger view\b/}],pt=/^(?:yes|yeah|yep|yup|sure|correct|confirm|affirmative|go ahead|do it|please do|ok(?:ay)?)\b/,mt=/^(?:no|nope|nah|cancel|never ?mind|don'?t|stop)\b/,ht=/^(?:end|close|stop|finish|hang ?up|quit|exit|bye|good ?bye)\b/,gt=e=>{let t=dt(e);if(!t)return null;for(let{action:e,re:n}of ft)if(n.test(t)){let n=t.split(` `).length;return{action:e,confident:e===`end`?n<=10:n<=6}}return null},_t=e=>`I didn't catch yes or no. Say yes to ${ut[e]}, or no to keep talking.`,vt=e=>`I caught some audio, but not enough clear words. Try again a little closer to the mic, or type your question for ${e?.agentName?.trim()||`the assistant`}.`,yt=e=>{let t=dt(e).replace(/\b(?:um|uh|erm|hmm)\b/g,``).trim();return!t||t.split(/\s+/).length<=2&&/^(?:can|could|would|will|do|does|is|are|what|why|how|where|when)\b/.test(t)?!0:/\b(?:can you|could you|would you|will you|do you|can i|could i|would i|i want to|i need to|tell me about|what about|how about|about|with|to|for|please)$/i.test(t)},bt=e=>new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result??``).split(`,`)[1]??``),r.onerror=()=>n(r.error),r.readAsDataURL(e)}),xt=(e,t)=>{let n=window.AudioContext??window.webkitAudioContext;if(!n)return null;let r,i=!1,a=new n;try{let n=a.createMediaStreamSource(e),o=a.createAnalyser();o.fftSize=512,n.connect(o);let s=new Uint8Array(o.frequencyBinCount),c=()=>{if(i)return;o.getByteTimeDomainData(s);let e=0;for(let t of s){let n=(t-128)/128;e+=n*n}t(Math.sqrt(e/s.length),performance.now()),i||(r=requestAnimationFrame(c))};c()}catch{return a.close().catch(()=>void 0),null}return{stop:()=>{i||(i=!0,r!==void 0&&cancelAnimationFrame(r),r=void 0,a.close().catch(()=>void 0))}}},St=e=>({...e?{deviceId:{exact:e}}:{},echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}),Ct=({transport:e,config:t,bindControls:n})=>{let r=t.strings,[i,a]=S(t.openByDefault),{persona:s,messages:c,sending:d,assistantSpeaking:p,visitor:m,hasEmail:h,liveMode:g,assignedAgentName:_,agentTypingName:b,starters:E,featuredLinks:te,send:O,sendGif:k,notifyTyping:ne,stop:M,retry:re,rateMessage:ie,injectAssistant:N,appendUserDraft:P,patchMessage:F,removeMessage:ae,submitCsat:I,submitForm:L,transcribe:R,extract:ce,searchGifs:ue,demoSlots:me,gifEnabled:he,identify:ge,ended:B,endConversation:ve,startNew:ye,history:be,viewingSessionId:xe,viewMessages:Se,openConversation:Ce,closeHistoryView:we,shutdown:Te,stopSpeaking:Ee,speakAssistantText:V}=l(e,t,i),[Oe,ke]=S(0),[H,U]=S(`idle`),[W,je]=S(!1),[G,Me]=S(!1),[Ne,Pe]=S(0),[K,Fe]=S(!1),[Le,Re]=S(null),[Ve,We]=S([]),[Ge,Ke]=S(``),[qe,Je]=S(()=>{try{return localStorage.getItem(`centrinfo:muted`)===`1`}catch{return!1}}),Ye=tt(t.theme),Xe=c.some(e=>e.role===`assistant`&&(e.pending||e.streaming)),Ze=d||Xe||p,st=s?.soundEnabled??!0;y(()=>{o(t.sound&&st&&!qe)},[t.sound,st,qe]);let ft=v(()=>{Je(e=>{let t=!e;try{localStorage.setItem(`centrinfo:muted`,t?`1`:`0`)}catch{}return t})},[]),Ct=x(null),wt=x(null),Tt=x(null),Et=x(0),q=x(!1),J=x(!1),Y=x(!1),Dt=x(0),Ot=x(!1),X=x(null),kt=x(null),At=x([]),jt=x(void 0),Mt=x(void 0),Nt=x(null),Pt=x(0),Ft=x(0),It=x(!1),Lt=x(0),Rt=x(null),zt=x(null),Bt=x(0),Vt=x(null),Ht=x([]),Ut=x(0),Wt=x(0),Gt=x(0),Kt=x(null),qt=x(!1),Jt=x(null),Yt=x(``),Xt=x(()=>{}),Zt=x(``),Qt=x(d),$t=x(p),en=x(Ze),tn=x(H),nn=x(0);y(()=>{Qt.current=d},[d]),y(()=>{$t.current=p},[p]),y(()=>{en.current=Ze},[Ze]),y(()=>{tn.current=H},[H]);let[rn,an]=S(!0),[on,sn]=S(!1),cn=x(0),[ln,un]=S(!1),dn=x(null),[fn,pn]=S(!1),[mn,hn]=S(!1),Z=!!xe,gn=Z?Se:c,_n=gn.find(e=>e.id===Le&&e.visualization)?.visualization;y(()=>{!Le||_n||(Re(null),Fe(!1))},[_n,Le]);let vn=v(()=>{a(!0),ke(0),f(`open`),t.onOpen?.(),t.onShow?.()},[t]),yn=v(()=>{a(!1),Fe(!1),Re(null),t.onClose?.(),t.onHide?.(),wt.current?.focus()},[t]),bn=v(()=>i?yn():vn(),[i,vn,yn]),xn=v(()=>un(!0),[]),Sn=v(()=>{ve(),un(!1)},[ve]),Cn=v(()=>{ye(),sn(!1),an(!0)},[ye]);y(()=>{ln&&dn.current?.focus()},[ln]),y(()=>{n({open:vn,close:yn,toggle:bn,identify:ge,startNew:ye,endConversation:ve,shutdown:Te})},[n,vn,yn,bn,ge,ye,ve,Te]),y(()=>{let e=c.filter(e=>e.role===`assistant`&&!e.pending).length;if(i){Et.current=e;return}e>Et.current&&ke(e-Et.current)},[c,i]),y(()=>{t.onUnreadChange?.(Oe)},[Oe,t]),y(()=>{let e=t.sessionDurationMinutes;if(!e||e<=0)return;let n=setTimeout(()=>Te(),e*60*1e3);return()=>clearTimeout(n)},[t.sessionDurationMinutes,c,i,Te]),y(()=>{let e=t.customLauncherSelector;if(!e||typeof document>`u`)return;let n=[];try{n=Array.from(document.querySelectorAll(e))}catch{return}let r=e=>{e.preventDefault(),bn()};return n.forEach(e=>e.addEventListener(`click`,r)),()=>n.forEach(e=>e.removeEventListener(`click`,r))},[t.customLauncherSelector,bn]);let wn=x(!1);y(()=>{let e=t.proactiveMessage?.trim();if(!e||wn.current)return;let n=t.proactiveOnPaths??[],r=typeof location<`u`?location.pathname:``;if(n.length>0&&!n.some(e=>r.includes(e)))return;let a=`centrinfo:proactive:${t.token.slice(0,12)}`;try{if(sessionStorage.getItem(a)===`1`)return}catch{}let o=setTimeout(()=>{if(!(i||B||c.some(e=>e.role===`user`))){wn.current=!0;try{sessionStorage.setItem(a,`1`)}catch{}N(e),vn()}},Math.max(0,t.proactiveDelaySeconds)*1e3);return()=>clearTimeout(o)},[t.proactiveMessage]),y(()=>{let e=Tt.current;if(!i||!e)return;let t=c[c.length-1],n=Date.now()<cn.current;t?.role===`user`||rn||n?(requestAnimationFrame(()=>{e.scrollTop=e.scrollHeight}),sn(!1),n&&an(!0)):sn(!0)},[c,i,d,rn]);let Tn=v(()=>{let e=Tt.current;if(!e)return;if(q.current&&!Z){an(!0),sn(!1);return}let t=e.scrollHeight-e.scrollTop-e.clientHeight<80;an(t),t&&sn(!1)},[Z]),En=v(()=>{let e=Tt.current;e&&(e.scrollTop=e.scrollHeight),sn(!1),an(!0)},[]),Dn=v(()=>{cn.current=Date.now()+3e3,requestAnimationFrame(En)},[En]);y(()=>{if(!i||Z||!W||H===`connecting`)return;cn.current=Date.now()+6e4,En();let e=requestAnimationFrame(()=>{En(),requestAnimationFrame(En)}),t=[80,180,360].map(e=>window.setTimeout(En,e));return()=>{cancelAnimationFrame(e),t.forEach(e=>window.clearTimeout(e))}},[p,c,i,En,d,W,Z,H]);let On=v(()=>{Ct.current?.querySelector(`.cf-textarea`)?.focus()},[]),kn=v(()=>{jt.current&&window.clearTimeout(jt.current),jt.current=void 0,Mt.current&&window.clearTimeout(Mt.current),Mt.current=void 0,Nt.current?.stop(),Nt.current=null,Pe(0)},[]),An=v(()=>{zt.current?.stop(),zt.current=null,D(Vt.current),Rt.current?.getTracks().forEach(e=>e.stop()),Rt.current=null,Bt.current=0,Wt.current=0},[]),jn=v(()=>{kn(),kt.current?.getTracks().forEach(e=>e.stop()),kt.current=null},[kn]),Q=v(()=>{q.current=!1,Y.current=!1,J.current=!1,Ot.current=!1,Kt.current=null,qt.current=!1,Jt.current=null,Yt.current=``,je(!1),Me(!1),Fe(!1),Re(null),An(),Ee();let e=X.current;e?.state===`recording`?D(e):(jn(),U(`idle`))},[An,Ee,jn]),Mn=v(()=>{K&&Re(null),Fe(!K)},[K]),Nn=v(e=>{Re(e),Fe(!0)},[]),Pn=v(()=>{let e=Le;Re(null),Fe(!1),window.requestAnimationFrame(()=>{Array.from(Ct.current?.querySelectorAll(`[data-visualization-message]`)??[]).find(t=>t.dataset.visualizationMessage===e)?.focus()})},[Le]),Fn=v(()=>{Re(null),Fe(!1)},[]),In=v((e,t)=>{if(Date.now()-Dt.current>=at){U(`timeout`),Mt.current=window.setTimeout(()=>Q(),2400);return}U(e),Mt.current=window.setTimeout(()=>{q.current&&!J.current&&!$t.current&&t()},1400)},[Q]),Ln=v((e,t,n)=>{Date.now()-Dt.current<at&&!J.current&&(Y.current=!0,V(t)),In(e,n)},[In,V]),Rn=v((e,t)=>{Dn(),Dt.current=Date.now(),Y.current=!0,t&&F(t,{content:e,pending:!0,streaming:!1});let n=()=>{if(q.current){if(Qt.current){window.setTimeout(n,80);return}t&&Jt.current===t&&(Jt.current=null),O(e,{forceVoicePlayback:!0,userMessageId:t})}};n()},[Dn,F,O]),zn=v(async(e,t,n,r=`normal`,i)=>{let a=null,o=e=>a||(Dn(),a=Jt.current||P(e),Jt.current=a,F(a,{content:Yt.current||e,pending:!0,streaming:!1}),a),c=()=>{a&&(Jt.current===a&&(Jt.current=null),Yt.current=``,ae(a),a=null)},l=()=>{Yt.current=``,U(`listening`),window.setTimeout(()=>{q.current&&!J.current&&!Qt.current&&!X.current&&n()},120)},u=e.size===0,d=e.size<350&&t<.001;if(u||d){if(r===`barge`){l();return}let e=Kt.current;Ln(`noise`,e?_t(e):vt(s),n),Yt.current=``;return}U(`processing`);let f=++nn.current,p=o(`Listening...`);try{let t=typeof navigator<`u`&&(navigator.languages?.[0]||navigator.language)||void 0;F(p,{content:Yt.current?`${Yt.current} ...`:`Transcribing...`,pending:!0});let a=await bt(e);if(!a.trim()){if(c(),r===`barge`){l();return}Ln(`noise`,Kt.current?_t(Kt.current):vt(s),n);return}let o=ot(await R(a,e.type,t,i));if(f!==nn.current){c();return}let u=[Yt.current,o].map(e=>e.trim()).filter(Boolean).join(` `).replace(/\s+/g,` `).trim();if(!u||ct(u)||lt(u)){if(c(),r===`barge`){l();return}let e=Kt.current;Ln(`misunderstood`,e?_t(e):vt(s),n);return}let d=Kt.current;if(d){let e=dt(u);if(pt.test(e)||d===`end`&&ht.test(e)){c(),Kt.current=null,Xt.current(d);return}if(mt.test(e)){c(),Kt.current=null;let e=`Okay, never mind — what would you like to know?`;N(e),Y.current=!0,U(`speaking`),V(e);return}c();let t=_t(d);N(t),Y.current=!0,U(`speaking`),V(t);return}let m=gt(u);if(m){if(c(),Dt.current=Date.now(),m.confident){Xt.current(m.action);return}Kt.current=m.action;let e=`Just to confirm — you want me to ${ut[m.action]}? Please say yes or no.`;N(e),Y.current=!0,U(`speaking`),V(e);return}if(F(p,{content:u,pending:!0}),yt(u)){Yt.current=u,U(`listening`),n();return}Yt.current=``,Rn(u,p)}catch(e){if(c(),r===`barge`){l();return}Ln(`misunderstood`,`I couldn't convert your speech to text. Please check the speech service configuration or type your question.${e instanceof Error&&e.message.trim()?` (${e.message.trim()})`:``}`,n)}},[P,Dn,Ln,N,F,s,ae,Rn,V,R]),$=v(async()=>{if(!(!q.current||J.current)&&!(!s?.allowVoiceInput||B||Z)&&!Qt.current&&!X.current){An(),Y.current=!1;try{U(`connecting`);let e=await navigator.mediaDevices.getUserMedia({audio:St(Zt.current)});if(!q.current||J.current){e.getTracks().forEach(e=>e.stop());return}navigator.mediaDevices.enumerateDevices().then(e=>{We(e.filter(e=>e.kind===`audioinput`).map((e,t)=>({deviceId:e.deviceId,label:e.label||`Microphone ${t+1}`})))}).catch(()=>{});let t=ee(e);X.current=t,kt.current=e,At.current=[],Pt.current=0,It.current=!1,Lt.current=0;let n=performance.now();Nt.current=xt(e,(e,r)=>{if(Pt.current=Math.max(Pt.current,e),e>=.0038)It.current=!0,Lt.current=0;else if(It.current&&e<=rt){Lt.current||(Lt.current=r);let e=r-Lt.current,i=r-n;if(e>=it&&i>=550&&t.state===`recording`){D(t);return}}else Lt.current=0;r-Ft.current>90&&(Ft.current=r,Pe(e))}),t.ondataavailable=e=>{e.data.size>0&&At.current.push(e.data)},t.onstop=async()=>{if(jn(),X.current=null,Ot.current){Ot.current=!1,q.current&&!J.current?(U(`idle`),$()):U(q.current&&J.current?`muted`:`idle`);return}if(!q.current){U(`idle`);return}await zn(new Blob(At.current,{type:t.mimeType||`audio/webm`}),Pt.current,$,`normal`,Math.max(0,(performance.now()-n)/1e3))},t.start(250),U(`listening`),jt.current=window.setTimeout(()=>{D(X.current)},nt)}catch{U(`denied`),Mt.current=window.setTimeout(()=>Q(),3500)}}},[B,Q,zn,s,s?.allowVoiceInput,An,jn,Z]),Bn=v(()=>{if(q.current){Q();return}On(),!(!s?.allowVoiceInput||Qt.current||B||Z)&&(Dt.current=Date.now(),Y.current=!1,J.current=!1,q.current=!0,Me(!1),je(!0),U(`connecting`),$())},[B,Q,On,s,s?.allowVoiceInput,$,Z]),Vn=v(()=>{Me(e=>{let t=!e;if(J.current=t,t){let e=X.current;e?.state===`recording`?(Ot.current=!0,D(e)):(jn(),U(`muted`))}else q.current&&!B&&!Z&&(U(`idle`),$());return t})},[B,$,jn,Z]),Hn=v((e,t)=>{N(e),t&&(Y.current=!0),U(`speaking`),V(e)},[N,V]),Un=v(e=>{switch(Dt.current=Date.now(),e){case`end`:Y.current=!1,qt.current=!0,Hn(`Okay — ending our call now. Goodbye!`,!1),window.setTimeout(()=>{qt.current&&(qt.current=!1,Q())},2e3);break;case`mute`:{J.current||Vn();let e=`Muted. Tap the mic button when you want me to listen again.`;N(e),V(e);break}case`minimize`:yn(),Hn(`Minimized — I'm still listening. Tap the call pill to bring the chat back.`,!0);break;case`expand`:Fe(!0),Hn(`Sure — expanding the view.`,!0);break;case`shrink`:Re(null),Fe(!1),Hn(`Okay — back to the smaller view.`,!0);break}},[yn,Q,N,V,Hn,Vn]);y(()=>{Xt.current=Un},[Un]);let Wn=x(!1);y(()=>{Wn.current&&!p&&qt.current&&(qt.current=!1,Q()),Wn.current=p},[p,Q]);let Gn=v(e=>{Zt.current=e,Ke(e);let t=X.current;t?.state===`recording`&&(Ot.current=!0,D(t))},[]),Kn=v(()=>{if(!(!q.current||J.current)){if(An(),M(),Ee(),Dt.current=Date.now(),U(`listening`),Qt.current){let e=()=>{if(!(!q.current||J.current)){if(Qt.current){window.setTimeout(e,70);return}Y.current=!1,$()}};window.setTimeout(e,70);return}Y.current=!1,$()}},[$,M,An,Ee]),qn=v(async()=>{if(!(Rt.current||zt.current)&&!(!q.current||J.current))try{let e=await navigator.mediaDevices.getUserMedia({audio:St(Zt.current)});if(!q.current||J.current||X.current||Rt.current||!en.current&&tn.current!==`processing`){e.getTracks().forEach(e=>e.stop());return}Rt.current=e,Bt.current=0,Wt.current=0,Gt.current=0;let t=()=>{if(Vt.current)return;M(),Ee(),nn.current+=1,Dt.current=Date.now(),Y.current=!1,U(`listening`);let t=ee(e);Vt.current=t,Ht.current=[],Ut.current=performance.now(),Wt.current=0,t.ondataavailable=e=>{e.data.size>0&&Ht.current.push(e.data)},t.onstop=async()=>{let e=Ht.current,n=Gt.current,r=t.mimeType||`audio/webm`;Vt.current=null,Ht.current=[],An(),q.current&&await zn(new Blob(e,{type:r}),n,$,`barge`,Math.max(0,(performance.now()-Ut.current)/1e3))},t.start(250)};zt.current=xt(e,(e,n)=>{if(Gt.current=Math.max(Gt.current,e),n-Ft.current>90&&(Ft.current=n,Pe(e)),e>=.009)Bt.current||(Bt.current=n),n-Bt.current>=280&&t(),Wt.current=0;else if(Vt.current&&e<=rt){Wt.current||(Wt.current=n);let e=n-Wt.current,t=n-Ut.current;e>=it&&t>=550&&Vt.current.state===`recording`&&D(Vt.current)}else Vt.current&&n-Ut.current>=nt&&Vt.current.state===`recording`?D(Vt.current):(Bt.current=0,Wt.current=0)}),zt.current||An()}catch{}},[zn,$,M,An,Ee]);y(()=>{if(!(W&&!G&&!B&&!Z&&(Ze||H===`processing`))){An();return}let e=window.setTimeout(()=>void qn(),250);return()=>window.clearTimeout(e)},[Ze,B,qn,An,W,G,H,Z]);let Jn=W&&!G&&(d||p||H===`processing`);y(()=>{!W||G||p&&U(`speaking`)},[p,W,G]),y(()=>{if(!W||G||!Y.current||d||p||![`processing`,`speaking`,`noise`,`misunderstood`].includes(H))return;let e=window.setTimeout(()=>{!q.current||J.current||Qt.current||(Y.current=!1,$())},700);return()=>window.clearTimeout(e)},[p,d,$,W,G,H]),y(()=>()=>Q(),[Q]);let[Yn,Xn]=S(``),Zn=x(!1);y(()=>{if(Zn.current&&!d){let e=[...c].reverse().find(e=>e.role===`assistant`&&!e.streaming&&!e.pending&&e.content);e&&Xn(e.content)}Zn.current=d},[d,c]),y(()=>{if(!i)return;let e=Ct.current;ln||e?.querySelector(`.cf-textarea`)?.focus();let t=t=>{if(t.key===`Escape`){if(t.preventDefault(),ln){un(!1);return}yn();return}if(t.key!==`Tab`||!e)return;let n=e.querySelectorAll(`button, [href], textarea, input, [tabindex]:not([tabindex="-1"])`),r=Array.from(n).filter(e=>!e.hasAttribute(`disabled`));if(r.length===0)return;let i=r[0],a=r[r.length-1],o=e.getRootNode()instanceof ShadowRoot?e.getRootNode().activeElement:document.activeElement;t.shiftKey&&o===i?(t.preventDefault(),a.focus()):!t.shiftKey&&o===a&&(t.preventDefault(),i.focus())};return e?.addEventListener(`keydown`,t),()=>e?.removeEventListener(`keydown`,t)},[i,yn,ln]),y(()=>{let e=Ct.current;e&&(i?e.removeAttribute(`inert`):e.setAttribute(`inert`,``))},[i]);let Qn=t.accentColor??t.themeTokens?.accent??s?.accentColor,$n={zIndex:t.zIndex,"--cf-h-pad":`${t.horizontalPadding}px`,"--cf-v-pad":`${t.verticalPadding}px`,...t.themeTokens?.accentText?{"--cf-accent-ink":t.themeTokens.accentText}:{},...t.themeTokens?.accentStrong?{"--cf-accent-2":t.themeTokens.accentStrong}:{},...t.themeTokens?.background?{"--cf-bg":t.themeTokens.background}:{},...t.themeTokens?.surface?{"--cf-surface":t.themeTokens.surface}:{},...t.themeTokens?.surfaceMuted?{"--cf-surface-2":t.themeTokens.surfaceMuted}:{},...t.themeTokens?.text?{"--cf-text":t.themeTokens.text}:{},...t.themeTokens?.mutedText?{"--cf-muted":t.themeTokens.mutedText}:{},...t.themeTokens?.border?{"--cf-border":t.themeTokens.border}:{},...t.themeTokens?.shadow?{"--cf-shadow":t.themeTokens.shadow}:{},...t.themeTokens?.radius?{"--cf-radius":t.themeTokens.radius}:{},...t.themeTokens?.fontFamily?{"--cf-font":t.themeTokens.fontFamily}:{},...Qn?{"--cf-accent":Qn,"--cf-accent-2":t.themeTokens?.accentStrong??`color-mix(in oklab, ${Qn} 76%, #14141f)`}:{}},er=e=>O(e),tr=[...c].reverse().find(e=>e.role===`user`&&e.content.trim())?.content??``,nr=c.some(e=>e.role===`user`),rr=s?.talkbackMode===`avatar`||s?.widgetModule===`assistant`||!!s?.allowVoiceInput,ir=!Z&&rr&&!nr?gn.filter((e,t)=>!(t===0&&e.role===`assistant`)):gn,ar=g===`human`&&_?_:s?.agentName??`Chat`,or=g===`human`?`Live support`:g===`queued`?`Waiting for the team`:s?.offline?r.statusOffline:r.statusOnline,sr=!B&&!Z?s?.availableActions:void 0,cr=W&&H===`connecting`&&!Z;return w(u,{value:r,children:T(`div`,{class:`cf-root`,"data-theme":Ye,"data-align":t.alignment,"data-display":`floating`,style:$n,children:[K&&i&&w(`div`,{class:`cf-theater-backdrop`,onClick:Fn}),T(`div`,{ref:Ct,class:`cf-panel ${i?`is-open`:``} ${W?`cf-panel--call`:``} ${cr?`cf-panel--voice-connecting`:``} ${K&&i?`cf-panel--theater`:``} ${_n?`cf-panel--analytics-focus`:``}`,role:`dialog`,"aria-modal":`false`,"aria-label":`Chat with ${s?.agentName??`us`}`,"aria-hidden":!i,children:[T(`div`,{class:`cf-header`,children:[w(De,{persona:s,hideWhenMissing:!0}),T(`div`,{class:`cf-header__meta`,children:[w(`div`,{class:`cf-header__name`,children:ar}),w(`div`,{class:`cf-header__status ${g===`ai`&&s?.offline?`cf-header__status--offline`:``}`,children:w(`span`,{class:`cf-header__status-text`,children:or})})]}),T(`div`,{class:`cf-header__actions`,children:[be.length>0&&w(`button`,{type:`button`,class:`cf-header__btn`,"aria-label":r.pastConversations,title:r.pastConversations,"aria-pressed":fn,onClick:()=>pn(e=>!e),children:w(fe,{})}),nr&&!B&&!Z&&w(`button`,{type:`button`,class:`cf-header__btn`,"aria-label":r.endChat,title:r.endChat,onClick:xn,children:w(de,{})}),t.sound&&st&&w(`button`,{type:`button`,class:`cf-header__btn`,"aria-label":qe?r.unmuteSounds:r.muteSounds,"aria-pressed":qe,onClick:ft,children:w(qe?se:oe,{})}),w(`button`,{type:`button`,class:`cf-header__btn cf-header__close`,"aria-label":r.closeChat,onClick:yn,children:w(j,{})})]})]}),w(`div`,{class:`cf-panel__video`,children:_n?w(`div`,{class:`cf-analytics-focus`,role:`region`,"aria-label":`Expanded analytics result`,children:w(Ue,{visualization:_n,expanded:!0,onClose:Pn})}):!Z&&rr?w(Ae,{persona:s,starters:[],onPick:O,onFocusComposer:Bn,speaking:p,voiceState:H,replyPending:W&&d&&!p,pinned:!0,muted:G,onToggleMute:Vn,onEndCall:Q,onTalkNow:Kn,showTalkNow:Jn,micLevel:Ne,theaterMode:K,onToggleTheater:Mn,onMinimize:yn,audioDevices:Ve,selectedAudioDeviceId:Ge,onSelectAudioDevice:Gn,connectingOnly:cr}):null}),!cr&&T(`div`,{class:`cf-panel__chat`,children:[t.preview&&w(`div`,{class:`cf-preview-banner`,children:r.previewBanner}),Z&&w(`div`,{class:`cf-viewing-banner`,children:r.viewingPast}),T(`div`,{class:`cf-body`,ref:Tt,role:`log`,onScroll:Tn,children:[ir.map((e,t)=>w(He,{msg:e,persona:s,isLast:!Z&&t===ir.length-1,visitor:m,hasEmail:h,lastQuestion:tr,showActions:!Z&&t===ir.length-1&&!!e.handoffOffered,onPickReply:er,onSubmitForm:L,onDemoSlots:me,onRetry:re,ratable:!Z&&ir.slice(0,t).some(e=>e.role===`user`),onRate:ie,onExpandVisualization:Z?void 0:Nn},e.id)),!nr&&!Z&&T(C,{children:[ir.length===0&&w(et,{name:s?.agentName??`Assistant`,greeting:s?.greeting}),w(ze,{items:E,onPick:O}),w(Be,{items:te})]}),on&&T(`button`,{type:`button`,class:`cf-newmsg`,onClick:En,children:[w(_e,{}),r.newMessages]})]}),w(`div`,{class:`cf-sr-live`,"aria-live":`polite`,"aria-atomic":`true`,children:Yn}),d&&!B&&!Z&&w(`div`,{class:`cf-stopbar`,children:T(`button`,{type:`button`,class:`cf-stop`,onClick:M,children:[w(le,{}),r.stop]})}),Z?w(`div`,{class:`cf-ended`,children:w(`button`,{type:`button`,class:`cf-ended__btn`,onClick:we,children:r.backToChat})}):B?T(`div`,{class:`cf-ended`,children:[w(`p`,{class:`cf-ended__text`,children:r.conversationEnded}),t.csat&&nr?mn?w(`p`,{class:`cf-ended__text`,children:r.feedbackThanks}):T(`div`,{class:`cf-csat`,children:[w(`span`,{class:`cf-csat__q`,children:r.csatPrompt}),w(`button`,{type:`button`,class:`cf-csat__btn`,"aria-label":r.feedbackHelpful,onClick:()=>{I(`up`),hn(!0)},children:w(z,{})}),w(`button`,{type:`button`,class:`cf-csat__btn`,"aria-label":r.feedbackNotHelpful,onClick:()=>{I(`down`),hn(!0)},children:w(pe,{})})]}):null,w(`button`,{type:`button`,class:`cf-ended__btn`,onClick:Cn,children:r.startNewChat})]}):T(C,{children:[b?T(`div`,{class:`cf-live-typing`,"aria-live":`polite`,children:[b,` is typing…`]}):null,sr&&sr.length>0&&w(`div`,{class:`cf-footer-actions`,children:w(Ie,{actions:sr,visitor:m,onSubmitForm:L,onDemoSlots:me,scheduler:s?.scheduler})}),w($e,{onSend:O,onSendGif:k,onTyping:ne,disabled:d,allowVoice:!!s?.allowVoiceInput,onTranscribe:R,gifEnabled:he,onSearchGifs:ue,allowAttach:t.attachments,onExtract:ce})]}),!B&&s?.disclaimerText&&w(`div`,{class:`cf-disclaimer`,children:s.disclaimerText}),T(`div`,{class:`cf-footer`,children:[r.poweredBy,` `,w(`a`,{href:`https://accurix.tech/centrinfo`,target:`_blank`,rel:`noopener noreferrer`,children:`Centrinfo`})]})]}),ln&&w(`div`,{class:`cf-confirm`,onClick:()=>un(!1),children:T(`div`,{class:`cf-confirm__card`,role:`alertdialog`,"aria-modal":`true`,"aria-label":r.endChatConfirm,onClick:e=>e.stopPropagation(),children:[w(`div`,{class:`cf-confirm__title`,children:r.endChatConfirm}),w(`div`,{class:`cf-confirm__body`,children:r.endChatConfirmBody}),T(`div`,{class:`cf-confirm__actions`,children:[w(`button`,{ref:dn,type:`button`,class:`cf-confirm__btn cf-confirm__btn--cancel`,onClick:()=>un(!1),children:r.cancel}),w(`button`,{type:`button`,class:`cf-confirm__btn cf-confirm__btn--danger`,onClick:Sn,children:r.endConfirmCta})]})]})}),fn&&w(`div`,{class:`cf-confirm`,onClick:()=>pn(!1),children:T(`div`,{class:`cf-history`,role:`dialog`,"aria-modal":`true`,"aria-label":r.pastConversations,onClick:e=>e.stopPropagation(),children:[T(`div`,{class:`cf-history__head`,children:[w(`span`,{children:r.pastConversations}),w(`button`,{type:`button`,class:`cf-header__btn`,"aria-label":r.closeChat,onClick:()=>pn(!1),children:w(j,{})})]}),w(`div`,{class:`cf-history__list`,children:be.map(e=>T(`button`,{type:`button`,class:`cf-history__item ${e.sessionId===xe?`is-active`:``}`,onClick:()=>{Ce(e.sessionId),pn(!1)},children:[w(`span`,{class:`cf-history__title`,children:e.title}),T(`span`,{class:`cf-history__meta`,children:[new Date(e.ts).toLocaleDateString(void 0,{month:`short`,day:`numeric`}),e.ended?` · ${r.historyEnded}`:``]})]},e.sessionId))})]})})]}),W&&!i?w(Qe,{persona:s,voiceState:H,muted:G,onToggleMute:Vn,onEndCall:Q,micLevel:Ne,onExpand:vn}):K&&i?null:!t.hideDefaultLauncher&&T(`button`,{ref:wt,type:`button`,class:`cf-launcher`,"aria-label":i?r.closeChat:r.openChat,"aria-expanded":i,onClick:bn,children:[t.launcherIcon?w(`img`,{class:`cf-launcher__img`,src:t.launcherIcon,alt:``}):w(A,{}),!i&&Oe>0&&w(`span`,{class:`cf-launcher__badge`,children:Oe})]})]})})},wt=`
2
2
  :host {
3
3
  all: initial;
4
4
  }
@@ -491,43 +491,102 @@ import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,n a
491
491
  .cf-msg__col { min-width: 0; max-width: 85%; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
492
492
  .cf-msg--user .cf-msg__col { align-items: flex-end; }
493
493
  .cf-system-event {
494
- width: min(220px, 86%);
495
- display: grid;
496
- justify-items: center;
497
- gap: 6px;
494
+ width: min(280px, 88%);
495
+ display: flex;
496
+ flex-direction: column;
497
+ align-items: center;
498
+ gap: 4px;
498
499
  text-align: center;
499
500
  color: var(--cf-muted);
500
501
  }
501
502
  .cf-system-event__mark {
502
- width: 40px;
503
- height: 40px;
503
+ width: 7px;
504
+ height: 7px;
504
505
  border-radius: 999px;
505
- display: grid;
506
- place-items: center;
507
- border: 1px solid color-mix(in srgb, var(--cf-accent, #2f7f55) 38%, transparent);
508
- background: color-mix(in srgb, var(--cf-accent, #2f7f55) 8%, transparent);
509
- }
510
- .cf-system-event__mark .cf-msg__avatar {
511
- align-self: center;
512
- width: 28px;
513
- height: 28px;
506
+ background: color-mix(in srgb, var(--cf-accent, #2f7f55) 72%, transparent);
507
+ box-shadow: 0 0 0 4px color-mix(in srgb, var(--cf-accent, #2f7f55) 12%, transparent);
514
508
  }
515
509
  .cf-system-event__text {
516
- font-size: 14px;
517
- font-weight: 700;
518
- line-height: 1.25;
519
- color: var(--cf-text);
510
+ max-width: 100%;
511
+ padding: 7px 11px;
512
+ border: 1px solid var(--cf-border);
513
+ border-radius: 999px;
514
+ background: color-mix(in srgb, var(--cf-surface, #ffffff) 86%, transparent);
515
+ font-size: 12.5px;
516
+ font-weight: 600;
517
+ line-height: 1.35;
518
+ color: var(--cf-muted);
519
+ overflow-wrap: break-word;
520
520
  }
521
521
  .cf-system-event__time {
522
- font-size: 12px;
522
+ font-size: 11px;
523
523
  line-height: 1.2;
524
524
  color: var(--cf-muted);
525
525
  }
526
526
 
527
527
  /* ---------- Markdown in answers ---------- */
528
- .cf-msg__bubble .cf-md-h { font-weight: 700; font-size: 14.5px; margin: 4px 0 2px; }
529
- .cf-msg__bubble ul.cf-md-list, .cf-msg__bubble ol.cf-md-list { margin: 4px 0; padding-left: 20px; }
530
- .cf-msg__bubble .cf-md-list li { margin: 2px 0; }
528
+ .cf-msg__bubble .cf-md-h {
529
+ margin: 12px 0 5px;
530
+ color: var(--cf-text);
531
+ font-size: 14.5px;
532
+ font-weight: 750;
533
+ line-height: 1.3;
534
+ }
535
+ .cf-msg__bubble .cf-md-h:first-child { margin-top: 0; }
536
+ .cf-msg__bubble .cf-md-h--1,
537
+ .cf-msg__bubble .cf-md-h--2 { font-size: 15.5px; }
538
+ .cf-msg__bubble p.cf-md-list-intro {
539
+ margin: 11px 0 5px;
540
+ color: var(--cf-text);
541
+ font-weight: 750;
542
+ line-height: 1.35;
543
+ }
544
+ .cf-msg__bubble ul.cf-md-list,
545
+ .cf-msg__bubble ol.cf-md-list {
546
+ display: grid;
547
+ gap: 9px;
548
+ margin: 8px 0 11px;
549
+ padding: 0;
550
+ list-style: none;
551
+ }
552
+ .cf-msg__bubble .cf-md-list li {
553
+ position: relative;
554
+ min-width: 0;
555
+ padding-left: 18px;
556
+ line-height: 1.52;
557
+ }
558
+ .cf-msg__bubble ul.cf-md-list > li::before {
559
+ position: absolute;
560
+ top: .58em;
561
+ left: 2px;
562
+ width: 6px;
563
+ height: 6px;
564
+ border-radius: 50%;
565
+ background: var(--cf-accent);
566
+ content: "";
567
+ }
568
+ .cf-msg__bubble ol.cf-md-list { counter-reset: cf-answer-item; }
569
+ .cf-msg__bubble ol.cf-md-list > li { padding-left: 25px; counter-increment: cf-answer-item; }
570
+ .cf-msg__bubble ol.cf-md-list > li::before {
571
+ position: absolute;
572
+ top: .08em;
573
+ left: 0;
574
+ display: grid;
575
+ width: 19px;
576
+ height: 19px;
577
+ place-items: center;
578
+ border-radius: 50%;
579
+ color: var(--cf-accent);
580
+ background: var(--cf-accent-soft);
581
+ content: counter(cf-answer-item);
582
+ font-size: 10px;
583
+ font-weight: 750;
584
+ }
585
+ .cf-msg__bubble .cf-md-list li > strong:first-child {
586
+ display: inline;
587
+ color: var(--cf-text);
588
+ font-weight: 750;
589
+ }
531
590
  .cf-md-code {
532
591
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
533
592
  font-size: 0.86em;
@@ -565,6 +624,7 @@ import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,n a
565
624
  }
566
625
 
567
626
  /* message tools (copy / retry) */
627
+ .cf-msg__actions { display: flex; align-items: flex-start; gap: 2px; }
568
628
  .cf-msg__tools { display: flex; gap: 6px; }
569
629
  .cf-tool {
570
630
  display: inline-flex;
@@ -582,7 +642,7 @@ import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,n a
582
642
  .cf-tool svg { width: 13px; height: 13px; }
583
643
 
584
644
  /* Per-message 👍/👎 feedback. */
585
- .cf-feedback { margin-top: 4px; }
645
+ .cf-feedback { margin-top: 0; }
586
646
  .cf-feedback__row { display: flex; align-items: center; gap: 4px; }
587
647
  .cf-feedback__btn {
588
648
  display: inline-flex;
@@ -732,6 +792,8 @@ import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,n a
732
792
 
733
793
  /* typing */
734
794
  .cf-typing {
795
+ max-width: 100%;
796
+ flex-wrap: wrap;
735
797
  display: inline-flex;
736
798
  align-items: center;
737
799
  gap: 4px;
@@ -739,6 +801,8 @@ import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,n a
739
801
  min-width: 98px;
740
802
  }
741
803
  .cf-typing__label {
804
+ min-width: 0;
805
+ overflow-wrap: anywhere;
742
806
  margin-right: 3px;
743
807
  color: var(--cf-muted);
744
808
  font-size: 12px;
@@ -2543,6 +2607,28 @@ import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,n a
2543
2607
  align-items: center;
2544
2608
  gap: 6px;
2545
2609
  }
2610
+ .cf-analytics-chart-picker {
2611
+ display: flex;
2612
+ align-items: center;
2613
+ gap: 5px;
2614
+ color: var(--cf-muted);
2615
+ font-size: 9px;
2616
+ font-weight: 700;
2617
+ }
2618
+ .cf-analytics-chart-picker select {
2619
+ max-width: 112px;
2620
+ height: 30px;
2621
+ border: 1px solid var(--cf-border);
2622
+ border-radius: 8px;
2623
+ background: var(--cf-bg);
2624
+ padding: 0 22px 0 8px;
2625
+ color: var(--cf-text);
2626
+ font: inherit;
2627
+ }
2628
+ .cf-analytics-chart-picker select:focus-visible {
2629
+ outline: 2px solid var(--cf-accent);
2630
+ outline-offset: 2px;
2631
+ }
2546
2632
  .cf-analytics-visualization__title {
2547
2633
  overflow: hidden;
2548
2634
  color: var(--cf-muted);
@@ -2563,13 +2649,6 @@ import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,n a
2563
2649
  font-size: 9px;
2564
2650
  line-height: 1.35;
2565
2651
  }
2566
- .cf-analytics-meta__model {
2567
- border-radius: 999px;
2568
- background: color-mix(in srgb, var(--cf-accent) 12%, transparent);
2569
- padding: 2px 6px;
2570
- color: var(--cf-accent);
2571
- font-weight: 700;
2572
- }
2573
2652
  .cf-analytics-meta__dot {
2574
2653
  display: inline-block;
2575
2654
  width: 5px;
@@ -2637,6 +2716,151 @@ import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,n a
2637
2716
  font-size: 9px;
2638
2717
  line-height: 1.4;
2639
2718
  }
2719
+ .cf-data-table {
2720
+ display: flex;
2721
+ min-width: 0;
2722
+ min-height: 0;
2723
+ flex: 1;
2724
+ flex-direction: column;
2725
+ margin-top: 10px;
2726
+ overflow: hidden;
2727
+ border: 1px solid var(--cf-border);
2728
+ border-radius: 9px;
2729
+ background: var(--cf-bg);
2730
+ }
2731
+ .cf-table-fields {
2732
+ display: flex;
2733
+ min-width: 0;
2734
+ min-height: 38px;
2735
+ align-items: center;
2736
+ gap: 6px;
2737
+ padding: 7px 8px;
2738
+ border-bottom: 1px solid var(--cf-border);
2739
+ color: var(--cf-muted);
2740
+ font-size: 9px;
2741
+ }
2742
+ .cf-table-fields > strong {
2743
+ flex: 0 0 auto;
2744
+ color: var(--cf-muted);
2745
+ font-size: 8px;
2746
+ letter-spacing: .06em;
2747
+ text-transform: uppercase;
2748
+ }
2749
+ .cf-field-list {
2750
+ display: flex;
2751
+ min-width: 0;
2752
+ gap: 5px;
2753
+ overflow: auto hidden;
2754
+ scrollbar-width: none;
2755
+ }
2756
+ .cf-field-chip {
2757
+ flex: 0 0 auto;
2758
+ padding: 4px 6px;
2759
+ border-radius: 6px;
2760
+ background: color-mix(in srgb, var(--cf-accent) 11%, var(--cf-bg));
2761
+ color: var(--cf-accent);
2762
+ font-weight: 650;
2763
+ }
2764
+ .cf-table-field-count { margin-left: auto;white-space: nowrap; }
2765
+ .cf-table-controls {
2766
+ display: grid;
2767
+ grid-template-columns: minmax(110px, 1fr) auto;
2768
+ gap: 6px;
2769
+ padding: 7px 8px 5px;
2770
+ }
2771
+ .cf-table-search {
2772
+ display: flex;
2773
+ min-width: 0;
2774
+ align-items: center;
2775
+ gap: 5px;
2776
+ padding: 0 7px;
2777
+ border: 1px solid var(--cf-border);
2778
+ border-radius: 7px;
2779
+ background: var(--cf-bg);
2780
+ color: var(--cf-muted);
2781
+ }
2782
+ .cf-table-search input {
2783
+ width: 100%;
2784
+ min-width: 0;
2785
+ height: 28px;
2786
+ border: 0;
2787
+ outline: 0;
2788
+ background: transparent;
2789
+ color: var(--cf-text);
2790
+ font: 500 9px/1 var(--cf-font);
2791
+ }
2792
+ .cf-table-modes {
2793
+ display: inline-flex;
2794
+ padding: 2px;
2795
+ border: 1px solid var(--cf-border);
2796
+ border-radius: 8px;
2797
+ background: var(--cf-surface);
2798
+ }
2799
+ .cf-segment {
2800
+ min-height: 26px;
2801
+ border-radius: 6px;
2802
+ padding: 0 7px !important;
2803
+ color: var(--cf-muted) !important;
2804
+ font-size: 9px;
2805
+ font-weight: 650;
2806
+ }
2807
+ .cf-segment.is-active { background: var(--cf-accent) !important;color: var(--cf-accent-ink) !important; }
2808
+ .cf-table-column-bar { display: flex;align-items: center;padding: 0 8px 7px; }
2809
+ .cf-column-picker { position: relative; }
2810
+ .cf-column-picker > summary {
2811
+ min-height: 27px;
2812
+ padding: 6px 8px;
2813
+ border: 1px solid var(--cf-border);
2814
+ border-radius: 7px;
2815
+ cursor: pointer;
2816
+ list-style: none;
2817
+ color: var(--cf-text);
2818
+ font-size: 9px;
2819
+ font-weight: 650;
2820
+ }
2821
+ .cf-column-picker > summary::-webkit-details-marker { display: none; }
2822
+ .cf-column-menu {
2823
+ position: absolute;
2824
+ z-index: 5;
2825
+ top: calc(100% + 4px);
2826
+ left: 0;
2827
+ display: grid;
2828
+ min-width: 160px;
2829
+ gap: 6px;
2830
+ padding: 9px;
2831
+ border: 1px solid var(--cf-border);
2832
+ border-radius: 8px;
2833
+ background: var(--cf-bg);
2834
+ box-shadow: 0 10px 24px rgba(15,30,42,.16);
2835
+ }
2836
+ .cf-column-menu label { display: flex;align-items: center;gap: 7px;color: var(--cf-text);font-size: 9px; }
2837
+ .cf-table-wrap {
2838
+ position: relative;
2839
+ min-height: 0;
2840
+ max-height: 210px;
2841
+ overflow: auto;
2842
+ border-top: 1px solid var(--cf-border);
2843
+ scrollbar-width: thin;
2844
+ }
2845
+ .cf-analytics-visualization.is-expanded .cf-table-wrap { max-height: none;flex: 1; }
2846
+ .cf-table { width: 100%;border-collapse: separate;border-spacing: 0;color: var(--cf-text);font-size: 10px; }
2847
+ .cf-table th { position: sticky;top: 0;z-index: 1;background: var(--cf-surface);color: var(--cf-muted);font-size: 9px;font-weight: 720;text-align: left; }
2848
+ .cf-table th,.cf-table td { padding: 8px 9px;border-bottom: 1px solid var(--cf-border);white-space: nowrap; }
2849
+ .cf-table .cf-select-cell { width: 28px;padding-right: 3px;text-align: center; }
2850
+ .cf-table input[type="checkbox"],.cf-column-menu input[type="checkbox"] { width: 13px;height: 13px;accent-color: var(--cf-accent); }
2851
+ .cf-table-sort { display: flex !important;width: 100%;align-items: center;gap: 5px;color: inherit !important;font: inherit;text-align: left; }
2852
+ .cf-sort-direction { color: var(--cf-muted);font-size: 10px; }
2853
+ .cf-table.is-matrix tbody td:not(.cf-select-cell) { background: color-mix(in srgb,var(--cf-accent) 7%,var(--cf-bg)); }
2854
+ .cf-table tbody tr:hover,.cf-table tbody tr.is-selected { background: color-mix(in srgb,var(--cf-accent) 10%,var(--cf-bg)); }
2855
+ .cf-table tbody tr.is-selected td:first-child { box-shadow: inset 3px 0 0 var(--cf-accent); }
2856
+ .cf-show-more { position: sticky;left: 50%;bottom: 6px;transform: translateX(-50%);margin: 8px auto;padding: 6px 9px !important;border: 1px solid var(--cf-border) !important;border-radius: 7px;background: var(--cf-bg) !important;font-size: 9px;font-weight: 650; }
2857
+ .cf-table-summary { display: flex;align-items: center;justify-content: space-between;gap: 8px;padding: 7px 9px;color: var(--cf-muted);font-size: 8px; }
2858
+ .cf-visually-hidden { position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0); }
2859
+ @media (max-width: 430px) {
2860
+ .cf-table-modes { display: none; }
2861
+ .cf-table-controls { grid-template-columns: 1fr; }
2862
+ .cf-table-summary span:last-child { display: none; }
2863
+ }
2640
2864
  .cf-analytics-visualization__expand,
2641
2865
  .cf-analytics-visualization__close {
2642
2866
  display: grid;
@@ -3050,4 +3274,4 @@ import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,n a
3050
3274
  .cf-analytics-focus { padding: 14px; }
3051
3275
  .cf-analytics-visualization.is-expanded .cf-analytics-echart { min-height: 260px; }
3052
3276
  }
3053
- `;function Dt(e){"@babel/helpers - typeof";return Dt=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Dt(e)}function Ot(e,t){if(Dt(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Dt(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function G(e){var t=Ot(e,`string`);return Dt(t)==`symbol`?t:t+``}function K(e,t,n){return(t=G(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const q=`centrinfo-widget`;var kt=class extends HTMLElement{constructor(...e){super(...e),K(this,`controls`,null)}mountWith(t){let n=h(t),r=this.shadowRoot??this.attachShadow({mode:`open`});if(`adoptedStyleSheets`in Document.prototype&&typeof CSSStyleSheet<`u`){let e=new CSSStyleSheet;e.replaceSync(Et),r.adoptedStyleSheets=[e]}else{let e=document.createElement(`style`);e.textContent=Et,r.appendChild(e)}g(C(Tt,{transport:n.demo?new a:n.preview?new o(new e(n.apiBaseUrl,n.token,n.gifApiKey,n.analyticsContextToken,{agentName:n.agentName,agentAvatarUrl:n.agentAvatarUrl},n.identityToken,n.getIdentityToken),n.strings):new e(n.apiBaseUrl,n.token,n.gifApiKey,n.analyticsContextToken,{agentName:n.agentName,agentAvatarUrl:n.agentAvatarUrl},n.identityToken,n.getIdentityToken),config:n,bindControls:e=>this.controls=e}),r)}open(){this.controls?.open()}close(){this.controls?.close()}toggle(){this.controls?.toggle()}identify(e){this.controls?.identify(e)}clear(){this.controls?.startNew()}shutdown(){this.controls?.shutdown()}unmount(){this.shadowRoot&&g(null,this.shadowRoot)}};typeof customElements<`u`&&!customElements.get(q)&&customElements.define(q,kt);const At=(e,t=document.body)=>{if(typeof document>`u`)throw Error(`[centrinfo-widget] createWidget must run in a browser.`);let n=document.createElement(q);return n.style.pointerEvents=`none`,n.style.position=`fixed`,n.style.inset=`0`,n.style.width=`0`,n.style.height=`0`,t.appendChild(n),n.mountWith(e),{open:()=>n.open(),close:()=>n.close(),toggle:()=>n.toggle(),show:()=>n.open(),hide:()=>n.close(),identify:e=>n.identify(e),update:e=>n.identify(e),clear:()=>n.clear(),shutdown:()=>n.shutdown(),logout:()=>n.shutdown(),destroy:()=>{n.unmount(),n.remove()}}},J=e=>At(e);let jt=null;const Mt=e=>{jt?.destroy();let t=J(e);return jt=t,t},Nt={init:Mt,createWidget:J};export{Nt as Centrinfo,J as createWidget,Mt as init};
3277
+ `;function Tt(e){"@babel/helpers - typeof";return Tt=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Tt(e)}function Et(e,t){if(Tt(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Tt(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function q(e){var t=Et(e,`string`);return Tt(t)==`symbol`?t:t+``}function J(e,t,n){return(t=q(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const Y=`centrinfo-widget`;var Dt=class extends HTMLElement{constructor(...e){super(...e),J(this,`controls`,null)}mountWith(t){let n=m(t),r=this.shadowRoot??this.attachShadow({mode:`open`});if(this.style.zIndex=String(n.zIndex),`adoptedStyleSheets`in Document.prototype&&typeof CSSStyleSheet<`u`){let e=new CSSStyleSheet;e.replaceSync(wt),r.adoptedStyleSheets=[e]}else{let e=document.createElement(`style`);e.textContent=wt,r.appendChild(e)}_(w(Ct,{transport:n.demo?new h:n.preview?new e(new g(n.apiBaseUrl,n.token,n.gifApiKey,n.analyticsContextToken,{agentName:n.agentName,agentAvatarUrl:n.agentAvatarUrl},n.identityToken,n.getIdentityToken,n.chatSurface),n.strings):new g(n.apiBaseUrl,n.token,n.gifApiKey,n.analyticsContextToken,{agentName:n.agentName,agentAvatarUrl:n.agentAvatarUrl},n.identityToken,n.getIdentityToken,n.chatSurface),config:n,bindControls:e=>this.controls=e}),r)}open(){this.controls?.open()}close(){this.controls?.close()}toggle(){this.controls?.toggle()}identify(e){this.controls?.identify(e)}clear(){this.controls?.startNew()}shutdown(){this.controls?.shutdown()}unmount(){this.shadowRoot&&_(null,this.shadowRoot)}};typeof customElements<`u`&&!customElements.get(Y)&&customElements.define(Y,Dt);const Ot=(e,t=document.body)=>{if(typeof document>`u`)throw Error(`[centrinfo-widget] createWidget must run in a browser.`);let n=document.createElement(Y);return n.style.pointerEvents=`none`,n.style.position=`fixed`,n.style.inset=`0`,n.style.width=`0`,n.style.height=`0`,t.appendChild(n),n.mountWith(e),{open:()=>n.open(),close:()=>n.close(),toggle:()=>n.toggle(),show:()=>n.open(),hide:()=>n.close(),identify:e=>n.identify(e),update:e=>n.identify(e),clear:()=>n.clear(),shutdown:()=>n.shutdown(),logout:()=>n.shutdown(),destroy:()=>{n.unmount(),n.remove()}}},X=e=>Ot(e);let kt=null;const At=e=>{kt?.destroy();let t=X(e);return kt=t,t},jt={init:At,createWidget:X};export{jt as Centrinfo,X as createWidget,At as init};