@sendbird/ai-agent-messenger-react 1.6.2 → 1.6.4

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.
Files changed (36) hide show
  1. package/dist/cjs/C1-aa-Af.cjs +1 -0
  2. package/dist/cjs/CiYM2HZs.cjs +1 -0
  3. package/dist/cjs/CvBs0NNm.cjs +1 -0
  4. package/dist/cjs/{B7GRwqPX.cjs → DSvS_LqV.cjs} +1 -1
  5. package/dist/cjs/DXJc-lbh.cjs +1 -0
  6. package/dist/cjs/Ot4HEKO2.cjs +285 -0
  7. package/dist/cjs/WcjmjHus.cjs +1 -0
  8. package/dist/cjs/WfMoyEbn.cjs +1 -0
  9. package/dist/cjs/j-F4jB-5.cjs +1 -0
  10. package/dist/cjs/j9Y8roi_.cjs +1 -0
  11. package/dist/cjs/kssZAhoY.cjs +1 -0
  12. package/dist/es/{Bya9fYXU.js → 39THXo8Y.js} +1 -1
  13. package/dist/es/{fCfS1r6L.js → B1iZaetO.js} +1 -0
  14. package/dist/es/{CYA7yOFh.js → B5nmJjeg.js} +1 -0
  15. package/dist/es/{fSLY7h_5.js → BSAHjNA7.js} +3 -2
  16. package/dist/es/{Dz-UasyM.js → BYS9RAHC.js} +3 -2
  17. package/dist/es/{TFfRI0HW.js → ByOkspcg.js} +1 -0
  18. package/dist/es/{DOUIpoTT.js → C1RjG_gn.js} +1440 -1410
  19. package/dist/es/{BTR645KD.js → CaAVnx3J.js} +3 -2
  20. package/dist/es/{PHNcuUup.js → CbCVtvOE.js} +1 -0
  21. package/dist/es/{aZdf-cFg.js → DjMl-yXl.js} +1 -0
  22. package/dist/es/{CihyVpku.js → P2HL5YGo.js} +1 -0
  23. package/dist/index.cjs +1 -1
  24. package/dist/index.d.ts +55 -9
  25. package/dist/index.js +1 -1
  26. package/package.json +5 -5
  27. package/dist/cjs/B5TcHsfW.cjs +0 -1
  28. package/dist/cjs/BUvLOAVj.cjs +0 -285
  29. package/dist/cjs/C0TzR0z9.cjs +0 -1
  30. package/dist/cjs/CGCB6sFG.cjs +0 -1
  31. package/dist/cjs/Cd891_fx.cjs +0 -1
  32. package/dist/cjs/D2IqKxXh.cjs +0 -1
  33. package/dist/cjs/Djrz0ZDD.cjs +0 -1
  34. package/dist/cjs/DnmwPUXn.cjs +0 -1
  35. package/dist/cjs/Tp2-TfFd.cjs +0 -1
  36. package/dist/cjs/jPFSCBtt.cjs +0 -1
@@ -1,285 +0,0 @@
1
- "use strict";const u=require("react"),z=require("@sendbird/chat"),S=require("styled-components"),ie=require("date-fns"),Fr=require("date-fns/locale/en-US"),U=require("@sendbird/chat/aiAgent"),_e=require("@sendbird/uikit-tools"),je=require("@sendbird/chat/groupChannel"),Br=require("react-dom"),bt=require("@sendbird/react-uikit-message-template-view"),Ur=require("@sendbird/uikit-message-template"),Hr=require("dompurify"),Ke=require("@sendbird/chat/message"),Vr=require("date-fns/isSameDay"),zr=require("@emotion/is-prop-valid"),Qe=e=>e&&e.__esModule?e:{default:e};function Wr(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const o=Wr(u),Gr=Qe(z),h=Qe(S),An=Qe(Hr),qr=Qe(zr),G=(e,t)=>{const n=u.createContext(null),r=({children:i,value:l})=>o.createElement(n.Provider,{value:l},typeof i=="function"?i(l):i),s=({children:i})=>o.createElement(n.Consumer,null,l=>l?typeof i=="function"?i(l):i:null),a=()=>{const i=u.useContext(n);if(!i)throw new Error(`use${e}Context must be used within a ${e}Provider`);return i};return n.displayName=`${e}Context`,r.displayName=`${e}Provider`,s.displayName=`${e}Consumer`,a.displayName=`use${e}Context`,{Context:n,Provider:r,Consumer:s,useContext:a}};function pe(e){const t=u.createContext({Template:e.template,updateTemplate:()=>{},components:e.components,updateComponent:()=>{}});function n({children:a}){const[i,l]=u.useState(()=>e.template),[c,m]=u.useState(e.components),p={Template:i,updateTemplate:f=>l(()=>f),components:c,updateComponent:(f,E)=>m(y=>({...y,[f]:E}))};return o.createElement(t.Provider,{value:p},a)}function r({template:a,children:i}){const{updateTemplate:l}=u.useContext(t);return u.useLayoutEffect(()=>{a&&l(a)},[a]),o.createElement(o.Fragment,null,i)}function s({children:a}){return o.createElement(n,null,a)}return s.defaults=e,s.useContext=()=>u.useContext(t),s.Context=t,s.Template=r,Object.keys(e.components).forEach(a=>{s[a]=function({component:l}){const{updateComponent:c}=u.useContext(t);return u.useLayoutEffect(()=>{l&&c(a,l)},[l]),null}}),s}function jr(...e){return function({children:n}){return e.reduce((r,s)=>o.createElement(s,null,r),n)}}const Se=e=>{var t,n;return!!(e!=null&&e.isAIAgent&&((t=e==null?void 0:e.conversation)==null?void 0:t.status)===U.ConversationStatus.CLOSED||e!=null&&e.isDesk&&((n=e==null?void 0:e.helpdeskInfo)==null?void 0:n.ticketStatus)==="closed")},xt=e=>{var t,n;return!!(e!=null&&e.isAIAgent&&((t=e==null?void 0:e.conversation)==null?void 0:t.status)===U.ConversationStatus.OPEN||e!=null&&e.isDesk&&((n=e==null?void 0:e.helpdeskInfo)==null?void 0:n.ticketStatus)==="open")};function Ie(e){var n,r,s;return typeof(((n=e==null?void 0:e.conversation)==null?void 0:n.handedOverAt)??((s=(r=e==null?void 0:e.conversation)==null?void 0:r.handoff)==null?void 0:s.timestamp))=="number"}function ae(){}function Kr(){const e=/iPad|iPhone|iPod/.test(navigator.userAgent),t=/Android/.test(navigator.userAgent);return e||t}function Yr(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return t.toString(16)}const Et=e=>{try{return JSON.parse(e===""?"{}":e)}catch{return{}}},Te={isStreaming(e){const t=Et(e.data);return typeof t=="object"&&!!t.stream},isWelcomeMessage(e,t){var n;if(((n=e.extendedMessagePayload)==null?void 0:n.bot_message_type)==="welcome")return!0;if((e.isUserMessage()||e.isFileMessage())&&e.sender.userId===t){const r=Et(e.data);return!(r!=null&&r.respond_mesg_id)&&!(r!=null&&r.stream)}return!1},isGeneratedMessage(e){var t;return((t=e.extendedMessagePayload)==null?void 0:t.bot_message_type)==="generated"},checkExtendedFieldPresence(e){const t=e.extendedMessagePayload||{},n=i=>i.some(l=>typeof t[l]<"u"),r=n(ut.ui),s=n(ut.trail),a=n(ut.marking);return{ui:r,trail:s,marking:a}},shouldScrollToBottom(e,t,n=!1){if((e.isUserMessage()||e.isFileMessage()||e.isMultipleFilesMessage())&&e.sender.userId===t){if(this.isGeneratedMessage(e)&&this.isStreaming(e))return!0;const{ui:a,trail:i,marking:l}=this.checkExtendedFieldPresence(e);return a?!(!n&&l):!!(n&&(i||l))}return!0}},ut={ui:["suggested_replies","cta_button","message_template","csat"],trail:["groundedness","manual","function_calls"],marking:["is_hallucination","is_moderated","flagged_types"]},Zr="1.6.2",ve="sb-agent",Jr=Zr,dt=`@${ve}`,Xt=({appId:e,aiAgentId:t,storage:n})=>{const r={templateBase:`${dt}-template`,template:s=>`${r.templateBase}/templates/${s}`,templateToken:()=>`${r.templateBase}-template/message-template/tokens`,messengerSession:s=>{const a=Yr(`${e}/${t}/${s}`);return`${dt}-udata/${a}`},anonUserSession:()=>`${dt}-session/${e}/${t}`};return{template:{set:(s,a)=>n.set(r.template(s),a),get:s=>n.get(r.template(s)),setCachedToken:s=>n.set(r.templateToken(),s),getCachedToken:()=>n.get(r.templateToken()),clear:()=>{n.getKeys(r.templateBase).forEach(n.delete)}},messenger:{getSettings:s=>{try{const a=n.get(r.messengerSession(s));return a?JSON.parse(a):null}catch{return null}},setSettings:(s,a)=>{try{const i=JSON.stringify(a);n.set(r.messengerSession(s),i)}catch{return}},getAnonUser:()=>{try{const s=n.get(r.anonUserSession());return s?JSON.parse(s):null}catch{return null}},setAnonUser:s=>{try{const a=JSON.stringify(s);n.set(r.anonUserSession(),a)}catch{return}},clear:s=>{try{n.delete(r.messengerSession(s)),n.delete(r.anonUserSession())}catch{return}}}}};class kn{constructor(t){this.logger=t,this.subscribers={}}async send(t){const n=Xr(),r=this.subscribers[t.type];if(r){this.logger.debug(`messenger.dispatcher: dispatching command: ${t.type}`,t.payload);const s=r.map(a=>a(t.payload));await Promise.all(s).catch(a=>{this.logger.error(`messenger.dispatcher: error in callback for command: ${t.type}`,a)})}return n.resolve(),n.promise}subscribe(t,n){this.subscribers[t]||(this.subscribers[t]=[]),this.subscribers[t].push(n)}unsubscribe(t,n){this.subscribers[t]&&(this.subscribers[t]=this.subscribers[t].filter(r=>r!==n))}}const Xr=()=>{let e=ae,t=ae;return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}};var It=(e=>(e[e.VERBOSE=0]="VERBOSE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.NONE=5]="NONE",e))(It||{});class $n{constructor(t){this.level=t}verbose(...t){this.level<=0&&console.log(`[${ve}/verbose]`,...t)}debug(...t){this.level<=1&&console.log(`[${ve}/debug]`,...t)}info(...t){this.level<=2&&console.log(`[${ve}/info]`,...t)}warn(...t){this.level<=3&&console.warn(`[${ve}/warn]`,...t)}error(...t){this.level<=4&&console.error(`[${ve}/error]`,...t)}}function Qt(e,t,n){const r=Gr.default.init({appId:e,modules:[new je.GroupChannelModule,new U.AIAgentModule],localCacheEnabled:!0,options:new z.SendbirdChatOptions({typingIndicatorInvalidateTime:3e4}),...n});return r.addSendbirdExtensions([{version:Jr,product:z.SendbirdProduct.AI_AGENT,platform:t.platform}],{platform:t.deviceOSPlatform,version:t.deviceOSVersion},t.customData)||console.warn("Invalid Sendbird Extensions",t),r}function Qr(e){const t=n=>{throw new Error(`Please initialize chat sdk with ${n}`)};typeof e.groupChannel!="object"&&t("GroupChannelModule"),typeof e.aiAgent!="object"&&t("AIAgentModule")}const mt={conversation:{isTalkToAgentViewEnabled:!0}},en=e=>e?{...mt,...e,conversation:{...mt.conversation,...e==null?void 0:e.conversation}}:mt,{Provider:eo,useContext:j}=G("AIAgent");function to({appId:e,aiAgentId:t,keyValueStorage:n,language:r,countryCode:s,context:a,queryParams:i,config:l,chatSDK:c,chatParams:m,children:p,logger:f,dispatcher:E,extensions:y={platform:z.SendbirdPlatform.JS,deviceOSPlatform:Kr()?z.DeviceOsPlatform.MOBILE_WEB:z.DeviceOsPlatform.WEB}}){const[v,x]=u.useState(()=>{const d=f??new $n(It.WARN),b=E??new kn(d);return{appId:e,aiAgentId:t,language:r,countryCode:s,context:a,queryParams:i,config:en(l),keyValueStorage:n,logger:d,dispatcher:b,chatSDK:c??Qt(e,y,m),cache:Xt({appId:e,aiAgentId:t,storage:n})}});return u.useEffect(()=>{x(d=>{let b=d.logger,C=d.dispatcher,_=d.chatSDK;return f&&f!==d.logger&&(b=f),E&&E!==d.dispatcher&&(C=E),c&&c!==d.chatSDK?_=c:!c&&d.chatSDK.appId!==e&&(_=Qt(e,y,{newInstance:!0,...m})),{...d,appId:e,aiAgentId:t,keyValueStorage:n,language:r,countryCode:s,context:a,queryParams:i,config:en(l),logger:b,dispatcher:C,chatSDK:_,cache:Xt({appId:e,aiAgentId:t,storage:n})}})},[e,t,r,s,a,l,f,E,c]),u.useEffect(()=>()=>{v.chatSDK.disconnectWebSocket()},[v.chatSDK]),Qr(v.chatSDK),o.createElement(eo,{value:v},p)}const no=(e,t,n)=>_e.useGroupChannelMessages(e,t,{...n,strictStreamingOrder:!0});var yt=(e=>(e.ConversationClose="conv.close",e))(yt||{});class ro{constructor(t={}){this.payload=t}toJSON(){return JSON.stringify({type:this.type,payload:this.payload})}}const In={CloseConversation:e=>new oo(e)};class oo extends ro{constructor(){super(...arguments),this.type="conv.close"}}const vt={DEFAULT_BOT_MSG_BG:"#eeeeee",WHITE:"#ffffff",BLACK:"#000000"};function Mn(e){return e.length===4?`#${[...e.slice(1)].map(t=>t+t).join("")}`:e}function so(e){const t=Mn(e);return[parseInt(t.slice(1,3),16),parseInt(t.slice(3,5),16),parseInt(t.slice(5,7),16)]}function io(e){return`#${e.map(t=>t.toString(16).padStart(2,"0")).join("")}`}function ao(e,t,n){e/=255,t/=255,n/=255;const r=Math.max(e,t,n),s=Math.min(e,t,n),a=r-s;let i=0,l=0;const c=(r+s)/2;return r!==s&&(l=c>.5?a/(2-r-s):a/(r+s)),r===e?i=(t-n)/a+(t<n?6:0):r===t?i=(n-e)/a+2:r===n&&(i=(e-t)/a+4),i/=6,[i,l,c]}function lo(e,t,n){let r,s,a;if(t===0)r=s=a=n;else{const i=function(p,f,E){return E<0&&(E+=1),E>1&&(E-=1),E<.16666666666666666?p+(f-p)*6*E:E<.5?f:E<.6666666666666666?p+(f-p)*(.6666666666666666-E)*6:p},l=n<.5?n*(1+t):n+t-n*t,c=2*n-l;r=i(c,l,e+1/3),s=i(c,l,e),a=i(c,l,e-1/3)}return[Math.round(r*255),Math.round(s*255),Math.round(a*255)]}function Pe(e,t,n){const[r,s,a]=so(e),[i,l,c]=ao(r,s,a),m=Math.max(0,Math.min(1,c*t)),p=Math.max(0,Math.min(1,l*n)),[f,E,y]=lo(i,p,m);return io([Math.round(f),Math.round(E),Math.round(y)])}function co(e,t="light"){return{extraDark:Pe(e,.6,1.2),dark:Pe(e,.85,1.1),main:e,light:Pe(e,t==="dark"?1.1:1.5,t==="dark"?.95:.9),extraLight:Pe(e,t==="dark"?1.2:1.75,t==="dark"?.9:.8)}}function Ct(e){const t=Mn(e),n=149,r=+`0x${t[1]}${t[2]}`,s=+`0x${t[3]}${t[4]}`,a=+`0x${t[5]}${t[6]}`;return r*.299+s*.587+a*.114>n?vt.BLACK:vt.WHITE}function uo(e,t,n,r,s){return{base:{primary:t,primaryContrastContent:n,background:e.background50,headerBackground:e.background50,modalContentBackground:e.background50},metadata:{errorContent:e.ondark.textHighEmphasis,placeholderText:e.onlight.textLowEmphasis},messageInput:{background:e.background100},messageIncoming:{text:s,background:r},messageOutgoing:{text:n,background:t},csat:{background:e.background100}}}const mo=(e,t,n,r,s)=>({base:{primary:t,primaryContrastContent:n,background:e.background600,headerBackground:e.background500,modalContentBackground:e.background500},metadata:{errorContent:e.ondark.textHighEmphasis,placeholderText:e.ondark.textLowEmphasis},messageInput:{background:e.background400},messageIncoming:{text:s,background:r},messageOutgoing:{text:n,background:t},csat:{background:e.background400}}),Ne={primary:{extraDark:"#491389",dark:"#6211c8",main:"#742ddd",light:"#c2a9fa",extraLight:"#dbd1ff"},secondary:{extraDark:"#066858",dark:"#027d69",main:"#259c72",light:"#69c085",extraLight:"#a8e2ab"},error:{extraDark:"#9d091e",dark:"#bf0711",main:"#de360b",light:"#f66161",extraLight:"#fdaaaa"},information:{extraDark:"#241389",dark:"#362ca9",main:"#4a48cd",light:"#a9bbfa",extraLight:"#d1dbff"},background700:"#000000",background600:"#161616",background500:"#2c2c2c",background400:"#393939",background300:"#bdbdbd",background200:"#e0e0e0",background100:"#eeeeee",background50:"#ffffff",onlight:{textHighEmphasis:"rgba(0, 0, 0, 0.88)",textMidEmphasis:"rgba(0, 0, 0, 0.5)",textLowEmphasis:"rgba(0, 0, 0, 0.38)",textDisabled:"rgba(0, 0, 0, 0.12)"},ondark:{textHighEmphasis:"rgba(255, 255, 255, 0.88)",textMidEmphasis:"rgba(255, 255, 255, 0.5)",textLowEmphasis:"rgba(255, 255, 255, 0.38)",textDisabled:"rgba(255, 255, 255, 0.12)"},overlay:{dark:"rgba(0, 0, 0, 0.55)",light:"rgba(22, 22, 22, 0.32)"}},gt={h1:{fontSize:18,fontWeight:700},h2:{fontSize:16,fontWeight:700},subtitle1:{fontSize:16,fontWeight:500},subtitle2:{fontSize:16,fontWeight:400},body1:{fontSize:16,fontWeight:400},body2:{fontSize:14,fontWeight:500},body3:{fontSize:14,fontWeight:400},button:{fontSize:14,fontWeight:700},caption1:{fontSize:12,fontWeight:700},caption2:{fontSize:12,fontWeight:400},caption3:{fontSize:11,fontWeight:700},caption4:{fontSize:11,fontWeight:400}};function tn(e){const t=go(e),{colors:n,aiAgentColorVariables:r}=ho(e,t),s=po(e);return{selectedTheme:e.selectedTheme,palette:t,colors:n,aiAgentColorVariables:r,typography:s}}function go({selectedTheme:e,palette:t,primary:n}){const r=t!=null&&t.primary?t.primary:n?n===Ne.primary.main?Ne.primary:co(n,e):Ne.primary;return{...Ne,primary:r,...t}}function ho({selectedTheme:e,primaryContrast:t,botMessageBackground:n,botMessageBackgroundContrast:r},s){const a=s.primary.main,i=t??Ct(a),l=n??vt.DEFAULT_BOT_MSG_BG,c=r??Ct(l);return{colors:(e==="light"?uo:mo)(s,a,i,l,c),aiAgentColorVariables:{primary_color:a,bot_message_bg_color:l,primary_contrast_color:i,bot_message_bg_contrast_color:c}}}function fo(e,t,n){const r={...e};return n.forEach(s=>{const a=t[s];a!=null&&(r[s]=a)}),r}function po({typography:e}){if(!e)return gt;const t={...gt};return Object.keys(e).forEach(n=>{const r=e[n];if(r&&typeof r=="object"){const s=gt[n],a=["fontSize","fontWeight","fontFamily","lineHeight"];t[n]=fo(s,r,a)}}),t}const{Provider:bo,useContext:Mt}=G("AIAgentTheme");function xo({logger:e,palette:t,typography:n,appearance:r,children:s}){const[a,i]=u.useState(()=>tn({selectedTheme:(r==null?void 0:r.theme)??"light",palette:t,typography:n,primary:r==null?void 0:r.primaryColor,botMessageBackground:r==null?void 0:r.botMessageBackgroundColor})),l=u.useCallback((c,m)=>{const p=(r==null?void 0:r.theme)??c,f=m==null?void 0:m(p),E={primary:r==null?void 0:r.primaryColor,primaryContrast:void 0,botMessageBackground:r==null?void 0:r.botMessageBackgroundColor,botMessageBackgroundContrast:void 0};!E.primary&&(f!=null&&f.primaryColor)&&(E.primary=f.primaryColor,E.primaryContrast=f.primaryContrastColor),!E.botMessageBackground&&(f!=null&&f.botMessageBackgroundColor)&&(E.botMessageBackground=f.botMessageBackgroundColor,E.botMessageBackgroundContrast=f.botMessageBackgroundContrastColor);const y=tn({selectedTheme:p,palette:t,typography:n,...E});i(y),e==null||e.info("theme.update:",p)},[r==null?void 0:r.theme,r==null?void 0:r.primaryColor,r==null?void 0:r.botMessageBackgroundColor,t,n,e]);return u.useEffect(()=>{(r!=null&&r.theme||r!=null&&r.primaryColor||r!=null&&r.botMessageBackgroundColor)&&l(a.selectedTheme)},[r==null?void 0:r.theme,r==null?void 0:r.primaryColor,r==null?void 0:r.botMessageBackgroundColor]),o.createElement(bo,{value:{theme:a,updateTheme:l}},s)}function Ln(){const{chatSDK:e,logger:t}=j();return u.useCallback(async n=>{if(n.userId===""){const r=new Error("userId cannot be empty string for messenger settings request");throw t.error("requestMessengerSettings: invalid userId",r),r}return await e.aiAgent.requestMessengerSettings(n)},[e,t])}function Eo(){const{chatSDK:e,logger:t}=j(),n=u.useCallback(async(s,a,i)=>{if(t.debug("useChatConnection.connect: start, session",s.userId),a){const l=new z.SessionHandler({...a,onSessionTokenRequired:yo(a.onSessionTokenRequired,i)});e.setSessionHandler(l)}await e.connect(s.userId,s.authToken),t.debug("useChatConnection.connect: end, currentUser",e.currentUser)},[e,t]),r=u.useCallback(async()=>{t.debug("useChatConnection.disconnect: start"),await e.disconnect(),t.debug("useChatConnection.disconnect: end")},[e,t]);return{connect:n,disconnect:r}}function yo(e,t){if(e)return async(n,r)=>{new Promise((s,a)=>e==null?void 0:e(s,a)).then(s=>{s&&(t==null||t(s)),n(s)}).catch(s=>{r(s)})}}class On{constructor({userId:t,authToken:n,sessionHandler:r}){this.userId=t,this.authToken=n,this.sessionHandler=r}}class _t{}const vo=24*60*60*1e3,Co=e=>{const{logger:t,cache:n}=j(),r=()=>{const a=n.messenger.getAnonUser();return a?a.expireAt-vo<=Date.now()?(t.debug("useUserSessionCandidate.getAnonymousSessionInfo: auto session expired, clear cache"),n.messenger.clear(a.userId),null):(t.debug("useUserSessionCandidate.getAnonymousSessionInfo: auto session info detected"),a):null},s=()=>{if(!e||e instanceof _t)throw new Error("userSessionInfo must be an instance of ManualSessionInfo");if(typeof e.userId!="string")throw new Error("userSessionInfo.userId must be a string");const a=["userId","authToken","sessionHandler"].filter(i=>!(i in e));return a.length>0&&t.error(`useUserSessionCandidate.getManualSessionInfo: missing required keys in userSessionInfo: ${a.join(", ")}`),t.debug("useUserSessionCandidate.getManualSessionInfo: manual session info detected"),e};return u.useMemo(()=>e instanceof On?{type:"manual",userSessionCandidate:s()}:e instanceof _t?{type:"anonymous",userSessionCandidate:r()}:e&&typeof e=="object"?(t.warn("Please use ManualSessionInfo instead of the old userSessionInfo format."),{type:"manual",userSessionCandidate:s()}):e===void 0?(t.warn("Please use AnonymousSessionInfo instead of undefined userSessionInfo."),{type:"anonymous",userSessionCandidate:r()}):{type:"anonymous",userSessionCandidate:null},[t,e==null?void 0:e.userId,e==null?void 0:e.authToken,e==null?void 0:e.sessionHandler,n.messenger.getAnonUser,n.messenger.clear])};function _o({userSessionInfo:e,onPreAuth:t,onPostAuth:n,onErrorAuth:r,onAuthTokenRefreshed:s,onPostDeauth:a,forceCreateChannel:i}){const{aiAgentId:l,language:c,context:m,countryCode:p,logger:f,cache:E}=j(),{connect:y,disconnect:v}=Eo(),{type:x,userSessionCandidate:d}=Co(e),b=Ln(),C=u.useCallback(async()=>{var H;f.debug("useAuthentication.authenticate: start");const A=(d==null?void 0:d.userId)&&((H=E.messenger.getSettings(d.userId))==null?void 0:H.knownActiveChannelUrl),M=await b({aiAgentId:l,userId:d==null?void 0:d.userId,language:c,country:p,context:m,forceCreateChannel:i,knownActiveChannelUrl:A});f.debug("useAuthentication.authenticate: messenger settings response",M);let R=null;if(M.auto_created_user)if(x==="manual")f.warn("Received auto created user info but current session is manual. Ignoring auto created user info."),R={userId:d.userId,authToken:d.authToken};else{const{user_id:L,session_token:D,expire_at:F}=M.auto_created_user;E.messenger.setAnonUser({userId:L,authToken:D,expireAt:F}),R={userId:L,authToken:D}}else R={userId:(d==null?void 0:d.userId)??"",authToken:(d==null?void 0:d.authToken)??""};E.messenger.setSettings(R.userId,{knownActiveChannelUrl:M.active_channel.channel_url});try{await t(M,R),await y(R,d==null?void 0:d.sessionHandler,s),await n(M,R)}catch(L){throw L instanceof Error&&(r(L),f.error("useAuthentication.authenticate: failed to connect",L)),L}return M},[b,y,x,d==null?void 0:d.userId,d==null?void 0:d.sessionHandler,d==null?void 0:d.authToken,E.messenger.setAnonUser,E.messenger.getSettings,E.messenger.setSettings,t,n,r,s]),_=u.useCallback(async()=>{f.debug("useAuthentication.deauthenticate: start"),await v(),a(),f.debug("useAuthentication.deauthenticate: completed")},[v,f,a]);return{authenticate:C,deauthenticate:_,userSessionCandidate:d}}const Rn=e=>{try{const t=JSON.parse(e);return typeof t=="string"?JSON.stringify(t).slice(1,-1):e.trim()}catch{return JSON.stringify(e).slice(1,-1)}},Me=e=>JSON.parse(e),et=e=>JSON.parse(e);function So(e,t){const[n,r]=t.split(",").map(s=>s.trim());return e==="dark"&&r||n}function To(e){const t={};function n(r,s=""){for(const[a,i]of Object.entries(r)){const l=s?`${s}.${a}`:a;i&&typeof i=="object"&&!Array.isArray(i)?n(i,l):t[l]=i}}return n(e),t}function Lt({template:e,variables:t,variableKeyPattern:n,variableValueTransformer:r}){return Object.entries(t).reduce((s,[a,i])=>{if(!r&&!["number","boolean","string"].includes(typeof i))throw new Error(`If transformer is not provided, value(${a}:${i}) must be a {string, number, or boolean}`);const l=r?r(i):String(i),c=n(a);return s.replace(c,Rn(l))},e)}async function wo({template:e,variables:t,variableKeyPattern:n,variableValueTransformer:r}){return(await Promise.all(Object.entries(t).map(async([a,i])=>{const l=await r(i);return{regex:n(a),transformedValue:l}}))).reduce((a,{regex:i,transformedValue:l})=>a.replace(i,Rn(l)),e)}const Ao=()=>{const{chatSDK:e,logger:t,cache:n}=j(),r=u.useCallback(()=>{var l,c;const a=(c=(l=e.appInfo)==null?void 0:l.aiAgentInfo)==null?void 0:c.templateListToken;if(!a)return!1;const i=n.template.getCachedToken();return i?a!==i:!0},[e,n.template.getCachedToken]),s=u.useCallback(async()=>{try{const{templates:a,token:i}=await e.aiAgent.getMessageTemplates({limit:20});for(const{template:l}of a){const{key:c}=Me(l);n.template.set(c,l)}n.template.setCachedToken(i)}catch(a){t==null||t.error("messageTemplateContext.syncCachedTemplates: error:",a)}},[e,t,n.template.set,n.template.setCachedToken]);return{shouldSyncCachedTemplate:r,syncCachedTemplates:s}};var We=(e=>(e.OFF="off",e.ALWAYS="always",e.HANDED_OFF_ONLY="handed_off_only",e))(We||{});const ko={off:"off",always:"always",handed_off_only:"handed_off_only"},{Provider:$o,useContext:Dn}=G("AIAgentMessengerSession"),Io=u.forwardRef(function({userSessionInfo:e,forceCreateChannel:t,children:n},r){const{appId:s,aiAgentId:a,chatSDK:i,language:l,countryCode:c,context:m,cache:p,logger:f}=j(),{updateTheme:E}=Mt(),[y,v]=u.useState(void 0),[x,d]=u.useState(void 0),[b,C]=u.useState(null),[_,A]=u.useState(null),[M,R]=u.useState(null),[H,L]=u.useState("handed_off_only"),{shouldSyncCachedTemplate:D,syncCachedTemplates:F}=Ao(),T=Ln(),{authenticate:Y,deauthenticate:ue}=_o({userSessionInfo:e,forceCreateChannel:t,onPreAuth:u.useCallback((k,P)=>{const K=k.appearance.selected_theme;E(K,Q=>{const Ee=k.appearance.themes[Q];return{primaryColor:Ee.primary_color,botMessageBackgroundColor:Ee.bot_message_bg_color,primaryContrastColor:Ee.primary_contrast_color,botMessageBackgroundContrastColor:Ee.bot_message_bg_contrast_color}}),v(void 0),C(P),A({userId:k.bot.bot_userid,profileUrl:k.bot.bot_profile_url,nickname:k.bot.bot_nickname,replyToFile:k.bot.reply_to_file,specialNotice:k.bot.special_notice,specialNoticeEnabled:k.bot.is_special_notice_enabled,showHandoffButton:k.bot.show_handoff_button??!0,isMultipleActiveConversationsEnabled:k.bot.is_multiple_active_conversations_enabled??!0}),R({type:k.launcher.image_type||"default_icon",imageUrl:k.launcher.image_url}),L(ko[k.active_channel.attachment_mode]??"handed_off_only")},[]),onPostAuth:u.useCallback(async k=>{D()&&await F(),d({url:k.active_channel.channel_url,status:U.ConversationStatus.OPEN})},[D,F]),onErrorAuth:u.useCallback(k=>{v(k)},[]),onAuthTokenRefreshed:u.useCallback(k=>{C(P=>P?{...P,authToken:k}:null)},[]),onPostDeauth:u.useCallback(()=>{p.template.clear(),b!=null&&b.userId&&p.messenger.clear(b.userId),d(void 0),C(null),A(null),R(null)},[p.template.clear,b])}),xe=u.useCallback(async()=>{var k;if(b){f.debug("agentMessengerSession.refreshActiveChannel: try to refresh active channel"),d(void 0);const P=await T({aiAgentId:a,userId:b.userId,language:l,country:c,context:m,forceCreateChannel:t,knownActiveChannelUrl:(k=p.messenger.getSettings(b.userId))==null?void 0:k.knownActiveChannelUrl});return p.messenger.setSettings(b.userId,{knownActiveChannelUrl:P.active_channel.channel_url}),d({url:P.active_channel.channel_url,status:U.ConversationStatus.OPEN}),f.info("agentMessengerSession.refreshActiveChannel: refreshed active channel",P.active_channel.channel_url),P.active_channel.channel_url}else throw f.error("agentMessengerSession.refreshActiveChannel: userSession is not ready"),new Error("userSession is not ready")},[T,s,a,b==null?void 0:b.userId,l,c,m,t,p.messenger.getSettings,p.messenger.setSettings]),ct=u.useCallback(async k=>{if(!(b!=null&&b.userId))throw new Error("Current user is not authenticated. Please authenticate first.");const K=(await T({...k,userId:b.userId,knownActiveChannelUrl:void 0})).active_channel.channel_url;return p.messenger.setSettings(b.userId,{knownActiveChannelUrl:K}),K},[b==null?void 0:b.userId,T]);return _e.useGroupChannelHandler(i,{onChannelChanged:k=>{var P;k.isGroupChannel()&&k.url===(x==null?void 0:x.url)&&(f.info("agentMessengerSession.channelChanged: channel.conversation",k.conversation),d({url:k.url,status:((P=k.conversation)==null?void 0:P.status)??U.ConversationStatus.OPEN}))}}),u.useImperativeHandle(r,()=>{const k=async()=>{if(!x)throw new Error("No active conversation. Please start a conversation first.");return await i.groupChannel.getChannel(x.url)};return{activeChannel:x,chatSDK:i,authenticate:Y,deauthenticate:ue,updateContext:async P=>{const Q=await(await k()).updateContext(a,P);return{...Q,context:Q.context??{}}},patchContext:async P=>{const Q=await(await k()).patchContext(a,P);return{...Q,context:Q.context??{}}},getContextObject:async()=>{const K=await(await k()).getContextObject(a);return{...K,context:K.context??{}}}}},[Y,ue,x,i,a,f]),o.createElement($o,{value:{userSessionInfo:e,userSession:b,activeChannel:x,setActiveChannel:d,refreshActiveChannel:xe,createConversation:ct,connectionError:y,aiAgentInfo:_,launcherInfo:M,authenticate:Y,deauthenticate:ue,attachmentMode:H}},n)}),{Provider:Mo}=G("AIAgentConversation");function Lo({children:e,channelUrl:t,onChannelDeleted:n,onMessagesReceived:r,onMessagesUpdated:s,onConversationClosedViaDispatcher:a,onBeforeSendMessage:i,onAfterSendMessage:l=ae,shouldMarkAsRead:c=!0}){var C;const m=()=>c&&(y==null?void 0:y.markAsRead()),{chatSDK:p,logger:f,dispatcher:E}=j(),{channel:y,channelFetchError:v,fetchChannel:x}=Oo(t),d=no(p,y,{shouldCountNewMessages:()=>!1,onChannelDeleted:n,onMessagesReceived:_=>r==null?void 0:r(_),onMessagesUpdated:_=>s==null?void 0:s(_),logger:f,markAsRead:m});u.useEffect(()=>{m()},[c]),u.useEffect(()=>{const _=async A=>{const M=typeof(A==null?void 0:A.channelUrl)=="string";y&&M&&A.channelUrl!==y.url||(f.debug("conversation.dispatcher: try to close conversation",y),y!=null&&y.conversation&&y.conversation.status===U.ConversationStatus.OPEN&&(await y.closeConversation(),a==null||a()))};return E.subscribe(yt.ConversationClose,_),()=>{E.unsubscribe(yt.ConversationClose,_)}},[E,(C=y==null?void 0:y.conversation)==null?void 0:C.status,a]);const b={conversation:(y==null?void 0:y.conversation)??void 0,channelSource:{channel:y,error:v,refetch:()=>x()},messageSource:{messages:d.messages,initialized:d.initialized,loadPrevious:()=>d.loadPrevious(),loadNext:()=>d.loadNext(),sendUserMessage:async _=>{var M;if(((M=y==null?void 0:y.conversation)==null?void 0:M.status)===U.ConversationStatus.CLOSED)throw new Error("Conversation is closed");i&&(_=await i(_));const A=await d.sendUserMessage(_,l);return l==null||l(A),A},sendFileMessage:async _=>{var M;if(((M=y==null?void 0:y.conversation)==null?void 0:M.status)===U.ConversationStatus.CLOSED)throw new Error("Conversation is closed");i&&(_=await i(_));const A=await d.sendFileMessage(_,l);return l==null||l(A),A}}};return o.createElement(Mo,{value:b},e)}function Oo(e){const{chatSDK:t,logger:n}=j(),[r,s]=u.useState(void 0),[a,i]=u.useState(void 0);async function l(){if(n.debug("conversation.fetchChannel: start"),s(void 0),i(void 0),e)try{n.debug("conversation.fetchChannel: get channel",e);const c=await t.groupChannel.getChannel(e);s(c),n.debug("conversation.fetchChannel: fetched channel",c)}catch(c){c instanceof z.SendbirdError&&i(c),n.error("conversation.fetchChannel: error",c)}}return Ro(r),u.useEffect(()=>{l()},[t,e]),{channel:r,channelFetchError:a,fetchChannel:l}}function Ro(e){const{chatSDK:t}=j(),{activeChannel:n,setActiveChannel:r}=Dn(),s=u.useId();u.useEffect(()=>{if(!e||!n)return;const a=new z.ConnectionHandler({onReconnectSucceeded:async()=>{var l;const i=await e.refresh();i.url===n.url&&r({url:i.url,status:((l=i.conversation)==null?void 0:l.status)??U.ConversationStatus.OPEN})}});return t.addConnectionHandler(s,a),()=>{t.removeConnectionHandler(s)}},[t,e,n])}class Do{constructor(t,{filter:n,limit:r=20}){var s,a,i,l,c,m,p;this._isDisposed=!1,this._handlerId=`handler-id-${Date.now()}`,this._order=je.GroupChannelListOrder.LATEST_LAST_MESSAGE,this.filter=n,this._sdk=t,this._pinnedChannels=[],this._channels=[],this._limit=r,this._query=this._sdk.aiAgent.createMyGroupChannelListQuery({aiAgentChannelFilter:(s=this.filter)==null?void 0:s.aiAgentChannelFilter,aiAgentConversationStatusFilter:(a=this.filter)==null?void 0:a.aiAgentConversationStatusFilter,aiAgentIds:(i=this.filter)==null?void 0:i.aiAgentIds,deskChannelFilter:(l=this.filter)==null?void 0:l.deskChannelFilter,pinnedChannelUrls:(c=this.filter)==null?void 0:c.pinnedChannelUrls,copilotConversationOnly:(m=this.filter)==null?void 0:m.copilotConversationOnly,copilotSupportChannelUrl:(p=this.filter)==null?void 0:p.copilotSupportChannelUrl,limit:this._limit}),this._token="",this._timestamp=Number.MAX_SAFE_INTEGER,this._isSyncing=!1,this._channelHandler=new je.GroupChannelHandler({onChannelChanged:f=>{f.isGroupChannel()&&(this._query.belongsTo(f)?this._addChannelsToView([f],!1):this._removeChannelsFromView([f.url]))},onChannelDeleted:f=>{this._removeChannelsFromView([f])}}),this._connectionHandler=new z.ConnectionHandler({onReconnectSucceeded:()=>{this._isDefaultChangelogSyncTimestampUpdated&&this._syncChannelChangelogs()}}),this._sdk.addConnectionHandler(this._handlerId,this._connectionHandler),this._sdk.groupChannel.addGroupChannelHandler(this._handlerId,this._channelHandler)}get _isDefaultChangelogSyncTimestampUpdated(){return this._timestamp!==Number.MAX_SAFE_INTEGER}_setDefaultChangelogsSyncTimestamp(t){var a,i;const n=new Set(((a=this.filter)==null?void 0:a.pinnedChannelUrls)??[]),r=t.find(l=>!n.has(l.url));let s;r?s=((i=r.lastMessage)==null?void 0:i.createdAt)??r.createdAt:s=this._query.lastResponseAt,this._timestamp>s&&(this._timestamp=s)}async _syncChannelChangelogs(){if(this._isDisposed)return[];if(this._isSyncing)return[];try{this._isSyncing=!0;let t;for(this._token?t=await this._sdk.aiAgent.getMyGroupChannelChangeLogsByToken(this._token,this.filter):t=await this._sdk.aiAgent.getMyGroupChannelChangeLogsByTimestamp(this._timestamp,this.filter),this._token=t.token,this._addChannelsToView(t.updatedChannels),this._removeChannelsFromView(t.deletedChannelUrls);t.hasMore&&t.token;)t=await this._sdk.aiAgent.getMyGroupChannelChangeLogsByToken(this._token,this.filter),this._token=t.token,this._addChannelsToView(t.updatedChannels),this._removeChannelsFromView(t.deletedChannelUrls)}catch{}finally{this._isSyncing=!1}return[]}_upsertPinnedChannelsToArray(t){var l;const n=((l=this.filter)==null?void 0:l.pinnedChannelUrls)??[],r=new Map(n.map((c,m)=>[c,m])),s=[],a=[],i=[];for(const c of t){if(!this._query.belongsTo(c)){i.push(c.url);continue}const m=r.get(c.url);if(m===void 0)continue;const p=St(this._pinnedChannels,c);p>=0?(this._pinnedChannels.splice(p,1),a.push(c)):s.push(c);const E=this._pinnedChannels.findIndex(v=>(r.get(v.url)??1/0)>m),y=E===-1?this._pinnedChannels.length:E;this._pinnedChannels.splice(y,0,c)}return{addedChannels:s,updatedChannels:a,unmatchedChannelUrls:i}}_upsertRegularChannelsToArray(t,n=!1){const r=[],s=[],a=[];for(const i of t){if(!this._query.belongsTo(i)){r.push(i.url);continue}const l=St(this._channels,i),c=l<0;!c&&this._channels.splice(l,1);const p=Po(this._channels,i,this._order).place,f=p===this._channels.length;c?f?(n||!this.hasMore)&&(this._channels.push(i),s.push(i)):(this._channels.splice(p,0,i),s.push(i)):(this._channels.splice(p,0,i),a.push(i))}return{addedChannels:s,updatedChannels:a,unmatchedChannelUrls:r}}_addChannelsToView(t,n=!1){var f,E,y,v,x;const r=new Set(((f=this.filter)==null?void 0:f.pinnedChannelUrls)??[]),s=[],a=[];for(const d of t)r.has(d.url)?s.push(d):a.push(d);const i=this._upsertPinnedChannelsToArray(s),l=this._upsertRegularChannelsToArray(a,n),c=i.addedChannels.concat(l.addedChannels),m=i.updatedChannels.concat(l.updatedChannels),p=i.unmatchedChannelUrls.concat(l.unmatchedChannelUrls);c.length>0&&((y=(E=this._collectionEventHandler)==null?void 0:E.onChannelsAdded)==null||y.call(E,{},c)),m.length>0&&((x=(v=this._collectionEventHandler)==null?void 0:v.onChannelsUpdated)==null||x.call(v,{},m)),p.length>0&&this._removeChannelsFromView(p)}_removeChannelsFromView(t){var s,a,i;const n=new Set(((s=this.filter)==null?void 0:s.pinnedChannelUrls)??[]),r=[];for(const l of t)if(n.has(l)){const c=this._pinnedChannels.findIndex(m=>m.url===l);c>=0&&(r.push(l),this._pinnedChannels.splice(c,1))}else{const c=this._channels.findIndex(m=>m.url===l);c>=0&&(r.push(l),this._channels.splice(c,1))}r.length>0&&((i=(a=this._collectionEventHandler)==null?void 0:a.onChannelsDeleted)==null||i.call(a,{},r))}get channels(){return this._isDisposed?[]:[...this._pinnedChannels,...this._channels]}get hasMore(){return this._isDisposed?!1:this._query.hasNext}async loadMore(){if(this._isDisposed)return[];if(this.hasMore){const t=await this._query.next();return this._setDefaultChangelogsSyncTimestamp(t),this._addChannelsToView(t,!0),t}return[]}setConversationListCollectionHandler(t){this._collectionEventHandler=t}dispose(){this._isDisposed||(this._isDisposed=!0,this._collectionEventHandler=void 0,this._sdk.removeConnectionHandler(this._handlerId),this._sdk.groupChannel.removeGroupChannelHandler(this._handlerId),this._pinnedChannels.length=0,this._channels.length=0)}}const St=(e,t)=>e.findIndex(n=>n.isIdentical(t)),Po=(e,t,n)=>{if(e.length>0){const r=St(e,t);let s=0,a=e.length-1,i=Math.floor((s+a)/2);for(;s<a;){const c=nn(e[i],t,n);if(c>0)a=i,i=Math.floor((s+a)/2);else if(c<0)s=i+1,i=Math.floor((s+a)/2);else return{place:i,oldPosition:r}}return{place:nn(e[i],t,n)>=0?i:i+1,oldPosition:r}}return{place:e.length,oldPosition:-1}},nn=(e,t,n)=>{switch(n){case je.GroupChannelListOrder.LATEST_LAST_MESSAGE:if(e.lastMessage&&t.lastMessage){const r=t.lastMessage.createdAt-e.lastMessage.createdAt;return r===0?t.createdAt-e.createdAt:r}else return e.lastMessage?-1:t.lastMessage?1:t.createdAt-e.createdAt;default:return 0}};function No(e,t){var v,x,d,b,C,_,A,M,R,H;const n=u.useId(),[r,s]=u.useState(!1),[a,i]=u.useState(null),[l,c]=u.useState([]),[m,p]=u.useState(null),f=u.useRef(!1),E=u.useCallback(async()=>{if(!f.current&&e.currentUser){f.current=!0,s(!1),i(null),c([]);try{m==null||m.dispose();const L=new Do(e,t);L.setConversationListCollectionHandler({onChannelsAdded:()=>{c(L.channels)},onChannelsUpdated:()=>{c(L.channels)},onChannelsDeleted:()=>{c(L.channels)}}),await L.loadMore(),p(L),i(null)}catch(L){p(null),i(L)}finally{s(!0),f.current=!1}}},[e,(v=t.filter)==null?void 0:v.aiAgentChannelFilter,(d=(x=t.filter)==null?void 0:x.aiAgentConversationStatusFilter)==null?void 0:d.join(),(C=(b=t.filter)==null?void 0:b.aiAgentIds)==null?void 0:C.join(),(_=t.filter)==null?void 0:_.deskChannelFilter,(M=(A=t.filter)==null?void 0:A.pinnedChannelUrls)==null?void 0:M.join(),(R=t.filter)==null?void 0:R.copilotConversationOnly,(H=t.filter)==null?void 0:H.copilotSupportChannelUrl,t.limit]),y=u.useCallback(async()=>{if(m)try{await m.loadMore()}catch(L){i(L)}},[m]);return u.useEffect(()=>(e.addConnectionHandler(n,new z.ConnectionHandler({onConnected:()=>E()})),()=>e.removeConnectionHandler(n)),[e,n,E]),u.useEffect(()=>{E()},[E]),u.useEffect(()=>()=>{f.current=!1,m==null||m.dispose()},[m]),{initialized:r,error:a,channels:l,loadMore:y}}const{Provider:Fo}=G("AIAgentConversationList");function Bo({conversationListLimit:e,conversationListFilter:t,children:n}){var f,E;const{chatSDK:r,aiAgentId:s,queryParams:a}=j(),i={aiAgentIds:[s],aiAgentConversationStatusFilter:[U.ConversationStatus.CLOSED,U.ConversationStatus.OPEN]},l=e??((f=a==null?void 0:a.conversationListParams)==null?void 0:f.limit),c={...i,...(E=a==null?void 0:a.conversationListParams)==null?void 0:E.filter,...t},m=No(r,{limit:l,filter:c}),p={listSource:{initialized:m.initialized,error:m.error??void 0,channels:m.channels,loadMore:()=>m.loadMore()}};return o.createElement(Fo,{value:p},n)}function Uo(e){let t="pending",n=e.then(r=>{t="resolved",n=r}).catch(r=>{t="rejected",n=r});return{get value(){if(t==="resolved")return n;throw n}}}const{Provider:Ho,useContext:Pn}=G("MessageTemplateFetching");function Vo({children:e,internalVariables:t}){const n=u.useRef({}),r=u.useRef({}),[s,a]=u.useState({}),i=u.useCallback((m,p)=>{a(f=>({...f,[m]:{fetching:!1,error:!1,...f[m],...p}}))},[]),l=u.useCallback(async({onRequestTemplate:m,onGetCachedTemplate:p,templateKey:f,suspense:E=!1})=>{const y=p(f);if(y)return y;const v=r.current[f];if(v)return v;E||i(f,{fetching:!0});const x=m(f).catch(d=>{throw E||i(f,{error:!0}),d}).finally(()=>{E||i(f,{fetching:!1}),delete r.current[f]});return r.current[f]=x,x},[i]),c={internalVariables:t,fetchTemplate:l,suspend:(m,p)=>{if(n.current[m])return n.current[m];const f=Uo(p());return n.current[m]=f,f},getIsFetching:m=>{var p;return((p=s[m])==null?void 0:p.fetching)??!1},getHasError:m=>{var p;return((p=s[m])==null?void 0:p.error)??!1}};return o.createElement(Ho,{value:c},e)}const tt={VARIABLE:e=>new RegExp(`\\{${e}\\}`,"g"),VIEW_VARIABLE:e=>new RegExp(`"{@${e}}"`,"g")};function le({uiTemplateString:e,variables:t={}}){const n=To(t);return Lt({template:e,variables:n,variableKeyPattern:r=>tt.VARIABLE(r)})}function ce({theme:e,uiTemplateString:t,colorVariables:n={}}){return Lt({template:t,variables:n,variableKeyPattern:r=>tt.VARIABLE(r),variableValueTransformer:r=>So(e,r)})}function zo({theme:e,uiTemplateString:t,viewVariables:n={},aiAgentColorVariables:r,internalVariables:s,onRequestTemplate:a}){const l=Object.values(n).flat().map(m=>m.key);return[...new Set(l)].some(m=>!a(m))?null:Lt({template:t,variables:n,variableKeyPattern:m=>tt.VIEW_VARIABLE(m),variableValueTransformer:m=>{const p=m.map(({key:f,variables:E})=>{const y=a(f),{ui_template:v,color_variables:x}=Me(y);let d=JSON.stringify(v);return d=le({uiTemplateString:d,variables:s}),d=ce({theme:e,uiTemplateString:d,colorVariables:x}),d=ce({theme:e,uiTemplateString:d,colorVariables:r}),d=le({uiTemplateString:d,variables:E}),et(d)});return JSON.stringify(p)}})}async function Wo({theme:e,uiTemplateString:t,viewVariables:n={},aiAgentColorVariables:r,internalVariables:s,onRequestTemplate:a}){return wo({template:t,variables:n,variableKeyPattern:i=>tt.VIEW_VARIABLE(i),variableValueTransformer:async i=>{const l=i.map(async({key:m,variables:p})=>{const f=await a(m),{ui_template:E,color_variables:y}=Me(f);let v=JSON.stringify(E);return v=le({uiTemplateString:v,variables:s}),v=ce({theme:e,uiTemplateString:v,colorVariables:y}),v=ce({theme:e,uiTemplateString:v,colorVariables:r}),v=le({uiTemplateString:v,variables:p}),et(v)}),c=await Promise.all(l);return JSON.stringify(c)}})}const Go=({rawTemplate:e,aiAgentColorVariables:t,internalVariables:n,...r})=>{const{ui_template:s,color_variables:a}=Me(e);let i=JSON.stringify(s);if(Object.keys(r.viewVariables??{}).length>0){const c=zo({...r,uiTemplateString:i,aiAgentColorVariables:t,internalVariables:n});if(c===null)return null;i=c}return i=le({...r,uiTemplateString:i,variables:n}),i=ce({...r,uiTemplateString:i,colorVariables:a}),i=ce({...r,uiTemplateString:i,colorVariables:t}),i=le({...r,uiTemplateString:i}),et(i)},qo=async({rawTemplate:e,aiAgentColorVariables:t,internalVariables:n,...r})=>{const{ui_template:s,color_variables:a}=Me(e);let i=JSON.stringify(s);return Object.keys(r.viewVariables??{}).length>0&&(i=await Wo({...r,uiTemplateString:i,aiAgentColorVariables:t,internalVariables:n})),i=le({...r,uiTemplateString:i,variables:n}),i=ce({...r,uiTemplateString:i,colorVariables:a}),i=ce({...r,uiTemplateString:i,colorVariables:t}),i=le({...r,uiTemplateString:i}),et(i)},jo=e=>{const{aiAgentColorVariables:t={}}=e,{internalVariables:n}=Pn();return u.useState(()=>{const r=e.onGetCachedTemplate(e.templateKey);return r?Go({...e,rawTemplate:r,aiAgentColorVariables:t,internalVariables:n,onRequestTemplate:e.onGetCachedTemplate}):null})},Ko=e=>{const[t]=jo(e);if(t)return t;const{aiAgentColorVariables:n={}}=e,{internalVariables:r,fetchTemplate:s,suspend:a}=Pn();return a(e.templateKey,async()=>{const l=await s({...e,suspense:!0});return await qo({...e,rawTemplate:l,aiAgentColorVariables:n,internalVariables:r})}).value},Nn=(e,t)=>{var r;const{aiAgentInfo:n}=Dn();if(e==="handoff-button"){const s=!!((r=t==null?void 0:t.conversation)!=null&&r.handoff);return(t==null?void 0:t.isAIAgent)&&(n==null?void 0:n.showHandoffButton)&&s&&xt(t)}if(e==="special-notice")return(t==null?void 0:t.isAIAgent)&&(n==null?void 0:n.specialNoticeEnabled)&&!!(n!=null&&n.specialNotice);throw new Error("Unsupported feature")},Yo={required:"This question is required",minLength:e=>`Minimum ${e} characters required`,maxLength:e=>`Maximum ${e} characters allowed`,min:e=>`Minimum value is ${e}`,max:e=>`Maximum value is ${e}`,minSelect:e=>`Select at least ${e} options`,maxSelect:e=>`Select at most ${e} options`,regex:"Invalid format",invalidSelection:"Invalid selection"},Zo={getValueOrDefault:e=>e.value??e.default_value??null,validate:(e,t,n)=>{const r=t;if(e.required&&(!r||r.trim()===""))return{isValid:!1,error:n.required};if(!r)return{isValid:!0};const{rules:s}=e;if(s){if(s.min_length!==void 0&&r.length<s.min_length)return{isValid:!1,error:typeof n.minLength=="function"?n.minLength(s.min_length):n.minLength};if(s.max_length!==void 0&&r.length>s.max_length)return{isValid:!1,error:typeof n.maxLength=="function"?n.maxLength(s.max_length):n.maxLength};if(s.regex&&!new RegExp(s.regex).test(r))return{isValid:!1,error:n.regex}}return{isValid:!0}}},Jo={getValueOrDefault:e=>e.value??e.default_value??null,validate:(e,t,n)=>{const r=t;if(e.required&&r===null)return{isValid:!1,error:n.required};if(r===null)return{isValid:!0};const{rules:s}=e;if(s){if(s.min!==void 0&&r<s.min)return{isValid:!1,error:typeof n.min=="function"?n.min(s.min):n.min};if(s.max!==void 0&&r>s.max)return{isValid:!1,error:typeof n.max=="function"?n.max(s.max):n.max}}return{isValid:!0}}},Xo={getValueOrDefault:e=>e.value??e.default_value??null,validate:(e,t,n)=>{const r=t;return e.required&&!r?{isValid:!1,error:n.required}:r&&!e.options.includes(r)?{isValid:!1,error:n.invalidSelection}:{isValid:!0}}},Qo={getValueOrDefault:e=>e.values??e.default_values??null,validate:(e,t,n)=>{const r=t;if(e.required&&(!r||r.length===0))return{isValid:!1,error:n.required};if(!r||r.length===0)return{isValid:!0};if(r.filter(i=>!e.options.includes(i)).length>0)return{isValid:!1,error:n.invalidSelection};const{rules:a}=e;if(a){if(a.min_select!==void 0&&r.length<a.min_select)return{isValid:!1,error:typeof n.minSelect=="function"?n.minSelect(a.min_select):n.minSelect};if(a.max_select!==void 0&&r.length>a.max_select)return{isValid:!1,error:typeof n.maxSelect=="function"?n.maxSelect(a.max_select):n.maxSelect}}return{isValid:!0}}},es={text:Zo,number:Jo,"single-select":Xo,"multi-select":Qo},ts={getValueOrDefault:()=>null,validate:()=>({isValid:!1})};function Fn(e){return es[e.type]||ts}function rn(e){return Fn(e).getValueOrDefault(e)}function ns(e,t,n={}){const r={...Yo,...n};return Fn(e).validate(e,t,r)}const rs=(e,t={})=>{const{labels:n={},onSubmit:r,onCancel:s}=t,[a,i]=u.useState({}),[l,c]=u.useState(()=>{const x={};return e.fields.forEach(d=>{x[d.key]=rn(d)}),x}),m=u.useMemo(()=>e.submitted_at?"submitted":e.canceled_at?"canceled":"draft",[e.submitted_at,e.canceled_at]);u.useEffect(()=>{if(m==="submitted"||m==="canceled"){const x={};let d=!1;e.fields.forEach(b=>{const C=rn(b);JSON.stringify(l[b.key])!==JSON.stringify(C)&&(d=!0),x[b.key]=C}),d&&c(x)}},[m]);const p=(x,d)=>{c(b=>({...b,[x]:d})),i(b=>({...b,[x]:void 0}))},f=e.fields.map(x=>{var C,_,A;const d=l[x.key]??null,b={key:x.key,label:x.label,error:a[x.key],required:x.required};return x.type==="text"?{...b,type:"text",layout:x.layout,value:d,...x.placeholder&&{placeholder:x.placeholder},...((C=x.rules)==null?void 0:C.max_length)&&{maxLength:x.rules.max_length}}:x.type==="number"?{...b,type:"number",layout:x.layout,value:d,...x.placeholder&&{placeholder:x.placeholder},...((_=x.rules)==null?void 0:_.max)&&{max:x.rules.max}}:x.type==="single-select"?{...b,type:"single-select",layout:x.layout,value:d,options:x.options}:x.type==="multi-select"?{...b,type:"multi-select",layout:x.layout,value:d,options:x.options,...((A=x.rules)==null?void 0:A.max_select)&&{maxSelect:x.rules.max_select}}:{...b,type:"unknown",layout:"default",value:null}});return{state:m,fields:f,getField:x=>f.find(d=>d.key===x),updateFieldValue:p,submit:async()=>{const x={};let d=!1;for(const b of e.fields){const C=l[b.key]??null,_=ns(b,C,n);_.isValid||(x[b.key]=_.error,d=!0)}if(i(x),!d&&r){const b={};e.fields.forEach(C=>{b[C.key]=l[C.key]??null}),await r(b)}},cancel:async()=>{await(s==null?void 0:s())}}},os='@import"https://fonts.googleapis.com/css?family=Roboto:400,500,600,700&display=swap";.sb-message-template__border{position:relative}.sb-message-template__border:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);border-radius:var(--border-radius);pointer-events:none}.sb-message-template__action{cursor:pointer}.sb-message-template__parent{font-family:Roboto,serif}.sb-message-template__text{font-family:inherit;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;letter-spacing:normal;text-align:left}.sb-message-template__text-button{font-family:inherit;background-color:#e0e0e0;text-align:center;padding:10px;border-radius:6px;font-size:14px;font-weight:600;font-stretch:normal;font-style:normal;letter-spacing:normal}.sendbird-theme--light .sb-message-template__text-button{color:#742ddd}.sendbird-theme--dark .sb-message-template__text-button{color:#c2a9fa}.sb-message-template__text-button:hover{opacity:1;box-shadow:#0000001a 0 1px 3px,#0000000f 0 1px 2px}.sb-message-template__text-button,.sb-message-template__image-button{cursor:pointer;border-style:none}.sb-message-template__parent{border-radius:unset;background-color:transparent;overflow:hidden}.sb-message-template__parent *{box-sizing:border-box;line-height:1.3}.sb-message-template__carousel{display:flex;width:100%;box-sizing:border-box;touch-action:pan-y}',Le="en",ss=new Set([Le,"ko","es","pt","fr","hi","it","de","tr","ja"]),is=(e,t,n)=>{const r=e[t];return r?typeof r=="function"?r():Promise.resolve(r):new Promise((s,a)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(a.bind(null,new Error("Unknown variable dynamic import: "+t+(t.split("/").length!==n?". Note that variables only represent file names one level deep.":""))))})},as=Fr.enUS,ls={CHANNEL_FROZEN:"Channel frozen",PLACE_HOLDER__WRONG:"Something went wrong",PLACE_HOLDER__NO_MESSAGES:"No messages",UNKNOWN__UNKNOWN_MESSAGE_TYPE:"(Unknown message type)",HEADER_BUTTON__AGENT_HANDOFF:"Connect with an agent",MESSAGE_INPUT__PLACE_HOLDER:"Ask a question",MESSAGE_INPUT__PLACE_HOLDER__WAIT_AI_AGENT_RESPONSE:"Waiting for the agent’s reply…",MESSAGE_INPUT__PLACE_HOLDER__DISABLED:"Chat is unavailable in this channel",BUTTON__CANCEL:"Cancel",BUTTON__SAVE:"Save",BUTTON__OK:"OK",BUTTON__SUBMIT:"Submit",NO_NAME:"(No name)",RETRY:"Retry",POWERED_BY:"Powered by",OPTIONAL:"optional",SUBMITTED:"Submitted",TRY_AGAIN:"Please try again.",DATE_FORMAT__MESSAGE_LIST__DATE_SEPARATOR:"MMMM dd, yyyy",DATE_FORMAT__MESSAGE_TIMESTAMP:"p",DATE_FORMAT__JUST_NOW:"Just now",DATE_FORMAT__MINUTES_AGO:e=>`${e} minutes ago`,DATE_FORMAT__HOURS_AGO:e=>`${e} hours ago`,DATE_FORMAT__DATE_SHORT:"MM/dd/yyyy",FILE_UPLOAD_NOTIFICATION__COUNT_LIMIT:"You can't upload more than one image",FILE_UPLOAD_NOTIFICATION__SIZE_LIMIT:"The maximum size per file is %d MB.",FILE_VIEWER__UNSUPPORT:"Unsupported message",CSAT_TITLE_UNSUBMITTED:"Your feedback matters to us",CSAT_TITLE_SUBMITTED:"Successfully submitted!",CSAT_CRE_TITLE:"Was your issue resolved?",CSAT_CRE_SOLVED:"Yes, thank you! 👍",CSAT_CRE_NOT_SOLVED:"No, that didn’t help.",CSAT_REASON_PLACEHOLDER:"Share your feedback",CSAT_RATING_TITLE:"How would you rate your experience?",CSAT5_RATING_SCORE_1:"Terrible",CSAT5_RATING_SCORE_2:"Bad",CSAT5_RATING_SCORE_3:"Okay",CSAT5_RATING_SCORE_4:"Good",CSAT5_RATING_SCORE_5:"Great",CSAT_SUBMIT_LABEL:"Submit",CSAT_SUBMISSION_EXPIRED:"We’re sorry, the survey period has ended.",CONVERSATION_CLOSED_FOOTER_LABEL:"Your conversation has ended",START_NEW_CONVERSATION:"💬 Start a new conversation",RETURN_TO_CONVERSATION:"💬 Return to conversation",TALK_TO_AGENT:"Talk to agent",CONVERSATION_LIST__HEADER_TITLE:"Conversations",CONVERSATION_LIST__TOPICS_FALLBACK:"No category",CONVERSATION_LIST__NO_CONVERSATIONS:"No conversations yet",CONVERSATION_LIST__ENDED:"Ended",CITATION_SOURCE_TITLE:"Source",FORM_PLACEHOLDER:"Please fill out the form to move forward.",FORM_UNAVAILABLE:"Form is no longer available.",FORM_NOT_SUPPORTED:"This form is not supported in the current version.",FORM_VALIDATION_REQUIRED:"This question is required",FORM_VALIDATION_MIN_LENGTH:e=>`Minimum ${e} characters required`,FORM_VALIDATION_MAX_LENGTH:e=>`Maximum ${e} characters allowed`,FORM_VALIDATION_MIN:e=>`Minimum value is ${e}`,FORM_VALIDATION_MAX:e=>`Maximum value is ${e}`,FORM_VALIDATION_MIN_SELECT:e=>`Select at least ${e} options`,FORM_VALIDATION_MAX_SELECT:e=>`Select at most ${e} options`,FORM_VALIDATION_REGEX_FAILED:"Invalid format",DATE_FORMAT__CONVERSATION_LIST__LIST_ITEM_TITLE:"MM/dd/yyyy",DATE_FORMAT__CONVERSATION_LIST__LIST_ITEM_TITLE_CAPTION:"h:mma"},Ot={language:"en",dateLocale:as,stringSet:ls},cs=Object.freeze(Object.defineProperty({__proto__:null,default:Ot},Symbol.toStringTag,{value:"Module"})),Ge=new Map([[Le,Ot]]);async function us(e){if(Ge.has(e))return Ge.get(e);const t=ss.has(e)?e:Le;try{const{default:n}=await is(Object.assign({"./languages/de.ts":()=>Promise.resolve().then(()=>require("./jPFSCBtt.cjs")),"./languages/en.ts":()=>Promise.resolve().then(()=>cs),"./languages/es.ts":()=>Promise.resolve().then(()=>require("./DnmwPUXn.cjs")),"./languages/fr.ts":()=>Promise.resolve().then(()=>require("./B5TcHsfW.cjs")),"./languages/hi.ts":()=>Promise.resolve().then(()=>require("./Cd891_fx.cjs")),"./languages/it.ts":()=>Promise.resolve().then(()=>require("./CGCB6sFG.cjs")),"./languages/ja.ts":()=>Promise.resolve().then(()=>require("./C0TzR0z9.cjs")),"./languages/ko.ts":()=>Promise.resolve().then(()=>require("./Tp2-TfFd.cjs")),"./languages/pt.ts":()=>Promise.resolve().then(()=>require("./D2IqKxXh.cjs")),"./languages/tr.ts":()=>Promise.resolve().then(()=>require("./Djrz0ZDD.cjs"))}),`./languages/${t}.ts`,3);return Ge.set(e,n),n}catch{return Ot}}const{Provider:ds,useContext:O}=G("Localization");function ms(e){var t;return((t=e.split("-"))==null?void 0:t[0])??Le}function gs({language:e=navigator.language,logger:t,stringSet:n,children:r}){const[s,a]=u.useState(Ge.get(Le));return u.useEffect(()=>{const i=ms(e);s.language!==i&&(t==null||t.debug("localization.useEffect: update language",`${s.language} -> ${i}`),us(i).then(a))},[e]),o.createElement(ds,{value:{language:s.language,stringSet:{...s.stringSet,...n},dateLocale:s.dateLocale,format:(i,l,c)=>ie.format(i,l,{locale:s.dateLocale,...c})}},r)}const Ye="data-sb-agent-theme",on=e=>(t,...n)=>{let r="";return t.forEach((s,a)=>{r+=s+(n[a]??"")}),`[${Ye}='${e}'] & { ${r} }`},I={light:on("light"),dark:on("dark")},hs=S.css(({theme:e})=>{const{palette:t}=e;return`
2
- :root,
3
- :host {
4
- --sendbird-primary-extra-dark: ${t.primary.extraDark};
5
- --sendbird-primary-dark: ${t.primary.dark};
6
- --sendbird-primary-main: ${t.primary.main};
7
- --sendbird-primary-light: ${t.primary.light};
8
- --sendbird-primary-extra-light: ${t.primary.extraLight};
9
-
10
- --sendbird-secondary-extra-dark: ${t.secondary.extraDark};
11
- --sendbird-secondary-dark: ${t.secondary.dark};
12
- --sendbird-secondary-main: ${t.secondary.main};
13
- --sendbird-secondary-light: ${t.secondary.light};
14
- --sendbird-secondary-extra-light: ${t.secondary.extraLight};
15
-
16
- --sendbird-information-extra-dark: ${t.information.extraDark};
17
- --sendbird-information-dark: ${t.information.dark};
18
- --sendbird-information-main: ${t.information.main};
19
- --sendbird-information-light: ${t.information.light};
20
- --sendbird-information-extra-light: ${t.information.extraLight};
21
-
22
- --sendbird-error-extra-dark: ${t.error.extraDark};
23
- --sendbird-error-dark: ${t.error.dark};
24
- --sendbird-error-main: ${t.error.main};
25
- --sendbird-error-light: ${t.error.light};
26
- --sendbird-error-extra-light: ${t.error.extraLight};
27
-
28
- --sendbird-background-700: ${t.background700};
29
- --sendbird-background-600: ${t.background600};
30
- --sendbird-background-500: ${t.background500};
31
- --sendbird-background-400: ${t.background400};
32
- --sendbird-background-300: ${t.background300};
33
- --sendbird-background-200: ${t.background200};
34
- --sendbird-background-100: ${t.background100};
35
- --sendbird-background-50: ${t.background50};
36
-
37
- --sendbird-onlight-text-high-emphasis: ${t.onlight.textHighEmphasis};
38
- --sendbird-onlight-text-mid-emphasis: ${t.onlight.textMidEmphasis};
39
- --sendbird-onlight-text-low-emphasis: ${t.onlight.textLowEmphasis};
40
- --sendbird-onlight-text-disabled: ${t.onlight.textDisabled};
41
-
42
- --sendbird-ondark-text-high-emphasis: ${t.ondark.textHighEmphasis};
43
- --sendbird-ondark-text-mid-emphasis: ${t.ondark.textMidEmphasis};
44
- --sendbird-ondark-text-low-emphasis: ${t.ondark.textLowEmphasis};
45
- --sendbird-ondark-text-disabled: ${t.ondark.textDisabled};
46
-
47
- --sendbird-overlay-dark: ${t.overlay.dark};
48
- --sendbird-overlay-light: ${t.overlay.light};
49
- }
50
- `}),fs=S.css`[${Ye}='light'] &{--sb-text-high-emphasis:var(--sendbird-onlight-text-high-emphasis);--sb-text-mid-emphasis:var(--sendbird-onlight-text-mid-emphasis);--sb-text-low-emphasis:var(--sendbird-onlight-text-low-emphasis);--sb-text-disabled:var(--sendbird-onlight-text-disabled);--sb-text-high-emphasis-inverse:var(--sendbird-ondark-text-high-emphasis);--sb-text-mid-emphasis-inverse:var(--sendbird-ondark-text-mid-emphasis);--sb-text-low-emphasis-inverse:var(--sendbird-ondark-text-low-emphasis);--sb-text-disabled-inverse:var(--sendbird-ondark-text-disabled);--sb-bg-50-600:var(--sendbird-background-50);--sb-bg-100-500:var(--sendbird-background-100);--sb-bg-200-400:var(--sendbird-background-200);--sb-primary:var(--sendbird-primary-main);--sb-secondary:var(--sendbird-secondary-main);--sb-error:var(--sendbird-error-main);--sb-information:var(--sendbird-information-light);}[${Ye}='dark'] &{--sb-text-high-emphasis:var(--sendbird-ondark-text-high-emphasis);--sb-text-mid-emphasis:var(--sendbird-ondark-text-mid-emphasis);--sb-text-low-emphasis:var(--sendbird-ondark-text-low-emphasis);--sb-text-disabled:var(--sendbird-ondark-text-disabled);--sb-text-high-emphasis-inverse:var(--sendbird-onlight-text-high-emphasis);--sb-text-mid-emphasis-inverse:var(--sendbird-onlight-text-mid-emphasis);--sb-text-low-emphasis-inverse:var(--sendbird-onlight-text-low-emphasis);--sb-text-disabled-inverse:var(--sendbird-onlight-text-disabled);--sb-bg-50-600:var(--sendbird-background-600);--sb-bg-100-500:var(--sendbird-background-500);--sb-bg-200-400:var(--sendbird-background-400);--sb-primary:var(--sendbird-primary-light);--sb-secondary:var(--sendbird-secondary-light);--sb-error:var(--sendbird-error-light);--sb-information:var(--sendbird-information-light);}`,g={color:{primary:{dark:"var(--sendbird-primary-dark)",main:"var(--sendbird-primary-main)"},information:{main:"var(--sendbird-information-main)",light:"var(--sendbird-information-light)"},background700:"var(--sendbird-background-700)",background500:"var(--sendbird-background-500)",background400:"var(--sendbird-background-400)",background200:"var(--sendbird-background-200)",background100:"var(--sendbird-background-100)",background50:"var(--sendbird-background-50)",onlight:{textLowEmphasis:"var(--sendbird-onlight-text-low-emphasis)"},ondark:{textMidEmphasis:"var(--sendbird-ondark-text-mid-emphasis)",textLowEmphasis:"var(--sendbird-ondark-text-low-emphasis)",textDisabled:"var(--sendbird-ondark-text-disabled)"},overlay:{dark:"var(--sendbird-overlay-dark)"}},themedColor:{textHighEmphasis:"var(--sb-text-high-emphasis)",textMidEmphasis:"var(--sb-text-mid-emphasis)",textLowEmphasis:"var(--sb-text-low-emphasis)",textDisabled:"var(--sb-text-disabled)",textHighEmphasisInverse:"var(--sb-text-high-emphasis-inverse)",bg_50_600:"var(--sb-bg-50-600)",bg_100_500:"var(--sb-bg-100-500)",bg_200_400:"var(--sb-bg-200-400)",primary:"var(--sb-primary)",error:"var(--sb-error)"}},{Provider:ps,useContext:Bn}=G("MessengerTheme");function bs(e){const{theme:t,appearance:n,logger:r}=e;return o.createElement(xo,{appearance:n,palette:t==null?void 0:t.palette,typography:t==null?void 0:t.typography,logger:r},o.createElement(xs,{...e}))}function xs({rootElement:e=document.body,children:t}){const{theme:n,updateTheme:r}=Mt();return u.useLayoutEffect(()=>{e.setAttribute(Ye,n.selectedTheme)},[e,n.selectedTheme]),o.createElement(S.ThemeProvider,{theme:n},o.createElement(ps,{value:{theme:n,updateTheme:r,rootElement:e}},t))}function me(e,t){const n=e.getRootNode({composed:t});return n instanceof ShadowRoot||n instanceof Document?n:document}const Es=(e,t)=>{u.useEffect(()=>{const n=me(t)instanceof ShadowRoot,r=me(t,!0);if(!(n?t:r).querySelector(`link[href*='${e}']`)){const a=r.createElement("link");a.rel="stylesheet",a.href=e,(n?t:r.head).appendChild(a)}},[e,t])},ys=(e,t=document.body)=>{u.useEffect(()=>{const n=me(t),s=n instanceof ShadowRoot?t:n.head;if(!s)return;const a=`sba-${btoa(e).slice(0,10)}`;let i=s.querySelector(`style#${a}`);i?i.textContent!==e&&(i.textContent=e):(i=s.ownerDocument.createElement("style"),i.id=a,i.textContent=e,s.appendChild(i))},[e,t])},Rt=/iPad|iPhone|iPod/.test(navigator.userAgent),vs=/Android/.test(navigator.userAgent),we=e=>Rt||vs,{Provider:Cs,Consumer:Un,useContext:N}=G("Messenger");function _s({children:e,state:t,enableCloseConversationButton:n=!1,enableExpandButton:r=!0,enableAutoDisconnectInLauncher:s=!0,...a}){const[i,l]=u.useState(!1),[c,m]=u.useState(!1),p={opened:(t==null?void 0:t.opened)??i,setOpened:(t==null?void 0:t.setOpened)??l,expanded:(t==null?void 0:t.expanded)??c,setExpanded:(t==null?void 0:t.setExpanded)??m};return o.createElement(to,{...a},f=>o.createElement(Cs,{value:{...a,...f,state:p,enableCloseConversationButton:n,enableExpandButton:r,enableAutoDisconnectInLauncher:s}},e))}const{Provider:Ss,useContext:W}=G("MessengerSession"),Ts=u.forwardRef(function({children:e,...t},n){return o.createElement(Io,{ref:n,...t},r=>o.createElement(ws,{...r},e))}),ws=({children:e,...t})=>{const{chatSDK:n,logger:r,appId:s,aiAgentId:a,agentPreviewConfigs:i,state:l,handlers:c}=N(),{userSessionInfo:m,authenticate:p,setActiveChannel:f,userSession:E,aiAgentInfo:y,launcherInfo:v}=t,x=u.useRef(null);return _e.useGroupChannelHandler(n,{async onUserJoined(d,b){var _,A,M;if(d.conversation&&d.conversation.type===U.ConversationType.PROACTIVE&&b.userId===((_=n.currentUser)==null?void 0:_.userId)){r.info("messengerSession.onUserJoined: proactive channel joined",d.url);const R=((A=d.conversation)==null?void 0:A.status)??U.ConversationStatus.OPEN;f({url:d.url,status:R}),l.setOpened(!0),As({sound:document.hidden||!l.opened}),(M=x.current)==null||M.call(x,{channel:d})}}}),u.useEffect(()=>{p().then(({launcher:d})=>{d.auto_open&&!we()&&setTimeout(()=>l.setOpened(!0),500)}).catch(d=>{var b;r.error("messengerSession: failed to initialize",d),(b=c==null?void 0:c.onInitializeFailed)==null||b.call(c,d)})},[n,s,a,m==null?void 0:m.userId,m==null?void 0:m.authToken]),!E||!y||!v?null:o.createElement(Ss,{value:{...t,userSession:E,aiAgentInfo:{...y,...i==null?void 0:i.bot},launcherInfo:{...v,...i==null?void 0:i.launcher},registerOnJoinedProactiveConversation:d=>x.current=d}},e)};function As({sound:e}){const t="🔔You have received a new message",n=document.title,r=setInterval(()=>{document.title=document.title===t?n:t},750);setTimeout(()=>clearInterval(r),5e3),e&&Promise.resolve().then(()=>require("./B93o4u0P.cjs")).then(s=>{new Audio(s.default).play()})}const J=e=>{const t=e;return typeof t=="number"?`${t}px`:t},w=({as:e,variant:t="body1",color:n,maxTextLines:r,className:s,...a})=>o.createElement(Is,{as:e,$variant:t,className:s,$color:n,$maxTextLines:r,...a}),sn=new WeakMap,ks=(e,t)=>{let n=sn.get(t);n||(n=new Map,sn.set(t,n));const r=n.get(e);if(r)return r;const s=t[e]??t.body1,a=S.css`font-size:${J(s.fontSize)};font-weight:${s.fontWeight};${s.fontFamily?`font-family: ${s.fontFamily};`:""}
51
- ${s.lineHeight?`line-height: ${s.lineHeight};`:"line-height: 100%;"}
52
- `;return n.set(e,a),a},$s=e=>e?S.css`display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:${e};overflow:hidden;`:"",Is=h.default.span`font-stretch:normal;letter-spacing:normal;${({$variant:e,theme:t})=>ks(e,t.typography)}color:${({$color:e})=>e};${({$maxTextLines:e})=>$s(e)}`,te="sb-agent",ne={ENTRY:`${te}-entry`,MODAL_ROOT:`${te}-modal-root`,WINDOW:`${te}-window`,LAUNCHER:`${te}-launcher`},Fe=2147483647,be={MODAL:Fe-1,TOOLTIP:Fe-2,WINDOW:Fe-3,LAUNCHER:Fe-4},Hn={DEFAULT_PRIMARY:"#742ddd",WHITE:"#ffffff"},Vn=36,Ms=100,Ls=25*1024*1024,zn=["application/pdf","image/jpeg","image/jpg","image/png"],nt="noopener noreferrer nofollow",ge=244,Wn=640,Ze=26,Gn=4,re=12,Ae=2,Os=16,oe=`${te}-incoming-msg`,Rs=`${te}-marked-text`;function Dt(e){switch(e){case"top":case"middle":return Ae;default:return Os}}function Pt(e,t){if(t){const[,n]=t.split("/");if(n)return n.toUpperCase()}if(e&&!e.startsWith(".")){const n=e.split(".").pop();if(n&&n!==e)return n.toUpperCase()}return"FILE"}function qn(e){return e.messageType==="file"?e.message.length>0&&e.file.name!==e.message:e.message.length>0}class Je extends u.PureComponent{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}render(){const{fallback:t=null,errorFallback:n=t,loadingFallback:r=t,children:s}=this.props;return this.state.hasError?n:o.createElement(u.Suspense,{fallback:r},s)}}const Ds=e=>o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 64 64",...e},o.createElement("path",{className:"fill",d:"M52.552 11.448a2.666 2.666 0 0 1 .222 3.52l-.222.251-16.781 16.78 16.781 16.782a2.665 2.665 0 0 1 0 3.771 2.666 2.666 0 0 1-3.52.222l-.251-.222L32 35.771 15.219 52.552a2.665 2.665 0 0 1-3.771 0 2.666 2.666 0 0 1-.222-3.52l.222-.251L28.228 32l-16.78-16.781a2.665 2.665 0 0 1 0-3.771 2.666 2.666 0 0 1 3.52-.222l.251.222 16.78 16.78 16.782-16.78a2.665 2.665 0 0 1 3.771 0z",fill:"#000",fillRule:"evenodd"})),Ps=e=>o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",...e},o.createElement("path",{className:"fill",d:"M7.33348 7.3335L2.00015 7.3335L2.00015 6.00016H5.05735L1.3335 2.27631L2.27631 1.3335L6.00015 5.05734V2.00016L7.33348 2.00016L7.33348 7.3335ZM8.66683 8.66683H14.0002V10.0002L10.943 10.0002L14.6668 13.724L13.724 14.6668L10.0002 10.943V14.0002H8.66683L8.66683 8.66683Z",fill:"#000",fillRule:"evenodd"})),Ns=e=>o.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},o.createElement("path",{className:"fill",fillRule:"evenodd",clipRule:"evenodd",d:"M2 2H7.33333V3.33333L4.27613 3.33333L7.99999 7.05719L7.05718 8L3.33333 4.27616L3.33333 7.33333H2V2ZM14 14H8.66667V12.6667H11.7239L8.00001 8.94281L8.94282 8L12.6667 11.7238V8.66667H14V14Z",fill:"#000"})),Fs=e=>o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 64 64",fill:"evenodd",...e},o.createElement("path",{className:"fill",fill:"#0D0D0D",d:"M50.667 18.667H13.333v-5.334h37.334zM50.667 34.667H13.333v-5.334h37.334zM13.333 50.667h37.334v-5.334H13.333z"})),Bs=e=>o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 64 64",...e},o.createElement("path",{fill:"#000",fillRule:"evenodd",d:"M59.795 29.43 7.329 2.979C4.691 1.802 1.76 4.153 2.932 6.798l6.925 18.609a2 2 0 0 0 1.544 1.275l32.273 5.394L11.4 37.47a1.998 1.998 0 0 0-1.544 1.275L2.932 57.353c-.879 2.645 1.76 4.997 4.397 3.527l52.466-26.453c2.051-.882 2.051-3.82 0-4.996z",className:"fill"})),Us=new Set(["send","chat","message","chevron-right"]),Hs={close:Ds,send:Bs,menu:Fs,expand:Ns,collapse:Ps,spinner:u.lazy(()=>Promise.resolve().then(()=>require("./Cf3-irI8.cjs"))),chat:u.lazy(()=>Promise.resolve().then(()=>require("./BmdfYY9c.cjs"))),message:u.lazy(()=>Promise.resolve().then(()=>require("./CmWLVNPR.cjs"))),error:u.lazy(()=>Promise.resolve().then(()=>require("./DNmdC4-j.cjs"))),info:u.lazy(()=>Promise.resolve().then(()=>require("./ohTjxqcW.cjs"))),refresh:u.lazy(()=>Promise.resolve().then(()=>require("./D00MOxhE.cjs"))),"chevron-down":u.lazy(()=>Promise.resolve().then(()=>require("./wf-LdaaN.cjs"))),"chevron-right":u.lazy(()=>Promise.resolve().then(()=>require("./B0k-GApQ.cjs"))),done:u.lazy(()=>Promise.resolve().then(()=>require("./kp5wcW4s.cjs"))),user:u.lazy(()=>Promise.resolve().then(()=>require("./CtHfgPDp.cjs"))),"file-document":u.lazy(()=>Promise.resolve().then(()=>require("./_YfLwFkX.cjs"))),download:u.lazy(()=>Promise.resolve().then(()=>require("./BN09c8-A.cjs"))),attach:u.lazy(()=>Promise.resolve().then(()=>require("./DcDTXo8_.cjs"))),delete:u.lazy(()=>Promise.resolve().then(()=>require("./CKPzhVy2.cjs"))),"close-filled":u.lazy(()=>Promise.resolve().then(()=>require("./D1kINslt.cjs"))),agent:u.lazy(()=>Promise.resolve().then(()=>require("./Ce1MzjFq.cjs"))),question:u.lazy(()=>Promise.resolve().then(()=>require("./JA0x62Fd.cjs"))),actionbook:u.lazy(()=>Promise.resolve().then(()=>require("./CXa-CGHE.cjs"))),function:u.lazy(()=>Promise.resolve().then(()=>require("./zbLY6xl_.cjs"))),"radio-on":u.lazy(()=>Promise.resolve().then(()=>require("./B9NJk4MI.cjs"))),"radio-off":u.lazy(()=>Promise.resolve().then(()=>require("./Bb0r6Nhu.cjs"))),confluence:u.lazy(()=>Promise.resolve().then(()=>require("./c6TZaE94.cjs"))),zendesk:u.lazy(()=>Promise.resolve().then(()=>require("./DqpDy_26.cjs"))),salesforce:u.lazy(()=>Promise.resolve().then(()=>require("./BsgzT_SF.cjs"))),sprinklr:u.lazy(()=>Promise.resolve().then(()=>require("./D97ZpKUC.cjs"))),website:u.lazy(()=>Promise.resolve().then(()=>require("./ygZY2D-5.cjs"))),snippet:u.lazy(()=>Promise.resolve().then(()=>require("./BCFOnu0u.cjs"))),template:u.lazy(()=>Promise.resolve().then(()=>require("./eJXfXI1_.cjs"))),source:u.lazy(()=>Promise.resolve().then(()=>require("./yVmX6iux.cjs"))),bot:u.lazy(()=>Promise.resolve().then(()=>require("./PhHbzZB_.cjs"))),"bot-filled":u.lazy(()=>Promise.resolve().then(()=>require("./DlvMdI1f.cjs"))),copy:u.lazy(()=>Promise.resolve().then(()=>require("./COgkkyBM.cjs"))),show:u.lazy(()=>Promise.resolve().then(()=>require("./DM-WWpci.cjs"))),mute:u.lazy(()=>Promise.resolve().then(()=>require("./P_ra76fq.cjs")))},$=({type:e,size:t=24,className:n,color:r})=>{const s=Hs[e];return o.createElement(zs,{className:n,$rtlFlip:Us.has(e),$size:t,$color:r??g.color.primary.main},o.createElement(Je,{errorFallback:o.createElement(Ws,null)},o.createElement(s,null)))},Vs=S.css`[dir='rtl'] &{transform:scaleX(-1);}`,zs=h.default.div`width:${({$size:e})=>J(e)};height:${({$size:e})=>J(e)};display:inline-block;&:focus{outline:none;}svg{display:block;}[class*='fill']{fill:${({$color:e})=>e};}[class*='stroke']{stroke:${({$color:e})=>e};stroke-width:2px;stroke-linejoin:round;}${({$rtlFlip:e})=>e&&Vs};`,Ws=()=>o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 64 64"},o.createElement("rect",{x:"8",y:"8",width:"48",height:"48",fill:"none",className:"stroke",rx:"4"}),o.createElement("line",{x1:"20",y1:"20",x2:"44",y2:"44",className:"stroke"}),o.createElement("line",{x1:"44",y1:"20",x2:"20",y2:"44",className:"stroke"}));function Nt({name:e,type:t="FILE",iconColor:n,iconBackgroundColor:r,onClick:s}){const{colors:a}=S.useTheme();return o.createElement(Gs,{onClick:s,$clickable:!!s},o.createElement(js,{$bgColor:r??a.base.primary},o.createElement($,{type:"file-document",size:24,color:n??a.base.primaryContrastContent})),o.createElement(Ks,null,o.createElement(Ys,{variant:"button",color:g.themedColor.textHighEmphasis},e),o.createElement(w,{color:g.themedColor.textMidEmphasis,variant:"caption3"},t)))}const Gs=h.default.div`border-radius:12px;gap:8px;width:${ge}px;height:64px;display:flex;align-items:center;padding:12px;box-sizing:border-box;border:1px solid ${g.themedColor.textDisabled};background-color:${g.themedColor.bg_50_600};${({$clickable:e})=>e&&qs}`,qs=S.css`cursor:pointer;&:hover{background-color:${g.themedColor.bg_100_500};}`,js=h.default.div`border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:${({$bgColor:e})=>e};`,Ks=h.default.div`display:flex;flex:1;flex-direction:column;gap:4px;min-width:0;`,Ys=h.default(w)`text-overflow:ellipsis;white-space:nowrap;overflow:hidden;`;function Zs({file:e,children:t,onClickFile:n}){return o.createElement(Js,null,o.createElement(Nt,{name:e.name,type:Pt(e.name,e.type),onClick:n&&(()=>n==null?void 0:n(e))}),t)}const Js=h.default.div`display:flex;flex-direction:column;align-items:flex-start;gap:${Ae}px;`;function Xs({file:e,onClickMedia:t,children:n}){const r=()=>e.type.startsWith("image")?o.createElement(ti,{src:e.url,alt:"image-message"}):e.type.startsWith("video")?o.createElement(ni,{controls:!0},o.createElement("source",{src:e.url}),o.createElement("track",{kind:"captions"})):null;if(r){const s={id:`${oe}-media-body`,onClick:()=>t==null?void 0:t(e)};return o.createElement(Qs,null,o.createElement(ei,{...s},r()),n)}return null}const Qs=h.default.div`display:flex;flex-direction:column;align-items:flex-start;gap:${Ae}px;`,ei=h.default.div`width:${ge}px;height:160px;border-radius:12px;overflow:hidden;cursor:pointer;${I.light`
53
- background-color: ${g.color.background100};
54
- `}
55
- ${I.dark`
56
- background-color: ${g.color.background400};
57
- `}
58
- `,ti=h.default.img`width:100%;height:100%;object-fit:cover;`,ni=h.default.video`width:100%;height:100%;object-fit:cover;`,ri="✱";function jn(e){const t=new RegExp(`${ri}+`,"g");return e.replace(t,n=>`<span id=${Rs} aria-label="masked-text">${n}</span>`)}function oi(e){return e.replace(/\*\*(.*?)\*\*/g,"<b>$1</b>")}function si(e){const t=/```(\w+)?\n([\s\S]*?)```/g,n=[];let r=0;return e.replace(t,(s,...a)=>{const[i,l,c]=a;return r<c&&n.push({type:"text",value:e.slice(r,c).trim()}),n.push({type:"code",value:l.trim(),language:i?i.trim():"plaintext"}),r=c+s.length,s}),r<e.length&&n.push({type:"text",value:e.slice(r).trim()}),n.map(s=>s.type!=="text"?s:{...s,value:jn(s.value)})}const ii=u.lazy(async()=>({default:(await Promise.resolve().then(()=>require("./B7GRwqPX.cjs"))).MarkdownText})),ai=u.lazy(async()=>({default:(await Promise.resolve().then(()=>require("./DlvEEpWX.cjs"))).CodeBlock}));function an(e){var s,a;const t=e.maxBodyWidth??ge,n=u.useMemo(()=>si(e.message),[e.message]),r={id:`${oe}-text-body`,$maxWidth:t,$color:(s=e.customStyle)==null?void 0:s.bubbleContentColor,$bgColor:(a=e.customStyle)==null?void 0:a.bubbleBackgroundColor};return n.length===0?e.children?o.createElement(ln,{...r},e.children):null:o.createElement(ln,{...r},n.map((i,l)=>i.type==="text"?o.createElement(cn,{key:l,variant:"body3"},o.createElement(Je,{fallback:i.value},o.createElement(ii,{onClickImage:c=>{var m;return(m=e.onClickMedia)==null?void 0:m.call(e,{url:c,type:"image/*"})}},i.value))):i.type==="code"?o.createElement(Je,{key:l,fallback:o.createElement(cn,{variant:"body3"},i.value)},o.createElement(ai,{code:i.value,language:i.language})):null),e.children)}const ln=h.default.div`display:flex;flex-direction:column;border-radius:12px;overflow:hidden;max-width:${({$maxWidth:e})=>e}px;${({theme:e,$color:t,$bgColor:n})=>S.css`
59
- color: ${t||e.colors.messageIncoming.text};
60
- background-color: ${n||e.colors.messageIncoming.background};
61
- `}
62
- padding: 12px 0;
63
- transition: max-width 0.3s;
64
- overflow-wrap: break-word;
65
- `,cn=h.default(w)`align-items:flex-start;line-height:140%;white-space:pre-wrap;padding:0 12px;`;function li(e){const{stringSet:t}=O(),n=qn(e)?o.createElement(an,{...e}):null;if(e.messageType==="user")return n;if(e.messageType==="file"){const r=e.file;return r.type.startsWith("image")||r.type.startsWith("video")?o.createElement(Xs,{...e},n):o.createElement(Zs,{...e},n)}return o.createElement(an,{...e,message:t.UNKNOWN__UNKNOWN_MESSAGE_TYPE})}function Ft({id:e,src:t,size:n=56,onClick:r,style:s}){return o.createElement(ci,{id:e,tabIndex:0,onClick:r,$size:J(n),style:s},t?o.createElement(ui,{src:t}):o.createElement($,{type:"user",size:n}))}const ci=h.default.div`border-radius:50%;display:inline-block;overflow:hidden;position:relative;flex-shrink:0;height:${e=>e.$size};width:${e=>e.$size};background-color:${g.themedColor.bg_100_500};&:focus{outline:none;}`,ui=h.default.img`object-fit:cover;width:100%;height:100%;position:absolute;`;function di({sender:e,isBotMessage:t}){const n=`${oe}-sender-avatar`;return t&&!e.profileUrl?o.createElement(mi,{id:n},o.createElement($,{type:"bot-filled",size:"100%"})):o.createElement(Ft,{id:n,size:Ze,src:e.profileUrl})}const mi=h.default.div`flex-shrink:0;width:${Ze}px;height:${Ze}px;box-sizing:border-box;padding:4px;border-radius:50%;display:flex;justify-content:center;align-items:center;background-color:${({theme:e})=>e.colors.base.primary}!important;path{fill:${({theme:e})=>e.colors.base.primaryContrastContent}!important;}}`;function gi({sender:e}){return o.createElement(hi,{id:`${oe}-sender-name`,variant:"caption1",color:g.themedColor.textMidEmphasis},e.nickname)}const hi=h.default(w)`text-align:start;width:100%;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-block:5px;padding-inline:0 7px;`;function fi({createdAt:e}){const{stringSet:t,format:n}=O();return e?o.createElement(w,{id:`${oe}-sent-time`,variant:"caption4",color:g.themedColor.textLowEmphasis},n(e,t.DATE_FORMAT__MESSAGE_TIMESTAMP)):null}function pi({customStyle:e}){return o.createElement(bi,{$bgColor:e==null?void 0:e.bubbleBackgroundColor},[0,1,2].map(t=>o.createElement(xi,{key:t,$color:e==null?void 0:e.bubbleContentColor})))}const bi=h.default.div`align-items:center;border-radius:12px;display:flex;gap:6px;justify-content:center;padding:16px 12px;background-color:${({theme:e,$bgColor:t})=>t||e.colors.messageIncoming.background};`,xi=h.default.span`animation:blink 1.4s infinite;animation-fill-mode:both;border-radius:50%;height:8px;width:8px;background:${({theme:e,$color:t})=>t||e.colors.messageIncoming.text};@keyframes blink{0%{opacity:0.12;transform:scale(1);}21.43%{opacity:0.38;transform:scale(1.2);}42.86%{opacity:0.12;transform:scale(1);}100%{opacity:0.12;transform:scale(1);}}&:nth-child(1){animation-delay:0.4s;}&:nth-child(2){animation-delay:0.6s;}&:nth-child(3){animation-delay:0.8s;}`;async function Bt(e){let t=e;t&&(!t.startsWith("http://")&&!t.startsWith("https://")&&(t="https://"+t),window.open(t,"_blank","noopener,noreferrer"))}function Ei({extendedMessagePayload:e,onClickCTA:t=({url:n})=>Bt(n)}){const n=e==null?void 0:e.cta_button;return n?o.createElement(yi,{id:`${oe}-ext-cta-button`,role:"button",onClick:()=>t(n)},o.createElement(vi,{variant:"button"},n.label)):null}const yi=h.default.div`display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:6px;padding:8px;color:${g.themedColor.textHighEmphasis};background-color:${g.color.background50};${I.dark`
66
- background-color: ${g.color.ondark.textDisabled};
67
- `}
68
- `,vi=h.default(w)`overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`;function Ci({extendedMessagePayload:e,onClickCitation:t=n=>Bt(n.link)}){const{stringSet:n}=O(),{theme:r}=Mt(),s=e==null?void 0:e.citations;return!s||s.length===0?null:o.createElement(_i,{id:`${oe}-ext-citation`},o.createElement(Si,{variant:"caption1",color:r.colors.messageIncoming.text},n.CITATION_SOURCE_TITLE),o.createElement(Ti,null,s.map((a,i)=>o.createElement(Ai,{key:`${a.embedding_id}-${i}`,role:"button",onClick:()=>t(a)},o.createElement($,{type:"source",size:16,color:r.colors.messageIncoming.text}),o.createElement(wi,{variant:"body3",color:r.colors.messageIncoming.text},a.title)))))}const _i=h.default.div`display:flex;flex-direction:column;gap:8px;border-radius:8px;padding:8px 12px 6px;`,Si=h.default(w)`opacity:0.5;`,Ti=h.default.div`display:flex;flex-direction:column;gap:8px;`,wi=h.default(w)`text-decoration:underline;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`,Ai=h.default.div`display:flex;align-items:center;gap:4px;cursor:pointer;&:hover{opacity:0.5;}`,Kn=({rootElementId:e,visible:t,onClose:n,children:r})=>{if(!t)return null;const{rootElement:s}=Bn(),a=me(s),i=me(s,!0);return Br.createPortal(o.createElement(ki,{onClick:n},o.createElement($i,{onClick:l=>l.stopPropagation()},r)),a.getElementById(e)??a.getElementById(ne.MODAL_ROOT)??i.body)},ki=h.default.div`position:fixed;top:0;left:0;width:100%;height:100%;background:${g.color.overlay.dark};display:flex;justify-content:center;align-items:center;z-index:${be.MODAL};`,$i=h.default.div`border-radius:4px;overflow:hidden;box-shadow:0 16px 24px 2px rgba(13,13,13,0.12),0 6px 30px 5px rgba(13,13,13,0.08),0 6px 10px -5px rgba(13,13,13,0.04);z-index:${be.MODAL};`,Yn=({visible:e,title:t,description:n,confirmText:r="OK",onConfirm:s,onClose:a})=>{const i=()=>{s==null||s(),a()};return o.createElement(Kn,{rootElementId:ne.WINDOW,visible:e,onClose:a},o.createElement(Ii,null,o.createElement(Mi,null,t&&o.createElement(w,{variant:"h1",color:g.themedColor.textHighEmphasis},t),n&&o.createElement(Li,null,o.createElement(w,{variant:"subtitle2",color:g.themedColor.textHighEmphasis},n))),o.createElement(Oi,null,o.createElement(Ri,{onClick:i},o.createElement(w,{variant:"button",color:g.themedColor.primary},r)))))},Ii=h.default.div`width:100%;height:auto;padding-block:24px 12px;padding-inline:24px;margin:0 auto;border-radius:4px;box-sizing:border-box;background-color:${({theme:e})=>e.colors.base.modalContentBackground};`,Mi=h.default.div`margin-bottom:16px;`,Li=h.default.div`margin-top:8px;`,Oi=h.default.div`display:flex;flex-direction:row;justify-content:flex-end;`,Ri=h.default.button`all:unset;display:flex;justify-content:center;align-items:center;border-radius:4px;cursor:pointer;background-color:transparent;padding:10px 16px;`,Ut=S.css`width:100%;height:36px;border-radius:6px;cursor:pointer;transition:all 0.2s ease;padding:0 12px;border:none;outline:none;display:flex;align-items:center;justify-content:center;&:disabled{cursor:not-allowed;}`,un=h.default.button`${Ut};background-color:${g.themedColor.primary};color:${g.themedColor.textHighEmphasis};&:hover:not(:disabled){opacity:0.9;}`,Di=h.default.button`${Ut};color:${g.themedColor.primary};${I.light`
69
- background-color: ${g.color.background50};
70
- `};
71
- ${I.dark`
72
- background-color: ${g.color.background700};
73
- `};
74
-
75
- &:hover:not(:disabled) {
76
- opacity: 0.9;
77
- }
78
- `,Pi=h.default.button`${Ut};background-color:transparent;color:${g.themedColor.textHighEmphasis};&:hover:not(:disabled){opacity:0.7;}`,Ni=e=>{switch(e){case"primary":return un;case"secondary":return Di;case"clear":return Pi;default:return un}},Fi=h.default.div`animation:1s infinite linear;animation-name:rotate;display:flex;align-items:center;justify-content:center;@keyframes rotate{from{transform:rotate(0);}to{transform:rotate(360deg);}}`,Bi=({children:e,onClick:t,variant:n="primary",disabled:r=!1,loading:s=!1,className:a})=>{const i=()=>{switch(n){case"primary":return g.themedColor.textHighEmphasisInverse;case"secondary":return g.themedColor.primary;case"clear":return g.themedColor.textHighEmphasis;default:return g.themedColor.textHighEmphasisInverse}},l=Ni(n);return o.createElement(l,{onClick:t,disabled:r||s,className:a},s?o.createElement(Fi,null,o.createElement($,{type:"spinner",size:22,color:i()})):o.createElement(w,{variant:"button",color:i()},e))},Ui=({children:e,className:t,style:n})=>o.createElement(w,{variant:"caption4",color:g.themedColor.error,className:t,style:n},e),Hi=({children:e,className:t,style:n,required:r})=>{const{stringSet:s}=O();return o.createElement(w,{variant:"caption3",color:g.themedColor.textMidEmphasis,className:t,style:n},e,!r&&o.createElement("span",{style:{color:g.themedColor.textLowEmphasis}},` (${s.OPTIONAL})`))},Vi=({value:e,onChange:t,placeholder:n,error:r=!1,submitted:s=!1,className:a,disabled:i=!1,max:l})=>{const c=p=>{const E=p.target.value.replace(/[^0-9.-]/g,""),y=E.split("."),x=y.length>1?y[0]+"."+y.slice(1).join("").replace(/\./g,""):E;if(p.target.value=x,x===""||x==="-")t==null||t(null);else{const d=Number(x);if(!isNaN(d)){if(l!==void 0&&d>l)return;t==null||t(d)}}},m=e==null?"":String(e);return o.createElement(ji,{type:"text",value:m,onChange:c,placeholder:n,className:a,disabled:i||s,inputMode:"decimal",$error:r,$submitted:s})},zi=S.css`width:100%;height:36px;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:400;line-height:1.43;outline:none;transition:all 0.2s ease;&::placeholder{color:${g.themedColor.textLowEmphasis};}&::-webkit-inner-spin-button,&::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}`,Wi=S.css`color:${g.themedColor.textHighEmphasis};border:1px solid transparent;cursor:not-allowed;${I.light`
79
- background-color: ${g.color.ondark.textMidEmphasis};
80
- `}
81
- ${I.dark`
82
- background-color: ${g.color.onlight.textLowEmphasis};
83
- `}
84
-
85
- &::placeholder {
86
- color: ${g.themedColor.textLowEmphasis};
87
- }
88
- `,Gi=S.css`border:1px solid ${g.themedColor.error};color:${g.themedColor.textHighEmphasis};${I.light`
89
- background-color: ${g.color.background50};
90
- `}
91
- ${I.dark`
92
- background-color: ${g.color.onlight.textLowEmphasis};
93
- `}
94
- `,qi=S.css`border:1px solid ${g.themedColor.textDisabled};color:${g.themedColor.textHighEmphasis};${I.light`
95
- background-color: ${g.color.background50};
96
- `}
97
- ${I.dark`
98
- background-color: ${g.color.onlight.textLowEmphasis};
99
- `}
100
-
101
- &:focus {
102
- border-color: ${g.themedColor.primary};
103
- }
104
- `,ji=h.default.input`${zi}${({$error:e,$submitted:t})=>t?Wi:e?Gi:qi}`,Ki=e=>{if(e.multiple){const{value:t=[],onChange:n,maxSelect:r,submitted:s=!1}=e;return{selectedValues:t,handleOptionClick:i=>{if(s)return;if(t.includes(i)){const c=t.filter(m=>m!==i);n==null||n(c)}else{if(r&&t.length>=r)return;const c=[...t,i];n==null||n(c)}}}}else{const{value:t,onChange:n,submitted:r=!1}=e;return{selectedValues:t?[t]:[],handleOptionClick:a=>{if(r)return;const i=t===a?"":a;n==null||n(i)}}}},Zn=e=>{const{options:t,submitted:n=!1,error:r=!1,className:s}=e,{selectedValues:a,handleOptionClick:i}=Ki(e);return o.createElement(Zi,{className:s},t.map(l=>{const c=a.includes(l.value);return o.createElement(ra,{key:l.value,$active:c,$submitted:n,$error:r,onClick:()=>i(l.value)},o.createElement(w,{variant:"caption1",color:Yi(c,n)},l.label))}))},Yi=(e,t)=>t?e?g.themedColor.textHighEmphasis:g.themedColor.textDisabled:e?g.themedColor.primary:g.themedColor.textMidEmphasis,Zi=h.default.div`display:flex;flex-wrap:wrap;gap:4px 2px;`,Ji=S.css`display:inline-flex;align-items:center;padding:8px 12px;border-radius:15px;transition:all 0.2s ease;`,Xi=S.css`cursor:default;background-color:${g.color.ondark.textMidEmphasis};color:${g.themedColor.textHighEmphasis};${I.dark`
105
- background-color: transparent;
106
- border: 1px solid white;
107
- color: white;
108
- `}
109
- `,Qi=S.css`cursor:default;${I.light`
110
- background-color: ${g.color.ondark.textMidEmphasis};
111
- color: ${g.themedColor.textDisabled};
112
- `}
113
- ${I.dark`
114
- background-color: ${g.color.onlight.textLowEmphasis};
115
- border: 1px solid ${g.color.onlight.textLowEmphasis};
116
- color: ${g.themedColor.textDisabled};
117
- `}
118
- `,ea=S.css`cursor:pointer;border:1px solid ${g.themedColor.primary};${I.light`
119
- background-color: ${g.color.background50};
120
- color: ${g.themedColor.primary};
121
- `}
122
- ${I.dark`
123
- background-color: ${g.color.onlight.textLowEmphasis};
124
- color: ${g.themedColor.primary};
125
- `}
126
- `,ta=S.css`cursor:pointer;border:1px solid ${g.themedColor.textDisabled};${I.light`
127
- background-color: ${g.color.background50};
128
- color: ${g.themedColor.textMidEmphasis};
129
- `}
130
- ${I.dark`
131
- background-color: ${g.color.onlight.textLowEmphasis};
132
- color: ${g.themedColor.textMidEmphasis};
133
- `}
134
- `,na=S.css`border-color:${g.themedColor.error}!important;`,ra=h.default.div`${Ji}${({$active:e,$submitted:t,$error:n})=>{if(t)return e?Xi:Qi;const r=e?ea:ta;return n?S.css`
135
- ${r} ${na}
136
- `:r}}
137
- `,oa=e=>o.createElement(Zn,{...e,multiple:!1}),sa=e=>o.createElement(Zn,{...e,multiple:!0}),ia=h.default.div`width:100%;height:1px;background-color:${g.themedColor.textDisabled};`,aa=({className:e})=>o.createElement(ia,{className:e}),la=({value:e="",onChange:t,placeholder:n,variant:r="single-line",error:s=!1,submitted:a=!1,className:i,disabled:l=!1,maxLength:c})=>{const p={value:e,onChange:f=>{const E=f.target.value;c&&E.length>c||t==null||t(E)},placeholder:n,className:i,disabled:l||a,maxLength:c,$error:s,$submitted:a};return r==="multi-line"?o.createElement(ua,{...p}):o.createElement(ca,{...p})},Jn=S.css`width:100%;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:400;line-height:1.43;outline:none;transition:all 0.2s ease;&::placeholder{color:${g.themedColor.textLowEmphasis};}`,Xn=S.css`color:${g.themedColor.textHighEmphasis};border:1px solid transparent;cursor:not-allowed;${I.light`
138
- background-color: ${g.color.ondark.textMidEmphasis};
139
- `}
140
- ${I.dark`
141
- background-color: ${g.color.onlight.textLowEmphasis};
142
- `}
143
-
144
- &::placeholder {
145
- color: ${g.themedColor.textLowEmphasis};
146
- }
147
- `,Qn=S.css`border:1px solid ${g.themedColor.error};color:${g.themedColor.textHighEmphasis};${I.light`
148
- background-color: ${g.color.background50};
149
- `}
150
- ${I.dark`
151
- background-color: ${g.color.onlight.textLowEmphasis};
152
- `}
153
- `,er=S.css`border:1px solid ${g.themedColor.textDisabled};color:${g.themedColor.textHighEmphasis};${I.light`
154
- background-color: ${g.color.background50};
155
- `}
156
- ${I.dark`
157
- background-color: ${g.color.onlight.textLowEmphasis};
158
- `}
159
-
160
- &:focus {
161
- border-color: ${g.themedColor.primary};
162
- }
163
- `,ca=h.default.input`${Jn};height:36px;${({$error:e,$submitted:t})=>t?Xn:e?Qn:er}`,ua=h.default.textarea`${Jn};height:96px;resize:none;font-family:inherit;${({$error:e,$submitted:t})=>t?Xn:e?Qn:er}`,da=({children:e,className:t,style:n})=>o.createElement(w,{variant:"button",color:g.themedColor.textHighEmphasis,className:t,style:n},e),V={Title:da,Label:Hi,ErrorLabel:Ui,Separator:aa,Button:Bi,TextInput:la,NumberInput:Vi,SingleSelect:oa,MultiSelect:sa},ma=1,ga=new Set(["text","number","single-select","multi-select"]),ha=e=>{var d;const t=(d=e.extendedMessagePayload)==null?void 0:d.form;if(!t)throw new Error("Form is not provided");const{stringSet:n}=O(),[r,s]=u.useState({submitting:!1,canceling:!1}),[a,i]=u.useState({visible:!1}),{state:l,fields:c,submit:m,cancel:p,updateFieldValue:f}=rs(t,{labels:{required:n.FORM_VALIDATION_REQUIRED,regex:n.FORM_VALIDATION_REGEX_FAILED,minLength:n.FORM_VALIDATION_MIN_LENGTH,maxLength:n.FORM_VALIDATION_MAX_LENGTH,min:n.FORM_VALIDATION_MIN,max:n.FORM_VALIDATION_MAX,minSelect:n.FORM_VALIDATION_MIN_SELECT,maxSelect:n.FORM_VALIDATION_MAX_SELECT},onSubmit:b=>{var C;return(C=e.onSubmitForm)==null?void 0:C.call(e,{key:t.key,data:b})},onCancel:()=>{var b;return(b=e.onCancelForm)==null?void 0:b.call(e,{key:t.key})}}),E=l==="submitted",y=async()=>{s(b=>({...b,submitting:!0}));try{await m()}catch(b){i({visible:!0,description:b instanceof Error?b.message:n.TRY_AGAIN})}finally{s(b=>({...b,submitting:!1}))}},v=async()=>{s(b=>({...b,canceling:!0}));try{await p()}catch(b){i({visible:!0,description:b instanceof Error?b.message:n.TRY_AGAIN})}finally{s(b=>({...b,canceling:!1}))}},x=u.useMemo(()=>{const b=()=>t.version>ma,C=()=>t.fields.some(_=>!ga.has(_.type));return b()||C()?{visible:!1,cancelable:!0,reason:n.FORM_NOT_SUPPORTED}:l==="draft"&&(e.isHandedOff||e.isConversationClosed)?{visible:!1,cancelable:!1,reason:n.FORM_UNAVAILABLE}:{visible:!0,cancelable:!0,reason:""}},[t.version,t.fields,l,e.isHandedOff,e.isConversationClosed]);return l==="canceled"?null:x.visible?o.createElement(u.Fragment,null,o.createElement(dn,{$maxWidth:e.maxBodyWidth??ge},o.createElement(V.Title,null,t.title),o.createElement(fa,null,c.map(b=>o.createElement(pa,{key:b.key},o.createElement(V.Label,{style:{marginBottom:"6px"},required:b.required},b.label),b.type==="text"&&o.createElement(V.TextInput,{value:b.value||"",placeholder:b.placeholder,onChange:C=>f(b.key,C),disabled:E,error:!!b.error,submitted:E,variant:b.layout==="multiline"?"multi-line":"single-line",maxLength:b.maxLength}),b.type==="number"&&o.createElement(V.NumberInput,{value:b.value||null,placeholder:b.placeholder,onChange:C=>f(b.key,C),disabled:E,error:!!b.error,submitted:E,max:b.max}),b.type==="single-select"&&o.createElement(V.SingleSelect,{options:b.options.map(C=>({label:C,value:C})),value:b.value||"",onChange:C=>f(b.key,C),submitted:E}),b.type==="multi-select"&&o.createElement(V.MultiSelect,{options:b.options.map(C=>({label:C,value:C})),value:b.value||[],onChange:C=>f(b.key,C),submitted:E,maxSelect:b.maxSelect}),b.error&&o.createElement(V.ErrorLabel,{style:{marginTop:"4px"}},b.error)))),o.createElement(V.Separator,null),o.createElement(ba,null,o.createElement(V.Button,{variant:E?"clear":"primary",onClick:y,disabled:E||r.canceling,loading:r.submitting},E?n.SUBMITTED:n.BUTTON__SUBMIT),l!=="submitted"&&o.createElement(V.Button,{variant:"secondary",onClick:v,disabled:r.submitting,loading:r.canceling},n.BUTTON__CANCEL))),o.createElement(Yn,{...a,onClose:()=>i({visible:!1,title:""})})):o.createElement(dn,{$maxWidth:e.maxBodyWidth??ge},o.createElement(w,{variant:"body3"},x.reason),x.cancelable&&o.createElement(V.Button,{variant:"primary",onClick:v,loading:r.canceling},n.BUTTON__CANCEL))},dn=h.default.div`display:flex;flex-direction:column;gap:12px;border-radius:12px;overflow:hidden;max-width:${({$maxWidth:e})=>e}px;${({theme:e})=>S.css`
164
- color: ${e.colors.messageIncoming.text};
165
- background-color: ${e.colors.messageIncoming.background};
166
- `}
167
- padding: 16px 12px;
168
- transition: max-width 0.3s;
169
- overflow-wrap: break-word;
170
- `,fa=h.default.div`display:flex;flex-direction:column;gap:12px;`,pa=h.default.div`display:flex;flex-direction:column;`,ba=h.default.div`display:flex;flex-direction:column;gap:8px;`;function xa(e){return o.createElement(o.Fragment,null)}const Ea=new Set(["default"]),{MessageTemplate:ya}=Ur.createMessageTemplate({parser:bt.parser,renderer:bt.renderer,Container:e=>o.createElement("div",{...e})});function va(e){return o.createElement(Je,{errorFallback:e.messageTemplateErrorFallback,loadingFallback:e.messageTemplateLoadingFallback},o.createElement(Ca,{...e}))}const Ca=({extendedMessagePayload:e,onGetCachedMessageTemplate:t=()=>null,onRequestMessageTemplate:n,onHandleTemplateInternalAction:r=ae})=>{const s=e==null?void 0:e.message_template;if(!Ea.has((s==null?void 0:s.type)??"default"))throw new Error("Unsupported template type");if(!n)throw new Error("onRequestMessageTemplate is required");const{theme:i}=Bn(),l=Ko({onRequestTemplate:n,onGetCachedTemplate:t,theme:i.selectedTheme,templateKey:(s==null?void 0:s.key)??"invalid",variables:s==null?void 0:s.variables,viewVariables:s==null?void 0:s.view_variables,aiAgentColorVariables:i.aiAgentColorVariables});return o.createElement(_a,{id:`${oe}-ext-message-template`},o.createElement(bt.MessageProvider,{handleInternalAction:(c,m)=>{c.stopPropagation(),r==null||r(m)}},o.createElement(ya,{templateItems:l.body.items,templateVersion:l.version})))},_a=h.default.div`box-sizing:border-box;overflow:hidden;width:100%;`;function Sa({extendedMessagePayload:e,onClickSuggestedReply:t,suggestedRepliesDirection:n="vertical"}){const[r,s]=u.useState(!1),a=(e==null?void 0:e.suggested_replies)??[];return a.length===0||r?null:o.createElement(Ta,{id:`${oe}-ext-suggested-replies`,$type:n},a.map((i,l)=>o.createElement(wa,{key:l,$type:n,variant:"body3",onClick:()=>{t&&(t==null||t({reply:i}),s(!0))}},i)))}const Ta=h.default.div`margin:16px 0;padding:0 ${re}px;position:relative;display:flex;align-self:stretch;gap:8px;${({$type:e})=>e==="vertical"?Aa:ka};`,wa=h.default(w)`box-sizing:border-box;padding:8px 12px;display:flex;align-items:center;border-radius:20px / clamp(20px,5%,100px);cursor:pointer;word-break:break-word;color:${g.color.primary.main};border:1px solid ${g.color.primary.main};background-color:${g.themedColor.bg_50_600};&:hover{background-color:${g.themedColor.bg_100_500};}${({$type:e,theme:t})=>S.css`
171
- ${e==="vertical"?$a:Ia};
172
- &:active {
173
- background-color: ${t.colors.base.primary};
174
- color: ${t.colors.base.primaryContrastContent};
175
- }
176
- `}
177
- `,Aa=S.css`flex-direction:column;align-items:flex-end;`,ka=S.css`flex-direction:row;overflow-x:scroll;-ms-overflow-style:none;scrollbar-width:none;&::-webkit-scrollbar{display:none;}`,$a=S.css`max-width:calc(100% - 70px);white-space:pre-wrap;`,Ia=S.css`white-space:nowrap;`,he=pe({template:Ma,components:{SenderName:gi,SenderAvatar:di,SentTime:fi,MessageBody:li,TypingIndicator:pi,SuggestedReplies:Sa,MessageTemplate:va,CTAButton:Ei,Citation:Ci,Form:ha,MessageLogs:xa}});function Ma(e){return o.createElement(tr,{...e,testerMode:!1})}function tr(e){var E,y,v,x,d,b,C;const{components:t}=he.useContext(),n=!!e.isTyping,r=e.testerMode,s=!!((E=e.extendedMessagePayload)!=null&&E.form)&&!((y=e.extendedMessagePayload)!=null&&y.form.canceled_at),a=!!((v=e.extendedMessagePayload)!=null&&v.message_template),i=!!((x=e.extendedMessagePayload)!=null&&x.cta_button),l=!!((d=e.extendedMessagePayload)!=null&&d.citations)&&e.extendedMessagePayload.citations.length>0,c=!!e.createdAt,m=e.groupType==="top"||e.groupType==="single",p=e.groupType==="bottom"||e.groupType==="single",f=r?0:Ze;return o.createElement(La,{$marginBottom:n?0:Dt(e.groupType)},m&&o.createElement(Oa,null,!r&&o.createElement(t.SenderAvatar,{...e}),o.createElement(t.SenderName,{...e})),o.createElement(Da,null,o.createElement(ht,{$extraStartPadding:f},n?o.createElement(t.TypingIndicator,{...e}):o.createElement(t.MessageBody,{...e},i&&o.createElement("div",{style:{marginTop:12,marginInline:12}},o.createElement(t.CTAButton,{...e})),l&&o.createElement(t.Citation,{...e}))),a&&o.createElement(mn,{$startPadding:0,$endPadding:0},o.createElement(t.MessageTemplate,{...e,messageTemplateErrorFallback:e.messageTemplateErrorFallback??o.createElement(ht,{$extraStartPadding:f},o.createElement(t.MessageBody,{...e,messageType:"user",message:((C=(b=e.extendedMessagePayload)==null?void 0:b.message_template)==null?void 0:C.fallback_message)??"Cannot read this template."})),messageTemplateLoadingFallback:e.messageTemplateLoadingFallback??o.createElement(ht,{$extraStartPadding:f},o.createElement(t.TypingIndicator,{...e}))})),s&&o.createElement(mn,{$extraStartPadding:f},o.createElement(t.Form,{...e}))),p&&c&&o.createElement(Ra,{$extraStartPadding:f+8},o.createElement(t.SentTime,{...e})),o.createElement(u.Fragment,null,e.suggestedRepliesVisible&&o.createElement(t.SuggestedReplies,{...e}),o.createElement(t.MessageLogs,{...e})))}const La=h.default.div`display:flex;flex-direction:column;align-items:flex-start;margin-bottom:${({$marginBottom:e})=>`${e}px`};
178
- `,rt=h.default.div`display:flex;align-self:stretch;justify-content:flex-start;${({$startPadding:e=re,$endPadding:t=re,$extraStartPadding:n=0})=>`
179
- padding-inline: ${e+n}px ${t}px;
180
- `}
181
- `,Oa=h.default(rt)`display:flex;flex-direction:row;align-items:center;gap:8px;`,ht=h.default(rt)`display:flex;`,Ra=h.default(rt)`margin-top:${Gn}px;display:flex;align-items:flex-start;justify-content:flex-start;`,mn=h.default(rt)`display:flex;${({$startPadding:e=re,$endPadding:t=re,$extraStartPadding:n=0})=>`
182
- padding-inline: ${e+n}px ${t}px;
183
- `}
184
- `,Da=h.default.div`display:flex;flex-direction:column;gap:${Ae}px;`;function Pa({file:e,children:t,onClickFile:n}){return o.createElement(Na,null,o.createElement(Nt,{name:e.name,type:Pt(e.name,e.type),onClick:n&&(()=>n==null?void 0:n(e))}),t)}const Na=h.default.div`display:flex;flex-direction:column;align-items:flex-end;gap:${Ae}px;`,Ht=({className:e,children:t,size:n=26})=>o.createElement(Fa,{className:e,$size:n},t??o.createElement($,{type:"spinner",size:n})),Fa=h.default.div`display:flex;align-items:center;justify-content:center;width:${({$size:e})=>J(e)};height:${({$size:e})=>J(e)};animation:1s infinite linear;animation-name:rotate;@keyframes rotate{from{transform:rotate(0);}to{transform:rotate(360deg);}}`;function Ba({file:e,metadata:t,onClickMedia:n,children:r}){const{aspectRatio:s,localFile:a}=t,[i]=u.useState(()=>a instanceof File?URL.createObjectURL(a):e.url),[l,c]=u.useState(!1),m={onClick:()=>n==null?void 0:n(e),$ratio:s};return o.createElement(Ua,null,o.createElement(Ha,{...m},!l&&o.createElement(Ht,{size:26},o.createElement($,{type:"spinner",color:"textLowEmphasis",size:26})),o.createElement(Va,{$loaded:l,src:i,alt:"image-message",onLoad:()=>c(!0)})),r)}const Ua=h.default.div`display:flex;flex-direction:column;align-items:flex-end;gap:${Ae}px;`,Ha=h.default.div`width:${ge}px;border-radius:12px;overflow:hidden;cursor:pointer;height:auto;aspect-ratio:${e=>e.$ratio};position:relative;display:flex;align-items:center;justify-content:center;${I.light`
185
- background-color: ${g.color.background100};
186
- `}
187
- ${I.dark`
188
- background-color: ${g.color.background400};
189
- `}
190
- `,Va=h.default.img`position:absolute;width:100%;height:100%;inset-block-start:0;inset-inline-start:0;object-fit:cover;opacity:${e=>e.$loaded?1:0};transition:opacity 0.5s ease;`;function gn(e){var n,r;const t=u.useMemo(()=>{const s=oi(jn(e.message));return An.default.sanitize(s)},[e.message]);return o.createElement(za,{$maxWidth:e.maxBodyWidth??ge,$color:(n=e.customStyle)==null?void 0:n.bubbleContentColor,$bgColor:(r=e.customStyle)==null?void 0:r.bubbleBackgroundColor},o.createElement(Wa,{variant:"body3",dangerouslySetInnerHTML:{__html:t}}))}const za=h.default.div`display:flex;flex-direction:column;border-radius:12px;overflow:hidden;max-width:${({$maxWidth:e})=>e}px;${({theme:e,$color:t,$bgColor:n})=>S.css`
191
- color: ${t||e.colors.messageOutgoing.text};
192
- background-color: ${n||e.colors.messageOutgoing.background};
193
- `}
194
- padding: 12px 0;
195
- transition: max-width 0.3s;
196
- overflow-wrap: break-word;
197
- `,Wa=h.default(w)`align-items:flex-start;line-height:140%;white-space:pre-wrap;padding:0 12px;`;function Ga(e){const{stringSet:t}=O(),n=qn(e)?o.createElement(gn,{...e}):null;return e.messageType==="user"?n:e.messageType==="file"?e.file.type.startsWith("image")?o.createElement(Ba,{...e},n):o.createElement(Pa,{...e},n):o.createElement(gn,{...e,message:t.UNKNOWN__UNKNOWN_MESSAGE_TYPE})}function qa({sendingStatus:e}){const t=S.useTheme();switch(e){case"pending":return o.createElement(ja,{size:16},o.createElement($,{type:"spinner",color:t.colors.messageOutgoing.background,size:16}));case"failed":return o.createElement("div",{style:{marginBottom:2}},o.createElement($,{type:"error",color:g.themedColor.error,size:16}));case"scheduled":case"canceled":return null;default:return o.createElement("div",null,o.createElement($,{type:"chevron-down"}))}}const ja=h.default(Ht)`margin-bottom:2px;width:16px;height:16px;`;function Ka({createdAt:e}){const{stringSet:t,format:n}=O();return e?o.createElement(w,{variant:"caption4",color:g.themedColor.textLowEmphasis},n(e,t.DATE_FORMAT__MESSAGE_TIMESTAMP)):null}const ot=pe({template:Ya,components:{SendingStatus:qa,SentTime:Ka,MessageBody:Ga}});function Ya(e){const{components:t}=ot.useContext(),n=e.sendingStatus==="succeeded",r=e.groupType==="bottom"||e.groupType==="single";return o.createElement(Za,{$marginBottom:Dt(e.groupType)},o.createElement(Ja,null,o.createElement(t.MessageBody,{...e})),r&&o.createElement(Xa,{$extraEndPadding:8},n?o.createElement(t.SentTime,{...e}):o.createElement(t.SendingStatus,{...e})))}const Za=h.default.div`display:flex;flex:1;flex-direction:column;align-items:flex-end;margin-bottom:${({$marginBottom:e})=>`${e}px`};
198
- `,nr=h.default.div`display:flex;align-self:stretch;justify-content:flex-end;${({$startPadding:e=re,$endPadding:t=re,$extraEndPadding:n=0})=>`padding-inline: ${e}px ${t+n}px;`};
199
- `,Ja=h.default(nr)``,Xa=h.default(nr)`margin-top:${Gn}px;`;function Qa(e){return e.messageType!=="admin"?null:o.createElement(el,null,o.createElement(w,{variant:"caption2",color:g.themedColor.textMidEmphasis},tl(An.default.sanitize(e.message))))}const el=h.default.div`text-align:center;text-wrap:pretty;word-break:break-word;a{text-decoration:none;color:inherit;}`,tl=e=>{try{const t=[];let n=e,r=0;for(;n;){const s=n.match(/\[([^\]]+)\]\((https?:\/\/[^\s]+)\)/),a=n.match(/\*\*([^*]+)\*\*/),i=[s&&{match:s,type:"link"},a&&{match:a,type:"bold"}].filter(f=>!!f);if(!i.length){t.push(n);break}const l=i.reduce((f,E)=>E.match.index<f.match.index?E:f),{match:c,type:m}=l,p=c.index;p>0&&t.push(n.slice(0,p)),m==="link"?t.push(o.createElement("a",{key:r++,href:c[2],target:"_blank",rel:nt},c[1])):m==="bold"&&t.push(o.createElement("strong",{key:r++},c[1])),n=n.slice(p+c[0].length)}return t.filter(s=>s!=="")}catch{return[e]}},rr=({onClick:e,checked:t,label:n,disabled:r,labelVariant:s="caption2"})=>{const a=t?g.color.primary.main:r?g.themedColor.textDisabled:g.themedColor.textLowEmphasis,i=t?g.themedColor.textHighEmphasis:r?g.themedColor.textLowEmphasis:g.themedColor.textHighEmphasis;return o.createElement(ol,{onClick:e,disabled:r},o.createElement(nl,null,o.createElement($,{size:20,type:t?"radio-on":"radio-off",color:a})),o.createElement(rl,{variant:s,color:i},n))},nl=h.default.div`width:20px;height:20px;`,rl=h.default(w)`line-height:20px;word-break:break-word;`,ol=h.default.button`all:unset;display:flex;align-items:flex-start;justify-content:flex-start;gap:2px;&:enabled{cursor:pointer;}`,sl=({csatPayload:e,submitted:t,defaultValue:n,value:r,onChange:s})=>(u.useEffect(()=>{typeof r>"u"&&typeof n=="boolean"&&(s==null||s(n))},[r,n]),e.cre?o.createElement(il,null,o.createElement(w,{variant:"caption3",color:g.themedColor.textMidEmphasis},e.cre.question),o.createElement(al,null,[{label:e.cre.positive_label,value:!0},{label:e.cre.negative_label,value:!1}].map(a=>o.createElement(rr,{key:a.label,checked:r===a.value,label:a.label,disabled:t,onClick:()=>s==null?void 0:s(a.value)})))):null),il=h.default.div`display:flex;flex-direction:column;gap:8px;`,al=h.default.div`display:flex;flex-direction:column;gap:8px;`,ll=({followUpItem:e,submitted:t,value:n="",onChange:r,hasError:s})=>{const{stringSet:a}=O();return o.createElement(cl,null,o.createElement(V.Label,{required:e.required},e.question),e.response_type==="free_text"&&o.createElement(V.TextInput,{variant:"multi-line",disabled:t,submitted:t,maxLength:100,value:n,onChange:i=>r(i),error:s}),e.response_type==="single_choice"&&o.createElement(ul,null,e.options.map(i=>o.createElement(rr,{key:i,checked:n===i,label:i,disabled:t,onClick:()=>r==null?void 0:r(i),labelVariant:"body3"}))),s&&o.createElement(V.ErrorLabel,null,a.FORM_VALIDATION_REQUIRED))},cl=h.default.div`display:flex;flex-direction:column;gap:8px;`,ul=h.default.div`display:flex;flex-direction:column;gap:8px;`;function fe(e){return e()}const dl=({value:e,selected:t,label:n})=>o.createElement(ml,{$selected:t,"aria-label":n},gl[e-1]),ml=h.default.div`user-select:none;-webkit-user-drag:none;width:40px;height:40px;aspect-ratio:1;opacity:${({$selected:e})=>e?1:.38};`,gl=[o.createElement("svg",{width:"40",height:"40",viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o.createElement("path",{d:"M2.08337 19.9999C2.08337 10.1048 10.1049 2.08325 20 2.08325C29.8952 2.08325 37.9167 10.1048 37.9167 19.9999C37.9167 29.8951 29.8952 37.9166 20 37.9166C10.1049 37.9166 2.08337 29.8951 2.08337 19.9999Z",fill:"url(#paint0_linear_159_173206)"}),o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12.5828 29.3328C13.1348 29.7473 13.9184 29.636 14.3329 29.084C15.6272 27.3607 17.6839 26.25 20 26.25C22.3164 26.25 24.373 27.3607 25.6672 29.084C26.0819 29.636 26.8654 29.7473 27.4175 29.3328C27.9695 28.9182 28.0809 28.1347 27.6662 27.5825C25.9202 25.2577 23.136 23.75 20 23.75C16.8642 23.75 14.0801 25.2577 12.334 27.5825C11.9194 28.1347 12.0308 28.9182 12.5828 29.3328Z",fill:"#141B34"}),o.createElement("path",{d:"M28.4454 13.7707C29.1329 13.8328 29.6405 14.4406 29.5785 15.1281C29.5165 15.8153 28.9095 16.3221 28.2224 16.2608C28.2224 16.2608 28.0287 16.2502 27.9272 16.2487C27.7229 16.2457 27.4387 16.2509 27.1229 16.2833C26.7869 16.3177 26.4649 16.3782 26.1804 16.4662L26.3045 16.86C26.7797 18.3675 25.5099 19.5813 24.2062 19.5813C23.5045 19.5813 22.8324 19.2617 22.43 18.6857C22.003 18.0745 21.9422 17.241 22.408 16.5344C22.751 16.0143 23.2449 15.3831 23.8964 14.8657C24.836 14.1195 26.044 13.8809 26.8675 13.7963C27.3029 13.7517 28.0154 13.7319 28.4454 13.7707Z",fill:"#141B34"}),o.createElement("path",{d:"M11.5549 13.7707C10.8674 13.8328 10.3597 14.4406 10.4218 15.1281C10.4838 15.8153 11.0908 16.3221 11.7779 16.2608C11.7779 16.2608 11.9716 16.2502 12.073 16.2487C12.2774 16.2457 12.5616 16.2509 12.8774 16.2833C13.2134 16.3177 13.5353 16.3782 13.8199 16.4662L13.6958 16.86C13.2205 18.3675 14.4904 19.5813 15.794 19.5813C16.4958 19.5813 17.168 19.2617 17.5703 18.6857C17.9971 18.0745 18.0581 17.241 17.5921 16.5344C17.2493 16.0143 16.7553 15.3831 16.1039 14.8657C15.1643 14.1195 13.9562 13.8809 13.1327 13.7963C12.6974 13.7517 11.9849 13.7319 11.5549 13.7707Z",fill:"#141B34"}),o.createElement("defs",null,o.createElement("linearGradient",{id:"paint0_linear_159_173206",x1:"20",y1:"2.08325",x2:"20",y2:"37.9166",gradientUnits:"userSpaceOnUse"},o.createElement("stop",{stopColor:"#FF2D1D"}),o.createElement("stop",{offset:"1",stopColor:"#FFA540"})))),o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"40",height:"40",viewBox:"0 0 40 40",fill:"none"},o.createElement("path",{d:"M2.083 20C2.083 10.105 10.105 2.083 20 2.083c9.895 0 17.917 8.021 17.917 17.917 0 9.895-8.022 17.917-17.917 17.917C10.105 37.917 2.083 29.895 2.083 20Z",fill:"#FFD46E"}),o.createElement("path",{d:"M14.249 27.334C15.851 26.13 17.844 25.417 20 25.417c2.156 0 4.149.714 5.751 1.917.553.415.664 1.199.25 1.751-.415.552-1.199.664-1.751.25-1.183-.889-2.652-1.416-4.25-1.416s-3.067.527-4.25 1.416c-.553.414-1.336.302-1.751-.25-.415-.552-.303-1.336.249-1.751Z",fill:"#141B34"}),o.createElement("path",{d:"M23.445 14.596c-.687.062-1.294-.445-1.356-1.132-.062-.687.445-1.295 1.132-1.357.082-.005.342-.02.482-.022.277-.004.662.002 1.097.047.823.085 2.031.323 2.97 1.07.652.518 1.146 1.15 1.489 1.67.466.706.405 1.54-.022 2.15-.402.576-1.074.896-1.775.896-1.304 0-2.573-1.214-2.098-2.722l.125-.394c-.285-.088-.607-.148-.942-.182-.316-.033-.6-.038-.804-.035-.101.002-.242.01-.294.013Z",fill:"#141B34"}),o.createElement("path",{d:"M11.779 14.596c-.687.062-1.294-.445-1.356-1.132-.062-.687.445-1.295 1.132-1.357.082-.005.342-.02.482-.022.277-.004.662.002 1.097.047.823.085 2.031.323 2.97 1.07.652.518 1.146 1.15 1.489 1.67.466.706.405 1.54-.022 2.15-.402.576-1.074.896-1.775.896-1.304 0-2.573-1.214-2.098-2.722l.124-.394c-.284-.088-.606-.148-.941-.182-.316-.033-.6-.038-.804-.035-.101.002-.243.01-.294.013Z",fill:"#141B34"})),o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"40",height:"40",viewBox:"0 0 40 40",fill:"none"},o.createElement("path",{d:"M2.083 20C2.083 10.105 10.105 2.083 20 2.083c9.895 0 17.917 8.021 17.917 17.917 0 9.895-8.022 17.917-17.917 17.917C10.105 37.917 2.083 29.895 2.083 20Z",fill:"#FFD46E"}),o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11.25 15c0-1.151.933-2.083 2.083-2.083h.015c1.151 0 2.084.933 2.084 2.083 0 1.151-.933 2.083-2.084 2.083h-.015c-1.15 0-2.083-.933-2.083-2.083ZM24.568 15c0-1.151.933-2.083 2.084-2.083h.015c1.151 0 2.083.933 2.083 2.083 0 1.151-.932 2.083-2.083 2.083h-.015c-1.151 0-2.084-.933-2.084-2.083Z",fill:"#141B34"}),o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M13.75 26.667c0-.691.56-1.25 1.25-1.25h10c.69 0 1.25.559 1.25 1.25 0 .691-.56 1.25-1.25 1.25h-10c-.69 0-1.25-.559-1.25-1.25Z",fill:"#141B34"})),o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"40",height:"40",viewBox:"0 0 40 40",fill:"none"},o.createElement("path",{d:"M2.083 20C2.083 10.105 10.105 2.083 20 2.083c9.895 0 17.917 8.021 17.917 17.917 0 9.895-8.022 17.917-17.917 17.917C10.105 37.917 2.083 29.895 2.083 20Z",fill:"#FFD46E"}),o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12.583 24.001c.552-.414 1.335-.302 1.75.25 1.294 1.723 3.35 2.834 5.667 2.834s4.373-1.11 5.667-2.834c.415-.552 1.199-.664 1.751-.25.552.415.664 1.199.25 1.751C25.92 28.076 23.136 29.584 20 29.584s-5.92-1.508-7.666-3.832c-.415-.552-.303-1.336.249-1.751Z",fill:"#141B34"}),o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11.25 15c0-1.151.933-2.083 2.083-2.083h.015c1.151 0 2.084.933 2.084 2.083 0 1.151-.933 2.083-2.084 2.083h-.015c-1.15 0-2.083-.933-2.083-2.083ZM24.568 15c0-1.151.933-2.083 2.084-2.083h.015c1.151 0 2.083.933 2.083 2.083 0 1.151-.932 2.083-2.083 2.083h-.015c-1.151 0-2.084-.933-2.084-2.083Z",fill:"#141B34"})),o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"40",height:"40",viewBox:"0 0 40 40",fill:"none"},o.createElement("path",{d:"M2.083 20C2.083 10.105 10.105 2.083 20 2.083c9.895 0 17.917 8.021 17.917 17.917 0 9.895-8.022 17.917-17.917 17.917C10.105 37.917 2.083 29.895 2.083 20Z",fill:"#FFD46E"}),o.createElement("g",{clipPath:"url(#clip0_159_173224)"},o.createElement("g",{clipPath:"url(#clip1_159_173224)"},o.createElement("path",{d:"M20 30.624c3.752 0 6.904-2.532 7.789-5.956.412-1.593-.185-1.959-1.76-1.959H13.973c-1.575 0-2.173.366-1.761 1.959.885 3.424 4.037 5.956 7.788 5.956Z",fill:"#141B34"})),o.createElement("mask",{id:"mask0_159_173224",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:"12",y:"22",width:"16",height:"9"},o.createElement("path",{d:"M20 30.624c3.752 0 6.904-2.532 7.789-5.956.412-1.593-.185-1.959-1.76-1.959H13.973c-1.575 0-2.173.366-1.761 1.959.885 3.424 4.037 5.956 7.788 5.956Z",fill:"#141B34"})),o.createElement("g",{mask:"url(#mask0_159_173224)"},o.createElement("path",{d:"M20 32.998c3.278 0 5.936-1.594 5.936-3.561 0-1.968-2.658-3.562-5.936-3.562-3.278 0-5.936 1.594-5.936 3.562 0 1.967 2.658 3.561 5.936 3.561Z",fill:"#FF493B"}))),o.createElement("path",{d:"M11.667 15.833c0-1.381 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5M23.333 15.833c0-1.381 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5",stroke:"#141B34",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("defs",null,o.createElement("clipPath",{id:"clip0_159_173224"},o.createElement("rect",{width:"15.83",height:"7.915",fill:"white",transform:"translate(12.085 22.709)"})),o.createElement("clipPath",{id:"clip1_159_173224"},o.createElement("rect",{width:"15.83",height:"7.915",fill:"white",transform:"translate(12.085 22.709)"}))))],hl=({csatPayload:e,submitted:t,value:n,onChange:r})=>{const s=typeof n>"u";return o.createElement(pl,null,o.createElement(w,{variant:"caption3",color:g.themedColor.textMidEmphasis},e.csat_question),o.createElement(bl,null,e.csat_scores.map(({label:a,image_url:i},l)=>{const c=l+1,m=n===c;return o.createElement(xl,{key:l,disabled:t,onClick:()=>r(c)},o.createElement(fl,{value:c,selected:s||m,label:a,src:i}),!!a&&o.createElement(w,{color:m?g.themedColor.textHighEmphasis:g.themedColor.textLowEmphasis,variant:"caption3"},a))})))},fl=({value:e,src:t,label:n,selected:r})=>{const[s,a]=u.useState(!1),i=fe(()=>s?o.createElement(dl,{value:e,selected:r,label:n}):o.createElement(yl,{$selected:r,"aria-label":n,src:t,onError:()=>a(!0)}));return o.createElement(El,null,i)},pl=h.default.div`display:flex;flex-direction:column;gap:8px;`,bl=h.default.div`display:flex;justify-content:space-between;align-self:center;width:100%;max-width:400px;gap:16px;`,xl=h.default.button`background-color:transparent;border:none;gap:4px;display:flex;flex-direction:column;align-items:center;justify-content:start;box-sizing:border-box;min-width:48px;max-width:68px;&:hover:not(:disabled) span{color:${g.themedColor.textHighEmphasis};}`,El=h.default.div`button:hover:not(:disabled) &{border-radius:4px;cursor:pointer;background-color:${g.color.background200};${I.dark`
200
- background-color: ${g.color.background500};
201
- `}
202
- }
203
- `,yl=h.default.img`user-select:none;-webkit-user-drag:none;width:40px;height:40px;aspect-ratio:1;opacity:${({$selected:e})=>e?1:.38};`,vl=({csatPayload:e})=>o.createElement(w,{variant:"button",color:g.themedColor.textHighEmphasis},e.title);var X=(e=>(e.AI_AGENT_CSAT_5="AI_AGENT_CSAT_5",e.AI_AGENT_CSAT_5_WITH_CRE="AI_AGENT_CSAT_5_WITH_CRE",e.HELPDESK_CSAT_5="HELPDESK_CSAT_5",e))(X||{});const hn=e=>u.useReducer((t,n)=>({...t,...n}),e),Cl=new Set(["free_text","single_choice"]),ft=({csatPayload:e,type:t,renderSubmitButton:n,initialCsat:r,initialCsatReason:s,initialIsResolved:a})=>{const[i,l]=hn({csatType:t,csat:r,csatReason:s,isResolved:a}),[c,m]=hn({followUpItem:!1}),p=u.useMemo(()=>{var d;const v=i.csat;if(typeof v!="number")return;const x=(d=e.follow_up)==null?void 0:d.find(b=>b.scores.includes(v));if(Cl.has(x==null?void 0:x.response_type))return x},[i.csat]),f=typeof r=="number"?"submitted":(t===X.AI_AGENT_CSAT_5||t===X.HELPDESK_CSAT_5)&&typeof i.csat=="number"||t===X.AI_AGENT_CSAT_5_WITH_CRE&&typeof i.csat=="number"&&typeof i.isResolved=="boolean"?"submittable":"unsubmittable",E=u.useCallback(()=>typeof i.csat>"u"?!1:p!=null&&p.required&&!i.csatReason?(m({followUpItem:!0}),!1):!0,[i,p]);u.useEffect(()=>{s||(l({csatReason:""}),m({followUpItem:!1}))},[s,p]);const y={csatPayload:e,state:f,submitted:f==="submitted"};return o.createElement(o.Fragment,null,o.createElement(_l,null,o.createElement(vl,{...y}),t===X.AI_AGENT_CSAT_5_WITH_CRE&&o.createElement(sl,{...y,defaultValue:a,value:i.isResolved,onChange:v=>l({isResolved:v})}),o.createElement(hl,{...y,value:i.csat,onChange:v=>l({csat:v})}),p&&o.createElement(ll,{...y,followUpItem:p,value:i.csatReason,onChange:v=>{l({csatReason:v}),m({followUpItem:!1})},hasError:c.followUpItem})),f!=="unsubmittable"&&o.createElement(o.Fragment,null,o.createElement(V.Separator,null),n({state:f,params:i,validateParams:E})))},_l=h.default.div`display:flex;flex-direction:column;gap:12px;`,Sl=e=>{const{stringSet:t}=O();if(e)return Tl(e)?{...e,title:t.CSAT_TITLE_UNSUBMITTED,csat_question:t.CSAT_RATING_TITLE,csat_scores:[{label:"",image_url:"https://static.dashboard.sendbird.com/assets/ai-agent/angry-active.png"},{label:"",image_url:"https://static.dashboard.sendbird.com/assets/ai-agent/suspicious-active.png"},{label:"",image_url:"https://static.dashboard.sendbird.com/assets/ai-agent/neutral-active.png"},{label:"",image_url:"https://static.dashboard.sendbird.com/assets/ai-agent/smile-active.png"},{label:"",image_url:"https://static.dashboard.sendbird.com/assets/ai-agent/happy-active.png"}],cre:{question:t.CSAT_CRE_TITLE,positive_label:t.CSAT_CRE_SOLVED,negative_label:t.CSAT_CRE_NOT_SOLVED},follow_up:[{response_type:"free_text",scores:[1,2,3,4,5],question:t.CSAT_REASON_PLACEHOLDER}],csat_submit_label:t.CSAT_SUBMIT_LABEL,csat_submitted_label:t.CSAT_TITLE_SUBMITTED}:e};function Tl(e){return!e.title}const wl=()=>{const{stringSet:e}=O();return o.createElement(w,{variant:"body2",color:g.themedColor.textMidEmphasis,style:{textAlign:"center"}},e.CSAT_SUBMISSION_EXPIRED)},Al=e=>{if(e.messageType!=="admin.csat")throw new Error("Invalid message type");const{extendedMessagePayload:t,onSubmitCSAT:n}=e,{csat:r,csatReason:s,csatExpireAt:a,isResolvedWhenDeterminedByUser:i}=e,l=_e.useForceUpdate(),c=Sl(t==null?void 0:t.csat);if(!c||!c.visibility||!X[c.type])return null;const m=c.type===X.AI_AGENT_CSAT_5||c.type===X.AI_AGENT_CSAT_5_WITH_CRE||c.type===X.HELPDESK_CSAT_5?ft:()=>null;return o.createElement(kl,null,!r&&fn(a)?o.createElement(wl,null):o.createElement(m,{csatPayload:c,type:c.type,initialCsat:r,initialCsatReason:s,initialIsResolved:i,renderSubmitButton:({state:p,params:f,validateParams:E})=>o.createElement($l,{$state:p,disabled:p==="submitted",onClick:()=>{!fn(a)&&E()?n({csatType:f.csatType,csat:f.csat,csatReason:f.csatReason,isResolved:f.isResolved,csatStartedAt:f.csatStartedAt,resolutionScore:f.resolutionScore}):l()}},o.createElement(w,{variant:"button"},p==="submitted"?c.csat_submitted_label:c.csat_submit_label))}))},kl=h.default.div`display:flex;flex-direction:column;background-color:${({theme:e})=>e.colors.csat.background};border-radius:16px;gap:16px;padding:16px;`,$l=h.default.button`all:unset;background-color:${({theme:e})=>e.colors.base.primary};color:${({theme:e})=>e.colors.base.primaryContrastContent};border-radius:6px;padding:10px 20px;display:flex;align-items:center;justify-content:center;cursor:pointer;text-align:center;word-break:break-word;&:hover{background-color:${g.color.primary.dark};}&:disabled{color:${({$state:e})=>e==="submitted"?g.themedColor.textHighEmphasis:g.color.ondark.textLowEmphasis};background-color:${g.themedColor.textDisabled};cursor:not-allowed;}`;function fn(e){return!!e&&e<Date.now()}const st=pe({template:Il,components:{AdminMessage:Qa,CSATMessage:Al}});function Il(e){const{components:t}=st.useContext(),n=fe(()=>e.messageType==="admin"?o.createElement(t.AdminMessage,{...e}):e.messageType==="admin.csat"?o.createElement(t.CSATMessage,{...e}):null);return o.createElement(Ml,{$marginBottom:Dt(e.groupType)},n)}const Ml=h.default.div`padding-inline:${re}px;margin-bottom:${({$marginBottom:e})=>e}px;`,pn={file:"attach",snippet:"snippet",site:"website",sb_sprinklr:"sprinklr",sb_salesforce:"salesforce",sb_confluence:"confluence",sb_zendesk:"zendesk",sb_desk:"snippet"},or=({actionbook:e,functionCalls:t,groundedness:n,agentMessageTemplates:r,onClickActionbook:s,onClickFunctionCall:a,onClickFunctionCallDetail:i,onClickGroundedness:l,onClickAgentMessageTemplate:c,bottomContent:m,renderCustomGroundednessIcon:p=E=>E.default,style:f={}})=>{const{iconColor:E="#000000",textColor:y="#000000",highlightColor:v=Hn.DEFAULT_PRIMARY}=f;return o.createElement(bn,null,e&&o.createElement(bn,null,o.createElement(Xe,null,o.createElement(Ue,null,o.createElement($,{size:16,type:"actionbook",color:E})),o.createElement(Be,{$clickable:!!s,$highlightColor:v,variant:"body2",color:y,onClick:()=>s==null?void 0:s(e),maxTextLines:1},e.name))),t==null?void 0:t.map(x=>o.createElement(pt,{key:x.key},o.createElement(Ue,null,o.createElement($,{size:16,type:"function",color:E})),o.createElement(Xe,null,o.createElement(Be,{$clickable:!!a,$highlightColor:v,variant:"body2",color:y,onClick:()=>a==null?void 0:a(x),maxTextLines:1},x.name),i&&o.createElement(Ol,{role:"button",onClick:()=>i==null?void 0:i(x)},o.createElement(w,{variant:"body2",color:v},"View details"),o.createElement($,{type:"chevron-right",size:16,color:v}))))),n==null?void 0:n.map(x=>o.createElement(pt,{key:x.id},o.createElement(Ue,null,p({default:o.createElement($,{size:16,type:pn[x.source_type]??pn.snippet,color:E}),sourceType:x.source_type})),o.createElement(Be,{$clickable:!!l,$highlightColor:v,variant:"body2",color:y,onClick:()=>l==null?void 0:l(x),maxTextLines:1},x.preview_title))),r==null?void 0:r.map(x=>o.createElement(pt,{key:x.key},o.createElement(Ue,null,o.createElement($,{size:16,type:"template",color:E})),o.createElement(Be,{$clickable:!!c,$highlightColor:v,variant:"body2",color:y,onClick:()=>c==null?void 0:c(x),maxTextLines:1},x.name))),m)},Ll=h.default(w)`font-weight:400;`,Be=h.default(Ll)`${({$clickable:e,$highlightColor:t})=>e&&S.css`
204
- cursor: pointer;
205
- text-decoration: underline;
206
- &:hover {
207
- color: ${t};
208
- }
209
- `}
210
- `,Ue=h.default.div`display:flex;align-items:center;justify-content:center;flex-shrink:0;`,Xe=h.default.div`display:flex;gap:8px;align-items:center;word-break:break-word;`,Ol=h.default(Xe)`cursor:pointer;gap:4px;`,pt=h.default(Xe)`flex-direction:row;align-items:center;`,bn=h.default.div`display:flex;gap:4px;flex-direction:column;align-items:flex-start;`,sr=u.createContext(null);function Rl({testerType:e,children:t}){return o.createElement(sr.Provider,{value:{testerType:e,isActionbookTester:e==="actionbook"}},e&&o.createElement(Dl,null),t)}const ke=()=>{const e=u.useContext(sr);if(!e)throw new Error("_UNSAFE_INTERNAL_DashboardTesterProvider not found");return e},Dl=()=>{const{isActionbookTester:e}=ke();return o.createElement(he.Template,{template:e?Pl:void 0},o.createElement(he.MessageLogs,{component:Nl}))},Pl=e=>o.createElement(tr,{...e,testerMode:!0,maxBodyWidth:Wn}),Nl=({extendedMessagePayload:e={}})=>{const{handlers:t}=N(),{manual:n,groundedness:r,function_calls:s,agent_message_templates:a,is_thinking:i}=e;return i||!n&&!(r!=null&&r.length)&&!(s!=null&&s.length)&&!(a!=null&&a.length)?o.createElement(o.Fragment,null):o.createElement(Fl,null,o.createElement(Bl,{width:4}),o.createElement(or,{actionbook:n,functionCalls:s,groundedness:r,agentMessageTemplates:a,onClickFunctionCallDetail:t==null?void 0:t.onFunctionCallDetailClick,style:{iconColor:g.themedColor.textHighEmphasis,textColor:g.themedColor.textHighEmphasis,barColor:g.themedColor.textDisabled},bottomContent:o.createElement(Ul,{variant:"caption2",color:g.themedColor.textLowEmphasis},"Only visible in the tester")}))},Fl=h.default.div`display:flex;gap:16px;margin:16px ${re}px 0;align-self:stretch;`,Bl=h.default.div`width:${({width:e})=>e}px;background-color:${g.themedColor.textDisabled};border-radius:100px;flex-shrink:0;`,Ul=h.default(w)`margin-top:5px;`,Hl=({publishSynchronous:e=!1})=>{const t=new Set;return{publish:n=>{t.forEach(r=>{e?r(n):setTimeout(()=>r(n),0)})},subscribe:n=>(t.add(n),()=>t.delete(n))}};function Vl(e,t=[]){const n=u.useRef(null),r=u.useRef(0),s=u.useRef(0),[a]=u.useState(()=>Hl({publishSynchronous:!0})),[i,l]=u.useState(!0);return u.useLayoutEffect(()=>{r.current=0,s.current=0,l(!0),n.current&&(n.current.scrollTop=n.current.scrollHeight)},t),u.useLayoutEffect(()=>a.subscribe(({type:c,data:m})=>{const{resolve:p,animated:f}=m??{};if(!n.current)return p==null?void 0:p();if(c==="scrollToBottom"&&(n.current.scroll?n.current.scroll({top:n.current.scrollHeight,behavior:xn(e,f)}):n.current.scrollTop=n.current.scrollHeight,s.current=0,l(!0),p==null||p()),c==="scroll"){const E=m==null?void 0:m.top,{scrollTop:y,scrollHeight:v,clientHeight:x}=n.current;n.current.scroll?n.current.scroll({top:E,behavior:xn(e,f)}):typeof E=="number"&&(n.current.scrollTop=E),s.current=Math.max(0,v-y-x),l(s.current===0),p==null||p()}}),[e]),{scrollRef:n,scrollPubSub:a,isScrollBottomReached:i,setIsScrollBottomReached:l,scrollDistanceFromBottomRef:s,scrollPositionRef:r}}function xn(e,t){return typeof t=="boolean"?t?"smooth":"auto":e}function zl(e){return"sendingStatus"in e?e.sendingStatus==="succeeded"?String(e.messageId):e.reqId:String(e.messageId)}const Wl=(e,t,n,r=!0)=>{if(!r||!e.isUserMessage()&&!e.isFileMessage())return"single";const s=()=>{if(!t||!t.isUserMessage()&&!t.isFileMessage())return!1;const c=t.sender.userId===e.sender.userId,m=ie.isSameMinute(t.createdAt,e.createdAt);return c&&m},a=()=>{if(!n||!n.isUserMessage()&&!n.isFileMessage())return!1;const c=n.sender.userId===e.sender.userId,m=ie.isSameMinute(n.createdAt,e.createdAt);return c&&m},i=s(),l=a();return i&&l?"middle":i?"bottom":l?"top":"single"};function Gl(e,t){return e.filter(n=>Te.isWelcomeMessage(n,t))}function Vt(e,t){return ql(e)===t}function ql(e){var t;if(e)return e.isUserMessage()||e.isFileMessage()||e.isMultipleFilesMessage()?e.sender.userId:((t=e==null?void 0:e.sender)==null?void 0:t.userId)??void 0}function jl(e){return e.isAdminMessage()?e.message==="The channel's custom_type was updated.":!1}const Tt=e=>!!e&&"sender"in e,ir=e=>e.startsWith("image/"),ar=e=>e.startsWith("video/"),En=e=>ir(e)||ar(e),He={isAdmin:e=>e.isAdminMessage(),isCSAT:e=>{var t;return e.isAdminMessage()&&!!((t=e.extendedMessagePayload)!=null&&t.csat)},isIncoming:(e,t)=>Tt(e)&&e.sender.userId!==t,isOutgoing:(e,t)=>Tt(e)&&(e.sender.userId===t||e.sendingStatus===Ke.SendingStatus.PENDING)},Kl=e=>{const{chatSDK:t,handlers:n,logger:r}=N(),{aiAgentInfo:s}=W(),a=u.useRef(new Set),i=p=>{if(!(n!=null&&n.onCustomEvent))return;Tt(p)&&p.sender.userId===s.userId&&!Te.isStreaming(p)&&!a.current.has(p.messageId)&&(r.debug("useCustomEventForMessageReceive: bot-message-received",p),n.onCustomEvent({type:"bot-message-received",data:{message:p}}),a.current.add(p.messageId))},l=p=>{if(n!=null&&n.onCustomEvent&&p.isAdminMessage()&&p.customType==="user_action_required"&&!a.current.has(p.messageId)){const f=Et(p.data);Array.isArray(f.history)&&f.history.length===0&&(r.debug("useCustomEventForMessageReceive: user_action_required",f),n.onCustomEvent({type:"user-action-requested",data:f}),a.current.add(p.messageId))}},c=(p,f)=>{p.url===e&&(i(f),l(f))},m=p=>{l(p)};return _e.useGroupChannelHandler(t,{onMessageUpdated:c,onMessageReceived:c}),{checkForUserActionRequired:m}};function Yl(e){return new Promise(t=>{const n=new Image;n.onload=function(){const r=String(n.width),s=String(n.height);URL.revokeObjectURL(n.src),t({width:r,height:s})},n.src=URL.createObjectURL(e)})}async function Zl(e){if("file"in e&&e.file instanceof File&&e.file.type.startsWith("image/")){const{width:t,height:n}=await Yl(e.file);return new Ke.MessageMetaArray({key:lr,value:[t,n]})}}const lr="KEY_IMG_ASPECT_RATIO",Jl=({onScrollAfterSendMessage:e})=>{const{agentPreviewConfigs:t,handlers:n}=N(),r=u.useRef(t==null?void 0:t.agentAttributes);return r.current=t==null?void 0:t.agentAttributes,{onBeforeSendMessage:async s=>{const a=await Zl(s),i={...s,metaArrays:a?[a]:void 0},l=Xl(r.current);return l?{...i,data:JSON.stringify(l)}:i},onAfterSendMessage:s=>{var a,i,l;e(),(a=n==null?void 0:n.onMessageSend)==null||a.call(n,s.message),s.sendingStatus===Ke.SendingStatus.SUCCEEDED?(i=n==null?void 0:n.onCustomEvent)==null||i.call(n,{type:"message-sent-succeeded",data:{message:s}}):s.sendingStatus===Ke.SendingStatus.PENDING&&((l=n==null?void 0:n.onCustomEvent)==null||l.call(n,{type:"message-sent-pending",data:{message:s}}))}}},Xl=e=>{if(!e)return null;const t={};return e.ai&&Object.keys(e.ai).length>0&&(t.ai_attrs=e.ai),e.safeguard&&Object.keys(e.safeguard).length>0&&(t.safeguard_attrs=e.safeguard),typeof e.use_prompt_cache=="boolean"&&(t.use_prompt_cache=e.use_prompt_cache),Object.keys(t).length>0?t:null},{Provider:Ql,Context:ec,useContext:q}=G("Conversation"),tc=({children:e})=>{var s;const{channelSource:t}=q(),n=(s=t.channel)==null?void 0:s.url,{checkForUserActionRequired:r}=Kl(n);return u.useEffect(()=>{var i;const a=(i=t.channel)==null?void 0:i.lastMessage;a&&r(a)},[t.channel,r]),o.createElement(o.Fragment,null,e)},cr=({channelUrl:e,onClearChannelUrl:t,onNavigateToConversationList:n,shouldMarkAsRead:r,children:s})=>{const{aiAgentInfo:a,activeChannel:i,refreshActiveChannel:l}=W(),{testerType:c}=ke(),m=Vl("smooth"),{onBeforeSendMessage:p,onAfterSendMessage:f}=Jl({onScrollAfterSendMessage:()=>{m.scrollPubSub.publish({type:"scrollToBottom",data:{animated:!1}})}}),E=e||(i==null?void 0:i.url),y=x=>{const d=x[x.length-1];d&&Te.shouldScrollToBottom(d,a.userId,!!c)&&setTimeout(()=>m.scrollPubSub.publish({type:"scrollToBottom",data:{animated:!0}}),100)},v=u.useCallback(async()=>{await l(),e&&(t==null||t())},[l,e,t]);return o.createElement(Lo,{channelUrl:E,onBeforeSendMessage:p,onAfterSendMessage:f,onMessagesUpdated:y,onMessagesReceived:y,onChannelDeleted:v,shouldMarkAsRead:r},x=>o.createElement(Ql,{value:{...x,scrollSource:m,goToActiveConversation:v,onNavigateToConversationList:n}},o.createElement(tc,null,s)))},zt=u.createContext({onDrop:ae,subscribe:()=>ae}),wt=({children:e})=>{const t=u.useRef(new Set);return o.createElement(zt.Provider,{value:{onDrop:n=>{var r;if(n.preventDefault(),(r=n.dataTransfer)!=null&&r.files){const s=Array.from(n.dataTransfer.files);s.length>0&&t.current.forEach(a=>a(s))}},subscribe:n=>(t.current.add(n),()=>t.current.delete(n))}},e)},nc=({onDropFiles:e})=>{const{subscribe:t}=u.useContext(zt);u.useEffect(()=>t(e),[e])};wt.Consumer=({children:e})=>{const{onDrop:t}=u.useContext(zt);return e({onDrop:t,onDragOver:s=>s.preventDefault()})};const Wt=({iconSize:e=64,icon:t,className:n,label:r,children:s})=>o.createElement(oc,{className:n},t&&o.createElement($,{type:t,size:e,color:g.themedColor.textLowEmphasis}),r&&o.createElement(w,{variant:"body1",color:g.themedColor.textMidEmphasis},r),s),rc=h.default.div`position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:100%;`,oc=h.default.div`display:flex;flex-direction:column;min-height:104px;align-items:center;gap:20px;text-align:center;`,sc=({label:e="Something went wrong",icon:t="error",action:n,...r})=>o.createElement(Wt,{icon:t,label:e,...r},n&&o.createElement(ic,{onClick:n.onClick,label:n.label??"Retry"})),ic=({label:e,onClick:t})=>o.createElement(ac,{tabIndex:0,onClick:t},o.createElement($,{type:"refresh",size:20}),o.createElement(w,{variant:"button",color:g.color.primary.main},e)),ac=h.default.button`all:unset;display:flex;cursor:pointer;gap:4px;align-items:center;justify-content:center;`,lc=({iconSize:e=48,className:t})=>o.createElement(Ht,{size:e,className:t}),cc=({label:e="No channels",icon:t="chat",...n})=>o.createElement(Wt,{icon:t,label:e,...n}),uc=({label:e="No messages",icon:t="message",...n})=>o.createElement(Wt,{icon:t,label:e,...n}),dc=e=>{const{components:t}=it.useContext(),n=e.type==="loading"?o.createElement(t.Loading,{...e}):e.type==="error"?o.createElement(t.Error,{...e}):e.type==="noChannels"?o.createElement(t.NoChannels,{...e}):e.type==="noMessages"?o.createElement(t.NoMessages,{...e}):null;return n&&o.createElement(rc,null,n)},it=pe({template:dc,components:{Loading:lc,Error:sc,NoChannels:cc,NoMessages:uc}}),Ce=e=>{const{Template:t}=it.useContext();return o.createElement(t,{...e})},mc=h.default.div`width:100%;height:100%;position:fixed;top:0;left:0;outline:none;`,gc=h.default.div`height:64px;min-height:64px;box-sizing:border-box;display:flex;justify-content:space-between;border-bottom:1px solid ${g.themedColor.textDisabled};background-color:${g.themedColor.bg_50_600};@media screen and (max-width:768px){position:relative;}`,hc=h.default.div`box-sizing:border-box;display:flex;flex-direction:row;align-items:center;height:64px;padding:16px 20px;width:calc(100% - 128px);`,fc=h.default.div`margin-inline-end:8px;`,pc=h.default.div`max-width:500px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;@media screen and (max-width:768px){position:absolute;inset-inline-start:64px;top:10px;display:block;max-width:calc(100vw - 240px);}`,bc=h.default.div`display:inline-block;margin-inline-start:8px;padding-top:5px;@media screen and (max-width:768px){position:absolute;inset-inline-start:56px;top:24px;}`,xc=h.default.div`display:flex;width:160px;justify-content:flex-end;`,Ec=h.default.div`inset-inline-end:0;display:flex;flex-direction:row;`,ur=h.default.div`width:64px;padding:21px;box-sizing:border-box;cursor:${e=>e.disabled?"not-allowed":"pointer"};`,yc=h.default(ur)`border-inline-start:1px solid ${g.themedColor.textDisabled};`,vc=h.default.div`width:100%;height:100%;display:flex;align-items:center;justify-content:center;`,Cc=h.default.video`max-width:100%;max-height:100%;user-select:none;-webkit-user-drag:none;`,_c=h.default.img`max-width:calc(90% - 60px);max-height:calc(90% - 60px);user-select:none;-webkit-user-drag:none;`,Sc=h.default.div`max-width:100%;max-height:100%;display:flex;justify-content:center;align-items:center;`,Tc=({file:e,sender:t={},onClose:n,onDownloadClick:r})=>{const{type:s,url:a,name:i=""}=e,{profileUrl:l,nickname:c,userId:m}=t,{aiAgentInfo:p}=W();return o.createElement(Ac,{profileUrl:l??"",nickname:c??"",type:s,url:a,name:i,onClose:n,isBotMessage:m===p.userId,onDownloadClick:r})},wc=({profileUrl:e,isBotMessage:t})=>t&&!e?o.createElement(kc,{$size:32},o.createElement($,{type:"bot-filled",size:20})):o.createElement(Ft,{size:32,src:e}),Ac=({profileUrl:e,isBotMessage:t,nickname:n,name:r,type:s,url:a,onClose:i,onDownloadClick:l})=>{const{stringSet:c}=O();return o.createElement(Kn,{onClose:i,visible:!0,rootElementId:ne.MODAL_ROOT},o.createElement(mc,null,o.createElement(gc,null,o.createElement(hc,null,o.createElement(fc,null,o.createElement(wc,{profileUrl:e,isBotMessage:t})),o.createElement(pc,null,o.createElement(w,{variant:"h2",color:g.themedColor.textHighEmphasis},r)),o.createElement(bc,null,o.createElement(w,{variant:"body1",color:g.color.ondark.textMidEmphasis},n))),o.createElement(xc,null,En(s)&&o.createElement(Ec,null,o.createElement(ur,{as:"a",href:a,target:"_blank",rel:nt,onClick:l},o.createElement($,{type:"download",color:g.themedColor.textHighEmphasis,size:24}))),o.createElement(yc,{onClick:i},o.createElement($,{type:"close",color:g.themedColor.textHighEmphasis,size:24})))),o.createElement(vc,{onClick:m=>m.currentTarget===m.target&&i()},ar(s)&&o.createElement(Cc,{controls:!0},o.createElement("source",{src:a,type:s})),ir(s)&&o.createElement(_c,{src:a,alt:r}),!En(s)&&o.createElement(Sc,null,o.createElement(w,{variant:"h1",color:g.themedColor.textHighEmphasis},c.FILE_VIEWER__UNSUPPORT)))))},kc=h.default.div`width:${({$size:e})=>e}px;height:${({$size:e})=>e}px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background-color:${({theme:e})=>e.colors.base.primary}!important;path{fill:${({theme:e})=>e.colors.base.primaryContrastContent}!important;}`,dr=({className:e,locale:t,date:n=Date.now(),formatString:r="MMMM dd, yyyy",style:s})=>o.createElement($c,{id:`${te}-date-separator`,style:s,className:e},o.createElement(w,{variant:"caption4",color:g.themedColor.textMidEmphasis},ie.format(n,r,{locale:t}))),$c=h.default.div`display:flex;justify-content:center;align-items:center;text-align:center;word-break:break-word;`,Ic=u.forwardRef(function(t,n){const{messages:r,renderMessage:s,messageTopArea:a,messageBottomArea:i,overlayArea:l,onLoadPrev:c,onLoadNext:m,loadThreshold:p=.05,onScrollPosition:f=ae,depsForResetScrollPositionToBottom:E,scrollPositionRef:y,scrollDistanceFromBottomRef:v,stackDirection:x="top"}=t,d=n&&"current"in n?n:{current:null},b=u.useRef(!1),C=u.useRef(void 0),_=u.useRef(0),A=u.useRef(0),M=u.useRef(0),R=y??A,H=v??M;u.useLayoutEffect(()=>{d.current&&(d.current.scrollTop=d.current.scrollHeight)},E),u.useLayoutEffect(()=>{d.current&&(C.current==="top"&&(d.current.scrollTop=d.current.scrollHeight-R.current),C.current==="bottom"&&(d.current.scrollTop=_.current),C.current=void 0)},[d.current,r.length]);const L=async()=>{if(!d.current)return;const D=d.current;if(f(Mc(D)),R.current=D.scrollHeight-D.scrollTop,H.current=R.current-D.clientHeight,_.current=D.scrollTop,b.current)return;const F=D.clientHeight*Math.min(Math.max(0,p),1);D.scrollTop<=F?(b.current=!0,C.current="top",await c(),b.current=!1):D.scrollHeight-D.scrollTop-D.clientHeight<=F?(b.current=!0,C.current="bottom",await m(),b.current=!1):C.current=void 0};return o.createElement(Lc,{id:"infinite-list-container"},o.createElement(Oc,{id:"infinite-list-inner",ref:d,onScroll:L},x==="bottom"&&o.createElement("div",{style:{flexGrow:1}}),a,r.map((D,F)=>s({message:D,index:F})),i),o.createElement(Rc,{id:"infinite-list-overlay-container"},o.createElement(Dc,{id:"infinite-list-overlay"},l)))}),yn=50;function Mc(e){return e.scrollTop<=yn?"top":e.scrollHeight-(e.scrollTop+e.clientHeight)<=yn?"bottom":"middle"}const Lc=h.default.div`display:flex;position:relative;flex:1;overflow:hidden;`,Oc=h.default.div`display:flex;flex:1;flex-direction:column;overflow-y:auto;scrollbar-color:${g.themedColor.textLowEmphasis}transparent;&::-webkit-scrollbar-thumb:hover{background-color:transparent;}`,Rc=h.default.div`position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;`,Dc=h.default.div`pointer-events:auto;`,Pc=({className:e,onClick:t})=>o.createElement(Nc,{className:e,onClick:t,tabIndex:0},o.createElement($,{size:24,type:"chevron-down",color:g.color.primary.main})),Nc=h.default.button`all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:24px;box-shadow:0 2px 8px 0 rgba(0,0,0,0.08),0 4px 6px 0 rgba(0,0,0,0.12);${I.light`
211
- background-color: ${g.color.background50};
212
- &:hover {
213
- background-color: ${g.color.background100};
214
- }
215
- &:active {
216
- background-color: ${g.color.background200};
217
- }
218
- `}
219
- ${I.dark`
220
- background-color: ${g.color.background400};
221
- &:hover {
222
- background-color: ${g.color.background500};
223
- }
224
- &:active {
225
- background-color: ${g.color.background700};
226
- }
227
- `}
228
-
229
- &:focus {
230
- outline: none;
231
- }
232
- `,mr=()=>{const{chatSDK:e}=N(),{channelSource:t}=q(),[n,r]=u.useState([]);return _e.useGroupChannelHandler(e,{onTypingStatusUpdated(s){var a;if(s.url===((a=t.channel)==null?void 0:a.url)){const i=s.getTypingUsers();r(i)}}}),n},Fc=()=>{const{agentPreviewConfigs:e={},aiAgentId:t}=N(),{aiAgentInfo:n}=W(),{stringSet:r,dateLocale:s}=O(),{messageSource:a}=q(),{Template:i}=he.useContext(),l=e.welcomeMessages??[],c=a.messages,m=Gl(c,t),p=c[m.length+1],f=m[0]??p;return{filteredMessages:c.filter(E=>jl(E)?!1:l.length>0?!Te.isWelcomeMessage(E,t):!0),shouldShowOriginalDate:E=>E>0||l.length===0?!0:p&&!ie.isSameDay(p.createdAt,(f==null?void 0:f.createdAt)??0),renderAgentPreviewWelcomeMessages:()=>l.length===0?null:o.createElement(o.Fragment,null,o.createElement(dr,{style:{margin:"16px 0"},date:f==null?void 0:f.createdAt,locale:s,formatString:r.DATE_FORMAT__MESSAGE_LIST__DATE_SEPARATOR}),l.map((E,y)=>{const v=y===l.length-1,x=m.length!==c.length,d=l.length===1?"single":y===0?"top":v||x?"bottom":"middle";return o.createElement(i,{messageType:"user",message:E.message,sender:n,groupType:d,createdAt:(f==null?void 0:f.createdAt)??Date.now(),extendedMessagePayload:{suggested_replies:E.suggestedReplies},suggestedRepliesDirection:e.suggestedRepliesDirection,suggestedRepliesVisible:v&&!x,isBotMessage:!0,onClickSuggestedReply:async({reply:b})=>{a.sendUserMessage({message:b})}})}))}},Bc=e=>h.default(e).withConfig({shouldForwardProp:qr.default});function Uc(e){var r;const t="remove_powered_by",n=(r=e==null?void 0:e.appInfo)==null?void 0:r.applicationAttributes;return Array.isArray(n)&&n.includes(t)}const Hc=({style:e})=>{const{stringSet:t}=O(),{chatSDK:n}=N(),{isActionbookTester:r}=ke();return Uc(n)||r?null:o.createElement(Vc,{variant:"caption2",style:e},t.POWERED_BY+" ",o.createElement(zc,{variant:"caption2",as:"a",href:"https://sendbird.com?utm_medium=product&utm_source=aiagent&utm_campaign=fy26-glbl-ai-agent-poweredby","aria-label":"Learn more about Sendbird",rel:nt,target:"_blank"},"Sendbird"))},Vc=h.default(w)`color:${g.themedColor.textLowEmphasis};text-align:center;`,zc=Bc(w)`
233
- color: ${g.themedColor.textLowEmphasis};
234
- cursor: pointer;
235
- text-decoration: none;
236
- `,Wc=()=>{var i;const{stringSet:e}=O(),{channelSource:t,goToActiveConversation:n,scrollSource:r}=q(),s=Se(t.channel),a=u.useRef(s);return u.useEffect(()=>{!a.current&&s&&r.scrollPubSub.publish({type:"scrollToBottom",data:{animated:!0}}),a.current=s},[s,r]),!((i=t.channel)!=null&&i.isAIAgent)||!s?null:o.createElement(Gc,null,o.createElement(qc,{variant:"button",role:"button",color:g.themedColor.textHighEmphasis,onClick:()=>n()},e.TALK_TO_AGENT))},Gc=h.default.div`display:flex;justify-content:center;margin-bottom:16px;`,qc=h.default(w)`border-radius:6px;box-sizing:border-box;padding:10px 20px;border:1px solid ${g.themedColor.textDisabled};cursor:pointer;user-select:none;`,jc=!0,Kc=()=>{const{Template:e}=ot.useContext(),{Template:t}=he.useContext(),{Template:n}=st.useContext(),[r,s]=u.useState(null),{userSession:a,aiAgentInfo:i}=W(),{cache:l,agentPreviewConfigs:c,chatSDK:m,state:p}=N(),{config:f}=j(),{stringSet:E,dateLocale:y}=O(),{conversation:v,channelSource:x,messageSource:d,scrollSource:b}=q(),{isActionbookTester:C}=ke(),{filteredMessages:_,shouldShowOriginalDate:A,renderAgentPreviewWelcomeMessages:M}=Fc(),R=mr(),H=fe(()=>{const F=R[0];if(!F)return null;const T=F.userId===i.userId;return{user:T?i:F,isBot:T}});u.useEffect(()=>{H&&b.scrollPubSub.publish({type:"scrollToBottom",data:{animated:!0}})},[!!H,b.scrollPubSub.publish]);const L=(F,T=!1)=>{var Y;return T?i:((Y=x.channel)==null?void 0:Y.members.find(ue=>ue.userId===F.sender.userId))??F.sender},D=()=>{var F;if(!d.initialized)return o.createElement(Ce,{type:"loading"});if(d.messages.length===0){const T=M();return T?o.createElement("div",{style:{width:"100%"}},T):o.createElement(Ce,{type:"noMessages",label:E.PLACE_HOLDER__NO_MESSAGES})}return o.createElement(Ic,{ref:b.scrollRef,scrollPositionRef:b.scrollPositionRef,scrollDistanceFromBottomRef:b.scrollDistanceFromBottomRef,onScrollPosition:T=>b.setIsScrollBottomReached(T==="bottom"),stackDirection:c==null?void 0:c.messageStackDirection,messages:_,onLoadPrev:d.loadPrevious,onLoadNext:d.loadNext,depsForResetScrollPositionToBottom:[d.initialized,d.messages.length!==0],messageTopArea:o.createElement(o.Fragment,null,o.createElement(Hc,{style:{marginTop:16}}),M()),messageBottomArea:o.createElement(o.Fragment,null,H&&o.createElement(t,{isTyping:!0,isBotMessage:H.isBot,sender:H.user,messageType:"user",groupType:"single",message:""}),((F=f==null?void 0:f.conversation)==null?void 0:F.isTalkToAgentViewEnabled)&&o.createElement(Wc,null)),overlayArea:o.createElement(o.Fragment,null,!b.isScrollBottomReached&&o.createElement(Zc,{onClick:()=>b.scrollPubSub.publish({type:"scrollToBottom"})})),renderMessage:({message:T,index:Y})=>{const ue=zl(T),xe=_[Y-1],ct=_[Y+1],k=_[_.length-1],P=T===k,K=Wl(T,xe,ct,jc),Q=!Vr.isSameDay((xe==null?void 0:xe.createdAt)??0,T.createdAt)&&A(Y)&&!C,Ee=De=>{(T.isFileMessage()||T.isUserMessage())&&s({file:De,sender:L(T,T.sender.userId===i.userId)})},Rr=()=>{T.isFileMessage()&&Bt(T.url)},Dr=Q?o.createElement(dr,{style:{margin:"16px 0"},date:T.createdAt,locale:y,formatString:E.DATE_FORMAT__MESSAGE_LIST__DATE_SEPARATOR}):null,Re={maxBodyWidth:p.expanded?Wn:void 0,extendedMessagePayload:T.extendedMessagePayload,createdAt:T.createdAt,groupType:K,onClickMedia:Ee,onClickFile:Rr},Pr=(()=>{var De,Zt;if(He.isAdmin(T))return He.isCSAT(T)?v?o.createElement(n,{...Re,...v,isResolvedWhenDeterminedByUser:Jc(v),messageType:"admin.csat",onSubmitCSAT:({csat:se,csatType:de,csatReason:B,isResolved:Z,csatStartedAt:ye,resolutionScore:Nr})=>{var Jt;se&&((Jt=x.channel)==null||Jt.submitCSAT({csat:se,csatType:de,csatReason:B,isResolved:Z,csatStartedAt:ye,resolutionScore:Nr}))}}):null:o.createElement(n,{...Re,messageType:"admin",message:T.message});if(He.isOutgoing(T,a.userId)){const se={...Re,message:T.message,sender:L(T),sendingStatus:T.sendingStatus};if(T.isUserMessage())return o.createElement(e,{messageType:"user",...se});if(T.isFileMessage()){const[de,B]=((De=T.metaArrays.find(Z=>Z.key===lr))==null?void 0:De.value)??[];return o.createElement(e,{messageType:"file",file:T,metadata:{aspectRatio:de&&B?`${de}/${B}`:"1/1",localFile:(Zt=T.messageParams)==null?void 0:Zt.file},...se})}}if(He.isIncoming(T,a.userId)){const se=T.sender.userId===i.userId,de={...Re,sender:L(T,se),message:T.message,suggestedRepliesVisible:P,suggestedRepliesDirection:c==null?void 0:c.suggestedRepliesDirection,isBotMessage:se,isStreaming:Te.isStreaming(T),isHandedOff:Ie(x.channel),isConversationClosed:Se(x.channel),onClickSuggestedReply:async({reply:B})=>{d.sendUserMessage({message:B})},onRequestMessageTemplate:async B=>{const{template:Z}=await m.aiAgent.getMessageTemplate(B);return l.template.set(B,Z),Z},onGetCachedMessageTemplate:B=>l.template.get(B),onHandleTemplateInternalAction:B=>{if(B.type==="internal"&&B.internalData){const{method:Z,payload:ye}=B.internalData;Z==="message.send"&&(ye!=null&&ye.message)&&d.sendUserMessage({message:ye.message})}},onSubmitForm:({key:B,data:Z})=>m.aiAgent.submitForm({messageId:T.messageId,channelUrl:T.channelUrl,formKey:B,formData:Z}),onCancelForm:({key:B})=>m.aiAgent.cancelForm({messageId:T.messageId,channelUrl:T.channelUrl,formKey:B})};if(T.isUserMessage())return o.createElement(t,{messageType:"user",...de});if(T.isFileMessage())return o.createElement(t,{messageType:"file",file:T,...de})}})();return o.createElement("div",{key:ue,id:`${te}-message-item`},Dr,Pr)}})};return o.createElement(Yc,{id:`${te}-message-list`},D(),r&&o.createElement(Tc,{onClose:()=>s(null),sender:r.sender,file:r.file}))},Yc=h.default.div`overflow-y:hidden;display:flex;flex:1;position:relative;`,Zc=h.default(Pc)`position:absolute;bottom:20px;inset-inline-end:20px;`;function Jc(e){var t;if(((t=e==null?void 0:e.resolution)==null?void 0:t.determinedBy)==="user")return e.resolution.isResolved}const Xc=()=>{const{stringSet:e}=O(),{connectionError:t}=W(),{channelSource:n}=q(),r=t||n.error;if(r){const s=t?void 0:{label:e.RETRY,onClick:()=>n.refetch()};return o.createElement(Ce,{type:"error",label:r.message,action:s})}return n.channel?o.createElement(Kc,null):o.createElement(Ce,{type:"loading"})},Qc=()=>{var r;const{appId:e,aiAgentId:t}=j(),{channelSource:n}=q();return(r=n.channel)!=null&&r.conversation?o.createElement(eu,null,o.createElement(At,{style:{gap:4}},o.createElement($,{color:g.themedColor.textLowEmphasis,size:12,type:"show"}),o.createElement(w,{as:"i",color:g.themedColor.textLowEmphasis,variant:"caption2"},"Only visible in the tester")),o.createElement(At,{role:"button",style:{gap:4},onClick:()=>{var i,l;const s=(l=(i=n.channel)==null?void 0:i.conversation)==null?void 0:l.id,a=`${window.location.origin}/ai-agent/${e}/${t}/evaluate/conversations/${s}`;navigator.clipboard.writeText(a)}},o.createElement(w,{variant:"body3",color:g.themedColor.textHighEmphasis},"Copy ",o.createElement("span",{style:{color:g.themedColor.primary}},"conversation link")),o.createElement($,{color:g.themedColor.primary,size:14,type:"copy"}))):null},At=h.default.div`display:flex;justify-content:center;align-items:center;`,eu=h.default(At)`flex-direction:column;padding-block:16px;background-color:${g.themedColor.bg_100_500};gap:8px;`,gr=u.createContext(void 0),tu=({children:e})=>{const{stringSet:t}=O(),{attachmentMode:n}=W(),{channelSource:r}=q(),[s,a]=u.useState([]),[i,l]=u.useState({visible:!1,title:""}),c=Ie(r.channel),m=u.useMemo(()=>{if(r.channel&&!r.channel.isAIAgent)return!0;switch(n){case We.OFF:return!1;case We.ALWAYS:return!0;case We.HANDED_OFF_ONLY:return c;default:return c}},[n,c,r.channel]),p=y=>{if(!m)return;const v=y.filter(x=>zn.includes(x.type));if(v.length!==0){if(v.some(x=>x.size>Ls)){l({visible:!0,title:t.FILE_UPLOAD_NOTIFICATION__SIZE_LIMIT.replace("%d","25")});return}if(v.length>1||v.length>0&&s.length>0){l({visible:!0,title:t.FILE_UPLOAD_NOTIFICATION__COUNT_LIMIT});return}a(x=>[...x,...v.map(d=>({file:d,preview:{url:URL.createObjectURL(d),type:d.type,name:d.name}}))])}},f=y=>{a(v=>{var d;const x=(d=v[y])==null?void 0:d.preview;return x&&URL.revokeObjectURL(x.url),v.filter((b,C)=>C!==y)})},E=()=>{a(y=>(y.forEach(v=>URL.revokeObjectURL(v.preview.url)),[]))};return o.createElement(gr.Provider,{value:{files:s,addFiles:p,removeFile:f,clearFiles:E,isFileUploadEnabled:m}},e,o.createElement(Yn,{...i,onClose:()=>l({visible:!1,title:""})}))},Gt=()=>{const e=u.useContext(gr);if(!e)throw new Error("useFileUpload must be used within FileUploadProvider");return e};function nu({blurred:e,elementRef:t,document:n=window.document}){const r=u.useRef(!1);e&&t.current&&n.activeElement===t.current&&(r.current=!0),u.useLayoutEffect(()=>{var s;!e&&r.current&&((s=t.current)==null||s.focus(),r.current=!1)},[e])}const ru=(e,t)=>{u.useEffect(()=>{t?e==null||e.startTyping():e==null||e.endTyping()},[e,t])},ou=h.default.div`&::-webkit-scrollbar{display:none;}overflow-x:auto;display:flex;flex-direction:row;gap:10px;padding:8px 16px;background-color:transparent;`,su=h.default.div`display:flex;flex-shrink:0;position:relative;margin-block-start:8px;border-radius:12px;height:64px;img{border-radius:12px;object-fit:cover;width:64px;-webkit-user-drag:none;}`,iu=h.default.div`display:flex;align-items:center;justify-content:center;position:absolute;inset-inline-end:-8px;inset-block-start:-8px;cursor:pointer;border-radius:50%;${I.light`
237
- background-color: ${g.color.background50};
238
- `}
239
- ${I.dark`
240
- background-color: ${g.color.background500};
241
- `}
242
- path {
243
- fill: ${g.themedColor.textMidEmphasis};
244
- }
245
-
246
- &:hover {
247
- path {
248
- fill: ${g.themedColor.textHighEmphasis};
249
- }
250
- }
251
-
252
- circle {
253
- stroke: ${g.themedColor.bg_50_600};
254
- }
255
- `,au=()=>{const e=we(),[t,n]=u.useState(),{files:r,removeFile:s,isFileUploadEnabled:a}=Gt();return!a||r.length===0?null:o.createElement(ou,null,r.map(({preview:{type:i,name:l,url:c}},m)=>o.createElement(su,{key:c,onMouseOver:()=>n(m),onMouseLeave:()=>n(void 0)},(e||t===m)&&o.createElement(iu,{title:"Remove file",onClick:()=>s(m)},o.createElement($,{type:"close-filled",color:g.themedColor.textMidEmphasis})),i.startsWith("image/")?o.createElement("img",{alt:"file-image",src:c}):o.createElement(Nt,{name:l,type:Pt(l,i)}))))},lu=({channel:e,messages:t})=>{const{stringSet:n}=O(),{aiAgentInfo:r,userSession:s}=W(),a=cu(),i=uu({lastMessage:t[t.length-1],aiAgentUserId:r.userId}),l=gu({shouldApply:!!(e!=null&&e.isAIAgent)&&!Ie(e),isDisabledWhileAIResponding:i,lastMessage:t[t.length-1],currentUserId:s.userId});return!e||!a||Se(e)?[!0,n.MESSAGE_INPUT__PLACE_HOLDER__DISABLED]:du(e)?[!0,n.FORM_PLACEHOLDER]:i||l?[!0,n.MESSAGE_INPUT__PLACE_HOLDER__WAIT_AI_AGENT_RESPONSE]:[!1,n.MESSAGE_INPUT__PLACE_HOLDER]},cu=()=>{const e=u.useId(),{chatSDK:t}=N(),[n,r]=u.useState(!0);return u.useEffect(()=>{const s=new z.ConnectionHandler({onDisconnected:()=>r(!1),onConnected:()=>r(!0),onReconnectSucceeded:()=>r(!0)});return t.addConnectionHandler(e,s),()=>{t.removeConnectionHandler(e)}},[t]),n},uu=({lastMessage:e,aiAgentUserId:t})=>{const[n,r]=u.useState(!1),s=mr();return u.useEffect(()=>{if(!e)return;const a=s.some(l=>l.userId===t),i=Vt(e,t)&&Te.isStreaming(e);r(!!(i||a))},[s,e,t]),n},du=e=>{var i;const t=e==null?void 0:e.lastMessage;if(!t||!e)return!1;const n=t.extendedMessagePayload,r=n==null?void 0:n.form,s=r&&!r.submitted_at&&!r.canceled_at,a=e.isAIAgent&&!!((i=e.conversation)!=null&&i.handedOverAt);return s&&!a},mu=3e4,gu=({shouldApply:e,lastMessage:t,isDisabledWhileAIResponding:n,currentUserId:r})=>{const[s,a]=u.useState(!1),i=u.useRef(null),l=t&&Vt(t,r)?t.createdAt:0;return u.useEffect(()=>{const c=()=>{i.current&&(clearTimeout(i.current),i.current=null),a(!1)},m=E=>{i.current&&clearTimeout(i.current),a(!0),i.current=setTimeout(()=>{a(!1),i.current=null},E)},p=Date.now()-l,f=mu-p;return n||f<=0?c():m(f),()=>{i.current&&clearTimeout(i.current)}},[n,l]),s&&e},hr={textArea:S.css`min-height:40px;height:40px;font-size:16px;line-height:24px;`,attachIcon:S.css`margin-bottom:4px;`},fr=h.default.button`all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;width:32px;height:32px;`,hu=h.default(fr)`flex-shrink:0;margin-inline-end:12px;margin-bottom:2px;&:disabled{cursor:not-allowed;}&:not(:disabled){&:hover{path{fill:${g.themedColor.textHighEmphasis};}}&:active{border-radius:4px;background-color:${g.themedColor.bg_200_400};}}${Rt&&hr.attachIcon};`,fu=h.default.input`display:none;`,vn=h.default.div`width:100%;position:relative;background-color:${g.themedColor.bg_100_500};border-radius:20px;`,Cn=h.default.div`display:flex;flex-direction:row;align-items:flex-end;position:relative;`,_n=h.default.textarea`all:unset;display:block;flex:1;min-width:0;padding-top:8px;padding-bottom:8px;padding-inline-start:16px;padding-inline-end:12px;box-sizing:border-box;font-size:14px;line-height:20px;color:${g.themedColor.textHighEmphasis};resize:none;width:100%;height:${Vn}px;overflow-wrap:break-word;white-space:pre-wrap;overflow-x:hidden;${Rt&&hr.textArea};&::placeholder{color:${g.themedColor.textLowEmphasis};}&:disabled{cursor:not-allowed;&::placeholder{color:${g.themedColor.textDisabled};}}`,Sn=h.default.div`padding:12px 16px;position:relative;display:flex;align-items:center;`,Tn=({disabled:e})=>{const t=u.useRef(null),{addFiles:n,clearFiles:r,files:s,isFileUploadEnabled:a}=Gt();return!a||s.length>0?null:o.createElement(hu,{disabled:e,onClick:()=>{var i;r(),(i=t.current)==null||i.click()}},o.createElement($,{type:"attach",color:e?g.themedColor.textDisabled:g.themedColor.textMidEmphasis,size:16}),o.createElement(fu,{type:"file",ref:t,onChange:i=>{const l=i.currentTarget.files;l&&n(Array.from(l)),i.target.value=""},accept:zn.join(",")}))},pu=()=>{const e=u.useRef(null),[t,n]=u.useState(""),{rootElement:r}=N(),{channelSource:s,messageSource:a}=q(),[i,l]=lu({channel:s.channel,messages:a.messages}),{files:c,addFiles:m,clearFiles:p}=Gt();nc({onDropFiles:m}),nu({blurred:i,elementRef:e,document:me(r)}),ru(s.channel,t);const f=t.trim().length>0,E=c.length>0,y=!i&&(f||E),v=()=>{e.current&&(e.current.value="",e.current.style.height=""),p(),n("")},x=async()=>{const _=t.trim(),A={message:_};if(!(!_&&!c.length)){if(c.length>0){const M=c[0].file,R={...A,file:M};a.sendFileMessage(R),v();return}a.sendUserMessage(A),v()}},d=_=>{const A=Array.from(_.clipboardData.files);A.length>0&&(_.preventDefault(),m(A))},b=_=>{_.key!=="Enter"||_.nativeEvent.isComposing||_.shiftKey||(_.preventDefault(),x())},C=_=>{if(e.current){e.current.style.height="";const A=Math.min(Ms,e.current.scrollHeight);Vn<A&&(e.current.style.height=`${A}px`)}n(_.target.value)};return i?o.createElement(Sn,null,o.createElement(vn,null,o.createElement(Cn,null,o.createElement(_n,{disabled:!0,placeholder:l}),o.createElement(Tn,{disabled:!0})))):o.createElement(Sn,null,o.createElement(vn,null,o.createElement(au,null),o.createElement(Cn,null,o.createElement(_n,{ref:e,role:"textbox","aria-label":"Text Input",placeholder:l,maxLength:5e3,onKeyDown:b,onChange:C,onPaste:d}),o.createElement(Tn,null))),y&&o.createElement(fr,{onClick:()=>x()},o.createElement($,{type:"send",color:g.color.primary.main,size:20})))},bu=h.default.div`padding:8px 16px;text-align:center;word-break:break-word;white-space:pre-wrap;line-height:1.43;letter-spacing:-0.2px;font-size:14px;font-weight:400;color:${g.themedColor.textLowEmphasis};&& a{font-weight:700;text-decoration:none;${I.light`
256
- color: ${g.color.information.light};
257
- `};
258
- ${I.dark`
259
- color: ${g.color.information.main};
260
- `};
261
- }
262
- `,xu=u.lazy(()=>Promise.resolve().then(()=>require("./B7GRwqPX.cjs")).then(e=>({default:e.MarkdownText}))),Eu=()=>{const{aiAgentInfo:e}=W(),{messageSource:t,channelSource:n}=q(),{userSession:r}=W();return!Nn("special-notice",n.channel)||!(t.initialized&&!t.messages.some(i=>Vt(i,r.userId)))?null:o.createElement(bu,null,o.createElement(xu,null,e.specialNotice))},yu=()=>o.createElement(vu,null,o.createElement(Eu,null),o.createElement(tu,null,o.createElement(pu,null))),vu=h.default.div`z-index:0;border:none;width:100%;`,Cu=()=>{var s;const{testerType:e}=ke(),{channelSource:t}=q(),n=Se(t.channel),r=!!e&&((s=t.channel)==null?void 0:s.isAIAgent);return n&&r?o.createElement(Qc,null):o.createElement(yu,null)},pr=e=>{const{aiAgentInfo:t,userSession:n}=W(),r={ai(a){return{fallbackIcon:a,url:t.profileUrl,title:t.nickname}},human(a){return{fallbackIcon:a,url:s==null?void 0:s.profileUrl,title:(s==null?void 0:s.nickname)||t.nickname}},channel(a){return{fallbackIcon:a,url:e==null?void 0:e.coverUrl,title:(e==null?void 0:e.name)??""}}};if(!e)return r.ai("bot-filled");const s=fe(()=>{const[a]=e.members.filter(i=>i.userId!==n.userId);return a});return e.isAIAgent?Ie(e)?r.human("agent"):r.ai("bot-filled"):e.isDesk?r.human("agent"):r.channel("user")},br=({channel:e,size:t=40})=>{const{fallbackIcon:n,url:r}=pr(e),s=S.useTheme();return r?o.createElement(Ft,{src:r,size:t}):o.createElement(_u,{$size:t,$bgColor:s.colors.base.primary},o.createElement($,{type:n,size:t*.55,color:s.colors.base.primaryContrastContent}))},_u=h.default.div`width:${({$size:e})=>e}px;height:${({$size:e})=>e}px;border-radius:50%;background-color:${({$bgColor:e})=>e};display:flex;align-items:center;justify-content:center;flex-shrink:0;`,Su=({label:e,children:t,position:n="top",disabled:r})=>r?t:o.createElement(kt,null,t,o.createElement(Au,{$position:n},o.createElement(ku,{variant:"caption1"},e),o.createElement(Tu,{$position:n}))),Tu=({$position:e})=>o.createElement("svg",{style:{transform:e==="top"?"rotate(0)":"rotate(180deg)"},xmlns:"http://www.w3.org/2000/svg",width:"12",height:"6",viewBox:"0 0 12 6",fill:"none"},o.createElement("path",{d:"M6 6L0 0h12L6 6Z",fill:g.themedColor.textHighEmphasis})),wu={top:S.css`flex-direction:column;top:0;transform:translate(-50%,-100%);`,bottom:S.css`flex-direction:column-reverse;bottom:0;transform:translate(-50%,100%);`},kt=h.default.div`position:relative;`,Au=h.default.div`display:flex;align-items:center;position:absolute;left:50%;z-index:${be.TOOLTIP};${({$position:e})=>wu[e]}opacity:0;transition:opacity 0.2s ease-in-out;pointer-events:none;${kt}:hover &,${kt}:focus-within &{opacity:1;}`,ku=h.default(w)`padding:6px 8px;background:${g.themedColor.textHighEmphasis};color:${g.themedColor.textHighEmphasisInverse};border-radius:4px;font-size:12px;white-space:nowrap;`,$u=()=>{const{state:e,logger:t,enableCloseConversationButton:n,enableExpandButton:r,dispatcher:s}=N(),{stringSet:a}=O(),{channelSource:i,onNavigateToConversationList:l}=q(),c=i.channel,p=we()?24:16,f=pr(c),E=()=>{e.setOpened(!1)},y=async()=>{try{const b=await(c==null?void 0:c.markConversationAsHandoff());t.info("conversation.handleAgentHandoff: success",b)}catch(b){t.error("conversation.handleAgentHandoff: error",b)}},v=async()=>{c&&await s.send(In.CloseConversation({channelUrl:c.url}))},x=Nn("handoff-button",c),d=(c==null?void 0:c.isAIAgent)&&n;return o.createElement(Ru,null,o.createElement(Du,null,l&&o.createElement(Oe,{onClick:()=>l()},o.createElement($,{type:"menu",size:24,color:g.themedColor.textHighEmphasis})),o.createElement(br,{channel:c,size:34}),o.createElement(Nu,{variant:"h2",color:g.themedColor.textHighEmphasis},f.title)),o.createElement(Pu,null,x&&o.createElement(Ou,{tooltipLabel:a.HEADER_BUTTON__AGENT_HANDOFF,disabled:!xt(c)||Ie(c),size:p,onClick:y}),d&&o.createElement(Lu,{disabled:!xt(c),size:p,onClick:v}),r&&o.createElement(Iu,{size:p}),o.createElement(Mu,{size:p,onClick:E})))},Iu=({size:e,disabled:t})=>{const{state:n}=N();return o.createElement(Oe,{"aria-label":"expand",onClick:()=>n.setExpanded(!n.expanded),disabled:t},o.createElement($,{type:n.expanded?"collapse":"expand",size:e,color:g.themedColor.textHighEmphasis}))},Mu=({size:e,disabled:t,onClick:n})=>o.createElement(Oe,{"aria-label":"close messenger",onClick:n,disabled:t},o.createElement($,{type:"close",size:e,color:g.themedColor.textHighEmphasis})),Lu=({size:e,disabled:t,onClick:n})=>o.createElement(Oe,{"aria-label":"close conversation",onClick:n,disabled:t},o.createElement($,{type:"mute",size:e,color:t?g.themedColor.textDisabled:g.themedColor.textHighEmphasis})),Ou=({size:e,onClick:t,disabled:n,tooltipLabel:r})=>o.createElement(Su,{label:r,position:"bottom",disabled:n},o.createElement(Oe,{"aria-label":"agent",onClick:t,disabled:n},o.createElement($,{type:"agent",size:e,color:n?g.themedColor.textDisabled:g.themedColor.textHighEmphasis}))),Ru=h.default.div`height:56px;box-sizing:border-box;display:flex;align-items:center;padding:11px 12px;border-bottom:1px solid ${g.themedColor.textDisabled};background-color:${({theme:e})=>e.colors.base.headerBackground};`,Du=h.default.div`display:flex;flex:1;flex-direction:row;align-items:center;gap:6px;overflow:hidden;`,Pu=h.default.div`display:flex;gap:10px;align-items:center;justify-content:center;`,Nu=h.default(w)`text-overflow:ellipsis;overflow:hidden;white-space:nowrap;padding:2px 0;`,Oe=h.default.button`all:unset;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;&:disabled{cursor:not-allowed;}`,Fu=()=>{const{isActionbookTester:e}=ke();return e?null:o.createElement($u,null)},xr=({children:e,onNavigateToConversationList:t,channelUrl:n,onClearChannelUrl:r,shouldMarkAsRead:s,closedChannelUrl:a,onClearClosedChannelUrl:i})=>{const{Template:l}=at.useContext();return o.createElement(cr,{onNavigateToConversationList:t,channelUrl:n??a,onClearChannelUrl:r??i,shouldMarkAsRead:s},o.createElement(wt,null,o.createElement(wt.Consumer,null,c=>o.createElement(o.Fragment,null,o.createElement(Uu,{...c},o.createElement(l,null)),e))))},at=pe({template:Bu,components:{Header:Fu,Body:Xc,Footer:Cu}});function Bu(){const{components:e}=at.useContext();return o.createElement(o.Fragment,null,o.createElement(e.Header,null),o.createElement(e.Body,null),o.createElement(e.Footer,null))}const Uu=h.default.div`height:100%;width:100%;display:flex;flex-direction:column;flex:1;background-color:${({theme:e})=>e.colors.base.background};`,{Provider:Hu,Context:Vu,useContext:qt}=G("ConversationList");function Er({conversationListLimit:e,conversationListFilter:t,onOpenConversationView:n=ae,children:r}){return o.createElement(Bo,{conversationListLimit:e,conversationListFilter:t},s=>o.createElement(Hu,{value:{...s,onOpenConversationView:n}},r))}const zu=({channel:e})=>o.createElement(br,{channel:e}),jt=pe({template:Wu,components:{}}),$t=99;function Wu(e){const{channel:t,onClick:n}=e,{stringSet:r,format:s}=O(),a=fe(()=>{const c=t.lastMessage;return c!=null&&c.isUserMessage()||c!=null&&c.isAdminMessage()?c.message||"":c!=null&&c.isFileMessage()?c.message||c.name||"FILE":t.name}),i=fe(()=>{var f;const c=new Date,m=new Date(((f=t.lastMessage)==null?void 0:f.createdAt)||t.createdAt),p=ie.differenceInMinutes(c,m);return p<1?r.DATE_FORMAT__JUST_NOW:p<60?r.DATE_FORMAT__MINUTES_AGO(p):ie.isToday(m)?r.DATE_FORMAT__HOURS_AGO(ie.differenceInHours(c,m)):s(m,r.DATE_FORMAT__DATE_SHORT)}),l=t.unreadMessageCount;return o.createElement(Gu,{role:"button",onClick:()=>n==null?void 0:n()},o.createElement(qu,null,o.createElement(zu,{...e})),o.createElement(ju,null,o.createElement(Ku,null,o.createElement(w,{variant:"subtitle1",color:g.themedColor.textHighEmphasis,maxTextLines:1},a),o.createElement(Yu,null,Se(t)&&o.createElement(o.Fragment,null,o.createElement(w,{variant:"caption1",color:g.themedColor.textMidEmphasis,maxTextLines:1},r.CONVERSATION_LIST__ENDED),o.createElement(Zu,null)),o.createElement(w,{variant:"caption2",color:g.themedColor.textLowEmphasis,maxTextLines:1},i))),l>0&&o.createElement(Ju,{$count:l},o.createElement(w,{variant:"caption3",color:g.themedColor.textHighEmphasisInverse},l<=$t?l:`${$t}+`))))}const Gu=h.default.div`display:flex;flex-shrink:0;flex-direction:row;align-items:center;position:relative;width:100%;height:72px;box-sizing:border-box;gap:16px;cursor:pointer;`,qu=h.default.div`display:flex;align-items:center;justify-content:center;padding-inline-start:16px;`,ju=h.default.div`display:flex;flex-direction:row;align-items:center;flex:1;padding-inline-end:16px;height:100%;gap:8px;border-bottom:1px solid ${g.themedColor.textDisabled};`,Ku=h.default.div`display:flex;flex-direction:column;justify-content:center;flex:1;gap:4px;word-break:break-word;overflow-wrap:break-word;`,Yu=h.default.div`display:flex;align-items:center;gap:6px;`,Zu=h.default.div`width:2px;height:2px;border-radius:1px;background-color:${g.themedColor.textLowEmphasis};`,Ju=h.default.div`display:flex;align-items:center;justify-content:center;height:20px;padding:4px;border-radius:10px;background-color:${g.themedColor.error};${({$count:e})=>e<=$t&&S.css`
263
- width: 20px;
264
- `}
265
- `,Xu=({items:e,renderItem:t,onEndReached:n})=>{const r=s=>{const a=s.target;a.scrollHeight-a.scrollTop===a.clientHeight&&(n==null||n())};return o.createElement(Qu,{onScroll:s=>r(s)},e.map((s,a)=>t(s,a)))},Qu=h.default.div`width:100%;height:100%;display:flex;flex-direction:column;flex:1;overflow:auto;`,ed=()=>{const{stringSet:e}=O(),{listSource:t,onOpenConversationView:n}=qt(),{Template:r}=jt.useContext();return t.initialized?t.channels.length===0?o.createElement(Ce,{type:"noChannels",label:e.CONVERSATION_LIST__NO_CONVERSATIONS}):o.createElement(Xu,{items:t.channels,renderItem:s=>{var a,i,l;return o.createElement(r,{key:s.url,channel:s,onClick:()=>n(s.url,Se(s)?"closed":"open"),channelUrl:s.url,title:(i=(a=s.conversation)==null?void 0:a.topics)==null?void 0:i.join(", "),lastMessageTimestamp:(l=s.lastMessage)==null?void 0:l.createdAt})},onEndReached:()=>{t.loadMore()}}):o.createElement(Ce,{type:"loading"})},td=()=>{const{stringSet:e}=O(),{language:t,countryCode:n,context:r}=N(),{aiAgentInfo:s,refreshActiveChannel:a,createConversation:i,setActiveChannel:l}=W(),{onOpenConversationView:c}=qt();return o.createElement(nd,{role:"button",onClick:async()=>{if(s.isMultipleActiveConversationsEnabled){const m=await i({aiAgentId:s.userId,language:t,country:n,context:r});l({url:m,status:U.ConversationStatus.OPEN}),c(m,U.ConversationStatus.OPEN)}else{const m=await a();c(m,U.ConversationStatus.OPEN)}}},o.createElement(rd,{variant:"h1"},e.TALK_TO_AGENT))},nd=h.default.div`background-color:${({theme:e})=>e.colors.base.primary};display:flex;align-items:center;justify-content:center;padding:16px;cursor:pointer;`,rd=h.default(w)`color:${({theme:e})=>e.colors.base.primaryContrastContent};overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`,od=()=>{const{state:e}=N(),{stringSet:t}=O(),r=we()?24:16,s=()=>{e.setOpened(!1)};return o.createElement(id,null,o.createElement(ad,{variant:"h2",color:g.themedColor.textHighEmphasis},t.CONVERSATION_LIST__HEADER_TITLE),o.createElement(ld,null,o.createElement(sd,{size:r,onClick:s})),o.createElement(cd,null))},sd=({size:e,disabled:t,onClick:n})=>o.createElement(ud,{"aria-label":"close messenger",onClick:n,disabled:t},o.createElement($,{type:"close",size:e,color:g.themedColor.textHighEmphasis})),id=h.default.div`height:56px;box-sizing:border-box;display:flex;align-items:center;padding:11px 12px;border-bottom:1px solid ${g.themedColor.textDisabled};background-color:${({theme:e})=>e.colors.base.headerBackground};`,ad=h.default(w)`padding:0 4px;width:100%;box-sizing:border-box;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;`,ld=h.default.div`display:flex;gap:10px;align-items:center;justify-content:center;`,cd=h.default.div`position:absolute;bottom:0;width:100%;height:1px;background-color:${g.themedColor.textDisabled};`,ud=h.default.button`all:unset;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;&:disabled{cursor:not-allowed;}`,yr=({conversationListLimit:e,conversationListFilter:t,children:n,onOpenConversationView:r})=>{const{Template:s}=lt.useContext();return o.createElement(Er,{conversationListLimit:e,conversationListFilter:t,onOpenConversationView:r},o.createElement(md,null,o.createElement(s,null)),n)},lt=pe({template:dd,components:{Header:od,Body:ed,Footer:td}});function dd(){const{components:e}=lt.useContext();return o.createElement(o.Fragment,null,o.createElement(e.Header,null),o.createElement(e.Body,null),o.createElement(e.Footer,null))}const md=h.default.div`height:100%;width:100%;display:flex;flex-direction:column;flex:1;background-color:${({theme:e})=>e.colors.base.background};`,gd=S.css`:where(#${ne.ENTRY}) :not(code *){font-family:'Roboto',sans-serif;box-sizing:border-box;}`,hd=[gd,hs,fs],fd=(e,...t)=>S.createGlobalStyle(e,...hd,...t),pd=fd``,bd=jr(at,he,ot,st,lt,jt,it);function vr({appearance:e,rootElement:t,logger:n,language:r,stringSet:s,children:a,messageTemplate:i,theme:l}){return ys(os,t),o.createElement(S.StyleSheetManager,{target:t},o.createElement(bs,{rootElement:t,logger:n,appearance:e,theme:l},o.createElement(Vo,{internalVariables:i==null?void 0:i.__internalVariables},o.createElement(gs,{stringSet:s,logger:n,language:r},o.createElement(bd,null,a,o.createElement(pd,null))))))}const Ve={},ze={getItem:e=>{try{return localStorage.getItem(e)}catch{return Ve[e]??null}},setItem:(e,t)=>{try{localStorage.setItem(e,t)}catch{Ve[e]=t}},deleteItem:e=>{try{localStorage.removeItem(e)}catch{delete Ve[e]}},getKeys:e=>{try{const t=[];for(let n=0;n<localStorage.length;n++){const r=localStorage.key(n);r&&r.startsWith(e)&&t.push(r)}return t}catch{return Object.keys(Ve).filter(t=>t.startsWith(e))}}},Kt=u.forwardRef(function({rootElement:t=document.body,logLevel:n=z.LogLevel.WARN,language:r=navigator.language,userSessionInfo:s,children:a,...i},l){var c,m;return $e.level!==n&&($e.level=n),Es("https://fonts.googleapis.com/css2?family=Roboto&display=swap",t),o.createElement("div",{id:ne.ENTRY,style:{width:"fit-content",height:"fit-content",...i.entryStyle}},o.createElement(vr,{logger:$e,rootElement:t,appearance:(c=i.agentPreviewConfigs)==null?void 0:c.appearance,stringSet:i.stringSet,language:r,messageTemplate:i.messageTemplate,theme:i.theme},o.createElement(_s,{rootElement:t,keyValueStorage:{get:ze.getItem,set:ze.setItem,delete:ze.deleteItem,getKeys:ze.getKeys},language:r,logger:$e,dispatcher:Cr,chatParams:{...i.chatParams,customApiHost:i.customApiHost,customWebSocketHost:i.customWebSocketHost},chatSDK:i.customChatSDK,...i},o.createElement(Ts,{ref:l,userSessionInfo:s,forceCreateChannel:(m=i.agentPreviewConfigs)==null?void 0:m.forceCreateChannel},o.createElement(Rl,{...i._UNSAFE_INTERNAL_dashboardTester},a,o.createElement("div",{id:ne.MODAL_ROOT}))))))}),$e=new $n(z.LogLevel.WARN),Cr=new kn($e),_r=({children:e,isOpened:t})=>{const{dir:n,rootElement:r}=N(),s=me(r,!0);return u.useEffect(()=>{const a="sb-agent-block-scroll";return t?s.body.classList.add(a):s.body.classList.remove(a),()=>{s.body.classList.remove(a)}},[s,t]),o.createElement(xd,{dir:n,$visible:t},e)},xd=h.default.div`width:100%;height:100%;position:fixed;top:0;left:0;z-index:${be.WINDOW};visibility:${({$visible:e})=>e?"visible":"hidden"};`,Ed=48,yd=2/3;function Sr({className:e,isOpened:t,onClick:n,type:r,imageUrl:s,dir:a,animated:i=!0,backgroundColor:l,size:c=Ed}){const m=Ct(l),p=Math.round(c*yd);return o.createElement(_d,{dir:a,id:ne.LAUNCHER,className:e,"aria-label":"Sendbird AIAgent Launcher",onClick:n,$animated:i,$backgroundColor:l,$size:c},o.createElement(Sd,{$isOpened:t,$animated:i,$fillColor:m,$iconSize:p},o.createElement(wn.Open,{url:s,isDefaultIcon:r==="default_icon",size:p})),o.createElement(Td,{$isOpened:t,$animated:i,$fillColor:m,$iconSize:p},o.createElement(wn.Close,{size:p})))}const vd=S.css`&:hover{transition:transform 250ms cubic-bezier(0.33,0,0,1);transform:scale(1.1);}&:active{transform:scale(0.8);}`,Cd=S.css`img{width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;&[data-default-icon='true']{width:${({$iconSize:e})=>e}px;height:${({$iconSize:e})=>e}px;filter:${({$fillColor:e})=>e===Hn.WHITE?"grayscale(100%) brightness(2000%)":"grayscale(100%) invert(100%) saturate(0%) brightness(0%) contrast(1000%)"};}}`,Tr=S.css`svg{width:${({$iconSize:e})=>e}px;height:${({$iconSize:e})=>e}px;${({$fillColor:e})=>S.css`
266
- path {
267
- fill: ${e};
268
- }
269
- [class*='fill'] {
270
- fill: ${e};
271
- }
272
- `}
273
- }
274
- `,_d=h.default.button`position:relative;padding:0;width:${({$size:e})=>e}px;height:${({$size:e})=>e}px;background:${({$backgroundColor:e})=>e};border-radius:50%;transition:all 0.3s cubic-bezier(0.31,-0.105,0.43,1.4);border:none;display:flex;justify-content:center;align-items:center;box-shadow:0 16px 24px 2px rgba(33,33,33,0.12),0 6px 30px 5px rgba(33,33,33,0.08),0 6px 10px -5px rgba(33,33,33,0.04);${({$animated:e})=>e&&vd}`,wr=h.default.span`position:absolute;width:100%;height:100%;border-radius:50%;overflow:hidden;transition:transform 0.16s linear,opacity 0.08s linear,scale 0.16s linear;user-select:none;display:flex;justify-content:center;align-items:center;`,Sd=h.default(wr)`opacity:${({$isOpened:e})=>e?0:1};transform:${({$animated:e,$isOpened:t})=>e&&(t?"rotate(-90deg) scale(0)":"rotate(0deg)")};${Cd}${Tr}`,Td=h.default(wr)`scale:${({$isOpened:e})=>e?1:0};transform:${({$animated:e,$isOpened:t})=>e&&(t?"rotate(0deg)":"rotate(-90deg)")};${Tr}`,wn={Open:e=>e.url?o.createElement("img",{src:e.url,alt:"launcher-img","data-default-icon":e.isDefaultIcon}):o.createElement($,{size:e.size,type:"bot-filled"}),Close:({size:e})=>o.createElement($,{size:e,type:"chevron-down"})};function Ar({className:e,size:t}){const{colors:n}=S.useTheme(),{dir:r,state:s}=N(),{launcherInfo:a}=W();return Ad(),o.createElement(Sr,{dir:r,className:e,isOpened:s.opened,onClick:()=>s.setOpened(!s.opened),type:a.type,imageUrl:a.imageUrl,backgroundColor:n.base.primary,size:t})}const wd=1e3*60;function Ad(){const{chatSDK:e,state:t,logger:n,enableAutoDisconnectInLauncher:r}=N(),s=u.useRef(null);u.useEffect(()=>{if(!r)return;function a(){s.current&&(clearTimeout(s.current),s.current=null)}function i(){e.connectionState===z.ConnectionState.CLOSED&&(e.reconnect(),n.debug("useSDKInactivityTimeout: reconnected")),a(),n.debug("useSDKInactivityTimeout: clear disconnect schedule")}function l(){a(),s.current=setTimeout(async()=>{await e.disconnectWebSocket(),n.debug("useSDKInactivityTimeout: disconnected")},wd)}t.opened?i():(l(),n.debug("useSDKInactivityTimeout: schedule disconnect"))},[r,e,t.opened])}const kr=u.createContext(null);function $r(){const e=u.useContext(kr);if(!e)throw new Error("useNavigator() must be used within <Navigator />");return e}function Ir({children:e}){const t=$r();return typeof e=="function"?e(t):o.createElement(o.Fragment,null,e)}const kd=S.keyframes`0%{transform:translateY(40px);opacity:0;}100%{transform:translateY(0px);opacity:1;}`,$d=S.keyframes`0%{transform:translateY(0px);opacity:1;}100%{transform:translateY(40px);opacity:0;}`,Id=S.css`animation-name:${kd};animation-duration:0.3s;animation-fill-mode:forwards;`,Md=S.css``,Ld=S.css`animation-name:${$d};animation-duration:0.3s;animation-fill-mode:forwards;`,Od=S.css`visibility:hidden;`,Rd=h.default.div`position:absolute;top:0;left:0;width:100%;height:100%;${({$transitionState:e})=>{switch(e){case"entering":return Id;case"entered":return Md;case"exiting":return Ld;case"exited":return Od;default:return""}}}${({$active:e})=>e?S.css`
275
- z-index: 999;
276
- `:S.css`z-index:1;pointer-events:none;`}
277
- `;function qe({initialId:e,children:t}){const[n,r]=u.useState([e]),s=n[n.length-1],a=u.useCallback((d,b)=>{r(C=>[...C,d]),f(C=>({...C,[d]:!0})),b!=null&&b.reset&&x(C=>({...C,[d]:(C[d]||0)+1})),y(C=>({...C,[d]:"entering"})),setTimeout(()=>{y(C=>({...C,[d]:"entered"}))},300)},[]),i=u.useCallback(()=>{r(d=>{if(d.length<=1)return d;const b=d[d.length-1];return y(C=>({...C,[b]:"exiting"})),setTimeout(()=>{y(C=>({...C,[b]:"exited"})),r(C=>C.slice(0,-1))},300),d})},[]),l=u.useMemo(()=>({navigation:{navigate:a,pop:i},activeScreenId:s}),[a,i,s]),c=u.useMemo(()=>u.Children.toArray(t).filter(d=>d.type===Ir),[t]),m=u.useMemo(()=>{const d={};return c.forEach(b=>{const{id:C,lazy:_,children:A}=b.props;d[C]={lazy:_,element:typeof A=="function"?A(l):A}}),d},[c,l]),[p,f]=u.useState(()=>{const d={};return Object.entries(m).forEach(([b,{lazy:C}])=>{C===!1&&(d[b]=!0)}),d[e]=!0,d}),[E,y]=u.useState(()=>{const d={};return Object.keys(m).forEach(b=>{b===e?d[b]="entered":d[b]="exited"}),d}),[v,x]=u.useState({});return o.createElement(kr.Provider,{value:l},o.createElement(Dd,null,Object.keys(m).map(d=>{var A;if(!p[d])return null;const b=E[d]||"exited",C=d===s,_=`${d}-${v[d]||0}`;return o.createElement(Rd,{key:_,$transitionState:b,$active:C},(A=m[d])==null?void 0:A.element)})))}const Dd=h.default.div`position:relative;width:100%;height:100%;`;qe.Screen=Ir;const ee={conv:"conv",convList:"conv-list"},Mr=({entryPoint:e,selectedChannelUrl:t,setSelectedChannelUrl:n})=>{const r=fe(()=>{switch(e){case"Conversation":return ee.conv;case"ConversationList":return ee.convList;default:return ee.conv}}),s=o.createElement(o.Fragment,null,o.createElement(Pd,{onOpenConversationView:n}));return o.createElement(qe,{initialId:r},o.createElement(qe.Screen,{id:ee.conv},({navigation:a,activeScreenId:i})=>o.createElement(xr,{key:t,channelUrl:t,onClearChannelUrl:()=>n(void 0),onNavigateToConversationList:()=>a.navigate(ee.convList),shouldMarkAsRead:i===ee.conv},s)),o.createElement(qe.Screen,{id:ee.convList,lazy:!0},({navigation:a})=>o.createElement(yr,{onOpenConversationView:i=>{n(i),a.navigate(ee.conv)}},s)))},Pd=({onOpenConversationView:e})=>{const{registerOnJoinedProactiveConversation:t}=W(),{navigation:n}=$r();return t(({channel:r})=>{e(r.url),n.navigate(ee.conv)}),null};function Nd({isExpanded:e,isOpened:t,children:n,launcher:r}){const{dir:s}=N();return o.createElement(Fd,null,o.createElement(Bd,{dir:s,id:ne.WINDOW,$isExpanded:e,$isOpened:t},n),r)}const Fd=h.default.div`display:flex;flex-direction:column;gap:8px;align-items:flex-end;`,Bd=h.default.div`background:${({theme:e})=>e.colors.base.background};display:flex;overscroll-behavior:none;-webkit-overflow-scrolling:auto;height:640px;min-height:80px;width:400px;max-width:80vw;max-height:80vh;box-shadow:0px 16px 24px 2px rgba(33,33,33,0.12),0px 6px 30px 5px rgba(33,33,33,0.08),0px 6px 10px -5px rgba(33,33,33,0.04);border-radius:16px;overflow:hidden;transition:width 200ms ease 0s,height 200ms ease 0s,max-height 200ms ease 0s,transform 150ms cubic-bezier(0,1.2,1,1) 0s,opacity 83ms ease-out 0s;transform:scale(0.15);opacity:0;transform-origin:right bottom;[dir='rtl'] &:not([dir='ltr']),&[dir='rtl']{transform-origin:left bottom;}${({$isOpened:e})=>e&&Hd};${({$isExpanded:e})=>e&&Ud};`,Ud=S.css`width:743px;height:723px;`,Hd=S.css`z-index:${be.WINDOW};pointer-events:all;transform:scale(1);opacity:1;transition:width 200ms ease 0s,height 200ms ease 0s,max-height 200ms ease 0s,transform 300ms cubic-bezier(0,1.2,1,1) 0s,opacity 83ms ease-out 0s;`,Vd=u.forwardRef(function({children:e,...t},n){const r=we(),[s,a]=u.useState(),i=r?_r:Nd;return o.createElement(Kt,{enableExpandButton:!r,ref:n,...t},o.createElement(Un,null,({state:l})=>o.createElement(o.Fragment,null,o.createElement(i,{isExpanded:l.expanded,isOpened:l.opened,launcher:o.createElement(Ar,null)},o.createElement(Mr,{entryPoint:t.entryPoint,selectedChannelUrl:s,setSelectedChannelUrl:a})),e)))}),{Provider:zd,useContext:Yt}=G("FixedMessengerStyle");function Lr(e,t,n,r=0){const{top:s,bottom:a,start:i,end:l}=n;let c="",m="";switch(e){case"start":m=`inset-inline-start: ${J(i)}`;break;case"end":m=`inset-inline-end: ${J(l)}`;break}switch(t){case"top":c=`top: calc(${J(s)} + ${r}px)`;break;case"bottom":c=`bottom: calc(${J(a)} + ${r}px)`;break}return S.css`${c};${m};`}function Wd(e){const{horizontal:t,vertical:n,margin:r,launcherSize:s}=Yt();return o.createElement(Gd,{...e,size:s,$horizontal:t,$vertical:n,$margin:r})}const Gd=h.default(Ar)`position:fixed;z-index:${be.LAUNCHER};${({$horizontal:e,$vertical:t,$margin:n})=>Lr(e,t,n)};`;function qd({isExpanded:e,isOpened:t,children:n}){const{dir:r}=N(),{horizontal:s,vertical:a,margin:i,launcherSize:l}=Yt();return o.createElement(jd,{dir:r,id:ne.WINDOW,$isExpanded:e,$isOpened:t,$horizontal:s,$vertical:a,$margin:i,$launcherSize:l},n)}const jd=h.default.div`background:${({theme:e})=>e.colors.base.background};display:flex;overscroll-behavior:none;-webkit-overflow-scrolling:auto;position:fixed;${({$horizontal:e,$vertical:t,$margin:n,$launcherSize:r})=>Lr(e,t,n,r+12)};height:640px;min-height:80px;width:400px;max-width:80vw;max-height:80vh;box-shadow:0px 16px 24px 2px rgba(33,33,33,0.12),0px 6px 30px 5px rgba(33,33,33,0.08),0px 6px 10px -5px rgba(33,33,33,0.04);border-radius:16px;overflow:hidden;transition:width 200ms ease 0s,height 200ms ease 0s,max-height 200ms ease 0s,transform 150ms cubic-bezier(0,1.2,1,1) 0s,opacity 83ms ease-out 0s;transform:scale(0.15);opacity:0;transform-origin:${({$horizontal:e,$vertical:t})=>`${e==="start"?"left":"right"} ${t}`};
278
- [dir='rtl'] &:not([dir='ltr']),
279
- &[dir='rtl'] {
280
- transform-origin: ${({$horizontal:e,$vertical:t})=>`${e==="start"?"right":"left"} ${t}`};
281
- }
282
-
283
- ${({$isOpened:e})=>e&&Yd};
284
- ${({$isExpanded:e})=>e&&Kd};
285
- `,Kd=S.css`width:743px;height:723px;`,Yd=S.css`z-index:${be.WINDOW};pointer-events:all;transform:scale(1);opacity:1;transition:width 200ms ease 0s,height 200ms ease 0s,max-height 200ms ease 0s,transform 300ms cubic-bezier(0,1.2,1,1) 0s,opacity 83ms ease-out 0s;`,Or={top:24,bottom:24,start:24,end:24},Zd=u.forwardRef(function({children:e,...t},n){const[r,s]=u.useState(),[a,i]=u.useState("end-bottom"),[l,c]=u.useState(Or),[m,p]=u.useState(48),f=we(),E=f?_r:qd,{horizontal:y,vertical:v}=u.useMemo(()=>{const[x,d]=a.split("-");return{horizontal:x==="start"?"start":"end",vertical:d==="top"?"top":"bottom"}},[a]);return o.createElement(Kt,{enableExpandButton:!f,ref:n,...t},o.createElement(Un,null,({state:x})=>o.createElement(zd,{value:{horizontal:y,vertical:v,margin:l,launcherSize:m,setPosition:i,setMargin:c,setLauncherSize:p}},o.createElement(E,{isExpanded:x.expanded,isOpened:x.opened},o.createElement(Mr,{entryPoint:t.entryPoint,selectedChannelUrl:r,setSelectedChannelUrl:s})),o.createElement(Wd,null),e)))}),Jd=e=>{var s,a,i,l;const{setPosition:t,setMargin:n,setLauncherSize:r}=Yt();return u.useLayoutEffect(()=>{e.position&&t(e.position),e.margin&&n({...Or,...e.margin}),e.launcherSize&&r(e.launcherSize)},[e.position,(s=e.margin)==null?void 0:s.top,(a=e.margin)==null?void 0:a.bottom,(i=e.margin)==null?void 0:i.start,(l=e.margin)==null?void 0:l.end,e.launcherSize]),null},Xd=Object.assign(Zd,{Style:Jd});exports.ANCHOR_REL=nt;exports.AgentProviderContainer=Kt;exports.AgentUIProviderContainer=vr;exports.AnonymousSessionInfo=_t;exports.CSATType=X;exports.Conversation=xr;exports.ConversationContext=ec;exports.ConversationContextProvider=cr;exports.ConversationLayout=at;exports.ConversationList=yr;exports.ConversationListContext=Vu;exports.ConversationListContextProvider=Er;exports.ConversationListItemLayout=jt;exports.ConversationListLayout=lt;exports.DefaultMessenger=Vd;exports.DispatcherCommands=In;exports.FixedMessenger=Xd;exports.IncomingMessageLayout=he;exports.LauncherBase=Sr;exports.LogLevel=It;exports.ManualSessionInfo=On;exports.MessageLogs=or;exports.OutgoingMessageLayout=ot;exports.PlaceholderLayout=it;exports.SystemMessageLayout=st;exports.cssVars=g;exports.messengerDispatcher=Cr;exports.useConversationContext=q;exports.useConversationListContext=qt;exports.useLocalizationContext=O;exports.useMessengerContext=N;exports.useMessengerSessionContext=W;