@customer-agent/sdk 0.8.0-test.f63f0e9020ee → 0.8.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/react.js CHANGED
@@ -1 +1 @@
1
- import{t as e}from"./chunks/constants-BdROGfTy.js";import{t}from"./chunks/controller-BQzPCVkf.js";import{a as n,n as r,r as i}from"./chunks/launcherAnchorStore-JMTZZGKC.js";import{useCallback as a,useEffect as o,useMemo as s,useRef as c,useSyncExternalStore as l}from"react";var u=[e.WIDGET_READY,e.WIDGET_OPENED,e.WIDGET_CLOSED,e.SUPPORT_STATE_CHANGED,e.INTERVIEW_STATE_CHANGED],d=null,f=null,p=new Set;function m(e,t){return JSON.stringify(e)===JSON.stringify(t)}function h(e,t){return e===t?!0:!e||!t?!1:e.appId===t.appId&&e.isOpen===t.isOpen&&e.isReady===t.isReady&&e.widgetId===t.widgetId&&e.activeEntryId===t.activeEntryId&&m(e.activeTarget,t.activeTarget)&&e.launcher.targetConfigured===t.launcher.targetConfigured&&e.launcher.targetConnected===t.launcher.targetConnected&&m(e.support,t.support)&&m(e.interview,t.interview)}function g(){let e=t.getState();return h(d,e)||(d=e),d}function _(){if(d!==g())for(let e of p)e()}function v(){_(),queueMicrotask(_),typeof window<`u`&&typeof window.requestAnimationFrame==`function`&&window.requestAnimationFrame(_)}function y(){f||=u.map(e=>t.on(e,v))}function b(e){return p.add(e),y(),()=>{p.delete(e),!(p.size>0)&&(f?.forEach(e=>e()),f=null)}}function x(){return null}function S(){return l(b,g,x)}function C(){return l(n,r,i)}function w(){let e=S(),n=C(),r=c(n);r.current=n;let i=a(e=>{let n=t.boot(e);return v(),n},[]),o=a(async(e,n)=>{await t.chooseInvitation(e,n),v()},[]),l=a(async()=>{let e=await t.ensureInvitation();return v(),e},[]),u=a(()=>{t.hide(),v()},[]),d=a(e=>{t.identify(e),v()},[]),f=a((e,n)=>{t.setContext(e,n),v()},[]),p=a(e=>{t.openEntry(e),v()},[]),m=a(async e=>{let n=await t.loadInterviewReward(e);return v(),n},[]),h=a(async e=>{await t.sendInterviewMessage(e),v()},[]),g=a(e=>{t.show(e),v()},[]),_=a(()=>{t.shutdown(),v()},[]),y=a(async e=>{let n=await t.startInvitation(e);return v(),n},[]),b=a(async()=>{let e=await t.startInterview();return v(),e},[]),x=a(e=>{t.toggle(e),v()},[]),w=a(e=>{t.update(e),v()},[]);return s(()=>({CustomerAgent:t,boot:i,chooseInvitation:o,ensureInvitation:l,getInterviewSession:t.getInterviewSession,getInterviewState:t.getInterviewState,getSession:t.getSession,getState:t.getState,getSupportState:t.getSupportState,hide:u,identify:d,isOpen:e?.isOpen??!1,isReady:e?.isReady??!1,launcher:e?.launcher??null,launcherAnchor:n,launcherAnchorRef:r,loadInterviewReward:m,on:t.on,openEntry:p,sendInterviewMessage:h,setContext:f,show:g,shutdown:_,startInterview:b,startInvitation:y,state:e,toggle:x,update:w}),[i,o,l,u,d,n,m,p,h,f,g,_,b,y,e,x,w])}function T(e,n){let r=c(n);o(()=>{r.current=n},[n]),o(()=>t(`on`,e,e=>{r.current(e)}),[e])}export{w as useCustomerAgent,T as useCustomerAgentEvent,S as useCustomerAgentState};
1
+ import{t as e}from"./chunks/constants-BpY-fndm.js";import{t}from"./chunks/controller-C1RLZLlI.js";import{a as n,n as r,r as i}from"./chunks/launcherAnchorStore-JMTZZGKC.js";import{useCallback as a,useEffect as o,useMemo as s,useRef as c,useSyncExternalStore as l}from"react";var u=[e.WIDGET_READY,e.WIDGET_OPENED,e.WIDGET_CLOSED,e.SUPPORT_STATE_CHANGED,e.INTERVIEW_STATE_CHANGED],d=null,f=null,p=new Set;function m(e,t){return JSON.stringify(e)===JSON.stringify(t)}function h(e,t){return e===t?!0:!e||!t?!1:e.appId===t.appId&&e.isOpen===t.isOpen&&e.isReady===t.isReady&&e.widgetId===t.widgetId&&e.activeEntryId===t.activeEntryId&&m(e.activeTarget,t.activeTarget)&&e.launcher.targetConfigured===t.launcher.targetConfigured&&e.launcher.targetConnected===t.launcher.targetConnected&&m(e.support,t.support)&&m(e.interview,t.interview)}function g(){let e=t.getState();return h(d,e)||(d=e),d}function _(){if(d!==g())for(let e of p)e()}function v(){_(),queueMicrotask(_),typeof window<`u`&&typeof window.requestAnimationFrame==`function`&&window.requestAnimationFrame(_)}function y(){f||=u.map(e=>t.on(e,v))}function b(e){return p.add(e),y(),()=>{p.delete(e),!(p.size>0)&&(f?.forEach(e=>e()),f=null)}}function x(){return null}function S(){return l(b,g,x)}function C(){return l(n,r,i)}function w(){let e=S(),n=C(),r=c(n);r.current=n;let i=a(e=>{let n=t.boot(e);return v(),n},[]),o=a(async(e,n)=>{await t.chooseInvitation(e,n),v()},[]),l=a(async()=>{let e=await t.ensureInvitation();return v(),e},[]),u=a(()=>{t.hide(),v()},[]),d=a(e=>{t.identify(e),v()},[]),f=a((e,n)=>{t.setContext(e,n),v()},[]),p=a(e=>{t.openEntry(e),v()},[]),m=a(async e=>{let n=await t.loadInterviewReward(e);return v(),n},[]),h=a(async e=>{await t.sendInterviewMessage(e),v()},[]),g=a(e=>{t.show(e),v()},[]),_=a(()=>{t.shutdown(),v()},[]),y=a(async e=>{let n=await t.startInvitation(e);return v(),n},[]),b=a(async()=>{let e=await t.startInterview();return v(),e},[]),x=a(e=>{t.toggle(e),v()},[]),w=a(e=>{t.update(e),v()},[]);return s(()=>({CustomerAgent:t,boot:i,chooseInvitation:o,ensureInvitation:l,getInterviewSession:t.getInterviewSession,getInterviewState:t.getInterviewState,getSession:t.getSession,getState:t.getState,getSupportState:t.getSupportState,hide:u,identify:d,isOpen:e?.isOpen??!1,isReady:e?.isReady??!1,launcher:e?.launcher??null,launcherAnchor:n,launcherAnchorRef:r,loadInterviewReward:m,on:t.on,openEntry:p,sendInterviewMessage:h,setContext:f,show:g,shutdown:_,startInterview:b,startInvitation:y,state:e,toggle:x,update:w}),[i,o,l,u,d,n,m,p,h,f,g,_,b,y,e,x,w])}function T(e,n){let r=c(n);o(()=>{r.current=n},[n]),o(()=>t(`on`,e,e=>{r.current(e)}),[e])}export{w as useCustomerAgent,T as useCustomerAgentEvent,S as useCustomerAgentState};
package/runtime.es.js CHANGED
@@ -1 +1 @@
1
- import{n as e,t}from"./chunks/constants-BdROGfTy.js";import{r as n,t as r}from"./chunks/interviewTypes-Ch2NsXKB.js";import{i,t as a}from"./chunks/launcherAnchorStore-JMTZZGKC.js";import{_ as o,b as s,f as c,g as l,m as u,n as d,p as f,u as p,v as m,y as h}from"./chunks/routes-YeWhHObb.js";import{a as g,c as _,d as v,i as y,l as b,n as x,o as S,r as ee,u as te}from"./chunks/navigationState-LdqG_Osx.js";import{n as ne,r as re}from"./chunks/i18n-Q8u2wtW4.js";var C=Object.create,w=Object.defineProperty,T=Object.getOwnPropertyDescriptor,ie=Object.getOwnPropertyNames,E=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty,O=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),k=(e,t)=>{let n={};for(var r in e)w(n,r,{get:e[r],enumerable:!0});return t||w(n,Symbol.toStringTag,{value:`Module`}),n},ae=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=ie(t),a=0,o=i.length,s;a<o;a++)s=i[a],!D.call(e,s)&&s!==n&&w(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=T(t,s))||r.enumerable});return e},A=(e,t,n)=>(n=e==null?{}:C(E(e)),ae(t||!e||!e.__esModule?w(n,`default`,{value:e,enumerable:!0}):n,e));function oe(){let e=s(m());return{async checkEligibility(t,n){let{data:r}=await e.request(`/interviews/eligibility`,{body:t,method:`POST`,signal:n?.signal});return r},async chooseInvitation(t,n){await e.request(`/interviews/invitations/${t}/choice`,{body:n,method:`PATCH`})},async createInvitation(t){let{data:n}=await e.request(`/interviews/invitations`,{body:t,method:`POST`});return n},async getReward(t){let{data:n}=await e.request(`/interviews/sessions/${t}/reward`);return n},async getSession(t,n){let{data:r}=await e.request(`/interviews/sessions/${t}`,{signal:n?.signal});return r},async sendMessage(t,n){let{data:r}=await e.request(`/interviews/sessions/${t}/messages`,{body:n,method:`POST`});return r},async startInvitation(t,n){let{data:r}=await e.request(`/interviews/invitations/${t}/start`,{body:n,method:`POST`});return r}}}function j(e){return typeof e==`string`&&e.trim()?e.trim():null}function M(e){return e.anonymous_id??e.user?.id}function N(e){return{...e.context,...e.user,userId:e.user?.id,visitorId:M(e)}}function P(e){return j(e.brand?.name)??`Customer Agent`}function F(e){return{appId:e.app_id,locale:e.locale,pageContext:e.context??{},userContext:N(e),visitorId:M(e)}}function se(e,t){return{appId:e.app_id,campaignId:t.campaignId,context:e.context??{},showRequestId:t.showRequestId,userContext:N(e),variantKey:t.variantKey,visitorId:M(e)}}function I(e){return e instanceof Error?e.message:`CustomerAgent interview request failed.`}function L(e,t){return JSON.stringify(e)===JSON.stringify(t)}function R(e,t){return e.status===n.ACTIVE?{entryId:`interview/session/${e.sessionId}`,sessionId:e.sessionId,status:r.ACTIVE,title:t}:{sessionId:e.sessionId,sessionStatus:e.status,status:r.TERMINAL}}function ce(e){return{conversationId:`interview/session/${e}`,conversationType:`interview`,entryId:`interview/session/${e}`,interviewSessionId:e}}function z(e){return typeof crypto<`u`&&`randomUUID`in crypto?`${e}-${crypto.randomUUID()}`:`${e}-${Date.now()}-${Math.random().toString(36).slice(2)}`}function le({api:e,buildContextPayload:t=p,cache:i,emitAvailable:a,emitConversationCreated:o,emitSessionStarted:s,emitStateChanged:c,getOptions:l}){let d=new Set,f={status:r.IDLE},m=0,h=null,g=null,_=null,v=null,y=null,b=null,x=null;function S(e){L(f,e)||(f=e,c(f))}function ee(e,t){y=t,b=null,x=null;let n={body:t.invitation.body,campaignId:t.campaignId,laterCta:t.invitation.laterCta,startCta:t.invitation.startCta,status:r.AVAILABLE,title:t.invitation.title};S(n),d.has(e)||(d.add(e),a(n))}function te(){y=null,b=null,x=null,S({status:r.IDLE})}function ne(){v?.abort(),v=null,g=null,_=null}async function re(t,n,i){let a=l(),o=await e.checkEligibility(F(a),{signal:i});if(!(n!==m||t!==u(l()))){if(h=t,!o.eligible||o.status&&o.status!==r.AVAILABLE||!o.campaignId||!o.showRequestId||!o.invitation){y=null,b=null,x=null,S({status:r.UNAVAILABLE});return}ee(t,o)}}async function C(){let t=l(),a=u(t);if(!a){m+=1,ne(),h=null,te();return}let o=g!==null&&_!==a;if(o&&ne(),!o&&h===a&&f.status!==r.ERROR)return;if(g&&_===a){await g;return}ne();let s=++m,c=new AbortController;v=c,_=a,g=(async()=>{S({status:r.CHECKING});try{let r=i.read(t);if(r)try{let t=await e.getSession(r.sessionId,{signal:c.signal});if(s!==m||a!==u(l()))return;if(t.status!==n.ACTIVE){x=null,i.clear(l()),await re(a,s,c.signal);return}x=t,S(R(t,r.title)),h=a;return}catch{if(s!==m||a!==u(l()))return;x=null,i.clear(l())}await re(a,s,c.signal)}catch(e){if(s!==m||a!==u(l()))return;x=null,S({error:{message:I(e)},status:r.ERROR})}finally{_===a&&(g=null,_=null),v===c&&(v=null)}})(),await g}return{async chooseInvitation(t,n){await e.chooseInvitation(t,{choice:n})},async ensureInvitation(){let t=u(l());if(!t)throw m+=1,ne(),h=null,te(),Error(`No interview invitation is available.`);if((!y||f.status!==r.AVAILABLE)&&await C(),!y||f.status!==r.AVAILABLE)throw Error(`No interview invitation is available.`);if(b)return b;let n=await e.createInvitation(se(l(),y));return t===u(l())&&(b=n.invitationId),n.invitationId},getState(){return f.status===r.ACTIVE?{...f,title:j(l().brand?.name)??f.title??P(l())}:f},getActiveSession(){return x},async loadReward(t=x?.sessionId){if(!t)throw Error(`Cannot load an interview reward before the session starts.`);return await e.getReward(t)},syncAvailability:C,async startInvitation(r){let a=l(),c=u(a),d=await e.startInvitation(r,t(a));if(!c||c!==u(l()))return{entryId:`interview/session/${d.sessionId}`,session:d,sessionId:d.sessionId};x=d,d.status===n.ACTIVE?i.write(a,{entryId:`interview/session/${d.sessionId}`,priority:20,sessionId:d.sessionId,title:P(a)}):i.clear(a),S(R(d,P(a)));let f=ce(d.sessionId);return o?.(f),s?.(f),{entryId:`interview/session/${d.sessionId}`,session:d,sessionId:d.sessionId}},async sendMessage(t){if(!x||f.status!==r.ACTIVE)throw Error(`Cannot send an interview message before the session starts.`);let a=u(l()),o=x.sessionId,s=await e.sendMessage(o,{clientMessageId:z(`interview-message`),content:t,locale:l().locale});a!==u(l())||f.status!==r.ACTIVE||(x={...x,messages:[...x.messages,{content:t,createdAt:new Date().toISOString(),id:z(`interview-user`),role:`user`},{content:s.assistantMessage,createdAt:new Date().toISOString(),id:z(`interview-assistant`),role:`assistant`}],status:s.sessionStatus},s.sessionStatus!==n.ACTIVE&&i.clear(l()),S(R(x,P(l()))))}}}function ue(e){let t=s(e);return{async startSession(e,n){let{data:r}=await t.request(`/session`,{body:{...e,conversationId:n??void 0},conversationId:n,method:`POST`});return{conversationId:r.conversationId,messages:r.messages}},async updateContext(e,n){let{data:r}=await t.request(`/context`,{body:e,conversationId:n,method:`PATCH`});return r}}}function B(e){return e instanceof Error?e.message:`CustomerAgent support session request failed.`}function de(e){return e instanceof h&&e.code===`NOT_FOUND`}function V(e,t){return JSON.stringify(e)===JSON.stringify(t)}function H(e){return Array.isArray(e)?`[${e.map(e=>H(e)).join(`,`)}]`:e&&typeof e==`object`?`{${Object.entries(e).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>`${JSON.stringify(e)}:${H(t)}`).join(`,`)}}`:JSON.stringify(e)}function fe({api:e,buildContextPayload:t=p,cache:n,emitConversationCreated:r,emitStateChanged:i,getOptions:a,onSessionReady:o}){let s={status:b.IDLE},c=0,l=null,u=null,d=null,f=null,m=null,h=null,g=null,_=null;function y(e){V(s,e)||(s=e,i(s))}async function x(n){let r=t(a());return await e.startSession(r,n)}async function S(n,r,i){if(!e.updateContext)return;let o={...t(n),conversationId:i},s=H({key:r,payload:o});_!==s&&await e.updateContext(o,i).then(()=>{r===v(a())&&(_=s)}).catch(()=>void 0)}return{async ensureSession(){let e=a(),t=v(e);if(s.status===b.READY&&u===t)return l??{conversationId:s.conversationId,messages:[]};if(m&&h===t){let e=await m;if(e)return e}if(d&&f===t)return await d;let i=n.read(e),p=++c;y({status:i?b.REFRESHING:b.STARTING}),f=t,d=(async()=>{try{return await x(i)}catch(t){if(!i||!de(t))throw t;return n.clear(e),await x(null)}})();try{let e=await d;return p!==c||t!==v(a())?e:(l=e,u=t,n.write(a(),e.conversationId),o?.(a(),e),(!i||i!==e.conversationId)&&r(e.conversationId),y({conversationId:e.conversationId,status:b.READY}),e)}catch(r){throw p!==c||t!==v(a())?r:(i&&n.clear(e),y({error:{message:B(r)},status:b.ERROR}),r)}finally{f===t&&(d=null,f=null)}},getState(){return s},getSessionSnapshot(){return u===v(a())?l:null},invalidateSession(){let e=a(),t=v(e);c+=1,n.clear(e),u===t&&(l=null,u=null),f===t&&(d=null,f=null),h===t&&(m=null,h=null),g=null,_=null,y({status:b.IDLE})},async syncCachedSession(){let r=a(),i=v(r);if(s.status===b.READY&&u===i){g=i,await S(r,i,s.conversationId);return}if(g===i&&s.status!==b.ERROR)return;if(m&&h===i){await m;return}if(d&&f===i)return;let p=n.read(r);if(!p){g=i,y({status:b.IDLE});return}let _=++c;h=i,m=(async()=>{y({status:b.REFRESHING});try{let s=await e.startSession(t(r),p);return _!==c||i!==v(a())?null:(l=s,u=i,n.write(a(),s.conversationId),o?.(a(),s),y({conversationId:s.conversationId,status:b.READY}),g=i,await S(a(),i,s.conversationId),s)}catch(e){return _!==c||i!==v(a())?null:(n.clear(a()),de(e)?(u===i&&(l=null,u=null),y({status:b.IDLE}),g=i,null):(y({error:{message:B(e)},status:b.ERROR}),null))}finally{h===i&&(m=null,h=null)}})(),await m}}}function pe(e){let t=new EventTarget;return{emit(...n){let[r,i={}]=n,a={...e(),...i,timestamp:new Date().toISOString(),type:r};t.dispatchEvent(new CustomEvent(r,{detail:a}))},on(e,n){let r=e=>n(e.detail);return t.addEventListener(e,r),()=>t.removeEventListener(e,r)}}}function U(e){let t=e.tagName.toLowerCase();return t===`button`||t===`input`||t===`select`||t===`textarea`||t===`summary`||t===`a`&&e.hasAttribute(`href`)}function me(e,t,n){if(n===void 0){delete e[t];return}e[t]=n}function he(e,t){let n=t.isOpen?`open`:`closed`;e.setAttribute(`aria-expanded`,t.isOpen?`true`:`false`),e.dataset.state=n,e.dataset.customerAgentState=n,me(e.dataset,`customerAgentActiveEntry`,t.activeEntryId),me(e.dataset,`customerAgentActiveKind`,t.activeKind),e.dataset.customerAgentHasInvitation=t.hasInvitation?`true`:`false`,e.dataset.customerAgentHasUnread=t.hasUnread?`true`:`false`,me(e.dataset,`customerAgentViewport`,t.viewport),delete e.dataset.customerAgentLauncher,U(e)||(e.setAttribute(`role`,`button`),e.hasAttribute(`tabindex`)||(e.tabIndex=0))}function ge(){let e=document.createElement(`div`);e.style.cssText=[`position: fixed`,`visibility: hidden`,`height: env(safe-area-inset-bottom)`,`pointer-events: none`].join(`;`),document.body.appendChild(e);let t=Number.parseFloat(getComputedStyle(e).height)||0;return e.remove(),t}function _e(e={}){let t=window.visualViewport,n=window.innerWidth,r=window.innerHeight,i=t?.height??r,a=n<=640,o=a?e.mode===`bottom-sheet`?`bottom-sheet`:`fullscreen`:`desktop`,s=Math.max(0,t?.offsetTop??0);return{height:r,isMobile:a,keyboardInset:Math.max(0,r-i-s),mode:a?`mobile`:`desktop`,offsetTop:s,presentation:o,safeAreaBottom:ge(),visualHeight:i,width:n}}e();var W=null,G=null,K=null,ve=null,ye=`customer-agent-widget`,be=260,xe=[],Se=new WeakMap,Ce=0;async function we(){return K||(ve??=Promise.all([import(`./chunks/react-CKmEJ8Ba.js`).then(e=>A(e.t(),1)),import(`./chunks/client-duvjg9sB.js`).then(e=>A(e.t(),1)),import(`./chunks/App-DH4HBVjM.js`)]).then(([e,t,n])=>(K={createElement:e.createElement,createRoot:t.createRoot,preloadWidgetPanelShell:n.preloadWidgetPanelShell,WidgetApp:n.WidgetApp},K)).catch(e=>{throw ve=null,e}),await ve)}function Te(e){let t=xe.splice(0);for(let n of t)n.active&&(n.unsubscribe=e.on(n.eventName,n.handler))}function Ee(){document.getElementById(ye)?.remove()}function De(e){return typeof e==`string`?document.querySelector(e)??document.body:e??document.body}function Oe(e){let t=Se.get(e);if(t)return t;let n=`element-${++Ce}`;return Se.set(e,n),n}function ke(e){return typeof e==`string`?document.querySelector(e):e??null}function Ae(e){return Object.prototype.toString.call(e)===`[object Object]`}function q(e){return Array.isArray(e)?`[${e.map(e=>q(e)).join(`,`)}]`:e&&typeof e==`object`?`{${Object.entries(e).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>`${JSON.stringify(e)}:${q(t)}`).join(`,`)}}`:JSON.stringify(e)}function je(e){return typeof e==`string`?`selector:${e}`:e?`element:${Oe(e)}`:null}function Me(e){let t=Oe(De(e.mount)),{launcher:n,mount:r,...i}=e;return{fingerprint:q({...i,launcher:n?{...n,target:je(n.target)}:void 0,mount:t}),key:q({appId:e.app_id,mount:t})}}function Ne(e,t){let n={...e};for(let[r,i]of Object.entries(t)){let t=e[r];n[r]=Ae(t)&&Ae(i)?Ne(t,i):i}return n}function J(e){return typeof e==`string`&&e.trim()?e.trim():null}function Pe(e,t){let n=t?.replace(`_`,`-`),r=n?.split(`-`)[0];return(n?e[n]:void 0)??(r?e[r]:void 0)??e.en??Object.values(e)[0]}function Fe(e,t){let n=J(t.branding.name)??J(t.branding.agentName)??J(t.branding.workspaceName),r=J(t.branding.primaryColor)??J(t.branding.primary_color),i=Pe(t.welcomeMessage,e.locale);return{...e,brand:{...e.brand,name:e.brand?.name??n??e.brand?.name},messages:{...i?{welcome_message:i}:{},...e.messages},theme:{...e.theme,primaryColor:e.theme?.primaryColor??r??e.theme?.primaryColor}}}function Ie(e,n=Me(e)){W?.shutdown(),Ee();let r=l(),u=document.createElement(`div`),p=pe(()=>({appId:b.app_id,widgetId:r})),v=De(e.mount),b=o(e,r),C=e.launcher?.target,w=!!b.open_on_init,T=y(b),ie=w,E=null,D=null,O=null,k=null,ae=null,A=null,j=null,M=null,N=re(b.locale,b.messages),P=_e(b.mobile),F=!1,se=0,I=null,L=`idle`,R=null,ce=!1,z=!1,B=!1,de=null,V=fe({api:ue(m()),cache:te(),emitConversationCreated(e){p.emit(t.CONVERSATION_CREATED,{...Ke(e)})},emitStateChanged(e){p.emit(t.SUPPORT_STATE_CHANGED,{support:e}),U(),J()},getOptions(){return b},onSessionReady(e,t){c.hydrateSession(e,t)}}),H=le({api:oe(),cache:f(),emitAvailable(e){p.emit(t.INTERVIEW_AVAILABLE,e)},emitConversationCreated(e){p.emit(t.CONVERSATION_CREATED,e)},emitSessionStarted(e){p.emit(t.INTERVIEW_SESSION_STARTED,e)},emitStateChanged(e){p.emit(t.INTERVIEW_STATE_CHANGED,{interview:e}),U(),J()},getOptions(){return b}});u.id=ye,u.className=`customer-agent-namespace`,u.dataset.customerAgent=`container`,v.appendChild(u);function U(){if(!E)return;let e=g(T.memoryRoute),t=T.requestedTarget?.type===`entry`?e?.split(`/`)[0]:T.requestedTarget?.type??e?.split(`/`)[0]??`support`;he(E,{activeEntryId:e,activeKind:t,hasInvitation:!1,hasUnread:!1,isOpen:w,targetConfigured:C!==void 0,targetConnected:!!E,viewport:P.mode})}function me(){!E||!D||(D.ariaExpanded===null?E.removeAttribute(`aria-expanded`):E.setAttribute(`aria-expanded`,D.ariaExpanded),D.role===null?E.removeAttribute(`role`):E.setAttribute(`role`,D.role),D.state===null?delete E.dataset.state:E.dataset.state=D.state,D.tabIndex===null?E.removeAttribute(`tabindex`):E.setAttribute(`tabindex`,D.tabIndex))}function ge(){ae?.(),ae=null,a(E),me(),E=null,D=null}function ve(){typeof C!=`string`||O!==null||(O=window.requestAnimationFrame(()=>{if(O=null,!(F||typeof C!=`string`)){if(ke(C)===E){U();return}J()}}))}function xe(){if(k?.disconnect(),k=null,typeof C!=`string`||typeof MutationObserver>`u`)return;let e=document.documentElement??document.body;e&&(k=new MutationObserver(ve),k.observe(e,{attributes:!0,childList:!0,subtree:!0}))}function Se(){let e=ke(C);if(e===E){U();return}if(ge(),!e)return;let t=e;E=t,i(t),D={ariaExpanded:t.getAttribute(`aria-expanded`),role:t.getAttribute(`role`),state:t.dataset.state??null,tabIndex:t.getAttribute(`tabindex`)};function n(e){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation()}function r(e){n(e),Q(!w)}function a(e){e.key!==`Enter`&&e.key!==` `||(n(e),Q(!w))}t.addEventListener(`click`,r,{capture:!0}),t.addEventListener(`keydown`,a,{capture:!0}),ae=()=>{t.removeEventListener(`click`,r,{capture:!0}),t.removeEventListener(`keydown`,a,{capture:!0})},U()}function Ce(){L===`idle`&&(L=`queued`,queueMicrotask(()=>{F||(L=`emitted`,p.emit(t.WIDGET_READY))}))}function Oe(e){let n=!0;return queueMicrotask(()=>{F||!n||e({appId:b.app_id,timestamp:new Date().toISOString(),type:t.WIDGET_READY,widgetId:r})}),()=>{n=!1}}function Ae(e){let n=e instanceof Error?e.message:`CustomerAgent widget UI failed to load.`;console.error(`CustomerAgent widget UI failed to load.`,e),p.emit(t.ERROR,{message:n})}function q(){return R??=we().then(async e=>{F||(I??=e.createRoot(u),await e.preloadWidgetPanelShell())}).catch(e=>{throw R=null,e}),R}function je(){if(!F){if(!E||ie||w){J();return}if(!K||!I){J();return}I.render(K.createElement(K.WidgetApp,{activeTarget:T.requestedTarget,hasPanel:!1,hasCustomLauncher:!0,eventBus:p,interviewRuntime:{chooseInvitation:H.chooseInvitation,ensureInvitation:H.ensureInvitation,getActiveSession:H.getActiveSession,startInvitation:H.startInvitation},isOpen:!1,launcherTargetElement:E,memoryRoute:T.memoryRoute,onMemoryRouteChange:Ye,onOpenChange:Q,options:b,resolvedLocale:N,runtimeState:{interview:H.getState(),support:V.getState()},supportRuntime:{ensureSession:V.ensureSession,getSessionSnapshot:V.getSessionSnapshot,invalidateSession:V.invalidateSession},isViewportSettling:B,viewport:P,widgetId:r})),Ce()}}function J(){if(!F){if(Se(),E&&!ie&&!w){ce=!1,q().then(je).catch(Ae);return}if(!K||!I){ce=!0,we().then(e=>{F||(I??=e.createRoot(u),ce&&(ce=!1,J()))}).catch(e=>{Ae(e)});return}I.render(K.createElement(K.WidgetApp,{activeTarget:T.requestedTarget,hasPanel:ie,hasCustomLauncher:!!E,eventBus:p,interviewRuntime:{chooseInvitation:H.chooseInvitation,ensureInvitation:H.ensureInvitation,getActiveSession:H.getActiveSession,startInvitation:H.startInvitation},isOpen:w,launcherTargetElement:E,memoryRoute:T.memoryRoute,onMemoryRouteChange:Ye,onOpenChange:Q,options:b,resolvedLocale:N,runtimeState:{interview:H.getState(),support:V.getState()},supportRuntime:{ensureSession:V.ensureSession,getSessionSnapshot:V.getSessionSnapshot,invalidateSession:V.invalidateSession},isViewportSettling:B,viewport:P,widgetId:r})),q().then(Ce).catch(Ae)}}function Pe(){let e=++se;N=re(b.locale,b.messages),ne(b.locale,b.messages).then(t=>{F||e!==se||(N=t,J())}).catch(n=>{if(F||e!==se)return;let r=n instanceof Error?n.message:`CustomerAgent locale messages failed to load.`;console.error(`CustomerAgent locale messages failed to load.`,n),p.emit(t.ERROR,{message:r})})}function Ie(){N=re(b.locale,b.messages),P=_e(b.mobile),X()}function Le(e){S(e)!==S(b)&&(T=y(b))}function Y(){P=_e(b.mobile),X()}function Re(){return w&&!b.embedded&&P.presentation===`fullscreen`}function ze(){let e=window.navigator.platform,t=window.navigator.maxTouchPoints??0;return/iP(ad|hone|od)/.test(e)||e===`MacIntel`&&t>1}function Be(){if(de)return;let e=document.body,t=document.documentElement,n=window.scrollX,r=window.scrollY,i=ze()?`fixed`:`overflow`,a=Math.max(0,window.innerWidth-t.clientWidth),o=Number.parseFloat(window.getComputedStyle(e).paddingRight)||0;de={bodyLeft:e.style.left,bodyOverflow:e.style.overflow,bodyOverscrollBehavior:e.style.overscrollBehavior,bodyPaddingRight:e.style.paddingRight,bodyPosition:e.style.position,bodyRight:e.style.right,bodyTop:e.style.top,bodyWidth:e.style.width,htmlOverflow:t.style.overflow,htmlOverscrollBehavior:t.style.overscrollBehavior,htmlScrollbarGutter:t.style.scrollbarGutter,scrollX:n,scrollY:r,strategy:i},t.style.overflow=`hidden`,t.style.overscrollBehavior=`contain`,e.style.overflow=`hidden`,e.style.overscrollBehavior=`contain`,`scrollbarGutter`in t.style?t.style.scrollbarGutter=`stable`:a>0&&(e.style.paddingRight=`${o+a}px`),i===`fixed`&&(e.style.left=`-${n}px`,e.style.position=`fixed`,e.style.right=`0`,e.style.top=`-${r}px`,e.style.width=`100%`)}function Ve(){let e=de;if(!e)return;de=null;let t=document.body,n=document.documentElement;n.style.overflow=e.htmlOverflow,n.style.overscrollBehavior=e.htmlOverscrollBehavior,n.style.scrollbarGutter=e.htmlScrollbarGutter,t.style.left=e.bodyLeft,t.style.overflow=e.bodyOverflow,t.style.overscrollBehavior=e.bodyOverscrollBehavior,t.style.paddingRight=e.bodyPaddingRight,t.style.position=e.bodyPosition,t.style.right=e.bodyRight,t.style.top=e.bodyTop,t.style.width=e.bodyWidth,e.strategy===`fixed`&&window.scrollTo(e.scrollX,e.scrollY)}function X(){if(Re()){Be();return}Ve()}function He(e){return w&&!b.embedded&&e.presentation===`fullscreen`}function Ue(){j!==null&&(window.clearTimeout(j),j=null),B&&(B=!1,J())}function We(){j!==null&&window.clearTimeout(j),j=window.setTimeout(()=>{j=null,!F&&Ue()},be)}function Z(){A===null&&(A=window.requestAnimationFrame(()=>{if(A=null,F)return;let e=_e(b.mobile),t=He(e);P=e,X(),t?(B=!0,We()):(j!==null&&(window.clearTimeout(j),j=null),B=!1),J()}))}function Ge(){z||(z=!0,queueMicrotask(()=>{z=!1,!F&&(Je(),V.syncCachedSession(),H.syncAvailability())}))}function Ke(e){return{conversationId:e,conversationType:`support`,entryId:d(e),supportConversationId:e}}function qe(){return{activeEntryId:g(T.memoryRoute),activeTarget:T.requestedTarget,appId:b.app_id,isOpen:w,isReady:L===`emitted`,launcher:{targetConfigured:C!==void 0,targetConnected:!!E},support:V.getState(),interview:H.getState(),widgetId:r}}function Je(){let e=m(),n=`${e}::${b.app_id}`;M!==n&&(M=n,s(e).request(`/apps/${b.app_id}/public-config`).then(({data:e})=>{M===n&&(b=Fe(b,e),Pe(),Y(),J())}).catch(e=>{if(e instanceof h&&e.code===`NOT_FOUND`)return;let n=e instanceof Error?e.message:`CustomerAgent public config request failed.`;console.error(`CustomerAgent public config request failed.`,e),p.emit(t.ERROR,{message:n})}))}window.addEventListener(`resize`,Z),window.addEventListener(`orientationchange`,Z),window.visualViewport?.addEventListener(`resize`,Z),window.visualViewport?.addEventListener(`scroll`,Z);function Q(e){if(e?ie=!0:T=x(T),w===e){J();return}w=e,X(),U(),J(),p.emit(w?t.WIDGET_OPENED:t.WIDGET_CLOSED)}function $(e){T=_(b,T,e)}function Ye(e){T=ee(b,T,e),U()}let Xe={async chooseInvitation(e,t){await H.chooseInvitation(e,t)},async ensureInvitation(){return{invitationId:await H.ensureInvitation()}},hide(){Q(!1)},getInterviewState(){return H.getState()},getInterviewSession(){return H.getActiveSession()},async getSession(){return{conversationId:(await V.ensureSession()).conversationId}},getState:qe,getSupportState(){return V.getState()},identify(e){let t=b;b={...b,user:e},Le(t),Ie(),J(),Ge()},on(e,n){let r=p.on(e,n),i;return e===t.WIDGET_READY&&L===`emitted`&&(i=Oe(n)),()=>{i?.(),r()}},openEntry(e){$({entryId:e,type:`entry`}),Q(!0)},async loadInterviewReward(e){return await H.loadReward(e)},async sendInterviewMessage(e){await H.sendMessage(e)},setContext(e,t={}){b={...b,context:t.merge===!1?e:Ne(b.context,e),context_ready:t.ready??b.context_ready},Ie(),J(),Ge()},show(e){$(e),Q(!0)},shutdown(){F=!0,W===Xe&&(W=null,G=null),I?.unmount(),window.removeEventListener(`resize`,Z),window.removeEventListener(`orientationchange`,Z),window.visualViewport?.removeEventListener(`resize`,Z),window.visualViewport?.removeEventListener(`scroll`,Z),A!==null&&(window.cancelAnimationFrame(A),A=null),j!==null&&(window.clearTimeout(j),j=null),Ve(),k?.disconnect(),k=null,O!==null&&(window.cancelAnimationFrame(O),O=null),ge(),u.remove()},async startInvitation(e){let t=await H.startInvitation(e);return $({sessionId:t.sessionId,type:`interview`}),J(),{entryId:t.entryId,sessionId:t.sessionId}},async startInterview(){$({type:`interview`}),Q(!0);try{let e=await H.ensureInvitation(),t=await H.startInvitation(e);return $({sessionId:t.sessionId,type:`interview`}),J(),{entryId:t.entryId,sessionId:t.sessionId}}catch(e){throw $({type:`support`}),J(),e}},toggle(e){e&&$(e),Q(!w)},update(e){let t=b;Object.prototype.hasOwnProperty.call(e,`launcher`)&&(C=e.launcher?.target,xe()),b={...o({...b,...e,context:e.context??b.context},b.widgetId),embedded:b.embedded},Le(t),Pe(),Y(),J(),Ge()}};return W=Xe,G=n,Te(p),xe(),Pe(),X(),J(),Ge(),Xe}function Le(e){if(W&&e.app_id){let t=Me(e);return G?.key===t.key?(G.fingerprint!==t.fingerprint&&(W.update(e),G=t),e.open_on_init&&W.show(),W):Ie(e,t)}return Ie(e)}var Y={boot:Le,async chooseInvitation(e,t){await W?.chooseInvitation(e,t)},async ensureInvitation(){return W?await W.ensureInvitation():null},getInterviewState(){return W?.getInterviewState()??null},getInterviewSession(){return W?.getInterviewSession()??null},async getSession(){return W?await W.getSession():null},getState(){return W?.getState()??null},getSupportState(){return W?.getSupportState()??null},hide(){W?.hide()},identify(e){W?.identify(e)},on(e,t){if(W)return W.on(e,t);let n={active:!0,eventName:e,handler:t};return xe.push(n),()=>{n.active=!1,n.unsubscribe?.()}},setContext(e,t){W?.setContext(e,t)},openEntry(e){W?.openEntry(e)},async loadInterviewReward(e){return W?await W.loadInterviewReward(e):null},async sendInterviewMessage(e){await W?.sendInterviewMessage(e)},show(e){W?.show(e)},shutdown(){W?.shutdown(),W=null,G=null},async startInvitation(e){return W?await W.startInvitation(e):null},async startInterview(){return W?await W.startInterview():null},toggle(e){W?.toggle(e)},update(e){W?.update(e)}};function Re(e,...t){switch(e){case`boot`:return Y.boot(t[0]);case`chooseInvitation`:return Y.chooseInvitation(t[0],t[1]);case`ensureInvitation`:return Y.ensureInvitation();case`getSession`:return Y.getSession();case`getState`:return Y.getState();case`getSupportState`:return Y.getSupportState();case`getInterviewState`:return Y.getInterviewState();case`getInterviewSession`:return Y.getInterviewSession();case`hide`:return Y.hide();case`identify`:return Y.identify(t[0]);case`on`:return Y.on(t[0],t[1]);case`openEntry`:return Y.openEntry(t[0]);case`loadInterviewReward`:return Y.loadInterviewReward(t[0]);case`sendInterviewMessage`:return Y.sendInterviewMessage(t[0]);case`setContext`:return Y.setContext(t[0],t[1]);case`show`:return Y.show(t[0]);case`shutdown`:return Y.shutdown();case`startInvitation`:return Y.startInvitation(t[0]);case`startInterview`:return Y.startInterview();case`toggle`:return Y.toggle(t[0]);case`update`:return Y.update(t[0]);default:throw Error(`CustomerAgent received an unknown command: ${String(e)}.`)}}var ze=Object.assign(Re,Y),Be=Y.chooseInvitation,Ve=Y.ensureInvitation,X=Y.getInterviewState,He=Y.getInterviewSession,Ue=Y.getSession,We=Y.getState,Z=Y.getSupportState,Ge=Y.hide,Ke=Y.identify,qe=Y.on,Je=Y.openEntry,Q=Y.loadInterviewReward,$=Y.sendInterviewMessage,Ye=Y.setContext,Xe=Y.show,Ze=Y.shutdown,Qe=Y.startInvitation,$e=Y.startInterview,et=Y.toggle,tt=Y.update;export{ze as CustomerAgent,Le as boot,Be as chooseInvitation,Ve as ensureInvitation,He as getInterviewSession,X as getInterviewState,Ue as getSession,We as getState,Z as getSupportState,Ge as hide,Ke as identify,Q as loadInterviewReward,k as n,qe as on,Je as openEntry,A as r,$ as sendInterviewMessage,Ye as setContext,Xe as show,Ze as shutdown,$e as startInterview,Qe as startInvitation,O as t,et as toggle,tt as update};
1
+ import{n as e,t}from"./chunks/constants-BpY-fndm.js";import{r as n,t as r}from"./chunks/interviewTypes-Ch2NsXKB.js";import{i,t as a}from"./chunks/launcherAnchorStore-JMTZZGKC.js";import{_ as o,b as s,f as c,g as l,m as u,n as d,p as f,u as p,v as m,y as h}from"./chunks/routes-CnOzFkT2.js";import{a as g,c as _,d as v,i as y,l as b,n as x,o as S,r as C,u as w}from"./chunks/navigationState-LdqG_Osx.js";import{n as T,r as E}from"./chunks/i18n-D85tWOUS.js";var D=Object.create,O=Object.defineProperty,k=Object.getOwnPropertyDescriptor,ee=Object.getOwnPropertyNames,A=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty,M=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),N=(e,t)=>{let n={};for(var r in e)O(n,r,{get:e[r],enumerable:!0});return t||O(n,Symbol.toStringTag,{value:`Module`}),n},te=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=ee(t),a=0,o=i.length,s;a<o;a++)s=i[a],!j.call(e,s)&&s!==n&&O(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=k(t,s))||r.enumerable});return e},P=(e,t,n)=>(n=e==null?{}:D(A(e)),te(t||!e||!e.__esModule?O(n,`default`,{value:e,enumerable:!0}):n,e));function ne(){let e=s(m());return{async checkEligibility(t,n){let{data:r}=await e.request(`/interviews/eligibility`,{body:t,method:`POST`,signal:n?.signal});return r},async chooseInvitation(t,n){await e.request(`/interviews/invitations/${t}/choice`,{body:n,method:`PATCH`})},async createInvitation(t){let{data:n}=await e.request(`/interviews/invitations`,{body:t,method:`POST`});return n},async getReward(t){let{data:n}=await e.request(`/interviews/sessions/${t}/reward`);return n},async getSession(t,n){let{data:r}=await e.request(`/interviews/sessions/${t}`,{signal:n?.signal});return r},async sendMessage(t,n){let{data:r}=await e.request(`/interviews/sessions/${t}/messages`,{body:n,method:`POST`});return r},async startInvitation(t,n){let{data:r}=await e.request(`/interviews/invitations/${t}/start`,{body:n,method:`POST`});return r}}}function F(e){return typeof e==`string`&&e.trim()?e.trim():null}function re(e){return e.anonymous_id??e.user?.id}function I(e){return{...e.context,...e.user,userId:e.user?.id,visitorId:re(e)}}function L(e){return F(e.brand?.name)??`Customer Agent`}function R(e){return{appId:e.app_id,locale:e.locale,pageContext:e.context??{},userContext:I(e),visitorId:re(e)}}function ie(e,t){return{appId:e.app_id,campaignId:t.campaignId,context:e.context??{},showRequestId:t.showRequestId,userContext:I(e),variantKey:t.variantKey,visitorId:re(e)}}function z(e){return e instanceof Error?e.message:`CustomerAgent interview request failed.`}function ae(e,t){return JSON.stringify(e)===JSON.stringify(t)}function B(e,t){return e.status===n.ACTIVE?{entryId:`interview/session/${e.sessionId}`,sessionId:e.sessionId,status:r.ACTIVE,title:t}:{sessionId:e.sessionId,sessionStatus:e.status,status:r.TERMINAL}}function oe(e){return{conversationId:`interview/session/${e}`,conversationType:`interview`,entryId:`interview/session/${e}`,interviewSessionId:e}}function se(e){return typeof crypto<`u`&&`randomUUID`in crypto?`${e}-${crypto.randomUUID()}`:`${e}-${Date.now()}-${Math.random().toString(36).slice(2)}`}function ce({api:e,buildContextPayload:t=p,cache:i,emitAvailable:a,emitConversationCreated:o,emitSessionStarted:s,emitStateChanged:c,getOptions:l}){let d=new Set,f={status:r.IDLE},m=0,h=null,g=null,_=null,v=null,y=null,b=null,x=null;function S(e){ae(f,e)||(f=e,c(f))}function C(e,t){y=t,b=null,x=null;let n={body:t.invitation.body,campaignId:t.campaignId,laterCta:t.invitation.laterCta,startCta:t.invitation.startCta,status:r.AVAILABLE,title:t.invitation.title};S(n),d.has(e)||(d.add(e),a(n))}function w(){y=null,b=null,x=null,S({status:r.IDLE})}function T(){v?.abort(),v=null,g=null,_=null}async function E(t,n,i){let a=l(),o=await e.checkEligibility(R(a),{signal:i});if(!(n!==m||t!==u(l()))){if(h=t,!o.eligible||o.status&&o.status!==r.AVAILABLE||!o.campaignId||!o.showRequestId||!o.invitation){y=null,b=null,x=null,S({status:r.UNAVAILABLE});return}C(t,o)}}async function D(){let t=l(),a=u(t);if(!a){m+=1,T(),h=null,w();return}let o=g!==null&&_!==a;if(o&&T(),!o&&h===a&&f.status!==r.ERROR)return;if(g&&_===a){await g;return}T();let s=++m,c=new AbortController;v=c,_=a,g=(async()=>{S({status:r.CHECKING});try{let r=i.read(t);if(r)try{let t=await e.getSession(r.sessionId,{signal:c.signal});if(s!==m||a!==u(l()))return;if(t.status!==n.ACTIVE){x=null,i.clear(l()),await E(a,s,c.signal);return}x=t,S(B(t,r.title)),h=a;return}catch{if(s!==m||a!==u(l()))return;x=null,i.clear(l())}await E(a,s,c.signal)}catch(e){if(s!==m||a!==u(l()))return;x=null,S({error:{message:z(e)},status:r.ERROR})}finally{_===a&&(g=null,_=null),v===c&&(v=null)}})(),await g}return{async chooseInvitation(t,n){await e.chooseInvitation(t,{choice:n})},async ensureInvitation(){let t=u(l());if(!t)throw m+=1,T(),h=null,w(),Error(`No interview invitation is available.`);if((!y||f.status!==r.AVAILABLE)&&await D(),!y||f.status!==r.AVAILABLE)throw Error(`No interview invitation is available.`);if(b)return b;let n=await e.createInvitation(ie(l(),y));return t===u(l())&&(b=n.invitationId),n.invitationId},getState(){return f.status===r.ACTIVE?{...f,title:F(l().brand?.name)??f.title??L(l())}:f},getActiveSession(){return x},async loadReward(t=x?.sessionId){if(!t)throw Error(`Cannot load an interview reward before the session starts.`);return await e.getReward(t)},syncAvailability:D,async startInvitation(r){let a=l(),c=u(a),d=await e.startInvitation(r,t(a));if(!c||c!==u(l()))return{entryId:`interview/session/${d.sessionId}`,session:d,sessionId:d.sessionId};x=d,d.status===n.ACTIVE?i.write(a,{entryId:`interview/session/${d.sessionId}`,priority:20,sessionId:d.sessionId,title:L(a)}):i.clear(a),S(B(d,L(a)));let f=oe(d.sessionId);return o?.(f),s?.(f),{entryId:`interview/session/${d.sessionId}`,session:d,sessionId:d.sessionId}},async sendMessage(t){if(!x||f.status!==r.ACTIVE)throw Error(`Cannot send an interview message before the session starts.`);let a=u(l()),o=x.sessionId,s=await e.sendMessage(o,{clientMessageId:se(`interview-message`),content:t,locale:l().locale});a!==u(l())||f.status!==r.ACTIVE||(x={...x,messages:[...x.messages,{content:t,createdAt:new Date().toISOString(),id:se(`interview-user`),role:`user`},{content:s.assistantMessage,createdAt:new Date().toISOString(),id:se(`interview-assistant`),role:`assistant`}],status:s.sessionStatus},s.sessionStatus!==n.ACTIVE&&i.clear(l()),S(B(x,L(l()))))}}}function le(e){let t=s(e);return{async startSession(e,n){let{data:r}=await t.request(`/session`,{body:{...e,conversationId:n??void 0},conversationId:n,method:`POST`});return{conversationId:r.conversationId,messages:r.messages}},async updateContext(e,n){let{data:r}=await t.request(`/context`,{body:e,conversationId:n,method:`PATCH`});return r}}}var V=1e3,ue=3e4;function H(e){return e instanceof Error?e.message:`CustomerAgent support session request failed.`}function U(e){return e instanceof h&&e.code===`NOT_FOUND`}function W(e){return Math.min(ue,V*2**e)}function de(e,t){return JSON.stringify(e)===JSON.stringify(t)}function fe(e){return Array.isArray(e)?`[${e.map(e=>fe(e)).join(`,`)}]`:e&&typeof e==`object`?`{${Object.entries(e).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>`${JSON.stringify(e)}:${fe(t)}`).join(`,`)}}`:JSON.stringify(e)}function pe({api:e,buildContextPayload:t=p,cache:n,emitConversationCreated:r,emitStateChanged:i,getOptions:a,onSessionReady:o}){let s={status:b.IDLE},c=0,l=null,u=null,d=null,f=null,m=null,h=null,g=null,_=null,y=0,x=null,S=null,C=null,w=null,T=0;function E(e){de(s,e)||(s=e,i(s))}async function D(n){let r=t(a());return await e.startSession(r,n)}function O(){w!==null&&clearTimeout(w),C?.(),y=0,x=null,S=null,C=null,w=null,T=0}function k(e){x!==e&&O(),x=e,T=Date.now()+W(y),y+=1}async function ee(e){if(x&&x!==e)return O(),!1;if(x!==e)return!1;let t=T-Date.now();return t<=0?(S=null,C=null,w=null,!1):(S??=new Promise(e=>{C=e,w=setTimeout(()=>{S=null,C=null,w=null,e()},t)}),await S,!0)}async function A(n,r,i){if(!e.updateContext)return;let o={...t(n),conversationId:i},s=fe({key:r,payload:o});_!==s&&await e.updateContext(o,i).then(()=>{r===v(a())&&(_=s)}).catch(()=>void 0)}async function j(){let e=a(),t=v(e);if(s.status===b.READY&&u===t)return l??{conversationId:s.conversationId,messages:[]};if(m&&h===t){let e=await m;if(e)return e}if(d&&f===t)return await d;if(x&&x!==t&&O(),x===t&&await ee(t))return await j();if(d&&f===t)return await d;let i=n.read(e),p=++c;E({status:i?b.REFRESHING:b.STARTING}),f=t,d=(async()=>{try{return await D(i)}catch(t){if(!i||!U(t))throw t;return n.clear(e),await D(null)}})();try{let e=await d;return p!==c||t!==v(a())?e:(l=e,u=t,O(),n.write(a(),e.conversationId),o?.(a(),e),(!i||i!==e.conversationId)&&r(e.conversationId),E({conversationId:e.conversationId,status:b.READY}),e)}catch(r){throw p!==c||t!==v(a())?r:(i&&n.clear(e),E({error:{message:H(r)},status:b.ERROR}),k(t),r)}finally{f===t&&(d=null,f=null)}}return{ensureSession:j,getState(){return s},getSessionSnapshot(){return u===v(a())?l:null},invalidateSession(){let e=a(),t=v(e);c+=1,n.clear(e),u===t&&(l=null,u=null),f===t&&(d=null,f=null),h===t&&(m=null,h=null),O(),g=null,_=null,E({status:b.IDLE})},async syncCachedSession(){let r=a(),i=v(r);if(s.status===b.READY&&u===i){g=i,await A(r,i,s.conversationId);return}if(g===i&&s.status!==b.ERROR)return;if(m&&h===i){await m;return}if(d&&f===i)return;let p=n.read(r);if(!p){g=i,E({status:b.IDLE});return}let _=++c;h=i,m=(async()=>{E({status:b.REFRESHING});try{let s=await e.startSession(t(r),p);return _!==c||i!==v(a())?null:(l=s,u=i,n.write(a(),s.conversationId),o?.(a(),s),E({conversationId:s.conversationId,status:b.READY}),g=i,await A(a(),i,s.conversationId),s)}catch(e){return _!==c||i!==v(a())?null:(n.clear(a()),U(e)?(u===i&&(l=null,u=null),E({status:b.IDLE}),g=i,null):(E({error:{message:H(e)},status:b.ERROR}),null))}finally{h===i&&(m=null,h=null)}})(),await m}}}function me(e){let t=new EventTarget;return{emit(...n){let[r,i={}]=n,a={...e(),...i,timestamp:new Date().toISOString(),type:r};t.dispatchEvent(new CustomEvent(r,{detail:a}))},on(e,n){let r=e=>n(e.detail);return t.addEventListener(e,r),()=>t.removeEventListener(e,r)}}}function he(e){let t=e.tagName.toLowerCase();return t===`button`||t===`input`||t===`select`||t===`textarea`||t===`summary`||t===`a`&&e.hasAttribute(`href`)}function ge(e,t,n){if(n===void 0){delete e[t];return}e[t]=n}function _e(e,t){let n=t.isOpen?`open`:`closed`;e.setAttribute(`aria-expanded`,t.isOpen?`true`:`false`),e.dataset.state=n,e.dataset.customerAgentState=n,ge(e.dataset,`customerAgentActiveEntry`,t.activeEntryId),ge(e.dataset,`customerAgentActiveKind`,t.activeKind),e.dataset.customerAgentHasInvitation=t.hasInvitation?`true`:`false`,e.dataset.customerAgentHasUnread=t.hasUnread?`true`:`false`,ge(e.dataset,`customerAgentViewport`,t.viewport),delete e.dataset.customerAgentLauncher,he(e)||(e.setAttribute(`role`,`button`),e.hasAttribute(`tabindex`)||(e.tabIndex=0))}function ve(){let e=document.createElement(`div`);e.style.cssText=[`position: fixed`,`visibility: hidden`,`height: env(safe-area-inset-bottom)`,`pointer-events: none`].join(`;`),document.body.appendChild(e);let t=Number.parseFloat(getComputedStyle(e).height)||0;return e.remove(),t}function ye(e={}){let t=window.visualViewport,n=window.innerWidth,r=window.innerHeight,i=t?.height??r,a=n<=640,o=a?e.mode===`bottom-sheet`?`bottom-sheet`:`fullscreen`:`desktop`,s=Math.max(0,t?.offsetTop??0);return{height:r,isMobile:a,keyboardInset:Math.max(0,r-i-s),mode:a?`mobile`:`desktop`,offsetTop:s,presentation:o,safeAreaBottom:ve(),visualHeight:i,width:n}}e();var G=null,be=null,K=null,xe=null,Se=`customer-agent-widget`,Ce=260,we=[],Te=new WeakMap,Ee=0;async function De(){return K||(xe??=Promise.all([import(`./chunks/react-CKmEJ8Ba.js`).then(e=>P(e.t(),1)),import(`./chunks/client-duvjg9sB.js`).then(e=>P(e.t(),1)),import(`./chunks/App-BlAsGrUK.js`)]).then(([e,t,n])=>(K={createElement:e.createElement,createRoot:t.createRoot,preloadWidgetPanelShell:n.preloadWidgetPanelShell,WidgetApp:n.WidgetApp},K)).catch(e=>{throw xe=null,e}),await xe)}function Oe(e){let t=we.splice(0);for(let n of t)n.active&&(n.unsubscribe=e.on(n.eventName,n.handler))}function ke(){document.getElementById(Se)?.remove()}function Ae(e){return typeof e==`string`?document.querySelector(e)??document.body:e??document.body}function je(e){let t=Te.get(e);if(t)return t;let n=`element-${++Ee}`;return Te.set(e,n),n}function Me(e){return typeof e==`string`?document.querySelector(e):e??null}function q(e){return Object.prototype.toString.call(e)===`[object Object]`}function J(e){return Array.isArray(e)?`[${e.map(e=>J(e)).join(`,`)}]`:e&&typeof e==`object`?`{${Object.entries(e).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>`${JSON.stringify(e)}:${J(t)}`).join(`,`)}}`:JSON.stringify(e)}function Ne(e){return typeof e==`string`?`selector:${e}`:e?`element:${je(e)}`:null}function Pe(e){let t=je(Ae(e.mount)),{launcher:n,mount:r,...i}=e;return{fingerprint:J({...i,launcher:n?{...n,target:Ne(n.target)}:void 0,mount:t}),key:J({appId:e.app_id,mount:t})}}function Fe(e,t){let n={...e};for(let[r,i]of Object.entries(t)){let t=e[r];n[r]=q(t)&&q(i)?Fe(t,i):i}return n}function Y(e){return typeof e==`string`&&e.trim()?e.trim():null}function Ie(e,t){let n=t?.replace(`_`,`-`),r=n?.split(`-`)[0];return(n?e[n]:void 0)??(r?e[r]:void 0)??e.en??Object.values(e)[0]}function Le(e,t){let n=Y(t.branding.name)??Y(t.branding.agentName)??Y(t.branding.workspaceName),r=Y(t.branding.primaryColor)??Y(t.branding.primary_color),i=Ie(t.welcomeMessage,e.locale);return{...e,brand:{...e.brand,name:e.brand?.name??n??e.brand?.name},messages:{...i?{welcome_message:i}:{},...e.messages},theme:{...e.theme,primaryColor:e.theme?.primaryColor??r??e.theme?.primaryColor}}}function Re(e,n=Pe(e)){G?.shutdown(),ke();let r=l(),u=document.createElement(`div`),p=me(()=>({appId:b.app_id,widgetId:r})),v=Ae(e.mount),b=o(e,r),D=e.launcher?.target,O=!!b.open_on_init,k=y(b),ee=O,A=null,j=null,M=null,N=null,te=null,P=null,F=null,re=null,I=E(b.locale,b.messages),L=ye(b.mobile),R=!1,ie=0,z=null,ae=`idle`,B=null,oe=!1,se=!1,V=!1,ue=null,H=pe({api:le(m()),cache:w(),emitConversationCreated(e){p.emit(t.CONVERSATION_CREATED,{...Ke(e)})},emitStateChanged(e){p.emit(t.SUPPORT_STATE_CHANGED,{support:e}),W(),q()},getOptions(){return b},onSessionReady(e,t){c.hydrateSession(e,t)}}),U=ce({api:ne(),cache:f(),emitAvailable(e){p.emit(t.INTERVIEW_AVAILABLE,e)},emitConversationCreated(e){p.emit(t.CONVERSATION_CREATED,e)},emitSessionStarted(e){p.emit(t.INTERVIEW_SESSION_STARTED,e)},emitStateChanged(e){p.emit(t.INTERVIEW_STATE_CHANGED,{interview:e}),W(),q()},getOptions(){return b}});u.id=Se,u.className=`customer-agent-namespace`,u.dataset.customerAgent=`container`,v.appendChild(u);function W(){if(!A)return;let e=g(k.memoryRoute),t=k.requestedTarget?.type===`entry`?e?.split(`/`)[0]:k.requestedTarget?.type??e?.split(`/`)[0]??`support`;_e(A,{activeEntryId:e,activeKind:t,hasInvitation:!1,hasUnread:!1,isOpen:O,targetConfigured:D!==void 0,targetConnected:!!A,viewport:L.mode})}function de(){!A||!j||(j.ariaExpanded===null?A.removeAttribute(`aria-expanded`):A.setAttribute(`aria-expanded`,j.ariaExpanded),j.role===null?A.removeAttribute(`role`):A.setAttribute(`role`,j.role),j.state===null?delete A.dataset.state:A.dataset.state=j.state,j.tabIndex===null?A.removeAttribute(`tabindex`):A.setAttribute(`tabindex`,j.tabIndex))}function fe(){te?.(),te=null,a(A),de(),A=null,j=null}function he(){typeof D!=`string`||M!==null||(M=window.requestAnimationFrame(()=>{if(M=null,!(R||typeof D!=`string`)){if(Me(D)===A){W();return}q()}}))}function ge(){if(N?.disconnect(),N=null,typeof D!=`string`||typeof MutationObserver>`u`)return;let e=document.documentElement??document.body;e&&(N=new MutationObserver(he),N.observe(e,{attributes:!0,childList:!0,subtree:!0}))}function ve(){let e=Me(D);if(e===A){W();return}if(fe(),!e)return;let t=e;A=t,i(t),j={ariaExpanded:t.getAttribute(`aria-expanded`),role:t.getAttribute(`role`),state:t.dataset.state??null,tabIndex:t.getAttribute(`tabindex`)};function n(e){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation()}function r(e){n(e),Q(!O)}function a(e){e.key!==`Enter`&&e.key!==` `||(n(e),Q(!O))}t.addEventListener(`click`,r,{capture:!0}),t.addEventListener(`keydown`,a,{capture:!0}),te=()=>{t.removeEventListener(`click`,r,{capture:!0}),t.removeEventListener(`keydown`,a,{capture:!0})},W()}function xe(){ae===`idle`&&(ae=`queued`,queueMicrotask(()=>{R||(ae=`emitted`,p.emit(t.WIDGET_READY))}))}function we(e){let n=!0;return queueMicrotask(()=>{R||!n||e({appId:b.app_id,timestamp:new Date().toISOString(),type:t.WIDGET_READY,widgetId:r})}),()=>{n=!1}}function Te(e){let n=e instanceof Error?e.message:`CustomerAgent widget UI failed to load.`;console.error(`CustomerAgent widget UI failed to load.`,e),p.emit(t.ERROR,{message:n})}function Ee(){return B??=De().then(async e=>{R||(z??=e.createRoot(u),await e.preloadWidgetPanelShell())}).catch(e=>{throw B=null,e}),B}function je(){if(!R){if(!A||ee||O){q();return}if(!K||!z){q();return}z.render(K.createElement(K.WidgetApp,{activeTarget:k.requestedTarget,hasPanel:!1,hasCustomLauncher:!0,eventBus:p,interviewRuntime:{chooseInvitation:U.chooseInvitation,ensureInvitation:U.ensureInvitation,getActiveSession:U.getActiveSession,startInvitation:U.startInvitation},isOpen:!1,launcherTargetElement:A,memoryRoute:k.memoryRoute,onMemoryRouteChange:Ye,onOpenChange:Q,options:b,resolvedLocale:I,runtimeState:{interview:U.getState(),support:H.getState()},supportRuntime:{ensureSession:H.ensureSession,getSessionSnapshot:H.getSessionSnapshot,invalidateSession:H.invalidateSession},isViewportSettling:V,viewport:L,widgetId:r})),xe()}}function q(){if(!R){if(ve(),A&&!ee&&!O){oe=!1,Ee().then(je).catch(Te);return}if(!K||!z){oe=!0,De().then(e=>{R||(z??=e.createRoot(u),oe&&(oe=!1,q()))}).catch(e=>{Te(e)});return}z.render(K.createElement(K.WidgetApp,{activeTarget:k.requestedTarget,hasPanel:ee,hasCustomLauncher:!!A,eventBus:p,interviewRuntime:{chooseInvitation:U.chooseInvitation,ensureInvitation:U.ensureInvitation,getActiveSession:U.getActiveSession,startInvitation:U.startInvitation},isOpen:O,launcherTargetElement:A,memoryRoute:k.memoryRoute,onMemoryRouteChange:Ye,onOpenChange:Q,options:b,resolvedLocale:I,runtimeState:{interview:U.getState(),support:H.getState()},supportRuntime:{ensureSession:H.ensureSession,getSessionSnapshot:H.getSessionSnapshot,invalidateSession:H.invalidateSession},isViewportSettling:V,viewport:L,widgetId:r})),Ee().then(xe).catch(Te)}}function J(){let e=++ie;I=E(b.locale,b.messages),T(b.locale,b.messages).then(t=>{R||e!==ie||(I=t,q())}).catch(n=>{if(R||e!==ie)return;let r=n instanceof Error?n.message:`CustomerAgent locale messages failed to load.`;console.error(`CustomerAgent locale messages failed to load.`,n),p.emit(t.ERROR,{message:r})})}function Ne(){I=E(b.locale,b.messages),L=ye(b.mobile),Ve()}function Y(e){S(e)!==S(b)&&(k=y(b))}function Ie(){L=ye(b.mobile),Ve()}function Re(){return O&&!b.embedded&&L.presentation===`fullscreen`}function ze(){let e=window.navigator.platform,t=window.navigator.maxTouchPoints??0;return/iP(ad|hone|od)/.test(e)||e===`MacIntel`&&t>1}function X(){if(ue)return;let e=document.body,t=document.documentElement,n=window.scrollX,r=window.scrollY,i=ze()?`fixed`:`overflow`,a=Math.max(0,window.innerWidth-t.clientWidth),o=Number.parseFloat(window.getComputedStyle(e).paddingRight)||0;ue={bodyLeft:e.style.left,bodyOverflow:e.style.overflow,bodyOverscrollBehavior:e.style.overscrollBehavior,bodyPaddingRight:e.style.paddingRight,bodyPosition:e.style.position,bodyRight:e.style.right,bodyTop:e.style.top,bodyWidth:e.style.width,htmlOverflow:t.style.overflow,htmlOverscrollBehavior:t.style.overscrollBehavior,htmlScrollbarGutter:t.style.scrollbarGutter,scrollX:n,scrollY:r,strategy:i},t.style.overflow=`hidden`,t.style.overscrollBehavior=`contain`,e.style.overflow=`hidden`,e.style.overscrollBehavior=`contain`,`scrollbarGutter`in t.style?t.style.scrollbarGutter=`stable`:a>0&&(e.style.paddingRight=`${o+a}px`),i===`fixed`&&(e.style.left=`-${n}px`,e.style.position=`fixed`,e.style.right=`0`,e.style.top=`-${r}px`,e.style.width=`100%`)}function Be(){let e=ue;if(!e)return;ue=null;let t=document.body,n=document.documentElement;n.style.overflow=e.htmlOverflow,n.style.overscrollBehavior=e.htmlOverscrollBehavior,n.style.scrollbarGutter=e.htmlScrollbarGutter,t.style.left=e.bodyLeft,t.style.overflow=e.bodyOverflow,t.style.overscrollBehavior=e.bodyOverscrollBehavior,t.style.paddingRight=e.bodyPaddingRight,t.style.position=e.bodyPosition,t.style.right=e.bodyRight,t.style.top=e.bodyTop,t.style.width=e.bodyWidth,e.strategy===`fixed`&&window.scrollTo(e.scrollX,e.scrollY)}function Ve(){if(Re()){X();return}Be()}function He(e){return O&&!b.embedded&&e.presentation===`fullscreen`}function Ue(){F!==null&&(window.clearTimeout(F),F=null),V&&(V=!1,q())}function We(){F!==null&&window.clearTimeout(F),F=window.setTimeout(()=>{F=null,!R&&Ue()},Ce)}function Z(){P===null&&(P=window.requestAnimationFrame(()=>{if(P=null,R)return;let e=ye(b.mobile),t=He(e);L=e,Ve(),t?(V=!0,We()):(F!==null&&(window.clearTimeout(F),F=null),V=!1),q()}))}function Ge(){se||(se=!0,queueMicrotask(()=>{se=!1,!R&&(Je(),H.syncCachedSession(),U.syncAvailability())}))}function Ke(e){return{conversationId:e,conversationType:`support`,entryId:d(e),supportConversationId:e}}function qe(){return{activeEntryId:g(k.memoryRoute),activeTarget:k.requestedTarget,appId:b.app_id,isOpen:O,isReady:ae===`emitted`,launcher:{targetConfigured:D!==void 0,targetConnected:!!A},support:H.getState(),interview:U.getState(),widgetId:r}}function Je(){let e=m(),n=`${e}::${b.app_id}`;re!==n&&(re=n,s(e).request(`/apps/${b.app_id}/public-config`).then(({data:e})=>{re===n&&(b=Le(b,e),J(),Ie(),q())}).catch(e=>{if(e instanceof h&&e.code===`NOT_FOUND`)return;let n=e instanceof Error?e.message:`CustomerAgent public config request failed.`;console.error(`CustomerAgent public config request failed.`,e),p.emit(t.ERROR,{message:n})}))}window.addEventListener(`resize`,Z),window.addEventListener(`orientationchange`,Z),window.visualViewport?.addEventListener(`resize`,Z),window.visualViewport?.addEventListener(`scroll`,Z);function Q(e){if(e?ee=!0:k=x(k),O===e){q();return}O=e,Ve(),W(),q(),p.emit(O?t.WIDGET_OPENED:t.WIDGET_CLOSED)}function $(e){k=_(b,k,e)}function Ye(e){k=C(b,k,e),W()}let Xe={async chooseInvitation(e,t){await U.chooseInvitation(e,t)},async ensureInvitation(){return{invitationId:await U.ensureInvitation()}},hide(){Q(!1)},getInterviewState(){return U.getState()},getInterviewSession(){return U.getActiveSession()},async getSession(){return{conversationId:(await H.ensureSession()).conversationId}},getState:qe,getSupportState(){return H.getState()},identify(e){let t=b;b={...b,user:e},Y(t),Ne(),q(),Ge()},on(e,n){let r=p.on(e,n),i;return e===t.WIDGET_READY&&ae===`emitted`&&(i=we(n)),()=>{i?.(),r()}},openEntry(e){$({entryId:e,type:`entry`}),Q(!0)},async loadInterviewReward(e){return await U.loadReward(e)},async sendInterviewMessage(e){await U.sendMessage(e)},setContext(e,t={}){b={...b,context:t.merge===!1?e:Fe(b.context,e),context_ready:t.ready??b.context_ready},Ne(),q(),Ge()},show(e){$(e),Q(!0)},shutdown(){R=!0,G===Xe&&(G=null,be=null),z?.unmount(),window.removeEventListener(`resize`,Z),window.removeEventListener(`orientationchange`,Z),window.visualViewport?.removeEventListener(`resize`,Z),window.visualViewport?.removeEventListener(`scroll`,Z),P!==null&&(window.cancelAnimationFrame(P),P=null),F!==null&&(window.clearTimeout(F),F=null),Be(),N?.disconnect(),N=null,M!==null&&(window.cancelAnimationFrame(M),M=null),fe(),u.remove()},async startInvitation(e){let t=await U.startInvitation(e);return $({sessionId:t.sessionId,type:`interview`}),q(),{entryId:t.entryId,sessionId:t.sessionId}},async startInterview(){$({type:`interview`}),Q(!0);try{let e=await U.ensureInvitation(),t=await U.startInvitation(e);return $({sessionId:t.sessionId,type:`interview`}),q(),{entryId:t.entryId,sessionId:t.sessionId}}catch(e){throw $({type:`support`}),q(),e}},toggle(e){e&&$(e),Q(!O)},update(e){let t=b;Object.prototype.hasOwnProperty.call(e,`launcher`)&&(D=e.launcher?.target,ge()),b={...o({...b,...e,context:e.context??b.context},b.widgetId),embedded:b.embedded},Y(t),J(),Ie(),q(),Ge()}};return G=Xe,be=n,Oe(p),ge(),J(),Ve(),q(),Ge(),Xe}function ze(e){if(G&&e.app_id){let t=Pe(e);return be?.key===t.key?(be.fingerprint!==t.fingerprint&&(G.update(e),be=t),e.open_on_init&&G.show(),G):Re(e,t)}return Re(e)}var X={boot:ze,async chooseInvitation(e,t){await G?.chooseInvitation(e,t)},async ensureInvitation(){return G?await G.ensureInvitation():null},getInterviewState(){return G?.getInterviewState()??null},getInterviewSession(){return G?.getInterviewSession()??null},async getSession(){return G?await G.getSession():null},getState(){return G?.getState()??null},getSupportState(){return G?.getSupportState()??null},hide(){G?.hide()},identify(e){G?.identify(e)},on(e,t){if(G)return G.on(e,t);let n={active:!0,eventName:e,handler:t};return we.push(n),()=>{n.active=!1,n.unsubscribe?.()}},setContext(e,t){G?.setContext(e,t)},openEntry(e){G?.openEntry(e)},async loadInterviewReward(e){return G?await G.loadInterviewReward(e):null},async sendInterviewMessage(e){await G?.sendInterviewMessage(e)},show(e){G?.show(e)},shutdown(){G?.shutdown(),G=null,be=null},async startInvitation(e){return G?await G.startInvitation(e):null},async startInterview(){return G?await G.startInterview():null},toggle(e){G?.toggle(e)},update(e){G?.update(e)}};function Be(e,...t){switch(e){case`boot`:return X.boot(t[0]);case`chooseInvitation`:return X.chooseInvitation(t[0],t[1]);case`ensureInvitation`:return X.ensureInvitation();case`getSession`:return X.getSession();case`getState`:return X.getState();case`getSupportState`:return X.getSupportState();case`getInterviewState`:return X.getInterviewState();case`getInterviewSession`:return X.getInterviewSession();case`hide`:return X.hide();case`identify`:return X.identify(t[0]);case`on`:return X.on(t[0],t[1]);case`openEntry`:return X.openEntry(t[0]);case`loadInterviewReward`:return X.loadInterviewReward(t[0]);case`sendInterviewMessage`:return X.sendInterviewMessage(t[0]);case`setContext`:return X.setContext(t[0],t[1]);case`show`:return X.show(t[0]);case`shutdown`:return X.shutdown();case`startInvitation`:return X.startInvitation(t[0]);case`startInterview`:return X.startInterview();case`toggle`:return X.toggle(t[0]);case`update`:return X.update(t[0]);default:throw Error(`CustomerAgent received an unknown command: ${String(e)}.`)}}var Ve=Object.assign(Be,X),He=X.chooseInvitation,Ue=X.ensureInvitation,We=X.getInterviewState,Z=X.getInterviewSession,Ge=X.getSession,Ke=X.getState,qe=X.getSupportState,Je=X.hide,Q=X.identify,$=X.on,Ye=X.openEntry,Xe=X.loadInterviewReward,Ze=X.sendInterviewMessage,Qe=X.setContext,$e=X.show,et=X.shutdown,tt=X.startInvitation,nt=X.startInterview,rt=X.toggle,it=X.update;export{Ve as CustomerAgent,ze as boot,He as chooseInvitation,Ue as ensureInvitation,Z as getInterviewSession,We as getInterviewState,Ge as getSession,Ke as getState,qe as getSupportState,Je as hide,Q as identify,Xe as loadInterviewReward,N as n,$ as on,Ye as openEntry,P as r,Ze as sendInterviewMessage,Qe as setContext,$e as show,et as shutdown,nt as startInterview,tt as startInvitation,M as t,rt as toggle,it as update};
package/sdk.js CHANGED
@@ -1 +1 @@
1
- (function(){var e=`0.8.0-test.f63f0e9020ee`;function t(){typeof window>`u`||(window.__customerAgentVersion=e)}var n=`__customerAgentRuntime`,r=`__customerAgentScript`,i=typeof document<`u`&&document.currentScript instanceof HTMLScriptElement?document.currentScript:null,a=[];t();var o=`idle`,s=null,c=null;function l(e){return typeof e==`object`&&!!e}function u(e){return Array.prototype.slice.call(e)}function d(){let e=i?.src??new URL(`sdk.js`,window.location.href).toString();return new URL(`runtime.es.js`,e).toString()}function f(e){let t=e.CustomerAgent??e.default;if(typeof t!=`function`)throw Error(`CustomerAgent widget runtime module did not export CustomerAgent.`);return Object.assign(t,{[n]:!0})}function p(){if(!s)return;let e=a.splice(0);for(let t of e)t(s)}async function m(){return o===`ready`&&s?s:o===`loading`&&c?await c:(o=`loading`,c=import(d()).then(e=>(s=f(e),window.CustomerAgent=s,o=`ready`,p(),s)).catch(e=>{throw o=`failed`,c=null,console.error(`CustomerAgent widget runtime failed to load.`,e),e}),await c)}function h(e){if(s){e(s);return}a.push(e),m().catch(()=>{})}function g(e,t){h(n=>{let r=n[e];typeof r==`function`&&r(...t)})}function _(e){return h(t=>{t(`boot`,e)}),R}async function v(){return await(await m()).ensureInvitation()}async function y(e){return await(await m()).startInvitation(e)}async function b(){return await(await m()).startInterview()}async function x(e,t){await(await m()).chooseInvitation(e,t)}async function S(e){await(await m()).sendInterviewMessage(e)}async function C(e){return await(await m()).loadInterviewReward(e)}function w(e){g(`update`,[e])}function T(e){g(`show`,[e])}function E(){g(`hide`,[])}function D(e){g(`toggle`,[e])}function O(e){g(`openEntry`,[e])}function k(){g(`shutdown`,[])}function A(e){g(`identify`,[e])}function j(e,t){g(`setContext`,[e,t])}async function M(){return await(await m()).getSession()}function N(){return s?.getSupportState()??null}function P(){return s?.getInterviewState()??null}function F(){return s?.getInterviewSession()??null}function I(){return s?.getState()??null}function L(e,t){let n=!0,r=()=>{};return h(i=>{n&&(r=i.on(e,t))}),()=>{n=!1,r()}}var R={chooseInvitation:x,async ensureInvitation(){let e=await v();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getInterviewState(){let e=P();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getInterviewSession(){return F()},async getSession(){let e=await M();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getState(){let e=I();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getSupportState(){let e=N();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},hide:E,identify:A,on:L,openEntry:O,loadInterviewReward:C,sendInterviewMessage:S,setContext:j,show:T,shutdown:k,async startInterview(){let e=await b();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},async startInvitation(e){let t=await y(e);if(!t)throw Error(`CustomerAgent widget is not initialized.`);return t},toggle:D,update:w};function z(e,...t){switch(e){case`boot`:return _(t[0]);case`chooseInvitation`:return x(t[0],t[1]);case`ensureInvitation`:return v();case`getSession`:return M();case`getState`:return I();case`getSupportState`:return N();case`getInterviewState`:return P();case`getInterviewSession`:return F();case`hide`:return E();case`identify`:return A(t[0]);case`on`:return L(t[0],t[1]);case`openEntry`:return O(t[0]);case`loadInterviewReward`:return C(t[0]);case`sendInterviewMessage`:return S(t[0]);case`setContext`:return j(t[0],t[1]);case`show`:return T(t[0]);case`shutdown`:return k();case`startInvitation`:return y(t[0]);case`startInterview`:return b();case`toggle`:return D(t[0]);case`update`:return w(t[0]);default:throw Error(`CustomerAgent received an unknown command: ${String(e)}.`)}}var B=Object.assign(z,{[r]:!0,boot:_,chooseInvitation:x,ensureInvitation:v,getInterviewState:P,getInterviewSession:F,getSession:M,getState:I,getSupportState:N,hide:E,identify:A,on:L,openEntry:O,loadInterviewReward:C,sendInterviewMessage:S,setContext:j,show:T,shutdown:k,startInterview:b,startInvitation:y,toggle:D,update:w});function V(e){if(!l(e))return!1;let t=e.q;if(!Array.isArray(t)||t.length===0)return!1;for(let e of t)z(...u(e));return!0}function H(){if(!i)return;let e=i.dataset.appId;e&&B(`boot`,{app_id:e,open_on_init:i.dataset.open===`true`,position:i.dataset.position===`bottom-left`?`bottom-left`:`bottom-right`})}if(typeof window<`u`){let e=window.CustomerAgent;window.CustomerAgent=B,V(e)||H()}})();
1
+ (function(){var e=`0.8.0`;function t(){typeof window>`u`||(window.__customerAgentVersion=e)}var n=`__customerAgentRuntime`,r=`__customerAgentScript`,i=typeof document<`u`&&document.currentScript instanceof HTMLScriptElement?document.currentScript:null,a=[];t();var o=`idle`,s=null,c=null;function l(e){return typeof e==`object`&&!!e}function u(e){return Array.prototype.slice.call(e)}function d(){let e=i?.src??new URL(`sdk.js`,window.location.href).toString();return new URL(`runtime.es.js`,e).toString()}function f(e){let t=e.CustomerAgent??e.default;if(typeof t!=`function`)throw Error(`CustomerAgent widget runtime module did not export CustomerAgent.`);return Object.assign(t,{[n]:!0})}function p(){if(!s)return;let e=a.splice(0);for(let t of e)t(s)}async function m(){return o===`ready`&&s?s:o===`loading`&&c?await c:(o=`loading`,c=import(d()).then(e=>(s=f(e),window.CustomerAgent=s,o=`ready`,p(),s)).catch(e=>{throw o=`failed`,c=null,console.error(`CustomerAgent widget runtime failed to load.`,e),e}),await c)}function h(e){if(s){e(s);return}a.push(e),m().catch(()=>{})}function g(e,t){h(n=>{let r=n[e];typeof r==`function`&&r(...t)})}function _(e){return h(t=>{t(`boot`,e)}),R}async function v(){return await(await m()).ensureInvitation()}async function y(e){return await(await m()).startInvitation(e)}async function b(){return await(await m()).startInterview()}async function x(e,t){await(await m()).chooseInvitation(e,t)}async function S(e){await(await m()).sendInterviewMessage(e)}async function C(e){return await(await m()).loadInterviewReward(e)}function w(e){g(`update`,[e])}function T(e){g(`show`,[e])}function E(){g(`hide`,[])}function D(e){g(`toggle`,[e])}function O(e){g(`openEntry`,[e])}function k(){g(`shutdown`,[])}function A(e){g(`identify`,[e])}function j(e,t){g(`setContext`,[e,t])}async function M(){return await(await m()).getSession()}function N(){return s?.getSupportState()??null}function P(){return s?.getInterviewState()??null}function F(){return s?.getInterviewSession()??null}function I(){return s?.getState()??null}function L(e,t){let n=!0,r=()=>{};return h(i=>{n&&(r=i.on(e,t))}),()=>{n=!1,r()}}var R={chooseInvitation:x,async ensureInvitation(){let e=await v();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getInterviewState(){let e=P();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getInterviewSession(){return F()},async getSession(){let e=await M();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getState(){let e=I();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getSupportState(){let e=N();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},hide:E,identify:A,on:L,openEntry:O,loadInterviewReward:C,sendInterviewMessage:S,setContext:j,show:T,shutdown:k,async startInterview(){let e=await b();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},async startInvitation(e){let t=await y(e);if(!t)throw Error(`CustomerAgent widget is not initialized.`);return t},toggle:D,update:w};function z(e,...t){switch(e){case`boot`:return _(t[0]);case`chooseInvitation`:return x(t[0],t[1]);case`ensureInvitation`:return v();case`getSession`:return M();case`getState`:return I();case`getSupportState`:return N();case`getInterviewState`:return P();case`getInterviewSession`:return F();case`hide`:return E();case`identify`:return A(t[0]);case`on`:return L(t[0],t[1]);case`openEntry`:return O(t[0]);case`loadInterviewReward`:return C(t[0]);case`sendInterviewMessage`:return S(t[0]);case`setContext`:return j(t[0],t[1]);case`show`:return T(t[0]);case`shutdown`:return k();case`startInvitation`:return y(t[0]);case`startInterview`:return b();case`toggle`:return D(t[0]);case`update`:return w(t[0]);default:throw Error(`CustomerAgent received an unknown command: ${String(e)}.`)}}var B=Object.assign(z,{[r]:!0,boot:_,chooseInvitation:x,ensureInvitation:v,getInterviewState:P,getInterviewSession:F,getSession:M,getState:I,getSupportState:N,hide:E,identify:A,on:L,openEntry:O,loadInterviewReward:C,sendInterviewMessage:S,setContext:j,show:T,shutdown:k,startInterview:b,startInvitation:y,toggle:D,update:w});function V(e){if(!l(e))return!1;let t=e.q;if(!Array.isArray(t)||t.length===0)return!1;for(let e of t)z(...u(e));return!0}function H(){if(!i)return;let e=i.dataset.appId;e&&B(`boot`,{app_id:e,open_on_init:i.dataset.open===`true`,position:i.dataset.position===`bottom-left`?`bottom-left`:`bottom-right`})}if(typeof window<`u`){let e=window.CustomerAgent;window.CustomerAgent=B,V(e)||H()}})();
@@ -16,7 +16,7 @@ export type SupportSessionServiceDeps = {
16
16
  };
17
17
  export type SupportSessionService = ReturnType<typeof createSupportSessionService>;
18
18
  export declare function createSupportSessionService({ api, buildContextPayload: buildPayload, cache, emitConversationCreated, emitStateChanged, getOptions, onSessionReady }: SupportSessionServiceDeps): {
19
- ensureSession(): Promise<{
19
+ ensureSession: () => Promise<{
20
20
  conversationId: string;
21
21
  messages: CustomerAgentApiMessage[];
22
22
  }>;
@@ -29,7 +29,7 @@ export declare function createSupportSessionService({ api, buildContextPayload:
29
29
  syncCachedSession(): Promise<void>;
30
30
  };
31
31
  export declare function createDefaultSupportSessionService(deps: Omit<SupportSessionServiceDeps, "buildContextPayload" | "cache">): {
32
- ensureSession(): Promise<{
32
+ ensureSession: () => Promise<{
33
33
  conversationId: string;
34
34
  messages: CustomerAgentApiMessage[];
35
35
  }>;
package/types/types.d.ts CHANGED
@@ -8,7 +8,7 @@ export type WidgetUser = {
8
8
  export type WidgetContextJson = Record<string, unknown>;
9
9
  export type WidgetLocaleMessages = Partial<Record<keyof typeof defaultLocaleMessages, string>>;
10
10
  export type WidgetMobileOptions = {
11
- mode?: "auto" | "fullscreen" | "bottom-sheet";
11
+ mode?: "fullscreen" | "bottom-sheet";
12
12
  };
13
13
  export type WidgetMobilePresentation = "desktop" | "fullscreen" | "bottom-sheet";
14
14
  export type WidgetPageOptions = {
@@ -1,2 +0,0 @@
1
- import{t as e}from"./constants-BdROGfTy.js";import{i as t,t as n}from"./launcherAnchorStore-JMTZZGKC.js";import{t as r}from"./i18n-Q8u2wtW4.js";import{r as i}from"../runtime.es.js";import{t as a}from"./react-CKmEJ8Ba.js";import{t as o}from"./client-duvjg9sB.js";import{t as s}from"./createLucideIcon-B1BLVEeA.js";import{n as c,t as l}from"./WidgetGlobalLoading-B_z-6_yk.js";import{t as u}from"./x-CcuT5rCV.js";import{t as d}from"./jsx-runtime-S2ZBQkZm.js";import{t as f}from"./classNames-3q0x02_x.js";var p=i(a(),1),m=Object.freeze({EXPAND_CHANGE:`expand-change`,MEMORY_ROUTE_CHANGE:`memory-route-change`,OPEN_CHANGE:`open-change`}),h=Object.freeze({ACTION:`customer-agent:frame-action`,STATE:`customer-agent:frame-state`});function g(e,t,n){return{action:n,surface:t,type:h.ACTION,widgetId:e}}function _(e){return typeof e==`object`&&!!e&&`type`in e&&e.type===h.ACTION}var v=`#customer-agent-widget{position:var(--customer-agent-host-container-position);inset:var(--customer-agent-host-container-inset);pointer-events:var(--customer-agent-host-container-pointer-events);z-index:var(--customer-agent-host-container-z-index)}#customer-agent-widget .customer-agent-app{position:var(--customer-agent-host-app-position);inset:var(--customer-agent-host-app-inset);pointer-events:none}#customer-agent-widget div.customer-agent-messenger-frame,:where(#customer-agent-widget .customer-agent-launcher-container){box-sizing:border-box;color-scheme:normal;background:0 0;border:0;margin:0;padding:0}#customer-agent-widget iframe.customer-agent-frame[data-customer-agent-surface]{border-radius:inherit;color-scheme:normal;visibility:visible;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;display:block;position:absolute;inset:0;overflow:hidden}#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel]{position:var(--customer-agent-host-frame-position);left:var(--customer-agent-host-panel-left);right:var(--customer-agent-host-panel-right);bottom:var(--customer-agent-host-panel-bottom);background:var(--customer-agent-host-panel-bg);border:1px solid var(--customer-agent-host-panel-border);border-radius:var(--customer-agent-host-panel-radius);width:0;height:0;box-shadow:var(--customer-agent-host-panel-shadow);opacity:0;pointer-events:none;transform:var(--customer-agent-host-panel-closed-transform);transform-origin:var(--customer-agent-host-panel-transform-origin);visibility:hidden;z-index:2147483646;transition:width .22s,height .22s,left .22s,right .22s,top .22s,bottom .22s,border-radius .22s,opacity .16s,transform .22s,visibility .16s;overflow:hidden}#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel][data-anchor-mode=floating]{left:var(--customer-agent-anchor-panel-left);right:auto;top:var(--customer-agent-anchor-panel-top);width:var(--customer-agent-anchor-panel-width,var(--customer-agent-host-panel-size-width));height:var(--customer-agent-anchor-panel-height,var(--customer-agent-host-panel-size-height));transform-origin:top;bottom:auto;transform:translateY(16px)scale(.96)}#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel][data-anchor-mode=floating][data-anchor-placement=top]{transform-origin:bottom;transform:translateY(-16px)scale(.96)}#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel][data-anchor-mode=floating][data-anchor-placement=left]{transform-origin:100%;transform:translate(-16px)scale(.96)}#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel][data-anchor-mode=floating][data-anchor-placement=right]{transform-origin:0;transform:translate(16px)scale(.96)}#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel][data-state=open]{width:var(--customer-agent-anchor-panel-width,var(--customer-agent-host-panel-size-width));height:var(--customer-agent-anchor-panel-height,var(--customer-agent-host-panel-size-height));opacity:1;pointer-events:auto;visibility:visible;transform:translate(0)scale(1)}#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel][data-anchor-mode=floating][data-state=open]{transform:translate(0)scale(1)}#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel][data-state=open][data-expanded=true]{width:var(--customer-agent-anchor-panel-width,var(--customer-agent-host-panel-expanded-size-width));height:var(--customer-agent-anchor-panel-height,var(--customer-agent-host-panel-expanded-size-height-legacy));height:var(--customer-agent-anchor-panel-height,var(--customer-agent-host-panel-expanded-size-height))}#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel][data-mobile-presentation=fullscreen]{border:0}#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel][data-mobile-presentation=fullscreen][data-state=open]{top:auto;left:0;right:0;bottom:var(--customer-agent-host-fullscreen-bottom,0px);width:var(--customer-agent-host-fullscreen-width);max-width:100%;height:var(--customer-agent-host-fullscreen-layout-height,var(--customer-agent-host-fullscreen-height-legacy));max-height:var(--customer-agent-host-fullscreen-layout-height,var(--customer-agent-host-fullscreen-max-height-legacy));z-index:2147483647;border-radius:0;transform:translate(0)scale(1)}#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel][data-mobile-presentation=fullscreen][data-state=open][data-viewport-settling=true]{transition:bottom .22s,opacity .16s,visibility .16s}#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel][data-mobile-presentation=fullscreen][data-mobile-origin=launcher]:not([data-state=open]){left:var(--customer-agent-mobile-origin-left);right:auto;top:var(--customer-agent-mobile-origin-top);width:var(--customer-agent-mobile-origin-width);height:var(--customer-agent-mobile-origin-height);transform-origin:50%;border-radius:0;bottom:auto;transform:translate(0)scale(1)}#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel][data-mobile-presentation=bottom-sheet]{left:var(--customer-agent-host-bottom-sheet-left);right:var(--customer-agent-host-bottom-sheet-right);border:0;border-radius:14px 14px 0 0;bottom:0;transform:translateY(32px)scale(1)}#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel][data-mobile-presentation=bottom-sheet][data-state=open]{width:var(--customer-agent-host-bottom-sheet-width);z-index:2147483647;max-width:100%;height:min(640px,100dvh - 72px);max-height:calc(100dvh - 72px);transform:translate(0)scale(1)}:where(#customer-agent-widget .customer-agent-launcher-container){position:var(--customer-agent-host-frame-position);left:var(--customer-agent-host-launcher-left);right:var(--customer-agent-host-launcher-right);bottom:var(--customer-agent-host-launcher-bottom);width:var(--customer-agent-host-launcher-size);height:var(--customer-agent-host-launcher-size);background:var(--customer-agent-host-launcher-bg);box-shadow:var(--customer-agent-host-launcher-shadow);pointer-events:auto;z-index:2147483647;border-radius:9999px;transition:box-shadow .15s,transform .15s;animation:.18s ease-out both customer-agent-launcher-enter;overflow:visible}:where(#customer-agent-widget .customer-agent-launcher-container:hover){box-shadow:var(--customer-agent-host-launcher-shadow);transform:scale(1.1)}:where(#customer-agent-widget .customer-agent-launcher-container:active){transform:scale(.9)}:where(#customer-agent-widget .customer-agent-launcher-container[data-state=open]){box-shadow:var(--customer-agent-host-launcher-shadow)}:where(#customer-agent-widget .customer-agent-launcher-container[data-mobile-presentation=fullscreen][data-state=open]){z-index:2147483646}:where(#customer-agent-widget .customer-agent-launcher-container[data-mobile-presentation=bottom-sheet][data-state=open]){opacity:0;pointer-events:none;visibility:hidden;display:none;transform:scale(.88)}@keyframes customer-agent-launcher-enter{0%{opacity:0}to{opacity:1}}@media (width<=640px){#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel]{border:0}#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel][data-state=open]{width:var(--customer-agent-host-fullscreen-width);max-width:100%;height:var(--customer-agent-host-fullscreen-layout-height,var(--customer-agent-host-fullscreen-height-legacy));max-height:var(--customer-agent-host-fullscreen-layout-height,var(--customer-agent-host-fullscreen-max-height-legacy));transform:translate(0)scale(1)}#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel][data-mobile-presentation=bottom-sheet][data-state=open]{height:min(640px,100dvh - 72px)}:where(#customer-agent-widget .customer-agent-launcher-container),#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel][data-mobile-presentation=fullscreen]:not([data-mobile-origin=launcher]){left:var(--customer-agent-host-mobile-inline-left);right:var(--customer-agent-host-mobile-inline-right);bottom:var(--customer-agent-host-mobile-bottom)}#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel][data-mobile-presentation=fullscreen][data-mobile-origin=launcher]:not([data-state=open]){left:var(--customer-agent-mobile-origin-left);right:auto;top:var(--customer-agent-mobile-origin-top);bottom:auto}#customer-agent-widget div.customer-agent-messenger-frame[data-customer-agent-surface-host=panel][data-mobile-presentation=fullscreen][data-state=open]{top:auto;left:0;right:0;bottom:var(--customer-agent-host-fullscreen-bottom,0px)}}`,y=16,b=20,x=48;function S(e){return e.position===`bottom-left`?`translate(-16px, 24px) scale(0.96)`:`translate(16px, 24px) scale(0.96)`}function C(e){let t=e.position===`bottom-left`,n=e.position===`bottom-left`?`left bottom`:`right bottom`,r=S(e),i=e.embedded?`absolute`:`fixed`,a=t?`${b}px`:`auto`,o=t?`auto`:`${b}px`,s=t?`max(${b}px, env(safe-area-inset-left))`:`auto`,c=t?`auto`:`max(${b}px, env(safe-area-inset-right))`,l=e.embedded?`min(var(--customer-agent-host-panel-width), calc(100% - var(--customer-agent-host-panel-safe-margin) - var(--customer-agent-host-panel-safe-margin)))`:`min(var(--customer-agent-host-panel-width), calc(100vw - var(--customer-agent-host-panel-safe-margin) - var(--customer-agent-host-panel-safe-margin)))`,u=e.embedded?`min(var(--customer-agent-host-panel-max-height), calc(100% - var(--customer-agent-host-panel-expanded-height-offset)))`:`min(var(--customer-agent-host-panel-max-height), calc(100vh - var(--customer-agent-host-panel-expanded-height-offset)))`,d=e.embedded?`min(var(--customer-agent-host-panel-expanded-width), calc(100% - var(--customer-agent-host-panel-safe-margin) - var(--customer-agent-host-panel-safe-margin)))`:`min(var(--customer-agent-host-panel-expanded-width), calc(100dvw - var(--customer-agent-host-panel-safe-margin) - var(--customer-agent-host-panel-safe-margin)))`,f=e.embedded?`calc(100% - var(--customer-agent-host-panel-expanded-height-offset))`:`calc(100dvh - var(--customer-agent-host-panel-expanded-height-offset))`,p=e.embedded?`100%`:`100vh`,m=e.embedded?`100%`:`100dvh`;return`#customer-agent-widget{${[`--customer-agent-host-container-position: ${e.embedded?`absolute`:`static`};`,`--customer-agent-host-container-inset: ${e.embedded?`0`:`auto`};`,`--customer-agent-host-container-pointer-events: ${e.embedded?`none`:`auto`};`,`--customer-agent-host-container-z-index: ${e.embedded?`10`:`auto`};`,`--customer-agent-host-app-position: ${e.embedded?`absolute`:`static`};`,`--customer-agent-host-app-inset: ${e.embedded?`0`:`auto`};`,`--customer-agent-host-frame-position: ${i};`,`--customer-agent-host-panel-left: ${a};`,`--customer-agent-host-panel-right: ${o};`,`--customer-agent-host-panel-bottom: ${b+x+y}px;`,`--customer-agent-host-panel-width: 460px;`,`--customer-agent-host-panel-expanded-width: 716px;`,`--customer-agent-host-panel-expanded-height-offset: 104px;`,`--customer-agent-host-panel-max-height: 704px;`,`--customer-agent-host-panel-safe-margin: 20px;`,`--customer-agent-host-panel-size-width: ${l};`,`--customer-agent-host-panel-size-height: ${u};`,`--customer-agent-host-panel-expanded-size-width: ${d};`,`--customer-agent-host-panel-expanded-size-height-legacy: ${e.embedded?f:`calc(100vh - var(--customer-agent-host-panel-expanded-height-offset))`};`,`--customer-agent-host-panel-expanded-size-height: ${f};`,`--customer-agent-host-panel-bg: #ffffff;`,`--customer-agent-host-panel-border: #e5e5e5;`,`--customer-agent-host-panel-radius: 24px;`,`--customer-agent-host-panel-shadow: 0 1px 6px rgba(9, 14, 21, 0.06), 0 2px 32px rgba(9, 14, 21, 0.16);`,`--customer-agent-host-panel-closed-transform: ${r};`,`--customer-agent-host-panel-transform-origin: ${n};`,`--customer-agent-host-fullscreen-width: 100%;`,`--customer-agent-host-fullscreen-height-legacy: ${p};`,`--customer-agent-host-fullscreen-height: ${m};`,`--customer-agent-host-fullscreen-max-height-legacy: ${p};`,`--customer-agent-host-fullscreen-max-height: ${m};`,`--customer-agent-host-bottom-sheet-left: ${t?`0`:`auto`};`,`--customer-agent-host-bottom-sheet-right: ${t?`auto`:`0`};`,`--customer-agent-host-bottom-sheet-width: 100%;`,`--customer-agent-host-launcher-left: ${a};`,`--customer-agent-host-launcher-right: ${o};`,`--customer-agent-host-launcher-bottom: ${b}px;`,`--customer-agent-host-launcher-size: ${x}px;`,`--customer-agent-host-launcher-bg: #14161a;`,`--customer-agent-host-launcher-shadow: 0 4px 12px rgba(9, 14, 21, 0.1);`,`--customer-agent-host-mobile-inline-left: ${s};`,`--customer-agent-host-mobile-inline-right: ${c};`,`--customer-agent-host-mobile-bottom: max(${b}px, env(safe-area-inset-bottom));`].join(` `)}}`}function ee(e,t){return`${v}\n${C(t)}`.trim()}var te=s(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),w=o(),T=d();function E({closeLabel:e,onClose:t}){return(0,T.jsx)(`button`,{className:`relative z-[calc(var(--z-overlay)+1)] grid h-[var(--messenger-header-button-size)] w-[var(--messenger-header-button-size)] cursor-pointer place-items-center rounded-[var(--messenger-header-button-radius)] border-0 bg-transparent text-text-quaternary transition-colors hover:bg-gray-3 hover:text-text-primary focus-visible:outline-none focus-visible:shadow-none`,"aria-label":e,"data-customer-agent-panel-close":``,"data-overlay-exempt":`true`,title:e,type:`button`,onClick:t,children:(0,T.jsx)(u,{size:16})})}var ne=`/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial}}}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-\\[calc\\(100\\%\\+0\\.5rem\\)\\]{top:calc(100% + .5rem)}.top-\\[var\\(--messenger-header-padding-y\\)\\]{top:var(--messenger-header-padding-y)}.right-\\[var\\(--messenger-header-button-size\\)\\]{right:var(--messenger-header-button-size)}.right-\\[var\\(--messenger-header-padding-x\\)\\]{right:var(--messenger-header-padding-x)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[1\\]{z-index:1}.z-\\[4\\]{z-index:4}.z-\\[calc\\(var\\(--z-overlay\\)\\+1\\)\\]{z-index:calc(var(--z-overlay) + 1)}.z-\\[var\\(--z-composer\\)\\]{z-index:var(--z-composer)}.z-\\[var\\(--z-dropdown\\)\\]{z-index:var(--z-dropdown)}.z-\\[var\\(--z-overlay\\)\\]{z-index:var(--z-overlay)}.container{width:100%}.mx-auto{margin-inline:auto}.-mt-\\[var\\(--messenger-radius\\)\\]{margin-top:calc(var(--messenger-radius) * -1)}.mt-\\[var\\(--messenger-composer-actions-margin-top\\)\\]{margin-top:var(--messenger-composer-actions-margin-top)}.mt-\\[var\\(--messenger-conversation-part-group-gap\\)\\]{margin-top:var(--messenger-conversation-part-group-gap)}.mt-\\[var\\(--messenger-conversation-part-stack-gap\\)\\]{margin-top:var(--messenger-conversation-part-stack-gap)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-\\[18px\\]{height:18px}.h-\\[var\\(--messenger-composer-actions-height\\)\\]{height:var(--messenger-composer-actions-height)}.h-\\[var\\(--messenger-header-avatar-size\\)\\]{height:var(--messenger-header-avatar-size)}.h-\\[var\\(--messenger-header-button-size\\)\\]{height:var(--messenger-header-button-size)}.h-full{height:100%}.h-px{height:1px}.min-h-\\[304px\\]{min-height:304px}.min-h-\\[var\\(--messenger-composer-actions-height\\)\\]{min-height:var(--messenger-composer-actions-height)}.min-h-\\[var\\(--messenger-composer-height\\)\\]{min-height:var(--messenger-composer-height)}.min-h-full{min-height:100%}.w-\\[18px\\]{width:18px}.w-\\[280px\\]{width:280px}.w-\\[min\\(360px\\,100\\%\\)\\]{width:min(360px,100%)}.w-\\[min\\(360px\\,calc\\(100vw-2\\.5rem\\)\\)\\]{width:min(360px,100vw - 2.5rem)}.w-\\[var\\(--messenger-header-avatar-size\\)\\]{width:var(--messenger-header-avatar-size)}.w-\\[var\\(--messenger-header-button-size\\)\\]{width:var(--messenger-header-button-size)}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-\\[min\\(100\\%\\,var\\(--messenger-conversation-part-max-width\\)\\)\\]{max-width:min(100%, var(--messenger-conversation-part-max-width))}.max-w-\\[var\\(--messenger-conversation-part-max-width\\)\\]{max-width:var(--messenger-conversation-part-max-width)}.max-w-full{max-width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-separate{border-collapse:separate}.origin-\\[var\\(--radix-popover-content-transform-origin\\)\\]{transform-origin:var(--radix-popover-content-transform-origin)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-0{rotate:0deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\\[customer-agent-chat-route-in_var\\(--duration-fast\\)_var\\(--ease-emphasis\\)_both\\]{animation:customer-agent-chat-route-in var(--duration-fast) var(--ease-emphasis) both}.animate-\\[customer-agent-entry-in_180ms_ease-out\\]{animation:.18s ease-out customer-agent-entry-in}.animate-\\[customer-agent-invite-mask-in_140ms_ease-out_both\\]{animation:.14s ease-out both customer-agent-invite-mask-in}.animate-\\[customer-agent-mobile-dock-in_180ms_var\\(--ease-emphasis\\)_both\\]{animation:customer-agent-mobile-dock-in .18s var(--ease-emphasis) both}.animate-\\[customer-agent-typing-dot-bounce_1\\.05s_ease-in-out_infinite\\]{animation:1.05s ease-in-out infinite customer-agent-typing-dot-bounce}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.\\[scrollbar-width\\:none\\]{scrollbar-width:none}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-\\[32px_minmax\\(0\\,1fr\\)\\]{grid-template-columns:32px minmax(0,1fr)}.grid-cols-\\[36px_minmax\\(0\\,1fr\\)\\]{grid-template-columns:36px minmax(0,1fr)}.grid-cols-\\[auto_1fr_auto\\]{grid-template-columns:auto 1fr auto}.grid-cols-\\[auto_auto_1fr_auto\\]{grid-template-columns:auto auto 1fr auto}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-\\[var\\(--messenger-composer-actions-gap\\)\\]{gap:var(--messenger-composer-actions-gap)}.gap-\\[var\\(--messenger-header-action-gap\\)\\]{gap:var(--messenger-header-action-gap)}.gap-\\[var\\(--messenger-header-gap\\)\\]{gap:var(--messenger-header-gap)}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.rounded-\\[10px\\]{border-radius:10px}.rounded-\\[var\\(--messenger-header-button-radius\\)\\]{border-radius:var(--messenger-header-button-radius)}.rounded-\\[var\\(--messenger-radius\\)\\]{border-radius:var(--messenger-radius)}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-messenger{border-radius:var(--messenger-radius)}.rounded-messenger-composer{border-radius:var(--messenger-composer-radius)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l-\\[28px\\]{border-top-left-radius:28px;border-bottom-left-radius:28px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-\\[var\\(--gray-4\\)\\]{border-color:var(--gray-4)}.border-border-default{border-color:var(--border-default)}.border-border-divider{border-color:var(--border-divider)}.border-gray-1\\/70{border-color:var(--gray-1)}@supports (color:color-mix(in lab, red, red)){.border-gray-1\\/70{border-color:color-mix(in oklab, var(--gray-1) 70%, transparent)}}.border-gray-12{border-color:var(--gray-12)}.border-transparent{border-color:#0000}.border-t-\\[var\\(--customer-agent-primary\\)\\]{border-top-color:var(--customer-agent-primary)}.bg-\\[var\\(--bg-canvas\\)\\]{background-color:var(--bg-canvas)}.bg-\\[var\\(--customer-agent-primary\\)\\]{background-color:var(--customer-agent-primary)}.bg-bg-canvas{background-color:var(--bg-canvas)}.bg-bg-elevated{background-color:var(--bg-elevated)}.bg-current{background-color:currentColor}.bg-gray-1\\/15{background-color:var(--gray-1)}@supports (color:color-mix(in lab, red, red)){.bg-gray-1\\/15{background-color:color-mix(in oklab, var(--gray-1) 15%, transparent)}}.bg-gray-1\\/20{background-color:var(--gray-1)}@supports (color:color-mix(in lab, red, red)){.bg-gray-1\\/20{background-color:color-mix(in oklab, var(--gray-1) 20%, transparent)}}.bg-gray-3{background-color:var(--gray-3)}.bg-gray-4{background-color:var(--gray-4)}.bg-gray-12,.bg-gray-12\\/35{background-color:var(--gray-12)}@supports (color:color-mix(in lab, red, red)){.bg-gray-12\\/35{background-color:color-mix(in oklab, var(--gray-12) 35%, transparent)}}.bg-transparent{background-color:#0000}.fill-bg-elevated{fill:var(--bg-elevated)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.\\[padding\\:var\\(--messenger-composer-actions-padding-top\\)_var\\(--messenger-composer-actions-padding-right\\)_var\\(--messenger-composer-actions-padding-bottom\\)_var\\(--messenger-composer-actions-padding-left\\)\\]{padding:var(--messenger-composer-actions-padding-top) var(--messenger-composer-actions-padding-right) var(--messenger-composer-actions-padding-bottom) var(--messenger-composer-actions-padding-left)}.\\[padding\\:var\\(--messenger-composer-attachments-padding-top\\)_var\\(--messenger-composer-attachments-padding-right\\)_var\\(--messenger-composer-attachments-padding-bottom\\)_var\\(--messenger-composer-attachments-padding-left\\)\\]{padding:var(--messenger-composer-attachments-padding-top) var(--messenger-composer-attachments-padding-right) var(--messenger-composer-attachments-padding-bottom) var(--messenger-composer-attachments-padding-left)}.\\[padding\\:var\\(--messenger-composer-input-padding-top\\)_var\\(--messenger-composer-input-padding-right\\)_var\\(--messenger-composer-input-padding-bottom\\)_var\\(--messenger-composer-input-padding-left\\)\\]{padding:var(--messenger-composer-input-padding-top) var(--messenger-composer-input-padding-right) var(--messenger-composer-input-padding-bottom) var(--messenger-composer-input-padding-left)}.px-\\[var\\(--messenger-conversation-horizontal-padding\\)\\]{padding-inline:var(--messenger-conversation-horizontal-padding)}.px-\\[var\\(--messenger-conversation-part-padding-x\\)\\]{padding-inline:var(--messenger-conversation-part-padding-x)}.px-\\[var\\(--messenger-header-padding-x\\)\\]{padding-inline:var(--messenger-header-padding-x)}.py-\\[var\\(--messenger-conversation-part-padding-y\\)\\]{padding-block:var(--messenger-conversation-part-padding-y)}.py-\\[var\\(--messenger-header-padding-y\\)\\]{padding-block:var(--messenger-header-padding-y)}.pr-\\[var\\(--messenger-header-button-size\\)\\]{padding-right:var(--messenger-header-button-size)}.pb-\\[max\\(1rem\\,calc\\(1rem\\+var\\(--customer-agent-bottom-inset\\)\\)\\)\\]{padding-bottom:max(1rem, calc(1rem + var(--customer-agent-bottom-inset)))}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base-line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm-line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs-line-height))}.text-\\[0\\.9em\\]{font-size:.9em}.text-\\[length\\:var\\(--messenger-composer-text-size\\)\\]{font-size:var(--messenger-composer-text-size)}.text-\\[length\\:var\\(--messenger-header-subtitle-size\\)\\]{font-size:var(--messenger-header-subtitle-size)}.text-\\[length\\:var\\(--messenger-header-title-size\\)\\]{font-size:var(--messenger-header-title-size)}.leading-\\[var\\(--messenger-composer-text-line-height\\)\\]{--tw-leading:var(--messenger-composer-text-line-height);line-height:var(--messenger-composer-text-line-height)}.leading-\\[var\\(--messenger-header-subtitle-line-height\\)\\]{--tw-leading:var(--messenger-header-subtitle-line-height);line-height:var(--messenger-header-subtitle-line-height)}.leading-\\[var\\(--messenger-header-title-line-height\\)\\]{--tw-leading:var(--messenger-header-title-line-height);line-height:var(--messenger-header-title-line-height)}.break-words{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[var\\(--customer-agent-primary\\,var\\(--gray-12\\)\\)\\]{color:var(--customer-agent-primary,var(--gray-12))}.text-\\[var\\(--customer-agent-primary\\,var\\(--text-quaternary\\)\\)\\]{color:var(--customer-agent-primary,var(--text-quaternary))}.text-\\[var\\(--gray-1\\)\\]{color:var(--gray-1)}.text-\\[var\\(--text-primary\\)\\]{color:var(--text-primary)}.text-gray-1,.text-gray-1\\/70{color:var(--gray-1)}@supports (color:color-mix(in lab, red, red)){.text-gray-1\\/70{color:color-mix(in oklab, var(--gray-1) 70%, transparent)}}.text-inherit{color:inherit}.text-text-primary{color:var(--text-primary)}.text-text-quaternary{color:var(--text-quaternary)}.text-text-secondary{color:var(--text-secondary)}.text-text-tertiary{color:var(--text-tertiary)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow-\\[-6px_0_18px_rgba\\(9\\,14\\,21\\,0\\.035\\)\\]{--tw-shadow:-6px 0 18px var(--tw-shadow-color,#090e1509);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[0_0_0_1px_var\\(--border-default\\)\\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--border-default));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[0_1px_2px_rgba\\(9\\,14\\,21\\,0\\.08\\)\\,0_3px_10px_rgba\\(9\\,14\\,21\\,0\\.09\\)\\]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#090e1514), 0 3px 10px var(--tw-shadow-color,#090e1517);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-card{--tw-shadow:var(--shadow-card);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-circle{--tw-shadow:var(--shadow-circle);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-popover{--tw-shadow:var(--shadow-popover);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-bg-canvas{--tw-ring-color:var(--bg-canvas)}.\\[outline\\:0_solid_var\\(--border-strong\\)\\]{outline:0 solid var(--border-strong)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-\\[background-color\\,box-shadow\\,color\\]{transition-property:background-color,box-shadow,color;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-\\[border-color\\,outline-width\\]{transition-property:border-color,outline-width;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-\\[max-height\\,opacity\\,transform\\,margin\\]{transition-property:max-height,opacity,transform,margin;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-\\[rotate\\,scale\\]{transition-property:rotate,scale;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-\\[var\\(--ease-standard\\)\\]{--tw-ease:var(--ease-standard);transition-timing-function:var(--ease-standard)}.will-change-\\[opacity\\,transform\\]{will-change:opacity,transform}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\\[animation-delay\\:140ms\\]{animation-delay:.14s}.\\[animation-delay\\:280ms\\]{animation-delay:.28s}.\\[clip\\:rect\\(0\\,0\\,0\\,0\\)\\]{clip:rect(0,0,0,0)}.placeholder\\:text-text-placeholder::placeholder{color:var(--text-placeholder)}.first\\:rounded-tl-lg:first-child{border-top-left-radius:var(--radius-lg)}.last\\:rounded-tr-lg:last-child{border-top-right-radius:var(--radius-lg)}.focus-within\\:border-border-strong:focus-within{border-color:var(--border-strong)}.focus-within\\:\\[outline-width\\:var\\(--messenger-composer-focus-outline-width\\)\\]:focus-within{outline-width:var(--messenger-composer-focus-outline-width)}.focus-within\\:\\[outline-color\\:var\\(--customer-agent-primary\\,var\\(--primary\\)\\)\\]:focus-within{outline-color:var(--customer-agent-primary,var(--primary))}@media (hover:hover){.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\\:border-border-strong:hover{border-color:var(--border-strong)}.hover\\:bg-bg-canvas:hover{background-color:var(--bg-canvas)}.hover\\:bg-gray-1\\/20:hover{background-color:var(--gray-1)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-gray-1\\/20:hover{background-color:color-mix(in oklab, var(--gray-1) 20%, transparent)}}.hover\\:bg-gray-2:hover{background-color:var(--gray-2)}.hover\\:bg-gray-3:hover{background-color:var(--gray-3)}.hover\\:bg-gray-4:hover{background-color:var(--gray-4)}.hover\\:bg-gray-10:hover{background-color:var(--gray-10)}.hover\\:text-text-primary:hover{color:var(--text-primary)}.hover\\:text-text-secondary:hover{color:var(--text-secondary)}.hover\\:shadow-\\[0_1px_2px_rgba\\(9\\,14\\,21\\,0\\.06\\)\\,0_2px_8px_rgba\\(9\\,14\\,21\\,0\\.08\\)\\]:hover{--tw-shadow:0 1px 2px var(--tw-shadow-color,#090e150f), 0 2px 8px var(--tw-shadow-color,#090e1514);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus-visible\\:shadow-\\[inset_0_0_0_2px_rgba\\(255\\,255\\,255\\,0\\.95\\)\\]:focus-visible{--tw-shadow:inset 0 0 0 2px var(--tw-shadow-color,#fffffff2);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\\:shadow-\\[var\\(--shadow-circle\\)\\,var\\(--shadow-focus\\)\\]:focus-visible{--tw-shadow:var(--shadow-circle), var(--shadow-focus);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\\:shadow-\\[var\\(--shadow-focus\\)\\]:focus-visible{--tw-shadow:var(--shadow-focus);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\\:shadow-none:focus-visible{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\\:bg-gray-12:active{background-color:var(--gray-12)}.enabled\\:cursor-pointer:enabled{cursor:pointer}.enabled\\:bg-\\[var\\(--customer-agent-primary\\,var\\(--gray-12\\)\\)\\]:enabled{background-color:var(--customer-agent-primary,var(--gray-12))}.enabled\\:text-gray-1:enabled{color:var(--gray-1)}@media (hover:hover){.enabled\\:hover\\:bg-gray-12:enabled:hover{background-color:var(--gray-12)}}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-gray-3:disabled{background-color:var(--gray-3)}.disabled\\:text-gray-7:disabled{color:var(--gray-7)}.disabled\\:opacity-40:disabled{opacity:.4}.data-\\[active\\=true\\]\\:border-border-strong[data-active=true]{border-color:var(--border-strong)}.data-\\[active\\=true\\]\\:\\[outline-width\\:var\\(--messenger-composer-focus-outline-width\\)\\][data-active=true]{outline-width:var(--messenger-composer-focus-outline-width)}.data-\\[active\\=true\\]\\:\\[outline-color\\:var\\(--customer-agent-primary\\,var\\(--primary\\)\\)\\][data-active=true]{outline-color:var(--customer-agent-primary,var(--primary))}.data-\\[expanded\\=true\\]\\:\\[--messenger-conversation-part-max-width\\:520px\\][data-expanded=true]{--messenger-conversation-part-max-width:520px}.data-\\[state\\=open\\]\\:animate-\\[customer-agent-invite-popover-in_180ms_var\\(--ease-emphasis\\)_both\\][data-state=open]{animation:customer-agent-invite-popover-in .18s var(--ease-emphasis) both}.data-\\[state\\=open\\]\\:animate-\\[customer-agent-mobile-dock-in_180ms_var\\(--ease-emphasis\\)_both\\][data-state=open]{animation:customer-agent-mobile-dock-in .18s var(--ease-emphasis) both}.data-\\[state\\=open\\]\\:animate-\\[customer-agent-mobile-dock-overlay-in_160ms_ease-out_both\\][data-state=open]{animation:.16s ease-out both customer-agent-mobile-dock-overlay-in}.data-\\[state\\=open\\]\\:bg-gray-3[data-state=open]{background-color:var(--gray-3)}.data-\\[state\\=open\\]\\:text-\\[var\\(--customer-agent-primary\\,var\\(--gray-12\\)\\)\\][data-state=open]{color:var(--customer-agent-primary,var(--gray-12))}.data-\\[state\\=open\\]\\:text-text-primary[data-state=open]{color:var(--text-primary)}.data-\\[viewport-mode\\=mobile\\]\\:h-\\[var\\(--customer-agent-visual-height\\)\\][data-viewport-mode=mobile]{height:var(--customer-agent-visual-height)}.data-\\[viewport-mode\\=mobile\\]\\:rounded-none[data-viewport-mode=mobile]{border-radius:0}.data-\\[viewport-mode\\=mobile\\]\\:border-l-0[data-viewport-mode=mobile]{border-left-style:var(--tw-border-style);border-left-width:0}.data-\\[viewport-mode\\=mobile\\]\\:shadow-none[data-viewport-mode=mobile]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (prefers-reduced-motion:reduce){.motion-reduce\\:animate-none{animation:none}.motion-reduce\\:will-change-auto{will-change:auto}}.\\[\\&\\:\\:-webkit-scrollbar\\]\\:hidden::-webkit-scrollbar{display:none}.\\[\\&\\:placeholder-shown\\]\\:\\!\\[height\\:calc\\(var\\(--messenger-composer-text-line-height\\)\\+var\\(--messenger-composer-input-padding-top\\)\\+var\\(--messenger-composer-input-padding-bottom\\)\\)\\]:placeholder-shown{height:calc(var(--messenger-composer-text-line-height) + var(--messenger-composer-input-padding-top) + var(--messenger-composer-input-padding-bottom))!important}.\\[\\&\\>\\[data-radix-scroll-area-content\\]\\]\\:flex>[data-radix-scroll-area-content]{display:flex}.\\[\\&\\>\\[data-radix-scroll-area-content\\]\\]\\:min-h-full>[data-radix-scroll-area-content]{min-height:100%}.\\[\\&\\>\\[data-radix-scroll-area-content\\]\\]\\:flex-col>[data-radix-scroll-area-content]{flex-direction:column}.\\[\\&\\>\\[data-radix-scroll-area-content\\]\\]\\:self-stretch>[data-radix-scroll-area-content]{align-self:stretch}.\\[\\&\\>\\[data-radix-scroll-area-content\\]\\]\\:bg-inherit>[data-radix-scroll-area-content]{background-color:inherit}.\\[\\&\\>div\\]\\:flex>div{display:flex}.\\[\\&\\>div\\]\\:min-h-full>div{min-height:100%}.\\[\\&\\>div\\]\\:flex-col>div{flex-direction:column}.\\[\\&\\>div\\]\\:self-stretch>div{align-self:stretch}.\\[\\&\\>div\\]\\:bg-inherit>div{background-color:inherit}:root{--brand-50:#f0eefe;--brand-100:#dcd8fd;--brand-200:#bdb5fb;--brand-300:#9388f8;--brand-400:#6457f4;--brand-500:#3a2bf0;--brand-600:#1f11ed;--brand-700:#1a0dc4;--brand-800:#170b99;--brand-900:#120873;--brand-950:#0b044a;--brand-a-04:#1f11ed0a;--brand-a-06:#1f11ed0f;--brand-a-08:#1f11ed14;--brand-a-12:#1f11ed1f;--brand-a-20:#1f11ed33;--brand-a-32:#1f11ed52;--brand-a-48:#1f11ed7a;--gray-1:#fff;--gray-2:#fafafa;--gray-3:#f7f7f7;--gray-4:#f5f5f5;--gray-5:#ededed;--gray-6:#e5e5e5;--gray-7:#d6d6d6;--gray-8:#a0a2a6;--gray-9:#6c6f74;--gray-10:#4e5155;--gray-11:#14161a;--gray-12:#090e15;--text-placeholder:#6c6f74;--text-muted-warm:#6c6f74;--bg-app:#f5f5f5;--bg-app-2:#fafafa;--bg-canvas:#fff;--bg-surface:#f5f5f5;--bg-elevated:#fff;--bg-pill-neutral:#f5f5f5;--text-primary:#14161a;--text-secondary:#14161a;--text-tertiary:#6c6f74;--text-quaternary:#a0a2a6;--text-muted:#6c6f74;--success-bg:#22c55e1a;--success-fg:#16a34a;--error-bg:#dc26261a;--error-fg:#dc2626;--warning-bg:#eab3081f;--warning-fg:#b45309;--info-bg:#f5f5f5;--info-fg:#14161a;--border-subtle:#f5f5f5;--border-default:#ededed;--border-strong:#e5e5e5;--border-divider:#ededed;--font-sans:"Inter", "PingFang SC", system-ui, sans-serif;--font-display:"Playfair Display", "Songti SC", serif;--font-display-2:"Poppins", system-ui, sans-serif;--font-content:var(--font-sans);--font-nav:var(--font-display-2);--font-num:var(--font-display-2);--font-mono:"Geist Mono", ui-monospace, Menlo, monospace;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-14:14px;--radius-lg:16px;--radius-18:18px;--radius-xl:20px;--radius-2xl:24px;--radius-3xl:28px;--radius-32:32px;--radius-40:40px;--radius-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--shadow-card:0 1px 2px #090e150f;--shadow-card-lg:0 1px 6px #090e150f, 0 2px 32px #090e1529;--shadow-cta:none;--shadow-popover:0 1px 15px #090e151a;--shadow-dialog:0 1px 6px #090e150f, 0 2px 32px #090e1529;--shadow-circle:0 1px 2px #090e150f;--shadow-error-ring:0 0 0 3px #dc26262e;--shadow-focus:0 0 0 3px var(--border-default);--messenger-width:400px;--messenger-expanded-width:688px;--messenger-max-height:704px;--messenger-radius:24px;--messenger-iframe-padding:10px;--messenger-global-horizontal-padding:20px;--messenger-conversation-horizontal-padding:16px;--messenger-header-padding-x:13px;--messenger-header-padding-y:8px;--messenger-header-gap:8px;--messenger-header-action-gap:0px;--messenger-header-avatar-size:32px;--messenger-header-button-size:38px;--messenger-header-button-radius:10px;--messenger-header-icon-size:16px;--messenger-header-title-size:14px;--messenger-header-title-line-height:1.1em;--messenger-header-subtitle-size:13px;--messenger-header-subtitle-line-height:19px;--messenger-composer-height:52px;--messenger-composer-radius:16px;--messenger-chat-composer-radius:10px;--messenger-conversation-part-radius:20px;--messenger-conversation-part-adjacent-radius:4px;--messenger-conversation-part-padding-x:16px;--messenger-conversation-part-padding-y:12px;--messenger-conversation-part-max-width:280px;--messenger-conversation-part-group-gap:4px;--messenger-conversation-part-stack-gap:16px;--messenger-typing-indicator-radius:16px;--messenger-composer-text-size:14px;--messenger-composer-text-line-height:20px;--messenger-composer-input-padding-top:0px;--messenger-composer-input-padding-right:8px;--messenger-composer-input-padding-bottom:2px;--messenger-composer-input-padding-left:16px;--messenger-composer-attachments-padding-top:0px;--messenger-composer-attachments-padding-right:8px;--messenger-composer-attachments-padding-bottom:0px;--messenger-composer-attachments-padding-left:12px;--messenger-composer-actions-height:32px;--messenger-composer-actions-gap:8px;--messenger-composer-actions-padding-top:4px;--messenger-composer-actions-padding-right:8px;--messenger-composer-actions-padding-bottom:0px;--messenger-composer-actions-padding-left:12px;--messenger-composer-actions-margin-top:8px;--messenger-composer-focus-outline-width:2px;--text-xs:.75rem;--text-xs-line-height:.875rem;--text-sm:.8125rem;--text-sm-line-height:1.1875rem;--text-base:.875rem;--text-base-line-height:1.25rem;--text-lg:1rem;--text-lg-line-height:1.5rem;--text-xl:1.125rem;--text-xl-line-height:1.125rem;--ease-standard:cubic-bezier(.4, 0, .2, 1);--ease-emphasis:cubic-bezier(.2, 0, 0, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--duration-instant:.1s;--duration-fast:.16s;--duration-base:.24s;--duration-slow:.32s;--z-base:0;--z-glow:1;--z-composer:2;--z-sticky:10;--z-sidebar:20;--z-dropdown:40;--z-overlay:60;--z-dialog:61;--z-toast:80;--z-debug:999;--background:var(--bg-app);--foreground:var(--text-primary);--card:var(--bg-canvas);--card-foreground:var(--text-primary);--popover:var(--bg-elevated);--popover-foreground:var(--text-primary);--primary:var(--gray-12);--primary-foreground:var(--gray-1);--secondary:var(--bg-canvas);--secondary-foreground:var(--text-secondary);--muted:var(--gray-4);--muted-foreground:var(--text-tertiary);--accent:var(--bg-pill-neutral);--accent-foreground:var(--text-primary);--destructive:var(--error-fg);--border:var(--border-default);--input:var(--bg-canvas);--ring:var(--border-default)}:root,:host{--radius-xs:var(--radius-xs);--radius-sm:var(--radius-sm);--radius-md:var(--radius-md);--radius-lg:var(--radius-lg);--radius-xl:var(--radius-xl);--radius-2xl:var(--radius-2xl);--radius-3xl:var(--radius-3xl);--radius-full:var(--radius-full);--shadow-card:var(--shadow-card);--shadow-card-lg:var(--shadow-card-lg);--shadow-cta:var(--shadow-cta);--shadow-popover:var(--shadow-popover);--shadow-dialog:var(--shadow-dialog);--shadow-circle:var(--shadow-circle);--text-xs:var(--text-xs);--text-sm:var(--text-sm);--text-base:var(--text-base);--text-lg:var(--text-lg);--text-xl:var(--text-xl);--font-sans:var(--font-sans);--font-display:var(--font-display);--font-content:var(--font-content);--font-mono:var(--font-mono)}html,body,#root{background:0 0;width:100%;height:100%;margin:0;overflow:hidden}*{box-sizing:border-box}button,input,textarea{font:inherit}.customer-agent-launcher-button{background-color:var(--customer-agent-launcher-bg-color,transparent);border-color:var(--customer-agent-launcher-border-color,transparent);border-radius:var(--customer-agent-launcher-border-radius,9999px);border-style:var(--customer-agent-launcher-border-style,solid);border-width:var(--customer-agent-launcher-border-width,0);box-shadow:var(--customer-agent-launcher-box-shadow,none);color:var(--customer-agent-launcher-color,var(--gray-1))}.customer-agent-launcher-button:hover{background-color:var(--customer-agent-launcher-hover-bg-color,var(--customer-agent-launcher-bg-color,transparent));border-color:var(--customer-agent-launcher-hover-border-color,var(--customer-agent-launcher-border-color,transparent));border-radius:var(--customer-agent-launcher-hover-border-radius,var(--customer-agent-launcher-border-radius,9999px));border-style:var(--customer-agent-launcher-hover-border-style,var(--customer-agent-launcher-border-style,solid));border-width:var(--customer-agent-launcher-hover-border-width,var(--customer-agent-launcher-border-width,0));box-shadow:var(--customer-agent-launcher-hover-box-shadow,var(--customer-agent-launcher-box-shadow,none));color:var(--customer-agent-launcher-hover-color,var(--customer-agent-launcher-color,var(--gray-1)))}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}`,D=null,O=null;function k(){return D?Promise.resolve(D):(O??=import(`./panel-BEfk8hPY.js`).then(e=>(D=e.default,D)).catch(e=>{throw O=null,e}),O)}function A(e,t,n){let r=e.createElement(`style`);r.dataset.customerAgentStyle=t,r.textContent=n,e.head.appendChild(r)}function j(e,t,n){let r=e.contentDocument;if(!r)throw Error(`CustomerAgent could not initialize iframe document.`);r.documentElement.dir=t.locale.dir,r.documentElement.lang=t.locale.locale,r.head.replaceChildren(),A(r,`frame`,ne),n===`panel`&&D&&A(r,`panel`,D);let i=r.createElement(`div`);return i.id=`root`,i.style.position=`relative`,i.style.width=`100%`,i.style.height=`100%`,r.body.replaceChildren(i),{mount:i,stylesReady:n!==`panel`||!!D}}function M(e,t){let n=e.contentDocument;!n||n.head.querySelector(`[data-customer-agent-style='panel']`)||A(n,`panel`,t)}function N({children:e,loadingFallback:t,state:n,stylesReady:r,surface:i,targetWindow:a,widgetId:o}){function s(e){a.parent.postMessage(g(o,i,e),`*`)}let c=!r&&t?t({dispatch:s,state:n}):e({dispatch:s,state:n});return i===`panel`?(0,T.jsxs)(T.Fragment,{children:[n.bootOptions.header?.close===!1?null:(0,T.jsx)(`div`,{className:`absolute top-[var(--messenger-header-padding-y)] right-[var(--messenger-header-padding-x)] z-[calc(var(--z-overlay)+1)] flex items-center gap-[var(--messenger-header-action-gap)]`,children:(0,T.jsx)(E,{closeLabel:n.locale.messages.close_chat,onClose:()=>s({open:!1,type:m.OPEN_CHANGE})})}),c]}):c}function re({children:e,loadingFallback:t,state:n,surface:r,title:i,widgetId:a}){let[o,s]=(0,p.useState)(null),[c,l]=(0,p.useState)(r!==`panel`),u=(0,p.useRef)(null),d=r===`panel`?`customer-agent-messenger-frame`:`customer-agent-launcher-frame`;return(0,p.useEffect)(()=>{if(r!==`panel`||!o)return;let e=!1;return k().then(t=>{e||(M(o,t),l(!0))}).catch(()=>{e||l(!0)}),()=>{e=!0}},[o,r]),(0,p.useEffect)(()=>{if(o?.contentWindow){if(u.current)o.contentDocument?.documentElement.setAttribute(`lang`,n.locale.locale),o.contentDocument?.documentElement.setAttribute(`dir`,n.locale.dir);else{let e=j(o,n,r);l(e.stylesReady),u.current=(0,w.createRoot)(e.mount)}u.current.render((0,p.createElement)(N,{children:e,loadingFallback:t,state:n,stylesReady:c,surface:r,targetWindow:o.contentWindow,widgetId:a}))}}),(0,p.useEffect)(()=>()=>{u.current?.unmount(),u.current=null},[]),(0,T.jsx)(`iframe`,{allow:`clipboard-write`,allowFullScreen:!0,className:`${d} customer-agent-frame customer-agent-with-namespace-${a}`,"data-customer-agent-frame":`true`,"data-customer-agent-surface":r,id:`customer-agent-widget-${a}-${r}`,ref:s,title:i})}function ie(e){return e?.brand?.name??`Customer Agent`}function P(e,t){let n=e?.launcher?.style?.color,r={...t};return(typeof n==`number`||typeof n==`string`)&&(r.color=String(n)),Object.keys(r).length>0?r:void 0}function ae({bootOptions:e,isOpen:t,launcherVariableStyle:n,locale:i,onOpenChange:a,onPanelPreload:o}){let s=ie(e),l=P(e,n),u=r(t?i.messages.launcher_close:i.messages.launcher_open,{title:s});return(0,T.jsxs)(`button`,{className:`customer-agent-launcher-button relative grid h-full w-full cursor-pointer place-items-center rounded-full border-0 bg-transparent text-[var(--gray-1)] outline-none focus-visible:shadow-[inset_0_0_0_2px_rgba(255,255,255,0.95)]`,"aria-label":u,title:u,"data-state":t?`open`:`closed`,style:l,onFocus:o,onClick:()=>a(!t),onPointerDown:o,onPointerEnter:o,children:[(0,T.jsx)(c,{className:f(`absolute h-6 w-6 transition-[rotate,scale] duration-150 ease-out`,t?`scale-0 rotate-90`:`scale-100 rotate-0`),"aria-hidden":`true`}),(0,T.jsx)(te,{className:f(`absolute h-6 w-6 transition-[rotate,scale] duration-150 ease-out`,t?`scale-100 rotate-0`:`scale-0 -rotate-90`),"aria-hidden":`true`}),(0,T.jsx)(`span`,{className:`absolute h-px w-px overflow-hidden whitespace-nowrap [clip:rect(0,0,0,0)]`,children:u})]})}var oe=16,se=20,F=Object.freeze({IDLE:`idle`,READY:`ready`,UNAVAILABLE:`unavailable`}),I=null,L=null;function ce(){return L??=import(`./floating-ui.dom-Cs9alM6A.js`).then(e=>e.a).catch(e=>{throw L=null,e}),L}function R(){return I??=Promise.all([k(),import(`./Panel-BLROAd-O.js`)]).then(([,e])=>e).catch(e=>{throw I=null,e}),I}function le(){R()}async function z(){await Promise.all([k(),ce()])}function B(e){return e.position===`bottom-left`?`top-start`:`top-end`}function ue(e,t){return e.launcher?.placement??(t?`top`:B(e))}function V(e,t,n){let r=e.embedded?t.offsetParent:null,i=r instanceof HTMLElement?r.getBoundingClientRect():null;return{height:i?.height??n.height,width:i?.width??n.width}}function H(e){return Math.max(0,e)}function de({isExpanded:e,options:t,panelElement:n,viewport:r}){let i=V(t,n,r);return e?{height:H(i.height-104),width:H(Math.min(716,i.width-40))}:{height:H(Math.min(704,i.height-104)),width:H(Math.min(460,i.width-40))}}function U(e){return{contextElement:e,getBoundingClientRect(){let t=e.getBoundingClientRect(),n=e.offsetWidth||t.width,r=e.offsetHeight||t.height,i=t.left+(t.width-n)/2,a=t.top+(t.height-r)/2;return{bottom:a+r,height:r,left:i,right:i+n,top:a,width:n,x:i,y:a}}}}var fe=(0,p.lazy)(async()=>({default:(await R()).WidgetPanel})),W=.55,G={"bg-color":{cssProperty:`backgroundColor`,cssVariable:`--customer-agent-launcher-bg-color`},"border-color":{cssProperty:`borderColor`,cssVariable:`--customer-agent-launcher-border-color`},"border-radius":{cssProperty:`borderRadius`,cssVariable:`--customer-agent-launcher-border-radius`},"border-style":{cssProperty:`borderStyle`,cssVariable:`--customer-agent-launcher-border-style`},"border-width":{cssProperty:`borderWidth`,cssVariable:`--customer-agent-launcher-border-width`},"box-shadow":{cssProperty:`boxShadow`,cssVariable:`--customer-agent-launcher-box-shadow`},color:{cssProperty:`color`,cssVariable:`--customer-agent-launcher-color`},"hover-bg-color":{cssProperty:`backgroundColor`,cssVariable:`--customer-agent-launcher-hover-bg-color`},"hover-border-color":{cssProperty:`borderColor`,cssVariable:`--customer-agent-launcher-hover-border-color`},"hover-border-radius":{cssProperty:`borderRadius`,cssVariable:`--customer-agent-launcher-hover-border-radius`},"hover-border-style":{cssProperty:`borderStyle`,cssVariable:`--customer-agent-launcher-hover-border-style`},"hover-border-width":{cssProperty:`borderWidth`,cssVariable:`--customer-agent-launcher-hover-border-width`},"hover-box-shadow":{cssProperty:`boxShadow`,cssVariable:`--customer-agent-launcher-hover-box-shadow`},"hover-color":{cssProperty:`color`,cssVariable:`--customer-agent-launcher-hover-color`}};function pe({isExpanded:e,isOpen:t,options:n,resolvedLocale:i,viewport:a}){let o=n?.brand?.name??`Customer Agent`,s=r(i.messages.support_chat_label,{title:o}),c=!!n?.embedded,u=a.mode===`mobile`&&a.presentation===`fullscreen`&&!c?a.height:a.visualHeight,d={"--customer-agent-primary":n?.theme?.primaryColor??`var(--gray-12)`,"--customer-agent-visual-height":`${u}px`};return(0,T.jsx)(`section`,{className:`customer-agent-panel relative flex h-full w-full flex-col overflow-hidden rounded-[var(--messenger-radius)] bg-[var(--bg-canvas)] text-[var(--text-primary)] outline-none data-[viewport-mode=mobile]:h-[var(--customer-agent-visual-height)] data-[viewport-mode=mobile]:rounded-none`,"aria-hidden":!t,"aria-label":s,"data-expanded":e?`true`:`false`,"data-state":t?`open`:`closed`,"data-viewport-mode":a.mode,style:d,children:(0,T.jsx)(l,{label:`Loading conversations`})})}function K(e){return Object.entries(G).flatMap(([t,n])=>{let r=e?.[t];return typeof r!=`number`&&typeof r!=`string`?[]:[{definition:n,value:String(r)}]})}function me(e,t=e.height){if(e.mode!==`mobile`)return 0;let n=Math.round(t*W);return Math.min(e.keyboardInset,n)}function q(e){return K(e).map(({definition:e,value:t})=>`${e.cssVariable}:${t}`).join(`;`)}function J(e){return e?Object.entries(e).map(([e,t])=>`${e}:${String(t)}`).sort().join(`;`):``}function Y(e){let t=document.createElement(`div`);return t.dataset.customerAgentLauncherVariableProbe=`true`,t.setAttribute(`aria-hidden`,`true`),t.style.position=`fixed`,t.style.left=`-9999px`,t.style.top=`0`,t.style.width=`1px`,t.style.height=`1px`,t.style.opacity=`0`,t.style.overflow=`hidden`,t.style.pointerEvents=`none`,e.appendChild(t),t}function X({launcherElement:e,variables:t}){let n=K(t);if(n.length===0)return;let r=Y(e);for(let{definition:e,value:t}of n)r.style.setProperty(e.cssVariable,t);let i={};for(let{definition:e}of n){r.style[e.cssProperty]=`var(${e.cssVariable})`;let t=window.getComputedStyle(r),n=String(t[e.cssProperty]??``).trim();r.style[e.cssProperty]=``,n&&(i[e.cssVariable]=n)}return r.remove(),Object.keys(i).length>0?i:void 0}function he({launcherElement:e,variables:t}){let[n,r]=(0,p.useState)(),i=(0,p.useRef)(``),a=q(t);return(0,p.useLayoutEffect)(()=>{if(!e||!a){i.current=``,r(void 0);return}let n=e,o=null,s=!1;function c(){if(o=null,s||!n.isConnected)return;let e=X({launcherElement:n,variables:t}),a=J(e);a!==i.current&&(i.current=a,r(e))}function l(){o===null&&(o=window.requestAnimationFrame(c))}c();let u=typeof MutationObserver>`u`?null:new MutationObserver(l);return u?.observe(document.documentElement,{attributes:!0}),document.body&&u?.observe(document.body,{attributes:!0}),document.head&&u?.observe(document.head,{childList:!0}),document.addEventListener(`load`,l,!0),()=>{s=!0,o!==null&&window.cancelAnimationFrame(o),u?.disconnect(),document.removeEventListener(`load`,l,!0)}},[e,a]),n}function ge({activeTarget:r,eventBus:i,hasPanel:a,hasCustomLauncher:o,isOpen:s,isViewportSettling:c=!1,memoryRoute:l,interviewRuntime:u,launcherTargetElement:d,onMemoryRouteChange:f,onOpenChange:h,options:g,resolvedLocale:v,runtimeState:y,supportRuntime:b,viewport:x,widgetId:S}){let[C,te]=(0,p.useState)(!1),w=(0,p.useRef)(!1),[E,ne]=(0,p.useState)(0),[D,O]=(0,p.useState)(null),[k,A]=(0,p.useState)(null),[j,M]=(0,p.useState)({status:F.IDLE}),[N,ie]=(0,p.useState)(null),P=(0,p.useRef)(null),I=(0,p.useRef)({height:x.height,width:x.width}),[L,R]=(0,p.useState)({hasRenderedOpen:s,isOpen:s}),z=(0,p.useRef)(s&&g.open_on_init===!0&&x.mode===`mobile`),B=(0,p.useRef)(null),V=L.hasRenderedOpen;if(L.isOpen!==s){let e={hasRenderedOpen:!1,isOpen:s};R(e),V=e.hasRenderedOpen}let H=g.brand?.name??`Customer Agent`,W=d??N,G=!!(W&&x.presentation===`desktop`),K=G?k?.isExpanded??!1:C,q=!!(W&&x.presentation===`fullscreen`),J=z.current&&s&&x.mode===`mobile`,Y=k?.anchor&&x.presentation===`desktop`?k.anchor:null,X=!J&&q&&j.status===F.READY?j:null,ge=!!Y,_e=!!X||j.status===F.UNAVAILABLE,ve=!J&&(G||q),ye=G?ge:!q||_e,be=s&&ve&&!V,Z=(s&&G&&Y&&!be?E:null)??(s&&q&&_e&&!be?E:null),Q=s&&(!ve||ye&&Z!==null&&D===Z)?`open`:`closed`,xe=he({launcherElement:o?null:N,variables:g.launcher?.variables}),Se=!g.embedded&&x.mode===`mobile`&&x.presentation===`fullscreen`;(!Se||x.width!==I.current.width||x.height>I.current.height)&&(I.current={height:x.height,width:x.width});let $=Se?I.current.height:x.height,Ce=$===x.height?x:{...x,height:$},we=(0,p.useCallback)(e=>{let r=P.current;r!==e&&(r&&n(r),P.current=e,ie(e),e&&t(e))},[]),Te=!g.embedded&&x.presentation===`fullscreen`?{"--customer-agent-host-fullscreen-bottom":`${me(x,$)}px`,"--customer-agent-host-fullscreen-layout-height":`${$}px`}:null,Ee=G||X||Te?{...G?{"--customer-agent-anchor-panel-height":`${Y?.panelHeight??0}px`,"--customer-agent-anchor-panel-left":`${Y?.panelLeft??-9999}px`,"--customer-agent-anchor-panel-top":`${Y?.panelTop??-9999}px`,"--customer-agent-anchor-panel-width":`${Y?.panelWidth??0}px`}:null,...X?{"--customer-agent-mobile-origin-height":`${X.height}px`,"--customer-agent-mobile-origin-left":`${X.left}px`,"--customer-agent-mobile-origin-top":`${X.top}px`,"--customer-agent-mobile-origin-width":`${X.width}px`}:null,...Te}:void 0,De={activeTarget:r,bootOptions:g,isExpanded:K,isOpen:s,locale:v,memoryRoute:l,runtimeState:y,viewport:Ce};return(0,p.useEffect)(()=>{function t(t){if(_(t.data)&&t.data.widgetId===S)if(t.data.action.type===m.OPEN_CHANGE)h(t.data.action.open);else if(t.data.action.type===m.EXPAND_CHANGE){let n=t.data.action.expanded;w.current!==n&&(w.current=n,i?.emit(n?e.WIDGET_EXPANDED:e.WIDGET_COLLAPSED)),te(n)}else t.data.action.type===m.MEMORY_ROUTE_CHANGE&&f?.(t.data.action.route)}return window.addEventListener(`message`,t),()=>window.removeEventListener(`message`,t)},[i,f,h,S]),(0,p.useEffect)(()=>{s||(z.current=!1)},[s]),(0,p.useEffect)(()=>{if(!s||V)return;let e=window.requestAnimationFrame(()=>{R({hasRenderedOpen:!0,isOpen:!0}),ne(e=>e+1)});return()=>window.cancelAnimationFrame(e)},[V,s]),(0,p.useEffect)(()=>{if(Z===null)return;let e=window.requestAnimationFrame(()=>{O(Z)});return()=>window.cancelAnimationFrame(e)},[Z]),(0,p.useLayoutEffect)(()=>{if(!W||x.presentation!==`fullscreen`){let e=window.requestAnimationFrame(()=>{M({status:F.IDLE})});return()=>window.cancelAnimationFrame(e)}let e=W,t=!1,n=null;function r(){if(t)return;if(!e.isConnected){M({status:F.UNAVAILABLE});return}let n=e.getBoundingClientRect();if(!Number.isFinite(n.left)||!Number.isFinite(n.top)||!Number.isFinite(n.width)||!Number.isFinite(n.height)||n.width<=0||n.height<=0){M({status:F.UNAVAILABLE});return}let r=B.current,i=g.embedded?r?.offsetParent:null,a=i instanceof HTMLElement?i.getBoundingClientRect():null;M({height:n.height,left:n.left-(a?.left??0),status:F.READY,top:n.top-(a?.top??0),width:n.width})}function i(){n!==null&&window.cancelAnimationFrame(n),n=window.requestAnimationFrame(()=>{n=null,r()})}r(),window.addEventListener(`resize`,i),window.addEventListener(`scroll`,i,!0);let a=typeof ResizeObserver>`u`?null:new ResizeObserver(i);return a?.observe(e),()=>{t=!0,n!==null&&window.cancelAnimationFrame(n),a?.disconnect(),window.removeEventListener(`resize`,i),window.removeEventListener(`scroll`,i,!0)}},[W,g.embedded,x.presentation]),(0,p.useLayoutEffect)(()=>{if(!W||!B.current||x.presentation!==`desktop`){A(null);return}let e=W,t,n=!1;async function r(){let{autoUpdate:r,computePosition:i,flip:a,offset:s,platform:c,shift:l}=await ce();if(n||!B.current)return;let u=B.current,d=U(e),f=ue(g,o),p=C,m=typeof g.launcher?.offset==`number`&&Number.isFinite(g.launcher.offset)?Math.max(0,g.launcher.offset):oe;async function h(){let e=de({isExpanded:p,options:g,panelElement:u,viewport:x}),{x:t,y:r,placement:o}=await i(d,u,{middleware:[s(m),a({padding:se}),l({padding:se})],placement:f,platform:{...c,getDimensions(t){return t===u?e:c.getDimensions(t)}},strategy:`fixed`});if(n)return;let h=g.embedded?u.offsetParent:null,_=h instanceof HTMLElement?h.getBoundingClientRect():null,v=o.split(`-`)[0];A({anchor:{panelHeight:e.height,panelLeft:t-(_?.left??0),panelTop:r-(_?.top??0),panelWidth:e.width,placement:v},isExpanded:p})}t=r(d,u,()=>{h()})}return r(),()=>{n=!0,t?.()}},[o,W,g,g.embedded,g.launcher?.offset,g.launcher?.placement,g.position,C,x,x.presentation]),(0,T.jsxs)(p.Fragment,{children:[(0,T.jsx)(`style`,{"data-customer-agent":`styles`,children:ee(S,g)}),(0,T.jsxs)(`div`,{"aria-live":`polite`,className:`customer-agent-app`,children:[(0,T.jsx)(`div`,{ref:B,className:`customer-agent-messenger-frame customer-agent-with-namespace-${S}`,"data-anchor-mode":G?`floating`:`default`,"data-anchor-placement":Y?.placement,"data-mobile-origin":X?`launcher`:void 0,"data-mobile-presentation":x.presentation,"data-viewport-settling":c?`true`:void 0,"data-customer-agent-surface-host":`panel`,"data-expanded":K?`true`:`false`,"data-state":Q,style:Ee,children:a?(0,T.jsx)(re,{loadingFallback:({state:e})=>(0,T.jsx)(pe,{isOpen:e.isOpen,isExpanded:e.isExpanded,options:e.bootOptions,resolvedLocale:e.locale,viewport:e.viewport}),state:De,surface:`panel`,title:`${H} support chat`,widgetId:S,children:({dispatch:e,state:t})=>(0,T.jsx)(p.Suspense,{fallback:(0,T.jsx)(pe,{isOpen:t.isOpen,isExpanded:t.isExpanded,options:t.bootOptions,resolvedLocale:t.locale,viewport:t.viewport}),children:(0,T.jsx)(fe,{bootOptions:t.bootOptions,memoryRoute:t.memoryRoute,activeTarget:t.activeTarget,eventBus:i,interviewRuntime:u,isOpen:t.isOpen,isExpanded:t.isExpanded,locale:t.locale,runtimeState:t.runtimeState,supportRuntime:b,viewport:t.viewport,onMemoryRouteChange:t=>e({route:t,type:m.MEMORY_ROUTE_CHANGE}),onExpandedChange:t=>e({expanded:t,type:m.EXPAND_CHANGE}),onOpenChange:t=>e({open:t,type:m.OPEN_CHANGE})})})}):null}),o?null:(0,T.jsx)(`div`,{ref:we,className:`customer-agent-launcher-container customer-agent-with-namespace-${S}`,"data-mobile-presentation":x.presentation,"data-customer-agent-surface-host":`launcher`,"data-state":Q,style:g.launcher?.style,children:(0,T.jsx)(re,{state:De,surface:`launcher`,title:`${H} chat launcher`,widgetId:S,children:({dispatch:e,state:t})=>(0,T.jsx)(ae,{bootOptions:t.bootOptions,isOpen:t.isOpen,launcherVariableStyle:xe,locale:t.locale,onPanelPreload:le,onOpenChange:t=>e({open:t,type:m.OPEN_CHANGE})})})})]})]})}export{ge as WidgetApp,U as createStableLauncherReference,z as preloadWidgetPanelShell};
@@ -1 +0,0 @@
1
- import{r as e}from"../runtime.es.js";import{t}from"./react-CKmEJ8Ba.js";import{t as n}from"./createLucideIcon-B1BLVEeA.js";import{n as r,t as i}from"./conversationRegistry-Y5Ouo35n.js";import{t as a}from"./jsx-runtime-S2ZBQkZm.js";import{t as o}from"./classNames-3q0x02_x.js";var s=n(`headset`,[[`path`,{d:`M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z`,key:`12oyoe`}],[`path`,{d:`M21 16v2a4 4 0 0 1-4 4h-5`,key:`1x7m43`}]]),c=e(t(),1),l=a(),u=null,d=(0,c.lazy)(async()=>({default:(await f()).InterviewInvitePrompt}));function f(){return u??=import(`./InterviewInvitePrompt-DaJfNLz_.js`).catch(e=>{throw u=null,e}),u}function p({activeEntryId:e,enableEntryIntroAnimation:t=!0,entries:n,invitePortalContainer:a,invitePrompt:u,isInvitePromptOpen:p=!1,onEntrySelect:m,onInviteClose:h,onInviteLater:g,onInviteStart:_}){return(0,c.useEffect)(()=>{u&&f()},[u]),(0,l.jsx)(`nav`,{className:`flex w-16 shrink-0 flex-col items-center gap-3 bg-bg-canvas px-2 py-4`,"aria-label":`Conversations`,"data-customer-agent-dock":`desktop`,children:n.map(n=>{let f=n.id===e,v=n.kind===`interview`?r:s,y=!f&&!!n.unread,b=n.subtitle?`${n.title} ${n.subtitle}`:n.title,x=(0,l.jsxs)(`button`,{className:o(`group relative grid h-10 w-10 place-items-center rounded-lg border-0 bg-transparent p-0 text-text-secondary transition-[background-color,box-shadow,color] duration-150 ease-[var(--ease-standard)] focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus)]`,!f&&`cursor-pointer hover:bg-bg-canvas hover:text-text-primary hover:shadow-[0_1px_2px_rgba(9,14,21,0.06),0_2px_8px_rgba(9,14,21,0.08)]`,f&&`h-10 w-10 cursor-default rounded-lg bg-bg-canvas text-text-primary shadow-[0_1px_2px_rgba(9,14,21,0.08),0_3px_10px_rgba(9,14,21,0.09)]`,t&&n.status===i.INVITABLE&&n.unread&&`animate-[customer-agent-entry-in_180ms_ease-out]`),"aria-current":f?`page`:void 0,"aria-disabled":f?`true`:void 0,"aria-label":b,"data-active":f?`true`:`false`,"data-customer-agent-dock-entry":``,"data-entry-id":n.id,"data-kind":n.kind,"data-status":n.status,"data-unread":n.unread?`true`:`false`,type:`button`,onClick:()=>{f||m(n.id)},children:[(0,l.jsx)(v,{className:`shrink-0`,size:18,"aria-hidden":`true`}),(0,l.jsx)(`span`,{className:`sr-only`,children:b}),y?(0,l.jsx)(`span`,{className:`absolute top-2 right-2 h-2 w-2 rounded-full bg-[var(--customer-agent-primary)] ring-2 ring-bg-canvas`,"aria-hidden":`true`,"data-customer-agent-dock-entry-indicator":``}):null]},n.id);return n.prompt&&n.prompt.invitationId===u?.invitationId?(0,l.jsx)(c.Suspense,{fallback:x,children:(0,l.jsx)(d,{isOpen:p,portalContainer:a,prompt:n.prompt,title:n.title,onClose:e=>h?.(e),onLater:e=>g?.(e),onStart:e=>_?.(e),children:x})},n.id):x})})}export{p as t};
@@ -1,2 +0,0 @@
1
- import{t as e}from"./constants-BdROGfTy.js";import{r as t}from"./interviewTypes-Ch2NsXKB.js";import{t as n}from"./i18n-Q8u2wtW4.js";import{r}from"../runtime.es.js";import{t as i}from"./react-CKmEJ8Ba.js";import{A as a,C as o,D as s,E as ee,O as te,S as c,T as ne,_ as re,a as l,c as u,d,g as f,i as p,j as m,l as h,o as g,p as _,s as v,t as y,u as b,v as x,w as S,y as C}from"./WidgetComposer-ysA2-sTG.js";import{n as w}from"./conversationRegistry-Y5Ouo35n.js";import{t as T}from"./jsx-runtime-S2ZBQkZm.js";import{t as E}from"./classNames-3q0x02_x.js";var D=r(i(),1),O=T();function k(e){return Array.isArray(e.content)?e.content.map(e=>e.type===`text`?e.text:``).filter(Boolean).join(`
2
- `):String(e.content??``)}function A(e){return e instanceof Date&&!Number.isNaN(e.getTime())}function j(e){let t=e.createdAt;if(A(t))return t;if(typeof t==`string`||typeof t==`number`){let e=new Date(t);if(A(e))return e}return new Date}function M(e,t){let r=Math.max(0,Date.now()-e.getTime()),i=6e4,a=60*i,o=24*a;return r<i?t.messages.relative_time_now:r<a?n(t.messages.relative_time_minute,{count:String(Math.floor(r/i))}):r<o?n(t.messages.relative_time_hour,{count:String(Math.floor(r/a))}):n(t.messages.relative_time_day,{count:String(Math.floor(r/o))})}function N(e,t,n,r){let i=[n.getFullYear(),n.getMonth()+1,n.getDate()].map(e=>String(e).padStart(2,`0`)).join(`_`);return`${(e??`Customer Agent`).trim().replace(/[^a-z0-9\u4e00-\u9fa5]+/gi,`_`).replace(/^_+|_+$/g,``)||`Customer_Agent`}_${t}_${i}_${r}.txt`}function P(e){let t=`var(--messenger-conversation-part-radius)`;return{borderBottomLeftRadius:t,borderBottomRightRadius:t,borderTopLeftRadius:t,borderTopRightRadius:t}}function F({controller:n,eventBus:r,isHeaderMenuEnabled:i=!0,locale:c,description:l=c.messages.interview_session_description,isExpanded:u=!1,isOpen:p=!0,onDownloadTranscript:h,onOpenMobileDock:g,onToggleExpanded:v,title:y,transcriptAppName:b=y,visitorName:T=`You`,viewportMode:A=`desktop`}){let[F,L]=(0,D.useState)(()=>n.getState()),[R,z]=(0,D.useState)(!1),[B,V]=(0,D.useState)({}),H=(0,D.useRef)(null),U=(0,D.useRef)(!1),W=(0,D.useRef)(null),G=(0,D.useRef)(new Set),K=(0,D.useRef)(F.phase),q=(0,D.useRef)(!1),J=ne({convertMessage:e=>e,isRunning:F.phase===_.SENDING,isSendDisabled:F.phase===_.SENDING||F.phase===_.TERMINAL,messages:F.messages,async onNew(t){let i=k(t).trim(),a=n.getState().sessionId;if(!i||!a)return;let o={conversationId:`interview/session/${a}`,conversationType:`interview`,entryId:`interview/session/${a}`,interviewSessionId:a},s=`interview-user-${Date.now()}`;r?.emit(e.MESSAGE_SENT,{...o,messageId:s,role:`user`}),r?.emit(e.MESSAGE_STARTED,{...o,role:`assistant`});try{await n.sendMessage(i);let t=[...n.getState().messages].reverse().find(e=>e.role===`assistant`);r?.emit(e.MESSAGE_COMPLETED,{...o,messageId:t?.id??`interview-assistant-${Date.now()}`,role:`assistant`})}catch(t){throw r?.emit(e.MESSAGE_FAILED,{...o,role:`assistant`}),t}}}),ae=[...F.messages].reverse().find(e=>e.role===`assistant`&&k(e).trim())?.id??null,Y=F.messages.some(e=>k(e).trim());(0,D.useEffect)(()=>n.subscribe(L),[n]),(0,D.useLayoutEffect)(()=>{i||z(!1)},[i]),(0,D.useEffect)(()=>{if(!i||!R)return;function e(e){let t=e.target;t instanceof Node&&(W.current?.contains(t)||z(!1))}return document.addEventListener(`pointerdown`,e,!0),()=>document.removeEventListener(`pointerdown`,e,!0)},[i,R]),(0,D.useEffect)(()=>{if(F.phase===_.TERMINAL&&F.status===t.COMPLETED&&F.sessionId){if(G.current.has(F.sessionId))return;G.current.add(F.sessionId);let t={conversationId:`interview/session/${F.sessionId}`,conversationType:`interview`,entryId:`interview/session/${F.sessionId}`,interviewSessionId:F.sessionId};r?.emit(e.INTERVIEW_SESSION_COMPLETED,{...t,status:F.status}),n.loadReward(F.sessionId).then(n=>{r?.emit(e.INTERVIEW_REWARD_UPDATED,{...t,reward:n})}).catch(e=>{console.error(`CustomerAgent interview reward request failed.`,e)})}},[n,r,F.phase,F.sessionId,F.status]);let X=(0,D.useCallback)(()=>{let e=H.current;if(!e||e.disabled||A===`mobile`||e.closest(`form`)?.querySelector(`[data-customer-agent-emoji-popover="true"]`))return!1;let t=e.value.length;return e.focus(),e.setSelectionRange(t,t),document.activeElement===e},[A]),Z=(0,D.useCallback)(()=>{let e=0,t=0;function n(){if(q.current&&F.phase===_.ACTIVE){if(X()){q.current=!1;return}e+=1,e<6&&(t=window.requestAnimationFrame(n))}}return t=window.requestAnimationFrame(n),()=>window.cancelAnimationFrame(t)},[X,F.phase]);(0,D.useEffect)(()=>{let e=K.current;K.current=F.phase;let t=H.current?.closest(`form`),n=document.activeElement,r=n instanceof HTMLElement&&!!t?.contains(n);if(F.phase===_.TERMINAL){q.current=!1,r&&n.blur();return}if(F.phase===_.SENDING){e!==_.SENDING&&(q.current=r||e===_.ACTIVE),r&&n.blur();return}if(!(e!==_.SENDING||F.phase!==_.ACTIVE||!q.current))return Z()},[Z,F.phase]);let Q=(0,D.useCallback)(()=>{U.current||!p||A===`mobile`||F.phase!==_.ACTIVE||window.requestAnimationFrame(()=>{U.current||=X()})},[X,p,F.phase,A]);function oe(e){H.current=e,e&&Q()}(0,D.useEffect)(()=>{if(!p){U.current=!1;return}Q()},[Q,p]);function $(e,t){V(n=>({...n,[e]:!t}))}function se(e,t,n){let r=e.target;r instanceof Element&&r.closest(`a, button`)||$(t,n)}function ce(e,t,n){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),$(t,n))}function le(){let t=new Date,n=t.getTime(),i=d({conversationName:y,exportedAt:t,exportSourceName:b,locale:c.locale,messages:F.messages.map(e=>({createdAt:j(e),role:e.role===`user`?`user`:`assistant`,text:k(e)})),userSpeaker:T}),a=new Blob([i],{type:`text/plain;charset=utf-8`}),o=URL.createObjectURL(a),s=document.createElement(`a`);s.href=o,s.download=N(b,`interview`,t,n),s.click(),window.setTimeout(()=>URL.revokeObjectURL(o),0),r?.emit(e.TRANSCRIPT_DOWNLOADED,{...F.sessionId?{conversationId:`interview/session/${F.sessionId}`,entryId:`interview/session/${F.sessionId}`,interviewSessionId:F.sessionId}:{},conversationType:`interview`,messageCount:F.messages.length}),h?.()}return(0,O.jsx)(o,{runtime:J,children:(0,O.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col bg-bg-canvas`,"aria-label":y,"data-customer-agent-interview-chat":``,children:[(0,O.jsxs)(`header`,{className:E(`grid shrink-0 items-center gap-[var(--messenger-header-gap)] border-b border-border-divider bg-bg-canvas px-[var(--messenger-header-padding-x)] py-[var(--messenger-header-padding-y)]`,A===`mobile`?`grid-cols-[auto_auto_1fr_auto] pl-1`:`grid-cols-[auto_1fr_auto]`),"data-customer-agent-panel-header":``,children:[A===`mobile`?(0,O.jsx)(`button`,{className:`grid h-[var(--messenger-header-button-size)] w-6 cursor-pointer place-items-center rounded-md border-0 bg-transparent p-0 text-text-quaternary transition-colors hover:bg-gray-3 hover:text-text-primary focus-visible:outline-none focus-visible:shadow-none`,"aria-label":`Open conversations`,title:`Open conversations`,type:`button`,onClick:g,children:(0,O.jsx)(s,{size:16})}):null,(0,O.jsx)(`div`,{className:`grid h-[var(--messenger-header-avatar-size)] w-[var(--messenger-header-avatar-size)] place-items-center rounded-full bg-[var(--customer-agent-primary)] text-gray-1 shadow-[0_0_0_1px_var(--border-default)]`,"aria-hidden":`true`,children:(0,O.jsx)(w,{size:16})}),(0,O.jsxs)(`div`,{className:`flex min-w-0 flex-col justify-center`,children:[(0,O.jsx)(`p`,{className:`m-0 truncate text-[length:var(--messenger-header-title-size)] font-semibold leading-[var(--messenger-header-title-line-height)]`,children:y}),(0,O.jsx)(`span`,{className:`block truncate text-[length:var(--messenger-header-subtitle-size)] leading-[var(--messenger-header-subtitle-line-height)] text-text-tertiary`,children:l})]}),i&&(Y||v)?(0,O.jsx)(`div`,{className:`relative flex items-center gap-[var(--messenger-header-action-gap)] pr-[var(--messenger-header-button-size)]`,children:(0,O.jsxs)(`div`,{ref:W,onKeyDown:e=>{e.key===`Escape`&&(e.stopPropagation(),z(!1))},children:[(0,O.jsx)(`button`,{className:`grid h-[var(--messenger-header-button-size)] w-[var(--messenger-header-button-size)] cursor-pointer place-items-center rounded-[var(--messenger-header-button-radius)] border-0 bg-transparent text-text-quaternary transition-colors hover:bg-gray-3 hover:text-text-primary focus-visible:outline-none focus-visible:shadow-none data-[state=open]:bg-gray-3 data-[state=open]:text-text-primary`,"aria-expanded":R,"aria-haspopup":`menu`,"aria-label":c.messages.more_options,"data-state":R?`open`:`closed`,title:c.messages.more_options,type:`button`,onClick:()=>z(e=>!e),children:(0,O.jsx)(a,{size:16})}),R?(0,O.jsxs)(`div`,{className:`absolute top-[calc(100%+0.5rem)] right-[var(--messenger-header-button-size)] z-[var(--z-dropdown)] grid min-w-64 gap-1 rounded-lg border border-border-default bg-bg-elevated p-1 text-sm text-text-primary shadow-popover`,role:`menu`,children:[v?(0,O.jsxs)(`button`,{className:`flex w-full cursor-pointer items-center gap-2 rounded-md border-0 bg-transparent px-2 py-1.5 text-left text-sm text-text-secondary transition-colors hover:bg-gray-3 hover:text-text-primary focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus)]`,role:`menuitem`,type:`button`,onClick:()=>{z(!1),v()},children:[u?(0,O.jsx)(ee,{size:16}):(0,O.jsx)(te,{size:16}),(0,O.jsx)(`span`,{children:u?c.messages.collapse_window:c.messages.expand_window})]}):null,Y?(0,O.jsxs)(`button`,{className:`flex w-full cursor-pointer items-center gap-2 rounded-md border-0 bg-transparent px-2 py-1.5 text-left text-sm text-text-secondary transition-colors hover:bg-gray-3 hover:text-text-primary focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus)]`,role:`menuitem`,type:`button`,onClick:()=>{z(!1),le()},children:[(0,O.jsx)(m,{size:16}),(0,O.jsx)(`span`,{children:c.messages.download_transcript})]}):null]}):null]})}):(0,O.jsx)(`div`,{className:`h-[var(--messenger-header-button-size)] w-[var(--messenger-header-button-size)]`,"data-customer-agent-header-menu-placeholder":``,"aria-hidden":`true`})]}),(0,O.jsx)(re,{className:`relative flex min-h-0 flex-1 flex-col overflow-hidden bg-bg-canvas`,children:(0,O.jsx)(f,{className:`customer-agent-thread-viewport min-h-0 flex-1 overflow-y-auto bg-bg-canvas [scrollbar-width:none] [&::-webkit-scrollbar]:hidden [&>[data-radix-scroll-area-content]]:flex [&>[data-radix-scroll-area-content]]:min-h-full [&>[data-radix-scroll-area-content]]:flex-col [&>[data-radix-scroll-area-content]]:self-stretch [&>[data-radix-scroll-area-content]]:bg-inherit [&>div]:flex [&>div]:min-h-full [&>div]:flex-col [&>div]:self-stretch [&>div]:bg-inherit`,"data-customer-agent-thread-viewport":``,"aria-live":`polite`,autoScroll:!0,role:`log`,children:(0,O.jsxs)(`div`,{className:E(`flex min-h-full flex-col px-[var(--messenger-conversation-horizontal-padding)] pt-3`,`customer-agent-message-list`),"data-customer-agent-message-list":``,children:[(0,O.jsx)(S,{children:({message:e})=>{let t=e,n=k(t),r=e.role===`user`?`user`:`assistant`,i=r===`assistant`,a=t.id??`${r}:${n}`,o=j(t),s=i&&(B[a]??a===ae);return n?(0,O.jsxs)(C,{className:r===`user`?`mt-[var(--messenger-conversation-part-stack-gap)] flex max-w-[var(--messenger-conversation-part-max-width)] flex-col self-end items-end`:`mt-[var(--messenger-conversation-part-stack-gap)] flex max-w-[var(--messenger-conversation-part-max-width)] flex-col self-start items-start`,"aria-expanded":i?s:void 0,"data-message-role":r,role:i?`button`:void 0,tabIndex:i?0:void 0,onClick:i?e=>se(e,a,s):void 0,onKeyDown:i?e=>ce(e,a,s):void 0,children:[(0,O.jsx)(`div`,{className:r===`user`?`w-fit max-w-full whitespace-pre-wrap bg-[var(--customer-agent-primary)] px-[var(--messenger-conversation-part-padding-x)] py-[var(--messenger-conversation-part-padding-y)] text-base leading-5 text-gray-1`:`w-fit max-w-full whitespace-pre-wrap bg-gray-3 px-[var(--messenger-conversation-part-padding-x)] py-[var(--messenger-conversation-part-padding-y)] text-base leading-5 text-text-secondary`,style:P(r),children:(0,O.jsx)(x,{children:({part:e})=>e.type===`text`?(0,O.jsx)(`span`,{children:e.text}):null})}),r===`assistant`?(0,O.jsxs)(`span`,{className:E(`overflow-hidden px-[var(--messenger-conversation-part-padding-x)] text-sm leading-5 text-text-tertiary transition-[max-height,opacity,transform,margin] duration-200 ease-out`,s?`mt-1 max-h-5 translate-y-0 opacity-100`:`mt-0 max-h-0 -translate-y-1 opacity-0`),"data-state":s?`visible`:`hidden`,"data-testid":`interview-message-metadata`,children:[y,` · `,c.messages.assistant_author_ai,` ·`,` `,M(o,c)]}):null]}):null}}),F.phase===_.SENDING?(0,O.jsx)(I,{}):null]})})}),(0,O.jsx)(ie,{inputRef:H,isHidden:F.phase===_.SENDING||F.phase===_.TERMINAL,locale:c,onInputRef:oe})]})})}function ie({inputRef:e,isHidden:t,locale:n,onInputRef:r}){let i=c().composer,a=b({composerRuntime:i,inputRef:e});return(0,O.jsxs)(v,{className:E(`relative z-[var(--z-composer)] shrink-0 bg-transparent px-[var(--messenger-conversation-horizontal-padding)] pt-0 pb-[max(1rem,calc(1rem+var(--customer-agent-bottom-inset)))]`,`-mt-[var(--messenger-radius)]`),isHidden:t,onSubmit:a.closeEmojiPicker,children:[(0,O.jsx)(g,{inputAriaLabel:n.messages.message_aria_label,inputRef:r,placeholder:n.messages.interview_input_placeholder}),(0,O.jsxs)(y,{children:[(0,O.jsx)(h,{children:(0,O.jsx)(l,{hostRef:a.emojiPickerHostRef,isLoading:a.isEmojiPickerLoading,open:a.isEmojiPickerOpen,onOpenChange:a.onEmojiOpenChange,children:(0,O.jsx)(p,{emojiLabel:n.messages.add_emoji})})}),(0,O.jsx)(u,{sendLabel:n.messages.send_message})]})]})}function I(){return(0,O.jsx)(`div`,{className:`mt-[var(--messenger-conversation-part-stack-gap)] flex max-w-[var(--messenger-conversation-part-max-width)] flex-col self-start items-start`,"data-message-role":`assistant`,"data-testid":`interview-thinking-bubble`,children:(0,O.jsx)(`div`,{className:`w-fit max-w-full whitespace-pre-wrap bg-gray-3 px-[var(--messenger-conversation-part-padding-x)] py-[var(--messenger-conversation-part-padding-y)] text-base leading-5 text-text-secondary`,style:P(`assistant`),children:(0,O.jsx)(L,{})})})}function L(){return(0,O.jsxs)(`span`,{className:`inline-flex h-5 items-center gap-1 align-middle text-text-quaternary`,"aria-hidden":`true`,children:[(0,O.jsx)(`span`,{className:`h-1.5 w-1.5 animate-[customer-agent-typing-dot-bounce_1.05s_ease-in-out_infinite] rounded-full bg-current`,"data-testid":`interview-thinking-dot`}),(0,O.jsx)(`span`,{className:`h-1.5 w-1.5 animate-[customer-agent-typing-dot-bounce_1.05s_ease-in-out_infinite] rounded-full bg-current [animation-delay:140ms]`,"data-testid":`interview-thinking-dot`}),(0,O.jsx)(`span`,{className:`h-1.5 w-1.5 animate-[customer-agent-typing-dot-bounce_1.05s_ease-in-out_infinite] rounded-full bg-current [animation-delay:280ms]`,"data-testid":`interview-thinking-dot`})]})}export{F as InterviewChatScreen};