@sendbird/ai-agent-messenger-react 1.3.1 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{ChFlUdD0.cjs → BlshmoPb.cjs} +7 -7
- package/dist/cjs/{CrVpYSzZ.cjs → CuE-R-Ab.cjs} +1 -1
- package/dist/cjs/{pxYCwAlg.cjs → D0K6vsP-.cjs} +1 -1
- package/dist/cjs/{Cb__vcY_.cjs → D7p9IHLh.cjs} +1 -1
- package/dist/cjs/{BCIx4Qv_.cjs → Qn-Vab7D.cjs} +1 -1
- package/dist/cjs/{DyfwCarh.cjs → udFozCQd.cjs} +1 -1
- package/dist/es/{CV59hwzK.js → CVCUjr3Q.js} +1 -1
- package/dist/es/{CwdCJ7xG.js → D5uRw0Em.js} +1 -1
- package/dist/es/{D43pgxiz.js → DcGmTG3A.js} +539 -538
- package/dist/es/{CKTGU2qP.js → DhUBPQ6o.js} +1 -1
- package/dist/es/{BuMtQ0m7.js → jtdZ66dz.js} +1 -1
- package/dist/es/{DOAkPSN5.js → kE3eGJ-O.js} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const c=require("react"),H=require("@sendbird/chat"),S=require("styled-components"),ve=require("date-fns"),mr=require("date-fns/locale/en-US"),B=require("@sendbird/chat/aiAgent"),fe=require("@sendbird/uikit-tools"),He=require("@sendbird/chat/groupChannel"),ct=require("@sendbird/react-uikit-message-template-view"),hr=require("@sendbird/uikit-message-template"),gr=require("dompurify"),ze=require("@sendbird/chat/message"),fr=require("date-fns/isSameDay"),pr=require("react-dom"),br=require("@emotion/is-prop-valid"),je=e=>e&&e.__esModule?e:{default:e};function Er(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=Er(c),xr=je(H),m=je(S),mn=je(gr),Cr=je(br),z=(e,t)=>{const n=c.createContext(null),o=({children:a,value:l})=>r.createElement(n.Provider,{value:l},typeof a=="function"?a(l):a),s=({children:a})=>r.createElement(n.Consumer,null,l=>l?typeof a=="function"?a(l):a:null),i=()=>{const a=c.useContext(n);if(!a)throw new Error(`use${e}Context must be used within a ${e}Provider`);return a};return n.displayName=`${e}Context`,o.displayName=`${e}Provider`,s.displayName=`${e}Consumer`,i.displayName=`use${e}Context`,{Context:n,Provider:o,Consumer:s,useContext:i}};function pe(e){const t=c.createContext({Template:e.template,updateTemplate:()=>{},components:e.components,updateComponent:()=>{}});function n({children:i}){const[a,l]=c.useState(()=>e.template),[d,u]=c.useState(e.components),f={Template:a,updateTemplate:h=>l(()=>h),components:d,updateComponent:(h,b)=>u(C=>({...C,[h]:b}))};return r.createElement(t.Provider,{value:f},i)}function o({template:i,children:a}){const{updateTemplate:l}=c.useContext(t);return c.useEffect(()=>{i&&l(i)},[i]),r.createElement(r.Fragment,null,a)}function s({children:i}){return r.createElement(n,null,i)}return s.defaults=e,s.useContext=()=>c.useContext(t),s.Context=t,s.Template=o,Object.keys(e.components).forEach(i=>{s[i]=function({component:l}){const{updateComponent:d}=c.useContext(t);return c.useEffect(()=>{l&&d(i,l)},[l]),null}}),s}function vr(...e){return function({children:n}){return e.reduce((o,s)=>r.createElement(s,null,o),n)}}function dt(){}function yr(){const e=/iPad|iPhone|iPod/.test(navigator.userAgent),t=/Android/.test(navigator.userAgent);return e||t}function _r(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 Ut=e=>{try{return JSON.parse(e===""?"{}":e)}catch{return{}}},be={isStreaming(e){const t=Ut(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=Ut(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=a=>a.some(l=>typeof t[l]<"u"),o=n(rt.ui),s=n(rt.trail),i=n(rt.marking);return{ui:o,trail:s,marking:i}},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:i,trail:a,marking:l}=this.checkExtendedFieldPresence(e);return i?!(!n&&l):!!(n&&(a||l))}return!0}},rt={ui:["suggested_replies","cta_button","message_template","csat"],trail:["groundedness","manual","function_calls"],marking:["is_hallucination","is_moderated","flagged_types"]},Sr="1.3.1",he="sb-agent",Tr=Sr,ot=`@${he}`,Ht=({appId:e,aiAgentId:t,storage:n})=>{const o={templateBase:`${ot}-template`,template:s=>`${o.templateBase}/templates/${s}`,templateToken:()=>`${o.templateBase}-template/message-template/tokens`,messengerSession:s=>{const i=_r(`${e}/${t}/${s}`);return`${ot}-udata/${i}`},anonUserSession:()=>`${ot}-session/${e}/${t}`};return{template:{set:(s,i)=>n.set(o.template(s),i),get:s=>n.get(o.template(s)),setCachedToken:s=>n.set(o.templateToken(),s),getCachedToken:()=>n.get(o.templateToken()),clear:()=>{n.getKeys(o.templateBase).forEach(n.delete)}},messenger:{getSettings:s=>{try{const i=n.get(o.messengerSession(s));return i?JSON.parse(i):null}catch{return null}},setSettings:(s,i)=>{try{const a=JSON.stringify(i);n.set(o.messengerSession(s),a)}catch{return}},getAnonUser:()=>{try{const s=n.get(o.anonUserSession());return s?JSON.parse(s):null}catch{return null}},setAnonUser:s=>{try{const i=JSON.stringify(s);n.set(o.anonUserSession(),i)}catch{return}},clear:s=>{try{n.delete(o.messengerSession(s)),n.delete(o.anonUserSession())}catch{return}}}}};class hn{constructor(t){this.logger=t,this.subscribers={}}async send(t){const n=wr(),o=this.subscribers[t.type];if(o){this.logger.debug(`messenger.dispatcher: dispatching command: ${t.type}`,t.payload);const s=o.map(i=>i(t.payload));await Promise.all(s).catch(i=>{this.logger.error(`messenger.dispatcher: error in callback for command: ${t.type}`,i)})}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 wr=()=>{let e=dt,t=dt;return{promise:new Promise((o,s)=>{e=o,t=s}),resolve:e,reject:t}};var Ct=(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))(Ct||{});class gn{constructor(t){this.level=t}verbose(...t){this.level<=0&&console.log(`[${he}/verbose]`,...t)}debug(...t){this.level<=1&&console.log(`[${he}/debug]`,...t)}info(...t){this.level<=2&&console.log(`[${he}/info]`,...t)}warn(...t){this.level<=3&&console.warn(`[${he}/warn]`,...t)}error(...t){this.level<=4&&console.error(`[${he}/error]`,...t)}}function zt(e,t,n){const o=xr.default.init({appId:e,modules:[new He.GroupChannelModule,new B.AIAgentModule],localCacheEnabled:!0,...n});return o.addSendbirdExtensions([{version:Tr,product:H.SendbirdProduct.AI_AGENT,platform:t.platform}],{platform:t.deviceOSPlatform,version:t.deviceOSVersion},t.customData)||console.warn("Invalid Sendbird Extensions",t),o}const{Provider:kr,useContext:se}=z("AIAgent");function Ar({appId:e,aiAgentId:t,keyValueStorage:n,language:o,countryCode:s,context:i,queryParams:a,chatSDK:l,chatParams:d,children:u,logger:f,dispatcher:h,extensions:b={platform:H.SendbirdPlatform.JS,deviceOSPlatform:yr()?H.DeviceOsPlatform.MOBILE_WEB:H.DeviceOsPlatform.WEB}}){const[C,x]=c.useState(()=>{const E=f??new gn(Ct.WARN),g=h??new hn(E);return{appId:e,aiAgentId:t,language:o,countryCode:s,context:i,queryParams:a,keyValueStorage:n,logger:E,dispatcher:g,chatSDK:l??zt(e,b,d),cache:Ht({appId:e,aiAgentId:t,storage:n})}});return c.useEffect(()=>{x(E=>{let g=E.logger,v=E.dispatcher,y=E.chatSDK;return f&&f!==E.logger&&(g=f),h&&h!==E.dispatcher&&(v=h),l&&l!==E.chatSDK?y=l:!l&&E.chatSDK.appId!==e&&(y=zt(e,b,{newInstance:!0,...d})),{...E,appId:e,aiAgentId:t,keyValueStorage:n,language:o,countryCode:s,context:i,queryParams:a,logger:g,dispatcher:v,chatSDK:y,cache:Ht({appId:e,aiAgentId:t,storage:n})}})},[e,t,o,s,i,f,h,l]),c.useEffect(()=>()=>{C.chatSDK.disconnectWebSocket()},[C.chatSDK]),r.createElement(kr,{value:C},u)}const Ir=(e,t,n)=>fe.useGroupChannelMessages(e,t,{...n,strictStreamingOrder:!0});var ut=(e=>(e.ConversationClose="conv.close",e))(ut||{});class $r{constructor(t={}){this.payload=t}toJSON(){return JSON.stringify({type:this.type,payload:this.payload})}}const fn={CloseConversation:e=>new Mr(e)};class Mr extends $r{constructor(){super(...arguments),this.type="conv.close"}}const{Provider:Lr}=z("AIAgentConversation");function Or({children:e,channelUrl:t,onChannelDeleted:n,onMessagesReceived:o,onMessagesUpdated:s,onConversationClosedViaDispatcher:i,onBeforeSendMessage:a,onAfterSendMessage:l=dt}){var g;const{chatSDK:d,logger:u,dispatcher:f}=se(),{channel:h,channelFetchError:b,fetchChannel:C}=Rr(t),x=Ir(d,h,{shouldCountNewMessages:()=>!1,onChannelDeleted:n,onMessagesReceived:v=>o==null?void 0:o(v),onMessagesUpdated:v=>s==null?void 0:s(v),logger:u});c.useEffect(()=>{const v=async y=>{const T=typeof(y==null?void 0:y.channelUrl)=="string";h&&T&&y.channelUrl!==h.url||(u.debug("conversation.dispatcher: try to close conversation",h),h!=null&&h.conversation&&h.conversation.status===B.ConversationStatus.OPEN&&(await h.closeConversation(),i==null||i()))};return f.subscribe(ut.ConversationClose,v),()=>{f.unsubscribe(ut.ConversationClose,v)}},[f,(g=h==null?void 0:h.conversation)==null?void 0:g.status,i]);const E={conversation:(h==null?void 0:h.conversation)??void 0,channelSource:{channel:h,error:b,refetch:()=>C()},messageSource:{messages:x.messages,initialized:x.initialized,loadPrevious:()=>x.loadPrevious(),loadNext:()=>x.loadNext(),sendUserMessage:async v=>{var T;if(((T=h==null?void 0:h.conversation)==null?void 0:T.status)===B.ConversationStatus.CLOSED)throw new Error("Conversation is closed");a&&(v=await a(v));const y=await x.sendUserMessage(v,l);return l==null||l(y),y},sendFileMessage:async v=>{var T;if(((T=h==null?void 0:h.conversation)==null?void 0:T.status)===B.ConversationStatus.CLOSED)throw new Error("Conversation is closed");a&&(v=await a(v));const y=await x.sendFileMessage(v,l);return l==null||l(y),y}}};return r.createElement(Lr,{value:E},e)}function Rr(e){const{chatSDK:t,logger:n}=se(),[o,s]=c.useState(void 0),[i,a]=c.useState(void 0);async function l(){if(n.debug("conversation.fetchChannel: start"),s(void 0),a(void 0),e)try{n.debug("conversation.fetchChannel: get channel",e);const d=await t.groupChannel.getChannel(e);s(d);const u=new H.ConnectionHandler({onReconnectSucceeded:()=>d.refresh()});t.addConnectionHandler(`sba-refresh-${e}`,u),n.debug("conversation.fetchChannel: fetched channel",d)}catch(d){d instanceof H.SendbirdError&&a(d),n.error("conversation.fetchChannel: error",d)}}return c.useEffect(()=>{l()},[e,t]),{channel:o,channelFetchError:i,fetchChannel:l}}class Pr{constructor(t,{filter:n,limit:o=20}){var s,i,a,l,d;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:(i=this.filter)==null?void 0:i.aiAgentConversationStatusFilter,aiAgentIds:(a=this.filter)==null?void 0:a.aiAgentIds,deskChannelFilter:(l=this.filter)==null?void 0:l.deskChannelFilter,pinnedChannelUrls:(d=this.filter)==null?void 0:d.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 H.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 i,a;const n=new Set(((i=this.filter)==null?void 0:i.pinnedChannelUrls)??[]),o=t.find(l=>!n.has(l.url));let s;o?s=((a=o.lastMessage)==null?void 0:a.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((d,u)=>[d,u])),s=[],i=[],a=[];for(const d of t){if(!this._query.belongsTo(d)){a.push(d.url);continue}const u=o.get(d.url);if(u===void 0)continue;const f=mt(this._pinnedChannels,d);f>=0?(this._pinnedChannels.splice(f,1),i.push(d)):s.push(d);const b=this._pinnedChannels.findIndex(x=>(o.get(x.url)??1/0)>u),C=b===-1?this._pinnedChannels.length:b;this._pinnedChannels.splice(C,0,d)}return{addedChannels:s,updatedChannels:i,unmatchedChannelUrls:a}}_upsertRegularChannelsToArray(t,n=!1){const o=[],s=[],i=[];for(const a of t){if(!this._query.belongsTo(a)){o.push(a.url);continue}const l=mt(this._channels,a),d=l<0;!d&&this._channels.splice(l,1);const f=Dr(this._channels,a,this._order).place,h=f===this._channels.length;d?h?(n||!this.hasMore)&&(this._channels.push(a),s.push(a)):(this._channels.splice(f,0,a),s.push(a)):(this._channels.splice(f,0,a),i.push(a))}return{addedChannels:s,updatedChannels:i,unmatchedChannelUrls:o}}_addChannelsToView(t,n=!1){var h,b,C,x,E;const o=new Set(((h=this.filter)==null?void 0:h.pinnedChannelUrls)??[]),s=[],i=[];for(const g of t)o.has(g.url)?s.push(g):i.push(g);const a=this._upsertPinnedChannelsToArray(s),l=this._upsertRegularChannelsToArray(i,n),d=a.addedChannels.concat(l.addedChannels),u=a.updatedChannels.concat(l.updatedChannels),f=a.unmatchedChannelUrls.concat(l.unmatchedChannelUrls);d.length>0&&((C=(b=this._collectionEventHandler)==null?void 0:b.onChannelsAdded)==null||C.call(b,{},d)),u.length>0&&((E=(x=this._collectionEventHandler)==null?void 0:x.onChannelsUpdated)==null||E.call(x,{},u)),f.length>0&&this._removeChannelsFromView(f)}_removeChannelsFromView(t){var s,i,a;const n=new Set(((s=this.filter)==null?void 0:s.pinnedChannelUrls)??[]),o=[];for(const l of t)if(n.has(l)){const d=this._pinnedChannels.findIndex(u=>u.url===l);d>=0&&(o.push(l),this._pinnedChannels.splice(d,1))}else{const d=this._channels.findIndex(u=>u.url===l);d>=0&&(o.push(l),this._channels.splice(d,1))}o.length>0&&((a=(i=this._collectionEventHandler)==null?void 0:i.onChannelsDeleted)==null||a.call(i,{},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 mt=(e,t)=>e.findIndex(n=>n.isIdentical(t)),Dr=(e,t,n)=>{if(e.length>0){const o=mt(e,t);let s=0,i=e.length-1,a=Math.floor((s+i)/2);for(;s<i;){const d=Vt(e[a],t,n);if(d>0)i=a,a=Math.floor((s+i)/2);else if(d<0)s=a+1,a=Math.floor((s+i)/2);else return{place:a,oldPosition:o}}return{place:Vt(e[a],t,n)>=0?a:a+1,oldPosition:o}}return{place:e.length,oldPosition:-1}},Vt=(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 Nr(e,t){var x,E,g,v,y,T,A,D;const n=c.useId(),[o,s]=c.useState(!1),[i,a]=c.useState(null),[l,d]=c.useState([]),[u,f]=c.useState(null),h=c.useRef(!1),b=c.useCallback(async()=>{if(!h.current&&e.currentUser){h.current=!0,s(!1),a(null),d([]);try{u==null||u.dispose();const $=new Pr(e,t);$.setConversationListCollectionHandler({onChannelsAdded:()=>{d($.channels)},onChannelsUpdated:()=>{d($.channels)},onChannelsDeleted:()=>{d($.channels)}}),await $.loadMore(),f($),a(null)}catch($){f(null),a($)}finally{s(!0),h.current=!1}}},[e,(x=t.filter)==null?void 0:x.aiAgentChannelFilter,(g=(E=t.filter)==null?void 0:E.aiAgentConversationStatusFilter)==null?void 0:g.join(),(y=(v=t.filter)==null?void 0:v.aiAgentIds)==null?void 0:y.join(),(T=t.filter)==null?void 0:T.deskChannelFilter,(D=(A=t.filter)==null?void 0:A.pinnedChannelUrls)==null?void 0:D.join(),t.limit]),C=c.useCallback(async()=>{if(u)try{await u.loadMore()}catch($){a($)}},[u]);return c.useEffect(()=>(e.addConnectionHandler(n,new H.ConnectionHandler({onConnected:()=>b()})),()=>e.removeConnectionHandler(n)),[e,n,b]),c.useEffect(()=>{b()},[b]),c.useEffect(()=>()=>{h.current=!1,u==null||u.dispose()},[u]),{initialized:o,error:i,channels:l,loadMore:C}}const{Provider:Br}=z("AIAgentConversationList");function Fr({conversationListLimit:e,conversationListFilter:t,children:n}){var h,b;const{chatSDK:o,aiAgentId:s,queryParams:i}=se(),a={aiAgentIds:[s],aiAgentConversationStatusFilter:[B.ConversationStatus.CLOSED]},l=e??((h=i==null?void 0:i.conversationListParams)==null?void 0:h.limit),d={...a,...(b=i==null?void 0:i.conversationListParams)==null?void 0:b.filter,...t},u=Nr(o,{limit:l,filter:d}),f={listSource:{initialized:u.initialized,error:u.error??void 0,channels:u.channels,loadMore:()=>u.loadMore()}};return r.createElement(Br,{value:f},n)}const ht={DEFAULT_BOT_MSG_BG:"#eeeeee",WHITE:"#ffffff",BLACK:"#000000"};function pn(e){return e.length===4?`#${[...e.slice(1)].map(t=>t+t).join("")}`:e}function Ur(e){const t=pn(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 zr(e,t,n){e/=255,t/=255,n/=255;const o=Math.max(e,t,n),s=Math.min(e,t,n),i=o-s;let a=0,l=0;const d=(o+s)/2;return o!==s&&(l=d>.5?i/(2-o-s):i/(o+s)),o===e?a=(t-n)/i+(t<n?6:0):o===t?a=(n-e)/i+2:o===n&&(a=(e-t)/i+4),a/=6,[a,l,d]}function Vr(e,t,n){let o,s,i;if(t===0)o=s=i=n;else{const a=function(f,h,b){return b<0&&(b+=1),b>1&&(b-=1),b<.16666666666666666?f+(h-f)*6*b:b<.5?h:b<.6666666666666666?f+(h-f)*(.6666666666666666-b)*6:f},l=n<.5?n*(1+t):n+t-n*t,d=2*n-l;o=a(d,l,e+1/3),s=a(d,l,e),i=a(d,l,e-1/3)}return[Math.round(o*255),Math.round(s*255),Math.round(i*255)]}function Me(e,t,n){const[o,s,i]=Ur(e),[a,l,d]=zr(o,s,i),u=Math.max(0,Math.min(1,d*t)),f=Math.max(0,Math.min(1,l*n)),[h,b,C]=Vr(a,f,u);return Hr([Math.round(h),Math.round(b),Math.round(C)])}function Wr(e,t="light"){return{extraDark:Me(e,.6,1.2),dark:Me(e,.85,1.1),main:e,light:Me(e,t==="dark"?1.1:1.5,t==="dark"?.95:.9),extraLight:Me(e,t==="dark"?1.2:1.75,t==="dark"?.9:.8)}}function gt(e){const t=pn(e),n=149,o=+`0x${t[1]}${t[2]}`,s=+`0x${t[3]}${t[4]}`,i=+`0x${t[5]}${t[6]}`;return o*.299+s*.587+i*.114>n?ht.BLACK:ht.WHITE}function Gr(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 jr=(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}}),Le={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)"}},st={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 Wt(e){const t=qr(e),{colors:n,aiAgentColorVariables:o}=Kr(e,t),s=Yr(e);return{selectedTheme:e.selectedTheme,palette:t,colors:n,aiAgentColorVariables:o,typography:s}}function qr({selectedTheme:e,palette:t,primary:n}){const o=t!=null&&t.primary?t.primary:n?n===Le.primary.main?Le.primary:Wr(n,e):Le.primary;return{...Le,primary:o,...t}}function Kr({selectedTheme:e,primaryContrast:t,botMessageBackground:n,botMessageBackgroundContrast:o},s){const i=s.primary.main,a=t??gt(i),l=n??ht.DEFAULT_BOT_MSG_BG,d=o??gt(l);return{colors:(e==="light"?Gr:jr)(s,i,a,l,d),aiAgentColorVariables:{primary_color:i,bot_message_bg_color:l,primary_contrast_color:a,bot_message_bg_contrast_color:d}}}function Zr(e,t,n){const o={...e};return n.forEach(s=>{const i=t[s];i!=null&&(o[s]=i)}),o}function Yr({typography:e}){if(!e)return st;const t={...st};return Object.keys(e).forEach(n=>{const o=e[n];if(o&&typeof o=="object"){const s=st[n],i=["fontSize","fontWeight","fontFamily","lineHeight"];t[n]=Zr(s,o,i)}}),t}const{Provider:Jr,useContext:vt}=z("AIAgentTheme");function Xr({logger:e,palette:t,typography:n,appearance:o,children:s}){const[i,a]=c.useState(()=>Wt({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=c.useCallback((d,u)=>{const f=(o==null?void 0:o.theme)??d,h=u==null?void 0:u(f),b={primary:o==null?void 0:o.primaryColor,primaryContrast:void 0,botMessageBackground:o==null?void 0:o.botMessageBackgroundColor,botMessageBackgroundContrast:void 0};!b.primary&&(h!=null&&h.primaryColor)&&(b.primary=h.primaryColor,b.primaryContrast=h.primaryContrastColor),!b.botMessageBackground&&(h!=null&&h.botMessageBackgroundColor)&&(b.botMessageBackground=h.botMessageBackgroundColor,b.botMessageBackgroundContrast=h.botMessageBackgroundContrastColor);const C=Wt({selectedTheme:f,palette:t,typography:n,...b});a(C),e==null||e.info("theme.update:",f)},[o==null?void 0:o.theme,o==null?void 0:o.primaryColor,o==null?void 0:o.botMessageBackgroundColor,t,n,e]);return c.useEffect(()=>{(o!=null&&o.theme||o!=null&&o.primaryColor||o!=null&&o.botMessageBackgroundColor)&&l(i.selectedTheme)},[o==null?void 0:o.theme,o==null?void 0:o.primaryColor,o==null?void 0:o.botMessageBackgroundColor]),r.createElement(Jr,{value:{theme:i,updateTheme:l}},s)}function Qr(){const{chatSDK:e,logger:t}=se(),n=c.useCallback(async(s,i,a)=>{if(t.debug("useChatConnection.connect: start, session",s.userId),i){const l=new H.SessionHandler({...i,onSessionTokenRequired:eo(i.onSessionTokenRequired,a)});e.setSessionHandler(l)}await e.connect(s.userId,s.authToken),t.debug("useChatConnection.connect: end, currentUser",e.currentUser)},[e,t]),o=c.useCallback(async()=>{t.debug("useChatConnection.disconnect: start"),await e.disconnect(),t.debug("useChatConnection.disconnect: end")},[e,t]);return{connect:n,disconnect:o}}function eo(e,t){if(e)return async(n,o)=>{new Promise((s,i)=>e==null?void 0:e(s,i)).then(s=>{s&&(t==null||t(s)),n(s)}).catch(s=>{o(s)})}}class bn{constructor({userId:t,authToken:n,sessionHandler:o}){this.userId=t,this.authToken=n,this.sessionHandler=o}}class ft{}const to=24*60*60*1e3,no=e=>{const{logger:t,cache:n}=se(),o=()=>{const i=n.messenger.getAnonUser();return i?i.expireAt-to<=Date.now()?(t.debug("useUserSessionCandidate.getAnonymousSessionInfo: auto session expired, clear cache"),n.messenger.clear(i.userId),null):(t.debug("useUserSessionCandidate.getAnonymousSessionInfo: auto session info detected"),i):null},s=()=>{if(!e||e instanceof ft)throw new Error("userSessionInfo must be an instance of ManualSessionInfo");const i=["authToken","sessionHandler"].filter(a=>!(a in e));return i.length>0&&t.error(`useUserSessionCandidate.getManualSessionInfo: missing required keys in userSessionInfo: ${i.join(", ")}`),t.debug("useUserSessionCandidate.getManualSessionInfo: manual session info detected"),e};return c.useMemo(()=>e instanceof bn?s():e instanceof ft?o():e&&typeof e=="object"?(t.warn("Please use ManualSessionInfo instead of the old userSessionInfo format."),s()):e===void 0?(t.warn("Please use AnonymousSessionInfo instead of undefined userSessionInfo."),o()):null,[t,e==null?void 0:e.userId,e==null?void 0:e.authToken,e==null?void 0:e.sessionHandler,n.messenger.getAnonUser,n.messenger.clear])};function ro({userSessionInfo:e,onPreAuth:t,onPostAuth:n,onErrorAuth:o,onAuthTokenRefreshed:s,onPostDeauth:i,forceCreateChannel:a}){const{aiAgentId:l,chatSDK:d,language:u,context:f,countryCode:h,logger:b,cache:C}=se(),{connect:x,disconnect:E}=Qr(),g=no(e),v=c.useCallback(async()=>{var $;b.debug("useAuthentication.authenticate: start");const T=(g==null?void 0:g.userId)&&(($=C.messenger.getSettings(g.userId))==null?void 0:$.knownActiveChannelUrl),A=await d.aiAgent.requestMessengerSettings({aiAgentId:l,userId:g==null?void 0:g.userId,language:u,country:h,context:f,forceCreateChannel:a,knownActiveChannelUrl:T});b.debug("useAuthentication.authenticate: messenger settings response",A);let D=null;if(A.auto_created_user){const{user_id:U,session_token:Q,expire_at:_}=A.auto_created_user;C.messenger.setAnonUser({userId:U,authToken:Q,expireAt:_}),D={userId:U,authToken:Q}}else D={userId:(g==null?void 0:g.userId)??"",authToken:(g==null?void 0:g.authToken)??""};C.messenger.setSettings(D.userId,{knownActiveChannelUrl:A.active_channel.channel_url});try{await t(A,D),await x(D,g==null?void 0:g.sessionHandler,s),await n(A,D)}catch(U){U instanceof Error&&(o(U),b.error("useAuthentication.authenticate: failed to connect",U))}return A},[d,x,g==null?void 0:g.userId,g==null?void 0:g.sessionHandler,g==null?void 0:g.authToken,C.messenger.setAnonUser,C.messenger.getSettings,C.messenger.setSettings,t,n,o,s]),y=c.useCallback(async()=>{b.debug("useAuthentication.deauthenticate: start"),await E(),i(),b.debug("useAuthentication.deauthenticate: completed")},[E,b,i]);return{authenticate:v,deauthenticate:y,userSessionCandidate:g}}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)}},_e=e=>JSON.parse(e),qe=e=>JSON.parse(e);function oo(e,t){const[n,o]=t.split(",").map(s=>s.trim());return e==="dark"&&o||n}function so(e){const t={};function n(o,s=""){for(const[i,a]of Object.entries(o)){const l=s?`${s}.${i}`:i;a&&typeof a=="object"&&!Array.isArray(a)?n(a,l):t[l]=a}}return n(e),t}function yt({template:e,variables:t,variableKeyPattern:n,variableValueTransformer:o}){return Object.entries(t).reduce((s,[i,a])=>{if(!o&&!["number","boolean","string"].includes(typeof a))throw new Error(`If transformer is not provided, value(${i}:${a}) must be a {string, number, or boolean}`);const l=o?o(a):String(a),d=n(i);return s.replace(d,En(l))},e)}async function io({template:e,variables:t,variableKeyPattern:n,variableValueTransformer:o}){return(await Promise.all(Object.entries(t).map(async([i,a])=>{const l=await o(a);return{regex:n(i),transformedValue:l}}))).reduce((i,{regex:a,transformedValue:l})=>i.replace(a,En(l)),e)}const ao=()=>{const{chatSDK:e,logger:t,cache:n}=se(),o=c.useCallback(()=>{var l,d;const i=(d=(l=e.appInfo)==null?void 0:l.aiAgentInfo)==null?void 0:d.templateListToken;if(!i)return!1;const a=n.template.getCachedToken();return a?i!==a:!0},[e,n.template.getCachedToken]),s=c.useCallback(async()=>{try{const{templates:i,token:a}=await e.aiAgent.getMessageTemplates({limit:20});for(const{template:l}of i){const{key:d}=_e(l);n.template.set(d,l)}n.template.setCachedToken(a)}catch(i){t==null||t.error("messageTemplateContext.syncCachedTemplates: error:",i)}},[e,t,n.template.set,n.template.setCachedToken]);return{shouldSyncCachedTemplate:o,syncCachedTemplates:s}};var Fe=(e=>(e.OFF="off",e.ALWAYS="always",e.HANDED_OFF_ONLY="handed_off_only",e))(Fe||{});const lo={off:"off",always:"always",handed_off_only:"handed_off_only"},{Provider:co}=z("AIAgentMessengerSession"),uo=c.forwardRef(function({userSessionInfo:e,forceCreateChannel:t,children:n},o){const{appId:s,aiAgentId:i,chatSDK:a,language:l,countryCode:d,context:u,cache:f,logger:h}=se(),{updateTheme:b}=vt(),[C,x]=c.useState(void 0),[E,g]=c.useState(void 0),[v,y]=c.useState(null),[T,A]=c.useState(null),[D,$]=c.useState(null),[U,Q]=c.useState("handed_off_only"),{shouldSyncCachedTemplate:_,syncCachedTemplates:N}=ao(),{authenticate:ee,deauthenticate:j}=ro({userSessionInfo:e,forceCreateChannel:t,onPreAuth:c.useCallback((k,L)=>{const G=k.appearance.selected_theme;b(G,K=>{const me=k.appearance.themes[K];return{primaryColor:me.primary_color,botMessageBackgroundColor:me.bot_message_bg_color,primaryContrastColor:me.primary_contrast_color,botMessageBackgroundContrastColor:me.bot_message_bg_contrast_color}}),x(void 0),y(L),A({userId:k.bot.bot_userid,profileUrl:k.bot.bot_profile_url,nickname:k.bot.bot_nickname,replyToFile:k.bot.reply_to_file,specialNotice:k.bot.special_notice,specialNoticeEnabled:k.bot.is_special_notice_enabled,showHandoffButton:k.bot.show_handoff_button??!0}),$({type:k.launcher.image_type||"default_icon",imageUrl:k.launcher.image_url}),Q(lo[k.active_channel.attachment_mode]??"handed_off_only")},[]),onPostAuth:c.useCallback(async k=>{_()&&await N(),g({url:k.active_channel.channel_url,status:B.ConversationStatus.OPEN})},[_,N]),onErrorAuth:c.useCallback(k=>{x(k)},[]),onAuthTokenRefreshed:c.useCallback(k=>{y(L=>L?{...L,authToken:k}:null)},[]),onPostDeauth:c.useCallback(()=>{f.template.clear(),v!=null&&v.userId&&f.messenger.clear(v.userId),g(void 0),y(null),A(null),$(null)},[f.template.clear,v])}),tt=c.useCallback(async()=>{var k;if(v){h.debug("agentMessengerSession.refreshActiveChannel: try to refresh active channel"),g(void 0);const L=await a.aiAgent.requestMessengerSettings({aiAgentId:i,userId:v.userId,language:l,country:d,context:u,forceCreateChannel:t,knownActiveChannelUrl:(k=f.messenger.getSettings(v.userId))==null?void 0:k.knownActiveChannelUrl});return f.messenger.setSettings(v.userId,{knownActiveChannelUrl:L.active_channel.channel_url}),g({url:L.active_channel.channel_url,status:B.ConversationStatus.OPEN}),h.info("agentMessengerSession.refreshActiveChannel: refreshed active channel",L.active_channel.channel_url),L.active_channel.channel_url}else throw h.error("agentMessengerSession.refreshActiveChannel: userSession is not ready"),new Error("userSession is not ready")},[a,s,i,v==null?void 0:v.userId,l,d,u,t,f.messenger.getSettings,f.messenger.setSettings]),nt=c.useCallback(async k=>{if(!(v!=null&&v.userId))throw new Error("Current user is not authenticated. Please authenticate first.");const G=(await a.aiAgent.requestMessengerSettings({...k,userId:v.userId,knownActiveChannelUrl:void 0})).active_channel.channel_url;return f.messenger.setSettings(v.userId,{knownActiveChannelUrl:G}),G},[v==null?void 0:v.userId]);return fe.useGroupChannelHandler(a,{onChannelChanged:k=>{var L;k.isGroupChannel()&&k.url===(E==null?void 0:E.url)&&(h.info("agentMessengerSession.channelChanged: channel.conversation",k.conversation),g({url:k.url,status:((L=k.conversation)==null?void 0:L.status)??B.ConversationStatus.OPEN}))}}),c.useImperativeHandle(o,()=>{const k=async()=>{if(!E)throw new Error("No active conversation. Please start a conversation first.");return await a.groupChannel.getChannel(E.url)};return{activeChannel:E,chatSDK:a,authenticate:ee,deauthenticate:j,updateContext:async L=>{const K=await(await k()).updateContext(i,L);return{...K,context:K.context??{}}},patchContext:async L=>{const K=await(await k()).patchContext(i,L);return{...K,context:K.context??{}}},getContextObject:async()=>{const G=await(await k()).getContextObject(i);return{...G,context:G.context??{}}}}},[ee,j,E,a,i,h]),r.createElement(co,{value:{userSessionInfo:e,userSession:v,activeChannel:E,setActiveChannel:g,refreshActiveChannel:tt,createConversation:nt,connectionError:C,aiAgentInfo:T,launcherInfo:D,authenticate:ee,deauthenticate:j,attachmentMode:U}},n)});function mo(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:ho,useContext:xn}=z("MessageTemplateFetching");function go({children:e,internalVariables:t}){const n=c.useRef({}),o=c.useRef({}),[s,i]=c.useState({}),a=c.useCallback((u,f)=>{i(h=>({...h,[u]:{fetching:!1,error:!1,...h[u],...f}}))},[]),l=c.useCallback(async({onRequestTemplate:u,onGetCachedTemplate:f,templateKey:h,suspense:b=!1})=>{const C=f(h);if(C)return C;const x=o.current[h];if(x)return x;b||a(h,{fetching:!0});const E=u(h).catch(g=>{throw b||a(h,{error:!0}),g}).finally(()=>{b||a(h,{fetching:!1}),delete o.current[h]});return o.current[h]=E,E},[a]),d={internalVariables:t,fetchTemplate:l,suspend:(u,f)=>{if(n.current[u])return n.current[u];const h=mo(f());return n.current[u]=h,h},getIsFetching:u=>{var f;return((f=s[u])==null?void 0:f.fetching)??!1},getHasError:u=>{var f;return((f=s[u])==null?void 0:f.error)??!1}};return r.createElement(ho,{value:d},e)}const Ke={VARIABLE:e=>new RegExp(`\\{${e}\\}`,"g"),VIEW_VARIABLE:e=>new RegExp(`"{@${e}}"`,"g")};function re({uiTemplateString:e,variables:t={}}){const n=so(t);return yt({template:e,variables:n,variableKeyPattern:o=>Ke.VARIABLE(o)})}function oe({theme:e,uiTemplateString:t,colorVariables:n={}}){return yt({template:t,variables:n,variableKeyPattern:o=>Ke.VARIABLE(o),variableValueTransformer:o=>oo(e,o)})}function fo({theme:e,uiTemplateString:t,viewVariables:n={},aiAgentColorVariables:o,internalVariables:s,onRequestTemplate:i}){const l=Object.values(n).flat().map(u=>u.key);return[...new Set(l)].some(u=>!i(u))?null:yt({template:t,variables:n,variableKeyPattern:u=>Ke.VIEW_VARIABLE(u),variableValueTransformer:u=>{const f=u.map(({key:h,variables:b})=>{const C=i(h),{ui_template:x,color_variables:E}=_e(C);let g=JSON.stringify(x);return g=re({uiTemplateString:g,variables:s}),g=oe({theme:e,uiTemplateString:g,colorVariables:E}),g=oe({theme:e,uiTemplateString:g,colorVariables:o}),g=re({uiTemplateString:g,variables:b}),qe(g)});return JSON.stringify(f)}})}async function po({theme:e,uiTemplateString:t,viewVariables:n={},aiAgentColorVariables:o,internalVariables:s,onRequestTemplate:i}){return io({template:t,variables:n,variableKeyPattern:a=>Ke.VIEW_VARIABLE(a),variableValueTransformer:async a=>{const l=a.map(async({key:u,variables:f})=>{const h=await i(u),{ui_template:b,color_variables:C}=_e(h);let x=JSON.stringify(b);return x=re({uiTemplateString:x,variables:s}),x=oe({theme:e,uiTemplateString:x,colorVariables:C}),x=oe({theme:e,uiTemplateString:x,colorVariables:o}),x=re({uiTemplateString:x,variables:f}),qe(x)}),d=await Promise.all(l);return JSON.stringify(d)}})}const bo=({rawTemplate:e,aiAgentColorVariables:t,internalVariables:n,...o})=>{const{ui_template:s,color_variables:i}=_e(e);let a=JSON.stringify(s);if(Object.keys(o.viewVariables??{}).length>0){const d=fo({...o,uiTemplateString:a,aiAgentColorVariables:t,internalVariables:n});if(d===null)return null;a=d}return a=re({...o,uiTemplateString:a,variables:n}),a=oe({...o,uiTemplateString:a,colorVariables:i}),a=oe({...o,uiTemplateString:a,colorVariables:t}),a=re({...o,uiTemplateString:a}),qe(a)},Eo=async({rawTemplate:e,aiAgentColorVariables:t,internalVariables:n,...o})=>{const{ui_template:s,color_variables:i}=_e(e);let a=JSON.stringify(s);return Object.keys(o.viewVariables??{}).length>0&&(a=await po({...o,uiTemplateString:a,aiAgentColorVariables:t,internalVariables:n})),a=re({...o,uiTemplateString:a,variables:n}),a=oe({...o,uiTemplateString:a,colorVariables:i}),a=oe({...o,uiTemplateString:a,colorVariables:t}),a=re({...o,uiTemplateString:a}),qe(a)},xo=e=>{const{aiAgentColorVariables:t={}}=e,{internalVariables:n}=xn();return c.useState(()=>{const o=e.onGetCachedTemplate(e.templateKey);return o?bo({...e,rawTemplate:o,aiAgentColorVariables:t,internalVariables:n,onRequestTemplate:e.onGetCachedTemplate}):null})},Co=e=>{const[t]=xo(e);if(t)return t;const{aiAgentColorVariables:n={}}=e,{internalVariables:o,fetchTemplate:s,suspend:i}=xn();return i(e.templateKey,async()=>{const l=await s({...e,suspense:!0});return await Eo({...e,rawTemplate:l,aiAgentColorVariables:n,internalVariables:o})}).value},vo='@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}',Se="en",yo=new Set([Se,"ko","es","pt","fr","hi","it","de","tr","ja"]),_o=(e,t,n)=>{const o=e[t];return o?typeof o=="function"?o():Promise.resolve(o):new Promise((s,i)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(i.bind(null,new Error("Unknown variable dynamic import: "+t+(t.split("/").length!==n?". Note that variables only represent file names one level deep.":""))))})},So=mr.enUS,To={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",CITATION_SOURCE_TITLE:"Source"},_t={language:"en",dateLocale:So,stringSet:To},wo=Object.freeze(Object.defineProperty({__proto__:null,default:_t},Symbol.toStringTag,{value:"Module"})),Ue=new Map([[Se,_t]]);async function ko(e){if(Ue.has(e))return Ue.get(e);const t=yo.has(e)?e:Se;try{const{default:n}=await _o(Object.assign({"./languages/de.ts":()=>Promise.resolve().then(()=>require("./6xTfJrmg.cjs")),"./languages/en.ts":()=>Promise.resolve().then(()=>wo),"./languages/es.ts":()=>Promise.resolve().then(()=>require("./D5dT1ruo.cjs")),"./languages/fr.ts":()=>Promise.resolve().then(()=>require("./VJMogId3.cjs")),"./languages/hi.ts":()=>Promise.resolve().then(()=>require("./kTWMrzTz.cjs")),"./languages/it.ts":()=>Promise.resolve().then(()=>require("./DdQV23MS.cjs")),"./languages/ja.ts":()=>Promise.resolve().then(()=>require("./BIDOBNC3.cjs")),"./languages/ko.ts":()=>Promise.resolve().then(()=>require("./eFpF2Osy.cjs")),"./languages/pt.ts":()=>Promise.resolve().then(()=>require("./B4mujFdj.cjs")),"./languages/tr.ts":()=>Promise.resolve().then(()=>require("./BzMiZszH.cjs"))}),`./languages/${t}.ts`,3);return Ue.set(e,n),n}catch{return _t}}const{Provider:Ao,useContext:M}=z("Localization");function Io(e){var t;return((t=e.split("-"))==null?void 0:t[0])??Se}function $o({language:e=navigator.language,logger:t,stringSet:n,children:o}){const[s,i]=c.useState(Ue.get(Se));return c.useEffect(()=>{const a=Io(e);s.language!==a&&(t==null||t.debug("localization.useEffect: update language",`${s.language} -> ${a}`),ko(a).then(i))},[e]),r.createElement(Ao,{value:{language:s.language,stringSet:{...s.stringSet,...n},dateLocale:s.dateLocale,format:(a,l,d)=>ve.format(a,l,{locale:s.dateLocale,...d})}},o)}const Ve="data-sb-agent-theme",Gt=e=>(t,...n)=>{let o="";return t.forEach((s,i)=>{o+=s+(n[i]??"")}),`[${Ve}='${e}'] & { ${o} }`},R={light:Gt("light"),dark:Gt("dark")},Mo=S.css(({theme:e})=>{const{palette:t}=e;return`
|
|
1
|
+
"use strict";const c=require("react"),U=require("@sendbird/chat"),S=require("styled-components"),ve=require("date-fns"),mr=require("date-fns/locale/en-US"),B=require("@sendbird/chat/aiAgent"),fe=require("@sendbird/uikit-tools"),He=require("@sendbird/chat/groupChannel"),ct=require("@sendbird/react-uikit-message-template-view"),hr=require("@sendbird/uikit-message-template"),gr=require("dompurify"),ze=require("@sendbird/chat/message"),fr=require("date-fns/isSameDay"),pr=require("react-dom"),br=require("@emotion/is-prop-valid"),je=e=>e&&e.__esModule?e:{default:e};function Er(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=Er(c),xr=je(U),m=je(S),mn=je(gr),Cr=je(br),z=(e,t)=>{const n=c.createContext(null),o=({children:a,value:l})=>r.createElement(n.Provider,{value:l},typeof a=="function"?a(l):a),s=({children:a})=>r.createElement(n.Consumer,null,l=>l?typeof a=="function"?a(l):a:null),i=()=>{const a=c.useContext(n);if(!a)throw new Error(`use${e}Context must be used within a ${e}Provider`);return a};return n.displayName=`${e}Context`,o.displayName=`${e}Provider`,s.displayName=`${e}Consumer`,i.displayName=`use${e}Context`,{Context:n,Provider:o,Consumer:s,useContext:i}};function pe(e){const t=c.createContext({Template:e.template,updateTemplate:()=>{},components:e.components,updateComponent:()=>{}});function n({children:i}){const[a,l]=c.useState(()=>e.template),[d,u]=c.useState(e.components),f={Template:a,updateTemplate:h=>l(()=>h),components:d,updateComponent:(h,b)=>u(C=>({...C,[h]:b}))};return r.createElement(t.Provider,{value:f},i)}function o({template:i,children:a}){const{updateTemplate:l}=c.useContext(t);return c.useEffect(()=>{i&&l(i)},[i]),r.createElement(r.Fragment,null,a)}function s({children:i}){return r.createElement(n,null,i)}return s.defaults=e,s.useContext=()=>c.useContext(t),s.Context=t,s.Template=o,Object.keys(e.components).forEach(i=>{s[i]=function({component:l}){const{updateComponent:d}=c.useContext(t);return c.useEffect(()=>{l&&d(i,l)},[l]),null}}),s}function vr(...e){return function({children:n}){return e.reduce((o,s)=>r.createElement(s,null,o),n)}}function dt(){}function yr(){const e=/iPad|iPhone|iPod/.test(navigator.userAgent),t=/Android/.test(navigator.userAgent);return e||t}function _r(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 Ut=e=>{try{return JSON.parse(e===""?"{}":e)}catch{return{}}},be={isStreaming(e){const t=Ut(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=Ut(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=a=>a.some(l=>typeof t[l]<"u"),o=n(rt.ui),s=n(rt.trail),i=n(rt.marking);return{ui:o,trail:s,marking:i}},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:i,trail:a,marking:l}=this.checkExtendedFieldPresence(e);return i?!(!n&&l):!!(n&&(a||l))}return!0}},rt={ui:["suggested_replies","cta_button","message_template","csat"],trail:["groundedness","manual","function_calls"],marking:["is_hallucination","is_moderated","flagged_types"]},Sr="1.3.2",he="sb-agent",Tr=Sr,ot=`@${he}`,Ht=({appId:e,aiAgentId:t,storage:n})=>{const o={templateBase:`${ot}-template`,template:s=>`${o.templateBase}/templates/${s}`,templateToken:()=>`${o.templateBase}-template/message-template/tokens`,messengerSession:s=>{const i=_r(`${e}/${t}/${s}`);return`${ot}-udata/${i}`},anonUserSession:()=>`${ot}-session/${e}/${t}`};return{template:{set:(s,i)=>n.set(o.template(s),i),get:s=>n.get(o.template(s)),setCachedToken:s=>n.set(o.templateToken(),s),getCachedToken:()=>n.get(o.templateToken()),clear:()=>{n.getKeys(o.templateBase).forEach(n.delete)}},messenger:{getSettings:s=>{try{const i=n.get(o.messengerSession(s));return i?JSON.parse(i):null}catch{return null}},setSettings:(s,i)=>{try{const a=JSON.stringify(i);n.set(o.messengerSession(s),a)}catch{return}},getAnonUser:()=>{try{const s=n.get(o.anonUserSession());return s?JSON.parse(s):null}catch{return null}},setAnonUser:s=>{try{const i=JSON.stringify(s);n.set(o.anonUserSession(),i)}catch{return}},clear:s=>{try{n.delete(o.messengerSession(s)),n.delete(o.anonUserSession())}catch{return}}}}};class hn{constructor(t){this.logger=t,this.subscribers={}}async send(t){const n=wr(),o=this.subscribers[t.type];if(o){this.logger.debug(`messenger.dispatcher: dispatching command: ${t.type}`,t.payload);const s=o.map(i=>i(t.payload));await Promise.all(s).catch(i=>{this.logger.error(`messenger.dispatcher: error in callback for command: ${t.type}`,i)})}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 wr=()=>{let e=dt,t=dt;return{promise:new Promise((o,s)=>{e=o,t=s}),resolve:e,reject:t}};var Ct=(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))(Ct||{});class gn{constructor(t){this.level=t}verbose(...t){this.level<=0&&console.log(`[${he}/verbose]`,...t)}debug(...t){this.level<=1&&console.log(`[${he}/debug]`,...t)}info(...t){this.level<=2&&console.log(`[${he}/info]`,...t)}warn(...t){this.level<=3&&console.warn(`[${he}/warn]`,...t)}error(...t){this.level<=4&&console.error(`[${he}/error]`,...t)}}function zt(e,t,n){const o=xr.default.init({appId:e,modules:[new He.GroupChannelModule,new B.AIAgentModule],localCacheEnabled:!0,options:new U.SendbirdChatOptions({typingIndicatorInvalidateTime:3e4}),...n});return o.addSendbirdExtensions([{version:Tr,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:kr,useContext:se}=z("AIAgent");function Ar({appId:e,aiAgentId:t,keyValueStorage:n,language:o,countryCode:s,context:i,queryParams:a,chatSDK:l,chatParams:d,children:u,logger:f,dispatcher:h,extensions:b={platform:U.SendbirdPlatform.JS,deviceOSPlatform:yr()?U.DeviceOsPlatform.MOBILE_WEB:U.DeviceOsPlatform.WEB}}){const[C,x]=c.useState(()=>{const E=f??new gn(Ct.WARN),g=h??new hn(E);return{appId:e,aiAgentId:t,language:o,countryCode:s,context:i,queryParams:a,keyValueStorage:n,logger:E,dispatcher:g,chatSDK:l??zt(e,b,d),cache:Ht({appId:e,aiAgentId:t,storage:n})}});return c.useEffect(()=>{x(E=>{let g=E.logger,v=E.dispatcher,y=E.chatSDK;return f&&f!==E.logger&&(g=f),h&&h!==E.dispatcher&&(v=h),l&&l!==E.chatSDK?y=l:!l&&E.chatSDK.appId!==e&&(y=zt(e,b,{newInstance:!0,...d})),{...E,appId:e,aiAgentId:t,keyValueStorage:n,language:o,countryCode:s,context:i,queryParams:a,logger:g,dispatcher:v,chatSDK:y,cache:Ht({appId:e,aiAgentId:t,storage:n})}})},[e,t,o,s,i,f,h,l]),c.useEffect(()=>()=>{C.chatSDK.disconnectWebSocket()},[C.chatSDK]),r.createElement(kr,{value:C},u)}const Ir=(e,t,n)=>fe.useGroupChannelMessages(e,t,{...n,strictStreamingOrder:!0});var ut=(e=>(e.ConversationClose="conv.close",e))(ut||{});class $r{constructor(t={}){this.payload=t}toJSON(){return JSON.stringify({type:this.type,payload:this.payload})}}const fn={CloseConversation:e=>new Mr(e)};class Mr extends $r{constructor(){super(...arguments),this.type="conv.close"}}const{Provider:Lr}=z("AIAgentConversation");function Or({children:e,channelUrl:t,onChannelDeleted:n,onMessagesReceived:o,onMessagesUpdated:s,onConversationClosedViaDispatcher:i,onBeforeSendMessage:a,onAfterSendMessage:l=dt}){var g;const{chatSDK:d,logger:u,dispatcher:f}=se(),{channel:h,channelFetchError:b,fetchChannel:C}=Rr(t),x=Ir(d,h,{shouldCountNewMessages:()=>!1,onChannelDeleted:n,onMessagesReceived:v=>o==null?void 0:o(v),onMessagesUpdated:v=>s==null?void 0:s(v),logger:u});c.useEffect(()=>{const v=async y=>{const T=typeof(y==null?void 0:y.channelUrl)=="string";h&&T&&y.channelUrl!==h.url||(u.debug("conversation.dispatcher: try to close conversation",h),h!=null&&h.conversation&&h.conversation.status===B.ConversationStatus.OPEN&&(await h.closeConversation(),i==null||i()))};return f.subscribe(ut.ConversationClose,v),()=>{f.unsubscribe(ut.ConversationClose,v)}},[f,(g=h==null?void 0:h.conversation)==null?void 0:g.status,i]);const E={conversation:(h==null?void 0:h.conversation)??void 0,channelSource:{channel:h,error:b,refetch:()=>C()},messageSource:{messages:x.messages,initialized:x.initialized,loadPrevious:()=>x.loadPrevious(),loadNext:()=>x.loadNext(),sendUserMessage:async v=>{var T;if(((T=h==null?void 0:h.conversation)==null?void 0:T.status)===B.ConversationStatus.CLOSED)throw new Error("Conversation is closed");a&&(v=await a(v));const y=await x.sendUserMessage(v,l);return l==null||l(y),y},sendFileMessage:async v=>{var T;if(((T=h==null?void 0:h.conversation)==null?void 0:T.status)===B.ConversationStatus.CLOSED)throw new Error("Conversation is closed");a&&(v=await a(v));const y=await x.sendFileMessage(v,l);return l==null||l(y),y}}};return r.createElement(Lr,{value:E},e)}function Rr(e){const{chatSDK:t,logger:n}=se(),[o,s]=c.useState(void 0),[i,a]=c.useState(void 0);async function l(){if(n.debug("conversation.fetchChannel: start"),s(void 0),a(void 0),e)try{n.debug("conversation.fetchChannel: get channel",e);const d=await t.groupChannel.getChannel(e);s(d);const u=new U.ConnectionHandler({onReconnectSucceeded:()=>d.refresh()});t.addConnectionHandler(`sba-refresh-${e}`,u),n.debug("conversation.fetchChannel: fetched channel",d)}catch(d){d instanceof U.SendbirdError&&a(d),n.error("conversation.fetchChannel: error",d)}}return c.useEffect(()=>{l()},[e,t]),{channel:o,channelFetchError:i,fetchChannel:l}}class Pr{constructor(t,{filter:n,limit:o=20}){var s,i,a,l,d;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:(i=this.filter)==null?void 0:i.aiAgentConversationStatusFilter,aiAgentIds:(a=this.filter)==null?void 0:a.aiAgentIds,deskChannelFilter:(l=this.filter)==null?void 0:l.deskChannelFilter,pinnedChannelUrls:(d=this.filter)==null?void 0:d.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 i,a;const n=new Set(((i=this.filter)==null?void 0:i.pinnedChannelUrls)??[]),o=t.find(l=>!n.has(l.url));let s;o?s=((a=o.lastMessage)==null?void 0:a.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((d,u)=>[d,u])),s=[],i=[],a=[];for(const d of t){if(!this._query.belongsTo(d)){a.push(d.url);continue}const u=o.get(d.url);if(u===void 0)continue;const f=mt(this._pinnedChannels,d);f>=0?(this._pinnedChannels.splice(f,1),i.push(d)):s.push(d);const b=this._pinnedChannels.findIndex(x=>(o.get(x.url)??1/0)>u),C=b===-1?this._pinnedChannels.length:b;this._pinnedChannels.splice(C,0,d)}return{addedChannels:s,updatedChannels:i,unmatchedChannelUrls:a}}_upsertRegularChannelsToArray(t,n=!1){const o=[],s=[],i=[];for(const a of t){if(!this._query.belongsTo(a)){o.push(a.url);continue}const l=mt(this._channels,a),d=l<0;!d&&this._channels.splice(l,1);const f=Dr(this._channels,a,this._order).place,h=f===this._channels.length;d?h?(n||!this.hasMore)&&(this._channels.push(a),s.push(a)):(this._channels.splice(f,0,a),s.push(a)):(this._channels.splice(f,0,a),i.push(a))}return{addedChannels:s,updatedChannels:i,unmatchedChannelUrls:o}}_addChannelsToView(t,n=!1){var h,b,C,x,E;const o=new Set(((h=this.filter)==null?void 0:h.pinnedChannelUrls)??[]),s=[],i=[];for(const g of t)o.has(g.url)?s.push(g):i.push(g);const a=this._upsertPinnedChannelsToArray(s),l=this._upsertRegularChannelsToArray(i,n),d=a.addedChannels.concat(l.addedChannels),u=a.updatedChannels.concat(l.updatedChannels),f=a.unmatchedChannelUrls.concat(l.unmatchedChannelUrls);d.length>0&&((C=(b=this._collectionEventHandler)==null?void 0:b.onChannelsAdded)==null||C.call(b,{},d)),u.length>0&&((E=(x=this._collectionEventHandler)==null?void 0:x.onChannelsUpdated)==null||E.call(x,{},u)),f.length>0&&this._removeChannelsFromView(f)}_removeChannelsFromView(t){var s,i,a;const n=new Set(((s=this.filter)==null?void 0:s.pinnedChannelUrls)??[]),o=[];for(const l of t)if(n.has(l)){const d=this._pinnedChannels.findIndex(u=>u.url===l);d>=0&&(o.push(l),this._pinnedChannels.splice(d,1))}else{const d=this._channels.findIndex(u=>u.url===l);d>=0&&(o.push(l),this._channels.splice(d,1))}o.length>0&&((a=(i=this._collectionEventHandler)==null?void 0:i.onChannelsDeleted)==null||a.call(i,{},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 mt=(e,t)=>e.findIndex(n=>n.isIdentical(t)),Dr=(e,t,n)=>{if(e.length>0){const o=mt(e,t);let s=0,i=e.length-1,a=Math.floor((s+i)/2);for(;s<i;){const d=Vt(e[a],t,n);if(d>0)i=a,a=Math.floor((s+i)/2);else if(d<0)s=a+1,a=Math.floor((s+i)/2);else return{place:a,oldPosition:o}}return{place:Vt(e[a],t,n)>=0?a:a+1,oldPosition:o}}return{place:e.length,oldPosition:-1}},Vt=(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 Nr(e,t){var x,E,g,v,y,T,A,D;const n=c.useId(),[o,s]=c.useState(!1),[i,a]=c.useState(null),[l,d]=c.useState([]),[u,f]=c.useState(null),h=c.useRef(!1),b=c.useCallback(async()=>{if(!h.current&&e.currentUser){h.current=!0,s(!1),a(null),d([]);try{u==null||u.dispose();const $=new Pr(e,t);$.setConversationListCollectionHandler({onChannelsAdded:()=>{d($.channels)},onChannelsUpdated:()=>{d($.channels)},onChannelsDeleted:()=>{d($.channels)}}),await $.loadMore(),f($),a(null)}catch($){f(null),a($)}finally{s(!0),h.current=!1}}},[e,(x=t.filter)==null?void 0:x.aiAgentChannelFilter,(g=(E=t.filter)==null?void 0:E.aiAgentConversationStatusFilter)==null?void 0:g.join(),(y=(v=t.filter)==null?void 0:v.aiAgentIds)==null?void 0:y.join(),(T=t.filter)==null?void 0:T.deskChannelFilter,(D=(A=t.filter)==null?void 0:A.pinnedChannelUrls)==null?void 0:D.join(),t.limit]),C=c.useCallback(async()=>{if(u)try{await u.loadMore()}catch($){a($)}},[u]);return c.useEffect(()=>(e.addConnectionHandler(n,new U.ConnectionHandler({onConnected:()=>b()})),()=>e.removeConnectionHandler(n)),[e,n,b]),c.useEffect(()=>{b()},[b]),c.useEffect(()=>()=>{h.current=!1,u==null||u.dispose()},[u]),{initialized:o,error:i,channels:l,loadMore:C}}const{Provider:Br}=z("AIAgentConversationList");function Fr({conversationListLimit:e,conversationListFilter:t,children:n}){var h,b;const{chatSDK:o,aiAgentId:s,queryParams:i}=se(),a={aiAgentIds:[s],aiAgentConversationStatusFilter:[B.ConversationStatus.CLOSED]},l=e??((h=i==null?void 0:i.conversationListParams)==null?void 0:h.limit),d={...a,...(b=i==null?void 0:i.conversationListParams)==null?void 0:b.filter,...t},u=Nr(o,{limit:l,filter:d}),f={listSource:{initialized:u.initialized,error:u.error??void 0,channels:u.channels,loadMore:()=>u.loadMore()}};return r.createElement(Br,{value:f},n)}const ht={DEFAULT_BOT_MSG_BG:"#eeeeee",WHITE:"#ffffff",BLACK:"#000000"};function pn(e){return e.length===4?`#${[...e.slice(1)].map(t=>t+t).join("")}`:e}function Ur(e){const t=pn(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 zr(e,t,n){e/=255,t/=255,n/=255;const o=Math.max(e,t,n),s=Math.min(e,t,n),i=o-s;let a=0,l=0;const d=(o+s)/2;return o!==s&&(l=d>.5?i/(2-o-s):i/(o+s)),o===e?a=(t-n)/i+(t<n?6:0):o===t?a=(n-e)/i+2:o===n&&(a=(e-t)/i+4),a/=6,[a,l,d]}function Vr(e,t,n){let o,s,i;if(t===0)o=s=i=n;else{const a=function(f,h,b){return b<0&&(b+=1),b>1&&(b-=1),b<.16666666666666666?f+(h-f)*6*b:b<.5?h:b<.6666666666666666?f+(h-f)*(.6666666666666666-b)*6:f},l=n<.5?n*(1+t):n+t-n*t,d=2*n-l;o=a(d,l,e+1/3),s=a(d,l,e),i=a(d,l,e-1/3)}return[Math.round(o*255),Math.round(s*255),Math.round(i*255)]}function Me(e,t,n){const[o,s,i]=Ur(e),[a,l,d]=zr(o,s,i),u=Math.max(0,Math.min(1,d*t)),f=Math.max(0,Math.min(1,l*n)),[h,b,C]=Vr(a,f,u);return Hr([Math.round(h),Math.round(b),Math.round(C)])}function Wr(e,t="light"){return{extraDark:Me(e,.6,1.2),dark:Me(e,.85,1.1),main:e,light:Me(e,t==="dark"?1.1:1.5,t==="dark"?.95:.9),extraLight:Me(e,t==="dark"?1.2:1.75,t==="dark"?.9:.8)}}function gt(e){const t=pn(e),n=149,o=+`0x${t[1]}${t[2]}`,s=+`0x${t[3]}${t[4]}`,i=+`0x${t[5]}${t[6]}`;return o*.299+s*.587+i*.114>n?ht.BLACK:ht.WHITE}function Gr(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 jr=(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}}),Le={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)"}},st={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 Wt(e){const t=qr(e),{colors:n,aiAgentColorVariables:o}=Kr(e,t),s=Yr(e);return{selectedTheme:e.selectedTheme,palette:t,colors:n,aiAgentColorVariables:o,typography:s}}function qr({selectedTheme:e,palette:t,primary:n}){const o=t!=null&&t.primary?t.primary:n?n===Le.primary.main?Le.primary:Wr(n,e):Le.primary;return{...Le,primary:o,...t}}function Kr({selectedTheme:e,primaryContrast:t,botMessageBackground:n,botMessageBackgroundContrast:o},s){const i=s.primary.main,a=t??gt(i),l=n??ht.DEFAULT_BOT_MSG_BG,d=o??gt(l);return{colors:(e==="light"?Gr:jr)(s,i,a,l,d),aiAgentColorVariables:{primary_color:i,bot_message_bg_color:l,primary_contrast_color:a,bot_message_bg_contrast_color:d}}}function Zr(e,t,n){const o={...e};return n.forEach(s=>{const i=t[s];i!=null&&(o[s]=i)}),o}function Yr({typography:e}){if(!e)return st;const t={...st};return Object.keys(e).forEach(n=>{const o=e[n];if(o&&typeof o=="object"){const s=st[n],i=["fontSize","fontWeight","fontFamily","lineHeight"];t[n]=Zr(s,o,i)}}),t}const{Provider:Jr,useContext:vt}=z("AIAgentTheme");function Xr({logger:e,palette:t,typography:n,appearance:o,children:s}){const[i,a]=c.useState(()=>Wt({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=c.useCallback((d,u)=>{const f=(o==null?void 0:o.theme)??d,h=u==null?void 0:u(f),b={primary:o==null?void 0:o.primaryColor,primaryContrast:void 0,botMessageBackground:o==null?void 0:o.botMessageBackgroundColor,botMessageBackgroundContrast:void 0};!b.primary&&(h!=null&&h.primaryColor)&&(b.primary=h.primaryColor,b.primaryContrast=h.primaryContrastColor),!b.botMessageBackground&&(h!=null&&h.botMessageBackgroundColor)&&(b.botMessageBackground=h.botMessageBackgroundColor,b.botMessageBackgroundContrast=h.botMessageBackgroundContrastColor);const C=Wt({selectedTheme:f,palette:t,typography:n,...b});a(C),e==null||e.info("theme.update:",f)},[o==null?void 0:o.theme,o==null?void 0:o.primaryColor,o==null?void 0:o.botMessageBackgroundColor,t,n,e]);return c.useEffect(()=>{(o!=null&&o.theme||o!=null&&o.primaryColor||o!=null&&o.botMessageBackgroundColor)&&l(i.selectedTheme)},[o==null?void 0:o.theme,o==null?void 0:o.primaryColor,o==null?void 0:o.botMessageBackgroundColor]),r.createElement(Jr,{value:{theme:i,updateTheme:l}},s)}function Qr(){const{chatSDK:e,logger:t}=se(),n=c.useCallback(async(s,i,a)=>{if(t.debug("useChatConnection.connect: start, session",s.userId),i){const l=new U.SessionHandler({...i,onSessionTokenRequired:eo(i.onSessionTokenRequired,a)});e.setSessionHandler(l)}await e.connect(s.userId,s.authToken),t.debug("useChatConnection.connect: end, currentUser",e.currentUser)},[e,t]),o=c.useCallback(async()=>{t.debug("useChatConnection.disconnect: start"),await e.disconnect(),t.debug("useChatConnection.disconnect: end")},[e,t]);return{connect:n,disconnect:o}}function eo(e,t){if(e)return async(n,o)=>{new Promise((s,i)=>e==null?void 0:e(s,i)).then(s=>{s&&(t==null||t(s)),n(s)}).catch(s=>{o(s)})}}class bn{constructor({userId:t,authToken:n,sessionHandler:o}){this.userId=t,this.authToken=n,this.sessionHandler=o}}class ft{}const to=24*60*60*1e3,no=e=>{const{logger:t,cache:n}=se(),o=()=>{const i=n.messenger.getAnonUser();return i?i.expireAt-to<=Date.now()?(t.debug("useUserSessionCandidate.getAnonymousSessionInfo: auto session expired, clear cache"),n.messenger.clear(i.userId),null):(t.debug("useUserSessionCandidate.getAnonymousSessionInfo: auto session info detected"),i):null},s=()=>{if(!e||e instanceof ft)throw new Error("userSessionInfo must be an instance of ManualSessionInfo");const i=["authToken","sessionHandler"].filter(a=>!(a in e));return i.length>0&&t.error(`useUserSessionCandidate.getManualSessionInfo: missing required keys in userSessionInfo: ${i.join(", ")}`),t.debug("useUserSessionCandidate.getManualSessionInfo: manual session info detected"),e};return c.useMemo(()=>e instanceof bn?s():e instanceof ft?o():e&&typeof e=="object"?(t.warn("Please use ManualSessionInfo instead of the old userSessionInfo format."),s()):e===void 0?(t.warn("Please use AnonymousSessionInfo instead of undefined userSessionInfo."),o()):null,[t,e==null?void 0:e.userId,e==null?void 0:e.authToken,e==null?void 0:e.sessionHandler,n.messenger.getAnonUser,n.messenger.clear])};function ro({userSessionInfo:e,onPreAuth:t,onPostAuth:n,onErrorAuth:o,onAuthTokenRefreshed:s,onPostDeauth:i,forceCreateChannel:a}){const{aiAgentId:l,chatSDK:d,language:u,context:f,countryCode:h,logger:b,cache:C}=se(),{connect:x,disconnect:E}=Qr(),g=no(e),v=c.useCallback(async()=>{var $;b.debug("useAuthentication.authenticate: start");const T=(g==null?void 0:g.userId)&&(($=C.messenger.getSettings(g.userId))==null?void 0:$.knownActiveChannelUrl),A=await d.aiAgent.requestMessengerSettings({aiAgentId:l,userId:g==null?void 0:g.userId,language:u,country:h,context:f,forceCreateChannel:a,knownActiveChannelUrl:T});b.debug("useAuthentication.authenticate: messenger settings response",A);let D=null;if(A.auto_created_user){const{user_id:H,session_token:Q,expire_at:_}=A.auto_created_user;C.messenger.setAnonUser({userId:H,authToken:Q,expireAt:_}),D={userId:H,authToken:Q}}else D={userId:(g==null?void 0:g.userId)??"",authToken:(g==null?void 0:g.authToken)??""};C.messenger.setSettings(D.userId,{knownActiveChannelUrl:A.active_channel.channel_url});try{await t(A,D),await x(D,g==null?void 0:g.sessionHandler,s),await n(A,D)}catch(H){H instanceof Error&&(o(H),b.error("useAuthentication.authenticate: failed to connect",H))}return A},[d,x,g==null?void 0:g.userId,g==null?void 0:g.sessionHandler,g==null?void 0:g.authToken,C.messenger.setAnonUser,C.messenger.getSettings,C.messenger.setSettings,t,n,o,s]),y=c.useCallback(async()=>{b.debug("useAuthentication.deauthenticate: start"),await E(),i(),b.debug("useAuthentication.deauthenticate: completed")},[E,b,i]);return{authenticate:v,deauthenticate:y,userSessionCandidate:g}}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)}},_e=e=>JSON.parse(e),qe=e=>JSON.parse(e);function oo(e,t){const[n,o]=t.split(",").map(s=>s.trim());return e==="dark"&&o||n}function so(e){const t={};function n(o,s=""){for(const[i,a]of Object.entries(o)){const l=s?`${s}.${i}`:i;a&&typeof a=="object"&&!Array.isArray(a)?n(a,l):t[l]=a}}return n(e),t}function yt({template:e,variables:t,variableKeyPattern:n,variableValueTransformer:o}){return Object.entries(t).reduce((s,[i,a])=>{if(!o&&!["number","boolean","string"].includes(typeof a))throw new Error(`If transformer is not provided, value(${i}:${a}) must be a {string, number, or boolean}`);const l=o?o(a):String(a),d=n(i);return s.replace(d,En(l))},e)}async function io({template:e,variables:t,variableKeyPattern:n,variableValueTransformer:o}){return(await Promise.all(Object.entries(t).map(async([i,a])=>{const l=await o(a);return{regex:n(i),transformedValue:l}}))).reduce((i,{regex:a,transformedValue:l})=>i.replace(a,En(l)),e)}const ao=()=>{const{chatSDK:e,logger:t,cache:n}=se(),o=c.useCallback(()=>{var l,d;const i=(d=(l=e.appInfo)==null?void 0:l.aiAgentInfo)==null?void 0:d.templateListToken;if(!i)return!1;const a=n.template.getCachedToken();return a?i!==a:!0},[e,n.template.getCachedToken]),s=c.useCallback(async()=>{try{const{templates:i,token:a}=await e.aiAgent.getMessageTemplates({limit:20});for(const{template:l}of i){const{key:d}=_e(l);n.template.set(d,l)}n.template.setCachedToken(a)}catch(i){t==null||t.error("messageTemplateContext.syncCachedTemplates: error:",i)}},[e,t,n.template.set,n.template.setCachedToken]);return{shouldSyncCachedTemplate:o,syncCachedTemplates:s}};var Fe=(e=>(e.OFF="off",e.ALWAYS="always",e.HANDED_OFF_ONLY="handed_off_only",e))(Fe||{});const lo={off:"off",always:"always",handed_off_only:"handed_off_only"},{Provider:co}=z("AIAgentMessengerSession"),uo=c.forwardRef(function({userSessionInfo:e,forceCreateChannel:t,children:n},o){const{appId:s,aiAgentId:i,chatSDK:a,language:l,countryCode:d,context:u,cache:f,logger:h}=se(),{updateTheme:b}=vt(),[C,x]=c.useState(void 0),[E,g]=c.useState(void 0),[v,y]=c.useState(null),[T,A]=c.useState(null),[D,$]=c.useState(null),[H,Q]=c.useState("handed_off_only"),{shouldSyncCachedTemplate:_,syncCachedTemplates:N}=ao(),{authenticate:ee,deauthenticate:j}=ro({userSessionInfo:e,forceCreateChannel:t,onPreAuth:c.useCallback((k,L)=>{const G=k.appearance.selected_theme;b(G,K=>{const me=k.appearance.themes[K];return{primaryColor:me.primary_color,botMessageBackgroundColor:me.bot_message_bg_color,primaryContrastColor:me.primary_contrast_color,botMessageBackgroundContrastColor:me.bot_message_bg_contrast_color}}),x(void 0),y(L),A({userId:k.bot.bot_userid,profileUrl:k.bot.bot_profile_url,nickname:k.bot.bot_nickname,replyToFile:k.bot.reply_to_file,specialNotice:k.bot.special_notice,specialNoticeEnabled:k.bot.is_special_notice_enabled,showHandoffButton:k.bot.show_handoff_button??!0}),$({type:k.launcher.image_type||"default_icon",imageUrl:k.launcher.image_url}),Q(lo[k.active_channel.attachment_mode]??"handed_off_only")},[]),onPostAuth:c.useCallback(async k=>{_()&&await N(),g({url:k.active_channel.channel_url,status:B.ConversationStatus.OPEN})},[_,N]),onErrorAuth:c.useCallback(k=>{x(k)},[]),onAuthTokenRefreshed:c.useCallback(k=>{y(L=>L?{...L,authToken:k}:null)},[]),onPostDeauth:c.useCallback(()=>{f.template.clear(),v!=null&&v.userId&&f.messenger.clear(v.userId),g(void 0),y(null),A(null),$(null)},[f.template.clear,v])}),tt=c.useCallback(async()=>{var k;if(v){h.debug("agentMessengerSession.refreshActiveChannel: try to refresh active channel"),g(void 0);const L=await a.aiAgent.requestMessengerSettings({aiAgentId:i,userId:v.userId,language:l,country:d,context:u,forceCreateChannel:t,knownActiveChannelUrl:(k=f.messenger.getSettings(v.userId))==null?void 0:k.knownActiveChannelUrl});return f.messenger.setSettings(v.userId,{knownActiveChannelUrl:L.active_channel.channel_url}),g({url:L.active_channel.channel_url,status:B.ConversationStatus.OPEN}),h.info("agentMessengerSession.refreshActiveChannel: refreshed active channel",L.active_channel.channel_url),L.active_channel.channel_url}else throw h.error("agentMessengerSession.refreshActiveChannel: userSession is not ready"),new Error("userSession is not ready")},[a,s,i,v==null?void 0:v.userId,l,d,u,t,f.messenger.getSettings,f.messenger.setSettings]),nt=c.useCallback(async k=>{if(!(v!=null&&v.userId))throw new Error("Current user is not authenticated. Please authenticate first.");const G=(await a.aiAgent.requestMessengerSettings({...k,userId:v.userId,knownActiveChannelUrl:void 0})).active_channel.channel_url;return f.messenger.setSettings(v.userId,{knownActiveChannelUrl:G}),G},[v==null?void 0:v.userId]);return fe.useGroupChannelHandler(a,{onChannelChanged:k=>{var L;k.isGroupChannel()&&k.url===(E==null?void 0:E.url)&&(h.info("agentMessengerSession.channelChanged: channel.conversation",k.conversation),g({url:k.url,status:((L=k.conversation)==null?void 0:L.status)??B.ConversationStatus.OPEN}))}}),c.useImperativeHandle(o,()=>{const k=async()=>{if(!E)throw new Error("No active conversation. Please start a conversation first.");return await a.groupChannel.getChannel(E.url)};return{activeChannel:E,chatSDK:a,authenticate:ee,deauthenticate:j,updateContext:async L=>{const K=await(await k()).updateContext(i,L);return{...K,context:K.context??{}}},patchContext:async L=>{const K=await(await k()).patchContext(i,L);return{...K,context:K.context??{}}},getContextObject:async()=>{const G=await(await k()).getContextObject(i);return{...G,context:G.context??{}}}}},[ee,j,E,a,i,h]),r.createElement(co,{value:{userSessionInfo:e,userSession:v,activeChannel:E,setActiveChannel:g,refreshActiveChannel:tt,createConversation:nt,connectionError:C,aiAgentInfo:T,launcherInfo:D,authenticate:ee,deauthenticate:j,attachmentMode:H}},n)});function mo(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:ho,useContext:xn}=z("MessageTemplateFetching");function go({children:e,internalVariables:t}){const n=c.useRef({}),o=c.useRef({}),[s,i]=c.useState({}),a=c.useCallback((u,f)=>{i(h=>({...h,[u]:{fetching:!1,error:!1,...h[u],...f}}))},[]),l=c.useCallback(async({onRequestTemplate:u,onGetCachedTemplate:f,templateKey:h,suspense:b=!1})=>{const C=f(h);if(C)return C;const x=o.current[h];if(x)return x;b||a(h,{fetching:!0});const E=u(h).catch(g=>{throw b||a(h,{error:!0}),g}).finally(()=>{b||a(h,{fetching:!1}),delete o.current[h]});return o.current[h]=E,E},[a]),d={internalVariables:t,fetchTemplate:l,suspend:(u,f)=>{if(n.current[u])return n.current[u];const h=mo(f());return n.current[u]=h,h},getIsFetching:u=>{var f;return((f=s[u])==null?void 0:f.fetching)??!1},getHasError:u=>{var f;return((f=s[u])==null?void 0:f.error)??!1}};return r.createElement(ho,{value:d},e)}const Ke={VARIABLE:e=>new RegExp(`\\{${e}\\}`,"g"),VIEW_VARIABLE:e=>new RegExp(`"{@${e}}"`,"g")};function re({uiTemplateString:e,variables:t={}}){const n=so(t);return yt({template:e,variables:n,variableKeyPattern:o=>Ke.VARIABLE(o)})}function oe({theme:e,uiTemplateString:t,colorVariables:n={}}){return yt({template:t,variables:n,variableKeyPattern:o=>Ke.VARIABLE(o),variableValueTransformer:o=>oo(e,o)})}function fo({theme:e,uiTemplateString:t,viewVariables:n={},aiAgentColorVariables:o,internalVariables:s,onRequestTemplate:i}){const l=Object.values(n).flat().map(u=>u.key);return[...new Set(l)].some(u=>!i(u))?null:yt({template:t,variables:n,variableKeyPattern:u=>Ke.VIEW_VARIABLE(u),variableValueTransformer:u=>{const f=u.map(({key:h,variables:b})=>{const C=i(h),{ui_template:x,color_variables:E}=_e(C);let g=JSON.stringify(x);return g=re({uiTemplateString:g,variables:s}),g=oe({theme:e,uiTemplateString:g,colorVariables:E}),g=oe({theme:e,uiTemplateString:g,colorVariables:o}),g=re({uiTemplateString:g,variables:b}),qe(g)});return JSON.stringify(f)}})}async function po({theme:e,uiTemplateString:t,viewVariables:n={},aiAgentColorVariables:o,internalVariables:s,onRequestTemplate:i}){return io({template:t,variables:n,variableKeyPattern:a=>Ke.VIEW_VARIABLE(a),variableValueTransformer:async a=>{const l=a.map(async({key:u,variables:f})=>{const h=await i(u),{ui_template:b,color_variables:C}=_e(h);let x=JSON.stringify(b);return x=re({uiTemplateString:x,variables:s}),x=oe({theme:e,uiTemplateString:x,colorVariables:C}),x=oe({theme:e,uiTemplateString:x,colorVariables:o}),x=re({uiTemplateString:x,variables:f}),qe(x)}),d=await Promise.all(l);return JSON.stringify(d)}})}const bo=({rawTemplate:e,aiAgentColorVariables:t,internalVariables:n,...o})=>{const{ui_template:s,color_variables:i}=_e(e);let a=JSON.stringify(s);if(Object.keys(o.viewVariables??{}).length>0){const d=fo({...o,uiTemplateString:a,aiAgentColorVariables:t,internalVariables:n});if(d===null)return null;a=d}return a=re({...o,uiTemplateString:a,variables:n}),a=oe({...o,uiTemplateString:a,colorVariables:i}),a=oe({...o,uiTemplateString:a,colorVariables:t}),a=re({...o,uiTemplateString:a}),qe(a)},Eo=async({rawTemplate:e,aiAgentColorVariables:t,internalVariables:n,...o})=>{const{ui_template:s,color_variables:i}=_e(e);let a=JSON.stringify(s);return Object.keys(o.viewVariables??{}).length>0&&(a=await po({...o,uiTemplateString:a,aiAgentColorVariables:t,internalVariables:n})),a=re({...o,uiTemplateString:a,variables:n}),a=oe({...o,uiTemplateString:a,colorVariables:i}),a=oe({...o,uiTemplateString:a,colorVariables:t}),a=re({...o,uiTemplateString:a}),qe(a)},xo=e=>{const{aiAgentColorVariables:t={}}=e,{internalVariables:n}=xn();return c.useState(()=>{const o=e.onGetCachedTemplate(e.templateKey);return o?bo({...e,rawTemplate:o,aiAgentColorVariables:t,internalVariables:n,onRequestTemplate:e.onGetCachedTemplate}):null})},Co=e=>{const[t]=xo(e);if(t)return t;const{aiAgentColorVariables:n={}}=e,{internalVariables:o,fetchTemplate:s,suspend:i}=xn();return i(e.templateKey,async()=>{const l=await s({...e,suspense:!0});return await Eo({...e,rawTemplate:l,aiAgentColorVariables:n,internalVariables:o})}).value},vo='@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}',Se="en",yo=new Set([Se,"ko","es","pt","fr","hi","it","de","tr","ja"]),_o=(e,t,n)=>{const o=e[t];return o?typeof o=="function"?o():Promise.resolve(o):new Promise((s,i)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(i.bind(null,new Error("Unknown variable dynamic import: "+t+(t.split("/").length!==n?". Note that variables only represent file names one level deep.":""))))})},So=mr.enUS,To={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",CITATION_SOURCE_TITLE:"Source"},_t={language:"en",dateLocale:So,stringSet:To},wo=Object.freeze(Object.defineProperty({__proto__:null,default:_t},Symbol.toStringTag,{value:"Module"})),Ue=new Map([[Se,_t]]);async function ko(e){if(Ue.has(e))return Ue.get(e);const t=yo.has(e)?e:Se;try{const{default:n}=await _o(Object.assign({"./languages/de.ts":()=>Promise.resolve().then(()=>require("./6xTfJrmg.cjs")),"./languages/en.ts":()=>Promise.resolve().then(()=>wo),"./languages/es.ts":()=>Promise.resolve().then(()=>require("./D5dT1ruo.cjs")),"./languages/fr.ts":()=>Promise.resolve().then(()=>require("./VJMogId3.cjs")),"./languages/hi.ts":()=>Promise.resolve().then(()=>require("./kTWMrzTz.cjs")),"./languages/it.ts":()=>Promise.resolve().then(()=>require("./DdQV23MS.cjs")),"./languages/ja.ts":()=>Promise.resolve().then(()=>require("./BIDOBNC3.cjs")),"./languages/ko.ts":()=>Promise.resolve().then(()=>require("./eFpF2Osy.cjs")),"./languages/pt.ts":()=>Promise.resolve().then(()=>require("./B4mujFdj.cjs")),"./languages/tr.ts":()=>Promise.resolve().then(()=>require("./BzMiZszH.cjs"))}),`./languages/${t}.ts`,3);return Ue.set(e,n),n}catch{return _t}}const{Provider:Ao,useContext:M}=z("Localization");function Io(e){var t;return((t=e.split("-"))==null?void 0:t[0])??Se}function $o({language:e=navigator.language,logger:t,stringSet:n,children:o}){const[s,i]=c.useState(Ue.get(Se));return c.useEffect(()=>{const a=Io(e);s.language!==a&&(t==null||t.debug("localization.useEffect: update language",`${s.language} -> ${a}`),ko(a).then(i))},[e]),r.createElement(Ao,{value:{language:s.language,stringSet:{...s.stringSet,...n},dateLocale:s.dateLocale,format:(a,l,d)=>ve.format(a,l,{locale:s.dateLocale,...d})}},o)}const Ve="data-sb-agent-theme",Gt=e=>(t,...n)=>{let o="";return t.forEach((s,i)=>{o+=s+(n[i]??"")}),`[${Ve}='${e}'] & { ${o} }`},R={light:Gt("light"),dark:Gt("dark")},Mo=S.css(({theme:e})=>{const{palette:t}=e;return`
|
|
2
2
|
:root,
|
|
3
3
|
:host {
|
|
4
4
|
--sendbird-primary-extra-dark: ${t.primary.extraDark};
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
${R.dark`
|
|
56
56
|
background-color: ${p.color.background400};
|
|
57
57
|
`}
|
|
58
|
-
`,ms=m.default.img`width:100%;height:100%;object-fit:cover;`,hs=m.default.video`width:100%;height:100%;object-fit:cover;`,gs="✱";function kn(e){const t=new RegExp(`${gs}+`,"g");return e.replace(t,n=>`<span id=${Jo} aria-label="masked-text">${n}</span>`)}function fs(e){return e.replace(/\*\*(.*?)\*\*/g,"<b>$1</b>")}function ps(e){const t=/```(\w+)?\n([\s\S]*?)```/g,n=[];let o=0;return e.replace(t,(s,...i)=>{const[a,l,d]=i;return o<d&&n.push({type:"text",value:e.slice(o,d).trim()}),n.push({type:"code",value:l.trim(),language:a?a.trim():"plaintext"}),o=d+s.length,s}),o<e.length&&n.push({type:"text",value:e.slice(o).trim()}),n.map(s=>s.type!=="text"?s:{...s,value:kn(s.value)})}const bs=c.lazy(async()=>({default:(await Promise.resolve().then(()=>require("./
|
|
58
|
+
`,ms=m.default.img`width:100%;height:100%;object-fit:cover;`,hs=m.default.video`width:100%;height:100%;object-fit:cover;`,gs="✱";function kn(e){const t=new RegExp(`${gs}+`,"g");return e.replace(t,n=>`<span id=${Jo} aria-label="masked-text">${n}</span>`)}function fs(e){return e.replace(/\*\*(.*?)\*\*/g,"<b>$1</b>")}function ps(e){const t=/```(\w+)?\n([\s\S]*?)```/g,n=[];let o=0;return e.replace(t,(s,...i)=>{const[a,l,d]=i;return o<d&&n.push({type:"text",value:e.slice(o,d).trim()}),n.push({type:"code",value:l.trim(),language:a?a.trim():"plaintext"}),o=d+s.length,s}),o<e.length&&n.push({type:"text",value:e.slice(o).trim()}),n.map(s=>s.type!=="text"?s:{...s,value:kn(s.value)})}const bs=c.lazy(async()=>({default:(await Promise.resolve().then(()=>require("./Qn-Vab7D.cjs"))).MarkdownText})),Es=c.lazy(async()=>({default:(await Promise.resolve().then(()=>require("./DlvEEpWX.cjs"))).CodeBlock}));function qt(e){var s,i;const t=e.maxBodyWidth??we,n=c.useMemo(()=>ps(e.message),[e.message]),o={id:`${X}-text-body`,$maxWidth:t,$color:(s=e.customStyle)==null?void 0:s.bubbleContentColor,$bgColor:(i=e.customStyle)==null?void 0:i.bubbleBackgroundColor};return n.length===0?e.children?r.createElement(Kt,{...o},e.children):null:r.createElement(Kt,{...o},n.map((a,l)=>a.type==="text"?r.createElement(Zt,{key:l,variant:"body3"},r.createElement(c.Suspense,{fallback:a.value},r.createElement(bs,{onClickImage:d=>{var u;return(u=e.onClickMedia)==null?void 0:u.call(e,{url:d,type:"image/*"})}},a.value))):a.type==="code"?r.createElement(c.Suspense,{key:l,fallback:r.createElement(Zt,{variant:"body3"},a.value)},r.createElement(Es,{code:a.value,language:a.language})):null),e.children)}const Kt=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})=>S.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
|
-
`,Pe=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;`,ia=m.default(Ge)`cursor:pointer;gap:4px;`,lt=m.default(Ge)`flex-direction:row;align-items:center;`,tn=m.default.div`display:flex;gap:4px;flex-direction:column;align-items:flex-start;`,Pn=c.createContext(null);function aa({testerType:e,children:t}){return r.createElement(Pn.Provider,{value:{testerType:e,isActionbookTester:e==="actionbook"}},e&&r.createElement(la,null),t)}const ke=()=>{const e=c.useContext(Pn);if(!e)throw new Error("_UNSAFE_INTERNAL_DashboardTesterProvider not found");return e},la=()=>{const{isActionbookTester:e}=ke();return r.createElement(de.Template,{template:e?ca:void 0},r.createElement(de.MessageLogs,{component:da}))},ca=e=>r.createElement(Mn,{...e,testerMode:!0,maxBodyWidth:Sn}),da=({extendedMessagePayload:e={}})=>{const{handlers:t}=O(),{manual:n,groundedness:o,function_calls:s,agent_message_templates:i,is_thinking:a}=e;return a||!n&&!(o!=null&&o.length)&&!(s!=null&&s.length)&&!(i!=null&&i.length)?r.createElement(r.Fragment,null):r.createElement(ua,null,r.createElement(ma,{width:4}),r.createElement(Rn,{actionbook:n,functionCalls:s,groundedness:o,agentMessageTemplates:i,onClickFunctionCallDetail:t==null?void 0:t.onFunctionCallDetailClick,style:{iconColor:p.themedColor.textHighEmphasis,textColor:p.themedColor.textHighEmphasis,barColor:p.themedColor.textDisabled},bottomContent:r.createElement(ha,{variant:"caption2",color:p.themedColor.textLowEmphasis},"Only visible in the tester")}))},ua=m.default.div`display:flex;gap:16px;margin:16px ${J}px 0;align-self:stretch;`,ma=m.default.div`width:${({width:e})=>e}px;background-color:${p.themedColor.textDisabled};border-radius:100px;flex-shrink:0;`,ha=m.default(w)`margin-top:5px;`;function ga(e){return"sendingStatus"in e?e.sendingStatus==="succeeded"?String(e.messageId):e.reqId:String(e.messageId)}const fa=(e,t,n,o=!0)=>{if(!o||!e.isUserMessage()&&!e.isFileMessage())return"single";const s=()=>{if(!t||!t.isUserMessage()&&!t.isFileMessage())return!1;const d=t.sender.userId===e.sender.userId,u=ve.isSameMinute(t.createdAt,e.createdAt);return d&&u},i=()=>{if(!n||!n.isUserMessage()&&!n.isFileMessage())return!1;const d=n.sender.userId===e.sender.userId,u=ve.isSameMinute(n.createdAt,e.createdAt);return d&&u},a=s(),l=i();return a&&l?"middle":a?"bottom":l?"top":"single"};function pa(e,t){return e.filter(n=>be.isWelcomeMessage(n,t))}function Dn(e,t){return ba(e)===t}function ba(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 Ea(e){return e.isAdminMessage()?e.message==="The channel's custom_type was updated.":!1}const bt=e=>!!e&&"sender"in e,Nn=e=>e.startsWith("image/"),Bn=e=>e.startsWith("video/"),nn=e=>Nn(e)||Bn(e),De={isAdmin:e=>e.isAdminMessage(),isCSAT:e=>{var t;return e.isAdminMessage()&&!!((t=e.extendedMessagePayload)!=null&&t.csat)},isIncoming:(e,t)=>bt(e)&&e.sender.userId!==t,isOutgoing:(e,t)=>bt(e)&&(e.sender.userId===t||e.sendingStatus===ze.SendingStatus.PENDING)},xa=e=>{const{chatSDK:t,handlers:n}=O(),{aiAgentInfo:o}=P(),s=c.useRef(new Set),i=(a,l)=>{var d;a.url===e&&bt(l)&&l.sender.userId===o.userId&&!be.isStreaming(l)&&!s.current.has(l.messageId)&&((d=n==null?void 0:n.onCustomEvent)==null||d.call(n,{type:"bot-message-received",data:{message:l}}),s.current.add(l.messageId))};fe.useGroupChannelHandler(t,{onMessageUpdated:i,onMessageReceived:i})},Ca=({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 va(e,t=[]){const n=c.useRef(null),o=c.useRef(0),s=c.useRef(0),[i]=c.useState(()=>Ca({publishSynchronous:!0})),[a,l]=c.useState(!0);return c.useLayoutEffect(()=>{o.current=0,s.current=0,l(!0),n.current&&(n.current.scrollTop=n.current.scrollHeight)},t),c.useLayoutEffect(()=>i.subscribe(({type:d,data:u})=>{const{resolve:f,animated:h}=u??{};if(!n.current)return f==null?void 0:f();if(d==="scrollToBottom"&&(n.current.scroll?n.current.scroll({top:n.current.scrollHeight,behavior:rn(e,h)}):n.current.scrollTop=n.current.scrollHeight,s.current=0,l(!0),f==null||f()),d==="scroll"){const b=u==null?void 0:u.top,{scrollTop:C,scrollHeight:x,clientHeight:E}=n.current;n.current.scroll?n.current.scroll({top:b,behavior:rn(e,h)}):typeof b=="number"&&(n.current.scrollTop=b),s.current=Math.max(0,x-C-E),l(s.current===0),f==null||f()}}),[e]),{scrollRef:n,scrollPubSub:i,isScrollBottomReached:a,setIsScrollBottomReached:l,scrollDistanceFromBottomRef:s,scrollPositionRef:o}}function rn(e,t){return typeof t=="boolean"?t?"smooth":"auto":e}function ya(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 _a(e){if("file"in e&&e.file instanceof File&&e.file.type.startsWith("image/")){const{width:t,height:n}=await ya(e.file);return new ze.MessageMetaArray({key:Fn,value:[t,n]})}}const Fn="KEY_IMG_ASPECT_RATIO",Sa=({onScrollAfterSendMessage:e})=>{const{agentPreviewConfigs:t,handlers:n}=O(),o=c.useRef(t==null?void 0:t.agentAttributes);return o.current=t==null?void 0:t.agentAttributes,{onBeforeSendMessage:async s=>{const i=await _a(s),a={...s,metaArrays:i?[i]:void 0},l=Ta(o.current);return l?{...a,data:JSON.stringify(l)}:a},onAfterSendMessage:s=>{var i,a,l;e(),(i=n==null?void 0:n.onMessageSend)==null||i.call(n,s.message),s.sendingStatus===ze.SendingStatus.SUCCEEDED?(a=n==null?void 0:n.onCustomEvent)==null||a.call(n,{type:"message-sent-succeeded",data:{message:s}}):s.sendingStatus===ze.SendingStatus.PENDING&&((l=n==null?void 0:n.onCustomEvent)==null||l.call(n,{type:"message-sent-pending",data:{message:s}}))}}},Ta=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:wa,Context:ka,useContext:W}=z("Conversation"),Un=({closedChannelUrl:e,onClearClosedChannelUrl:t,onNavigateToConversationList:n,children:o})=>{const{aiAgentInfo:s,activeChannel:i,refreshActiveChannel:a}=P(),{testerType:l}=ke(),d=va("smooth"),{onBeforeSendMessage:u,onAfterSendMessage:f}=Sa({onScrollAfterSendMessage:()=>{d.scrollPubSub.publish({type:"scrollToBottom",data:{animated:!1}})}}),h=e||(i==null?void 0:i.url);xa(h);const b=x=>{const E=x[x.length-1];E&&be.shouldScrollToBottom(E,s.userId,!!l)&&setTimeout(()=>d.scrollPubSub.publish({type:"scrollToBottom",data:{animated:!0}}),100)},C=c.useCallback(async()=>{await a(),e&&(t==null||t())},[a,e,t]);return r.createElement(Or,{channelUrl:h,onBeforeSendMessage:u,onAfterSendMessage:f,onMessagesUpdated:b,onMessagesReceived:b,onChannelDeleted:C,onConversationClosedViaDispatcher:C},x=>r.createElement(wa,{value:{...x,scrollSource:d,goToActiveConversation:C,onNavigateToConversationList:n}},o))},Ot=c.createContext({onDrop:ye,subscribe:()=>ye}),Et=({children:e})=>{const t=c.useRef(new Set);return r.createElement(Ot.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(i=>i(s))}},subscribe:n=>(t.current.add(n),()=>t.current.delete(n))}},e)},Aa=({onDropFiles:e})=>{const{subscribe:t}=c.useContext(Ot);c.useEffect(()=>t(e),[e])};Et.Consumer=({children:e})=>{const{onDrop:t}=c.useContext(Ot);return e({onDrop:t,onDragOver:s=>s.preventDefault()})};const Ia=({iconSize:e=64,icon:t,className:n,label:o,children:s})=>r.createElement(Ma,{className:n},r.createElement(I,{type:t,size:e,color:p.themedColor.textLowEmphasis}),r.createElement(w,{variant:"body1",color:p.themedColor.textMidEmphasis},o),s),$a=m.default.div`position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:100%;`,Ma=m.default.div`display:flex;flex-direction:column;min-height:104px;align-items:center;gap:20px;text-align:center;`,La={loading:c.lazy(()=>Promise.resolve().then(()=>require("./Cb__vcY_.cjs"))),error:c.lazy(()=>Promise.resolve().then(()=>require("./DyfwCarh.cjs"))),noChannels:c.lazy(()=>Promise.resolve().then(()=>require("./CrVpYSzZ.cjs"))),noMessages:c.lazy(()=>Promise.resolve().then(()=>require("./pxYCwAlg.cjs")))},ge=({className:e,type:t="loading",...n})=>{const o=La[t];return r.createElement($a,{className:e},r.createElement(c.Suspense,{fallback:null},r.createElement(o,{...n})))},Hn=({rootElementId:e,visible:t,onClose:n,children:o})=>{if(!t)return null;const{rootElement:s}=O(),i=ce(s),a=ce(s,!0);return pr.createPortal(r.createElement(Oa,{onClick:n},r.createElement(Ra,{onClick:l=>l.stopPropagation()},o)),i.getElementById(e)??i.getElementById(Y.MODAL_ROOT)??a.body)},Oa=m.default.div`position:fixed;top:0;left:0;width:100%;height:100%;background:${p.color.overlay.dark};display:flex;justify-content:center;align-items:center;z-index:${ue.MODAL};`,Ra=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:${ue.MODAL};`,Pa=m.default.div`flex-shrink:0;width:${({$size:e})=>V(e)};height:${({$size:e})=>V(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;}`,Da=m.default(At)`path{fill:${({theme:e})=>e.colors.base.primaryContrastContent};}`;function zn({size:e}){const{aiAgentInfo:t}=P();return t.profileUrl?r.createElement(It,{size:e,src:t.profileUrl}):r.createElement(Pa,{$size:e},r.createElement(Da,null))}const Na=m.default.div`width:100%;height:100%;position:fixed;top:0;left:0;outline:none;`,Ba=m.default.div`height:64px;min-height:64px;box-sizing:border-box;display:flex;justify-content:space-between;border-bottom:1px solid ${p.themedColor.textDisabled};background-color:${p.themedColor.bg_50_600};@media screen and (max-width:768px){position:relative;}`,Fa=m.default.div`box-sizing:border-box;display:flex;flex-direction:row;align-items:center;height:64px;padding:16px 20px;width:calc(100% - 128px);`,Ua=m.default.div`margin-inline-end:8px;`,Ha=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);}`,za=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;}`,Va=m.default.div`display:flex;width:160px;justify-content:flex-end;`,Wa=m.default.div`inset-inline-end:0;display:flex;flex-direction:row;`,Vn=m.default.div`width:64px;padding:21px;box-sizing:border-box;cursor:${e=>e.disabled?"not-allowed":"pointer"};`,Ga=m.default(Vn)`border-inline-start:1px solid ${p.themedColor.textDisabled};`,ja=m.default.div`width:100%;height:100%;display:flex;align-items:center;justify-content:center;`,qa=m.default.video`max-width:100%;max-height:100%;user-select:none;-webkit-user-drag:none;`,Ka=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;`,Ya=({file:e,sender:t={},onClose:n,onDownloadClick:o})=>{const{type:s,url:i,name:a=""}=e,{profileUrl:l,nickname:d,userId:u}=t,{aiAgentInfo:f}=P();return r.createElement(Xa,{profileUrl:l??"",nickname:d??"",type:s,url:i,name:a,onClose:n,isBotMessage:u===f.userId,onDownloadClick:o})},Ja=({profileUrl:e,isBotMessage:t})=>!e&&t?r.createElement(zn,{size:32}):r.createElement(It,{size:32,src:e}),Xa=({profileUrl:e,isBotMessage:t,nickname:n,name:o,type:s,url:i,onClose:a,onDownloadClick:l})=>{const{stringSet:d}=M();return r.createElement(Hn,{onClose:a,visible:!0,rootElementId:Y.MODAL_ROOT},r.createElement(Na,null,r.createElement(Ba,null,r.createElement(Fa,null,r.createElement(Ua,null,r.createElement(Ja,{profileUrl:e,isBotMessage:t})),r.createElement(Ha,null,r.createElement(w,{variant:"h2",color:p.themedColor.textHighEmphasis},o)),r.createElement(za,null,r.createElement(w,{variant:"body1",color:p.color.ondark.textMidEmphasis},n))),r.createElement(Va,null,nn(s)&&r.createElement(Wa,null,r.createElement(Vn,{as:"a",href:i,target:"_blank",rel:Ze,onClick:l},r.createElement(I,{type:"download",color:p.themedColor.textHighEmphasis,size:24}))),r.createElement(Ga,{onClick:a},r.createElement(I,{type:"close",color:p.themedColor.textHighEmphasis,size:24})))),r.createElement(ja,{onClick:u=>u.currentTarget===u.target&&a()},Bn(s)&&r.createElement(qa,{controls:!0},r.createElement("source",{src:i,type:s})),Nn(s)&&r.createElement(Ka,{src:i,alt:o}),!nn(s)&&r.createElement(Za,null,r.createElement(w,{variant:"h1",color:p.themedColor.textHighEmphasis},d.FILE_VIEWER__UNSUPPORT)))))},Wn=({className:e,locale:t,date:n=Date.now(),formatString:o="MMMM dd, yyyy",style:s})=>r.createElement(Qa,{id:`${Z}-date-separator`,style:s,className:e},r.createElement(w,{variant:"caption4",color:p.themedColor.textMidEmphasis},ve.format(n,o,{locale:t}))),Qa=m.default.div`display:flex;justify-content:center;align-items:center;`,el=c.forwardRef(function(t,n){const{messages:o,renderMessage:s,messageTopArea:i,messageBottomArea:a,overlayArea:l,onLoadPrev:d,onLoadNext:u,loadThreshold:f=.05,onScrollPosition:h=ye,depsForResetScrollPositionToBottom:b,scrollPositionRef:C,scrollDistanceFromBottomRef:x,stackDirection:E="top"}=t,g=n&&"current"in n?n:{current:null},v=c.useRef(!1),y=c.useRef(void 0),T=c.useRef(0),A=c.useRef(0),D=c.useRef(0),$=C??A,U=x??D;c.useLayoutEffect(()=>{g.current&&(g.current.scrollTop=g.current.scrollHeight)},b),c.useLayoutEffect(()=>{g.current&&(y.current==="top"&&(g.current.scrollTop=g.current.scrollHeight-$.current),y.current==="bottom"&&(g.current.scrollTop=T.current),y.current=void 0)},[g.current,o.length]);const Q=async()=>{if(!g.current)return;const _=g.current;if(h(tl(_)),$.current=_.scrollHeight-_.scrollTop,U.current=$.current-_.clientHeight,T.current=_.scrollTop,v.current)return;const N=_.clientHeight*Math.min(Math.max(0,f),1);_.scrollTop<=N?(v.current=!0,y.current="top",await d(),v.current=!1):_.scrollHeight-_.scrollTop-_.clientHeight<=N?(v.current=!0,y.current="bottom",await u(),v.current=!1):y.current=void 0};return r.createElement(nl,{id:"infinite-list-container"},r.createElement(rl,{id:"infinite-list-inner",ref:g,onScroll:Q},E==="bottom"&&r.createElement("div",{style:{flexGrow:1}}),i,o.map((_,N)=>s({message:_,index:N})),a),r.createElement(ol,{id:"infinite-list-overlay-container"},r.createElement(sl,{id:"infinite-list-overlay"},l)))}),on=50;function tl(e){return e.scrollTop<=on?"top":e.scrollHeight-(e.scrollTop+e.clientHeight)<=on?"bottom":"middle"}const nl=m.default.div`display:flex;position:relative;flex:1;overflow:hidden;`,rl=m.default.div`display:flex;flex:1;flex-direction:column;overflow-y:auto;scrollbar-color:${p.themedColor.textLowEmphasis}transparent;&::-webkit-scrollbar-thumb:hover{background-color:transparent;}`,ol=m.default.div`position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;`,sl=m.default.div`pointer-events:auto;`,il=({className:e,onClick:t})=>r.createElement(al,{className:e,onClick:t,tabIndex:0},r.createElement(I,{size:24,type:"chevron-down",color:p.color.primary.main})),al=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);${R.light`
|
|
123
|
+
`,Pe=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;`,ia=m.default(Ge)`cursor:pointer;gap:4px;`,lt=m.default(Ge)`flex-direction:row;align-items:center;`,tn=m.default.div`display:flex;gap:4px;flex-direction:column;align-items:flex-start;`,Pn=c.createContext(null);function aa({testerType:e,children:t}){return r.createElement(Pn.Provider,{value:{testerType:e,isActionbookTester:e==="actionbook"}},e&&r.createElement(la,null),t)}const ke=()=>{const e=c.useContext(Pn);if(!e)throw new Error("_UNSAFE_INTERNAL_DashboardTesterProvider not found");return e},la=()=>{const{isActionbookTester:e}=ke();return r.createElement(de.Template,{template:e?ca:void 0},r.createElement(de.MessageLogs,{component:da}))},ca=e=>r.createElement(Mn,{...e,testerMode:!0,maxBodyWidth:Sn}),da=({extendedMessagePayload:e={}})=>{const{handlers:t}=O(),{manual:n,groundedness:o,function_calls:s,agent_message_templates:i,is_thinking:a}=e;return a||!n&&!(o!=null&&o.length)&&!(s!=null&&s.length)&&!(i!=null&&i.length)?r.createElement(r.Fragment,null):r.createElement(ua,null,r.createElement(ma,{width:4}),r.createElement(Rn,{actionbook:n,functionCalls:s,groundedness:o,agentMessageTemplates:i,onClickFunctionCallDetail:t==null?void 0:t.onFunctionCallDetailClick,style:{iconColor:p.themedColor.textHighEmphasis,textColor:p.themedColor.textHighEmphasis,barColor:p.themedColor.textDisabled},bottomContent:r.createElement(ha,{variant:"caption2",color:p.themedColor.textLowEmphasis},"Only visible in the tester")}))},ua=m.default.div`display:flex;gap:16px;margin:16px ${J}px 0;align-self:stretch;`,ma=m.default.div`width:${({width:e})=>e}px;background-color:${p.themedColor.textDisabled};border-radius:100px;flex-shrink:0;`,ha=m.default(w)`margin-top:5px;`;function ga(e){return"sendingStatus"in e?e.sendingStatus==="succeeded"?String(e.messageId):e.reqId:String(e.messageId)}const fa=(e,t,n,o=!0)=>{if(!o||!e.isUserMessage()&&!e.isFileMessage())return"single";const s=()=>{if(!t||!t.isUserMessage()&&!t.isFileMessage())return!1;const d=t.sender.userId===e.sender.userId,u=ve.isSameMinute(t.createdAt,e.createdAt);return d&&u},i=()=>{if(!n||!n.isUserMessage()&&!n.isFileMessage())return!1;const d=n.sender.userId===e.sender.userId,u=ve.isSameMinute(n.createdAt,e.createdAt);return d&&u},a=s(),l=i();return a&&l?"middle":a?"bottom":l?"top":"single"};function pa(e,t){return e.filter(n=>be.isWelcomeMessage(n,t))}function Dn(e,t){return ba(e)===t}function ba(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 Ea(e){return e.isAdminMessage()?e.message==="The channel's custom_type was updated.":!1}const bt=e=>!!e&&"sender"in e,Nn=e=>e.startsWith("image/"),Bn=e=>e.startsWith("video/"),nn=e=>Nn(e)||Bn(e),De={isAdmin:e=>e.isAdminMessage(),isCSAT:e=>{var t;return e.isAdminMessage()&&!!((t=e.extendedMessagePayload)!=null&&t.csat)},isIncoming:(e,t)=>bt(e)&&e.sender.userId!==t,isOutgoing:(e,t)=>bt(e)&&(e.sender.userId===t||e.sendingStatus===ze.SendingStatus.PENDING)},xa=e=>{const{chatSDK:t,handlers:n}=O(),{aiAgentInfo:o}=P(),s=c.useRef(new Set),i=(a,l)=>{var d;a.url===e&&bt(l)&&l.sender.userId===o.userId&&!be.isStreaming(l)&&!s.current.has(l.messageId)&&((d=n==null?void 0:n.onCustomEvent)==null||d.call(n,{type:"bot-message-received",data:{message:l}}),s.current.add(l.messageId))};fe.useGroupChannelHandler(t,{onMessageUpdated:i,onMessageReceived:i})},Ca=({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 va(e,t=[]){const n=c.useRef(null),o=c.useRef(0),s=c.useRef(0),[i]=c.useState(()=>Ca({publishSynchronous:!0})),[a,l]=c.useState(!0);return c.useLayoutEffect(()=>{o.current=0,s.current=0,l(!0),n.current&&(n.current.scrollTop=n.current.scrollHeight)},t),c.useLayoutEffect(()=>i.subscribe(({type:d,data:u})=>{const{resolve:f,animated:h}=u??{};if(!n.current)return f==null?void 0:f();if(d==="scrollToBottom"&&(n.current.scroll?n.current.scroll({top:n.current.scrollHeight,behavior:rn(e,h)}):n.current.scrollTop=n.current.scrollHeight,s.current=0,l(!0),f==null||f()),d==="scroll"){const b=u==null?void 0:u.top,{scrollTop:C,scrollHeight:x,clientHeight:E}=n.current;n.current.scroll?n.current.scroll({top:b,behavior:rn(e,h)}):typeof b=="number"&&(n.current.scrollTop=b),s.current=Math.max(0,x-C-E),l(s.current===0),f==null||f()}}),[e]),{scrollRef:n,scrollPubSub:i,isScrollBottomReached:a,setIsScrollBottomReached:l,scrollDistanceFromBottomRef:s,scrollPositionRef:o}}function rn(e,t){return typeof t=="boolean"?t?"smooth":"auto":e}function ya(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 _a(e){if("file"in e&&e.file instanceof File&&e.file.type.startsWith("image/")){const{width:t,height:n}=await ya(e.file);return new ze.MessageMetaArray({key:Fn,value:[t,n]})}}const Fn="KEY_IMG_ASPECT_RATIO",Sa=({onScrollAfterSendMessage:e})=>{const{agentPreviewConfigs:t,handlers:n}=O(),o=c.useRef(t==null?void 0:t.agentAttributes);return o.current=t==null?void 0:t.agentAttributes,{onBeforeSendMessage:async s=>{const i=await _a(s),a={...s,metaArrays:i?[i]:void 0},l=Ta(o.current);return l?{...a,data:JSON.stringify(l)}:a},onAfterSendMessage:s=>{var i,a,l;e(),(i=n==null?void 0:n.onMessageSend)==null||i.call(n,s.message),s.sendingStatus===ze.SendingStatus.SUCCEEDED?(a=n==null?void 0:n.onCustomEvent)==null||a.call(n,{type:"message-sent-succeeded",data:{message:s}}):s.sendingStatus===ze.SendingStatus.PENDING&&((l=n==null?void 0:n.onCustomEvent)==null||l.call(n,{type:"message-sent-pending",data:{message:s}}))}}},Ta=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:wa,Context:ka,useContext:W}=z("Conversation"),Un=({closedChannelUrl:e,onClearClosedChannelUrl:t,onNavigateToConversationList:n,children:o})=>{const{aiAgentInfo:s,activeChannel:i,refreshActiveChannel:a}=P(),{testerType:l}=ke(),d=va("smooth"),{onBeforeSendMessage:u,onAfterSendMessage:f}=Sa({onScrollAfterSendMessage:()=>{d.scrollPubSub.publish({type:"scrollToBottom",data:{animated:!1}})}}),h=e||(i==null?void 0:i.url);xa(h);const b=x=>{const E=x[x.length-1];E&&be.shouldScrollToBottom(E,s.userId,!!l)&&setTimeout(()=>d.scrollPubSub.publish({type:"scrollToBottom",data:{animated:!0}}),100)},C=c.useCallback(async()=>{await a(),e&&(t==null||t())},[a,e,t]);return r.createElement(Or,{channelUrl:h,onBeforeSendMessage:u,onAfterSendMessage:f,onMessagesUpdated:b,onMessagesReceived:b,onChannelDeleted:C,onConversationClosedViaDispatcher:C},x=>r.createElement(wa,{value:{...x,scrollSource:d,goToActiveConversation:C,onNavigateToConversationList:n}},o))},Ot=c.createContext({onDrop:ye,subscribe:()=>ye}),Et=({children:e})=>{const t=c.useRef(new Set);return r.createElement(Ot.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(i=>i(s))}},subscribe:n=>(t.current.add(n),()=>t.current.delete(n))}},e)},Aa=({onDropFiles:e})=>{const{subscribe:t}=c.useContext(Ot);c.useEffect(()=>t(e),[e])};Et.Consumer=({children:e})=>{const{onDrop:t}=c.useContext(Ot);return e({onDrop:t,onDragOver:s=>s.preventDefault()})};const Ia=({iconSize:e=64,icon:t,className:n,label:o,children:s})=>r.createElement(Ma,{className:n},r.createElement(I,{type:t,size:e,color:p.themedColor.textLowEmphasis}),r.createElement(w,{variant:"body1",color:p.themedColor.textMidEmphasis},o),s),$a=m.default.div`position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:100%;`,Ma=m.default.div`display:flex;flex-direction:column;min-height:104px;align-items:center;gap:20px;text-align:center;`,La={loading:c.lazy(()=>Promise.resolve().then(()=>require("./D7p9IHLh.cjs"))),error:c.lazy(()=>Promise.resolve().then(()=>require("./udFozCQd.cjs"))),noChannels:c.lazy(()=>Promise.resolve().then(()=>require("./CuE-R-Ab.cjs"))),noMessages:c.lazy(()=>Promise.resolve().then(()=>require("./D0K6vsP-.cjs")))},ge=({className:e,type:t="loading",...n})=>{const o=La[t];return r.createElement($a,{className:e},r.createElement(c.Suspense,{fallback:null},r.createElement(o,{...n})))},Hn=({rootElementId:e,visible:t,onClose:n,children:o})=>{if(!t)return null;const{rootElement:s}=O(),i=ce(s),a=ce(s,!0);return pr.createPortal(r.createElement(Oa,{onClick:n},r.createElement(Ra,{onClick:l=>l.stopPropagation()},o)),i.getElementById(e)??i.getElementById(Y.MODAL_ROOT)??a.body)},Oa=m.default.div`position:fixed;top:0;left:0;width:100%;height:100%;background:${p.color.overlay.dark};display:flex;justify-content:center;align-items:center;z-index:${ue.MODAL};`,Ra=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:${ue.MODAL};`,Pa=m.default.div`flex-shrink:0;width:${({$size:e})=>V(e)};height:${({$size:e})=>V(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;}`,Da=m.default(At)`path{fill:${({theme:e})=>e.colors.base.primaryContrastContent};}`;function zn({size:e}){const{aiAgentInfo:t}=P();return t.profileUrl?r.createElement(It,{size:e,src:t.profileUrl}):r.createElement(Pa,{$size:e},r.createElement(Da,null))}const Na=m.default.div`width:100%;height:100%;position:fixed;top:0;left:0;outline:none;`,Ba=m.default.div`height:64px;min-height:64px;box-sizing:border-box;display:flex;justify-content:space-between;border-bottom:1px solid ${p.themedColor.textDisabled};background-color:${p.themedColor.bg_50_600};@media screen and (max-width:768px){position:relative;}`,Fa=m.default.div`box-sizing:border-box;display:flex;flex-direction:row;align-items:center;height:64px;padding:16px 20px;width:calc(100% - 128px);`,Ua=m.default.div`margin-inline-end:8px;`,Ha=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);}`,za=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;}`,Va=m.default.div`display:flex;width:160px;justify-content:flex-end;`,Wa=m.default.div`inset-inline-end:0;display:flex;flex-direction:row;`,Vn=m.default.div`width:64px;padding:21px;box-sizing:border-box;cursor:${e=>e.disabled?"not-allowed":"pointer"};`,Ga=m.default(Vn)`border-inline-start:1px solid ${p.themedColor.textDisabled};`,ja=m.default.div`width:100%;height:100%;display:flex;align-items:center;justify-content:center;`,qa=m.default.video`max-width:100%;max-height:100%;user-select:none;-webkit-user-drag:none;`,Ka=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;`,Ya=({file:e,sender:t={},onClose:n,onDownloadClick:o})=>{const{type:s,url:i,name:a=""}=e,{profileUrl:l,nickname:d,userId:u}=t,{aiAgentInfo:f}=P();return r.createElement(Xa,{profileUrl:l??"",nickname:d??"",type:s,url:i,name:a,onClose:n,isBotMessage:u===f.userId,onDownloadClick:o})},Ja=({profileUrl:e,isBotMessage:t})=>!e&&t?r.createElement(zn,{size:32}):r.createElement(It,{size:32,src:e}),Xa=({profileUrl:e,isBotMessage:t,nickname:n,name:o,type:s,url:i,onClose:a,onDownloadClick:l})=>{const{stringSet:d}=M();return r.createElement(Hn,{onClose:a,visible:!0,rootElementId:Y.MODAL_ROOT},r.createElement(Na,null,r.createElement(Ba,null,r.createElement(Fa,null,r.createElement(Ua,null,r.createElement(Ja,{profileUrl:e,isBotMessage:t})),r.createElement(Ha,null,r.createElement(w,{variant:"h2",color:p.themedColor.textHighEmphasis},o)),r.createElement(za,null,r.createElement(w,{variant:"body1",color:p.color.ondark.textMidEmphasis},n))),r.createElement(Va,null,nn(s)&&r.createElement(Wa,null,r.createElement(Vn,{as:"a",href:i,target:"_blank",rel:Ze,onClick:l},r.createElement(I,{type:"download",color:p.themedColor.textHighEmphasis,size:24}))),r.createElement(Ga,{onClick:a},r.createElement(I,{type:"close",color:p.themedColor.textHighEmphasis,size:24})))),r.createElement(ja,{onClick:u=>u.currentTarget===u.target&&a()},Bn(s)&&r.createElement(qa,{controls:!0},r.createElement("source",{src:i,type:s})),Nn(s)&&r.createElement(Ka,{src:i,alt:o}),!nn(s)&&r.createElement(Za,null,r.createElement(w,{variant:"h1",color:p.themedColor.textHighEmphasis},d.FILE_VIEWER__UNSUPPORT)))))},Wn=({className:e,locale:t,date:n=Date.now(),formatString:o="MMMM dd, yyyy",style:s})=>r.createElement(Qa,{id:`${Z}-date-separator`,style:s,className:e},r.createElement(w,{variant:"caption4",color:p.themedColor.textMidEmphasis},ve.format(n,o,{locale:t}))),Qa=m.default.div`display:flex;justify-content:center;align-items:center;`,el=c.forwardRef(function(t,n){const{messages:o,renderMessage:s,messageTopArea:i,messageBottomArea:a,overlayArea:l,onLoadPrev:d,onLoadNext:u,loadThreshold:f=.05,onScrollPosition:h=ye,depsForResetScrollPositionToBottom:b,scrollPositionRef:C,scrollDistanceFromBottomRef:x,stackDirection:E="top"}=t,g=n&&"current"in n?n:{current:null},v=c.useRef(!1),y=c.useRef(void 0),T=c.useRef(0),A=c.useRef(0),D=c.useRef(0),$=C??A,H=x??D;c.useLayoutEffect(()=>{g.current&&(g.current.scrollTop=g.current.scrollHeight)},b),c.useLayoutEffect(()=>{g.current&&(y.current==="top"&&(g.current.scrollTop=g.current.scrollHeight-$.current),y.current==="bottom"&&(g.current.scrollTop=T.current),y.current=void 0)},[g.current,o.length]);const Q=async()=>{if(!g.current)return;const _=g.current;if(h(tl(_)),$.current=_.scrollHeight-_.scrollTop,H.current=$.current-_.clientHeight,T.current=_.scrollTop,v.current)return;const N=_.clientHeight*Math.min(Math.max(0,f),1);_.scrollTop<=N?(v.current=!0,y.current="top",await d(),v.current=!1):_.scrollHeight-_.scrollTop-_.clientHeight<=N?(v.current=!0,y.current="bottom",await u(),v.current=!1):y.current=void 0};return r.createElement(nl,{id:"infinite-list-container"},r.createElement(rl,{id:"infinite-list-inner",ref:g,onScroll:Q},E==="bottom"&&r.createElement("div",{style:{flexGrow:1}}),i,o.map((_,N)=>s({message:_,index:N})),a),r.createElement(ol,{id:"infinite-list-overlay-container"},r.createElement(sl,{id:"infinite-list-overlay"},l)))}),on=50;function tl(e){return e.scrollTop<=on?"top":e.scrollHeight-(e.scrollTop+e.clientHeight)<=on?"bottom":"middle"}const nl=m.default.div`display:flex;position:relative;flex:1;overflow:hidden;`,rl=m.default.div`display:flex;flex:1;flex-direction:column;overflow-y:auto;scrollbar-color:${p.themedColor.textLowEmphasis}transparent;&::-webkit-scrollbar-thumb:hover{background-color:transparent;}`,ol=m.default.div`position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;`,sl=m.default.div`pointer-events:auto;`,il=({className:e,onClick:t})=>r.createElement(al,{className:e,onClick:t,tabIndex:0},r.createElement(I,{size:24,type:"chevron-down",color:p.color.primary.main})),al=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);${R.light`
|
|
124
124
|
background-color: ${p.color.background50};
|
|
125
125
|
&:hover {
|
|
126
126
|
background-color: ${p.color.background100};
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
color: ${p.themedColor.textLowEmphasis};
|
|
147
147
|
cursor: pointer;
|
|
148
148
|
text-decoration: none;
|
|
149
|
-
`,gl=()=>{var d;const{stringSet:e}=M(),{activeChannel:t}=P(),{channelSource:n,goToActiveConversation:o,scrollSource:s}=W(),i=An(n.channel),l=t&&((d=n.channel)==null?void 0:d.url)===(t==null?void 0:t.url)&&i;return c.useLayoutEffect(()=>{l&&s.scrollPubSub.publish({type:"scrollToBottom",data:{animated:!0}})},[l]),l?r.createElement(fl,null,r.createElement(pl,{variant:"button",role:"button",color:p.themedColor.textHighEmphasis,onClick:()=>o()},e.START_NEW_CONVERSATION)):null},fl=m.default.div`display:flex;justify-content:center;margin:16px 0;`,pl=m.default(w)`border-radius:6px;box-sizing:border-box;padding:10px 20px;border:1px solid ${p.themedColor.textDisabled};cursor:pointer;user-select:none;`,bl=!0,El=()=>{const{Template:e}=Je.useContext(),{Template:t}=de.useContext(),{Template:n}=Xe.useContext(),[o,s]=c.useState(null),{userSession:i,aiAgentInfo:a}=P(),{cache:l,agentPreviewConfigs:d,chatSDK:u,state:f}=O(),{stringSet:h,dateLocale:b}=M(),{conversation:C,channelSource:x,messageSource:E,scrollSource:g}=W(),{isActionbookTester:v}=ke(),{filteredMessages:y,shouldShowOriginalDate:T,renderAgentPreviewWelcomeMessages:A}=ll(),D=Gn(),$=Mt(()=>{const _=D[0];if(!_)return null;const N=_.userId===a.userId;return{user:N?a:_,isBot:N}});c.useEffect(()=>{$&&g.scrollPubSub.publish({type:"scrollToBottom",data:{animated:!0}})},[!!$,g.scrollPubSub.publish]);const
|
|
149
|
+
`,gl=()=>{var d;const{stringSet:e}=M(),{activeChannel:t}=P(),{channelSource:n,goToActiveConversation:o,scrollSource:s}=W(),i=An(n.channel),l=t&&((d=n.channel)==null?void 0:d.url)===(t==null?void 0:t.url)&&i;return c.useLayoutEffect(()=>{l&&s.scrollPubSub.publish({type:"scrollToBottom",data:{animated:!0}})},[l]),l?r.createElement(fl,null,r.createElement(pl,{variant:"button",role:"button",color:p.themedColor.textHighEmphasis,onClick:()=>o()},e.START_NEW_CONVERSATION)):null},fl=m.default.div`display:flex;justify-content:center;margin:16px 0;`,pl=m.default(w)`border-radius:6px;box-sizing:border-box;padding:10px 20px;border:1px solid ${p.themedColor.textDisabled};cursor:pointer;user-select:none;`,bl=!0,El=()=>{const{Template:e}=Je.useContext(),{Template:t}=de.useContext(),{Template:n}=Xe.useContext(),[o,s]=c.useState(null),{userSession:i,aiAgentInfo:a}=P(),{cache:l,agentPreviewConfigs:d,chatSDK:u,state:f}=O(),{stringSet:h,dateLocale:b}=M(),{conversation:C,channelSource:x,messageSource:E,scrollSource:g}=W(),{isActionbookTester:v}=ke(),{filteredMessages:y,shouldShowOriginalDate:T,renderAgentPreviewWelcomeMessages:A}=ll(),D=Gn(),$=Mt(()=>{const _=D[0];if(!_)return null;const N=_.userId===a.userId;return{user:N?a:_,isBot:N}});c.useEffect(()=>{$&&g.scrollPubSub.publish({type:"scrollToBottom",data:{animated:!0}})},[!!$,g.scrollPubSub.publish]);const H=(_,N=!1)=>{var ee;return N?a:((ee=x.channel)==null?void 0:ee.members.find(j=>j.userId===_.sender.userId))??_.sender},Q=()=>{if(!E.initialized)return r.createElement(ge,{type:"loading"});if(E.messages.length===0){const _=A();return _?r.createElement("div",{style:{width:"100%"}},_):r.createElement(ge,{type:"noMessages",label:h.PLACE_HOLDER__NO_MESSAGES})}return r.createElement(el,{ref:g.scrollRef,scrollPositionRef:g.scrollPositionRef,scrollDistanceFromBottomRef:g.scrollDistanceFromBottomRef,onScrollPosition:_=>g.setIsScrollBottomReached(_==="bottom"),stackDirection:d==null?void 0:d.messageStackDirection,messages:y,onLoadPrev:E.loadPrevious,onLoadNext:E.loadNext,depsForResetScrollPositionToBottom:[E.initialized,E.messages.length!==0],messageTopArea:r.createElement(r.Fragment,null,r.createElement(ul,{style:{marginTop:16}}),A()),messageBottomArea:r.createElement(r.Fragment,null,$&&r.createElement(t,{isTyping:!0,isBotMessage:$.isBot,sender:$.user,messageType:"user",groupType:"single",message:""}),r.createElement(gl,null)),overlayArea:r.createElement(r.Fragment,null,!g.isScrollBottomReached&&r.createElement(Cl,{onClick:()=>g.scrollPubSub.publish({type:"scrollToBottom"})})),renderMessage:({message:_,index:N})=>{const ee=ga(_),j=y[N-1],tt=y[N+1],nt=y[y.length-1],k=_===nt,L=fa(_,j,tt,bl),G=!fr.isSameDay((j==null?void 0:j.createdAt)??0,_.createdAt)&&T(N)&&!v,K=$e=>{(_.isFileMessage()||_.isUserMessage())&&s({file:$e,sender:H(_,_.sender.userId===a.userId)})},me=()=>{_.isFileMessage()&&$t(_.url)},dr=G?r.createElement(Wn,{style:{margin:"16px 0"},date:_.createdAt,locale:b,formatString:h.DATE_FORMAT__MESSAGE_LIST__DATE_SEPARATOR}):null,Ie={maxBodyWidth:f.expanded?Sn:void 0,extendedMessagePayload:_.extendedMessagePayload,createdAt:_.createdAt,groupType:L,onClickMedia:K,onClickFile:me},ur=(()=>{var $e,Ft;if(De.isAdmin(_))return De.isCSAT(_)?C?r.createElement(n,{...Ie,...C,isResolvedWhenDeterminedByUser:vl(C),messageType:"admin.csat",onSubmitCSAT:({csat:te,csatType:ie,csatReason:F,isResolved:ne})=>{var ae;te&&((ae=x.channel)==null||ae.submitCSAT({csat:te,csatType:ie,csatReason:F,isResolved:ne}))}}):null:r.createElement(n,{...Ie,messageType:"admin",message:_.message});if(De.isOutgoing(_,i.userId)){const te={...Ie,message:_.message,sender:H(_),sendingStatus:_.sendingStatus};if(_.isUserMessage())return r.createElement(e,{messageType:"user",...te});if(_.isFileMessage()){const[ie,F]=(($e=_.metaArrays.find(ne=>ne.key===Fn))==null?void 0:$e.value)??[];return r.createElement(e,{messageType:"file",file:_,metadata:{aspectRatio:ie&&F?`${ie}/${F}`:"1/1",localFile:(Ft=_.messageParams)==null?void 0:Ft.file},...te})}}if(De.isIncoming(_,i.userId)){const te=_.sender.userId===a.userId,ie={...Ie,sender:H(_,te),message:_.message,suggestedRepliesVisible:k,suggestedRepliesDirection:d==null?void 0:d.suggestedRepliesDirection,isBotMessage:te,isStreaming:be.isStreaming(_),onClickSuggestedReply:async({reply:F})=>{E.sendUserMessage({message:F})},onRequestMessageTemplate:async F=>{const{template:ne}=await u.aiAgent.getMessageTemplate(F);return l.template.set(F,ne),ne},onGetCachedMessageTemplate:F=>l.template.get(F),onHandleTemplateInternalAction:F=>{if(F.type==="internal"&&F.internalData){const{method:ne,payload:ae}=F.internalData;ne==="message.send"&&(ae!=null&&ae.message)&&E.sendUserMessage({message:ae.message})}}};if(_.isUserMessage())return r.createElement(t,{messageType:"user",...ie});if(_.isFileMessage())return r.createElement(t,{messageType:"file",file:_,...ie})}})();return r.createElement("div",{key:ee,id:`${Z}-message-item`},dr,ur)}})};return r.createElement(xl,{id:`${Z}-message-list`},Q(),o&&r.createElement(Ya,{onClose:()=>s(null),sender:o.sender,file:o.file}))},xl=m.default.div`overflow-y:hidden;display:flex;flex:1;position:relative;`,Cl=m.default(il)`position:absolute;bottom:20px;inset-inline-end:20px;`;function vl(e){var t;if(((t=e==null?void 0:e.resolution)==null?void 0:t.determinedBy)==="user")return e.resolution.isResolved}const yl=()=>{const{stringSet:e}=M(),{connectionError:t}=P(),{channelSource:n}=W(),o=t||n.error;if(o){const s=t?void 0:{label:e.RETRY,onClick:()=>n.refetch()};return r.createElement(ge,{type:"error",label:o.message,action:s})}return n.channel?r.createElement(El,null):r.createElement(ge,{type:"loading"})},jn=()=>{const{stringSet:e}=M(),{activeChannel:t}=P(),[n]=c.useState(()=>(t==null?void 0:t.status)===B.ConversationStatus.OPEN);return n?e.RETURN_TO_CONVERSATION:e.START_NEW_CONVERSATION},_l=()=>{const{stringSet:e}=M(),{goToActiveConversation:t}=W(),n=jn();return r.createElement(Sl,null,r.createElement(w,{variant:"body1",color:p.themedColor.textMidEmphasis},e.CONVERSATION_CLOSED_FOOTER_LABEL),r.createElement(Tl,{onClick:t},r.createElement(w,{variant:"button",color:p.themedColor.textHighEmphasis},n)))},Sl=m.default.div`display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 0;gap:14px;${R.light`
|
|
150
150
|
background-color: ${p.color.background100};
|
|
151
151
|
`}
|
|
152
152
|
${R.dark`
|
|
@@ -177,14 +177,14 @@
|
|
|
177
177
|
circle {
|
|
178
178
|
stroke: ${p.themedColor.bg_50_600};
|
|
179
179
|
}
|
|
180
|
-
`,Nl=()=>{const e=Te(),[t,n]=c.useState(),{files:o,removeFile:s,isFileUploadEnabled:i}=Rt();return!i||o.length===0?null:r.createElement(Rl,null,o.map(({preview:{type:a,name:l,url:d}},u)=>r.createElement(Pl,{key:d,onMouseOver:()=>n(u),onMouseLeave:()=>n(void 0)},(e||t===u)&&r.createElement(Dl,{title:"Remove file",onClick:()=>s(u)},r.createElement(I,{type:"close-filled",color:p.themedColor.textMidEmphasis})),a.startsWith("image/")?r.createElement("img",{alt:"file-image",src:d}):r.createElement(kt,{name:l,type:wt(l,a)}))))},Bl=({channel:e,messages:t})=>{const{stringSet:n}=M(),{aiAgentInfo:o}=P(),s=Fl(),i=Ul({lastMessage:t[t.length-1],aiAgentUserId:o.userId});return!e||!s||An(e)?[!0,n.MESSAGE_INPUT__PLACE_HOLDER__DISABLED]:i?[!0,n.MESSAGE_INPUT__PLACE_HOLDER__WAIT_AI_AGENT_RESPONSE]:[!1,n.MESSAGE_INPUT__PLACE_HOLDER]},Fl=()=>{const e=c.useId(),{chatSDK:t}=O(),[n,o]=c.useState(!0);return c.useEffect(()=>{const s=new
|
|
180
|
+
`,Nl=()=>{const e=Te(),[t,n]=c.useState(),{files:o,removeFile:s,isFileUploadEnabled:i}=Rt();return!i||o.length===0?null:r.createElement(Rl,null,o.map(({preview:{type:a,name:l,url:d}},u)=>r.createElement(Pl,{key:d,onMouseOver:()=>n(u),onMouseLeave:()=>n(void 0)},(e||t===u)&&r.createElement(Dl,{title:"Remove file",onClick:()=>s(u)},r.createElement(I,{type:"close-filled",color:p.themedColor.textMidEmphasis})),a.startsWith("image/")?r.createElement("img",{alt:"file-image",src:d}):r.createElement(kt,{name:l,type:wt(l,a)}))))},Bl=({channel:e,messages:t})=>{const{stringSet:n}=M(),{aiAgentInfo:o}=P(),s=Fl(),i=Ul({lastMessage:t[t.length-1],aiAgentUserId:o.userId});return!e||!s||An(e)?[!0,n.MESSAGE_INPUT__PLACE_HOLDER__DISABLED]:i?[!0,n.MESSAGE_INPUT__PLACE_HOLDER__WAIT_AI_AGENT_RESPONSE]:[!1,n.MESSAGE_INPUT__PLACE_HOLDER]},Fl=()=>{const e=c.useId(),{chatSDK:t}=O(),[n,o]=c.useState(!0);return c.useEffect(()=>{const s=new U.ConnectionHandler({onDisconnected:()=>o(!1),onConnected:()=>o(!0),onReconnectSucceeded:()=>o(!0)});return t.addConnectionHandler(e,s),()=>{t.removeConnectionHandler(e)}},[t]),n},Ul=({lastMessage:e,aiAgentUserId:t})=>{const[n,o]=c.useState(!1),s=Gn();return c.useEffect(()=>{if(!e)return;const i=s.some(l=>l.userId===t),a=Dn(e,t)&&be.isStreaming(e);o(!!(a||i))},[s,e,t]),n},Kn={textArea:S.css`min-height:40px;height:40px;font-size:16px;line-height:24px;`,attachIcon:S.css`margin-bottom:4px;`},Zn=m.default.button`all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;width:32px;height:32px;`,Hl=m.default(Zn)`flex-shrink:0;margin-inline-end:12px;margin-bottom:2px;&:disabled{cursor:not-allowed;}&:not(:disabled){&:hover{path{fill:${p.themedColor.textHighEmphasis};}}&:active{border-radius:4px;background-color:${p.themedColor.bg_200_400};}}${St&&Kn.attachIcon};`,zl=m.default.input`display:none;`,sn=m.default.div`width:100%;position:relative;background-color:${p.themedColor.bg_100_500};border-radius:20px;`,an=m.default.div`display:flex;flex-direction:row;align-items:flex-end;position:relative;`,ln=m.default.textarea`all:unset;display:block;flex:1;min-width:0;padding-top:8px;padding-bottom:8px;padding-inline-start:16px;padding-inline-end:12px;box-sizing:border-box;font-size:14px;line-height:20px;color:${p.themedColor.textHighEmphasis};resize:none;width:100%;height:${yn}px;overflow-wrap:break-word;white-space:pre-wrap;overflow-x:hidden;${St&&Kn.textArea};&::placeholder{color:${p.themedColor.textLowEmphasis};}&:disabled{cursor:not-allowed;&::placeholder{color:${p.themedColor.textDisabled};}}`,cn=m.default.div`padding:12px 16px;position:relative;display:flex;align-items:center;`,dn=({disabled:e})=>{const t=c.useRef(null),{addFiles:n,clearFiles:o,files:s,isFileUploadEnabled:i}=Rt();return!i||s.length>0?null:r.createElement(Hl,{disabled:e,onClick:()=>{var a;o(),(a=t.current)==null||a.click()}},r.createElement(I,{type:"attach",color:e?p.themedColor.textDisabled:p.themedColor.textMidEmphasis,size:16}),r.createElement(zl,{type:"file",ref:t,onChange:a=>{const l=a.currentTarget.files;l&&n(Array.from(l)),a.target.value=""},accept:_n.join(",")}))},Vl=()=>{const e=c.useRef(null),[t,n]=c.useState(""),{rootElement:o}=O(),{channelSource:s,messageSource:i}=W(),[a,l]=Bl({channel:s.channel,messages:i.messages}),{files:d,addFiles:u,clearFiles:f}=Rt();Aa({onDropFiles:u}),Ll({blurred:a,elementRef:e,document:ce(o)}),Ol(s.channel,t);const h=t.trim().length>0,b=d.length>0,C=!a&&(h||b),x=()=>{e.current&&(e.current.value="",e.current.style.height=""),f(),n("")},E=async()=>{const T=t.trim(),A={message:T};if(!(!T&&!d.length)){if(d.length>0){const D=d[0].file,$={...A,file:D};i.sendFileMessage($),x();return}i.sendUserMessage(A),x()}},g=T=>{const A=Array.from(T.clipboardData.files);A.length>0&&(T.preventDefault(),u(A))},v=T=>{T.key!=="Enter"||T.nativeEvent.isComposing||T.shiftKey||(T.preventDefault(),E())},y=T=>{if(e.current){e.current.style.height="";const A=Math.min(Ko,e.current.scrollHeight);yn<A&&(e.current.style.height=`${A}px`)}n(T.target.value)};return a?r.createElement(cn,null,r.createElement(sn,null,r.createElement(an,null,r.createElement(ln,{disabled:!0,placeholder:l}),r.createElement(dn,{disabled:!0})))):r.createElement(cn,null,r.createElement(sn,null,r.createElement(Nl,null),r.createElement(an,null,r.createElement(ln,{ref:e,role:"textbox","aria-label":"Text Input",placeholder:l,maxLength:5e3,onKeyDown:v,onChange:y,onPaste:g}),r.createElement(dn,null))),C&&r.createElement(Zn,{onClick:()=>E()},r.createElement(I,{type:"send",color:p.color.primary.main,size:20})))},Wl=m.default.div`padding:8px 16px;text-align:center;word-break:break-word;white-space:pre-wrap;line-height:1.43;letter-spacing:-0.2px;font-size:14px;font-weight:400;color:${p.themedColor.textLowEmphasis};&& a{font-weight:700;text-decoration:none;${R.light`
|
|
181
181
|
color: ${p.color.information.light};
|
|
182
182
|
`};
|
|
183
183
|
${R.dark`
|
|
184
184
|
color: ${p.color.information.main};
|
|
185
185
|
`};
|
|
186
186
|
}
|
|
187
|
-
`,Gl=c.lazy(()=>Promise.resolve().then(()=>require("./BCIx4Qv_.cjs")).then(e=>({default:e.MarkdownText}))),jl=()=>{const{aiAgentInfo:e}=P(),{messageSource:t}=W(),{userSession:n}=P();return!e.specialNoticeEnabled||!e.specialNotice||!(t.initialized&&!t.messages.some(s=>Dn(s,n.userId)))?null:r.createElement(Wl,null,r.createElement(Gl,null,e.specialNotice))},ql=()=>r.createElement(Kl,null,r.createElement(jl,null),r.createElement(wl,null,r.createElement(Vl,null))),Kl=m.default.div`z-index:0;border:none;width:100%;`,Zl=()=>{var i,a,l;const{activeChannel:e}=P(),{channelSource:t}=W(),n=((a=(i=t.channel)==null?void 0:i.conversation)==null?void 0:a.status)===B.ConversationStatus.CLOSED;return!(((l=t.channel)==null?void 0:l.url)===(e==null?void 0:e.url))&&n?r.createElement(_l,null):r.createElement(ql,null)},Yl=()=>{var y;const{state:e,logger:t,enableCloseConversationButton:n,enableExpandButton:o,dispatcher:s}=O(),{stringSet:i}=M(),{aiAgentInfo:a,activeChannel:l}=P(),{channelSource:d,onNavigateToConversationList:u}=W(),f=d.channel,b=Te()?24:16,C=()=>{e.setOpened(!1)},x=async()=>{try{const T=await(f==null?void 0:f.markConversationAsHandoff());t.info("conversation.handleAgentHandoff: success",T)}catch(T){t.error("conversation.handleAgentHandoff: error",T)}},E=async()=>{f&&await s.send(fn.CloseConversation({channelUrl:f.url}))},g=l&&(f==null?void 0:f.url)===l.url,v=a.showHandoffButton&&!!((y=f==null?void 0:f.conversation)!=null&&y.handoff)&&g;return r.createElement(tc,null,r.createElement(nc,null,u&&r.createElement(Ae,{onClick:()=>u()},r.createElement(I,{type:"menu",size:24,color:p.themedColor.textHighEmphasis})),g&&r.createElement(zn,{size:34}),r.createElement(oc,{variant:"h2",color:p.themedColor.textHighEmphasis},a.nickname||(f==null?void 0:f.name))),r.createElement(rc,null,v&&r.createElement(ec,{tooltipLabel:i.HEADER_BUTTON__AGENT_HANDOFF,disabled:!$s(f),size:b,onClick:x}),n&&r.createElement(Ql,{disabled:!In(f),size:b,onClick:E}),o&&r.createElement(Jl,{size:b}),r.createElement(Xl,{size:b,onClick:C})))},Jl=({size:e,disabled:t})=>{const{state:n}=O();return r.createElement(Ae,{"aria-label":"expand",onClick:()=>n.setExpanded(!n.expanded),disabled:t},r.createElement(I,{type:n.expanded?"collapse":"expand",size:e,color:p.themedColor.textHighEmphasis}))},Xl=({size:e,disabled:t,onClick:n})=>r.createElement(Ae,{"aria-label":"close messenger",onClick:n,disabled:t},r.createElement(I,{type:"close",size:e,color:p.themedColor.textHighEmphasis})),Ql=({size:e,disabled:t,onClick:n})=>r.createElement(Ae,{"aria-label":"close conversation",onClick:n,disabled:t},r.createElement(I,{type:"refresh",size:e,color:t?p.themedColor.textDisabled:p.themedColor.textHighEmphasis})),ec=({size:e,onClick:t,disabled:n,tooltipLabel:o})=>r.createElement(On,{label:o,position:"bottom",disabled:n},r.createElement(Ae,{"aria-label":"agent",onClick:t,disabled:n},r.createElement(I,{type:"agent",size:e,color:n?p.themedColor.textDisabled:p.themedColor.textHighEmphasis}))),tc=m.default.div`height:56px;box-sizing:border-box;display:flex;align-items:center;padding:11px 12px;border-bottom:1px solid ${p.themedColor.textDisabled};background-color:${({theme:e})=>e.colors.base.headerBackground};`,nc=m.default.div`display:flex;flex:1;flex-direction:row;align-items:center;gap:6px;overflow:hidden;`,rc=m.default.div`display:flex;gap:10px;align-items:center;justify-content:center;`,oc=m.default(w)`text-overflow:ellipsis;overflow:hidden;white-space:nowrap;padding:2px 0;`,Ae=m.default.button`all:unset;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;&:disabled{cursor:not-allowed;}`,sc=()=>{const{isActionbookTester:e}=ke();return e?null:r.createElement(Yl,null)},xt=({children:e,onNavigateToConversationList:t,closedChannelUrl:n,onClearClosedChannelUrl:o})=>{const{Template:s}=Qe.useContext();return r.createElement(Un,{onNavigateToConversationList:t,closedChannelUrl:n,onClearClosedChannelUrl:o},r.createElement(Et,null,r.createElement(Et.Consumer,null,i=>r.createElement(r.Fragment,null,r.createElement(ac,{...i},r.createElement(s,null)),e))))},Qe=pe({template:ic,components:{Header:sc,Body:yl,Footer:Zl}});function ic(){const{components:e}=Qe.useContext();return r.createElement(r.Fragment,null,r.createElement(e.Header,null),r.createElement(e.Body,null),r.createElement(e.Footer,null))}const ac=m.default.div`height:100%;width:100%;display:flex;flex-direction:column;flex:1;background-color:${({theme:e})=>e.colors.base.background};`,{Provider:lc,Context:cc,useContext:Pt}=z("ConversationList");function Yn({conversationListLimit:e,conversationListFilter:t,onOpenConversationView:n=ye,children:o}){return r.createElement(Fr,{conversationListLimit:e,conversationListFilter:t},s=>r.createElement(lc,{value:{...s,onOpenConversationView:n}},o))}const Dt=pe({template:dc,components:{}});function dc({title:e="",lastMessageTimestamp:t=Date.now(),onClick:n}){const{stringSet:o,format:s}=M();return r.createElement(uc,{role:"button",onClick:()=>n==null?void 0:n()},r.createElement(hc,null,r.createElement(gc,null,r.createElement(w,{variant:"subtitle1",color:p.themedColor.textHighEmphasis},s(t,o.DATE_FORMAT__CONVERSATION_LIST__LIST_ITEM_TITLE)),r.createElement(w,{variant:"caption2",color:p.themedColor.textLowEmphasis},s(t,o.DATE_FORMAT__CONVERSATION_LIST__LIST_ITEM_TITLE_CAPTION))),r.createElement(w,{variant:"body3",color:p.themedColor.textMidEmphasis},e||o.CONVERSATION_LIST__TOPICS_FALLBACK)),r.createElement(I,{type:"chevron-right",size:16,color:p.themedColor.textHighEmphasis}),r.createElement(mc,null))}const uc=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;`,mc=m.default.div`position:absolute;bottom:0;height:1px;width:calc(100% - 32px);background-color:${p.themedColor.textDisabled};`,hc=m.default.div`gap:4px;display:flex;flex-direction:column;flex:1;`,gc=m.default.div`display:flex;justify-content:flex-start;align-items:center;gap:6px;`,fc=({items:e,renderItem:t,onEndReached:n})=>{const o=s=>{const i=s.target;i.scrollHeight-i.scrollTop===i.clientHeight&&(n==null||n())};return r.createElement(pc,{onScroll:s=>o(s)},e.map((s,i)=>t(s,i)))},pc=m.default.div`width:100%;height:100%;display:flex;flex-direction:column;flex:1;overflow:auto;`,bc=()=>{const{stringSet:e}=M(),{listSource:t,onOpenConversationView:n}=Pt(),{Template:o}=Dt.useContext();return t.initialized?t.channels.length===0?r.createElement(ge,{type:"noChannels",label:e.CONVERSATION_LIST__NO_CONVERSATIONS}):r.createElement(fc,{items:t.channels,renderItem:s=>{var i,a,l;return r.createElement(o,{key:s.url,channelUrl:s.url,title:(a=(i=s.conversation)==null?void 0:i.topics)==null?void 0:a.join(", "),lastMessageTimestamp:(l=s.lastMessage)==null?void 0:l.createdAt,onClick:()=>n(s.url,B.ConversationStatus.CLOSED),channel:s})},onEndReached:()=>{t.loadMore()}}):r.createElement(ge,{type:"loading"})},Ec=()=>{const{refreshActiveChannel:e}=P(),{onOpenConversationView:t}=Pt(),n=jn();return r.createElement(xc,{role:"button",onClick:async()=>{const o=await e();t(o,B.ConversationStatus.OPEN)}},r.createElement(Cc,{variant:"h1"},n))},xc=m.default.div`background-color:${({theme:e})=>e.colors.base.primary};display:flex;align-items:center;justify-content:center;padding:16px;cursor:pointer;`,Cc=m.default(w)`color:${({theme:e})=>e.colors.base.primaryContrastContent};overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`,vc=()=>{const{stringSet:e}=M();return r.createElement(yc,null,r.createElement(_c,{variant:"h2",color:p.themedColor.textHighEmphasis},e.CONVERSATION_LIST__HEADER_TITLE),r.createElement(Sc,null))},yc=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};`,_c=m.default(w)`padding:0 12px;width:100%;box-sizing:border-box;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;`,Sc=m.default.div`position:absolute;bottom:0;width:100%;height:1px;background-color:${p.themedColor.textDisabled};`,Jn=({conversationListLimit:e,conversationListFilter:t,children:n,onOpenConversationView:o})=>{const{Template:s}=et.useContext();return r.createElement(Yn,{conversationListLimit:e,conversationListFilter:t,onOpenConversationView:o},r.createElement(wc,null,r.createElement(s,null)),n)},et=pe({template:Tc,components:{Header:vc,Body:bc,Footer:Ec}});function Tc(){const{components:e}=et.useContext();return r.createElement(r.Fragment,null,r.createElement(e.Header,null),r.createElement(e.Body,null),r.createElement(e.Footer,null))}const wc=m.default.div`height:100%;width:100%;display:flex;flex-direction:column;flex:1;background-color:${({theme:e})=>e.colors.base.background};`,kc=S.css`:where(#${Y.ENTRY}) :not(code *){font-family:'Roboto',sans-serif;box-sizing:border-box;}`,Ac=[kc,Mo,Lo],Ic=(e,...t)=>S.createGlobalStyle(e,...Ac,...t),$c=Ic``,Mc=vr(Qe,de,Je,Xe,et,Dt);function Xn({appearance:e,rootElement:t,logger:n,language:o,stringSet:s,children:i,messageTemplate:a,theme:l}){return Bo(vo,t),r.createElement(S.StyleSheetManager,{target:t},r.createElement(Po,{rootElement:t,logger:n,appearance:e,theme:l},r.createElement(go,{internalVariables:a==null?void 0:a.__internalVariables},r.createElement($o,{stringSet:s,logger:n,language:o},r.createElement(Mc,null,i,r.createElement($c,null))))))}const Ne={},Be={getItem:e=>{try{return localStorage.getItem(e)}catch{return Ne[e]??null}},setItem:(e,t)=>{try{localStorage.setItem(e,t)}catch{Ne[e]=t}},deleteItem:e=>{try{localStorage.removeItem(e)}catch{delete Ne[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(Ne).filter(t=>t.startsWith(e))}}},Nt=c.forwardRef(function({rootElement:t=document.body,logLevel:n=H.LogLevel.WARN,language:o=navigator.language,userSessionInfo:s,children:i,...a},l){var d,u;return xe.level!==n&&(xe.level=n),No("https://fonts.googleapis.com/css2?family=Roboto&display=swap",t),r.createElement("div",{id:Y.ENTRY,style:{width:"fit-content",height:"fit-content",...a.entryStyle}},r.createElement(Xn,{logger:xe,rootElement:t,appearance:(d=a.agentPreviewConfigs)==null?void 0:d.appearance,stringSet:a.stringSet,language:o,messageTemplate:a.messageTemplate,theme:a.theme},r.createElement(Ho,{rootElement:t,keyValueStorage:{get:Be.getItem,set:Be.setItem,delete:Be.deleteItem,getKeys:Be.getKeys},language:o,logger:xe,dispatcher:Qn,chatParams:{customApiHost:a.customApiHost,customWebSocketHost:a.customWebSocketHost},...a},r.createElement(Vo,{ref:l,userSessionInfo:s,forceCreateChannel:(u=a.agentPreviewConfigs)==null?void 0:u.forceCreateChannel},r.createElement(aa,{...a._UNSAFE_INTERNAL_dashboardTester},i,r.createElement("div",{id:Y.MODAL_ROOT}))))))}),xe=new gn(H.LogLevel.WARN),Qn=new hn(xe),er=({children:e,isOpened:t})=>{const{dir:n,rootElement:o}=O(),s=ce(o,!0);return c.useEffect(()=>{const i="sb-agent-block-scroll";return t?s.body.classList.add(i):s.body.classList.remove(i),()=>{s.body.classList.remove(i)}},[s,t]),r.createElement(Lc,{dir:n,$visible:t},e)},Lc=m.default.div`width:100%;height:100%;position:fixed;top:0;left:0;z-index:${ue.WINDOW};visibility:${({$visible:e})=>e?"visible":"hidden"};`,Oc=48,Rc=2/3;function tr({className:e,isOpened:t,onClick:n,type:o,imageUrl:s,dir:i,animated:a=!0,backgroundColor:l,size:d=Oc}){const u=gt(l),f=Math.round(d*Rc);return r.createElement(Nc,{dir:i,id:Y.LAUNCHER,className:e,"aria-label":"Sendbird AIAgent Launcher",onClick:n,$animated:a,$backgroundColor:l,$size:d},r.createElement(Bc,{$isOpened:t,$animated:a,$fillColor:u,$iconSize:f},r.createElement(un.Open,{url:s,isDefaultIcon:o==="default_icon"})),r.createElement(Fc,{$isOpened:t,$animated:a,$fillColor:u,$iconSize:f},r.createElement(un.Close,{size:f})))}const Pc=S.css`&:hover{transition:transform 250ms cubic-bezier(0.33,0,0,1);transform:scale(1.1);}&:active{transform:scale(0.8);}`,Dc=S.css`img{width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;&[data-default-icon='true']{width:${({$iconSize:e})=>e}px;height:${({$iconSize:e})=>e}px;filter:${({$fillColor:e})=>e===vn.WHITE?"grayscale(100%) brightness(2000%)":"grayscale(100%) invert(100%) saturate(0%) brightness(0%) contrast(1000%)"};}}`,nr=S.css`svg{width:${({$iconSize:e})=>e}px;height:${({$iconSize:e})=>e}px;${({$fillColor:e})=>S.css`
|
|
187
|
+
`,Gl=c.lazy(()=>Promise.resolve().then(()=>require("./Qn-Vab7D.cjs")).then(e=>({default:e.MarkdownText}))),jl=()=>{const{aiAgentInfo:e}=P(),{messageSource:t}=W(),{userSession:n}=P();return!e.specialNoticeEnabled||!e.specialNotice||!(t.initialized&&!t.messages.some(s=>Dn(s,n.userId)))?null:r.createElement(Wl,null,r.createElement(Gl,null,e.specialNotice))},ql=()=>r.createElement(Kl,null,r.createElement(jl,null),r.createElement(wl,null,r.createElement(Vl,null))),Kl=m.default.div`z-index:0;border:none;width:100%;`,Zl=()=>{var i,a,l;const{activeChannel:e}=P(),{channelSource:t}=W(),n=((a=(i=t.channel)==null?void 0:i.conversation)==null?void 0:a.status)===B.ConversationStatus.CLOSED;return!(((l=t.channel)==null?void 0:l.url)===(e==null?void 0:e.url))&&n?r.createElement(_l,null):r.createElement(ql,null)},Yl=()=>{var y;const{state:e,logger:t,enableCloseConversationButton:n,enableExpandButton:o,dispatcher:s}=O(),{stringSet:i}=M(),{aiAgentInfo:a,activeChannel:l}=P(),{channelSource:d,onNavigateToConversationList:u}=W(),f=d.channel,b=Te()?24:16,C=()=>{e.setOpened(!1)},x=async()=>{try{const T=await(f==null?void 0:f.markConversationAsHandoff());t.info("conversation.handleAgentHandoff: success",T)}catch(T){t.error("conversation.handleAgentHandoff: error",T)}},E=async()=>{f&&await s.send(fn.CloseConversation({channelUrl:f.url}))},g=l&&(f==null?void 0:f.url)===l.url,v=a.showHandoffButton&&!!((y=f==null?void 0:f.conversation)!=null&&y.handoff)&&g;return r.createElement(tc,null,r.createElement(nc,null,u&&r.createElement(Ae,{onClick:()=>u()},r.createElement(I,{type:"menu",size:24,color:p.themedColor.textHighEmphasis})),g&&r.createElement(zn,{size:34}),r.createElement(oc,{variant:"h2",color:p.themedColor.textHighEmphasis},a.nickname||(f==null?void 0:f.name))),r.createElement(rc,null,v&&r.createElement(ec,{tooltipLabel:i.HEADER_BUTTON__AGENT_HANDOFF,disabled:!$s(f),size:b,onClick:x}),n&&r.createElement(Ql,{disabled:!In(f),size:b,onClick:E}),o&&r.createElement(Jl,{size:b}),r.createElement(Xl,{size:b,onClick:C})))},Jl=({size:e,disabled:t})=>{const{state:n}=O();return r.createElement(Ae,{"aria-label":"expand",onClick:()=>n.setExpanded(!n.expanded),disabled:t},r.createElement(I,{type:n.expanded?"collapse":"expand",size:e,color:p.themedColor.textHighEmphasis}))},Xl=({size:e,disabled:t,onClick:n})=>r.createElement(Ae,{"aria-label":"close messenger",onClick:n,disabled:t},r.createElement(I,{type:"close",size:e,color:p.themedColor.textHighEmphasis})),Ql=({size:e,disabled:t,onClick:n})=>r.createElement(Ae,{"aria-label":"close conversation",onClick:n,disabled:t},r.createElement(I,{type:"refresh",size:e,color:t?p.themedColor.textDisabled:p.themedColor.textHighEmphasis})),ec=({size:e,onClick:t,disabled:n,tooltipLabel:o})=>r.createElement(On,{label:o,position:"bottom",disabled:n},r.createElement(Ae,{"aria-label":"agent",onClick:t,disabled:n},r.createElement(I,{type:"agent",size:e,color:n?p.themedColor.textDisabled:p.themedColor.textHighEmphasis}))),tc=m.default.div`height:56px;box-sizing:border-box;display:flex;align-items:center;padding:11px 12px;border-bottom:1px solid ${p.themedColor.textDisabled};background-color:${({theme:e})=>e.colors.base.headerBackground};`,nc=m.default.div`display:flex;flex:1;flex-direction:row;align-items:center;gap:6px;overflow:hidden;`,rc=m.default.div`display:flex;gap:10px;align-items:center;justify-content:center;`,oc=m.default(w)`text-overflow:ellipsis;overflow:hidden;white-space:nowrap;padding:2px 0;`,Ae=m.default.button`all:unset;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;&:disabled{cursor:not-allowed;}`,sc=()=>{const{isActionbookTester:e}=ke();return e?null:r.createElement(Yl,null)},xt=({children:e,onNavigateToConversationList:t,closedChannelUrl:n,onClearClosedChannelUrl:o})=>{const{Template:s}=Qe.useContext();return r.createElement(Un,{onNavigateToConversationList:t,closedChannelUrl:n,onClearClosedChannelUrl:o},r.createElement(Et,null,r.createElement(Et.Consumer,null,i=>r.createElement(r.Fragment,null,r.createElement(ac,{...i},r.createElement(s,null)),e))))},Qe=pe({template:ic,components:{Header:sc,Body:yl,Footer:Zl}});function ic(){const{components:e}=Qe.useContext();return r.createElement(r.Fragment,null,r.createElement(e.Header,null),r.createElement(e.Body,null),r.createElement(e.Footer,null))}const ac=m.default.div`height:100%;width:100%;display:flex;flex-direction:column;flex:1;background-color:${({theme:e})=>e.colors.base.background};`,{Provider:lc,Context:cc,useContext:Pt}=z("ConversationList");function Yn({conversationListLimit:e,conversationListFilter:t,onOpenConversationView:n=ye,children:o}){return r.createElement(Fr,{conversationListLimit:e,conversationListFilter:t},s=>r.createElement(lc,{value:{...s,onOpenConversationView:n}},o))}const Dt=pe({template:dc,components:{}});function dc({title:e="",lastMessageTimestamp:t=Date.now(),onClick:n}){const{stringSet:o,format:s}=M();return r.createElement(uc,{role:"button",onClick:()=>n==null?void 0:n()},r.createElement(hc,null,r.createElement(gc,null,r.createElement(w,{variant:"subtitle1",color:p.themedColor.textHighEmphasis},s(t,o.DATE_FORMAT__CONVERSATION_LIST__LIST_ITEM_TITLE)),r.createElement(w,{variant:"caption2",color:p.themedColor.textLowEmphasis},s(t,o.DATE_FORMAT__CONVERSATION_LIST__LIST_ITEM_TITLE_CAPTION))),r.createElement(w,{variant:"body3",color:p.themedColor.textMidEmphasis},e||o.CONVERSATION_LIST__TOPICS_FALLBACK)),r.createElement(I,{type:"chevron-right",size:16,color:p.themedColor.textHighEmphasis}),r.createElement(mc,null))}const uc=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;`,mc=m.default.div`position:absolute;bottom:0;height:1px;width:calc(100% - 32px);background-color:${p.themedColor.textDisabled};`,hc=m.default.div`gap:4px;display:flex;flex-direction:column;flex:1;`,gc=m.default.div`display:flex;justify-content:flex-start;align-items:center;gap:6px;`,fc=({items:e,renderItem:t,onEndReached:n})=>{const o=s=>{const i=s.target;i.scrollHeight-i.scrollTop===i.clientHeight&&(n==null||n())};return r.createElement(pc,{onScroll:s=>o(s)},e.map((s,i)=>t(s,i)))},pc=m.default.div`width:100%;height:100%;display:flex;flex-direction:column;flex:1;overflow:auto;`,bc=()=>{const{stringSet:e}=M(),{listSource:t,onOpenConversationView:n}=Pt(),{Template:o}=Dt.useContext();return t.initialized?t.channels.length===0?r.createElement(ge,{type:"noChannels",label:e.CONVERSATION_LIST__NO_CONVERSATIONS}):r.createElement(fc,{items:t.channels,renderItem:s=>{var i,a,l;return r.createElement(o,{key:s.url,channelUrl:s.url,title:(a=(i=s.conversation)==null?void 0:i.topics)==null?void 0:a.join(", "),lastMessageTimestamp:(l=s.lastMessage)==null?void 0:l.createdAt,onClick:()=>n(s.url,B.ConversationStatus.CLOSED),channel:s})},onEndReached:()=>{t.loadMore()}}):r.createElement(ge,{type:"loading"})},Ec=()=>{const{refreshActiveChannel:e}=P(),{onOpenConversationView:t}=Pt(),n=jn();return r.createElement(xc,{role:"button",onClick:async()=>{const o=await e();t(o,B.ConversationStatus.OPEN)}},r.createElement(Cc,{variant:"h1"},n))},xc=m.default.div`background-color:${({theme:e})=>e.colors.base.primary};display:flex;align-items:center;justify-content:center;padding:16px;cursor:pointer;`,Cc=m.default(w)`color:${({theme:e})=>e.colors.base.primaryContrastContent};overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`,vc=()=>{const{stringSet:e}=M();return r.createElement(yc,null,r.createElement(_c,{variant:"h2",color:p.themedColor.textHighEmphasis},e.CONVERSATION_LIST__HEADER_TITLE),r.createElement(Sc,null))},yc=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};`,_c=m.default(w)`padding:0 12px;width:100%;box-sizing:border-box;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;`,Sc=m.default.div`position:absolute;bottom:0;width:100%;height:1px;background-color:${p.themedColor.textDisabled};`,Jn=({conversationListLimit:e,conversationListFilter:t,children:n,onOpenConversationView:o})=>{const{Template:s}=et.useContext();return r.createElement(Yn,{conversationListLimit:e,conversationListFilter:t,onOpenConversationView:o},r.createElement(wc,null,r.createElement(s,null)),n)},et=pe({template:Tc,components:{Header:vc,Body:bc,Footer:Ec}});function Tc(){const{components:e}=et.useContext();return r.createElement(r.Fragment,null,r.createElement(e.Header,null),r.createElement(e.Body,null),r.createElement(e.Footer,null))}const wc=m.default.div`height:100%;width:100%;display:flex;flex-direction:column;flex:1;background-color:${({theme:e})=>e.colors.base.background};`,kc=S.css`:where(#${Y.ENTRY}) :not(code *){font-family:'Roboto',sans-serif;box-sizing:border-box;}`,Ac=[kc,Mo,Lo],Ic=(e,...t)=>S.createGlobalStyle(e,...Ac,...t),$c=Ic``,Mc=vr(Qe,de,Je,Xe,et,Dt);function Xn({appearance:e,rootElement:t,logger:n,language:o,stringSet:s,children:i,messageTemplate:a,theme:l}){return Bo(vo,t),r.createElement(S.StyleSheetManager,{target:t},r.createElement(Po,{rootElement:t,logger:n,appearance:e,theme:l},r.createElement(go,{internalVariables:a==null?void 0:a.__internalVariables},r.createElement($o,{stringSet:s,logger:n,language:o},r.createElement(Mc,null,i,r.createElement($c,null))))))}const Ne={},Be={getItem:e=>{try{return localStorage.getItem(e)}catch{return Ne[e]??null}},setItem:(e,t)=>{try{localStorage.setItem(e,t)}catch{Ne[e]=t}},deleteItem:e=>{try{localStorage.removeItem(e)}catch{delete Ne[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(Ne).filter(t=>t.startsWith(e))}}},Nt=c.forwardRef(function({rootElement:t=document.body,logLevel:n=U.LogLevel.WARN,language:o=navigator.language,userSessionInfo:s,children:i,...a},l){var d,u;return xe.level!==n&&(xe.level=n),No("https://fonts.googleapis.com/css2?family=Roboto&display=swap",t),r.createElement("div",{id:Y.ENTRY,style:{width:"fit-content",height:"fit-content",...a.entryStyle}},r.createElement(Xn,{logger:xe,rootElement:t,appearance:(d=a.agentPreviewConfigs)==null?void 0:d.appearance,stringSet:a.stringSet,language:o,messageTemplate:a.messageTemplate,theme:a.theme},r.createElement(Ho,{rootElement:t,keyValueStorage:{get:Be.getItem,set:Be.setItem,delete:Be.deleteItem,getKeys:Be.getKeys},language:o,logger:xe,dispatcher:Qn,chatParams:{customApiHost:a.customApiHost,customWebSocketHost:a.customWebSocketHost},...a},r.createElement(Vo,{ref:l,userSessionInfo:s,forceCreateChannel:(u=a.agentPreviewConfigs)==null?void 0:u.forceCreateChannel},r.createElement(aa,{...a._UNSAFE_INTERNAL_dashboardTester},i,r.createElement("div",{id:Y.MODAL_ROOT}))))))}),xe=new gn(U.LogLevel.WARN),Qn=new hn(xe),er=({children:e,isOpened:t})=>{const{dir:n,rootElement:o}=O(),s=ce(o,!0);return c.useEffect(()=>{const i="sb-agent-block-scroll";return t?s.body.classList.add(i):s.body.classList.remove(i),()=>{s.body.classList.remove(i)}},[s,t]),r.createElement(Lc,{dir:n,$visible:t},e)},Lc=m.default.div`width:100%;height:100%;position:fixed;top:0;left:0;z-index:${ue.WINDOW};visibility:${({$visible:e})=>e?"visible":"hidden"};`,Oc=48,Rc=2/3;function tr({className:e,isOpened:t,onClick:n,type:o,imageUrl:s,dir:i,animated:a=!0,backgroundColor:l,size:d=Oc}){const u=gt(l),f=Math.round(d*Rc);return r.createElement(Nc,{dir:i,id:Y.LAUNCHER,className:e,"aria-label":"Sendbird AIAgent Launcher",onClick:n,$animated:a,$backgroundColor:l,$size:d},r.createElement(Bc,{$isOpened:t,$animated:a,$fillColor:u,$iconSize:f},r.createElement(un.Open,{url:s,isDefaultIcon:o==="default_icon"})),r.createElement(Fc,{$isOpened:t,$animated:a,$fillColor:u,$iconSize:f},r.createElement(un.Close,{size:f})))}const Pc=S.css`&:hover{transition:transform 250ms cubic-bezier(0.33,0,0,1);transform:scale(1.1);}&:active{transform:scale(0.8);}`,Dc=S.css`img{width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;&[data-default-icon='true']{width:${({$iconSize:e})=>e}px;height:${({$iconSize:e})=>e}px;filter:${({$fillColor:e})=>e===vn.WHITE?"grayscale(100%) brightness(2000%)":"grayscale(100%) invert(100%) saturate(0%) brightness(0%) contrast(1000%)"};}}`,nr=S.css`svg{width:${({$iconSize:e})=>e}px;height:${({$iconSize:e})=>e}px;${({$fillColor:e})=>S.css`
|
|
188
188
|
path {
|
|
189
189
|
fill: ${e};
|
|
190
190
|
}
|
|
@@ -193,7 +193,7 @@
|
|
|
193
193
|
}
|
|
194
194
|
`}
|
|
195
195
|
}
|
|
196
|
-
`,Nc=m.default.button`position:relative;padding:0;width:${({$size:e})=>e}px;height:${({$size:e})=>e}px;background:${({$backgroundColor:e})=>e};border-radius:50%;transition:all 0.3s cubic-bezier(0.31,-0.105,0.43,1.4);border:none;display:flex;justify-content:center;align-items:center;box-shadow:0 16px 24px 2px rgba(33,33,33,0.12),0 6px 30px 5px rgba(33,33,33,0.08),0 6px 10px -5px rgba(33,33,33,0.04);${({$animated:e})=>e&&Pc}`,rr=m.default.span`position:absolute;width:100%;height:100%;border-radius:50%;overflow:hidden;transition:transform 0.16s linear,opacity 0.08s linear,scale 0.16s linear;user-select:none;display:flex;justify-content:center;align-items:center;`,Bc=m.default(rr)`opacity:${({$isOpened:e})=>e?0:1};transform:${({$animated:e,$isOpened:t})=>e&&(t?"rotate(-90deg) scale(0)":"rotate(0deg)")};${Dc}${nr}`,Fc=m.default(rr)`scale:${({$isOpened:e})=>e?1:0};transform:${({$animated:e,$isOpened:t})=>e&&(t?"rotate(0deg)":"rotate(-90deg)")};${nr}`,un={Open:e=>e.url?r.createElement("img",{src:e.url,alt:"launcher-img","data-default-icon":e.isDefaultIcon}):r.createElement(At,null),Close:({size:e})=>r.createElement(I,{size:e,type:"chevron-down"})};function or({className:e,size:t}){const{colors:n}=S.useTheme(),{dir:o,state:s}=O(),{launcherInfo:i}=P();return Hc(),r.createElement(tr,{dir:o,className:e,isOpened:s.opened,onClick:()=>s.setOpened(!s.opened),type:i.type,imageUrl:i.imageUrl,backgroundColor:n.base.primary,size:t})}const Uc=1e3*60;function Hc(){const{chatSDK:e,state:t,logger:n,enableAutoDisconnectInLauncher:o}=O(),s=c.useRef(null);c.useEffect(()=>{if(!o)return;function i(){s.current&&(clearTimeout(s.current),s.current=null)}function a(){e.connectionState===
|
|
196
|
+
`,Nc=m.default.button`position:relative;padding:0;width:${({$size:e})=>e}px;height:${({$size:e})=>e}px;background:${({$backgroundColor:e})=>e};border-radius:50%;transition:all 0.3s cubic-bezier(0.31,-0.105,0.43,1.4);border:none;display:flex;justify-content:center;align-items:center;box-shadow:0 16px 24px 2px rgba(33,33,33,0.12),0 6px 30px 5px rgba(33,33,33,0.08),0 6px 10px -5px rgba(33,33,33,0.04);${({$animated:e})=>e&&Pc}`,rr=m.default.span`position:absolute;width:100%;height:100%;border-radius:50%;overflow:hidden;transition:transform 0.16s linear,opacity 0.08s linear,scale 0.16s linear;user-select:none;display:flex;justify-content:center;align-items:center;`,Bc=m.default(rr)`opacity:${({$isOpened:e})=>e?0:1};transform:${({$animated:e,$isOpened:t})=>e&&(t?"rotate(-90deg) scale(0)":"rotate(0deg)")};${Dc}${nr}`,Fc=m.default(rr)`scale:${({$isOpened:e})=>e?1:0};transform:${({$animated:e,$isOpened:t})=>e&&(t?"rotate(0deg)":"rotate(-90deg)")};${nr}`,un={Open:e=>e.url?r.createElement("img",{src:e.url,alt:"launcher-img","data-default-icon":e.isDefaultIcon}):r.createElement(At,null),Close:({size:e})=>r.createElement(I,{size:e,type:"chevron-down"})};function or({className:e,size:t}){const{colors:n}=S.useTheme(),{dir:o,state:s}=O(),{launcherInfo:i}=P();return Hc(),r.createElement(tr,{dir:o,className:e,isOpened:s.opened,onClick:()=>s.setOpened(!s.opened),type:i.type,imageUrl:i.imageUrl,backgroundColor:n.base.primary,size:t})}const Uc=1e3*60;function Hc(){const{chatSDK:e,state:t,logger:n,enableAutoDisconnectInLauncher:o}=O(),s=c.useRef(null);c.useEffect(()=>{if(!o)return;function i(){s.current&&(clearTimeout(s.current),s.current=null)}function a(){e.connectionState===U.ConnectionState.CLOSED&&(e.reconnect(),n.debug("useSDKInactivityTimeout: reconnected")),i(),n.debug("useSDKInactivityTimeout: clear disconnect schedule")}function l(){i(),s.current=setTimeout(async()=>{await e.disconnectWebSocket(),n.debug("useSDKInactivityTimeout: disconnected")},Uc)}t.opened?a():(l(),n.debug("useSDKInactivityTimeout: schedule disconnect"))},[o,e,t.opened])}const sr=c.createContext(null);function zc(){const e=c.useContext(sr);if(!e)throw new Error("useNavigator() must be used within <Navigator />");return e}function ir({children:e}){const t=zc();return typeof e=="function"?e(t):r.createElement(r.Fragment,null,e)}const Vc=S.keyframes`0%{transform:translateY(40px);opacity:0;}100%{transform:translateY(0px);opacity:1;}`,Wc=S.keyframes`0%{transform:translateY(0px);opacity:1;}100%{transform:translateY(40px);opacity:0;}`,Gc=S.css`animation-name:${Vc};animation-duration:0.3s;animation-fill-mode:forwards;`,jc=S.css``,qc=S.css`animation-name:${Wc};animation-duration:0.3s;animation-fill-mode:forwards;`,Kc=S.css`visibility:hidden;`,Zc=m.default.div`position:absolute;top:0;left:0;width:100%;height:100%;${({$transitionState:e})=>{switch(e){case"entering":return Gc;case"entered":return jc;case"exiting":return qc;case"exited":return Kc;default:return""}}}${({$active:e})=>e?S.css`
|
|
197
197
|
z-index: 999;
|
|
198
198
|
`:S.css`z-index:1;pointer-events:none;`}
|
|
199
199
|
`;function Ce({initialId:e,children:t}){const n=c.useCallback((g,v)=>{d(y=>[...y,g]),f(y=>({...y,[g]:!0})),v!=null&&v.reset&&x(y=>({...y,[g]:(y[g]||0)+1})),b(y=>({...y,[g]:"entering"})),setTimeout(()=>{b(y=>({...y,[g]:"entered"}))},300)},[]),o=c.useCallback(()=>{d(g=>{if(g.length<=1)return g;const v=g[g.length-1];return b(y=>({...y,[v]:"exiting"})),setTimeout(()=>{b(y=>({...y,[v]:"exited"})),d(y=>y.slice(0,-1))},300),g})},[]),s=c.useMemo(()=>({navigation:{navigate:n,pop:o}}),[n,o]),i=c.useMemo(()=>c.Children.toArray(t).filter(g=>g.type===ir),[t]),a=c.useMemo(()=>{const g={};return i.forEach(v=>{const{id:y,lazy:T,children:A}=v.props;g[y]={lazy:T,element:typeof A=="function"?A(s):A}}),g},[i]),[l,d]=c.useState([e]),[u,f]=c.useState(()=>{const g={};return Object.entries(a).forEach(([v,{lazy:y}])=>{y===!1&&(g[v]=!0)}),g[e]=!0,g}),[h,b]=c.useState(()=>{const g={};return Object.keys(a).forEach(v=>{v===e?g[v]="entered":g[v]="exited"}),g}),[C,x]=c.useState({}),E=l[l.length-1];return r.createElement(sr.Provider,{value:s},r.createElement(Yc,null,Object.keys(a).map(g=>{var A;if(!u[g])return null;const v=h[g]||"exited",y=g===E,T=`${g}-${C[g]||0}`;return r.createElement(Zc,{key:T,$transitionState:v,$active:y},(A=a[g])==null?void 0:A.element)})))}const Yc=m.default.div`position:relative;width:100%;height:100%;`;Ce.Screen=ir;const le={activeConv:"active-conv",closedConv:"closed-conv",convList:"conv-list"},ar=({setClosedChannelUrl:e,closedChannelUrl:t})=>r.createElement(Ce,{initialId:le.activeConv},r.createElement(Ce.Screen,{id:le.activeConv},({navigation:n})=>r.createElement(xt,{onNavigateToConversationList:()=>n.navigate(le.convList,{reset:!0})})),r.createElement(Ce.Screen,{id:le.closedConv},({navigation:n})=>r.createElement(xt,{onNavigateToConversationList:()=>n.pop(),closedChannelUrl:t,onClearClosedChannelUrl:()=>e(void 0)})),r.createElement(Ce.Screen,{id:le.convList,lazy:!0},({navigation:n})=>r.createElement(Jn,{onOpenConversationView:(o,s)=>{s==="closed"?(e(o),n.navigate(le.closedConv,{reset:!0})):n.navigate(le.activeConv)}})));function Jc({isExpanded:e,isOpened:t,children:n,launcher:o}){const{dir:s}=O();return r.createElement(Xc,null,r.createElement(Qc,{dir:s,id:Y.WINDOW,$isExpanded:e,$isOpened:t},n),o)}const Xc=m.default.div`display:flex;flex-direction:column;gap:8px;align-items:flex-end;`,Qc=m.default.div`background:${({theme:e})=>e.colors.base.background};display:flex;overscroll-behavior:none;-webkit-overflow-scrolling:auto;height:640px;min-height:80px;width:400px;max-width:80vw;max-height:80vh;box-shadow:0px 16px 24px 2px rgba(33,33,33,0.12),0px 6px 30px 5px rgba(33,33,33,0.08),0px 6px 10px -5px rgba(33,33,33,0.04);border-radius:16px;overflow:hidden;transition:width 200ms ease 0s,height 200ms ease 0s,max-height 200ms ease 0s,transform 150ms cubic-bezier(0,1.2,1,1) 0s,opacity 83ms ease-out 0s;transform:scale(0.15);opacity:0;transform-origin:right bottom;[dir='rtl'] &:not([dir='ltr']),&[dir='rtl']{transform-origin:left bottom;}${({$isOpened:e})=>e&&td};${({$isExpanded:e})=>e&&ed};`,ed=S.css`width:743px;height:723px;`,td=S.css`z-index:${ue.WINDOW};pointer-events:all;transform:scale(1);opacity:1;transition:width 200ms ease 0s,height 200ms ease 0s,max-height 200ms ease 0s,transform 300ms cubic-bezier(0,1.2,1,1) 0s,opacity 83ms ease-out 0s;`,nd=c.forwardRef(function({children:e,...t},n){const o=Te(),[s,i]=c.useState(),a=o?er:Jc;return r.createElement(Nt,{enableExpandButton:!o,ref:n,...t},r.createElement(Cn,null,({state:l})=>r.createElement(r.Fragment,null,r.createElement(a,{isExpanded:l.expanded,isOpened:l.opened,launcher:r.createElement(or,null)},r.createElement(ar,{closedChannelUrl:s,setClosedChannelUrl:i})),e)))}),{Provider:rd,useContext:Bt}=z("FixedMessengerStyle");function lr(e,t,n,o=0){const{top:s,bottom:i,start:a,end:l}=n;let d="",u="";switch(e){case"start":u=`inset-inline-start: ${V(a)}`;break;case"end":u=`inset-inline-end: ${V(l)}`;break}switch(t){case"top":d=`top: calc(${V(s)} + ${o}px)`;break;case"bottom":d=`bottom: calc(${V(i)} + ${o}px)`;break}return S.css`${d};${u};`}function od(e){const{horizontal:t,vertical:n,margin:o,launcherSize:s}=Bt();return r.createElement(sd,{...e,size:s,$horizontal:t,$vertical:n,$margin:o})}const sd=m.default(or)`position:fixed;z-index:${ue.LAUNCHER};${({$horizontal:e,$vertical:t,$margin:n})=>lr(e,t,n)};`;function id({isExpanded:e,isOpened:t,children:n}){const{dir:o}=O(),{horizontal:s,vertical:i,margin:a,launcherSize:l}=Bt();return r.createElement(ad,{dir:o,id:Y.WINDOW,$isExpanded:e,$isOpened:t,$horizontal:s,$vertical:i,$margin:a,$launcherSize:l},n)}const ad=m.default.div`background:${({theme:e})=>e.colors.base.background};display:flex;overscroll-behavior:none;-webkit-overflow-scrolling:auto;position:fixed;${({$horizontal:e,$vertical:t,$margin:n,$launcherSize:o})=>lr(e,t,n,o+12)};height:640px;min-height:80px;width:400px;max-width:80vw;max-height:80vh;box-shadow:0px 16px 24px 2px rgba(33,33,33,0.12),0px 6px 30px 5px rgba(33,33,33,0.08),0px 6px 10px -5px rgba(33,33,33,0.04);border-radius:16px;overflow:hidden;transition:width 200ms ease 0s,height 200ms ease 0s,max-height 200ms ease 0s,transform 150ms cubic-bezier(0,1.2,1,1) 0s,opacity 83ms ease-out 0s;transform:scale(0.15);opacity:0;transform-origin:${({$horizontal:e,$vertical:t})=>`${e==="start"?"left":"right"} ${t}`};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),o=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),o=require("./BlshmoPb.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 o=require("react"),c=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),c=require("./BlshmoPb.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 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),c=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),c=require("./BlshmoPb.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("./
|
|
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("./BlshmoPb.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 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),a=require("styled-components"),o=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),a=require("styled-components"),o=require("./BlshmoPb.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,6 +1,6 @@
|
|
|
1
1
|
import * as t from "react";
|
|
2
2
|
import n from "styled-components";
|
|
3
|
-
import { P as a, I as l, a as c, c as s } from "./
|
|
3
|
+
import { P as a, I as l, a as c, c as s } from "./DcGmTG3A.js";
|
|
4
4
|
const d = ({ label: r = "Something went wrong", action: e, ...o }) => /* @__PURE__ */ t.createElement(a, { icon: "error", label: r, ...o }, e && /* @__PURE__ */ t.createElement(i, { onClick: e.onClick, label: e.label ?? "Retry" })), i = ({ label: r, onClick: e }) => /* @__PURE__ */ t.createElement(m, { tabIndex: 0, onClick: e }, /* @__PURE__ */ t.createElement(l, { type: "refresh", size: 20 }), /* @__PURE__ */ t.createElement(c, { variant: "button", color: s.color.primary.main }, r)), m = n.button`all:unset;display:flex;cursor:pointer;gap:4px;align-items:center;justify-content:center;`;
|
|
5
5
|
export {
|
|
6
6
|
d as default
|
|
@@ -3,7 +3,7 @@ import { useCallback as p } from "react";
|
|
|
3
3
|
import s from "dompurify";
|
|
4
4
|
import h, { RuleType as x } from "markdown-to-jsx";
|
|
5
5
|
import g from "styled-components";
|
|
6
|
-
import { A as b, c as i } from "./
|
|
6
|
+
import { A as b, c as i } from "./DcGmTG3A.js";
|
|
7
7
|
const m = (d, o, n, t) => o.type === x.textStrikethroughed ? /* @__PURE__ */ r.createElement("span", { key: t.key }, `~~${n(o.children, t)}~~`) : d(), z = ({ className: d, children: o, style: n, onClickImage: t }) => {
|
|
8
8
|
const a = p(
|
|
9
9
|
(e) => /* @__PURE__ */ r.createElement("img", { ...e, onClick: () => e.src && (t == null ? void 0 : t(e.src)) }),
|