@sendbird/ai-agent-messenger-react 1.2.3 → 1.2.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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),o=require("./BfJ7Izyu.cjs");function a(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 l=a(c),u=({label:e="No channels",...t})=>l.createElement(o.PlaceholderBase,{icon:"chat",label:e,...t});exports.default=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),o=require("./O1lLHzDh.cjs");function a(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 l=a(c),u=({label:e="No channels",...t})=>l.createElement(o.PlaceholderBase,{icon:"chat",label:e,...t});exports.default=u;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),a=require("styled-components"),o=require("./BfJ7Izyu.cjs"),s=e=>e&&e.__esModule?e:{default:e};function u(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const l=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,l.get?l:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const n=u(c),i=s(a),d=({label:e="Something went wrong",action:t,...r})=>n.createElement(o.PlaceholderBase,{icon:"error",label:e,...r},t&&n.createElement(f,{onClick:t.onClick,label:t.label??"Retry"})),f=({label:e,onClick:t})=>n.createElement(b,{tabIndex:0,onClick:t},n.createElement(o.Icon,{type:"refresh",size:20}),n.createElement(o.Label,{variant:"button",color:o.cssVars.color.primary.main},e)),b=i.default.button`all:unset;display:flex;cursor:pointer;gap:4px;align-items:center;justify-content:center;`;exports.default=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),a=require("styled-components"),o=require("./O1lLHzDh.cjs"),s=e=>e&&e.__esModule?e:{default:e};function u(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const l=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,l.get?l:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const n=u(c),i=s(a),d=({label:e="Something went wrong",action:t,...r})=>n.createElement(o.PlaceholderBase,{icon:"error",label:e,...r},t&&n.createElement(f,{onClick:t.onClick,label:t.label??"Retry"})),f=({label:e,onClick:t})=>n.createElement(b,{tabIndex:0,onClick:t},n.createElement(o.Icon,{type:"refresh",size:20}),n.createElement(o.Label,{variant:"button",color:o.cssVars.color.primary.main},e)),b=i.default.button`all:unset;display:flex;cursor:pointer;gap:4px;align-items:center;justify-content:center;`;exports.default=d;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),c=require("./BfJ7Izyu.cjs");function a(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const u=a(o),i=({iconSize:e=48,className:t})=>u.createElement(c.Loader,{size:e,className:t});exports.default=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),c=require("./O1lLHzDh.cjs");function a(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const u=a(o),i=({iconSize:e=48,className:t})=>u.createElement(c.Loader,{size:e,className:t});exports.default=i;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),c=require("dompurify"),s=require("markdown-to-jsx"),x=require("styled-components"),n=require("./BfJ7Izyu.cjs"),a=t=>t&&t.__esModule?t:{default:t};function b(t){if(t&&t.__esModule)return t;const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const e=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(i,r,e.get?e:{enumerable:!0,get:()=>t[r]})}}return i.default=t,Object.freeze(i)}const o=b(l),g=a(c),u=a(s),m=a(x),f=(t,i,r,e)=>i.type===s.RuleType.textStrikethroughed?o.createElement("span",{key:e.key},`~~${r(i.children,e)}~~`):t(),w=({className:t,children:i,style:r,onClickImage:e})=>{const p=l.useCallback(d=>o.createElement("img",{...d,onClick:()=>d.src&&(e==null?void 0:e(d.src))}),[]);return o.createElement(y,{className:t,style:r},o.createElement(u.default,{options:{renderRule:f,overrides:{a:{component:({children:d,...h})=>o.createElement("a",{...h,target:"_blank",rel:n.ANCHOR_REL},d)},img:{component:p}}}},g.default.sanitize(i)))},y=m.default.div`*{&:first-child{margin-top:0;}&:last-child{margin-bottom:0;}}hr{border-top:1px solid ${n.cssVars.themedColor.textDisabled};margin:21px 0;}h1{margin-top:0;margin-bottom:12.4px;padding:0;font-size:22.4px;line-height:27.6px;font-weight:700;letter-spacing:-0.6px;}h2{font-weight:600;margin:24px 0 12px;font-size:18.2px;line-height:22.3px;}& :where(h3 + *){margin-top:0;}h3,h4,h5,h6{font-weight:600;margin:16px 0 8px;font-size:15.4px;line-height:22.4px;}p{font-size:14px;line-height:20px;margin-bottom:8px;margin-top:0;&:not(:first-child){margin-top:8px;}}a{color:inherit;font-weight:700;text-decoration:underline;}code{white-space:pre-wrap;border-radius:0.25rem;font-size:0.875em;font-weight:500;padding:2.4px 4.8px;background-color:${n.cssVars.themedColor.textDisabled};}menu{list-style:none;}ul{list-style-type:disc;}ol{list-style-type:decimal;}ul,ol{padding-inline-start:16px;margin:8px 0;& > li{padding-inline-start:0;margin:8px 0;& > ul,& > ol{margin-top:8px;& > li{margin:4px 0;}}}}p + ul,p + ol{margin-top:0;}blockquote{line-height:20px;margin:0;padding:4.8px 0;margin-inline-start:8px;padding-inline-start:16px;box-sizing:border-box;position:relative;font-style:normal;font-weight:500;border-inline-start-width:4px;&::before{border-radius:100px;content:'';position:absolute;top:0;left:0;height:100%;width:4px;background-color:${n.cssVars.themedColor.textDisabled};}}input[type='checkbox']{vertical-align:middle;margin:0;}table{unicode-bidi:isolate;overflow-wrap:break-word;white-space:normal;display:block;overflow-x:scroll;max-width:100%;text-indent:0;border-collapse:separate;border-spacing:0;margin:4px 0;text-align:start;font-size:12.3px;table-layout:auto;width:100%;*,&:after,&:before{border:0 solid;box-sizing:border-box;}}th:first-child{border-start-start-radius:6px;padding-inline-start:10.5px;}th:last-child{border-inline-end-width:1px;border-start-end-radius:6px;padding-inline-end:10.5px;}th{border-inline-start-width:1px;background-color:rgba(0,0,0,0.1);border-bottom-width:1px;border-color:${n.cssVars.themedColor.textDisabled};border-top-width:1px;padding:4px 10.5px;text-align:start;}& :where(thead th:first-child){padding-inline-start:0;}& :where(thead th:last-child){padding-inline-end:0;}& :where(thead th){padding-bottom:8px;padding-inline:8px;vertical-align:bottom;}& :where(tbody tr){border-bottom-width:1px;}& :where(tbody tr:last-child){border-bottom-width:0;}td:first-child{padding-inline-start:10.5px;}td:last-child{border-inline-end-width:1px;padding-inline-end:10.5px;}& :where(tbody td:first-child,tfoot td:first-child){padding-inline-start:0;}& :where(tbody td:last-child,tfoot td:last-child){padding-inline-end:0;}td{border-inline-start-width:1px;border-bottom-width:1px;border-color:${n.cssVars.themedColor.textDisabled};padding:4px 10.5px;text-align:start;}& :where(tbody td,tfoot td){padding:8px;}& :where(tbody td){vertical-align:baseline;}tbody tr:last-child td:first-child{border-end-start-radius:6px;}tbody tr:last-child td:last-child{border-end-end-radius:6px;}img{max-width:100%;height:auto;}`;exports.MarkdownText=w;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),c=require("dompurify"),s=require("markdown-to-jsx"),x=require("styled-components"),n=require("./O1lLHzDh.cjs"),a=t=>t&&t.__esModule?t:{default:t};function b(t){if(t&&t.__esModule)return t;const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const e=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(i,r,e.get?e:{enumerable:!0,get:()=>t[r]})}}return i.default=t,Object.freeze(i)}const o=b(l),g=a(c),u=a(s),m=a(x),f=(t,i,r,e)=>i.type===s.RuleType.textStrikethroughed?o.createElement("span",{key:e.key},`~~${r(i.children,e)}~~`):t(),w=({className:t,children:i,style:r,onClickImage:e})=>{const p=l.useCallback(d=>o.createElement("img",{...d,onClick:()=>d.src&&(e==null?void 0:e(d.src))}),[]);return o.createElement(y,{className:t,style:r},o.createElement(u.default,{options:{renderRule:f,overrides:{a:{component:({children:d,...h})=>o.createElement("a",{...h,target:"_blank",rel:n.ANCHOR_REL},d)},img:{component:p}}}},g.default.sanitize(i)))},y=m.default.div`*{&:first-child{margin-top:0;}&:last-child{margin-bottom:0;}}hr{border-top:1px solid ${n.cssVars.themedColor.textDisabled};margin:21px 0;}h1{margin-top:0;margin-bottom:12.4px;padding:0;font-size:22.4px;line-height:27.6px;font-weight:700;letter-spacing:-0.6px;}h2{font-weight:600;margin:24px 0 12px;font-size:18.2px;line-height:22.3px;}& :where(h3 + *){margin-top:0;}h3,h4,h5,h6{font-weight:600;margin:16px 0 8px;font-size:15.4px;line-height:22.4px;}p{font-size:14px;line-height:20px;margin-bottom:8px;margin-top:0;&:not(:first-child){margin-top:8px;}}a{color:inherit;font-weight:700;text-decoration:underline;}code{white-space:pre-wrap;border-radius:0.25rem;font-size:0.875em;font-weight:500;padding:2.4px 4.8px;background-color:${n.cssVars.themedColor.textDisabled};}menu{list-style:none;}ul{list-style-type:disc;}ol{list-style-type:decimal;}ul,ol{padding-inline-start:16px;margin:8px 0;& > li{padding-inline-start:0;margin:8px 0;& > ul,& > ol{margin-top:8px;& > li{margin:4px 0;}}}}p + ul,p + ol{margin-top:0;}blockquote{line-height:20px;margin:0;padding:4.8px 0;margin-inline-start:8px;padding-inline-start:16px;box-sizing:border-box;position:relative;font-style:normal;font-weight:500;border-inline-start-width:4px;&::before{border-radius:100px;content:'';position:absolute;top:0;left:0;height:100%;width:4px;background-color:${n.cssVars.themedColor.textDisabled};}}input[type='checkbox']{vertical-align:middle;margin:0;}table{unicode-bidi:isolate;overflow-wrap:break-word;white-space:normal;display:block;overflow-x:scroll;max-width:100%;text-indent:0;border-collapse:separate;border-spacing:0;margin:4px 0;text-align:start;font-size:12.3px;table-layout:auto;width:100%;*,&:after,&:before{border:0 solid;box-sizing:border-box;}}th:first-child{border-start-start-radius:6px;padding-inline-start:10.5px;}th:last-child{border-inline-end-width:1px;border-start-end-radius:6px;padding-inline-end:10.5px;}th{border-inline-start-width:1px;background-color:rgba(0,0,0,0.1);border-bottom-width:1px;border-color:${n.cssVars.themedColor.textDisabled};border-top-width:1px;padding:4px 10.5px;text-align:start;}& :where(thead th:first-child){padding-inline-start:0;}& :where(thead th:last-child){padding-inline-end:0;}& :where(thead th){padding-bottom:8px;padding-inline:8px;vertical-align:bottom;}& :where(tbody tr){border-bottom-width:1px;}& :where(tbody tr:last-child){border-bottom-width:0;}td:first-child{padding-inline-start:10.5px;}td:last-child{border-inline-end-width:1px;padding-inline-end:10.5px;}& :where(tbody td:first-child,tfoot td:first-child){padding-inline-start:0;}& :where(tbody td:last-child,tfoot td:last-child){padding-inline-end:0;}td{border-inline-start-width:1px;border-bottom-width:1px;border-color:${n.cssVars.themedColor.textDisabled};padding:4px 10.5px;text-align:start;}& :where(tbody td,tfoot td){padding:8px;}& :where(tbody td){vertical-align:baseline;}tbody tr:last-child td:first-child{border-end-start-radius:6px;}tbody tr:last-child td:last-child{border-end-end-radius:6px;}img{max-width:100%;height:auto;}`;exports.MarkdownText=w;
@@ -1,4 +1,4 @@
1
- "use strict";const d=require("react"),U=require("@sendbird/chat"),T=require("styled-components"),Te=require("date-fns"),gr=require("date-fns/locale/en-US"),F=require("@sendbird/chat/aiAgent"),je=require("@sendbird/uikit-tools"),He=require("@sendbird/chat/groupChannel"),ut=require("@sendbird/react-uikit-message-template-view"),fr=require("@sendbird/uikit-message-template"),pr=require("dompurify"),mn=require("@sendbird/chat/message"),br=require("date-fns/isSameDay"),xr=require("react-dom"),Er=require("@emotion/is-prop-valid"),qe=e=>e&&e.__esModule?e:{default:e};function vr(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 o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const r=vr(d),Cr=qe(U),m=qe(T),hn=qe(pr),yr=qe(Er),V=(e,t)=>{const n=d.createContext(null),o=({children:i,value:l})=>r.createElement(n.Provider,{value:l},typeof i=="function"?i(l):i),s=({children:i})=>r.createElement(n.Consumer,null,l=>l?typeof i=="function"?i(l):i:null),a=()=>{const i=d.useContext(n);if(!i)throw new Error(`use${e}Context must be used within a ${e}Provider`);return i};return n.displayName=`${e}Context`,o.displayName=`${e}Provider`,s.displayName=`${e}Consumer`,a.displayName=`use${e}Context`,{Context:n,Provider:o,Consumer:s,useContext:a}};function Ee(e){const t=d.createContext({Template:e.template,updateTemplate:()=>{},components:e.components,updateComponent:()=>{}});function n({children:a}){const[i,l]=d.useState(()=>e.template),[c,u]=d.useState(e.components),h={Template:i,updateTemplate:f=>l(()=>f),components:c,updateComponent:(f,p)=>u(E=>({...E,[f]:p}))};return r.createElement(t.Provider,{value:h},a)}function o({template:a,children:i}){const{updateTemplate:l}=d.useContext(t);return d.useEffect(()=>{a&&l(a)},[a]),r.createElement(r.Fragment,null,i)}function s({children:a}){return r.createElement(n,null,a)}return s.defaults=e,s.useContext=()=>d.useContext(t),s.Context=t,s.Template=o,Object.keys(e.components).forEach(a=>{s[a]=function({component:l}){const{updateComponent:c}=d.useContext(t);return d.useEffect(()=>{l&&c(a,l)},[l]),null}}),s}function _r(...e){return function({children:n}){return e.reduce((o,s)=>r.createElement(s,null,o),n)}}function mt(){}function Sr(){const e=/iPad|iPhone|iPod/.test(navigator.userAgent),t=/Android/.test(navigator.userAgent);return e||t}const Nt=e=>{try{return JSON.parse(e===""?"{}":e)}catch{return{}}},Ke={isStreaming(e){const t=Nt(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 o=Nt(e.data);return!(o!=null&&o.respond_mesg_id)&&!(o!=null&&o.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"),o=n(it.ui),s=n(it.trail),a=n(it.marking);return{ui:o,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}},it={ui:["suggested_replies","cta_button","message_template","csat"],trail:["groundedness","manual","function_calls"],marking:["is_hallucination","is_moderated","flagged_types"]};class gn{constructor(t){this.logger=t,this.subscribers={}}async send(t){const n=Tr(),o=this.subscribers[t.type];if(o){this.logger.debug(`messenger.dispatcher: dispatching command: ${t.type}`,t.payload);const s=o.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(o=>o!==n))}}const Tr=()=>{let e=mt,t=mt;return{promise:new Promise((o,s)=>{e=o,t=s}),resolve:e,reject:t}},wr="1.2.3",ye="sb-agent",kr=wr;var vt=(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))(vt||{});class fn{constructor(t){this.level=t}verbose(...t){this.level<=0&&console.log(`[${ye}/verbose]`,...t)}debug(...t){this.level<=1&&console.log(`[${ye}/debug]`,...t)}info(...t){this.level<=2&&console.log(`[${ye}/info]`,...t)}warn(...t){this.level<=3&&console.warn(`[${ye}/warn]`,...t)}error(...t){this.level<=4&&console.error(`[${ye}/error]`,...t)}}function Bt(e,t,n){const o=Cr.default.init({appId:e,modules:[new He.GroupChannelModule,new F.AIAgentModule],localCacheEnabled:!0,...n});return o.addSendbirdExtensions([{version:kr,product:U.SendbirdProduct.AI_AGENT,platform:t.platform}],{platform:t.deviceOSPlatform,version:t.deviceOSVersion},t.customData)||console.warn("Invalid Sendbird Extensions",t),o}const{Provider:Ar,useContext:Ze}=V("AIAgent");function Ir({appId:e,aiAgentId:t,language:n,countryCode:o,context:s,chatSDK:a,chatParams:i,children:l,logger:c,dispatcher:u,extensions:h={platform:U.SendbirdPlatform.JS,deviceOSPlatform:Sr()?U.DeviceOsPlatform.MOBILE_WEB:U.DeviceOsPlatform.WEB}}){const[f,p]=d.useState(()=>{const E=c??new fn(vt.WARN),b=u??new gn(E);return{appId:e,aiAgentId:t,language:n,countryCode:o,context:s,logger:E,dispatcher:b,chatSDK:a??Bt(e,h,i)}});return d.useEffect(()=>{p(E=>{let b=E.logger,v=E.dispatcher,x=E.chatSDK;return c&&c!==E.logger&&(b=c),u&&u!==E.dispatcher&&(v=u),a&&a!==E.chatSDK?x=a:!a&&E.chatSDK.appId!==e&&(x=Bt(e,h,{newInstance:!0,...i})),{...E,appId:e,aiAgentId:t,language:n,countryCode:o,context:s,logger:b,dispatcher:v,chatSDK:x}})},[e,t,n,o,s,c,u,a]),d.useEffect(()=>()=>{f.chatSDK.disconnectWebSocket()},[f.chatSDK]),r.createElement(Ar,{value:f},l)}const $r=(e,t,n)=>je.useGroupChannelMessages(e,t,{...n,strictStreamingOrder:!0});var ht=(e=>(e.ConversationClose="conv.close",e))(ht||{});class Mr{constructor(t={}){this.payload=t}toJSON(){return JSON.stringify({type:this.type,payload:this.payload})}}const pn={CloseConversation:e=>new Lr(e)};class Lr extends Mr{constructor(){super(...arguments),this.type="conv.close"}}const{Provider:Or}=V("AIAgentConversation");function Rr({children:e,channelUrl:t,onChannelDeleted:n,onMessagesReceived:o,onMessagesUpdated:s,onConversationClosedViaDispatcher:a,onBeforeSendMessage:i,onAfterSendMessage:l=mt}){var x;const{chatSDK:c,logger:u,dispatcher:h}=Ze(),{channel:f,channelFetchError:p,fetchChannel:E}=Pr(t),b=$r(c,f,{shouldCountNewMessages:()=>!1,onChannelDeleted:n,onMessagesReceived:C=>o==null?void 0:o(C),onMessagesUpdated:C=>s==null?void 0:s(C),logger:u});d.useEffect(()=>{const C=async _=>{const w=typeof(_==null?void 0:_.channelUrl)=="string";f&&w&&_.channelUrl!==f.url||(u.debug("conversation.dispatcher: try to close conversation",f),f!=null&&f.conversation&&f.conversation.status===F.ConversationStatus.OPEN&&(await f.closeConversation(),a==null||a()))};return h.subscribe(ht.ConversationClose,C),()=>{h.unsubscribe(ht.ConversationClose,C)}},[h,(x=f==null?void 0:f.conversation)==null?void 0:x.status,a]);const v={conversation:(f==null?void 0:f.conversation)??void 0,channelSource:{channel:f,error:p,refetch:()=>E()},messageSource:{messages:b.messages,initialized:b.initialized,loadPrevious:()=>b.loadPrevious(),loadNext:()=>b.loadNext(),sendUserMessage:async C=>{var w;if(((w=f==null?void 0:f.conversation)==null?void 0:w.status)===F.ConversationStatus.CLOSED)throw new Error("Conversation is closed");i&&(C=await i(C));const _=await b.sendUserMessage(C,l);return l==null||l(_),_},sendFileMessage:async C=>{var w;if(((w=f==null?void 0:f.conversation)==null?void 0:w.status)===F.ConversationStatus.CLOSED)throw new Error("Conversation is closed");i&&(C=await i(C));const _=await b.sendFileMessage(C,l);return l==null||l(_),_}}};return r.createElement(Or,{value:v},e)}function Pr(e){const{chatSDK:t,logger:n}=Ze(),[o,s]=d.useState(void 0),[a,i]=d.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);const u=new U.ConnectionHandler({onReconnectSucceeded:()=>c.refresh()});t.addConnectionHandler("sba-refresh",u),n.debug("conversation.fetchChannel: fetched channel",c)}catch(c){c instanceof U.SendbirdError&&i(c),n.error("conversation.fetchChannel: error",c)}}return d.useEffect(()=>{l()},[e,t]),{channel:o,channelFetchError:a,fetchChannel:l}}class Dr{constructor(t,{filter:n,limit:o=20}){var s,a,i,l,c;this._isDisposed=!1,this._handlerId=`handler-id-${Date.now()}`,this._order=He.GroupChannelListOrder.LATEST_LAST_MESSAGE,this.filter=n,this._sdk=t,this._pinnedChannels=[],this._channels=[],this._limit=o,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,limit:this._limit}),this._token="",this._timestamp=Number.MAX_SAFE_INTEGER,this._isSyncing=!1,this._channelHandler=new He.GroupChannelHandler({onChannelChanged:u=>{u.isGroupChannel()&&(this._query.belongsTo(u)?this._addChannelsToView([u],!1):this._removeChannelsFromView([u.url]))},onChannelDeleted:u=>{this._removeChannelsFromView([u])}}),this._connectionHandler=new U.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)??[]),o=t.find(l=>!n.has(l.url));let s;o?s=((i=o.lastMessage)==null?void 0:i.createdAt)??o.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)??[],o=new Map(n.map((c,u)=>[c,u])),s=[],a=[],i=[];for(const c of t){if(!this._query.belongsTo(c)){i.push(c.url);continue}const u=o.get(c.url);if(u===void 0)continue;const h=gt(this._pinnedChannels,c);h>=0?(this._pinnedChannels.splice(h,1),a.push(c)):s.push(c);const p=this._pinnedChannels.findIndex(b=>(o.get(b.url)??1/0)>u),E=p===-1?this._pinnedChannels.length:p;this._pinnedChannels.splice(E,0,c)}return{addedChannels:s,updatedChannels:a,unmatchedChannelUrls:i}}_upsertRegularChannelsToArray(t,n=!1){const o=[],s=[],a=[];for(const i of t){if(!this._query.belongsTo(i)){o.push(i.url);continue}const l=gt(this._channels,i),c=l<0;!c&&this._channels.splice(l,1);const h=Nr(this._channels,i,this._order).place,f=h===this._channels.length;c?f?(n||!this.hasMore)&&(this._channels.push(i),s.push(i)):(this._channels.splice(h,0,i),s.push(i)):(this._channels.splice(h,0,i),a.push(i))}return{addedChannels:s,updatedChannels:a,unmatchedChannelUrls:o}}_addChannelsToView(t,n=!1){var f,p,E,b,v;const o=new Set(((f=this.filter)==null?void 0:f.pinnedChannelUrls)??[]),s=[],a=[];for(const x of t)o.has(x.url)?s.push(x):a.push(x);const i=this._upsertPinnedChannelsToArray(s),l=this._upsertRegularChannelsToArray(a,n),c=i.addedChannels.concat(l.addedChannels),u=i.updatedChannels.concat(l.updatedChannels),h=i.unmatchedChannelUrls.concat(l.unmatchedChannelUrls);c.length>0&&((E=(p=this._collectionEventHandler)==null?void 0:p.onChannelsAdded)==null||E.call(p,c)),u.length>0&&((v=(b=this._collectionEventHandler)==null?void 0:b.onChannelsUpdated)==null||v.call(b,u)),h.length>0&&this._removeChannelsFromView(h)}_removeChannelsFromView(t){var s,a,i;const n=new Set(((s=this.filter)==null?void 0:s.pinnedChannelUrls)??[]),o=[];for(const l of t)if(n.has(l)){const c=this._pinnedChannels.findIndex(u=>u.url===l);c>=0&&(o.push(l),this._pinnedChannels.splice(c,1))}else{const c=this._channels.findIndex(u=>u.url===l);c>=0&&(o.push(l),this._channels.splice(c,1))}o.length>0&&((i=(a=this._collectionEventHandler)==null?void 0:a.onChannelsDeleted)==null||i.call(a,o))}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[]}setGroupChannelCollectionHandler(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 gt=(e,t)=>e.findIndex(n=>n.isIdentical(t)),Nr=(e,t,n)=>{if(e.length>0){const o=gt(e,t);let s=0,a=e.length-1,i=Math.floor((s+a)/2);for(;s<a;){const c=Ft(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:o}}return{place:Ft(e[i],t,n)>=0?i:i+1,oldPosition:o}}return{place:e.length,oldPosition:-1}},Ft=(e,t,n)=>{switch(n){case He.GroupChannelListOrder.LATEST_LAST_MESSAGE:if(e.lastMessage&&t.lastMessage){const o=t.lastMessage.createdAt-e.lastMessage.createdAt;return o===0?t.createdAt-e.createdAt:o}else return e.lastMessage?-1:t.lastMessage?1:t.createdAt-e.createdAt;default:return 0}};function Br(e,t){var b,v,x,C,_,w,S,W;const n=d.useId(),[o,s]=d.useState(!1),[a,i]=d.useState(null),[l,c]=d.useState([]),[u,h]=d.useState(null),f=d.useRef(!1),p=d.useCallback(async()=>{if(!f.current&&e.currentUser){f.current=!0,s(!1),i(null),c([]);try{u==null||u.dispose();const L=new Dr(e,t);L.setGroupChannelCollectionHandler({onChannelsAdded:()=>{c(L.channels)},onChannelsUpdated:()=>{c(L.channels)},onChannelsDeleted:()=>{c(L.channels)}}),await L.loadMore(),h(L),i(null)}catch(L){h(null),i(L)}finally{s(!0),f.current=!1}}},[e,(b=t.filter)==null?void 0:b.aiAgentChannelFilter,(x=(v=t.filter)==null?void 0:v.aiAgentConversationStatusFilter)==null?void 0:x.join(),(_=(C=t.filter)==null?void 0:C.aiAgentIds)==null?void 0:_.join(),(w=t.filter)==null?void 0:w.deskChannelFilter,(W=(S=t.filter)==null?void 0:S.pinnedChannelUrls)==null?void 0:W.join(),t.limit]),E=d.useCallback(async()=>{if(u)try{await u.loadMore()}catch(L){i(L)}},[u]);return d.useEffect(()=>(e.addConnectionHandler(n,new U.ConnectionHandler({onConnected:()=>p()})),()=>e.removeConnectionHandler(n)),[e,n,p]),d.useEffect(()=>{p()},[p]),d.useEffect(()=>()=>{f.current=!1,u==null||u.dispose()},[u]),{initialized:o,error:a,channels:l,loadMore:E}}const{Provider:Fr}=V("AIAgentConversationList");function zr({conversationListFilter:e,children:t}){const{chatSDK:n,aiAgentId:o}=Ze(),s=Br(n,{filter:{aiAgentIds:[o],aiAgentConversationStatusFilter:[F.ConversationStatus.CLOSED],...e}}),a={listSource:{initialized:s.initialized,error:s.error??void 0,channels:s.channels,loadMore:()=>s.loadMore()}};return r.createElement(Fr,{value:a},t)}const ft={DEFAULT_BOT_MSG_BG:"#eeeeee",WHITE:"#ffffff",BLACK:"#000000"};function bn(e){return e.length===4?`#${[...e.slice(1)].map(t=>t+t).join("")}`:e}function Ur(e){const t=bn(e);return[parseInt(t.slice(1,3),16),parseInt(t.slice(3,5),16),parseInt(t.slice(5,7),16)]}function Hr(e){return`#${e.map(t=>t.toString(16).padStart(2,"0")).join("")}`}function Vr(e,t,n){e/=255,t/=255,n/=255;const o=Math.max(e,t,n),s=Math.min(e,t,n),a=o-s;let i=0,l=0;const c=(o+s)/2;return o!==s&&(l=c>.5?a/(2-o-s):a/(o+s)),o===e?i=(t-n)/a+(t<n?6:0):o===t?i=(n-e)/a+2:o===n&&(i=(e-t)/a+4),i/=6,[i,l,c]}function Wr(e,t,n){let o,s,a;if(t===0)o=s=a=n;else{const i=function(h,f,p){return p<0&&(p+=1),p>1&&(p-=1),p<.16666666666666666?h+(f-h)*6*p:p<.5?f:p<.6666666666666666?h+(f-h)*(.6666666666666666-p)*6:h},l=n<.5?n*(1+t):n+t-n*t,c=2*n-l;o=i(c,l,e+1/3),s=i(c,l,e),a=i(c,l,e-1/3)}return[Math.round(o*255),Math.round(s*255),Math.round(a*255)]}function Oe(e,t,n){const[o,s,a]=Ur(e),[i,l,c]=Vr(o,s,a),u=Math.max(0,Math.min(1,c*t)),h=Math.max(0,Math.min(1,l*n)),[f,p,E]=Wr(i,h,u);return Hr([Math.round(f),Math.round(p),Math.round(E)])}function Gr(e,t="light"){return{extraDark:Oe(e,.6,1.2),dark:Oe(e,.85,1.1),main:e,light:Oe(e,t==="dark"?1.1:1.5,t==="dark"?.95:.9),extraLight:Oe(e,t==="dark"?1.2:1.75,t==="dark"?.9:.8)}}function pt(e){const t=bn(e),n=149,o=+`0x${t[1]}${t[2]}`,s=+`0x${t[3]}${t[4]}`,a=+`0x${t[5]}${t[6]}`;return o*.299+s*.587+a*.114>n?ft.BLACK:ft.WHITE}function jr(e,t,n,o,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:o},messageOutgoing:{text:n,background:t},csat:{background:e.background100}}}const qr=(e,t,n,o,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:o},messageOutgoing:{text:n,background:t},csat:{background:e.background400}}),Re={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)"}},at={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 zt(e){const t=Kr(e),{colors:n,aiAgentColorVariables:o}=Zr(e,t),s=Jr(e);return{selectedTheme:e.selectedTheme,palette:t,colors:n,aiAgentColorVariables:o,typography:s}}function Kr({selectedTheme:e,palette:t,primary:n}){const o=t!=null&&t.primary?t.primary:n?n===Re.primary.main?Re.primary:Gr(n,e):Re.primary;return{...Re,primary:o,...t}}function Zr({selectedTheme:e,primaryContrast:t,botMessageBackground:n,botMessageBackgroundContrast:o},s){const a=s.primary.main,i=t??pt(a),l=n??ft.DEFAULT_BOT_MSG_BG,c=o??pt(l);return{colors:(e==="light"?jr:qr)(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 Yr(e,t,n){const o={...e};return n.forEach(s=>{const a=t[s];a!=null&&(o[s]=a)}),o}function Jr({typography:e}){if(!e)return at;const t={...at};return Object.keys(e).forEach(n=>{const o=e[n];if(o&&typeof o=="object"){const s=at[n],a=["fontSize","fontWeight","fontFamily","lineHeight"];t[n]=Yr(s,o,a)}}),t}const{Provider:Xr,useContext:xn}=V("AIAgentTheme");function Qr({logger:e,palette:t,typography:n,appearance:o,children:s}){const[a,i]=d.useState(()=>zt({selectedTheme:(o==null?void 0:o.theme)??"light",palette:t,typography:n,primary:o==null?void 0:o.primaryColor,botMessageBackground:o==null?void 0:o.botMessageBackgroundColor})),l=d.useCallback((c,u)=>{const h=(o==null?void 0:o.theme)??c,f=u==null?void 0:u(h),p={primary:o==null?void 0:o.primaryColor,primaryContrast:void 0,botMessageBackground:o==null?void 0:o.botMessageBackgroundColor,botMessageBackgroundContrast:void 0};!p.primary&&(f!=null&&f.primaryColor)&&(p.primary=f.primaryColor,p.primaryContrast=f.primaryContrastColor),!p.botMessageBackground&&(f!=null&&f.botMessageBackgroundColor)&&(p.botMessageBackground=f.botMessageBackgroundColor,p.botMessageBackgroundContrast=f.botMessageBackgroundContrastColor);const E=zt({selectedTheme:h,palette:t,typography:n,...p});i(E),e==null||e.info("theme.update:",h)},[o==null?void 0:o.theme,o==null?void 0:o.primaryColor,o==null?void 0:o.botMessageBackgroundColor,t,n,e]);return d.useEffect(()=>{(o!=null&&o.theme||o!=null&&o.primaryColor||o!=null&&o.botMessageBackgroundColor)&&l(a.selectedTheme)},[o==null?void 0:o.theme,o==null?void 0:o.primaryColor,o==null?void 0:o.botMessageBackgroundColor]),r.createElement(Xr,{value:{theme:a,updateTheme:l}},s)}const En=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)}},ke=e=>JSON.parse(e),Ye=e=>JSON.parse(e);function eo(e,t){const[n,o]=t.split(",").map(s=>s.trim());return e==="dark"&&o||n}function to(e){const t={};function n(o,s=""){for(const[a,i]of Object.entries(o)){const l=s?`${s}.${a}`:a;i&&typeof i=="object"&&!Array.isArray(i)?n(i,l):t[l]=i}}return n(e),t}function Ct({template:e,variables:t,variableKeyPattern:n,variableValueTransformer:o}){return Object.entries(t).reduce((s,[a,i])=>{if(!o&&!["number","boolean","string"].includes(typeof i))throw new Error("If transformer is not provided, value must be a {string, number, or boolean}");const l=o?o(i):String(i),c=n(a);return s.replace(c,En(l))},e)}async function no({template:e,variables:t,variableKeyPattern:n,variableValueTransformer:o}){return(await Promise.all(Object.entries(t).map(async([a,i])=>{const l=await o(i);return{regex:n(a),transformedValue:l}}))).reduce((a,{regex:i,transformedValue:l})=>a.replace(i,En(l)),e)}const ro=e=>({setTemplate:(t,n)=>e.onSetTemplate(t,n),getTemplate:t=>e.onGetTemplate(t),setCachedToken:t=>e.onSetCachedToken(t),getCachedToken:()=>e.onGetCachedToken(),clear:()=>e.onClear()}),{Provider:oo,useContext:vn}=V("MessageCacheTemplate");function so({logger:e,storage:t,children:n}){const o=d.useCallback(i=>{var u,h;const l=(h=(u=i.appInfo)==null?void 0:u.aiAgentInfo)==null?void 0:h.templateListToken;if(!l)return!1;const c=t.getCachedToken();return c?l!==c:!0},[t]),s=d.useCallback(async i=>{try{const{templates:l,token:c}=await i.aiAgent.getMessageTemplates({limit:20});for(const{template:u}of l){const{key:h}=ke(u);t.setTemplate(h,u)}t.setCachedToken(c)}catch(l){e==null||e.error("messageTemplateContext.syncCachedTemplates: error:",l)}},[t,e]),a=d.useCallback(()=>{t.clear()},[t]);return r.createElement(oo,{value:{shouldSyncCachedTemplate:o,syncCachedTemplates:s,clearCachedTemplates:a,storage:t}},n)}function io(e){let t="pending",n=e.then(o=>{t="resolved",n=o}).catch(o=>{t="rejected",n=o});return{get value(){if(t==="resolved")return n;throw n}}}const{Provider:ao,useContext:Cn}=V("MessageTemplateFetching");function lo({children:e,internalVariables:t}){const n=d.useRef({}),o=d.useRef({}),[s,a]=d.useState({}),i=d.useCallback((u,h)=>{a(f=>({...f,[u]:{fetching:!1,error:!1,...f[u],...h}}))},[]),l=d.useCallback(async({onRequestTemplate:u,onGetCachedTemplate:h,templateKey:f,suspense:p=!1})=>{const E=h(f);if(E)return E;const b=o.current[f];if(b)return b;p||i(f,{fetching:!0});const v=u(f).catch(x=>{throw p||i(f,{error:!0}),x}).finally(()=>{p||i(f,{fetching:!1}),delete o.current[f]});return o.current[f]=v,v},[i]),c={internalVariables:t,fetchTemplate:l,suspend:(u,h)=>{if(n.current[u])return n.current[u];const f=io(h());return n.current[u]=f,f},getIsFetching:u=>{var h;return((h=s[u])==null?void 0:h.fetching)??!1},getHasError:u=>{var h;return((h=s[u])==null?void 0:h.error)??!1}};return r.createElement(ao,{value:c},e)}const Je={VARIABLE:e=>new RegExp(`\\{${e}\\}`,"g"),VIEW_VARIABLE:e=>new RegExp(`"{@${e}}"`,"g")};function se({uiTemplateString:e,variables:t={}}){const n=to(t);return Ct({template:e,variables:n,variableKeyPattern:o=>Je.VARIABLE(o)})}function ie({theme:e,uiTemplateString:t,colorVariables:n={}}){return Ct({template:t,variables:n,variableKeyPattern:o=>Je.VARIABLE(o),variableValueTransformer:o=>eo(e,o)})}function co({theme:e,uiTemplateString:t,viewVariables:n={},aiAgentColorVariables:o,internalVariables:s,onRequestTemplate:a}){const l=Object.values(n).flat().map(u=>u.key);return[...new Set(l)].some(u=>!a(u))?null:Ct({template:t,variables:n,variableKeyPattern:u=>Je.VIEW_VARIABLE(u),variableValueTransformer:u=>{const h=u.map(({key:f,variables:p})=>{const E=a(f),{ui_template:b,color_variables:v}=ke(E);let x=JSON.stringify(b);return x=se({uiTemplateString:x,variables:s}),x=ie({theme:e,uiTemplateString:x,colorVariables:v}),x=ie({theme:e,uiTemplateString:x,colorVariables:o}),x=se({uiTemplateString:x,variables:p}),Ye(x)});return JSON.stringify(h)}})}async function uo({theme:e,uiTemplateString:t,viewVariables:n={},aiAgentColorVariables:o,internalVariables:s,onRequestTemplate:a}){return no({template:t,variables:n,variableKeyPattern:i=>Je.VIEW_VARIABLE(i),variableValueTransformer:async i=>{const l=i.map(async({key:u,variables:h})=>{const f=await a(u),{ui_template:p,color_variables:E}=ke(f);let b=JSON.stringify(p);return b=se({uiTemplateString:b,variables:s}),b=ie({theme:e,uiTemplateString:b,colorVariables:E}),b=ie({theme:e,uiTemplateString:b,colorVariables:o}),b=se({uiTemplateString:b,variables:h}),Ye(b)}),c=await Promise.all(l);return JSON.stringify(c)}})}const mo=({rawTemplate:e,aiAgentColorVariables:t,internalVariables:n,...o})=>{const{ui_template:s,color_variables:a}=ke(e);let i=JSON.stringify(s);if(Object.keys(o.viewVariables??{}).length>0){const c=co({...o,uiTemplateString:i,aiAgentColorVariables:t,internalVariables:n});if(c===null)return null;i=c}return i=se({...o,uiTemplateString:i,variables:n}),i=ie({...o,uiTemplateString:i,colorVariables:a}),i=ie({...o,uiTemplateString:i,colorVariables:t}),i=se({...o,uiTemplateString:i}),Ye(i)},ho=async({rawTemplate:e,aiAgentColorVariables:t,internalVariables:n,...o})=>{const{ui_template:s,color_variables:a}=ke(e);let i=JSON.stringify(s);return Object.keys(o.viewVariables??{}).length>0&&(i=await uo({...o,uiTemplateString:i,aiAgentColorVariables:t,internalVariables:n})),i=se({...o,uiTemplateString:i,variables:n}),i=ie({...o,uiTemplateString:i,colorVariables:a}),i=ie({...o,uiTemplateString:i,colorVariables:t}),i=se({...o,uiTemplateString:i}),Ye(i)},go=e=>{const{aiAgentColorVariables:t={}}=e,{internalVariables:n}=Cn();return d.useState(()=>{const o=e.onGetCachedTemplate(e.templateKey);return o?mo({...e,rawTemplate:o,aiAgentColorVariables:t,internalVariables:n,onRequestTemplate:e.onGetCachedTemplate}):null})},fo=e=>{const[t]=go(e);if(t)return t;const{aiAgentColorVariables:n={}}=e,{internalVariables:o,fetchTemplate:s,suspend:a}=Cn();return a(e.templateKey,async()=>{const l=await s({...e,suspense:!0});return await ho({...e,rawTemplate:l,aiAgentColorVariables:n,internalVariables:o})}).value},po='@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}',Ae="en",bo=new Set([Ae,"ko","es","pt","fr","hi","it","de","tr","ja"]),xo=(e,t,n)=>{const o=e[t];return o?typeof o=="function"?o():Promise.resolve(o):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.":""))))})},Eo=gr.enUS,vo={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",NO_NAME:"(No name)",RETRY:"Retry",DATE_FORMAT__MESSAGE_LIST__DATE_SEPARATOR:"MMMM dd, yyyy",DATE_FORMAT__MESSAGE_TIMESTAMP:"p",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.",POWERED_BY:"Powered by",CONVERSATION_CLOSED_FOOTER_LABEL:"Your conversation has ended",START_NEW_CONVERSATION:"💬 Start a new conversation",RETURN_TO_CONVERSATION:"💬 Return to conversation",CONVERSATION_LIST__HEADER_TITLE:"Conversation history",CONVERSATION_LIST__TOPICS_FALLBACK:"No category",CONVERSATION_LIST__NO_CONVERSATIONS:"No conversations yet",DATE_FORMAT__CONVERSATION_LIST__LIST_ITEM_TITLE:"MM/dd/yyyy",DATE_FORMAT__CONVERSATION_LIST__LIST_ITEM_TITLE_CAPTION:"h:mma"},yt={language:"en",dateLocale:Eo,stringSet:vo},Co=Object.freeze(Object.defineProperty({__proto__:null,default:yt},Symbol.toStringTag,{value:"Module"})),Ue=new Map([[Ae,yt]]);async function yo(e){if(Ue.has(e))return Ue.get(e);const t=bo.has(e)?e:Ae;try{const{default:n}=await xo(Object.assign({"./languages/de.ts":()=>Promise.resolve().then(()=>require("./DowWpnG0.cjs")),"./languages/en.ts":()=>Promise.resolve().then(()=>Co),"./languages/es.ts":()=>Promise.resolve().then(()=>require("./C1Vn3mTH.cjs")),"./languages/fr.ts":()=>Promise.resolve().then(()=>require("./DMo1MF5p.cjs")),"./languages/hi.ts":()=>Promise.resolve().then(()=>require("./B-7iTaEa.cjs")),"./languages/it.ts":()=>Promise.resolve().then(()=>require("./CKKH64uB.cjs")),"./languages/ja.ts":()=>Promise.resolve().then(()=>require("./CMUqnGWo.cjs")),"./languages/ko.ts":()=>Promise.resolve().then(()=>require("./BvIqSXsB.cjs")),"./languages/pt.ts":()=>Promise.resolve().then(()=>require("./CrKG9A2m.cjs")),"./languages/tr.ts":()=>Promise.resolve().then(()=>require("./FdyX1U8o.cjs"))}),`./languages/${t}.ts`,3);return Ue.set(e,n),n}catch{return yt}}const{Provider:_o,useContext:O}=V("Localization");function So(e){var t;return((t=e.split("-"))==null?void 0:t[0])??Ae}function To({language:e=navigator.language,logger:t,stringSet:n,children:o}){const[s,a]=d.useState(Ue.get(Ae));return d.useEffect(()=>{const i=So(e);s.language!==i&&(t==null||t.debug("localization.useEffect: update language",`${s.language} -> ${i}`),yo(i).then(a))},[e]),r.createElement(_o,{value:{language:s.language,stringSet:{...s.stringSet,...n},dateLocale:s.dateLocale,format:(i,l,c)=>Te.format(i,l,{locale:s.dateLocale,...c})}},o)}const Ve="data-sb-agent-theme",Ut=e=>(t,...n)=>{let o="";return t.forEach((s,a)=>{o+=s+(n[a]??"")}),`[${Ve}='${e}'] & { ${o} }`},P={light:Ut("light"),dark:Ut("dark")},wo=T.css(({theme:e})=>{const{palette:t}=e;return`
1
+ "use strict";const d=require("react"),U=require("@sendbird/chat"),T=require("styled-components"),Te=require("date-fns"),gr=require("date-fns/locale/en-US"),F=require("@sendbird/chat/aiAgent"),je=require("@sendbird/uikit-tools"),He=require("@sendbird/chat/groupChannel"),ut=require("@sendbird/react-uikit-message-template-view"),fr=require("@sendbird/uikit-message-template"),pr=require("dompurify"),mn=require("@sendbird/chat/message"),br=require("date-fns/isSameDay"),xr=require("react-dom"),Er=require("@emotion/is-prop-valid"),qe=e=>e&&e.__esModule?e:{default:e};function vr(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 o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const r=vr(d),Cr=qe(U),m=qe(T),hn=qe(pr),yr=qe(Er),V=(e,t)=>{const n=d.createContext(null),o=({children:i,value:l})=>r.createElement(n.Provider,{value:l},typeof i=="function"?i(l):i),s=({children:i})=>r.createElement(n.Consumer,null,l=>l?typeof i=="function"?i(l):i:null),a=()=>{const i=d.useContext(n);if(!i)throw new Error(`use${e}Context must be used within a ${e}Provider`);return i};return n.displayName=`${e}Context`,o.displayName=`${e}Provider`,s.displayName=`${e}Consumer`,a.displayName=`use${e}Context`,{Context:n,Provider:o,Consumer:s,useContext:a}};function Ee(e){const t=d.createContext({Template:e.template,updateTemplate:()=>{},components:e.components,updateComponent:()=>{}});function n({children:a}){const[i,l]=d.useState(()=>e.template),[c,u]=d.useState(e.components),h={Template:i,updateTemplate:f=>l(()=>f),components:c,updateComponent:(f,p)=>u(E=>({...E,[f]:p}))};return r.createElement(t.Provider,{value:h},a)}function o({template:a,children:i}){const{updateTemplate:l}=d.useContext(t);return d.useEffect(()=>{a&&l(a)},[a]),r.createElement(r.Fragment,null,i)}function s({children:a}){return r.createElement(n,null,a)}return s.defaults=e,s.useContext=()=>d.useContext(t),s.Context=t,s.Template=o,Object.keys(e.components).forEach(a=>{s[a]=function({component:l}){const{updateComponent:c}=d.useContext(t);return d.useEffect(()=>{l&&c(a,l)},[l]),null}}),s}function _r(...e){return function({children:n}){return e.reduce((o,s)=>r.createElement(s,null,o),n)}}function mt(){}function Sr(){const e=/iPad|iPhone|iPod/.test(navigator.userAgent),t=/Android/.test(navigator.userAgent);return e||t}const Nt=e=>{try{return JSON.parse(e===""?"{}":e)}catch{return{}}},Ke={isStreaming(e){const t=Nt(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 o=Nt(e.data);return!(o!=null&&o.respond_mesg_id)&&!(o!=null&&o.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"),o=n(it.ui),s=n(it.trail),a=n(it.marking);return{ui:o,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}},it={ui:["suggested_replies","cta_button","message_template","csat"],trail:["groundedness","manual","function_calls"],marking:["is_hallucination","is_moderated","flagged_types"]};class gn{constructor(t){this.logger=t,this.subscribers={}}async send(t){const n=Tr(),o=this.subscribers[t.type];if(o){this.logger.debug(`messenger.dispatcher: dispatching command: ${t.type}`,t.payload);const s=o.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(o=>o!==n))}}const Tr=()=>{let e=mt,t=mt;return{promise:new Promise((o,s)=>{e=o,t=s}),resolve:e,reject:t}},wr="1.2.4",ye="sb-agent",kr=wr;var vt=(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))(vt||{});class fn{constructor(t){this.level=t}verbose(...t){this.level<=0&&console.log(`[${ye}/verbose]`,...t)}debug(...t){this.level<=1&&console.log(`[${ye}/debug]`,...t)}info(...t){this.level<=2&&console.log(`[${ye}/info]`,...t)}warn(...t){this.level<=3&&console.warn(`[${ye}/warn]`,...t)}error(...t){this.level<=4&&console.error(`[${ye}/error]`,...t)}}function Bt(e,t,n){const o=Cr.default.init({appId:e,modules:[new He.GroupChannelModule,new F.AIAgentModule],localCacheEnabled:!0,...n});return o.addSendbirdExtensions([{version:kr,product:U.SendbirdProduct.AI_AGENT,platform:t.platform}],{platform:t.deviceOSPlatform,version:t.deviceOSVersion},t.customData)||console.warn("Invalid Sendbird Extensions",t),o}const{Provider:Ar,useContext:Ze}=V("AIAgent");function Ir({appId:e,aiAgentId:t,language:n,countryCode:o,context:s,chatSDK:a,chatParams:i,children:l,logger:c,dispatcher:u,extensions:h={platform:U.SendbirdPlatform.JS,deviceOSPlatform:Sr()?U.DeviceOsPlatform.MOBILE_WEB:U.DeviceOsPlatform.WEB}}){const[f,p]=d.useState(()=>{const E=c??new fn(vt.WARN),b=u??new gn(E);return{appId:e,aiAgentId:t,language:n,countryCode:o,context:s,logger:E,dispatcher:b,chatSDK:a??Bt(e,h,i)}});return d.useEffect(()=>{p(E=>{let b=E.logger,v=E.dispatcher,x=E.chatSDK;return c&&c!==E.logger&&(b=c),u&&u!==E.dispatcher&&(v=u),a&&a!==E.chatSDK?x=a:!a&&E.chatSDK.appId!==e&&(x=Bt(e,h,{newInstance:!0,...i})),{...E,appId:e,aiAgentId:t,language:n,countryCode:o,context:s,logger:b,dispatcher:v,chatSDK:x}})},[e,t,n,o,s,c,u,a]),d.useEffect(()=>()=>{f.chatSDK.disconnectWebSocket()},[f.chatSDK]),r.createElement(Ar,{value:f},l)}const $r=(e,t,n)=>je.useGroupChannelMessages(e,t,{...n,strictStreamingOrder:!0});var ht=(e=>(e.ConversationClose="conv.close",e))(ht||{});class Mr{constructor(t={}){this.payload=t}toJSON(){return JSON.stringify({type:this.type,payload:this.payload})}}const pn={CloseConversation:e=>new Lr(e)};class Lr extends Mr{constructor(){super(...arguments),this.type="conv.close"}}const{Provider:Or}=V("AIAgentConversation");function Rr({children:e,channelUrl:t,onChannelDeleted:n,onMessagesReceived:o,onMessagesUpdated:s,onConversationClosedViaDispatcher:a,onBeforeSendMessage:i,onAfterSendMessage:l=mt}){var x;const{chatSDK:c,logger:u,dispatcher:h}=Ze(),{channel:f,channelFetchError:p,fetchChannel:E}=Pr(t),b=$r(c,f,{shouldCountNewMessages:()=>!1,onChannelDeleted:n,onMessagesReceived:C=>o==null?void 0:o(C),onMessagesUpdated:C=>s==null?void 0:s(C),logger:u});d.useEffect(()=>{const C=async _=>{const w=typeof(_==null?void 0:_.channelUrl)=="string";f&&w&&_.channelUrl!==f.url||(u.debug("conversation.dispatcher: try to close conversation",f),f!=null&&f.conversation&&f.conversation.status===F.ConversationStatus.OPEN&&(await f.closeConversation(),a==null||a()))};return h.subscribe(ht.ConversationClose,C),()=>{h.unsubscribe(ht.ConversationClose,C)}},[h,(x=f==null?void 0:f.conversation)==null?void 0:x.status,a]);const v={conversation:(f==null?void 0:f.conversation)??void 0,channelSource:{channel:f,error:p,refetch:()=>E()},messageSource:{messages:b.messages,initialized:b.initialized,loadPrevious:()=>b.loadPrevious(),loadNext:()=>b.loadNext(),sendUserMessage:async C=>{var w;if(((w=f==null?void 0:f.conversation)==null?void 0:w.status)===F.ConversationStatus.CLOSED)throw new Error("Conversation is closed");i&&(C=await i(C));const _=await b.sendUserMessage(C,l);return l==null||l(_),_},sendFileMessage:async C=>{var w;if(((w=f==null?void 0:f.conversation)==null?void 0:w.status)===F.ConversationStatus.CLOSED)throw new Error("Conversation is closed");i&&(C=await i(C));const _=await b.sendFileMessage(C,l);return l==null||l(_),_}}};return r.createElement(Or,{value:v},e)}function Pr(e){const{chatSDK:t,logger:n}=Ze(),[o,s]=d.useState(void 0),[a,i]=d.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);const u=new U.ConnectionHandler({onReconnectSucceeded:()=>c.refresh()});t.addConnectionHandler("sba-refresh",u),n.debug("conversation.fetchChannel: fetched channel",c)}catch(c){c instanceof U.SendbirdError&&i(c),n.error("conversation.fetchChannel: error",c)}}return d.useEffect(()=>{l()},[e,t]),{channel:o,channelFetchError:a,fetchChannel:l}}class Dr{constructor(t,{filter:n,limit:o=20}){var s,a,i,l,c;this._isDisposed=!1,this._handlerId=`handler-id-${Date.now()}`,this._order=He.GroupChannelListOrder.LATEST_LAST_MESSAGE,this.filter=n,this._sdk=t,this._pinnedChannels=[],this._channels=[],this._limit=o,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,limit:this._limit}),this._token="",this._timestamp=Number.MAX_SAFE_INTEGER,this._isSyncing=!1,this._channelHandler=new He.GroupChannelHandler({onChannelChanged:u=>{u.isGroupChannel()&&(this._query.belongsTo(u)?this._addChannelsToView([u],!1):this._removeChannelsFromView([u.url]))},onChannelDeleted:u=>{this._removeChannelsFromView([u])}}),this._connectionHandler=new U.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)??[]),o=t.find(l=>!n.has(l.url));let s;o?s=((i=o.lastMessage)==null?void 0:i.createdAt)??o.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)??[],o=new Map(n.map((c,u)=>[c,u])),s=[],a=[],i=[];for(const c of t){if(!this._query.belongsTo(c)){i.push(c.url);continue}const u=o.get(c.url);if(u===void 0)continue;const h=gt(this._pinnedChannels,c);h>=0?(this._pinnedChannels.splice(h,1),a.push(c)):s.push(c);const p=this._pinnedChannels.findIndex(b=>(o.get(b.url)??1/0)>u),E=p===-1?this._pinnedChannels.length:p;this._pinnedChannels.splice(E,0,c)}return{addedChannels:s,updatedChannels:a,unmatchedChannelUrls:i}}_upsertRegularChannelsToArray(t,n=!1){const o=[],s=[],a=[];for(const i of t){if(!this._query.belongsTo(i)){o.push(i.url);continue}const l=gt(this._channels,i),c=l<0;!c&&this._channels.splice(l,1);const h=Nr(this._channels,i,this._order).place,f=h===this._channels.length;c?f?(n||!this.hasMore)&&(this._channels.push(i),s.push(i)):(this._channels.splice(h,0,i),s.push(i)):(this._channels.splice(h,0,i),a.push(i))}return{addedChannels:s,updatedChannels:a,unmatchedChannelUrls:o}}_addChannelsToView(t,n=!1){var f,p,E,b,v;const o=new Set(((f=this.filter)==null?void 0:f.pinnedChannelUrls)??[]),s=[],a=[];for(const x of t)o.has(x.url)?s.push(x):a.push(x);const i=this._upsertPinnedChannelsToArray(s),l=this._upsertRegularChannelsToArray(a,n),c=i.addedChannels.concat(l.addedChannels),u=i.updatedChannels.concat(l.updatedChannels),h=i.unmatchedChannelUrls.concat(l.unmatchedChannelUrls);c.length>0&&((E=(p=this._collectionEventHandler)==null?void 0:p.onChannelsAdded)==null||E.call(p,{},c)),u.length>0&&((v=(b=this._collectionEventHandler)==null?void 0:b.onChannelsUpdated)==null||v.call(b,{},u)),h.length>0&&this._removeChannelsFromView(h)}_removeChannelsFromView(t){var s,a,i;const n=new Set(((s=this.filter)==null?void 0:s.pinnedChannelUrls)??[]),o=[];for(const l of t)if(n.has(l)){const c=this._pinnedChannels.findIndex(u=>u.url===l);c>=0&&(o.push(l),this._pinnedChannels.splice(c,1))}else{const c=this._channels.findIndex(u=>u.url===l);c>=0&&(o.push(l),this._channels.splice(c,1))}o.length>0&&((i=(a=this._collectionEventHandler)==null?void 0:a.onChannelsDeleted)==null||i.call(a,{},o))}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 gt=(e,t)=>e.findIndex(n=>n.isIdentical(t)),Nr=(e,t,n)=>{if(e.length>0){const o=gt(e,t);let s=0,a=e.length-1,i=Math.floor((s+a)/2);for(;s<a;){const c=Ft(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:o}}return{place:Ft(e[i],t,n)>=0?i:i+1,oldPosition:o}}return{place:e.length,oldPosition:-1}},Ft=(e,t,n)=>{switch(n){case He.GroupChannelListOrder.LATEST_LAST_MESSAGE:if(e.lastMessage&&t.lastMessage){const o=t.lastMessage.createdAt-e.lastMessage.createdAt;return o===0?t.createdAt-e.createdAt:o}else return e.lastMessage?-1:t.lastMessage?1:t.createdAt-e.createdAt;default:return 0}};function Br(e,t){var b,v,x,C,_,w,S,W;const n=d.useId(),[o,s]=d.useState(!1),[a,i]=d.useState(null),[l,c]=d.useState([]),[u,h]=d.useState(null),f=d.useRef(!1),p=d.useCallback(async()=>{if(!f.current&&e.currentUser){f.current=!0,s(!1),i(null),c([]);try{u==null||u.dispose();const L=new Dr(e,t);L.setConversationListCollectionHandler({onChannelsAdded:()=>{c(L.channels)},onChannelsUpdated:()=>{c(L.channels)},onChannelsDeleted:()=>{c(L.channels)}}),await L.loadMore(),h(L),i(null)}catch(L){h(null),i(L)}finally{s(!0),f.current=!1}}},[e,(b=t.filter)==null?void 0:b.aiAgentChannelFilter,(x=(v=t.filter)==null?void 0:v.aiAgentConversationStatusFilter)==null?void 0:x.join(),(_=(C=t.filter)==null?void 0:C.aiAgentIds)==null?void 0:_.join(),(w=t.filter)==null?void 0:w.deskChannelFilter,(W=(S=t.filter)==null?void 0:S.pinnedChannelUrls)==null?void 0:W.join(),t.limit]),E=d.useCallback(async()=>{if(u)try{await u.loadMore()}catch(L){i(L)}},[u]);return d.useEffect(()=>(e.addConnectionHandler(n,new U.ConnectionHandler({onConnected:()=>p()})),()=>e.removeConnectionHandler(n)),[e,n,p]),d.useEffect(()=>{p()},[p]),d.useEffect(()=>()=>{f.current=!1,u==null||u.dispose()},[u]),{initialized:o,error:a,channels:l,loadMore:E}}const{Provider:Fr}=V("AIAgentConversationList");function zr({conversationListFilter:e,children:t}){const{chatSDK:n,aiAgentId:o}=Ze(),s=Br(n,{filter:{aiAgentIds:[o],aiAgentConversationStatusFilter:[F.ConversationStatus.CLOSED],...e}}),a={listSource:{initialized:s.initialized,error:s.error??void 0,channels:s.channels,loadMore:()=>s.loadMore()}};return r.createElement(Fr,{value:a},t)}const ft={DEFAULT_BOT_MSG_BG:"#eeeeee",WHITE:"#ffffff",BLACK:"#000000"};function bn(e){return e.length===4?`#${[...e.slice(1)].map(t=>t+t).join("")}`:e}function Ur(e){const t=bn(e);return[parseInt(t.slice(1,3),16),parseInt(t.slice(3,5),16),parseInt(t.slice(5,7),16)]}function Hr(e){return`#${e.map(t=>t.toString(16).padStart(2,"0")).join("")}`}function Vr(e,t,n){e/=255,t/=255,n/=255;const o=Math.max(e,t,n),s=Math.min(e,t,n),a=o-s;let i=0,l=0;const c=(o+s)/2;return o!==s&&(l=c>.5?a/(2-o-s):a/(o+s)),o===e?i=(t-n)/a+(t<n?6:0):o===t?i=(n-e)/a+2:o===n&&(i=(e-t)/a+4),i/=6,[i,l,c]}function Wr(e,t,n){let o,s,a;if(t===0)o=s=a=n;else{const i=function(h,f,p){return p<0&&(p+=1),p>1&&(p-=1),p<.16666666666666666?h+(f-h)*6*p:p<.5?f:p<.6666666666666666?h+(f-h)*(.6666666666666666-p)*6:h},l=n<.5?n*(1+t):n+t-n*t,c=2*n-l;o=i(c,l,e+1/3),s=i(c,l,e),a=i(c,l,e-1/3)}return[Math.round(o*255),Math.round(s*255),Math.round(a*255)]}function Oe(e,t,n){const[o,s,a]=Ur(e),[i,l,c]=Vr(o,s,a),u=Math.max(0,Math.min(1,c*t)),h=Math.max(0,Math.min(1,l*n)),[f,p,E]=Wr(i,h,u);return Hr([Math.round(f),Math.round(p),Math.round(E)])}function Gr(e,t="light"){return{extraDark:Oe(e,.6,1.2),dark:Oe(e,.85,1.1),main:e,light:Oe(e,t==="dark"?1.1:1.5,t==="dark"?.95:.9),extraLight:Oe(e,t==="dark"?1.2:1.75,t==="dark"?.9:.8)}}function pt(e){const t=bn(e),n=149,o=+`0x${t[1]}${t[2]}`,s=+`0x${t[3]}${t[4]}`,a=+`0x${t[5]}${t[6]}`;return o*.299+s*.587+a*.114>n?ft.BLACK:ft.WHITE}function jr(e,t,n,o,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:o},messageOutgoing:{text:n,background:t},csat:{background:e.background100}}}const qr=(e,t,n,o,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:o},messageOutgoing:{text:n,background:t},csat:{background:e.background400}}),Re={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)"}},at={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 zt(e){const t=Kr(e),{colors:n,aiAgentColorVariables:o}=Zr(e,t),s=Jr(e);return{selectedTheme:e.selectedTheme,palette:t,colors:n,aiAgentColorVariables:o,typography:s}}function Kr({selectedTheme:e,palette:t,primary:n}){const o=t!=null&&t.primary?t.primary:n?n===Re.primary.main?Re.primary:Gr(n,e):Re.primary;return{...Re,primary:o,...t}}function Zr({selectedTheme:e,primaryContrast:t,botMessageBackground:n,botMessageBackgroundContrast:o},s){const a=s.primary.main,i=t??pt(a),l=n??ft.DEFAULT_BOT_MSG_BG,c=o??pt(l);return{colors:(e==="light"?jr:qr)(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 Yr(e,t,n){const o={...e};return n.forEach(s=>{const a=t[s];a!=null&&(o[s]=a)}),o}function Jr({typography:e}){if(!e)return at;const t={...at};return Object.keys(e).forEach(n=>{const o=e[n];if(o&&typeof o=="object"){const s=at[n],a=["fontSize","fontWeight","fontFamily","lineHeight"];t[n]=Yr(s,o,a)}}),t}const{Provider:Xr,useContext:xn}=V("AIAgentTheme");function Qr({logger:e,palette:t,typography:n,appearance:o,children:s}){const[a,i]=d.useState(()=>zt({selectedTheme:(o==null?void 0:o.theme)??"light",palette:t,typography:n,primary:o==null?void 0:o.primaryColor,botMessageBackground:o==null?void 0:o.botMessageBackgroundColor})),l=d.useCallback((c,u)=>{const h=(o==null?void 0:o.theme)??c,f=u==null?void 0:u(h),p={primary:o==null?void 0:o.primaryColor,primaryContrast:void 0,botMessageBackground:o==null?void 0:o.botMessageBackgroundColor,botMessageBackgroundContrast:void 0};!p.primary&&(f!=null&&f.primaryColor)&&(p.primary=f.primaryColor,p.primaryContrast=f.primaryContrastColor),!p.botMessageBackground&&(f!=null&&f.botMessageBackgroundColor)&&(p.botMessageBackground=f.botMessageBackgroundColor,p.botMessageBackgroundContrast=f.botMessageBackgroundContrastColor);const E=zt({selectedTheme:h,palette:t,typography:n,...p});i(E),e==null||e.info("theme.update:",h)},[o==null?void 0:o.theme,o==null?void 0:o.primaryColor,o==null?void 0:o.botMessageBackgroundColor,t,n,e]);return d.useEffect(()=>{(o!=null&&o.theme||o!=null&&o.primaryColor||o!=null&&o.botMessageBackgroundColor)&&l(a.selectedTheme)},[o==null?void 0:o.theme,o==null?void 0:o.primaryColor,o==null?void 0:o.botMessageBackgroundColor]),r.createElement(Xr,{value:{theme:a,updateTheme:l}},s)}const En=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)}},ke=e=>JSON.parse(e),Ye=e=>JSON.parse(e);function eo(e,t){const[n,o]=t.split(",").map(s=>s.trim());return e==="dark"&&o||n}function to(e){const t={};function n(o,s=""){for(const[a,i]of Object.entries(o)){const l=s?`${s}.${a}`:a;i&&typeof i=="object"&&!Array.isArray(i)?n(i,l):t[l]=i}}return n(e),t}function Ct({template:e,variables:t,variableKeyPattern:n,variableValueTransformer:o}){return Object.entries(t).reduce((s,[a,i])=>{if(!o&&!["number","boolean","string"].includes(typeof i))throw new Error("If transformer is not provided, value must be a {string, number, or boolean}");const l=o?o(i):String(i),c=n(a);return s.replace(c,En(l))},e)}async function no({template:e,variables:t,variableKeyPattern:n,variableValueTransformer:o}){return(await Promise.all(Object.entries(t).map(async([a,i])=>{const l=await o(i);return{regex:n(a),transformedValue:l}}))).reduce((a,{regex:i,transformedValue:l})=>a.replace(i,En(l)),e)}const ro=e=>({setTemplate:(t,n)=>e.onSetTemplate(t,n),getTemplate:t=>e.onGetTemplate(t),setCachedToken:t=>e.onSetCachedToken(t),getCachedToken:()=>e.onGetCachedToken(),clear:()=>e.onClear()}),{Provider:oo,useContext:vn}=V("MessageCacheTemplate");function so({logger:e,storage:t,children:n}){const o=d.useCallback(i=>{var u,h;const l=(h=(u=i.appInfo)==null?void 0:u.aiAgentInfo)==null?void 0:h.templateListToken;if(!l)return!1;const c=t.getCachedToken();return c?l!==c:!0},[t]),s=d.useCallback(async i=>{try{const{templates:l,token:c}=await i.aiAgent.getMessageTemplates({limit:20});for(const{template:u}of l){const{key:h}=ke(u);t.setTemplate(h,u)}t.setCachedToken(c)}catch(l){e==null||e.error("messageTemplateContext.syncCachedTemplates: error:",l)}},[t,e]),a=d.useCallback(()=>{t.clear()},[t]);return r.createElement(oo,{value:{shouldSyncCachedTemplate:o,syncCachedTemplates:s,clearCachedTemplates:a,storage:t}},n)}function io(e){let t="pending",n=e.then(o=>{t="resolved",n=o}).catch(o=>{t="rejected",n=o});return{get value(){if(t==="resolved")return n;throw n}}}const{Provider:ao,useContext:Cn}=V("MessageTemplateFetching");function lo({children:e,internalVariables:t}){const n=d.useRef({}),o=d.useRef({}),[s,a]=d.useState({}),i=d.useCallback((u,h)=>{a(f=>({...f,[u]:{fetching:!1,error:!1,...f[u],...h}}))},[]),l=d.useCallback(async({onRequestTemplate:u,onGetCachedTemplate:h,templateKey:f,suspense:p=!1})=>{const E=h(f);if(E)return E;const b=o.current[f];if(b)return b;p||i(f,{fetching:!0});const v=u(f).catch(x=>{throw p||i(f,{error:!0}),x}).finally(()=>{p||i(f,{fetching:!1}),delete o.current[f]});return o.current[f]=v,v},[i]),c={internalVariables:t,fetchTemplate:l,suspend:(u,h)=>{if(n.current[u])return n.current[u];const f=io(h());return n.current[u]=f,f},getIsFetching:u=>{var h;return((h=s[u])==null?void 0:h.fetching)??!1},getHasError:u=>{var h;return((h=s[u])==null?void 0:h.error)??!1}};return r.createElement(ao,{value:c},e)}const Je={VARIABLE:e=>new RegExp(`\\{${e}\\}`,"g"),VIEW_VARIABLE:e=>new RegExp(`"{@${e}}"`,"g")};function se({uiTemplateString:e,variables:t={}}){const n=to(t);return Ct({template:e,variables:n,variableKeyPattern:o=>Je.VARIABLE(o)})}function ie({theme:e,uiTemplateString:t,colorVariables:n={}}){return Ct({template:t,variables:n,variableKeyPattern:o=>Je.VARIABLE(o),variableValueTransformer:o=>eo(e,o)})}function co({theme:e,uiTemplateString:t,viewVariables:n={},aiAgentColorVariables:o,internalVariables:s,onRequestTemplate:a}){const l=Object.values(n).flat().map(u=>u.key);return[...new Set(l)].some(u=>!a(u))?null:Ct({template:t,variables:n,variableKeyPattern:u=>Je.VIEW_VARIABLE(u),variableValueTransformer:u=>{const h=u.map(({key:f,variables:p})=>{const E=a(f),{ui_template:b,color_variables:v}=ke(E);let x=JSON.stringify(b);return x=se({uiTemplateString:x,variables:s}),x=ie({theme:e,uiTemplateString:x,colorVariables:v}),x=ie({theme:e,uiTemplateString:x,colorVariables:o}),x=se({uiTemplateString:x,variables:p}),Ye(x)});return JSON.stringify(h)}})}async function uo({theme:e,uiTemplateString:t,viewVariables:n={},aiAgentColorVariables:o,internalVariables:s,onRequestTemplate:a}){return no({template:t,variables:n,variableKeyPattern:i=>Je.VIEW_VARIABLE(i),variableValueTransformer:async i=>{const l=i.map(async({key:u,variables:h})=>{const f=await a(u),{ui_template:p,color_variables:E}=ke(f);let b=JSON.stringify(p);return b=se({uiTemplateString:b,variables:s}),b=ie({theme:e,uiTemplateString:b,colorVariables:E}),b=ie({theme:e,uiTemplateString:b,colorVariables:o}),b=se({uiTemplateString:b,variables:h}),Ye(b)}),c=await Promise.all(l);return JSON.stringify(c)}})}const mo=({rawTemplate:e,aiAgentColorVariables:t,internalVariables:n,...o})=>{const{ui_template:s,color_variables:a}=ke(e);let i=JSON.stringify(s);if(Object.keys(o.viewVariables??{}).length>0){const c=co({...o,uiTemplateString:i,aiAgentColorVariables:t,internalVariables:n});if(c===null)return null;i=c}return i=se({...o,uiTemplateString:i,variables:n}),i=ie({...o,uiTemplateString:i,colorVariables:a}),i=ie({...o,uiTemplateString:i,colorVariables:t}),i=se({...o,uiTemplateString:i}),Ye(i)},ho=async({rawTemplate:e,aiAgentColorVariables:t,internalVariables:n,...o})=>{const{ui_template:s,color_variables:a}=ke(e);let i=JSON.stringify(s);return Object.keys(o.viewVariables??{}).length>0&&(i=await uo({...o,uiTemplateString:i,aiAgentColorVariables:t,internalVariables:n})),i=se({...o,uiTemplateString:i,variables:n}),i=ie({...o,uiTemplateString:i,colorVariables:a}),i=ie({...o,uiTemplateString:i,colorVariables:t}),i=se({...o,uiTemplateString:i}),Ye(i)},go=e=>{const{aiAgentColorVariables:t={}}=e,{internalVariables:n}=Cn();return d.useState(()=>{const o=e.onGetCachedTemplate(e.templateKey);return o?mo({...e,rawTemplate:o,aiAgentColorVariables:t,internalVariables:n,onRequestTemplate:e.onGetCachedTemplate}):null})},fo=e=>{const[t]=go(e);if(t)return t;const{aiAgentColorVariables:n={}}=e,{internalVariables:o,fetchTemplate:s,suspend:a}=Cn();return a(e.templateKey,async()=>{const l=await s({...e,suspense:!0});return await ho({...e,rawTemplate:l,aiAgentColorVariables:n,internalVariables:o})}).value},po='@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}',Ae="en",bo=new Set([Ae,"ko","es","pt","fr","hi","it","de","tr","ja"]),xo=(e,t,n)=>{const o=e[t];return o?typeof o=="function"?o():Promise.resolve(o):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.":""))))})},Eo=gr.enUS,vo={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",NO_NAME:"(No name)",RETRY:"Retry",DATE_FORMAT__MESSAGE_LIST__DATE_SEPARATOR:"MMMM dd, yyyy",DATE_FORMAT__MESSAGE_TIMESTAMP:"p",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.",POWERED_BY:"Powered by",CONVERSATION_CLOSED_FOOTER_LABEL:"Your conversation has ended",START_NEW_CONVERSATION:"💬 Start a new conversation",RETURN_TO_CONVERSATION:"💬 Return to conversation",CONVERSATION_LIST__HEADER_TITLE:"Conversation history",CONVERSATION_LIST__TOPICS_FALLBACK:"No category",CONVERSATION_LIST__NO_CONVERSATIONS:"No conversations yet",DATE_FORMAT__CONVERSATION_LIST__LIST_ITEM_TITLE:"MM/dd/yyyy",DATE_FORMAT__CONVERSATION_LIST__LIST_ITEM_TITLE_CAPTION:"h:mma"},yt={language:"en",dateLocale:Eo,stringSet:vo},Co=Object.freeze(Object.defineProperty({__proto__:null,default:yt},Symbol.toStringTag,{value:"Module"})),Ue=new Map([[Ae,yt]]);async function yo(e){if(Ue.has(e))return Ue.get(e);const t=bo.has(e)?e:Ae;try{const{default:n}=await xo(Object.assign({"./languages/de.ts":()=>Promise.resolve().then(()=>require("./DowWpnG0.cjs")),"./languages/en.ts":()=>Promise.resolve().then(()=>Co),"./languages/es.ts":()=>Promise.resolve().then(()=>require("./C1Vn3mTH.cjs")),"./languages/fr.ts":()=>Promise.resolve().then(()=>require("./DMo1MF5p.cjs")),"./languages/hi.ts":()=>Promise.resolve().then(()=>require("./B-7iTaEa.cjs")),"./languages/it.ts":()=>Promise.resolve().then(()=>require("./CKKH64uB.cjs")),"./languages/ja.ts":()=>Promise.resolve().then(()=>require("./CMUqnGWo.cjs")),"./languages/ko.ts":()=>Promise.resolve().then(()=>require("./BvIqSXsB.cjs")),"./languages/pt.ts":()=>Promise.resolve().then(()=>require("./CrKG9A2m.cjs")),"./languages/tr.ts":()=>Promise.resolve().then(()=>require("./FdyX1U8o.cjs"))}),`./languages/${t}.ts`,3);return Ue.set(e,n),n}catch{return yt}}const{Provider:_o,useContext:O}=V("Localization");function So(e){var t;return((t=e.split("-"))==null?void 0:t[0])??Ae}function To({language:e=navigator.language,logger:t,stringSet:n,children:o}){const[s,a]=d.useState(Ue.get(Ae));return d.useEffect(()=>{const i=So(e);s.language!==i&&(t==null||t.debug("localization.useEffect: update language",`${s.language} -> ${i}`),yo(i).then(a))},[e]),r.createElement(_o,{value:{language:s.language,stringSet:{...s.stringSet,...n},dateLocale:s.dateLocale,format:(i,l,c)=>Te.format(i,l,{locale:s.dateLocale,...c})}},o)}const Ve="data-sb-agent-theme",Ut=e=>(t,...n)=>{let o="";return t.forEach((s,a)=>{o+=s+(n[a]??"")}),`[${Ve}='${e}'] & { ${o} }`},P={light:Ut("light"),dark:Ut("dark")},wo=T.css(({theme:e})=>{const{palette:t}=e;return`
2
2
  :root,
3
3
  :host {
4
4
  --sendbird-primary-extra-dark: ${t.primary.extraDark};
@@ -47,7 +47,7 @@
47
47
  --sendbird-overlay-dark: ${t.overlay.dark};
48
48
  --sendbird-overlay-light: ${t.overlay.light};
49
49
  }
50
- `}),ko=T.css`[${Ve}='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);}[${Ve}='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)"},error:{extraDark:"var(--sendbird-error-extra-dark)",dark:"var(--sendbird-error-dark)"},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)",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)",error:"var(--sb-error)"}},{Provider:Ao,useContext:Io}=V("AIAgentTheme");function $o(e){const{theme:t,appearance:n,logger:o}=e;return r.createElement(Qr,{appearance:n,palette:t==null?void 0:t.palette,typography:t==null?void 0:t.typography,logger:o},r.createElement(Mo,{...e}))}function Mo({rootElement:e=document.body,children:t}){const{theme:n,updateTheme:o}=xn();return d.useLayoutEffect(()=>{e.setAttribute(Ve,n.selectedTheme)},[e,n.selectedTheme]),r.createElement(T.ThemeProvider,{theme:n},r.createElement(Ao,{value:{theme:n,updateTheme:o}},t))}function ue(e,t){const n=e.getRootNode({composed:t});return n instanceof ShadowRoot||n instanceof Document?n:document}const Lo=(e,t)=>{d.useEffect(()=>{const n=ue(t)instanceof ShadowRoot,o=ue(t,!0);if(!(n?t:o).querySelector(`link[href*='${e}']`)){const a=o.createElement("link");a.rel="stylesheet",a.href=e,(n?t:o.head).appendChild(a)}},[e,t])},Oo=(e,t=document.body)=>{d.useEffect(()=>{const n=ue(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])},_t=/iPad|iPhone|iPod/.test(navigator.userAgent),Ro=/Android/.test(navigator.userAgent),Ie=e=>_t||Ro,Y="sb-agent",ee={ENTRY:`${Y}-entry`,MODAL_ROOT:`${Y}-modal-root`,WINDOW:`${Y}-window`,LAUNCHER:`${Y}-launcher`},Pe=2147483647,he={MODAL:Pe-1,TOOLTIP:Pe-2,WINDOW:Pe-3,LAUNCHER:Pe-4},yn={SESSION:`@${Y}-session`,USER_DATA:`@${Y}-udata`},_n={DEFAULT_PRIMARY:"#742ddd",WHITE:"#ffffff"},Sn=36,Po=100,Do=25*1024*1024,Tn=["application/pdf","image/jpeg","image/jpg","image/png"],Xe="noopener noreferrer nofollow",De={},Q={getItem:e=>{try{return localStorage.getItem(e)}catch{return De[e]??null}},setItem:(e,t)=>{try{localStorage.setItem(e,t)}catch{De[e]=t}},deleteItem:e=>{try{localStorage.removeItem(e)}catch{delete De[e]}},getKeys:e=>{try{const t=[];for(let n=0;n<localStorage.length;n++){const o=localStorage.key(n);o&&o.startsWith(e)&&t.push(o)}return t}catch{return Object.keys(De).filter(t=>t.startsWith(e))}}};function wn(e){const{keyGenerator:t,keyParamsValidator:n}=e;function o(i){try{n&&n(i);const l=t(i),c=Q.getItem(l);return c?JSON.parse(c):null}catch{return null}}function s(i,l){try{n&&n(i);const c=t(i),u=JSON.stringify(l);Q.setItem(c,u)}catch{}}function a(i){try{n&&n(i);const l=t(i);Q.deleteItem(l)}catch{}}return{get:o,set:s,clear:a}}const _e=wn({keyGenerator:({appId:e,aiAgentId:t,userId:n})=>{const o=No(`${e}/${t}/${n}`);return`${yn.USER_DATA}/${o}`},keyParamsValidator:({appId:e,aiAgentId:t,userId:n})=>{if(!e||!t||!n)throw new Error("Invalid parameters for user data cache")}});function No(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 Ne=wn({keyGenerator:({appId:e,aiAgentId:t})=>`${yn.SESSION}/${e}/${t}`}),{Provider:Bo,Consumer:kn,useContext:R}=V("Agent");function Fo({children:e,state:t,enableCloseConversationButton:n=!1,enableExpandButton:o=!0,enableAutoDisconnectInLauncher:s=!0,...a}){const i=Ze(),[l,c]=d.useState(!1),[u,h]=d.useState(!1),f={opened:(t==null?void 0:t.opened)??l,setOpened:(t==null?void 0:t.setOpened)??c,expanded:(t==null?void 0:t.expanded)??u,setExpanded:(t==null?void 0:t.setExpanded)??h};return r.createElement(Bo,{value:{...a,...i,state:f,enableCloseConversationButton:n,enableExpandButton:o,enableAutoDisconnectInLauncher:s}},e)}function zo(){const{chatSDK:e,logger:t}=R(),{shouldSyncCachedTemplate:n,syncCachedTemplates:o,clearCachedTemplates:s}=vn(),a=d.useCallback(async(l,c,u)=>{if(t.debug("authManager.authenticate: session:",l.userId),c){const h=new U.SessionHandler({...c,onSessionTokenRequired:Uo(c.onSessionTokenRequired,u)});e.setSessionHandler(h)}await e.connect(l.userId,l.authToken),t.debug("authManager.authenticate: user:",e.currentUser),n(e)&&await o(e)},[e,t,n,o]),i=d.useCallback(async()=>{t.debug("authManager.deauthenticate: disconnect"),await e.disconnect(),s()},[e,t,s]);return{authenticate:a,deauthenticate:i}}function Uo(e,t){if(e)return async(n,o)=>{new Promise((s,a)=>e==null?void 0:e(s,a)).then(s=>{s&&(t==null||t(s)),n(s)}).catch(s=>{o(s)})}}const Ho=24*60*60*1e3,{Provider:Vo,useContext:N}=V("MessengerSession"),Wo=d.forwardRef(function({userSessionInfo:e,children:t},n){const{appId:o,aiAgentId:s,chatSDK:a,agentPreviewConfigs:i,state:l,logger:c,language:u,countryCode:h,context:f,handlers:p}=R(),{updateTheme:E}=xn(),{authenticate:b,deauthenticate:v}=zo(),[x,C]=d.useState(void 0),[_,w]=d.useState(void 0),[S,W]=d.useState(null),[L,ne]=d.useState(null),[ge,y]=d.useState(null),D=i==null?void 0:i.forceCreateChannel;function fe(){if(e&&e.userId){c.debug("messengerSession.initialize: manual session info detected");const I=["authToken","sessionHandler"].filter($=>!($ in e));return I.length>0&&c.error(`messengerSession.initialize: missing required keys in userSessionInfo: ${I.join(", ")}`),e}const A=Ne.get({appId:o,aiAgentId:s});return A?A.expireAt-Ho<=Date.now()?(c.debug("messengerSession.initialize: auto session expired, clear cache"),Ne.clear({appId:o,aiAgentId:s}),_e.clear({appId:o,aiAgentId:s,userId:A.userId}),null):(c.debug("messengerSession.initialize: auto session info detected"),A):null}const K=d.useCallback((A,I)=>{_e.set({appId:o,aiAgentId:s,userId:A},{knownActiveChannelUrl:I})},[o,s]),Ce=d.useCallback(A=>{const I=_e.get({appId:o,aiAgentId:s,userId:A});return I==null?void 0:I.knownActiveChannelUrl},[o,s]),ot=d.useCallback(async()=>{if(S){c.debug("messengerSession.refreshActiveChannel: try to refresh active channel"),C(void 0);const A=await a.aiAgent.requestMessengerSettings({aiAgentId:s,userId:S.userId,language:u,country:h,context:f,forceCreateChannel:D,knownActiveChannelUrl:Ce(S.userId)});return K(S.userId,A.active_channel.channel_url),C({url:A.active_channel.channel_url,status:F.ConversationStatus.OPEN}),c.info("messengerSession.refreshActiveChannel: refreshed active channel",A.active_channel.channel_url),A.active_channel.channel_url}else throw c.error("messengerSession.refreshActiveChannel: userSession is not ready"),new Error("userSession is not ready")},[a,o,s,S==null?void 0:S.userId,u,h,f,D,Ce,K]),st=d.useCallback(async A=>{if(!(S!=null&&S.userId))throw new Error("Current user is not authenticated. Please authenticate first.");const $=(await a.aiAgent.requestMessengerSettings({...A,userId:S.userId,knownActiveChannelUrl:void 0})).active_channel.channel_url;return _e.set({userId:S.userId,appId:o,aiAgentId:A.aiAgentId},{knownActiveChannelUrl:$}),$},[S==null?void 0:S.userId]);return je.useGroupChannelHandler(a,{onChannelChanged:A=>{var I;A.isGroupChannel()&&A.url===(x==null?void 0:x.url)&&(c.info("messengerSession.channelChanged: channel.conversation",A.conversation),C({url:A.url,status:((I=A.conversation)==null?void 0:I.status)??F.ConversationStatus.OPEN}))},async onUserJoined(A,I){var B,pe;if(A.conversation&&A.conversation.type===F.ConversationType.PROACTIVE&&I.userId===((B=a.currentUser)==null?void 0:B.userId)){c.info("messengerSession.onUserJoined: proactive channel joined",A.url);const re=((pe=A.conversation)==null?void 0:pe.status)??F.ConversationStatus.OPEN;C({url:A.url,status:re}),l.setOpened(!0),Go({sound:document.hidden||!l.opened})}}}),d.useImperativeHandle(n,()=>{const A=async()=>{if(!x)throw new Error("No active conversation. Please start a conversation first.");return await a.groupChannel.getChannel(x.url)};return{chatSDK:a,deauthenticate:async()=>{c.debug("messengerSession.deauthenticate: start"),await v(),C(void 0),W(null),ne(null),y(null),S&&(Ne.clear({appId:o,aiAgentId:s}),_e.clear({appId:o,aiAgentId:s,userId:S.userId}),c.debug("messengerSession.deauthenticate: cleared user session cache")),c.debug("messengerSession.deauthenticate: completed")},updateContext:async I=>{const B=await(await A()).updateContext(s,I);return{...B,context:B.context??{}}},patchContext:async I=>{const B=await(await A()).patchContext(s,I);return{...B,context:B.context??{}}},getContextObject:async()=>{const $=await(await A()).getContextObject(s);return{...$,context:$.context??{}}}}},[x,v,a,o,S,s]),d.useEffect(()=>{async function A(){c.debug("messengerSession.initialize: start");const I=fe(),$=await a.aiAgent.requestMessengerSettings({aiAgentId:s,userId:I==null?void 0:I.userId,language:u,country:h,context:f,forceCreateChannel:D,knownActiveChannelUrl:Ce(I==null?void 0:I.userId)});c.debug("messengerSession.initialize: messenger settings response",$);let B=null;if($.auto_created_user){const{user_id:G,session_token:Z,expire_at:X}=$.auto_created_user;Ne.set({appId:o,aiAgentId:s},{userId:G,authToken:Z,expireAt:X}),B={userId:G,authToken:Z}}else B={userId:(I==null?void 0:I.userId)??"",authToken:(I==null?void 0:I.authToken)??""};K(B.userId,$.active_channel.channel_url);function pe(){const G=$.appearance.selected_theme;E(G,X=>{const H=$.appearance.themes[X];return{primaryColor:H.primary_color,botMessageBackgroundColor:H.bot_message_bg_color,primaryContrastColor:H.primary_contrast_color,botMessageBackgroundContrastColor:H.bot_message_bg_contrast_color}}),w(void 0),W(B),ne({userId:$.bot.bot_userid,profileUrl:$.bot.bot_profile_url,nickname:$.bot.bot_nickname,replyToFile:$.bot.reply_to_file,specialNotice:$.bot.special_notice,specialNoticeEnabled:$.bot.is_special_notice_enabled,showHandoffButton:$.bot.show_handoff_button??!0}),y({type:$.launcher.image_type||"default_icon",imageUrl:$.launcher.image_url}),$.launcher.auto_open&&!Ie()&&setTimeout(()=>l.setOpened(!0),500)}function re(){C({url:$.active_channel.channel_url,status:F.ConversationStatus.OPEN})}try{pe();const G=Z=>W(X=>X?{...X,authToken:Z}:null);await b(B,e==null?void 0:e.sessionHandler,G),re()}catch(G){G instanceof Error&&(c.error("messengerSession.initialize: failed to connect",G),w(G))}}A().catch(I=>{c.error("messengerSession: failed to initialize",I)})},[a,o,s,e==null?void 0:e.userId,e==null?void 0:e.authToken]),d.useEffect(()=>{p!=null&&p.onRegisterDeauthenticateHandler&&(c.debug("messengerSession: registering deauthenticate handler"),p.onRegisterDeauthenticateHandler(v))},[p==null?void 0:p.onRegisterDeauthenticateHandler,v]),!S||!L||!ge?null:r.createElement(Vo,{value:{userSession:S,activeChannel:x,refreshActiveChannel:ot,createConversation:st,connectionError:_,aiAgentInfo:{...L,...i==null?void 0:i.bot},launcherInfo:{...ge,...i==null?void 0:i.launcher}}},t)});function Go({sound:e}){const t="🔔You have received a new message",n=document.title,o=setInterval(()=>{document.title=document.title===t?n:t},750);setTimeout(()=>clearInterval(o),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},k=({as:e,variant:t="body1",color:n,className:o,...s})=>r.createElement(qo,{as:e,$variant:t,className:o,$color:n,...s}),Ht=new WeakMap,jo=(e,t)=>{let n=Ht.get(t);n||(n=new Map,Ht.set(t,n));const o=n.get(e);if(o)return o;const s=t[e]??t.body1,a=T.css`font-size:${j(s.fontSize)};font-weight:${s.fontWeight};${s.fontFamily?`font-family: ${s.fontFamily};`:""}
50
+ `}),ko=T.css`[${Ve}='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);}[${Ve}='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)"},error:{extraDark:"var(--sendbird-error-extra-dark)",dark:"var(--sendbird-error-dark)"},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)",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)",error:"var(--sb-error)"}},{Provider:Ao,useContext:Io}=V("AIAgentTheme");function $o(e){const{theme:t,appearance:n,logger:o}=e;return r.createElement(Qr,{appearance:n,palette:t==null?void 0:t.palette,typography:t==null?void 0:t.typography,logger:o},r.createElement(Mo,{...e}))}function Mo({rootElement:e=document.body,children:t}){const{theme:n,updateTheme:o}=xn();return d.useLayoutEffect(()=>{e.setAttribute(Ve,n.selectedTheme)},[e,n.selectedTheme]),r.createElement(T.ThemeProvider,{theme:n},r.createElement(Ao,{value:{theme:n,updateTheme:o}},t))}function ue(e,t){const n=e.getRootNode({composed:t});return n instanceof ShadowRoot||n instanceof Document?n:document}const Lo=(e,t)=>{d.useEffect(()=>{const n=ue(t)instanceof ShadowRoot,o=ue(t,!0);if(!(n?t:o).querySelector(`link[href*='${e}']`)){const a=o.createElement("link");a.rel="stylesheet",a.href=e,(n?t:o.head).appendChild(a)}},[e,t])},Oo=(e,t=document.body)=>{d.useEffect(()=>{const n=ue(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])},_t=/iPad|iPhone|iPod/.test(navigator.userAgent),Ro=/Android/.test(navigator.userAgent),Ie=e=>_t||Ro,Y="sb-agent",ee={ENTRY:`${Y}-entry`,MODAL_ROOT:`${Y}-modal-root`,WINDOW:`${Y}-window`,LAUNCHER:`${Y}-launcher`},Pe=2147483647,he={MODAL:Pe-1,TOOLTIP:Pe-2,WINDOW:Pe-3,LAUNCHER:Pe-4},yn={SESSION:`@${Y}-session`,USER_DATA:`@${Y}-udata`},_n={DEFAULT_PRIMARY:"#742ddd",WHITE:"#ffffff"},Sn=36,Po=100,Do=25*1024*1024,Tn=["application/pdf","image/jpeg","image/jpg","image/png"],Xe="noopener noreferrer nofollow",De={},Q={getItem:e=>{try{return localStorage.getItem(e)}catch{return De[e]??null}},setItem:(e,t)=>{try{localStorage.setItem(e,t)}catch{De[e]=t}},deleteItem:e=>{try{localStorage.removeItem(e)}catch{delete De[e]}},getKeys:e=>{try{const t=[];for(let n=0;n<localStorage.length;n++){const o=localStorage.key(n);o&&o.startsWith(e)&&t.push(o)}return t}catch{return Object.keys(De).filter(t=>t.startsWith(e))}}};function wn(e){const{keyGenerator:t,keyParamsValidator:n}=e;function o(i){try{n&&n(i);const l=t(i),c=Q.getItem(l);return c?JSON.parse(c):null}catch{return null}}function s(i,l){try{n&&n(i);const c=t(i),u=JSON.stringify(l);Q.setItem(c,u)}catch{}}function a(i){try{n&&n(i);const l=t(i);Q.deleteItem(l)}catch{}}return{get:o,set:s,clear:a}}const _e=wn({keyGenerator:({appId:e,aiAgentId:t,userId:n})=>{const o=No(`${e}/${t}/${n}`);return`${yn.USER_DATA}/${o}`},keyParamsValidator:({appId:e,aiAgentId:t,userId:n})=>{if(!e||!t||!n)throw new Error("Invalid parameters for user data cache")}});function No(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 Ne=wn({keyGenerator:({appId:e,aiAgentId:t})=>`${yn.SESSION}/${e}/${t}`}),{Provider:Bo,Consumer:kn,useContext:R}=V("Agent");function Fo({children:e,state:t,enableCloseConversationButton:n=!1,enableExpandButton:o=!0,enableAutoDisconnectInLauncher:s=!0,...a}){const i=Ze(),[l,c]=d.useState(!1),[u,h]=d.useState(!1),f={opened:(t==null?void 0:t.opened)??l,setOpened:(t==null?void 0:t.setOpened)??c,expanded:(t==null?void 0:t.expanded)??u,setExpanded:(t==null?void 0:t.setExpanded)??h};return r.createElement(Bo,{value:{...a,...i,state:f,enableCloseConversationButton:n,enableExpandButton:o,enableAutoDisconnectInLauncher:s}},e)}function zo(){const{chatSDK:e,logger:t}=R(),{shouldSyncCachedTemplate:n,syncCachedTemplates:o,clearCachedTemplates:s}=vn(),a=d.useCallback(async(l,c,u)=>{if(t.debug("authManager.authenticate: session:",l.userId),c){const h=new U.SessionHandler({...c,onSessionTokenRequired:Uo(c.onSessionTokenRequired,u)});e.setSessionHandler(h)}await e.connect(l.userId,l.authToken),t.debug("authManager.authenticate: user:",e.currentUser),n(e)&&await o(e)},[e,t,n,o]),i=d.useCallback(async()=>{t.debug("authManager.deauthenticate: disconnect"),await e.disconnect(),s()},[e,t,s]);return{authenticate:a,deauthenticate:i}}function Uo(e,t){if(e)return async(n,o)=>{new Promise((s,a)=>e==null?void 0:e(s,a)).then(s=>{s&&(t==null||t(s)),n(s)}).catch(s=>{o(s)})}}const Ho=24*60*60*1e3,{Provider:Vo,useContext:N}=V("MessengerSession"),Wo=d.forwardRef(function({userSessionInfo:e,children:t},n){const{appId:o,aiAgentId:s,chatSDK:a,agentPreviewConfigs:i,state:l,logger:c,language:u,countryCode:h,context:f,handlers:p}=R(),{updateTheme:E}=xn(),{authenticate:b,deauthenticate:v}=zo(),[x,C]=d.useState(void 0),[_,w]=d.useState(void 0),[S,W]=d.useState(null),[L,ne]=d.useState(null),[ge,y]=d.useState(null),D=i==null?void 0:i.forceCreateChannel;function fe(){if(e&&e.userId){c.debug("messengerSession.initialize: manual session info detected");const I=["authToken","sessionHandler"].filter($=>!($ in e));return I.length>0&&c.error(`messengerSession.initialize: missing required keys in userSessionInfo: ${I.join(", ")}`),e}const A=Ne.get({appId:o,aiAgentId:s});return A?A.expireAt-Ho<=Date.now()?(c.debug("messengerSession.initialize: auto session expired, clear cache"),Ne.clear({appId:o,aiAgentId:s}),_e.clear({appId:o,aiAgentId:s,userId:A.userId}),null):(c.debug("messengerSession.initialize: auto session info detected"),A):null}const K=d.useCallback((A,I)=>{_e.set({appId:o,aiAgentId:s,userId:A},{knownActiveChannelUrl:I})},[o,s]),Ce=d.useCallback(A=>{const I=_e.get({appId:o,aiAgentId:s,userId:A});return I==null?void 0:I.knownActiveChannelUrl},[o,s]),ot=d.useCallback(async()=>{if(S){c.debug("messengerSession.refreshActiveChannel: try to refresh active channel"),C(void 0);const A=await a.aiAgent.requestMessengerSettings({aiAgentId:s,userId:S.userId,language:u,country:h,context:f,forceCreateChannel:D,knownActiveChannelUrl:Ce(S.userId)});return K(S.userId,A.active_channel.channel_url),C({url:A.active_channel.channel_url,status:F.ConversationStatus.OPEN}),c.info("messengerSession.refreshActiveChannel: refreshed active channel",A.active_channel.channel_url),A.active_channel.channel_url}else throw c.error("messengerSession.refreshActiveChannel: userSession is not ready"),new Error("userSession is not ready")},[a,o,s,S==null?void 0:S.userId,u,h,f,D,Ce,K]),st=d.useCallback(async A=>{if(!(S!=null&&S.userId))throw new Error("Current user is not authenticated. Please authenticate first.");const $=(await a.aiAgent.requestMessengerSettings({...A,userId:S.userId,knownActiveChannelUrl:void 0})).active_channel.channel_url;return _e.set({userId:S.userId,appId:o,aiAgentId:A.aiAgentId},{knownActiveChannelUrl:$}),$},[S==null?void 0:S.userId]);return je.useGroupChannelHandler(a,{onChannelChanged:A=>{var I;A.isGroupChannel()&&A.url===(x==null?void 0:x.url)&&(c.info("messengerSession.channelChanged: channel.conversation",A.conversation),C({url:A.url,status:((I=A.conversation)==null?void 0:I.status)??F.ConversationStatus.OPEN}))},async onUserJoined(A,I){var B,pe;if(A.conversation&&A.conversation.type===F.ConversationType.PROACTIVE&&I.userId===((B=a.currentUser)==null?void 0:B.userId)){c.info("messengerSession.onUserJoined: proactive channel joined",A.url);const re=((pe=A.conversation)==null?void 0:pe.status)??F.ConversationStatus.OPEN;C({url:A.url,status:re}),l.setOpened(!0),Go({sound:document.hidden||!l.opened})}}}),d.useImperativeHandle(n,()=>{const A=async()=>{if(!x)throw new Error("No active conversation. Please start a conversation first.");return await a.groupChannel.getChannel(x.url)};return{activeChannel:x,chatSDK:a,deauthenticate:async()=>{c.debug("messengerSession.deauthenticate: start"),await v(),C(void 0),W(null),ne(null),y(null),S&&(Ne.clear({appId:o,aiAgentId:s}),_e.clear({appId:o,aiAgentId:s,userId:S.userId}),c.debug("messengerSession.deauthenticate: cleared user session cache")),c.debug("messengerSession.deauthenticate: completed")},updateContext:async I=>{const B=await(await A()).updateContext(s,I);return{...B,context:B.context??{}}},patchContext:async I=>{const B=await(await A()).patchContext(s,I);return{...B,context:B.context??{}}},getContextObject:async()=>{const $=await(await A()).getContextObject(s);return{...$,context:$.context??{}}}}},[x,v,a,o,S,s]),d.useEffect(()=>{async function A(){c.debug("messengerSession.initialize: start");const I=fe(),$=await a.aiAgent.requestMessengerSettings({aiAgentId:s,userId:I==null?void 0:I.userId,language:u,country:h,context:f,forceCreateChannel:D,knownActiveChannelUrl:Ce(I==null?void 0:I.userId)});c.debug("messengerSession.initialize: messenger settings response",$);let B=null;if($.auto_created_user){const{user_id:G,session_token:Z,expire_at:X}=$.auto_created_user;Ne.set({appId:o,aiAgentId:s},{userId:G,authToken:Z,expireAt:X}),B={userId:G,authToken:Z}}else B={userId:(I==null?void 0:I.userId)??"",authToken:(I==null?void 0:I.authToken)??""};K(B.userId,$.active_channel.channel_url);function pe(){const G=$.appearance.selected_theme;E(G,X=>{const H=$.appearance.themes[X];return{primaryColor:H.primary_color,botMessageBackgroundColor:H.bot_message_bg_color,primaryContrastColor:H.primary_contrast_color,botMessageBackgroundContrastColor:H.bot_message_bg_contrast_color}}),w(void 0),W(B),ne({userId:$.bot.bot_userid,profileUrl:$.bot.bot_profile_url,nickname:$.bot.bot_nickname,replyToFile:$.bot.reply_to_file,specialNotice:$.bot.special_notice,specialNoticeEnabled:$.bot.is_special_notice_enabled,showHandoffButton:$.bot.show_handoff_button??!0}),y({type:$.launcher.image_type||"default_icon",imageUrl:$.launcher.image_url}),$.launcher.auto_open&&!Ie()&&setTimeout(()=>l.setOpened(!0),500)}function re(){C({url:$.active_channel.channel_url,status:F.ConversationStatus.OPEN})}try{pe();const G=Z=>W(X=>X?{...X,authToken:Z}:null);await b(B,e==null?void 0:e.sessionHandler,G),re()}catch(G){G instanceof Error&&(c.error("messengerSession.initialize: failed to connect",G),w(G))}}A().catch(I=>{c.error("messengerSession: failed to initialize",I)})},[a,o,s,e==null?void 0:e.userId,e==null?void 0:e.authToken]),d.useEffect(()=>{p!=null&&p.onRegisterDeauthenticateHandler&&(c.debug("messengerSession: registering deauthenticate handler"),p.onRegisterDeauthenticateHandler(v))},[p==null?void 0:p.onRegisterDeauthenticateHandler,v]),!S||!L||!ge?null:r.createElement(Vo,{value:{userSession:S,activeChannel:x,refreshActiveChannel:ot,createConversation:st,connectionError:_,aiAgentInfo:{...L,...i==null?void 0:i.bot},launcherInfo:{...ge,...i==null?void 0:i.launcher}}},t)});function Go({sound:e}){const t="🔔You have received a new message",n=document.title,o=setInterval(()=>{document.title=document.title===t?n:t},750);setTimeout(()=>clearInterval(o),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},k=({as:e,variant:t="body1",color:n,className:o,...s})=>r.createElement(qo,{as:e,$variant:t,className:o,$color:n,...s}),Ht=new WeakMap,jo=(e,t)=>{let n=Ht.get(t);n||(n=new Map,Ht.set(t,n));const o=n.get(e);if(o)return o;const s=t[e]??t.body1,a=T.css`font-size:${j(s.fontSize)};font-weight:${s.fontWeight};${s.fontFamily?`font-family: ${s.fontFamily};`:""}
51
51
  ${s.lineHeight?`line-height: ${s.lineHeight};`:"line-height: 100%;"}
52
52
  `;return n.set(e,a),a},qo=m.default.span`font-stretch:normal;font-style:normal;letter-spacing:normal;${({$variant:e,theme:t})=>jo(e,t.typography)}color:${({$color:e})=>e};`,$e=244,An=640,We=26,In=4,te=12,ve=2,Ko=16,ae=`${Y}-incoming-msg`,Zo=`${Y}-marked-text`;function St(e){switch(e){case"top":case"middle":return ve;default:return Ko}}function Tt(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 $n(e){return e.messageType==="file"?e.message.length>0&&e.file.name!==e.message:e.message.length>0}const Yo=new Set(["send","chat","message","chevron-right"]),Jo={spinner:d.lazy(()=>Promise.resolve().then(()=>require("./Cf3-irI8.cjs"))),chat:d.lazy(()=>Promise.resolve().then(()=>require("./BmdfYY9c.cjs"))),message:d.lazy(()=>Promise.resolve().then(()=>require("./CmWLVNPR.cjs"))),error:d.lazy(()=>Promise.resolve().then(()=>require("./DNmdC4-j.cjs"))),info:d.lazy(()=>Promise.resolve().then(()=>require("./ohTjxqcW.cjs"))),refresh:d.lazy(()=>Promise.resolve().then(()=>require("./D00MOxhE.cjs"))),"chevron-down":d.lazy(()=>Promise.resolve().then(()=>require("./wf-LdaaN.cjs"))),"chevron-right":d.lazy(()=>Promise.resolve().then(()=>require("./B0k-GApQ.cjs"))),done:d.lazy(()=>Promise.resolve().then(()=>require("./kp5wcW4s.cjs"))),user:d.lazy(()=>Promise.resolve().then(()=>require("./CtHfgPDp.cjs"))),"file-document":d.lazy(()=>Promise.resolve().then(()=>require("./_YfLwFkX.cjs"))),download:d.lazy(()=>Promise.resolve().then(()=>require("./BN09c8-A.cjs"))),attach:d.lazy(()=>Promise.resolve().then(()=>require("./DcDTXo8_.cjs"))),delete:d.lazy(()=>Promise.resolve().then(()=>require("./CKPzhVy2.cjs"))),close:d.lazy(()=>Promise.resolve().then(()=>require("./C7tppvZu.cjs"))),"close-filled":d.lazy(()=>Promise.resolve().then(()=>require("./D1kINslt.cjs"))),send:d.lazy(()=>Promise.resolve().then(()=>require("./BKtl4FE5.cjs"))),menu:d.lazy(()=>Promise.resolve().then(()=>require("./nmePqxlD.cjs"))),expand:d.lazy(()=>Promise.resolve().then(()=>require("./CEjis_lK.cjs"))),collapse:d.lazy(()=>Promise.resolve().then(()=>require("./DFIibgIj.cjs"))),agent:d.lazy(()=>Promise.resolve().then(()=>require("./Ce1MzjFq.cjs"))),question:d.lazy(()=>Promise.resolve().then(()=>require("./JA0x62Fd.cjs"))),actionbook:d.lazy(()=>Promise.resolve().then(()=>require("./CXa-CGHE.cjs"))),function:d.lazy(()=>Promise.resolve().then(()=>require("./zbLY6xl_.cjs"))),"radio-on":d.lazy(()=>Promise.resolve().then(()=>require("./B9NJk4MI.cjs"))),"radio-off":d.lazy(()=>Promise.resolve().then(()=>require("./Bb0r6Nhu.cjs"))),confluence:d.lazy(()=>Promise.resolve().then(()=>require("./c6TZaE94.cjs"))),zendesk:d.lazy(()=>Promise.resolve().then(()=>require("./DqpDy_26.cjs"))),salesforce:d.lazy(()=>Promise.resolve().then(()=>require("./BsgzT_SF.cjs"))),sprinklr:d.lazy(()=>Promise.resolve().then(()=>require("./D97ZpKUC.cjs"))),website:d.lazy(()=>Promise.resolve().then(()=>require("./ygZY2D-5.cjs"))),snippet:d.lazy(()=>Promise.resolve().then(()=>require("./BCFOnu0u.cjs"))),template:d.lazy(()=>Promise.resolve().then(()=>require("./eJXfXI1_.cjs")))},M=({type:e,size:t=24,className:n,color:o})=>{const s=Jo[e];return r.createElement(Qo,{className:n,$rtlFlip:Yo.has(e),$size:t,$color:o??g.color.primary.main},r.createElement(d.Suspense,{fallback:null},r.createElement(s,null)))},Xo=T.css`[dir='rtl'] &{transform:scaleX(-1);}`,Qo=m.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&&Xo};`;function wt({name:e,type:t="FILE",iconColor:n,iconBackgroundColor:o,onClick:s}){const{colors:a}=T.useTheme();return r.createElement(es,{onClick:s,$clickable:!!s},r.createElement(ns,{$bgColor:o??a.base.primary},r.createElement(M,{type:"file-document",size:24,color:n??a.base.primaryContrastContent})),r.createElement(rs,null,r.createElement(os,{variant:"button",color:g.themedColor.textHighEmphasis},e),r.createElement(k,{color:g.themedColor.textMidEmphasis,variant:"caption3"},t)))}const es=m.default.div`border-radius:12px;gap:8px;width:${$e}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&&ts}`,ts=T.css`cursor:pointer;&:hover{background-color:${g.themedColor.bg_100_500};}`,ns=m.default.div`border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:${({$bgColor:e})=>e};`,rs=m.default.div`display:flex;flex:1;flex-direction:column;gap:4px;min-width:0;`,os=m.default(k)`text-overflow:ellipsis;white-space:nowrap;overflow:hidden;`;function ss({file:e,children:t,onClickFile:n}){return r.createElement(is,null,r.createElement(wt,{name:e.name,type:Tt(e.name,e.type),onClick:n&&(()=>n==null?void 0:n(e))}),t)}const is=m.default.div`display:flex;flex-direction:column;align-items:flex-start;gap:${ve}px;`;function as({file:e,onClickMedia:t,children:n}){const o=()=>e.type.startsWith("image")?r.createElement(ds,{src:e.url,alt:"image-message"}):e.type.startsWith("video")?r.createElement(us,{controls:!0},r.createElement("source",{src:e.url}),r.createElement("track",{kind:"captions"})):null;if(o){const s={id:`${ae}-media-body`,onClick:()=>t==null?void 0:t(e)};return r.createElement(ls,null,r.createElement(cs,{...s},o()),n)}return null}const ls=m.default.div`display:flex;flex-direction:column;align-items:flex-start;gap:${ve}px;`,cs=m.default.div`width:${$e}px;height:160px;border-radius:12px;overflow:hidden;cursor:pointer;${P.light`
53
53
  background-color: ${g.color.background100};
@@ -55,7 +55,7 @@
55
55
  ${P.dark`
56
56
  background-color: ${g.color.background400};
57
57
  `}
58
- `,ds=m.default.img`width:100%;height:100%;object-fit:cover;`,us=m.default.video`width:100%;height:100%;object-fit:cover;`,ms="✱";function Mn(e){const t=new RegExp(`${ms}+`,"g");return e.replace(t,n=>`<span id=${Zo} aria-label="masked-text">${n}</span>`)}function hs(e){return e.replace(/\*\*(.*?)\*\*/g,"<b>$1</b>")}function gs(e){const t=/```(\w+)?\n([\s\S]*?)```/g,n=[];let o=0;return e.replace(t,(s,...a)=>{const[i,l,c]=a;return o<c&&n.push({type:"text",value:e.slice(o,c).trim()}),n.push({type:"code",value:l.trim(),language:i?i.trim():"plaintext"}),o=c+s.length,s}),o<e.length&&n.push({type:"text",value:e.slice(o).trim()}),n.map(s=>s.type!=="text"?s:{...s,value:Mn(s.value)})}const fs=d.lazy(async()=>({default:(await Promise.resolve().then(()=>require("./Dr0IKtV9.cjs"))).MarkdownText})),ps=d.lazy(async()=>({default:(await Promise.resolve().then(()=>require("./DlvEEpWX.cjs"))).CodeBlock}));function Vt(e){var s,a;const t=e.maxBodyWidth??$e,n=d.useMemo(()=>gs(e.message),[e.message]),o={id:`${ae}-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?r.createElement(Wt,{...o},e.children):null:r.createElement(Wt,{...o},n.map((i,l)=>i.type==="text"?r.createElement(Gt,{key:l,variant:"body3"},r.createElement(d.Suspense,{fallback:i.value},r.createElement(fs,{onClickImage:c=>{var u;return(u=e.onClickMedia)==null?void 0:u.call(e,{url:c,type:"image/*"})}},i.value))):i.type==="code"?r.createElement(d.Suspense,{key:l,fallback:r.createElement(Gt,{variant:"body3"},i.value)},r.createElement(ps,{code:i.value,language:i.language})):null),e.children)}const Wt=m.default.div`display:flex;flex-direction:column;border-radius:12px;overflow:hidden;max-width:${({$maxWidth:e})=>e}px;${({theme:e,$color:t,$bgColor:n})=>T.css`
58
+ `,ds=m.default.img`width:100%;height:100%;object-fit:cover;`,us=m.default.video`width:100%;height:100%;object-fit:cover;`,ms="✱";function Mn(e){const t=new RegExp(`${ms}+`,"g");return e.replace(t,n=>`<span id=${Zo} aria-label="masked-text">${n}</span>`)}function hs(e){return e.replace(/\*\*(.*?)\*\*/g,"<b>$1</b>")}function gs(e){const t=/```(\w+)?\n([\s\S]*?)```/g,n=[];let o=0;return e.replace(t,(s,...a)=>{const[i,l,c]=a;return o<c&&n.push({type:"text",value:e.slice(o,c).trim()}),n.push({type:"code",value:l.trim(),language:i?i.trim():"plaintext"}),o=c+s.length,s}),o<e.length&&n.push({type:"text",value:e.slice(o).trim()}),n.map(s=>s.type!=="text"?s:{...s,value:Mn(s.value)})}const fs=d.lazy(async()=>({default:(await Promise.resolve().then(()=>require("./Citlpy3c.cjs"))).MarkdownText})),ps=d.lazy(async()=>({default:(await Promise.resolve().then(()=>require("./DlvEEpWX.cjs"))).CodeBlock}));function Vt(e){var s,a;const t=e.maxBodyWidth??$e,n=d.useMemo(()=>gs(e.message),[e.message]),o={id:`${ae}-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?r.createElement(Wt,{...o},e.children):null:r.createElement(Wt,{...o},n.map((i,l)=>i.type==="text"?r.createElement(Gt,{key:l,variant:"body3"},r.createElement(d.Suspense,{fallback:i.value},r.createElement(fs,{onClickImage:c=>{var u;return(u=e.onClickMedia)==null?void 0:u.call(e,{url:c,type:"image/*"})}},i.value))):i.type==="code"?r.createElement(d.Suspense,{key:l,fallback:r.createElement(Gt,{variant:"body3"},i.value)},r.createElement(ps,{code:i.value,language:i.language})):null),e.children)}const Wt=m.default.div`display:flex;flex-direction:column;border-radius:12px;overflow:hidden;max-width:${({$maxWidth:e})=>e}px;${({theme:e,$color:t,$bgColor:n})=>T.css`
59
59
  color: ${t||e.colors.messageIncoming.text};
60
60
  background-color: ${n||e.colors.messageIncoming.background};
61
61
  `}
@@ -120,7 +120,7 @@
120
120
  color: ${t};
121
121
  }
122
122
  `}
123
- `,Fe=m.default.div`display:flex;align-items:center;justify-content:center;flex-shrink:0;`,Ge=m.default.div`display:flex;gap:8px;align-items:center;`,Xi=m.default(Ge)`cursor:pointer;gap:4px;`,dt=m.default(Ge)`flex-direction:row;align-items:center;`,Jt=m.default.div`display:flex;gap:4px;flex-direction:column;align-items:flex-start;`,zn=d.createContext(null);function Qi({testerType:e,children:t}){return r.createElement(zn.Provider,{value:{testerType:e,isActionbookTester:e==="actionbook"}},e&&r.createElement(ea,null),t)}const Me=()=>{const e=d.useContext(zn);if(!e)throw new Error("_UNSAFE_INTERNAL_DashboardTesterProvider not found");return e},ea=()=>{const{isActionbookTester:e}=Me();return r.createElement(me.Template,{template:e?ta:void 0},r.createElement(me.MessageLogs,{component:na}))},ta=e=>r.createElement(Dn,{...e,testerMode:!0,maxBodyWidth:An}),na=({extendedMessagePayload:e={}})=>{const{handlers:t}=R(),{manual:n,groundedness:o,function_calls:s,agent_message_templates:a,is_thinking:i}=e;return i||!n&&!(o!=null&&o.length)&&!(s!=null&&s.length)&&!(a!=null&&a.length)?r.createElement(r.Fragment,null):r.createElement(ra,null,r.createElement(oa,{width:4}),r.createElement(Fn,{actionbook:n,functionCalls:s,groundedness:o,agentMessageTemplates:a,onClickFunctionCallDetail:t==null?void 0:t.onFunctionCallDetailClick,style:{iconColor:g.themedColor.textHighEmphasis,textColor:g.themedColor.textHighEmphasis,barColor:g.themedColor.textDisabled},bottomContent:r.createElement(sa,{variant:"caption2",color:g.themedColor.textLowEmphasis},"Only visible in the tester")}))},ra=m.default.div`display:flex;gap:16px;margin:16px ${te}px 0;align-self:stretch;`,oa=m.default.div`width:${({width:e})=>e}px;background-color:${g.themedColor.textDisabled};border-radius:100px;flex-shrink:0;`,sa=m.default(k)`margin-top:5px;`,ia=({publishSynchronous:e=!1})=>{const t=new Set;return{publish:n=>{t.forEach(o=>{e?o(n):setTimeout(()=>o(n),0)})},subscribe:n=>(t.add(n),()=>t.delete(n))}};function aa(e,t=[]){const n=d.useRef(null),o=d.useRef(0),s=d.useRef(0),[a]=d.useState(()=>ia({publishSynchronous:!0})),[i,l]=d.useState(!0);return d.useLayoutEffect(()=>{o.current=0,s.current=0,l(!0),n.current&&(n.current.scrollTop=n.current.scrollHeight)},t),d.useLayoutEffect(()=>a.subscribe(({type:c,data:u})=>{const{resolve:h,animated:f}=u??{};if(!n.current)return h==null?void 0:h();if(c==="scrollToBottom"&&(n.current.scroll?n.current.scroll({top:n.current.scrollHeight,behavior:Xt(e,f)}):n.current.scrollTop=n.current.scrollHeight,s.current=0,l(!0),h==null||h()),c==="scroll"){const p=u==null?void 0:u.top,{scrollTop:E,scrollHeight:b,clientHeight:v}=n.current;n.current.scroll?n.current.scroll({top:p,behavior:Xt(e,f)}):typeof p=="number"&&(n.current.scrollTop=p),s.current=Math.max(0,b-E-v),l(s.current===0),h==null||h()}}),[e]),{scrollRef:n,scrollPubSub:a,isScrollBottomReached:i,setIsScrollBottomReached:l,scrollDistanceFromBottomRef:s,scrollPositionRef:o}}function Xt(e,t){return typeof t=="boolean"?t?"smooth":"auto":e}function la(e){return new Promise(t=>{const n=new Image;n.onload=function(){const o=String(n.width),s=String(n.height);URL.revokeObjectURL(n.src),t({width:o,height:s})},n.src=URL.createObjectURL(e)})}async function ca(e){if("file"in e&&e.file instanceof File&&e.file.type.startsWith("image/")){const{width:t,height:n}=await la(e.file);return new mn.MessageMetaArray({key:Un,value:[t,n]})}}const Un="KEY_IMG_ASPECT_RATIO",da=({onScrollAfterSendMessage:e})=>{const{agentPreviewConfigs:t,handlers:n}=R(),o=d.useRef(t==null?void 0:t.agentAttributes);return o.current=t==null?void 0:t.agentAttributes,{onBeforeSendMessage:async s=>{const a=await ca(s),i={...s,metaArrays:a?[a]:void 0},l=ua(o.current);return l?{...i,data:JSON.stringify(l)}:i},onAfterSendMessage:s=>{var a;e(),(a=n==null?void 0:n.onMessageSend)==null||a.call(n,s.message)}}},ua=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:ma,useContext:q}=V("Conversation"),ha=({closedChannelUrl:e,onClearClosedChannelUrl:t,onNavigateToConversationList:n,children:o})=>{const{aiAgentInfo:s,activeChannel:a,refreshActiveChannel:i}=N(),{testerType:l}=Me(),c=aa("smooth"),{onBeforeSendMessage:u,onAfterSendMessage:h}=da({onScrollAfterSendMessage:()=>{c.scrollPubSub.publish({type:"scrollToBottom",data:{animated:!1}})}}),f=E=>{const b=E[E.length-1];b&&Ke.shouldScrollToBottom(b,s.userId,!!l)&&setTimeout(()=>c.scrollPubSub.publish({type:"scrollToBottom"}),25)},p=d.useCallback(async()=>{await i(),e&&(t==null||t())},[i,e,t]);return r.createElement(Rr,{channelUrl:e||(a==null?void 0:a.url),onBeforeSendMessage:u,onAfterSendMessage:h,onMessagesUpdated:f,onMessagesReceived:f,onChannelDeleted:p,onConversationClosedViaDispatcher:p},E=>r.createElement(ma,{value:{...E,scrollSource:c,goToActiveConversation:p,onNavigateToConversationList:n}},o))},Mt=d.createContext({onDrop:we,subscribe:()=>we}),xt=({children:e})=>{const t=d.useRef(new Set);return r.createElement(Mt.Provider,{value:{onDrop:n=>{var o;if(n.preventDefault(),(o=n.dataTransfer)!=null&&o.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)},ga=({onDropFiles:e})=>{const{subscribe:t}=d.useContext(Mt);d.useEffect(()=>t(e),[e])};xt.Consumer=({children:e})=>{const{onDrop:t}=d.useContext(Mt);return e({onDrop:t,onDragOver:s=>s.preventDefault()})};const fa=({iconSize:e=64,icon:t,className:n,label:o,children:s})=>r.createElement(ba,{className:n},r.createElement(M,{type:t,size:e,color:g.themedColor.textLowEmphasis}),r.createElement(k,{variant:"body1",color:g.themedColor.textMidEmphasis},o),s),pa=m.default.div`position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:100%;`,ba=m.default.div`display:flex;flex-direction:column;min-height:104px;align-items:center;gap:20px;text-align:center;`,xa={loading:d.lazy(()=>Promise.resolve().then(()=>require("./B3amOKMy.cjs"))),error:d.lazy(()=>Promise.resolve().then(()=>require("./C-xAG8K6.cjs"))),noChannels:d.lazy(()=>Promise.resolve().then(()=>require("./D3l33ZWe.cjs"))),noMessages:d.lazy(()=>Promise.resolve().then(()=>require("./DKjB_ZFo.cjs")))},xe=({className:e,type:t="loading",...n})=>{const o=xa[t];return r.createElement(pa,{className:e},r.createElement(d.Suspense,{fallback:null},r.createElement(o,{...n})))};function Ea(e){return"sendingStatus"in e?e.sendingStatus==="succeeded"?String(e.messageId):e.reqId:String(e.messageId)}const va=(e,t,n,o=!0)=>{if(!o||!e.isUserMessage()&&!e.isFileMessage())return"single";const s=()=>{if(!t||!t.isUserMessage()&&!t.isFileMessage())return!1;const c=t.sender.userId===e.sender.userId,u=Te.isSameMinute(t.createdAt,e.createdAt);return c&&u},a=()=>{if(!n||!n.isUserMessage()&&!n.isFileMessage())return!1;const c=n.sender.userId===e.sender.userId,u=Te.isSameMinute(n.createdAt,e.createdAt);return c&&u},i=s(),l=a();return i&&l?"middle":i?"bottom":l?"top":"single"};function Ca(e,t){return e.filter(n=>Ke.isWelcomeMessage(n,t))}function Hn(e,t){return ya(e)===t}function ya(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 _a(e){return e.isAdminMessage()?e.message==="The channel's custom_type was updated.":!1}const Qt=e=>!!e&&"sender"in e,Vn=e=>e.startsWith("image/"),Wn=e=>e.startsWith("video/"),en=e=>Vn(e)||Wn(e),ze={isAdmin:e=>e.isAdminMessage(),isCSAT:e=>{var t;return e.isAdminMessage()&&!!((t=e.extendedMessagePayload)!=null&&t.csat)},isIncoming:(e,t)=>Qt(e)&&e.sender.userId!==t,isOutgoing:(e,t)=>Qt(e)&&(e.sender.userId===t||e.sendingStatus===mn.SendingStatus.PENDING)},Gn=({rootElementId:e,visible:t,onClose:n,children:o})=>{if(!t)return null;const{rootElement:s}=R(),a=ue(s),i=ue(s,!0);return xr.createPortal(r.createElement(Sa,{onClick:n},r.createElement(Ta,{onClick:l=>l.stopPropagation()},o)),a.getElementById(e)??a.getElementById(ee.MODAL_ROOT)??i.body)},Sa=m.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:${he.MODAL};`,Ta=m.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:${he.MODAL};`,wa=m.default.div`flex-shrink:0;width:${({$size:e})=>j(e)};height:${({$size:e})=>j(e)};background-color:${({theme:e})=>e.colors.base.primary};box-sizing:border-box;padding:6px;border-radius:50%;display:flex;justify-content:center;align-items:center;}`,ka=m.default(kt)`path{fill:${({theme:e})=>e.colors.base.primaryContrastContent};}`;function jn({size:e}){const{aiAgentInfo:t}=N();return t.profileUrl?r.createElement(At,{size:e,src:t.profileUrl}):r.createElement(wa,{$size:e},r.createElement(ka,null))}const Aa=m.default.div`width:100%;height:100%;position:fixed;top:0;left:0;outline:none;`,Ia=m.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;}`,$a=m.default.div`box-sizing:border-box;display:flex;flex-direction:row;align-items:center;height:64px;padding:16px 20px;width:calc(100% - 128px);`,Ma=m.default.div`margin-inline-end:8px;`,La=m.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);}`,Oa=m.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;}`,Ra=m.default.div`display:flex;width:160px;justify-content:flex-end;`,Pa=m.default.div`inset-inline-end:0;display:flex;flex-direction:row;`,qn=m.default.div`width:64px;padding:21px;box-sizing:border-box;cursor:${e=>e.disabled?"not-allowed":"pointer"};`,Da=m.default(qn)`border-inline-start:1px solid ${g.themedColor.textDisabled};`,Na=m.default.div`width:100%;height:100%;display:flex;align-items:center;justify-content:center;`,Ba=m.default.video`max-width:100%;max-height:100%;user-select:none;-webkit-user-drag:none;`,Fa=m.default.img`max-width:calc(90% - 60px);max-height:calc(90% - 60px);user-select:none;-webkit-user-drag:none;`,za=m.default.div`max-width:100%;max-height:100%;display:flex;justify-content:center;align-items:center;`,Ua=({file:e,sender:t={},onClose:n,onDownloadClick:o})=>{const{type:s,url:a,name:i=""}=e,{profileUrl:l,nickname:c,userId:u}=t,{aiAgentInfo:h}=N();return r.createElement(Va,{profileUrl:l??"",nickname:c??"",type:s,url:a,name:i,onClose:n,isBotMessage:u===h.userId,onDownloadClick:o})},Ha=({profileUrl:e,isBotMessage:t})=>!e&&t?r.createElement(jn,{size:32}):r.createElement(At,{size:32,src:e}),Va=({profileUrl:e,isBotMessage:t,nickname:n,name:o,type:s,url:a,onClose:i,onDownloadClick:l})=>{const{stringSet:c}=O();return r.createElement(Gn,{onClose:i,visible:!0,rootElementId:ee.MODAL_ROOT},r.createElement(Aa,null,r.createElement(Ia,null,r.createElement($a,null,r.createElement(Ma,null,r.createElement(Ha,{profileUrl:e,isBotMessage:t})),r.createElement(La,null,r.createElement(k,{variant:"h2",color:g.themedColor.textHighEmphasis},o)),r.createElement(Oa,null,r.createElement(k,{variant:"body1",color:g.color.ondark.textMidEmphasis},n))),r.createElement(Ra,null,en(s)&&r.createElement(Pa,null,r.createElement(qn,{as:"a",href:a,target:"_blank",rel:Xe,onClick:l},r.createElement(M,{type:"download",color:g.themedColor.textHighEmphasis,size:24}))),r.createElement(Da,{onClick:i},r.createElement(M,{type:"close",color:g.themedColor.textHighEmphasis,size:24})))),r.createElement(Na,{onClick:u=>u.currentTarget===u.target&&i()},Wn(s)&&r.createElement(Ba,{controls:!0},r.createElement("source",{src:a,type:s})),Vn(s)&&r.createElement(Fa,{src:a,alt:o}),!en(s)&&r.createElement(za,null,r.createElement(k,{variant:"h1",color:g.themedColor.textHighEmphasis},c.FILE_VIEWER__UNSUPPORT)))))},Kn=({className:e,locale:t,date:n=Date.now(),formatString:o="MMMM dd, yyyy",style:s})=>r.createElement(Wa,{style:s,className:e},r.createElement(k,{variant:"caption4",color:g.themedColor.textMidEmphasis},Te.format(n,o,{locale:t}))),Wa=m.default.div`display:flex;justify-content:center;align-items:center;`,Ga=d.forwardRef(function(t,n){const{messages:o,renderMessage:s,messageTopArea:a,messageBottomArea:i,overlayArea:l,onLoadPrev:c,onLoadNext:u,loadThreshold:h=.05,onScrollPosition:f=we,depsForResetScrollPositionToBottom:p,scrollPositionRef:E,scrollDistanceFromBottomRef:b,stackDirection:v="top"}=t,x=n&&"current"in n?n:{current:null},C=d.useRef(!1),_=d.useRef(void 0),w=d.useRef(0),S=d.useRef(0),W=d.useRef(0),L=E??S,ne=b??W;d.useLayoutEffect(()=>{x.current&&(x.current.scrollTop=x.current.scrollHeight)},p),d.useLayoutEffect(()=>{x.current&&(_.current==="top"&&(x.current.scrollTop=x.current.scrollHeight-L.current),_.current==="bottom"&&(x.current.scrollTop=w.current),_.current=void 0)},[x.current,o.length]);const ge=async()=>{if(!x.current)return;const y=x.current;if(f(ja(y)),L.current=y.scrollHeight-y.scrollTop,ne.current=L.current-y.clientHeight,w.current=y.scrollTop,C.current)return;const D=y.clientHeight*Math.min(Math.max(0,h),1);y.scrollTop<=D?(C.current=!0,_.current="top",await c(),C.current=!1):y.scrollHeight-y.scrollTop-y.clientHeight<=D?(C.current=!0,_.current="bottom",await u(),C.current=!1):_.current=void 0};return r.createElement(qa,{id:"infinite-list-container"},r.createElement(Ka,{id:"infinite-list-inner",ref:x,onScroll:ge},v==="bottom"&&r.createElement("div",{style:{flexGrow:1}}),a,o.map((y,D)=>s({message:y,index:D})),i),r.createElement(Za,{id:"infinite-list-overlay-container"},r.createElement(Ya,{id:"infinite-list-overlay"},l)))}),tn=50;function ja(e){return e.scrollTop<=tn?"top":e.scrollHeight-(e.scrollTop+e.clientHeight)<=tn?"bottom":"middle"}const qa=m.default.div`display:flex;position:relative;flex:1;overflow:hidden;`,Ka=m.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;}`,Za=m.default.div`position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;`,Ya=m.default.div`pointer-events:auto;`,Ja=({className:e,onClick:t})=>r.createElement(Xa,{className:e,onClick:t,tabIndex:0},r.createElement(M,{size:24,type:"chevron-down",color:g.color.primary.main})),Xa=m.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);${P.light`
123
+ `,Fe=m.default.div`display:flex;align-items:center;justify-content:center;flex-shrink:0;`,Ge=m.default.div`display:flex;gap:8px;align-items:center;`,Xi=m.default(Ge)`cursor:pointer;gap:4px;`,dt=m.default(Ge)`flex-direction:row;align-items:center;`,Jt=m.default.div`display:flex;gap:4px;flex-direction:column;align-items:flex-start;`,zn=d.createContext(null);function Qi({testerType:e,children:t}){return r.createElement(zn.Provider,{value:{testerType:e,isActionbookTester:e==="actionbook"}},e&&r.createElement(ea,null),t)}const Me=()=>{const e=d.useContext(zn);if(!e)throw new Error("_UNSAFE_INTERNAL_DashboardTesterProvider not found");return e},ea=()=>{const{isActionbookTester:e}=Me();return r.createElement(me.Template,{template:e?ta:void 0},r.createElement(me.MessageLogs,{component:na}))},ta=e=>r.createElement(Dn,{...e,testerMode:!0,maxBodyWidth:An}),na=({extendedMessagePayload:e={}})=>{const{handlers:t}=R(),{manual:n,groundedness:o,function_calls:s,agent_message_templates:a,is_thinking:i}=e;return i||!n&&!(o!=null&&o.length)&&!(s!=null&&s.length)&&!(a!=null&&a.length)?r.createElement(r.Fragment,null):r.createElement(ra,null,r.createElement(oa,{width:4}),r.createElement(Fn,{actionbook:n,functionCalls:s,groundedness:o,agentMessageTemplates:a,onClickFunctionCallDetail:t==null?void 0:t.onFunctionCallDetailClick,style:{iconColor:g.themedColor.textHighEmphasis,textColor:g.themedColor.textHighEmphasis,barColor:g.themedColor.textDisabled},bottomContent:r.createElement(sa,{variant:"caption2",color:g.themedColor.textLowEmphasis},"Only visible in the tester")}))},ra=m.default.div`display:flex;gap:16px;margin:16px ${te}px 0;align-self:stretch;`,oa=m.default.div`width:${({width:e})=>e}px;background-color:${g.themedColor.textDisabled};border-radius:100px;flex-shrink:0;`,sa=m.default(k)`margin-top:5px;`,ia=({publishSynchronous:e=!1})=>{const t=new Set;return{publish:n=>{t.forEach(o=>{e?o(n):setTimeout(()=>o(n),0)})},subscribe:n=>(t.add(n),()=>t.delete(n))}};function aa(e,t=[]){const n=d.useRef(null),o=d.useRef(0),s=d.useRef(0),[a]=d.useState(()=>ia({publishSynchronous:!0})),[i,l]=d.useState(!0);return d.useLayoutEffect(()=>{o.current=0,s.current=0,l(!0),n.current&&(n.current.scrollTop=n.current.scrollHeight)},t),d.useLayoutEffect(()=>a.subscribe(({type:c,data:u})=>{const{resolve:h,animated:f}=u??{};if(!n.current)return h==null?void 0:h();if(c==="scrollToBottom"&&(n.current.scroll?n.current.scroll({top:n.current.scrollHeight,behavior:Xt(e,f)}):n.current.scrollTop=n.current.scrollHeight,s.current=0,l(!0),h==null||h()),c==="scroll"){const p=u==null?void 0:u.top,{scrollTop:E,scrollHeight:b,clientHeight:v}=n.current;n.current.scroll?n.current.scroll({top:p,behavior:Xt(e,f)}):typeof p=="number"&&(n.current.scrollTop=p),s.current=Math.max(0,b-E-v),l(s.current===0),h==null||h()}}),[e]),{scrollRef:n,scrollPubSub:a,isScrollBottomReached:i,setIsScrollBottomReached:l,scrollDistanceFromBottomRef:s,scrollPositionRef:o}}function Xt(e,t){return typeof t=="boolean"?t?"smooth":"auto":e}function la(e){return new Promise(t=>{const n=new Image;n.onload=function(){const o=String(n.width),s=String(n.height);URL.revokeObjectURL(n.src),t({width:o,height:s})},n.src=URL.createObjectURL(e)})}async function ca(e){if("file"in e&&e.file instanceof File&&e.file.type.startsWith("image/")){const{width:t,height:n}=await la(e.file);return new mn.MessageMetaArray({key:Un,value:[t,n]})}}const Un="KEY_IMG_ASPECT_RATIO",da=({onScrollAfterSendMessage:e})=>{const{agentPreviewConfigs:t,handlers:n}=R(),o=d.useRef(t==null?void 0:t.agentAttributes);return o.current=t==null?void 0:t.agentAttributes,{onBeforeSendMessage:async s=>{const a=await ca(s),i={...s,metaArrays:a?[a]:void 0},l=ua(o.current);return l?{...i,data:JSON.stringify(l)}:i},onAfterSendMessage:s=>{var a;e(),(a=n==null?void 0:n.onMessageSend)==null||a.call(n,s.message)}}},ua=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:ma,useContext:q}=V("Conversation"),ha=({closedChannelUrl:e,onClearClosedChannelUrl:t,onNavigateToConversationList:n,children:o})=>{const{aiAgentInfo:s,activeChannel:a,refreshActiveChannel:i}=N(),{testerType:l}=Me(),c=aa("smooth"),{onBeforeSendMessage:u,onAfterSendMessage:h}=da({onScrollAfterSendMessage:()=>{c.scrollPubSub.publish({type:"scrollToBottom",data:{animated:!1}})}}),f=E=>{const b=E[E.length-1];b&&Ke.shouldScrollToBottom(b,s.userId,!!l)&&setTimeout(()=>c.scrollPubSub.publish({type:"scrollToBottom"}),25)},p=d.useCallback(async()=>{await i(),e&&(t==null||t())},[i,e,t]);return r.createElement(Rr,{channelUrl:e||(a==null?void 0:a.url),onBeforeSendMessage:u,onAfterSendMessage:h,onMessagesUpdated:f,onMessagesReceived:f,onChannelDeleted:p,onConversationClosedViaDispatcher:p},E=>r.createElement(ma,{value:{...E,scrollSource:c,goToActiveConversation:p,onNavigateToConversationList:n}},o))},Mt=d.createContext({onDrop:we,subscribe:()=>we}),xt=({children:e})=>{const t=d.useRef(new Set);return r.createElement(Mt.Provider,{value:{onDrop:n=>{var o;if(n.preventDefault(),(o=n.dataTransfer)!=null&&o.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)},ga=({onDropFiles:e})=>{const{subscribe:t}=d.useContext(Mt);d.useEffect(()=>t(e),[e])};xt.Consumer=({children:e})=>{const{onDrop:t}=d.useContext(Mt);return e({onDrop:t,onDragOver:s=>s.preventDefault()})};const fa=({iconSize:e=64,icon:t,className:n,label:o,children:s})=>r.createElement(ba,{className:n},r.createElement(M,{type:t,size:e,color:g.themedColor.textLowEmphasis}),r.createElement(k,{variant:"body1",color:g.themedColor.textMidEmphasis},o),s),pa=m.default.div`position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:100%;`,ba=m.default.div`display:flex;flex-direction:column;min-height:104px;align-items:center;gap:20px;text-align:center;`,xa={loading:d.lazy(()=>Promise.resolve().then(()=>require("./C1S2ZOw1.cjs"))),error:d.lazy(()=>Promise.resolve().then(()=>require("./B8shwNHu.cjs"))),noChannels:d.lazy(()=>Promise.resolve().then(()=>require("./B11So7bc.cjs"))),noMessages:d.lazy(()=>Promise.resolve().then(()=>require("./uUKu7Ccr.cjs")))},xe=({className:e,type:t="loading",...n})=>{const o=xa[t];return r.createElement(pa,{className:e},r.createElement(d.Suspense,{fallback:null},r.createElement(o,{...n})))};function Ea(e){return"sendingStatus"in e?e.sendingStatus==="succeeded"?String(e.messageId):e.reqId:String(e.messageId)}const va=(e,t,n,o=!0)=>{if(!o||!e.isUserMessage()&&!e.isFileMessage())return"single";const s=()=>{if(!t||!t.isUserMessage()&&!t.isFileMessage())return!1;const c=t.sender.userId===e.sender.userId,u=Te.isSameMinute(t.createdAt,e.createdAt);return c&&u},a=()=>{if(!n||!n.isUserMessage()&&!n.isFileMessage())return!1;const c=n.sender.userId===e.sender.userId,u=Te.isSameMinute(n.createdAt,e.createdAt);return c&&u},i=s(),l=a();return i&&l?"middle":i?"bottom":l?"top":"single"};function Ca(e,t){return e.filter(n=>Ke.isWelcomeMessage(n,t))}function Hn(e,t){return ya(e)===t}function ya(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 _a(e){return e.isAdminMessage()?e.message==="The channel's custom_type was updated.":!1}const Qt=e=>!!e&&"sender"in e,Vn=e=>e.startsWith("image/"),Wn=e=>e.startsWith("video/"),en=e=>Vn(e)||Wn(e),ze={isAdmin:e=>e.isAdminMessage(),isCSAT:e=>{var t;return e.isAdminMessage()&&!!((t=e.extendedMessagePayload)!=null&&t.csat)},isIncoming:(e,t)=>Qt(e)&&e.sender.userId!==t,isOutgoing:(e,t)=>Qt(e)&&(e.sender.userId===t||e.sendingStatus===mn.SendingStatus.PENDING)},Gn=({rootElementId:e,visible:t,onClose:n,children:o})=>{if(!t)return null;const{rootElement:s}=R(),a=ue(s),i=ue(s,!0);return xr.createPortal(r.createElement(Sa,{onClick:n},r.createElement(Ta,{onClick:l=>l.stopPropagation()},o)),a.getElementById(e)??a.getElementById(ee.MODAL_ROOT)??i.body)},Sa=m.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:${he.MODAL};`,Ta=m.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:${he.MODAL};`,wa=m.default.div`flex-shrink:0;width:${({$size:e})=>j(e)};height:${({$size:e})=>j(e)};background-color:${({theme:e})=>e.colors.base.primary};box-sizing:border-box;padding:6px;border-radius:50%;display:flex;justify-content:center;align-items:center;}`,ka=m.default(kt)`path{fill:${({theme:e})=>e.colors.base.primaryContrastContent};}`;function jn({size:e}){const{aiAgentInfo:t}=N();return t.profileUrl?r.createElement(At,{size:e,src:t.profileUrl}):r.createElement(wa,{$size:e},r.createElement(ka,null))}const Aa=m.default.div`width:100%;height:100%;position:fixed;top:0;left:0;outline:none;`,Ia=m.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;}`,$a=m.default.div`box-sizing:border-box;display:flex;flex-direction:row;align-items:center;height:64px;padding:16px 20px;width:calc(100% - 128px);`,Ma=m.default.div`margin-inline-end:8px;`,La=m.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);}`,Oa=m.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;}`,Ra=m.default.div`display:flex;width:160px;justify-content:flex-end;`,Pa=m.default.div`inset-inline-end:0;display:flex;flex-direction:row;`,qn=m.default.div`width:64px;padding:21px;box-sizing:border-box;cursor:${e=>e.disabled?"not-allowed":"pointer"};`,Da=m.default(qn)`border-inline-start:1px solid ${g.themedColor.textDisabled};`,Na=m.default.div`width:100%;height:100%;display:flex;align-items:center;justify-content:center;`,Ba=m.default.video`max-width:100%;max-height:100%;user-select:none;-webkit-user-drag:none;`,Fa=m.default.img`max-width:calc(90% - 60px);max-height:calc(90% - 60px);user-select:none;-webkit-user-drag:none;`,za=m.default.div`max-width:100%;max-height:100%;display:flex;justify-content:center;align-items:center;`,Ua=({file:e,sender:t={},onClose:n,onDownloadClick:o})=>{const{type:s,url:a,name:i=""}=e,{profileUrl:l,nickname:c,userId:u}=t,{aiAgentInfo:h}=N();return r.createElement(Va,{profileUrl:l??"",nickname:c??"",type:s,url:a,name:i,onClose:n,isBotMessage:u===h.userId,onDownloadClick:o})},Ha=({profileUrl:e,isBotMessage:t})=>!e&&t?r.createElement(jn,{size:32}):r.createElement(At,{size:32,src:e}),Va=({profileUrl:e,isBotMessage:t,nickname:n,name:o,type:s,url:a,onClose:i,onDownloadClick:l})=>{const{stringSet:c}=O();return r.createElement(Gn,{onClose:i,visible:!0,rootElementId:ee.MODAL_ROOT},r.createElement(Aa,null,r.createElement(Ia,null,r.createElement($a,null,r.createElement(Ma,null,r.createElement(Ha,{profileUrl:e,isBotMessage:t})),r.createElement(La,null,r.createElement(k,{variant:"h2",color:g.themedColor.textHighEmphasis},o)),r.createElement(Oa,null,r.createElement(k,{variant:"body1",color:g.color.ondark.textMidEmphasis},n))),r.createElement(Ra,null,en(s)&&r.createElement(Pa,null,r.createElement(qn,{as:"a",href:a,target:"_blank",rel:Xe,onClick:l},r.createElement(M,{type:"download",color:g.themedColor.textHighEmphasis,size:24}))),r.createElement(Da,{onClick:i},r.createElement(M,{type:"close",color:g.themedColor.textHighEmphasis,size:24})))),r.createElement(Na,{onClick:u=>u.currentTarget===u.target&&i()},Wn(s)&&r.createElement(Ba,{controls:!0},r.createElement("source",{src:a,type:s})),Vn(s)&&r.createElement(Fa,{src:a,alt:o}),!en(s)&&r.createElement(za,null,r.createElement(k,{variant:"h1",color:g.themedColor.textHighEmphasis},c.FILE_VIEWER__UNSUPPORT)))))},Kn=({className:e,locale:t,date:n=Date.now(),formatString:o="MMMM dd, yyyy",style:s})=>r.createElement(Wa,{style:s,className:e},r.createElement(k,{variant:"caption4",color:g.themedColor.textMidEmphasis},Te.format(n,o,{locale:t}))),Wa=m.default.div`display:flex;justify-content:center;align-items:center;`,Ga=d.forwardRef(function(t,n){const{messages:o,renderMessage:s,messageTopArea:a,messageBottomArea:i,overlayArea:l,onLoadPrev:c,onLoadNext:u,loadThreshold:h=.05,onScrollPosition:f=we,depsForResetScrollPositionToBottom:p,scrollPositionRef:E,scrollDistanceFromBottomRef:b,stackDirection:v="top"}=t,x=n&&"current"in n?n:{current:null},C=d.useRef(!1),_=d.useRef(void 0),w=d.useRef(0),S=d.useRef(0),W=d.useRef(0),L=E??S,ne=b??W;d.useLayoutEffect(()=>{x.current&&(x.current.scrollTop=x.current.scrollHeight)},p),d.useLayoutEffect(()=>{x.current&&(_.current==="top"&&(x.current.scrollTop=x.current.scrollHeight-L.current),_.current==="bottom"&&(x.current.scrollTop=w.current),_.current=void 0)},[x.current,o.length]);const ge=async()=>{if(!x.current)return;const y=x.current;if(f(ja(y)),L.current=y.scrollHeight-y.scrollTop,ne.current=L.current-y.clientHeight,w.current=y.scrollTop,C.current)return;const D=y.clientHeight*Math.min(Math.max(0,h),1);y.scrollTop<=D?(C.current=!0,_.current="top",await c(),C.current=!1):y.scrollHeight-y.scrollTop-y.clientHeight<=D?(C.current=!0,_.current="bottom",await u(),C.current=!1):_.current=void 0};return r.createElement(qa,{id:"infinite-list-container"},r.createElement(Ka,{id:"infinite-list-inner",ref:x,onScroll:ge},v==="bottom"&&r.createElement("div",{style:{flexGrow:1}}),a,o.map((y,D)=>s({message:y,index:D})),i),r.createElement(Za,{id:"infinite-list-overlay-container"},r.createElement(Ya,{id:"infinite-list-overlay"},l)))}),tn=50;function ja(e){return e.scrollTop<=tn?"top":e.scrollHeight-(e.scrollTop+e.clientHeight)<=tn?"bottom":"middle"}const qa=m.default.div`display:flex;position:relative;flex:1;overflow:hidden;`,Ka=m.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;}`,Za=m.default.div`position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;`,Ya=m.default.div`pointer-events:auto;`,Ja=({className:e,onClick:t})=>r.createElement(Xa,{className:e,onClick:t,tabIndex:0},r.createElement(M,{size:24,type:"chevron-down",color:g.color.primary.main})),Xa=m.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);${P.light`
124
124
  background-color: ${g.color.background50};
125
125
  &:hover {
126
126
  background-color: ${g.color.background100};
@@ -184,7 +184,7 @@
184
184
  color: ${g.color.information.main};
185
185
  `};
186
186
  }
187
- `,Pl=d.lazy(()=>Promise.resolve().then(()=>require("./Dr0IKtV9.cjs")).then(e=>({default:e.MarkdownText}))),Dl=()=>{const{aiAgentInfo:e}=N(),{messageSource:t}=q(),{userSession:n}=N();return!e.specialNoticeEnabled||!e.specialNotice||!(t.initialized&&!t.messages.some(s=>Hn(s,n.userId)))?null:r.createElement(Rl,null,r.createElement(Pl,null,e.specialNotice))},Nl=()=>r.createElement(Bl,null,r.createElement(Dl,null),r.createElement(bl,null,r.createElement(Ol,null))),Bl=m.default.div`z-index:0;border:none;width:100%;`,Fl=()=>{var a,i,l;const{activeChannel:e}=N(),{channelSource:t}=q(),n=((i=(a=t.channel)==null?void 0:a.conversation)==null?void 0:i.status)===F.ConversationStatus.CLOSED;return!(((l=t.channel)==null?void 0:l.url)===(e==null?void 0:e.url))&&n?r.createElement(gl,null):r.createElement(Nl,null)},zl=()=>{var _;const{state:e,logger:t,enableCloseConversationButton:n,enableExpandButton:o,dispatcher:s}=R(),{stringSet:a}=O(),{aiAgentInfo:i,activeChannel:l}=N(),{channelSource:c,onNavigateToConversationList:u}=q(),h=c.channel,p=Ie()?24:16,E=()=>{e.setOpened(!1)},b=async()=>{try{const w=await(h==null?void 0:h.markConversationAsHandoff());t.info("conversation.handleAgentHandoff: success",w)}catch(w){t.error("conversation.handleAgentHandoff: error",w)}},v=async()=>{h&&await s.send(pn.CloseConversation({channelUrl:h.url}))},x=l&&(h==null?void 0:h.url)===l.url,C=i.showHandoffButton&&!!((_=h==null?void 0:h.conversation)!=null&&_.handoff)&&x;return r.createElement(Gl,null,r.createElement(jl,null,u&&r.createElement(Le,{onClick:()=>u()},r.createElement(M,{type:"menu",size:24,color:g.themedColor.textHighEmphasis})),x&&r.createElement(jn,{size:34}),r.createElement(Kl,{variant:"h2",color:g.themedColor.textHighEmphasis},i.nickname||(h==null?void 0:h.name))),r.createElement(ql,null,C&&r.createElement(Wl,{tooltipLabel:a.HEADER_BUTTON__AGENT_HANDOFF,disabled:!As(h),size:p,onClick:b}),n&&r.createElement(Vl,{disabled:!Rn(h),size:p,onClick:v}),o&&r.createElement(Ul,{size:p}),r.createElement(Hl,{size:p,onClick:E})))},Ul=({size:e,disabled:t})=>{const{state:n}=R();return r.createElement(Le,{"aria-label":"expand",onClick:()=>n.setExpanded(!n.expanded),disabled:t},r.createElement(M,{type:n.expanded?"collapse":"expand",size:e,color:g.themedColor.textHighEmphasis}))},Hl=({size:e,disabled:t,onClick:n})=>r.createElement(Le,{"aria-label":"close messenger",onClick:n,disabled:t},r.createElement(M,{type:"close",size:e,color:g.themedColor.textHighEmphasis})),Vl=({size:e,disabled:t,onClick:n})=>r.createElement(Le,{"aria-label":"close conversation",onClick:n,disabled:t},r.createElement(M,{type:"refresh",size:e,color:t?g.themedColor.textDisabled:g.themedColor.textHighEmphasis})),Wl=({size:e,onClick:t,disabled:n,tooltipLabel:o})=>r.createElement(Bn,{label:o,position:"bottom",disabled:n},r.createElement(Le,{"aria-label":"agent",onClick:t,disabled:n},r.createElement(M,{type:"agent",size:e,color:n?g.themedColor.textDisabled:g.themedColor.textHighEmphasis}))),Gl=m.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};`,jl=m.default.div`display:flex;flex:1;flex-direction:row;align-items:center;gap:6px;overflow:hidden;`,ql=m.default.div`display:flex;gap:10px;align-items:center;justify-content:center;`,Kl=m.default(k)`text-overflow:ellipsis;overflow:hidden;white-space:nowrap;padding:2px 0;`,Le=m.default.button`all:unset;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;&:disabled{cursor:not-allowed;}`,Zl=()=>{const{isActionbookTester:e}=Me();return e?null:r.createElement(zl,null)},Et=({children:e,onNavigateToConversationList:t,closedChannelUrl:n,onClearClosedChannelUrl:o})=>{const{Template:s}=nt.useContext();return r.createElement(ha,{onNavigateToConversationList:t,closedChannelUrl:n,onClearClosedChannelUrl:o},r.createElement(xt,null,r.createElement(xt.Consumer,null,a=>r.createElement(r.Fragment,null,r.createElement(Jl,{...a},r.createElement(s,null)),e))))},nt=Ee({template:Yl,components:{Header:Zl,Body:hl,Footer:Fl}});function Yl(){const{components:e}=nt.useContext();return r.createElement(r.Fragment,null,r.createElement(e.Header,null),r.createElement(e.Body,null),r.createElement(e.Footer,null))}const Jl=m.default.div`height:100%;width:100%;display:flex;flex-direction:column;flex:1;background-color:${({theme:e})=>e.colors.base.background};`,{Provider:Xl,useContext:er}=V("ConversationList");function Ql({conversationListFilter:e,onOpenConversationView:t=we,children:n}){return r.createElement(zr,{conversationListFilter:e},o=>r.createElement(Xl,{value:{...o,onOpenConversationView:t}},n))}const Ot=Ee({template:ec,components:{}});function ec({title:e="",lastMessageTimestamp:t=Date.now(),onClick:n}){const{stringSet:o,format:s}=O();return r.createElement(tc,{role:"button",onClick:()=>n==null?void 0:n()},r.createElement(rc,null,r.createElement(oc,null,r.createElement(k,{variant:"subtitle1",color:g.themedColor.textHighEmphasis},s(t,o.DATE_FORMAT__CONVERSATION_LIST__LIST_ITEM_TITLE)),r.createElement(k,{variant:"caption2",color:g.themedColor.textLowEmphasis},s(t,o.DATE_FORMAT__CONVERSATION_LIST__LIST_ITEM_TITLE_CAPTION))),r.createElement(k,{variant:"body3",color:g.themedColor.textMidEmphasis},e||o.CONVERSATION_LIST__TOPICS_FALLBACK)),r.createElement(M,{type:"chevron-right",size:16,color:g.themedColor.textHighEmphasis}),r.createElement(nc,null))}const tc=m.default.div`display:flex;flex-direction:row;align-items:center;position:relative;width:100%;padding:14px 16px;box-sizing:border-box;gap:4px;cursor:pointer;`,nc=m.default.div`position:absolute;bottom:0;height:1px;width:calc(100% - 32px);background-color:${g.themedColor.textDisabled};`,rc=m.default.div`gap:4px;display:flex;flex-direction:column;flex:1;`,oc=m.default.div`display:flex;justify-content:flex-start;align-items:center;gap:6px;`,sc=({items:e,renderItem:t,onEndReached:n})=>{const o=s=>{const a=s.target;a.scrollHeight-a.scrollTop===a.clientHeight&&(n==null||n())};return r.createElement(ic,{onScroll:s=>o(s)},e.map((s,a)=>t(s,a)))},ic=m.default.div`width:100%;height:100%;display:flex;flex-direction:column;flex:1;overflow:auto;`,ac=()=>{const{stringSet:e}=O(),{listSource:t,onOpenConversationView:n}=er(),{Template:o}=Ot.useContext();return t.initialized?t.channels.length===0?r.createElement(xe,{type:"noChannels",label:e.CONVERSATION_LIST__NO_CONVERSATIONS}):r.createElement(sc,{items:t.channels,renderItem:s=>{var a,i,l;return r.createElement(o,{key:s.url,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,onClick:()=>n(s.url,F.ConversationStatus.CLOSED),channel:s})},onEndReached:()=>{t.loadMore()}}):r.createElement(xe,{type:"loading"})},lc=()=>{const{refreshActiveChannel:e}=N(),{onOpenConversationView:t}=er(),n=Yn();return r.createElement(cc,{role:"button",onClick:async()=>{const o=await e();t(o,F.ConversationStatus.OPEN)}},r.createElement(dc,{variant:"h1"},n))},cc=m.default.div`background-color:${({theme:e})=>e.colors.base.primary};display:flex;align-items:center;justify-content:center;padding:16px;cursor:pointer;`,dc=m.default(k)`color:${({theme:e})=>e.colors.base.primaryContrastContent};overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`,uc=()=>{const{stringSet:e}=O();return r.createElement(mc,null,r.createElement(hc,{variant:"h2",color:g.themedColor.textHighEmphasis},e.CONVERSATION_LIST__HEADER_TITLE),r.createElement(gc,null))},mc=m.default.div`display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;flex-shrink:0;height:56px;position:relative;background-color:${({theme:e})=>e.colors.base.headerBackground};`,hc=m.default(k)`padding:0 12px;width:100%;box-sizing:border-box;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;`,gc=m.default.div`position:absolute;bottom:0;width:100%;height:1px;background-color:${g.themedColor.textDisabled};`,tr=({conversationListFilter:e,children:t,onOpenConversationView:n})=>{const{Template:o}=rt.useContext();return r.createElement(Ql,{conversationListFilter:e,onOpenConversationView:n},r.createElement(pc,null,r.createElement(o,null)),t)},rt=Ee({template:fc,components:{Header:uc,Body:ac,Footer:lc}});function fc(){const{components:e}=rt.useContext();return r.createElement(r.Fragment,null,r.createElement(e.Header,null),r.createElement(e.Body,null),r.createElement(e.Footer,null))}const pc=m.default.div`height:100%;width:100%;display:flex;flex-direction:column;flex:1;background-color:${({theme:e})=>e.colors.base.background};`,bc=T.css`:where(#${ee.ENTRY}) :not(code *){font-family:'Roboto',sans-serif;box-sizing:border-box;}`,xc=[bc,wo,ko],Ec=(e,...t)=>T.createGlobalStyle(e,...xc,...t),vc=Ec``,Cc=_r(nt,me,et,tt,rt,Ot);function nr({appearance:e,rootElement:t,logger:n,language:o,stringSet:s,children:a,messageTemplate:i,theme:l}){return Oo(po,t),r.createElement(T.StyleSheetManager,{target:t},r.createElement($o,{rootElement:t,logger:n,appearance:e,theme:l},r.createElement(lo,{internalVariables:i==null?void 0:i.__internalVariables},r.createElement(To,{stringSet:s,logger:n,language:o},r.createElement(Cc,null,a,r.createElement(vc,null))))))}const ln={key_payment_plan_container:{color_variables:{},created_at:1232,updated_at:4563,key:"key_payment_plan_container",ui_template:{body:{items:[{carouselStyle:{maxChildWidth:265,spacing:10},items:"{@templates}",type:"carouselView",viewStyle:{padding:{top:0,bottom:0,left:50,right:16}}}]},version:2}},key_payment_plan:{color_variables:{},created_at:123,updated_at:456,key:"key_payment_plan",ui_template:{version:1,body:{items:[{viewStyle:{radius:16,backgroundColor:"#FFFFFF",borderWidth:"1",borderColor:"#E0E0E0"},width:{type:"fixed",value:"264"},height:{type:"fixed",value:"275"},type:"box",layout:"column",items:[{viewStyle:{padding:{left:16,right:16,top:16,bottom:16},backgroundImageUrl:"https://storage-66w.pages.dev/carousel-bg.png"},action:{type:"web",data:"{action_url}"},type:"box",layout:"column",items:[{type:"text",text:"{header_plan}",textStyle:{size:14,weight:"bold",color:"#FFFFFF"}},{type:"text",text:"{header_desc}",textStyle:{size:12,color:"#FFFFFF"}}]},{viewStyle:{padding:{left:16,right:16,top:16,bottom:16}},action:{type:"web",data:"{action_url}"},type:"box",layout:"column",items:[{type:"text",text:"{price}",textStyle:{size:20,weight:"bold"}},{viewStyle:{padding:{left:0,right:0,top:16,bottom:16}},type:"box",layout:"column",items:[{viewStyle:{backgroundColor:"#E0E0E0"},width:{type:"flex",value:0},height:{type:"fixed",value:"1"},type:"box",layout:"column"}]},{viewStyle:{margin:{bottom:8,top:0,left:0,right:0}},type:"text",text:"{description}",textStyle:{size:14,weight:"normal",color:"#7F7F7F"}}]}]}]}}},key_content_preview:{color_variables:{},created_at:1232,updated_at:4563,key:"key_content_preview",ui_template:{version:1,body:{items:[{viewStyle:{radius:16,borderWidth:1,borderColor:"#1F000000",backgroundColor:"#FFFFFF"},width:{type:"fixed",value:264},action:{type:"web",data:"{action_url}"},type:"box",layout:"column",items:[{action:{type:"web",data:"{action_url}"},width:{type:"flex",value:0},height:{type:"fixed",value:200},type:"image",imageUrl:"{image}",imageStyle:{contentMode:"aspectFill"}},{action:{type:"web",data:"{action_url}"},viewStyle:{padding:{left:16,right:16,top:16,bottom:16}},type:"box",layout:"column",items:[{viewStyle:{margin:{bottom:4,top:0,left:0,right:0}},height:{type:"fixed",value:16},type:"text",text:"{title}",maxTextLines:1,textStyle:{size:14,weight:"bold",color:"#000000"}},{height:{type:"fixed",value:16},type:"text",text:"{release_date}",maxTextLines:1,textStyle:{size:14,weight:"normal",color:"#80000000"}}]}]}]}}}},Rt=d.forwardRef(function({rootElement:t=document.body,logLevel:n=U.LogLevel.WARN,language:o=navigator.language,userSessionInfo:s,children:a,...i},l){var c;return be.level!==n&&(be.level=n),Lo("https://fonts.googleapis.com/css2?family=Roboto&display=swap",t),r.createElement("div",{id:ee.ENTRY,style:{width:"fit-content",height:"fit-content",...i.entryStyle}},r.createElement(so,{logger:be,storage:yc},r.createElement(nr,{logger:be,rootElement:t,appearance:(c=i.agentPreviewConfigs)==null?void 0:c.appearance,stringSet:i.stringSet,language:o,messageTemplate:i.messageTemplate,theme:i.theme},r.createElement(Ir,{appId:i.appId,aiAgentId:i.aiAgentId,language:o,countryCode:i.countryCode,context:i.context,logger:be,dispatcher:rr,chatParams:{customApiHost:i.customApiHost,customWebSocketHost:i.customWebSocketHost}},r.createElement(Fo,{rootElement:t,...i},r.createElement(Wo,{ref:l,userSessionInfo:s},r.createElement(Qi,{...i._UNSAFE_INTERNAL_dashboardTester},a,r.createElement("div",{id:ee.MODAL_ROOT}))))))))}),be=new fn(U.LogLevel.WARN),rr=new gn(be),Pt="@sba/message-template",cn=e=>`${Pt}/templates/${e}`,dn=()=>`${Pt}/token`,yc=ro({onSetTemplate:(e,t)=>{ln[e]||Q.setItem(cn(e),t)},onGetTemplate:e=>{const t=ln[e];return t?JSON.stringify(t):Q.getItem(cn(e))},onSetCachedToken(e){Q.setItem(dn(),e)},onGetCachedToken(){return Q.getItem(dn())},onClear:()=>{Q.getKeys(Pt).forEach(Q.deleteItem)}}),or=({children:e,isOpened:t})=>{const{dir:n,rootElement:o}=R(),s=ue(o,!0);return d.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]),r.createElement(_c,{dir:n,$visible:t},e)},_c=m.default.div`width:100%;height:100%;position:fixed;top:0;left:0;z-index:${he.WINDOW};visibility:${({$visible:e})=>e?"visible":"hidden"};`,Sc=48,Tc=2/3;function sr({className:e,isOpened:t,onClick:n,type:o,imageUrl:s,dir:a,animated:i=!0,backgroundColor:l,size:c=Sc}){const u=pt(l),h=Math.round(c*Tc);return r.createElement(Ac,{dir:a,id:ee.LAUNCHER,className:e,"aria-label":"Sendbird AIAgent Launcher",onClick:n,$animated:i,$backgroundColor:l,$size:c},r.createElement(Ic,{$isOpened:t,$animated:i,$fillColor:u,$iconSize:h},r.createElement(un.Open,{url:s,isDefaultIcon:o==="default_icon"})),r.createElement($c,{$isOpened:t,$animated:i,$fillColor:u,$iconSize:h},r.createElement(un.Close,{size:h})))}const wc=T.css`&:hover{transition:transform 250ms cubic-bezier(0.33,0,0,1);transform:scale(1.1);}&:active{transform:scale(0.8);}`,kc=T.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===_n.WHITE?"grayscale(100%) brightness(2000%)":"grayscale(100%) invert(100%) saturate(0%) brightness(0%) contrast(1000%)"};}}`,ir=T.css`svg{width:${({$iconSize:e})=>e}px;height:${({$iconSize:e})=>e}px;${({$fillColor:e})=>T.css`
187
+ `,Pl=d.lazy(()=>Promise.resolve().then(()=>require("./Citlpy3c.cjs")).then(e=>({default:e.MarkdownText}))),Dl=()=>{const{aiAgentInfo:e}=N(),{messageSource:t}=q(),{userSession:n}=N();return!e.specialNoticeEnabled||!e.specialNotice||!(t.initialized&&!t.messages.some(s=>Hn(s,n.userId)))?null:r.createElement(Rl,null,r.createElement(Pl,null,e.specialNotice))},Nl=()=>r.createElement(Bl,null,r.createElement(Dl,null),r.createElement(bl,null,r.createElement(Ol,null))),Bl=m.default.div`z-index:0;border:none;width:100%;`,Fl=()=>{var a,i,l;const{activeChannel:e}=N(),{channelSource:t}=q(),n=((i=(a=t.channel)==null?void 0:a.conversation)==null?void 0:i.status)===F.ConversationStatus.CLOSED;return!(((l=t.channel)==null?void 0:l.url)===(e==null?void 0:e.url))&&n?r.createElement(gl,null):r.createElement(Nl,null)},zl=()=>{var _;const{state:e,logger:t,enableCloseConversationButton:n,enableExpandButton:o,dispatcher:s}=R(),{stringSet:a}=O(),{aiAgentInfo:i,activeChannel:l}=N(),{channelSource:c,onNavigateToConversationList:u}=q(),h=c.channel,p=Ie()?24:16,E=()=>{e.setOpened(!1)},b=async()=>{try{const w=await(h==null?void 0:h.markConversationAsHandoff());t.info("conversation.handleAgentHandoff: success",w)}catch(w){t.error("conversation.handleAgentHandoff: error",w)}},v=async()=>{h&&await s.send(pn.CloseConversation({channelUrl:h.url}))},x=l&&(h==null?void 0:h.url)===l.url,C=i.showHandoffButton&&!!((_=h==null?void 0:h.conversation)!=null&&_.handoff)&&x;return r.createElement(Gl,null,r.createElement(jl,null,u&&r.createElement(Le,{onClick:()=>u()},r.createElement(M,{type:"menu",size:24,color:g.themedColor.textHighEmphasis})),x&&r.createElement(jn,{size:34}),r.createElement(Kl,{variant:"h2",color:g.themedColor.textHighEmphasis},i.nickname||(h==null?void 0:h.name))),r.createElement(ql,null,C&&r.createElement(Wl,{tooltipLabel:a.HEADER_BUTTON__AGENT_HANDOFF,disabled:!As(h),size:p,onClick:b}),n&&r.createElement(Vl,{disabled:!Rn(h),size:p,onClick:v}),o&&r.createElement(Ul,{size:p}),r.createElement(Hl,{size:p,onClick:E})))},Ul=({size:e,disabled:t})=>{const{state:n}=R();return r.createElement(Le,{"aria-label":"expand",onClick:()=>n.setExpanded(!n.expanded),disabled:t},r.createElement(M,{type:n.expanded?"collapse":"expand",size:e,color:g.themedColor.textHighEmphasis}))},Hl=({size:e,disabled:t,onClick:n})=>r.createElement(Le,{"aria-label":"close messenger",onClick:n,disabled:t},r.createElement(M,{type:"close",size:e,color:g.themedColor.textHighEmphasis})),Vl=({size:e,disabled:t,onClick:n})=>r.createElement(Le,{"aria-label":"close conversation",onClick:n,disabled:t},r.createElement(M,{type:"refresh",size:e,color:t?g.themedColor.textDisabled:g.themedColor.textHighEmphasis})),Wl=({size:e,onClick:t,disabled:n,tooltipLabel:o})=>r.createElement(Bn,{label:o,position:"bottom",disabled:n},r.createElement(Le,{"aria-label":"agent",onClick:t,disabled:n},r.createElement(M,{type:"agent",size:e,color:n?g.themedColor.textDisabled:g.themedColor.textHighEmphasis}))),Gl=m.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};`,jl=m.default.div`display:flex;flex:1;flex-direction:row;align-items:center;gap:6px;overflow:hidden;`,ql=m.default.div`display:flex;gap:10px;align-items:center;justify-content:center;`,Kl=m.default(k)`text-overflow:ellipsis;overflow:hidden;white-space:nowrap;padding:2px 0;`,Le=m.default.button`all:unset;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;&:disabled{cursor:not-allowed;}`,Zl=()=>{const{isActionbookTester:e}=Me();return e?null:r.createElement(zl,null)},Et=({children:e,onNavigateToConversationList:t,closedChannelUrl:n,onClearClosedChannelUrl:o})=>{const{Template:s}=nt.useContext();return r.createElement(ha,{onNavigateToConversationList:t,closedChannelUrl:n,onClearClosedChannelUrl:o},r.createElement(xt,null,r.createElement(xt.Consumer,null,a=>r.createElement(r.Fragment,null,r.createElement(Jl,{...a},r.createElement(s,null)),e))))},nt=Ee({template:Yl,components:{Header:Zl,Body:hl,Footer:Fl}});function Yl(){const{components:e}=nt.useContext();return r.createElement(r.Fragment,null,r.createElement(e.Header,null),r.createElement(e.Body,null),r.createElement(e.Footer,null))}const Jl=m.default.div`height:100%;width:100%;display:flex;flex-direction:column;flex:1;background-color:${({theme:e})=>e.colors.base.background};`,{Provider:Xl,useContext:er}=V("ConversationList");function Ql({conversationListFilter:e,onOpenConversationView:t=we,children:n}){return r.createElement(zr,{conversationListFilter:e},o=>r.createElement(Xl,{value:{...o,onOpenConversationView:t}},n))}const Ot=Ee({template:ec,components:{}});function ec({title:e="",lastMessageTimestamp:t=Date.now(),onClick:n}){const{stringSet:o,format:s}=O();return r.createElement(tc,{role:"button",onClick:()=>n==null?void 0:n()},r.createElement(rc,null,r.createElement(oc,null,r.createElement(k,{variant:"subtitle1",color:g.themedColor.textHighEmphasis},s(t,o.DATE_FORMAT__CONVERSATION_LIST__LIST_ITEM_TITLE)),r.createElement(k,{variant:"caption2",color:g.themedColor.textLowEmphasis},s(t,o.DATE_FORMAT__CONVERSATION_LIST__LIST_ITEM_TITLE_CAPTION))),r.createElement(k,{variant:"body3",color:g.themedColor.textMidEmphasis},e||o.CONVERSATION_LIST__TOPICS_FALLBACK)),r.createElement(M,{type:"chevron-right",size:16,color:g.themedColor.textHighEmphasis}),r.createElement(nc,null))}const tc=m.default.div`display:flex;flex-direction:row;align-items:center;position:relative;width:100%;padding:14px 16px;box-sizing:border-box;gap:4px;cursor:pointer;`,nc=m.default.div`position:absolute;bottom:0;height:1px;width:calc(100% - 32px);background-color:${g.themedColor.textDisabled};`,rc=m.default.div`gap:4px;display:flex;flex-direction:column;flex:1;`,oc=m.default.div`display:flex;justify-content:flex-start;align-items:center;gap:6px;`,sc=({items:e,renderItem:t,onEndReached:n})=>{const o=s=>{const a=s.target;a.scrollHeight-a.scrollTop===a.clientHeight&&(n==null||n())};return r.createElement(ic,{onScroll:s=>o(s)},e.map((s,a)=>t(s,a)))},ic=m.default.div`width:100%;height:100%;display:flex;flex-direction:column;flex:1;overflow:auto;`,ac=()=>{const{stringSet:e}=O(),{listSource:t,onOpenConversationView:n}=er(),{Template:o}=Ot.useContext();return t.initialized?t.channels.length===0?r.createElement(xe,{type:"noChannels",label:e.CONVERSATION_LIST__NO_CONVERSATIONS}):r.createElement(sc,{items:t.channels,renderItem:s=>{var a,i,l;return r.createElement(o,{key:s.url,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,onClick:()=>n(s.url,F.ConversationStatus.CLOSED),channel:s})},onEndReached:()=>{t.loadMore()}}):r.createElement(xe,{type:"loading"})},lc=()=>{const{refreshActiveChannel:e}=N(),{onOpenConversationView:t}=er(),n=Yn();return r.createElement(cc,{role:"button",onClick:async()=>{const o=await e();t(o,F.ConversationStatus.OPEN)}},r.createElement(dc,{variant:"h1"},n))},cc=m.default.div`background-color:${({theme:e})=>e.colors.base.primary};display:flex;align-items:center;justify-content:center;padding:16px;cursor:pointer;`,dc=m.default(k)`color:${({theme:e})=>e.colors.base.primaryContrastContent};overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`,uc=()=>{const{stringSet:e}=O();return r.createElement(mc,null,r.createElement(hc,{variant:"h2",color:g.themedColor.textHighEmphasis},e.CONVERSATION_LIST__HEADER_TITLE),r.createElement(gc,null))},mc=m.default.div`display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;flex-shrink:0;height:56px;position:relative;background-color:${({theme:e})=>e.colors.base.headerBackground};`,hc=m.default(k)`padding:0 12px;width:100%;box-sizing:border-box;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;`,gc=m.default.div`position:absolute;bottom:0;width:100%;height:1px;background-color:${g.themedColor.textDisabled};`,tr=({conversationListFilter:e,children:t,onOpenConversationView:n})=>{const{Template:o}=rt.useContext();return r.createElement(Ql,{conversationListFilter:e,onOpenConversationView:n},r.createElement(pc,null,r.createElement(o,null)),t)},rt=Ee({template:fc,components:{Header:uc,Body:ac,Footer:lc}});function fc(){const{components:e}=rt.useContext();return r.createElement(r.Fragment,null,r.createElement(e.Header,null),r.createElement(e.Body,null),r.createElement(e.Footer,null))}const pc=m.default.div`height:100%;width:100%;display:flex;flex-direction:column;flex:1;background-color:${({theme:e})=>e.colors.base.background};`,bc=T.css`:where(#${ee.ENTRY}) :not(code *){font-family:'Roboto',sans-serif;box-sizing:border-box;}`,xc=[bc,wo,ko],Ec=(e,...t)=>T.createGlobalStyle(e,...xc,...t),vc=Ec``,Cc=_r(nt,me,et,tt,rt,Ot);function nr({appearance:e,rootElement:t,logger:n,language:o,stringSet:s,children:a,messageTemplate:i,theme:l}){return Oo(po,t),r.createElement(T.StyleSheetManager,{target:t},r.createElement($o,{rootElement:t,logger:n,appearance:e,theme:l},r.createElement(lo,{internalVariables:i==null?void 0:i.__internalVariables},r.createElement(To,{stringSet:s,logger:n,language:o},r.createElement(Cc,null,a,r.createElement(vc,null))))))}const ln={key_payment_plan_container:{color_variables:{},created_at:1232,updated_at:4563,key:"key_payment_plan_container",ui_template:{body:{items:[{carouselStyle:{maxChildWidth:265,spacing:10},items:"{@templates}",type:"carouselView",viewStyle:{padding:{top:0,bottom:0,left:50,right:16}}}]},version:2}},key_payment_plan:{color_variables:{},created_at:123,updated_at:456,key:"key_payment_plan",ui_template:{version:1,body:{items:[{viewStyle:{radius:16,backgroundColor:"#FFFFFF",borderWidth:"1",borderColor:"#E0E0E0"},width:{type:"fixed",value:"264"},height:{type:"fixed",value:"275"},type:"box",layout:"column",items:[{viewStyle:{padding:{left:16,right:16,top:16,bottom:16},backgroundImageUrl:"https://storage-66w.pages.dev/carousel-bg.png"},action:{type:"web",data:"{action_url}"},type:"box",layout:"column",items:[{type:"text",text:"{header_plan}",textStyle:{size:14,weight:"bold",color:"#FFFFFF"}},{type:"text",text:"{header_desc}",textStyle:{size:12,color:"#FFFFFF"}}]},{viewStyle:{padding:{left:16,right:16,top:16,bottom:16}},action:{type:"web",data:"{action_url}"},type:"box",layout:"column",items:[{type:"text",text:"{price}",textStyle:{size:20,weight:"bold"}},{viewStyle:{padding:{left:0,right:0,top:16,bottom:16}},type:"box",layout:"column",items:[{viewStyle:{backgroundColor:"#E0E0E0"},width:{type:"flex",value:0},height:{type:"fixed",value:"1"},type:"box",layout:"column"}]},{viewStyle:{margin:{bottom:8,top:0,left:0,right:0}},type:"text",text:"{description}",textStyle:{size:14,weight:"normal",color:"#7F7F7F"}}]}]}]}}},key_content_preview:{color_variables:{},created_at:1232,updated_at:4563,key:"key_content_preview",ui_template:{version:1,body:{items:[{viewStyle:{radius:16,borderWidth:1,borderColor:"#1F000000",backgroundColor:"#FFFFFF"},width:{type:"fixed",value:264},action:{type:"web",data:"{action_url}"},type:"box",layout:"column",items:[{action:{type:"web",data:"{action_url}"},width:{type:"flex",value:0},height:{type:"fixed",value:200},type:"image",imageUrl:"{image}",imageStyle:{contentMode:"aspectFill"}},{action:{type:"web",data:"{action_url}"},viewStyle:{padding:{left:16,right:16,top:16,bottom:16}},type:"box",layout:"column",items:[{viewStyle:{margin:{bottom:4,top:0,left:0,right:0}},height:{type:"fixed",value:16},type:"text",text:"{title}",maxTextLines:1,textStyle:{size:14,weight:"bold",color:"#000000"}},{height:{type:"fixed",value:16},type:"text",text:"{release_date}",maxTextLines:1,textStyle:{size:14,weight:"normal",color:"#80000000"}}]}]}]}}}},Rt=d.forwardRef(function({rootElement:t=document.body,logLevel:n=U.LogLevel.WARN,language:o=navigator.language,userSessionInfo:s,children:a,...i},l){var c;return be.level!==n&&(be.level=n),Lo("https://fonts.googleapis.com/css2?family=Roboto&display=swap",t),r.createElement("div",{id:ee.ENTRY,style:{width:"fit-content",height:"fit-content",...i.entryStyle}},r.createElement(so,{logger:be,storage:yc},r.createElement(nr,{logger:be,rootElement:t,appearance:(c=i.agentPreviewConfigs)==null?void 0:c.appearance,stringSet:i.stringSet,language:o,messageTemplate:i.messageTemplate,theme:i.theme},r.createElement(Ir,{appId:i.appId,aiAgentId:i.aiAgentId,language:o,countryCode:i.countryCode,context:i.context,logger:be,dispatcher:rr,chatParams:{customApiHost:i.customApiHost,customWebSocketHost:i.customWebSocketHost}},r.createElement(Fo,{rootElement:t,...i},r.createElement(Wo,{ref:l,userSessionInfo:s},r.createElement(Qi,{...i._UNSAFE_INTERNAL_dashboardTester},a,r.createElement("div",{id:ee.MODAL_ROOT}))))))))}),be=new fn(U.LogLevel.WARN),rr=new gn(be),Pt="@sba/message-template",cn=e=>`${Pt}/templates/${e}`,dn=()=>`${Pt}/token`,yc=ro({onSetTemplate:(e,t)=>{ln[e]||Q.setItem(cn(e),t)},onGetTemplate:e=>{const t=ln[e];return t?JSON.stringify(t):Q.getItem(cn(e))},onSetCachedToken(e){Q.setItem(dn(),e)},onGetCachedToken(){return Q.getItem(dn())},onClear:()=>{Q.getKeys(Pt).forEach(Q.deleteItem)}}),or=({children:e,isOpened:t})=>{const{dir:n,rootElement:o}=R(),s=ue(o,!0);return d.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]),r.createElement(_c,{dir:n,$visible:t},e)},_c=m.default.div`width:100%;height:100%;position:fixed;top:0;left:0;z-index:${he.WINDOW};visibility:${({$visible:e})=>e?"visible":"hidden"};`,Sc=48,Tc=2/3;function sr({className:e,isOpened:t,onClick:n,type:o,imageUrl:s,dir:a,animated:i=!0,backgroundColor:l,size:c=Sc}){const u=pt(l),h=Math.round(c*Tc);return r.createElement(Ac,{dir:a,id:ee.LAUNCHER,className:e,"aria-label":"Sendbird AIAgent Launcher",onClick:n,$animated:i,$backgroundColor:l,$size:c},r.createElement(Ic,{$isOpened:t,$animated:i,$fillColor:u,$iconSize:h},r.createElement(un.Open,{url:s,isDefaultIcon:o==="default_icon"})),r.createElement($c,{$isOpened:t,$animated:i,$fillColor:u,$iconSize:h},r.createElement(un.Close,{size:h})))}const wc=T.css`&:hover{transition:transform 250ms cubic-bezier(0.33,0,0,1);transform:scale(1.1);}&:active{transform:scale(0.8);}`,kc=T.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===_n.WHITE?"grayscale(100%) brightness(2000%)":"grayscale(100%) invert(100%) saturate(0%) brightness(0%) contrast(1000%)"};}}`,ir=T.css`svg{width:${({$iconSize:e})=>e}px;height:${({$iconSize:e})=>e}px;${({$fillColor:e})=>T.css`
188
188
  path {
189
189
  fill: ${e};
190
190
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),c=require("./BfJ7Izyu.cjs");function a(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const s=a(o),l=({label:e="No messages",...t})=>s.createElement(c.PlaceholderBase,{icon:"message",label:e,...t});exports.default=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),c=require("./O1lLHzDh.cjs");function a(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const s=a(o),l=({label:e="No messages",...t})=>s.createElement(c.PlaceholderBase,{icon:"message",label:e,...t});exports.default=l;
@@ -1,5 +1,5 @@
1
1
  import * as a from "react";
2
- import { P as o } from "./C5iCey_D.js";
2
+ import { P as o } from "./BoP3pcmJ.js";
3
3
  const t = ({ label: e = "No messages", ...s }) => /* @__PURE__ */ a.createElement(o, { icon: "message", label: e, ...s });
4
4
  export {
5
5
  t as default