@sendbird/ai-agent-messenger-react 1.19.1 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/7UVs65zS.cjs +1 -0
- package/dist/cjs/BMS5Zb7W.cjs +1 -0
- package/dist/cjs/BRnfdIkb.cjs +1 -0
- package/dist/cjs/D2Opuq0j.cjs +1 -0
- package/dist/cjs/DFmkiYPE.cjs +1 -0
- package/dist/cjs/DTCJ6-eC.cjs +1 -0
- package/dist/cjs/DbxUqtQc.cjs +1 -0
- package/dist/cjs/DfRVurNO.cjs +1 -0
- package/dist/cjs/Dl0262MS.cjs +1 -0
- package/dist/cjs/JLk8Bvao.cjs +1 -0
- package/dist/es/{DGBsXgND.js → BB3d9QYh.js} +1 -1
- package/dist/es/{BrmYafuu.js → BELIKAJm.js} +1 -1
- package/dist/es/{Bnz_J6Ij.js → BdQuAUPe.js} +1 -1
- package/dist/es/{BQt0I0G7.js → C5TioO5h.js} +1 -1
- package/dist/es/{CTiYbbZ0.js → CNnV1uD8.js} +1 -1
- package/dist/es/{C0ROszna.js → CT9vVq3h.js} +1 -1
- package/dist/es/{B328z7Yh.js → D_jawtL2.js} +1 -1
- package/dist/es/{DLrmbQi7.js → DlJqMPv3.js} +1 -1
- package/dist/es/{3MMW9yZj.js → DqTYCLQ3.js} +1 -1
- package/dist/es/{DKppAyK1.js → ETHHqHi2.js} +1 -1
- package/dist/index.cjs +330 -1
- package/dist/index.d.ts +625 -4
- package/dist/index.js +7370 -37
- package/package.json +10 -4
- package/dist/cjs/6Zr7tYRh.cjs +0 -330
- package/dist/cjs/CNK70fWM.cjs +0 -1
- package/dist/cjs/CQd8GuWE.cjs +0 -1
- package/dist/cjs/CXfbOeBS.cjs +0 -1
- package/dist/cjs/Ct1aEvl9.cjs +0 -1
- package/dist/cjs/DQCOoJ_z.cjs +0 -1
- package/dist/cjs/DZS61iww.cjs +0 -1
- package/dist/cjs/D___JlpJ.cjs +0 -1
- package/dist/cjs/DghGvqtY.cjs +0 -1
- package/dist/cjs/DlQtWfBS.cjs +0 -1
- package/dist/cjs/eRuO6jKx.cjs +0 -1
- package/dist/es/DbmXdAKl.js +0 -6761
package/dist/cjs/6Zr7tYRh.cjs
DELETED
|
@@ -1,330 +0,0 @@
|
|
|
1
|
-
"use strict";var Bo=Object.defineProperty;var Uo=(e,t,n)=>t in e?Bo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var F=(e,t,n)=>Uo(e,typeof t!="symbol"?t+"":t,n);const K=require("@sendbird/chat"),c=require("react"),k=require("styled-components"),De=require("date-fns"),Ho=require("date-fns/locale/en-US"),Ie=require("@sendbird/chat/message"),se=require("@sendbird/chat/aiAgent"),bt=require("@sendbird/chat/groupChannel"),ve=require("@sendbird/uikit-tools"),zo=require("react-dom"),Vo=require("date-fns/isSameDay"),Kt=require("@sendbird/react-uikit-message-template-view"),Go=require("@sendbird/uikit-message-template"),Wo=require("dompurify"),qo=require("@emotion/is-prop-valid"),Tt=e=>e&&e.__esModule?e:{default:e};function jo(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 Ko=Tt(K),o=jo(c),h=Tt(k),Cr=Tt(Wo),Yo=Tt(qo),ze="sb-agent",_r="KEY_IMG_ASPECT_RATIO",Yt="*/*",H={BODY_MAX_WIDTH:244,WIDE_BODY_MAX_WIDTH:640,AVATAR_SIZE:26,BODY_TIME_GAP:4,HORIZONTAL_PADDING:12,GAP_GROUPED:2,GAP_UNGROUPED:16},fe=e=>!!e&&"sender"in e,Xo=e=>fe(e)?e.sendingStatus==="succeeded"?String(e.messageId):e.reqId:String(e.messageId),Zo=(e,t,n,r=!0)=>{if(!r||!fe(e))return"single";const s=()=>{if(!t||!fe(t))return!1;const u=t.sender.userId===e.sender.userId,d=De.isSameMinute(t.createdAt,e.createdAt);return u&&d},a=()=>{if(!n||!fe(n))return!1;const u=n.sender.userId===e.sender.userId,d=De.isSameMinute(n.createdAt,e.createdAt);return u&&d},i=s(),l=a();return i&&l?"middle":i?"bottom":l?"top":"single"},Qe=(e,t)=>(()=>{var r;return fe(e)?e.sender.userId:((r=e==null?void 0:e.sender)==null?void 0:r.userId)??void 0})()===t,He={isAdmin:e=>e.isAdminMessage(),isCSAT:e=>{var t;return e.isAdminMessage()&&!!((t=e.extendedMessagePayload)!=null&&t.csat)},isIncoming:(e,t)=>fe(e)&&e.sender.userId!==t,isOutgoing:(e,t)=>fe(e)&&(e.sender.userId===t||e.sendingStatus===Ie.SendingStatus.PENDING)},we=e=>e.startsWith("image/"),vr=e=>e.startsWith("video/"),un=(e,t)=>{if(e&&!e.startsWith(".")){const n=e.split(".").pop();if(n&&n!==e)return n.toUpperCase()}if(t){const[,n]=t.split("/");if(n)return n.toUpperCase()}return"FILE"},yr=e=>{var t;return e.messageType==="file"?e.message.length>0&&e.file.name!==e.message:e.messageType==="multipleFiles"?e.message.length>0&&((t=e.files[0])==null?void 0:t.name)!==e.message:e.message.length>0},dn=e=>{switch(e){case"top":case"middle":return H.GAP_GROUPED;default:return H.GAP_UNGROUPED}},Jo=(e,t)=>{const n=/```(\w+)?\n([\s\S]*?)```/g,r=[];let s=0;return e.replace(n,(a,...i)=>{const[l,u,d]=i;return s<d&&r.push({type:"text",value:e.slice(s,d).trim()}),r.push({type:"code",value:u.trim(),language:l?l.trim():"plaintext"}),s=d+a.length,a}),s<e.length&&r.push({type:"text",value:e.slice(s).trim()}),t?r.map(a=>a.type!=="text"?a:{...a,value:t(a.value)}):r},Qo=e=>e.replace(/\[([^\]]+)\](?!\()/g,"\\[$1\\]"),es=e=>e.replace(/([a-zA-Z0-9])_(?=[a-zA-Z0-9])/g,"$1\\_"),ts=e=>e.replace(/~~/g,"\\~\\~"),ns=e=>{let t=e;return t=Qo(t),t=es(t),t=ts(t),t},rs=typeof navigator<"u"&&navigator.product==="ReactNative",On=(e,t)=>{const n=r=>!t||t.length===0?!0:fe(r)&&t.includes(r.sendingStatus);return rs?e.find(n):e.findLast(n)};function ye(){}function Sr(){const e=typeof navigator<"u"?navigator.userAgent:"",t=/iPad|iPhone|iPod/.test(e),n=/Android/.test(e);return t||n}function os(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 Xt=e=>{try{return JSON.parse(e===""?"{}":e)}catch{return{}}},ke={isStreaming(e){const t=Xt(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(Qe(e,t)){const r=Xt(e.data);return!(r!=null&&r.respond_mesg_id)&&!(r!=null&&r.stream)}return!1},isGeneratedMessage(e){var t;return((t=e.extendedMessagePayload)==null?void 0:t.bot_message_type)==="generated"},hasFeedback(e){var t;return!!((t=e.extendedMessagePayload)!=null&&t.feedback)}},Bt=`@${ze}`,Rn=({appId:e,aiAgentId:t,storage:n})=>{const r={templateBase:`${Bt}-template`,template:s=>`${r.templateBase}/templates/${s}`,templateToken:()=>`${r.templateBase}/tokens`,messengerSession:s=>{const a=os(`${e}/${t}/${s}`);return`${Bt}-udata/${a}`},anonUserSession:()=>`${Bt}-session/${e}/${t}`};return{template:{set:(s,a)=>n.set(r.template(s),a),get:s=>n.get(r.template(s)),setCachedToken:s=>n.set(r.templateToken(),s),getCachedToken:()=>n.get(r.templateToken()),clear:()=>{n.getKeys(r.templateBase).forEach(n.delete)}},messenger:{getSettings:s=>{try{const a=n.get(r.messengerSession(s));return a?JSON.parse(a):null}catch{return null}},setSettings:(s,a)=>{try{delete a.auto_created_user;const i=JSON.stringify(a);n.set(r.messengerSession(s),i)}catch{return}},getAnonUser:()=>{try{const s=n.get(r.anonUserSession());return s?JSON.parse(s):null}catch{return null}},setAnonUser:s=>{try{const a=JSON.stringify(s);n.set(r.anonUserSession(),a)}catch{return}},clear:s=>{try{s&&n.delete(r.messengerSession(s)),n.delete(r.anonUserSession())}catch{return}}}}},Tr=(e,t,n={})=>{let r=null,s=null,a=null;const{leading:i=!0,trailing:l=!0}=n,u=(...d)=>{const m=Date.now();if(a===null||m-a>=t)i?(e(...d),a=m):(s=d,a=m);else if(s=d,l&&!r){const f=t-(m-a);r=setTimeout(()=>{s&&l&&(e(...s),a=Date.now()),r=null,s=null},f)}};return u.cancel=()=>{r&&(clearTimeout(r),r=null),s=null,a=null},u};class ss{constructor(t,{filter:n,limit:r=20}){F(this,"filter");F(this,"_sdk");F(this,"_pinnedChannels");F(this,"_channels");F(this,"_isDisposed",!1);F(this,"_handlerId",`handler-id-${Date.now()}`);F(this,"_order",bt.GroupChannelListOrder.LATEST_LAST_MESSAGE);F(this,"_limit");F(this,"_query");F(this,"_token");F(this,"_timestamp");F(this,"_isSyncing");F(this,"_channelHandler");F(this,"_connectionHandler");F(this,"_collectionEventHandler");F(this,"_throttledOnChannelChanged");var s,a,i,l,u,d,m;this.filter=n,this._sdk=t,this._pinnedChannels=[],this._channels=[],this._limit=r,this._query=this._sdk.aiAgent.createMyGroupChannelListQuery({aiAgentChannelFilter:(s=this.filter)==null?void 0:s.aiAgentChannelFilter,aiAgentConversationStatusFilter:(a=this.filter)==null?void 0:a.aiAgentConversationStatusFilter,aiAgentIds:(i=this.filter)==null?void 0:i.aiAgentIds,deskChannelFilter:(l=this.filter)==null?void 0:l.deskChannelFilter,pinnedChannelUrls:(u=this.filter)==null?void 0:u.pinnedChannelUrls,copilotConversationOnly:(d=this.filter)==null?void 0:d.copilotConversationOnly,copilotSupportChannelUrl:(m=this.filter)==null?void 0:m.copilotSupportChannelUrl,limit:this._limit}),this._token="",this._timestamp=Number.MAX_SAFE_INTEGER,this._isSyncing=!1,this._throttledOnChannelChanged=Tr(f=>{this._query.belongsTo(f)?this._addChannelsToView([f],!1):this._removeChannelsFromView([f.url])},250,{trailing:!1,leading:!0}),this._channelHandler=new bt.GroupChannelHandler({onChannelChanged:f=>{f.isGroupChannel()&&this._throttledOnChannelChanged(f)},onChannelDeleted:f=>{this._removeChannelsFromView([f])}}),this._connectionHandler=new K.ConnectionHandler({onReconnectSucceeded:()=>{this._isDefaultChangelogSyncTimestampUpdated&&this._syncChannelChangelogs()}}),this._sdk.addConnectionHandler(this._handlerId,this._connectionHandler),this._sdk.groupChannel.addGroupChannelHandler(this._handlerId,this._channelHandler)}get _isDefaultChangelogSyncTimestampUpdated(){return this._timestamp!==Number.MAX_SAFE_INTEGER}_setDefaultChangelogsSyncTimestamp(t){var a,i;const n=new Set(((a=this.filter)==null?void 0:a.pinnedChannelUrls)??[]),r=t.find(l=>!n.has(l.url));let s;r?s=((i=r.lastMessage)==null?void 0:i.createdAt)??r.createdAt:s=this._query.lastResponseAt,this._timestamp>s&&(this._timestamp=s)}async _syncChannelChangelogs(){if(this._isDisposed)return[];if(this._isSyncing)return[];try{this._isSyncing=!0;let t;for(this._token?t=await this._sdk.aiAgent.getMyGroupChannelChangeLogsByToken(this._token,this.filter):t=await this._sdk.aiAgent.getMyGroupChannelChangeLogsByTimestamp(this._timestamp,this.filter),this._token=t.token,this._addChannelsToView(t.updatedChannels),this._removeChannelsFromView(t.deletedChannelUrls);t.hasMore&&t.token;)t=await this._sdk.aiAgent.getMyGroupChannelChangeLogsByToken(this._token,this.filter),this._token=t.token,this._addChannelsToView(t.updatedChannels),this._removeChannelsFromView(t.deletedChannelUrls)}catch{}finally{this._isSyncing=!1}return[]}_upsertPinnedChannelsToArray(t){var l;const n=((l=this.filter)==null?void 0:l.pinnedChannelUrls)??[],r=new Map(n.map((u,d)=>[u,d])),s=[],a=[],i=[];for(const u of t){if(!this._query.belongsTo(u)){i.push(u.url);continue}const d=r.get(u.url);if(d===void 0)continue;const m=Zt(this._pinnedChannels,u);m>=0?(this._pinnedChannels.splice(m,1),a.push(u)):s.push(u);const E=this._pinnedChannels.findIndex(_=>(r.get(_.url)??1/0)>d),v=E===-1?this._pinnedChannels.length:E;this._pinnedChannels.splice(v,0,u)}return{addedChannels:s,updatedChannels:a,unmatchedChannelUrls:i}}_upsertRegularChannelsToArray(t,n=!1){const r=[],s=[],a=[];for(const i of t){if(!this._query.belongsTo(i)){r.push(i.url);continue}const l=Zt(this._channels,i),u=l<0;!u&&this._channels.splice(l,1);const m=as(this._channels,i,this._order).place,f=m===this._channels.length;u?f?(n||!this.hasMore)&&(this._channels.push(i),s.push(i)):(this._channels.splice(m,0,i),s.push(i)):(this._channels.splice(m,0,i),a.push(i))}return{addedChannels:s,updatedChannels:a,unmatchedChannelUrls:r}}_addChannelsToView(t,n=!1){var f,E,v,_,b;const r=new Set(((f=this.filter)==null?void 0:f.pinnedChannelUrls)??[]),s=[],a=[];for(const p of t)r.has(p.url)?s.push(p):a.push(p);const i=this._upsertPinnedChannelsToArray(s),l=this._upsertRegularChannelsToArray(a,n),u=i.addedChannels.concat(l.addedChannels),d=i.updatedChannels.concat(l.updatedChannels),m=i.unmatchedChannelUrls.concat(l.unmatchedChannelUrls);u.length>0&&((v=(E=this._collectionEventHandler)==null?void 0:E.onChannelsAdded)==null||v.call(E,{},u)),d.length>0&&((b=(_=this._collectionEventHandler)==null?void 0:_.onChannelsUpdated)==null||b.call(_,{},d)),m.length>0&&this._removeChannelsFromView(m)}_removeChannelsFromView(t){var s,a,i;const n=new Set(((s=this.filter)==null?void 0:s.pinnedChannelUrls)??[]),r=[];for(const l of t)if(n.has(l)){const u=this._pinnedChannels.findIndex(d=>d.url===l);u>=0&&(r.push(l),this._pinnedChannels.splice(u,1))}else{const u=this._channels.findIndex(d=>d.url===l);u>=0&&(r.push(l),this._channels.splice(u,1))}r.length>0&&((i=(a=this._collectionEventHandler)==null?void 0:a.onChannelsDeleted)==null||i.call(a,{},r))}get channels(){return this._isDisposed?[]:[...this._pinnedChannels,...this._channels]}get hasMore(){return this._isDisposed?!1:this._query.hasNext}async loadMore(){if(this._isDisposed)return[];if(this.hasMore){const t=await this._query.next();return this._setDefaultChangelogsSyncTimestamp(t),this._addChannelsToView(t,!0),t}return[]}setConversationListCollectionHandler(t){this._collectionEventHandler=t}dispose(){this._isDisposed||(this._isDisposed=!0,this._throttledOnChannelChanged.cancel(),this._collectionEventHandler=void 0,this._sdk.removeConnectionHandler(this._handlerId),this._sdk.groupChannel.removeGroupChannelHandler(this._handlerId),this._pinnedChannels.length=0,this._channels.length=0)}}const Zt=(e,t)=>e.findIndex(n=>n.isIdentical(t)),as=(e,t,n)=>{if(e.length>0){const r=Zt(e,t);let s=0,a=e.length-1,i=Math.floor((s+a)/2);for(;s<a;){const u=Dn(e[i],t,n);if(u>0)a=i,i=Math.floor((s+a)/2);else if(u<0)s=i+1,i=Math.floor((s+a)/2);else return{place:i,oldPosition:r}}return{place:Dn(e[i],t,n)>=0?i:i+1,oldPosition:r}}return{place:e.length,oldPosition:-1}},Dn=(e,t,n)=>{switch(n){case bt.GroupChannelListOrder.LATEST_LAST_MESSAGE:if(e.lastMessage&&t.lastMessage){const r=t.lastMessage.createdAt-e.lastMessage.createdAt;return r===0?t.createdAt-e.createdAt:r}else return e.lastMessage?-1:t.lastMessage?1:t.createdAt-e.createdAt;default:return 0}};class Ar{constructor(t){F(this,"subscribers",{});this.logger=t}async send(t){const n=is(),r=this.subscribers[t.type];if(r){this.logger.debug(`messenger.dispatcher: dispatching command: ${t.type}`,t.payload);const s=r.map(a=>a(t.payload));await Promise.all(s).catch(a=>{this.logger.error(`messenger.dispatcher: error in callback for command: ${t.type}`,a)})}return n.resolve(),n.promise}subscribe(t,n){this.subscribers[t]||(this.subscribers[t]=[]),this.subscribers[t].push(n)}unsubscribe(t,n){const r=this.subscribers[t];r&&(this.subscribers[t]=r.filter(s=>s!==n))}}const is=()=>{let e=ye,t=ye;return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}};var Ze=(e=>(e.ConversationClose="conv.close",e.MessengerSettingsUpdated="messenger.settings.updated",e.ActiveChannelUpdated="active.channel.updated",e.AnonymousSessionTokenExpired="anon.token.expired",e))(Ze||{});class At{constructor(t={}){F(this,"payload");this.payload=t}toJSON(){return JSON.stringify({type:this.type,payload:this.payload})}}const mn={CloseConversation:e=>new ls(e),MessengerSettingsUpdated:e=>new cs(e),ActiveChannelUpdated:e=>new us(e),AnonymousSessionTokenExpired:()=>new ds};class ls extends At{constructor(){super(...arguments);F(this,"type","conv.close")}}class cs extends At{constructor(){super(...arguments);F(this,"type","messenger.settings.updated")}}class us extends At{constructor(){super(...arguments);F(this,"type","active.channel.updated")}}class ds extends At{constructor(){super(...arguments);F(this,"type","anon.token.expired")}}var gn=(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))(gn||{});class wr{constructor(t){F(this,"level");this.level=t}verbose(...t){this.level<=0&&console.log(`[${ze}/verbose]`,...t)}debug(...t){this.level<=1&&console.log(`[${ze}/debug]`,...t)}info(...t){this.level<=2&&console.log(`[${ze}/info]`,...t)}warn(...t){this.level<=3&&console.warn(`[${ze}/warn]`,...t)}error(...t){this.level<=4&&console.error(`[${ze}/error]`,...t)}}class Ir{constructor({userId:t,authToken:n,sessionHandler:r}){F(this,"userId");F(this,"authToken");F(this,"sessionHandler");this.userId=t,this.authToken=n,this.sessionHandler=r}}class Jt{constructor(){F(this,"userId");F(this,"authToken");F(this,"sessionHandler")}}const ms=e=>({onSessionTokenRequired:t=>{t(null),e.send(mn.AnonymousSessionTokenExpired())}}),gs="ai_agent:stats",hs="conversation_initial_render",ps=800220;var Y=(e=>(e.AUTH="auth_duration",e.GET_CHANNEL="get_channel_duration",e.GET_MESSAGES="get_messages_duration",e.TOTAL_DURATION="total_duration",e.TOTAL_DURATION_FROM_CACHE="total_duration_from_cache",e))(Y||{});class fs{constructor(){F(this,"timers",new Map);F(this,"committed",!1);F(this,"commitCallback",null);F(this,"conversationId",null);F(this,"channelUrl",null);F(this,"errorCode",null);F(this,"errorDescription",null);F(this,"extraData",{})}setCommitCallback(t){return this.commitCallback=t,this}setConversationId(t){return this.conversationId=t,this}setChannelUrl(t){return this.setExtra("channel_url",t),this}setError(t,n){return this.errorCode=t??ps,this.errorDescription=n,this}setExtra(t,n){return n!=null&&(this.extraData[t]=n),this}startTimer(t){if(this.committed)return this;const n=this.timers.get(t);return(n==null?void 0:n.startTime)!==null&&(n==null?void 0:n.startTime)!==void 0?this:(this.timers.set(t,{startTime:Date.now(),endTime:null}),this)}stopTimer(t){if(this.committed)return this;const n=this.timers.get(t);return!n||n.startTime===null||n.endTime!==null?this:(this.timers.set(t,{...n,endTime:Date.now()}),this)}getDuration(t){const n=this.timers.get(t);return!n||n.startTime===null||n.endTime===null?null:n.endTime-n.startTime}isCommitted(){return this.committed}commit(){if(this.committed||!this.commitCallback)return!1;const t=this.buildPayload();return t?(this.committed=!0,this.commitCallback(gs,t)):!1}}class Es extends fs{constructor(){super(...arguments);F(this,"presentMethod","direct_present")}setPresentMethod(n){return this.presentMethod=n,this}getMetricKey(){return hs}buildPayload(){const n=this.getDuration(Y.AUTH),r=this.getDuration(Y.GET_CHANNEL),s=this.getDuration(Y.GET_MESSAGES),a=this.getDuration(Y.TOTAL_DURATION_FROM_CACHE),i=this.getDuration(Y.TOTAL_DURATION),l={...this.extraData,present_method:this.presentMethod,...n!==null&&{auth_duration:n},...r!==null&&{get_channel_duration:r},...s!==null&&{get_messages_duration:s},...a!==null&&{total_duration_from_cache:a}},u={key:this.getMetricKey(),value:i!==null?String(i):"0"};return this.conversationId!==null&&(u.conversation_id=this.conversationId),this.errorCode!==null&&(u.error_code=this.errorCode),this.errorDescription!==null&&(u.error_description=this.errorDescription),Object.keys(l).length>0&&(u.extra=l),u}}class bs{constructor(t){F(this,"commitCallback");F(this,"presentMethod","direct_present");F(this,"stats",null);this.commitCallback=t}getOrCreateStats(){return(!this.stats||this.stats.isCommitted())&&(this.stats=new Es().setCommitCallback(this.commitCallback).setPresentMethod(this.presentMethod)),this.stats}onAuthStart(){this.getOrCreateStats().startTimer(Y.TOTAL_DURATION).startTimer(Y.TOTAL_DURATION_FROM_CACHE).startTimer(Y.AUTH)}onAuthComplete(){var t;(t=this.stats)==null||t.stopTimer(Y.AUTH)}onAuthError(t){this.stats&&!this.stats.isCommitted()&&this.stats.stopTimer(Y.AUTH).setError(t instanceof K.SendbirdError?t.code:void 0,t.message).stopTimer(Y.TOTAL_DURATION).commit()}onGetChannelStart(){var t;(t=this.stats)==null||t.startTimer(Y.GET_CHANNEL)}onGetChannelComplete(t){this.stats&&(this.stats.stopTimer(Y.GET_CHANNEL),t!==void 0&&this.stats.setConversationId(t),this.stats.startTimer(Y.GET_MESSAGES))}onGetChannelError(t){this.stats&&!this.stats.isCommitted()&&this.stats.stopTimer(Y.GET_CHANNEL).setError(t instanceof K.SendbirdError?t.code:void 0,t.message).stopTimer(Y.TOTAL_DURATION).commit()}onCacheResult(t){this.stats&&!this.stats.isCommitted()&&(t&&this.stats.setError(t instanceof K.SendbirdError?t.code:void 0,t.message),this.stats.stopTimer(Y.TOTAL_DURATION_FROM_CACHE))}onApiResult(t){this.stats&&!this.stats.isCommitted()&&(t&&this.stats.setError(t instanceof K.SendbirdError?t.code:void 0,t.message),this.stats.stopTimer(Y.TOTAL_DURATION).stopTimer(Y.GET_MESSAGES).commit())}setChannelUrl(t){var n;(n=this.stats)==null||n.setChannelUrl(t)}cleanup(){var t;(t=this.stats)==null||t.commit()}setPresentMethod(t){var n;this.presentMethod=t,(n=this.stats)==null||n.setPresentMethod(t)}clear(){this.stats=null}}const Ae={conversation:{isTalkToAgentViewEnabled:!0,scrollMode:"auto",newMessageIndicatorEnabled:!0,senderAvatarEnabled:!0,messageAlertSoundEnabled:!1,header:{avatarEnabled:!0},input:{camera:{photoEnabled:!0},gallery:{photoEnabled:!0},fileEnabled:!0},fileViewer:{downloadEnabled:!0}}},xs=e=>{var t,n,r,s,a,i,l,u,d,m,f,E,v,_;return e?{...Ae,...e,conversation:{...Ae.conversation,...e==null?void 0:e.conversation,header:{...(t=Ae.conversation)==null?void 0:t.header,...(n=e==null?void 0:e.conversation)==null?void 0:n.header},input:{...(r=Ae.conversation)==null?void 0:r.input,...(s=e==null?void 0:e.conversation)==null?void 0:s.input,camera:{...(i=(a=Ae.conversation)==null?void 0:a.input)==null?void 0:i.camera,...(u=(l=e==null?void 0:e.conversation)==null?void 0:l.input)==null?void 0:u.camera},gallery:{...(m=(d=Ae.conversation)==null?void 0:d.input)==null?void 0:m.gallery,...(E=(f=e==null?void 0:e.conversation)==null?void 0:f.input)==null?void 0:E.gallery}},fileViewer:{...(v=Ae.conversation)==null?void 0:v.fileViewer,...(_=e==null?void 0:e.conversation)==null?void 0:_.fileViewer}}}:Ae},ue=e=>{var t,n;return!!(e!=null&&e.isAIAgent&&((t=e==null?void 0:e.conversation)==null?void 0:t.status)===se.ConversationStatus.CLOSED||e!=null&&e.isDesk&&((n=e==null?void 0:e.helpdeskInfo)==null?void 0:n.ticketStatus)==="closed")},hn=e=>{var t,n;return!!(e!=null&&e.isAIAgent&&((t=e==null?void 0:e.conversation)==null?void 0:t.status)===se.ConversationStatus.OPEN||e!=null&&e.isDesk&&((n=e==null?void 0:e.helpdeskInfo)==null?void 0:n.ticketStatus)==="open")};function Ve(e){var n,r,s;return typeof(((n=e==null?void 0:e.conversation)==null?void 0:n.handedOverAt)??((s=(r=e==null?void 0:e.conversation)==null?void 0:r.handoff)==null?void 0:s.timestamp))=="number"}function Cs(e){var t;if(((t=e==null?void 0:e.resolution)==null?void 0:t.determinedBy)==="user")return e.resolution.isResolved}function Nn(e){return!!e&&e<Date.now()}function _s(e){return!e.title}function vs(e,t){var n;if(e)return _s(e)?{...e,title:t.title,csat_question:t.question,csat_scores:[{label:"",image_url:"https://static.dashboard.sendbird.com/assets/ai-agent/angry-active.png"},{label:"",image_url:"https://static.dashboard.sendbird.com/assets/ai-agent/suspicious-active.png"},{label:"",image_url:"https://static.dashboard.sendbird.com/assets/ai-agent/neutral-active.png"},{label:"",image_url:"https://static.dashboard.sendbird.com/assets/ai-agent/smile-active.png"},{label:"",image_url:"https://static.dashboard.sendbird.com/assets/ai-agent/happy-active.png"}],cre:{required:((n=e.cre)==null?void 0:n.required)??!0,question:t.cre.question,positive_label:t.cre.positive_label,negative_label:t.cre.negative_label},follow_up:[{response_type:"free_text",scores:[1,2,3,4,5],question:t.followUp.question,always_visible:!1}],csat_submit_label:t.submit_label,csat_submitted_label:t.submitted_label}:e}const kr=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)}},et=e=>JSON.parse(e),wt=e=>JSON.parse(e);function ys(e,t){const[n,r]=t.split(",").map(s=>s.trim());return e==="dark"&&r||n}function Ss(e){const t={};function n(r,s=""){for(const[a,i]of Object.entries(r)){const l=s?`${s}.${a}`:a;i&&typeof i=="object"&&!Array.isArray(i)?n(i,l):t[l]=i}}return n(e),t}function pn({template:e,variables:t,variableKeyPattern:n,variableValueTransformer:r}){return Object.entries(t).reduce((s,[a,i])=>{if(!r&&!["number","boolean","string"].includes(typeof i))throw new Error(`If transformer is not provided, value(${a}:${i}) must be a {string, number, or boolean}`);const l=r?r(i):String(i),u=n(a);return s.replace(u,kr(l))},e)}async function Ts({template:e,variables:t,variableKeyPattern:n,variableValueTransformer:r}){return(await Promise.all(Object.entries(t).map(async([a,i])=>{const l=await r(i);return{regex:n(a),transformedValue:l}}))).reduce((a,{regex:i,transformedValue:l})=>a.replace(i,kr(l)),e)}var Qt=(e=>(e[e.EXTERNAL_AUTH_TOKEN_EXPIRED=1]="EXTERNAL_AUTH_TOKEN_EXPIRED",e))(Qt||{});const Mr=e=>typeof e=="object"&&e!==null,Pn=(e,t)=>t in e&&typeof e[t]=="string"&&e[t]!=="",As=e=>!Mr(e)||!Pn(e,"channel_url")||!Pn(e,"ai_agent_id")?null:{channelUrl:e.channel_url,aiAgentId:e.ai_agent_id},ws={1:As};function Is(e){if(!Mr(e)||!("cat"in e)||typeof e.cat!="number"||!("data"in e))return null;const t=e.cat,n=ws[t];if(!n)return null;const r=n(e.data);return r?{category:t,data:r}:null}function Fn(e,t,n,r){const s=Ko.default.init({appId:e,modules:[new bt.GroupChannelModule,new se.AIAgentModule],localCacheEnabled:!0,options:new K.SendbirdChatOptions({typingIndicatorInvalidateTime:2e4}),...r});return s.addSendbirdExtensions([{version:n,product:K.SendbirdProduct.AI_AGENT,platform:t.platform}],{platform:t.deviceOSPlatform,version:t.deviceOSVersion},t.customData)||console.warn("Invalid Sendbird Extensions",t),s}function ks(e){const t=n=>{throw new Error(`Please initialize chat sdk with ${n}`)};typeof e.groupChannel!="object"&&t("GroupChannelModule"),typeof e.aiAgent!="object"&&t("AIAgentModule")}const ct=new Map,Ms={set:(e,t)=>{ct.set(e,t)},get:e=>{if(ct.size===0)throw new Error("AIAgent platform not configured. Ensure you are using the correct package (@sendbird/ai-agent-messenger-react or @sendbird/ai-agent-messenger-react-native).");if(e){const n=ct.get(e);if(!n)throw new Error(`AIAgent platform "${e}" is not configured.`);return{platform:e,...n}}const t=ct.entries().next().value;return{platform:t[0],...t[1]}}},ee=(e,t)=>{const n=c.createContext(null),r=({children:i,value:l})=>o.createElement(n.Provider,{value:l},typeof i=="function"?i(l):i),s=({children:i})=>o.createElement(n.Consumer,null,l=>l?typeof i=="function"?i(l):i:null),a=()=>{const i=c.useContext(n);if(!i)throw new Error(`use${e}Context must be used within a ${e}Provider`);return i};return n.displayName=`${e}Context`,r.displayName=`${e}Provider`,s.displayName=`${e}Consumer`,a.displayName=`use${e}Context`,{Context:n,Provider:r,Consumer:s,useContext:a}};function Ee(e){const t=c.createContext({Template:e.template,updateTemplate:()=>{},components:e.components,updateComponent:()=>{}});function n({children:a}){const[i,l]=c.useState(()=>e.template),[u,d]=c.useState(e.components),m={Template:i,updateTemplate:f=>l(()=>f),components:u,updateComponent:(f,E)=>d(v=>({...v,[f]:E}))};return o.createElement(t.Provider,{value:m},a)}function r({template:a,children:i}){const{updateTemplate:l}=c.useContext(t);return c.useLayoutEffect(()=>{a&&l(a)},[a]),o.createElement(o.Fragment,null,i)}function s({children:a}){return o.createElement(n,null,a)}return s.defaults=e,s.useContext=()=>c.useContext(t),s.Context=t,s.Template=r,Object.keys(e.components).forEach(a=>{s[a]=function({component:l}){const{updateComponent:u}=c.useContext(t);return c.useLayoutEffect(()=>{l&&u(a,l)},[l]),null}}),s}function $s(...e){return function({children:n}){return e.reduce((r,s)=>o.createElement(s,null,r),n)}}function Ls(e,t){var r;const n=e.lastMessage;if(n!=null&&n.isUserMessage()||n!=null&&n.isAdminMessage())return n.message||"";if(n!=null&&n.isFileMessage())return n.message||n.name||"FILE";if(n!=null&&n.isMultipleFilesMessage()){if(n.message)return n.message;const s=n.fileInfoList.length;return((r=t==null?void 0:t.formatMultipleFilesCount)==null?void 0:r.call(t,s))??`${s} photos`}return e.name}function Os(e,t,n){var i;const r=new Date,s=new Date(((i=e.lastMessage)==null?void 0:i.createdAt)||e.createdAt),a=De.differenceInMinutes(r,s);return a<1?n.justNow:a<60?n.minutesAgo(a):De.isToday(s)?n.hoursAgo(De.differenceInHours(r,s)):t(s,n.dateShortFormat)}const{Provider:Rs,useContext:te}=ee("AIAgent");function Ds({appId:e,aiAgentId:t,keyValueStorage:n,networkStateAdapter:r,language:s,countryCode:a,context:i,queryParams:l,config:u,chatSDK:d,chatParams:m,children:f,logger:E,dispatcher:v,messengerVersion:_,extensions:b={platform:K.SendbirdPlatform.JS,deviceOSPlatform:Sr()?K.DeviceOsPlatform.MOBILE_WEB:K.DeviceOsPlatform.WEB}}){const[p,x]=c.useState(()=>{const C=E??new wr(gn.WARN),y=v??new Ar(C);return{logger:C,dispatcher:y,chatSDK:d??Fn(e,b,_,m),cache:Rn({appId:e,aiAgentId:t,storage:n})}});return c.useEffect(()=>{x(C=>{let y=C.logger,T=C.dispatcher,I=C.chatSDK;return E&&E!==C.logger&&(y=E),v&&v!==C.dispatcher&&(T=v),d&&d!==C.chatSDK?I=d:!d&&C.chatSDK.appId!==e&&(I=Fn(e,b,_,{newInstance:!0,...m})),{...C,logger:y,dispatcher:T,chatSDK:I,cache:Rn({appId:e,aiAgentId:t,storage:n})}})},[e,t,E,v,d,n]),c.useEffect(()=>()=>{p.chatSDK.connectionState==="OPEN"&&p.chatSDK.disconnectWebSocket()},[p.chatSDK]),ks(p.chatSDK),o.createElement(Rs,{value:{...p,appId:e,aiAgentId:t,context:i,language:s,countryCode:a,queryParams:l,config:xs(u),networkStateAdapter:r}},f)}const Ns=(e,t,n)=>ve.useGroupChannelMessages(e,t,{...n,strictStreamingOrder:!0}),Je={DEFAULT_PRIMARY:"#000000",DEFAULT_BOT_MSG_BG:"#ECECEC",WHITE:"#ffffff",BLACK:"#000000"};function $r(e){return e.length===4?`#${[...e.slice(1)].map(t=>t+t).join("")}`:e}function Ps(e){const t=$r(e);return[parseInt(t.slice(1,3),16),parseInt(t.slice(3,5),16),parseInt(t.slice(5,7),16)]}function Fs(e){return`#${e.map(t=>t.toString(16).padStart(2,"0")).join("")}`}function Bs(e,t,n){e/=255,t/=255,n/=255;const r=Math.max(e,t,n),s=Math.min(e,t,n),a=r-s;let i=0,l=0;const u=(r+s)/2;return r!==s&&(l=u>.5?a/(2-r-s):a/(r+s)),r===e?i=(t-n)/a+(t<n?6:0):r===t?i=(n-e)/a+2:r===n&&(i=(e-t)/a+4),i/=6,[i,l,u]}function Us(e,t,n){let r,s,a;if(t===0)r=s=a=n;else{const i=function(m,f,E){return E<0&&(E+=1),E>1&&(E-=1),E<.16666666666666666?m+(f-m)*6*E:E<.5?f:E<.6666666666666666?m+(f-m)*(.6666666666666666-E)*6:m},l=n<.5?n*(1+t):n+t-n*t,u=2*n-l;r=i(u,l,e+1/3),s=i(u,l,e),a=i(u,l,e-1/3)}return[Math.round(r*255),Math.round(s*255),Math.round(a*255)]}function ut(e,t,n){const[r,s,a]=Ps(e),[i,l,u]=Bs(r,s,a),d=Math.max(0,Math.min(1,u*t)),m=Math.max(0,Math.min(1,l*n)),[f,E,v]=Us(i,m,d);return Fs([Math.round(f),Math.round(E),Math.round(v)])}function Hs(e,t="light"){return{extraDark:ut(e,.6,1.2),dark:ut(e,.85,1.1),main:e,light:ut(e,t==="dark"?1.1:1.5,t==="dark"?.95:.9),extraLight:ut(e,t==="dark"?1.2:1.75,t==="dark"?.9:.8)}}function en(e){const t=$r(e),n=149,r=+`0x${t[1]}${t[2]}`,s=+`0x${t[3]}${t[4]}`,a=+`0x${t[5]}${t[6]}`;return r*.299+s*.587+a*.114>n?Je.BLACK:Je.WHITE}function zs(e,t,n,r,s){return{base:{primary:t,primaryContrastContent:n,background:e.background50,headerBackground:e.background50,modalContentBackground:e.background50},messageInput:{text:e.onlight.textHighEmphasis,placeholderText:e.onlight.textLowEmphasis,background:e.background100},messageIncoming:{text:s,background:r},messageOutgoing:{text:n,background:t},csat:{background:e.background100}}}const Vs=(e,t,n,r,s)=>({base:{primary:t,primaryContrastContent:n,background:e.background600,headerBackground:e.background500,modalContentBackground:e.background500},messageInput:{text:e.ondark.textHighEmphasis,placeholderText:e.ondark.textLowEmphasis,background:e.background400},messageIncoming:{text:s,background:r},messageOutgoing:{text:n,background:t},csat:{background:e.background400}}),dt={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)"}},Ut={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 Bn(e){const t=Gs(e),{colors:n,aiAgentColorVariables:r}=Ws(e,t),s=js(e);return{selectedTheme:e.selectedTheme,palette:t,colors:n,aiAgentColorVariables:r,typography:s}}function Gs({selectedTheme:e,palette:t,primary:n}){const r=t!=null&&t.primary?t.primary:n?n===dt.primary.main?dt.primary:Hs(n,e):dt.primary;return{...dt,primary:r,...t}}function Ws({selectedTheme:e,primaryContrast:t,botMessageBackground:n,botMessageBackgroundContrast:r},s){const a=s.primary.main,i=t??en(a),l=n??Je.DEFAULT_BOT_MSG_BG,u=r??en(l);return{colors:(e==="light"?zs:Vs)(s,a,i,l,u),aiAgentColorVariables:{primary_color:a,bot_message_bg_color:l,primary_contrast_color:i,bot_message_bg_contrast_color:u}}}function qs(e,t,n){const r={...e};return n.forEach(s=>{const a=t[s];a!=null&&(r[s]=a)}),r}function js({typography:e}){if(!e)return Ut;const t={...Ut};return Object.keys(e).forEach(n=>{const r=e[n];if(r&&typeof r=="object"){const s=Ut[n],a=["fontSize","fontWeight","fontFamily","lineHeight"];t[n]=qs(s,r,a)}}),t}const{Provider:Ks,useContext:fn}=ee("AIAgentTheme");function Ys({logger:e,palette:t,typography:n,appearance:r,children:s}){const a=c.useRef(null),[i,l]=c.useState(()=>Bn({selectedTheme:(r==null?void 0:r.theme)??"light",palette:t,typography:n,primary:r==null?void 0:r.primaryColor,botMessageBackground:r==null?void 0:r.botMessageBackgroundColor})),u=c.useCallback((d,m)=>{m&&(a.current=m);const f=(r==null?void 0:r.theme)??d,E=a.current?a.current.themes[f]:null,v={primary:r==null?void 0:r.primaryColor,primaryContrast:void 0,botMessageBackground:r==null?void 0:r.botMessageBackgroundColor,botMessageBackgroundContrast:void 0};!v.primary&&(E!=null&&E.primary_color)&&(v.primary=E.primary_color,v.primaryContrast=E.primary_contrast_color),!v.botMessageBackground&&(E!=null&&E.bot_message_bg_color)&&(v.botMessageBackground=E.bot_message_bg_color,v.botMessageBackgroundContrast=E.bot_message_bg_contrast_color);const _=Bn({selectedTheme:f,palette:t,typography:n,...v});l(_),e==null||e.info("theme.update:",f)},[r==null?void 0:r.theme,r==null?void 0:r.primaryColor,r==null?void 0:r.botMessageBackgroundColor,t,n,e]);return c.useEffect(()=>{(r!=null&&r.theme||r!=null&&r.primaryColor||r!=null&&r.botMessageBackgroundColor)&&u(i.selectedTheme)},[r==null?void 0:r.theme,r==null?void 0:r.primaryColor,r==null?void 0:r.botMessageBackgroundColor]),o.createElement(Ks,{value:{theme:i,updateTheme:u}},s)}const Ht=25*1024*1024,Un=1,Hn=new Set(["image/png","image/jpeg","image/jpg"]),zn=new Set(["application/pdf"]),Xs={off:"off",always:"always",handed_off_only:"handed_off_only"},Zs=()=>{const[e,t]=c.useState(()=>({maxAttachmentCount:Un,attachmentMode:"handed_off_only",defaultUploadSizeLimit:Ht,uploadSizeLimitPerType:new Map,supportedImageMimeTypes:Hn,supportedFileMimeTypes:zn})),n=c.useCallback(({active_channel:s,upload_restriction:a})=>{t({maxAttachmentCount:(a==null?void 0:a.max_attachment_count)??Un,attachmentMode:Xs[s.attachment_mode]??"handed_off_only",defaultUploadSizeLimit:(a==null?void 0:a.default_upload_size_limit)??Ht,uploadSizeLimitPerType:new Map(Object.entries((a==null?void 0:a.upload_size_limit_per_type)??[])),supportedImageMimeTypes:new Set((a==null?void 0:a.supported_image_mime_types)??Hn),supportedFileMimeTypes:new Set((a==null?void 0:a.supported_file_mime_types)??zn)})},[]),r=c.useCallback(s=>{const{channel:a,uploadSizeLimit:i=Ht}=s,l=(d=!0)=>a!=null&&a.isAIAgent?d?Ve(a):!1:!0,u=d=>{if(l())return e.defaultUploadSizeLimit??i;const m=e.defaultUploadSizeLimit??i,f=e.uploadSizeLimitPerType.get(d)??m;return Math.min(m,f)};return{maxAttachmentCount:e.maxAttachmentCount,isEnabled:()=>{if(l(!1))return!0;switch(e.attachmentMode){case"off":return!1;case"always":return!0;case"handed_off_only":return Ve(a);default:return!0}},get supportedMimeTypes(){return l()?[Yt]:[...e.supportedImageMimeTypes,...e.supportedFileMimeTypes]},isSupportedMimeType:d=>l()?!0:e.supportedImageMimeTypes.has(d)||e.supportedFileMimeTypes.has(d),getUploadSizeLimit:u,getUploadSizeLimitInMB:d=>u(d)/(1024*1024)}},[e]);return{updateBaseAttachmentRules:n,createAttachmentRules:r}};function Lr(){const{chatSDK:e,logger:t}=te();return c.useCallback(async n=>{if(n.userId===""){const r=new Error("userId cannot be empty string for messenger settings request");throw t.error("requestMessengerSettings: invalid userId",r),r}return await e.aiAgent.requestMessengerSettings({...n,shouldSendFirstMessage:!1})},[e,t])}function Js(){const{chatSDK:e,logger:t}=te(),n=c.useCallback(async(s,a,i)=>{if(t.debug("useChatConnection.connect: start, session",s.userId),a){const l=new K.SessionHandler({...a,onSessionTokenRequired:Qs(a.onSessionTokenRequired,i)});e.setSessionHandler(l),e.aiAgent.addEventHandler(Qt.EXTERNAL_AUTH_TOKEN_EXPIRED.toString(),u=>{var m;t.debug("useChatConnection: EXTERNAL_AUTH_TOKEN_EXPIRED event received",u);const d=Is(u);(d==null?void 0:d.category)===Qt.EXTERNAL_AUTH_TOKEN_EXPIRED&&(t.debug("useChatConnection: calling onExternalAuthTokenExpired handler",d.data),(m=a==null?void 0:a.onExternalAuthTokenExpired)==null||m.call(a,d.data))})}try{return await e.connect(s.userId,s.authToken),t.debug("useChatConnection.connect: end, currentUser",e.currentUser),e.currentUser}catch(l){const u=l;if(e.isCacheEnabled){if(ta(u))t.warn("useChatConnection.connect","offline connect restricted",u.message,u.code),t.warn("useChatConnection.connect","clear cached-data"),await e.clearCachedData().catch(d=>t.warn("useChatConnection.connect","clear cached-data failure",d));else if(e.currentUser)return t.debug("useChatConnection.connect: end (offline), currentUser",e.currentUser),e.currentUser}throw t.warn("useChatConnection.connect","connect failure",u.message,u.code),u}},[e,t]),r=c.useCallback(async()=>{t.debug("useChatConnection.disconnect: start"),e.aiAgent.removeAllEventHandlers(),await e.disconnect(),t.debug("useChatConnection.disconnect: end")},[e,t]);return{connect:n,disconnect:r}}function Qs(e,t){if(e)return async(n,r)=>{new Promise((s,a)=>e==null?void 0:e(s,a)).then(s=>{s&&(t==null||t(s)),n(s)}).catch(s=>{r(s)})}}const ea=[400300,400301,400302,400310];function ta(e){return ea.some(t=>e.code===t)}const na=1440*60*1e3,ra=e=>{const{logger:t,cache:n}=te(),r=()=>{const a=n.messenger.getAnonUser();return a?a.expireAt-na<=Date.now()?(t.debug("useUserSessionCandidate.getAnonymousSessionInfo: auto session expired, clear cache"),n.messenger.clear(a.userId),null):(t.debug("useUserSessionCandidate.getAnonymousSessionInfo: auto session info detected"),a):null},s=()=>{if(!e||e instanceof Jt)throw new Error("userSessionInfo must be an instance of ManualSessionInfo");if(typeof e.userId!="string")throw new Error("userSessionInfo.userId must be a string");const a=["userId","authToken","sessionHandler"].filter(i=>!(i in e));return a.length>0&&t.error(`useUserSessionCandidate.getManualSessionInfo: missing required keys in userSessionInfo: ${a.join(", ")}`),t.debug("useUserSessionCandidate.getManualSessionInfo: manual session info detected"),e};return c.useMemo(()=>e instanceof Ir?{type:"manual",userSessionCandidate:s()}:e instanceof Jt?{type:"anonymous",userSessionCandidate:r()}:e&&typeof e=="object"?(t.warn("Please use ManualSessionInfo instead of the old userSessionInfo format."),{type:"manual",userSessionCandidate:s()}):e===void 0?(t.warn("Please use AnonymousSessionInfo instead of undefined userSessionInfo."),{type:"anonymous",userSessionCandidate:r()}):{type:"anonymous",userSessionCandidate:null},[t,e==null?void 0:e.userId,e==null?void 0:e.authToken,e==null?void 0:e.sessionHandler,n.messenger.getAnonUser,n.messenger.clear])};function oa({userSessionInfo:e,onUpdateMessengerSettings:t,onPreAuth:n,onPostAuth:r,onErrorAuth:s,onAuthTokenRefreshed:a,onPostDeauth:i,forceCreateChannel:l}){const{aiAgentId:u,language:d,context:m,countryCode:f,logger:E,cache:v,dispatcher:_}=te(),{connect:b,disconnect:p}=Js(),{type:x,userSessionCandidate:C}=ra(e),y=Lr(),T=c.useCallback(async()=>{var N;E.debug("useAuthentication.authenticate: start");const w=C!=null&&C.userId?v.messenger.getSettings(C.userId):null;w!=null&&w.bot&&(t(w),E.debug("useAuthentication.authenticate: cached messenger settings",w));const S=await y({aiAgentId:u,userId:C==null?void 0:C.userId,language:d,country:f,context:m,forceCreateChannel:l,knownActiveChannelUrl:(N=w==null?void 0:w.active_channel)==null?void 0:N.channel_url});E.debug("useAuthentication.authenticate: messenger settings response",S);let $=null;if(S.auto_created_user)if(x==="manual")E.warn("Received auto created user info but current session is manual. Ignoring auto created user info."),$={userId:C.userId,authToken:C.authToken};else{const{user_id:D,session_token:O,expire_at:z}=S.auto_created_user;v.messenger.setAnonUser({userId:D,authToken:O,expireAt:z}),$={userId:D,authToken:O}}else $={userId:(C==null?void 0:C.userId)??"",authToken:(C==null?void 0:C.authToken)??""};v.messenger.setSettings($.userId,S),t(S);try{await n(S,$);const D=x==="anonymous"?ms(_):C==null?void 0:C.sessionHandler;await b($,D,a),await r(S,$)}catch(D){throw D instanceof Error&&(s(D),E.error("useAuthentication.authenticate: failed to connect",D)),D}return S},[y,b,x,C==null?void 0:C.userId,C==null?void 0:C.sessionHandler,C==null?void 0:C.authToken,u,d,m,f,l,v.messenger.setAnonUser,v.messenger.getSettings,v.messenger.setSettings,t,n,r,s,a]),I=c.useCallback(async()=>{E.debug("useAuthentication.deauthenticate: start"),await p(),i(),E.debug("useAuthentication.deauthenticate: completed")},[p,E,i]);return{authenticate:T,deauthenticate:I,userSessionCandidate:C}}const sa=()=>{const{chatSDK:e,logger:t,cache:n}=te(),r=c.useCallback(()=>{var l,u;const a=(u=(l=e.appInfo)==null?void 0:l.aiAgentInfo)==null?void 0:u.templateListToken;if(!a)return!1;const i=n.template.getCachedToken();return i?a!==i:!0},[e,n.template.getCachedToken]),s=c.useCallback(async()=>{try{const{templates:a,token:i}=await e.aiAgent.getMessageTemplates({limit:20});for(const{template:l}of a){const{key:u}=et(l);n.template.set(u,l)}n.template.setCachedToken(i)}catch(a){t==null||t.error("messageTemplateContext.syncCachedTemplates: error:",a)}},[e,t,n.template.set,n.template.setCachedToken]);return{shouldSyncCachedTemplate:r,syncCachedTemplates:s}},Vn=(...e)=>{const[t,n,r]=e;if(e.length===1&&typeof t=="object"&&t!==null)return{type:"active",context:t};if(e.length===3&&typeof t=="string"&&typeof n=="string"&&typeof r=="object"&&r!==null)return{type:"specific",aiAgentId:t,channelUrl:n,context:r};throw new Error("Invalid arguments: expected (context) or (aiAgentId, channelUrl, context)")},je=e=>({...e,context:e.context??{}}),{Provider:aa,useContext:tt}=ee("AIAgentMessengerSession"),ia=c.forwardRef(function({userSessionInfo:e,forceCreateChannel:t,children:n},r){const{appId:s,aiAgentId:a,chatSDK:i,language:l,countryCode:u,context:d,cache:m,logger:f}=te(),{updateTheme:E}=fn(),[v,_]=c.useState(void 0),[b,p]=c.useState(void 0),[x,C]=c.useState(null),[y,T]=c.useState(null),[I,w]=c.useState(null),[S,$]=c.useState(null),[N]=c.useState(()=>({initialRender:new bs((A,R)=>i.aiAgent.appendStat(A,R))})),{updateBaseAttachmentRules:D,createAttachmentRules:O}=Zs(),{shouldSyncCachedTemplate:z,syncCachedTemplates:V}=sa(),j=Lr(),{authenticate:ae,deauthenticate:ie}=oa({userSessionInfo:e,forceCreateChannel:t,onUpdateMessengerSettings:c.useCallback(A=>{const{appearance:R,bot:P,launcher:X}=A;E(R.selected_theme,R),w({userId:P.bot_userid,profileUrl:P.bot_profile_url,nickname:P.bot_nickname,replyToFile:P.reply_to_file,specialNotice:P.special_notice,specialNoticeEnabled:P.is_special_notice_enabled,showHandoffButton:P.show_handoff_button??!0,isMultipleActiveConversationsEnabled:P.is_multiple_active_conversations_enabled??!0,isUserFeedbackEnabled:A.bot.is_user_feedback_enabled??!1,isUserFeedbackCommentOptionEnabled:A.bot.is_user_feedback_comment_option_enabled??!1}),$({type:X.image_type||"default_icon",imageUrl:X.image_url}),D(A)},[E]),onPreAuth:c.useCallback((A,R)=>{_(void 0),T(R),N.initialRender.onAuthStart()},[N]),onPostAuth:c.useCallback(async A=>{N.initialRender.onAuthComplete(),C(i.currentUser),z()&&await V(),p({url:A.active_channel.channel_url,status:"open"})},[i,z,V,N]),onErrorAuth:c.useCallback(A=>{N.initialRender.onAuthError(A),_(A)},[N]),onAuthTokenRefreshed:c.useCallback(A=>{T(R=>R?{...R,authToken:A}:null)},[]),onPostDeauth:c.useCallback(()=>{m.template.clear(),m.messenger.clear(y==null?void 0:y.userId),N.initialRender.clear(),C(null),p(void 0),T(null),w(null),$(null)},[m.template.clear,m.messenger.clear,y,N])}),Be=c.useCallback(async()=>{var A;if(y){f.debug("agentMessengerSession.refreshActiveChannel: try to refresh active channel"),p(void 0);const R=await j({aiAgentId:a,userId:y.userId,language:l,country:u,context:d,forceCreateChannel:t,knownActiveChannelUrl:(A=m.messenger.getSettings(y.userId))==null?void 0:A.active_channel.channel_url});return m.messenger.setSettings(y.userId,R),p({url:R.active_channel.channel_url,status:"open"}),f.info("agentMessengerSession.refreshActiveChannel: refreshed active channel",R.active_channel.channel_url),R.active_channel.channel_url}else throw f.error("agentMessengerSession.refreshActiveChannel: userSession is not ready"),new Error("userSession is not ready")},[j,s,a,y==null?void 0:y.userId,l,u,d,t,m.messenger.getSettings,m.messenger.setSettings]),qe=c.useCallback(async A=>{if(!(y!=null&&y.userId))throw new Error("Current user is not authenticated. Please authenticate first.");const R=await j({...A,userId:y.userId,knownActiveChannelUrl:void 0}),P=R.active_channel.channel_url;return m.messenger.setSettings(y.userId,R),P},[y==null?void 0:y.userId,j]),M=c.useCallback(async A=>{if(!i.currentUser)throw new Error("Current user is not authenticated. Please authenticate first.");if(Object.entries(A.context).length===0)return[];const R=i.aiAgent.createConversationListQuery({aiAgentId:A.aiAgentId,status:se.ConversationStatus.OPEN,limit:100}),P=[];for(;R.hasNext;){const X=await R.next();for(const J of X)la(J.context??{},A.context)&&P.push(J.channelInfo.url)}return P},[i]),[ce]=c.useState(()=>Tr(A=>{var R;f.info("agentMessengerSession.channelChanged: channel.conversation",A.conversation),p({url:A.url,status:ue(A)?"closed":"open",conversationStatus:(R=A.conversation)==null?void 0:R.status})},250,{trailing:!1,leading:!0}));return ve.useGroupChannelHandler(i,{onChannelChanged:A=>{A.isGroupChannel()&&A.url===(b==null?void 0:b.url)&&ce(A)}}),c.useEffect(()=>()=>{ce.cancel()},[ce]),c.useImperativeHandle(r,()=>{const A=async()=>{if(!b)throw new Error("No active conversation. Please start a conversation first.");return await i.groupChannel.getChannel(b.url)};return{activeChannel:b,chatSDK:i,authenticate:ae,deauthenticate:ie,updateContext:async(...R)=>{const P=Vn(...R);if(P.type==="active"){const Z=await(await A()).updateContext(a,P.context);return je(Z)}const X=await i.aiAgent.updateContext(P.aiAgentId,P.channelUrl,P.context);return je(X)},patchContext:async(...R)=>{const P=Vn(...R);if(P.type==="active"){const Z=await(await A()).patchContext(a,P.context);return je(Z)}const X=await i.aiAgent.patchContext(P.aiAgentId,P.channelUrl,P.context);return je(X)},getContextObject:async()=>{const P=await(await A()).getContextObject(a);return je(P)}}},[ae,ie,b,i,a,f]),o.createElement(aa,{value:{sdkUser:x,userSessionInfo:e,userSession:y,activeChannel:b,setActiveChannel:p,refreshActiveChannel:Be,createConversation:qe,searchConversation:M,connectionError:v,aiAgentInfo:I,launcherInfo:S,authenticate:ae,deauthenticate:ie,createAttachmentRules:O,statsTrackers:N}},n)}),la=(e,t)=>Object.entries(t).every(([n,r])=>e[n]===r),En=(e,t)=>{const n=c.useId(),r=c.useRef(t);c.useLayoutEffect(()=>{r.current=t}),c.useEffect(()=>{const s=new K.ConnectionHandler({onDisconnected:a=>{var i,l;return(l=(i=r.current).onDisconnected)==null?void 0:l.call(i,a)},onConnected:a=>{var i,l;return(l=(i=r.current).onConnected)==null?void 0:l.call(i,a)},onReconnectStarted:()=>{var a,i;return(i=(a=r.current).onReconnectStarted)==null?void 0:i.call(a)},onReconnectSucceeded:()=>{var a,i;return(i=(a=r.current).onReconnectSucceeded)==null?void 0:i.call(a)},onReconnectFailed:()=>{var a,i;return(i=(a=r.current).onReconnectFailed)==null?void 0:i.call(a)},onConnectionLost:()=>{var a,i;return(i=(a=r.current).onConnectionLost)==null?void 0:i.call(a)},onConnectionDelayed:a=>{var i,l;return(l=(i=r.current).onConnectionDelayed)==null?void 0:l.call(i,a)}});return e.addConnectionHandler(n,s),()=>{e.removeConnectionHandler(n)}},[e,n])};function ca(e){const{chatSDK:t,logger:n,aiAgentId:r}=te(),{sdkUser:s,activeChannel:a,setActiveChannel:i,statsTrackers:l}=tt(),u=ve.useForceUpdate(),[d,m]=c.useState(void 0),[f,E]=c.useState(void 0),[v,_]=c.useState(!1);function b(x){if(x.isAIAgent&&!x.conversation){_(!0);const C=x.initConversation({aiAgentId:r});C.catch(y=>n.warn("useChannel.initConversation: initialization failed",y)),C.finally(()=>_(!1))}}async function p(){var x,C;if(!s){n.debug("useChannel.getChannel: no sdk user, skip fetching channel");return}if(n.debug("useChannel.getChannel: start"),m(void 0),E(void 0),_(!1),e){l.initialRender.onGetChannelStart();try{n.debug("useChannel.getChannel: get channel",e);const y=await t.groupChannel.getChannel(e);b(y),m(y),l.initialRender.onGetChannelComplete((x=y.conversation)==null?void 0:x.id),y.url===(a==null?void 0:a.url)&&i({url:y.url,status:ue(y)?"closed":"open",conversationStatus:(C=y.conversation)==null?void 0:C.status}),n.debug("useChannel.getChannel: fetched channel",y)}catch(y){l.initialRender.onGetChannelError(y),y instanceof K.SendbirdError&&E(y),n.error("useChannel.getChannel: error",y)}}}return c.useEffect(()=>{p()},[t,s,e,r]),En(t,{async onReconnectSucceeded(){var C;if(!d)return;const x=await d.refresh();b(x),m(x),x.url===(a==null?void 0:a.url)&&i({url:x.url,status:ue(x)?"closed":"open",conversationStatus:(C=x.conversation)==null?void 0:C.status})}}),ve.useGroupChannelHandler(t,{onChannelChanged:x=>{x.isGroupChannel()&&x.url===e&&(n.debug("useChannel.onChannelChanged: channel changed",x.url),m(x),u())}}),{channel:d,channelFetchError:f,getChannel:p,isInitializingConversation:v}}const ua=e=>{const t=e==null?void 0:e.lastMessage,n=t==null?void 0:t.extendedMessagePayload;return n==null?void 0:n.user_input_disabled_by},da=e=>{var i;const t=e==null?void 0:e.lastMessage;if(!t||!e)return!1;const n=t.extendedMessagePayload,r=n==null?void 0:n.form,s=!!r&&!r.submitted_at&&!r.canceled_at,a=e.isAIAgent&&!!((i=e.conversation)!=null&&i.handedOverAt);return s&&!a},ma=()=>{const{chatSDK:e,networkStateAdapter:t}=te(),[n,r]=c.useState(()=>t?t.isOnline()?"connected":"reconnecting":"connected");return En(e,{onConnected:()=>r("connected"),onDisconnected:()=>r("disconnected"),onReconnectStarted:()=>r("reconnecting"),onReconnectSucceeded:()=>r("connected"),onReconnectFailed:()=>r("disconnected"),onConnectionLost:()=>r("reconnecting")}),c.useEffect(()=>{if(t)return t.subscribe(s=>{if(!s){r("reconnecting");return}r(a=>a==="reconnecting"&&e.connectionState===K.ConnectionState.OPEN?"connected":a)})},[t,e]),n},ga=3e4,ha=({shouldApply:e,lastMessage:t,isBlockedWhileAIResponding:n,currentUserId:r})=>{const[s,a]=c.useState(!1),i=c.useRef(null),l=t&&Qe(t,r)?t.createdAt:0;return c.useEffect(()=>{const u=()=>{i.current&&(clearTimeout(i.current),i.current=null),a(!1)},d=E=>{i.current&&clearTimeout(i.current),a(!0),i.current=setTimeout(()=>{a(!1),i.current=null},E)},m=Date.now()-l,f=ga-m;return n||f<=0?u():d(f),()=>{i.current&&clearTimeout(i.current)}},[n,l]),s&&e},Or=e=>{const{chatSDK:t}=te(),[n,r]=c.useState([]);return ve.useGroupChannelHandler(t,{onTypingStatusUpdated(s){if(s.url===(e==null?void 0:e.url)){const a=s.getTypingUsers();r(a)}}}),n},pa=({channel:e,lastMessage:t,aiAgentUserId:n,isStreamAnimating:r})=>{const[s,a]=c.useState(!1),i=Or(e);return c.useEffect(()=>{if(!t)return;const l=i.some(d=>d.userId===n),u=Qe(t,n)&&(ke.isStreaming(t)||r);a(u||l)},[i,t,n,r]),s},fa=({channel:e,messages:t,isStreamAnimating:n,isInitializingConversation:r})=>{const{aiAgentInfo:s,userSession:a}=tt(),i=ma(),l=pa({channel:e,lastMessage:On(t,[Ie.SendingStatus.SUCCEEDED]),aiAgentUserId:(s==null?void 0:s.userId)??"",isStreamAnimating:n}),u=ha({shouldApply:!!(e!=null&&e.isAIAgent)&&!Ve(e),isBlockedWhileAIResponding:l,lastMessage:On(t,[Ie.SendingStatus.PENDING,Ie.SendingStatus.SUCCEEDED]),currentUserId:(a==null?void 0:a.userId)??""});if(!e||i==="disconnected")return{disabled:!0,disabledBy:"unavailable"};if(i==="reconnecting")return{disabled:!0,disabledBy:"reconnecting"};if(ue(e))return{disabled:!0,disabledBy:"conversation_closed"};if(da(e))return{disabled:!0,disabledBy:"form_active"};const d=ua(e);return d?{disabled:!0,disabledBy:d}:l||u||r?{disabled:!0,disabledBy:"ai_responding"}:{disabled:!1,disabledBy:""}},Ea=()=>{const[e,t]=c.useState(new Set),n=c.useCallback(s=>{t(a=>{if(a.has(s))return a;const i=new Set(a);return i.add(s),i})},[]),r=c.useCallback(s=>{t(a=>{if(!a.has(s))return a;const i=new Set(a);return i.delete(s),i})},[]);return{isAnimating:e.size>0,start:n,stop:r}},{Provider:ba}=ee("AIAgentConversation");function xa({children:e,channelUrl:t,onChannelDeleted:n,onMessagesReceived:r,onMessagesUpdated:s,onConversationClosedStatusChanged:a,onConversationClosedViaDispatcher:i,onBeforeSendMessage:l,onAfterSendMessage:u=ye,shouldMarkAsRead:d=!0,shouldCountNewMessages:m=()=>!1,sortComparator:f}){var D;const E=()=>d&&(p==null?void 0:p.markAsRead()),{chatSDK:v,logger:_,dispatcher:b}=te(),{channel:p,channelFetchError:x,getChannel:C,isInitializingConversation:y}=ca(t),{statsTrackers:T}=tt();c.useEffect(()=>{if(t)return T.initialRender.setChannelUrl(t),()=>{T.initialRender.cleanup()}},[t,T]);const I=Ns(v,p,{replyType:Ie.ReplyType.ONLY_REPLY_TO_CHANNEL,shouldCountNewMessages:m,onChannelDeleted:n,onMessagesReceived:O=>r==null?void 0:r(O),onMessagesUpdated:O=>s==null?void 0:s(O),onCacheResult:O=>T.initialRender.onCacheResult(O),onApiResult:O=>T.initialRender.onApiResult(O),logger:_,markAsRead:E,sortComparator:f}),w=Ea(),S=fa({channel:p,messages:I.messages,isStreamAnimating:w.isAnimating,isInitializingConversation:y});c.useEffect(()=>{E()},[d]);const $=ue(p);c.useEffect(()=>{a==null||a($)},[$,a]),c.useEffect(()=>{const O=async z=>{const V=typeof(z==null?void 0:z.channelUrl)=="string";p&&V&&z.channelUrl!==p.url||(_.debug("conversation.dispatcher: try to close conversation",p),p!=null&&p.conversation&&p.conversation.status===se.ConversationStatus.OPEN&&(await p.closeConversation(),i==null||i()))};return b.subscribe(Ze.ConversationClose,O),()=>{b.unsubscribe(Ze.ConversationClose,O)}},[b,(D=p==null?void 0:p.conversation)==null?void 0:D.status,i]);const N={conversation:(p==null?void 0:p.conversation)??void 0,channelSource:{channel:p,error:x,refetch:()=>C(),closeConversation:async()=>{ue(p)||await(p==null?void 0:p.closeConversation())}},messageSource:{messages:I.messages,newMessages:I.newMessages,initialized:I.initialized,loadPrevious:()=>I.loadPrevious(),loadNext:()=>I.loadNext(),deleteMessage:O=>I.deleteMessage(O),resendMessage:O=>I.resendMessage(O),resetNewMessages:()=>I.resetNewMessages(),sendUserMessage:async O=>{var V;if(((V=p==null?void 0:p.conversation)==null?void 0:V.status)===se.ConversationStatus.CLOSED)throw new Error("Conversation is closed");l&&(O=await l(O));const z=await I.sendUserMessage(O,u);return u==null||u(z),z},sendFileMessage:async O=>{var V;if(((V=p==null?void 0:p.conversation)==null?void 0:V.status)===se.ConversationStatus.CLOSED)throw new Error("Conversation is closed");l&&(O=await l(O));const z=await I.sendFileMessage(O,u);return u==null||u(z),z},sendMultipleFilesMessage:async O=>{var V;if(((V=p==null?void 0:p.conversation)==null?void 0:V.status)===se.ConversationStatus.CLOSED)throw new Error("Conversation is closed");l&&(O=await l(O));const z=await I.sendMultipleFilesMessage(O,u);return u==null||u(z),z}},state:{streamAnimation:w,input:S}};return o.createElement(ba,{value:N},e)}function Ca(e,t){var v,_,b,p,x,C,y,T,I,w;const[n,r]=c.useState(!1),[s,a]=c.useState(null),[i,l]=c.useState([]),[u,d]=c.useState(null),m=c.useRef(!1),f=c.useCallback(async()=>{if(!m.current&&e.currentUser){m.current=!0,r(!1),a(null),l([]);try{u==null||u.dispose();const S=new ss(e,t);S.setConversationListCollectionHandler({onChannelsAdded:()=>{l(S.channels)},onChannelsUpdated:()=>{l(S.channels)},onChannelsDeleted:()=>{l(S.channels)}}),await S.loadMore(),d(S),a(null)}catch(S){d(null),a(S)}finally{r(!0),m.current=!1}}},[e,e.currentUser,(v=t.filter)==null?void 0:v.aiAgentChannelFilter,(b=(_=t.filter)==null?void 0:_.aiAgentConversationStatusFilter)==null?void 0:b.join(),(x=(p=t.filter)==null?void 0:p.aiAgentIds)==null?void 0:x.join(),(C=t.filter)==null?void 0:C.deskChannelFilter,(T=(y=t.filter)==null?void 0:y.pinnedChannelUrls)==null?void 0:T.join(),(I=t.filter)==null?void 0:I.copilotConversationOnly,(w=t.filter)==null?void 0:w.copilotSupportChannelUrl,t.limit]),E=c.useCallback(async()=>{if(u)try{await u.loadMore()}catch(S){a(S)}},[u]);return En(e,{onConnected:()=>f()}),c.useEffect(()=>{f()},[f]),c.useEffect(()=>()=>{m.current=!1,u==null||u.dispose()},[u]),{initialized:n,error:s,channels:i,loadMore:E}}const{Provider:_a}=ee("AIAgentConversationList");function va({conversationListLimit:e,conversationListFilter:t,children:n}){var f,E;const{chatSDK:r,aiAgentId:s,queryParams:a}=te(),i={aiAgentIds:[s],aiAgentConversationStatusFilter:[se.ConversationStatus.CLOSED,se.ConversationStatus.OPEN]},l=e??((f=a==null?void 0:a.conversationListParams)==null?void 0:f.limit),u={...i,...(E=a==null?void 0:a.conversationListParams)==null?void 0:E.filter,...t},d=Ca(r,{limit:l,filter:u}),m={listSource:{initialized:d.initialized,error:d.error??void 0,channels:d.channels,loadMore:()=>d.loadMore()}};return o.createElement(_a,{value:m},n)}function ya(e){let t="pending",n=e.then(r=>{t="resolved",n=r}).catch(r=>{t="rejected",n=r});return{get value(){if(t==="resolved")return n;throw n}}}const{Provider:Sa,useContext:Rr}=ee("MessageTemplateFetching");function Ta({children:e,internalVariables:t}){const n=c.useRef({}),r=c.useRef({}),[s,a]=c.useState({}),i=c.useCallback((d,m)=>{a(f=>({...f,[d]:{fetching:!1,error:!1,...f[d],...m}}))},[]),l=c.useCallback(async({onRequestTemplate:d,onGetCachedTemplate:m,templateKey:f,suspense:E=!1})=>{const v=m(f);if(v)return v;const _=r.current[f];if(_)return _;E||i(f,{fetching:!0});const b=d(f).catch(p=>{throw E||i(f,{error:!0}),p}).finally(()=>{E||i(f,{fetching:!1}),delete r.current[f]});return r.current[f]=b,b},[i]),u={internalVariables:t,fetchTemplate:l,suspend:(d,m)=>{if(n.current[d])return n.current[d];const f=ya(m());return n.current[d]=f,f},getIsFetching:d=>{var m;return((m=s[d])==null?void 0:m.fetching)??!1},getHasError:d=>{var m;return((m=s[d])==null?void 0:m.error)??!1}};return o.createElement(Sa,{value:u},e)}const It={VARIABLE:e=>new RegExp(`\\{${e}\\}`,"g"),VIEW_VARIABLE:e=>new RegExp(`"{@${e}}"`,"g")};function $e({uiTemplateString:e,variables:t={}}){const n=Ss(t);return pn({template:e,variables:n,variableKeyPattern:r=>It.VARIABLE(r)})}function Le({theme:e,uiTemplateString:t,colorVariables:n={}}){return pn({template:t,variables:n,variableKeyPattern:r=>It.VARIABLE(r),variableValueTransformer:r=>ys(e,r)})}function Aa({theme:e,uiTemplateString:t,viewVariables:n={},aiAgentColorVariables:r,internalVariables:s,onRequestTemplate:a}){const l=Object.values(n).flat().map(d=>d.key);return[...new Set(l)].some(d=>!a(d))?null:pn({template:t,variables:n,variableKeyPattern:d=>It.VIEW_VARIABLE(d),variableValueTransformer:d=>{const m=d.map(({key:f,variables:E})=>{const v=a(f),{ui_template:_,color_variables:b}=et(v);let p=JSON.stringify(_);return p=$e({uiTemplateString:p,variables:s}),p=Le({theme:e,uiTemplateString:p,colorVariables:b}),p=Le({theme:e,uiTemplateString:p,colorVariables:r}),p=$e({uiTemplateString:p,variables:E}),wt(p)});return JSON.stringify(m)}})}async function wa({theme:e,uiTemplateString:t,viewVariables:n={},aiAgentColorVariables:r,internalVariables:s,onRequestTemplate:a}){return Ts({template:t,variables:n,variableKeyPattern:i=>It.VIEW_VARIABLE(i),variableValueTransformer:async i=>{const l=i.map(async({key:d,variables:m})=>{const f=await a(d),{ui_template:E,color_variables:v}=et(f);let _=JSON.stringify(E);return _=$e({uiTemplateString:_,variables:s}),_=Le({theme:e,uiTemplateString:_,colorVariables:v}),_=Le({theme:e,uiTemplateString:_,colorVariables:r}),_=$e({uiTemplateString:_,variables:m}),wt(_)}),u=await Promise.all(l);return JSON.stringify(u)}})}const Ia=({rawTemplate:e,aiAgentColorVariables:t,internalVariables:n,...r})=>{const{ui_template:s,color_variables:a}=et(e);let i=JSON.stringify(s);if(Object.keys(r.viewVariables??{}).length>0){const u=Aa({...r,uiTemplateString:i,aiAgentColorVariables:t,internalVariables:n});if(u===null)return null;i=u}return i=$e({...r,uiTemplateString:i,variables:n}),i=Le({...r,uiTemplateString:i,colorVariables:a}),i=Le({...r,uiTemplateString:i,colorVariables:t}),i=$e({...r,uiTemplateString:i}),wt(i)},ka=async({rawTemplate:e,aiAgentColorVariables:t,internalVariables:n,...r})=>{const{ui_template:s,color_variables:a}=et(e);let i=JSON.stringify(s);return Object.keys(r.viewVariables??{}).length>0&&(i=await wa({...r,uiTemplateString:i,aiAgentColorVariables:t,internalVariables:n})),i=$e({...r,uiTemplateString:i,variables:n}),i=Le({...r,uiTemplateString:i,colorVariables:a}),i=Le({...r,uiTemplateString:i,colorVariables:t}),i=$e({...r,uiTemplateString:i}),wt(i)},Ma=e=>{const{aiAgentColorVariables:t={}}=e,{internalVariables:n}=Rr();return c.useState(()=>{const r=e.onGetCachedTemplate(e.templateKey);return r?Ia({...e,rawTemplate:r,aiAgentColorVariables:t,internalVariables:n,onRequestTemplate:e.onGetCachedTemplate}):null})},$a=e=>{const[t]=Ma(e);if(t)return t;const{aiAgentColorVariables:n={}}=e,{internalVariables:r,fetchTemplate:s,suspend:a}=Rr();return a(e.templateKey,async()=>{const l=await s({...e,suspense:!0});return await ka({...e,rawTemplate:l,aiAgentColorVariables:n,internalVariables:r})}).value},La="remove_powered_by",bn=(e,t)=>{var s,a;const{chatSDK:n}=te(),{aiAgentInfo:r}=tt();if(e==="handoff-button"){const i=!!((s=t==null?void 0:t.conversation)!=null&&s.handoff);return!!(t!=null&&t.isAIAgent)&&!!(r!=null&&r.showHandoffButton)&&i&&hn(t)}if(e==="special-notice")return!!(t!=null&&t.isAIAgent)&&!!(r!=null&&r.specialNoticeEnabled)&&!!(r!=null&&r.specialNotice);if(e==="powered-by"){const i=(a=n==null?void 0:n.appInfo)==null?void 0:a.applicationAttributes;return c.useMemo(()=>!(Array.isArray(i)&&i.includes(La)),[i])}throw new Error("Unsupported feature")},Oa={required:"This question is required",minLength:e=>`Minimum ${e} characters required`,maxLength:e=>`Maximum ${e} characters allowed`,min:e=>`Minimum value is ${e}`,max:e=>`Maximum value is ${e}`,minSelect:e=>`Select at least ${e} options`,maxSelect:e=>`Select at most ${e} options`,regex:"Invalid format",invalidSelection:"Invalid selection"},Ra={getValueOrDefault:e=>e.value??e.default_value??null,validate:(e,t,n)=>{const r=t;if(e.required&&(!r||r.trim()===""))return{isValid:!1,error:n.required};if(!r)return{isValid:!0};const{rules:s}=e;if(s){if(s.min_length!==void 0&&r.length<s.min_length)return{isValid:!1,error:typeof n.minLength=="function"?n.minLength(s.min_length):n.minLength};if(s.max_length!==void 0&&r.length>s.max_length)return{isValid:!1,error:typeof n.maxLength=="function"?n.maxLength(s.max_length):n.maxLength};if(s.regex&&!new RegExp(s.regex).test(r))return{isValid:!1,error:n.regex}}return{isValid:!0}}},Da={getValueOrDefault:e=>e.value??e.default_value??null,validate:(e,t,n)=>{const r=t;if(e.required&&r===null)return{isValid:!1,error:n.required};if(r===null)return{isValid:!0};const{rules:s}=e;if(s){if(s.min!==void 0&&r<s.min)return{isValid:!1,error:typeof n.min=="function"?n.min(s.min):n.min};if(s.max!==void 0&&r>s.max)return{isValid:!1,error:typeof n.max=="function"?n.max(s.max):n.max}}return{isValid:!0}}},Na={getValueOrDefault:e=>e.value??e.default_value??null,validate:(e,t,n)=>{const r=t;return e.required&&!r?{isValid:!1,error:n.required}:r&&!e.options.includes(r)?{isValid:!1,error:n.invalidSelection}:{isValid:!0}}},Pa={getValueOrDefault:e=>e.values??e.default_values??null,validate:(e,t,n)=>{const r=t;if(e.required&&(!r||r.length===0))return{isValid:!1,error:n.required};if(!r||r.length===0)return{isValid:!0};if(r.filter(i=>!e.options.includes(i)).length>0)return{isValid:!1,error:n.invalidSelection};const{rules:a}=e;if(a){if(a.min_select!==void 0&&r.length<a.min_select)return{isValid:!1,error:typeof n.minSelect=="function"?n.minSelect(a.min_select):n.minSelect};if(a.max_select!==void 0&&r.length>a.max_select)return{isValid:!1,error:typeof n.maxSelect=="function"?n.maxSelect(a.max_select):n.maxSelect}}return{isValid:!0}}},Fa={text:Ra,number:Da,"single-select":Na,"multi-select":Pa},Ba={getValueOrDefault:()=>null,validate:()=>({isValid:!1})};function Dr(e){return Fa[e.type]||Ba}function Gn(e){return Dr(e).getValueOrDefault(e)}function Ua(e,t,n={}){const r={...Oa,...n};return Dr(e).validate(e,t,r)}const Ha=(e,t={})=>{const{labels:n={},onSubmit:r,onCancel:s}=t,[a,i]=c.useState({}),[l,u]=c.useState(()=>{const b={};return e.fields.forEach(p=>{b[p.key]=Gn(p)}),b}),d=c.useMemo(()=>e.submitted_at?"submitted":e.canceled_at?"canceled":"draft",[e.submitted_at,e.canceled_at]);c.useEffect(()=>{if(d==="submitted"||d==="canceled"){const b={};let p=!1;e.fields.forEach(x=>{const C=Gn(x);JSON.stringify(l[x.key])!==JSON.stringify(C)&&(p=!0),b[x.key]=C}),p&&u(b)}},[d]);const m=(b,p)=>{u(x=>({...x,[b]:p})),i(x=>({...x,[b]:void 0}))},f=e.fields.map(b=>{var C,y,T;const p=l[b.key]??null,x={key:b.key,label:b.label,error:a[b.key],required:b.required};return b.type==="text"?{...x,type:"text",layout:b.layout,value:p,...b.placeholder&&{placeholder:b.placeholder},...((C=b.rules)==null?void 0:C.max_length)&&{maxLength:b.rules.max_length}}:b.type==="number"?{...x,type:"number",layout:b.layout,value:p,...b.placeholder&&{placeholder:b.placeholder},...((y=b.rules)==null?void 0:y.max)&&{max:b.rules.max}}:b.type==="single-select"?{...x,type:"single-select",layout:b.layout,value:p,options:b.options}:b.type==="multi-select"?{...x,type:"multi-select",layout:b.layout,value:p,options:b.options,...((T=b.rules)==null?void 0:T.max_select)&&{maxSelect:b.rules.max_select}}:{...x,type:"unknown",layout:"default",value:null}});return{state:d,fields:f,getField:b=>f.find(p=>p.key===b),updateFieldValue:m,submit:async()=>{const b={};let p=!1;for(const x of e.fields){const C=l[x.key]??null,y=Ua(x,C,n);y.isValid||(b[x.key]=y.error,p=!0)}if(i(b),!p&&r){const x={};e.fields.forEach(C=>{x[C.key]=l[C.key]??null}),await r(x)}},cancel:async()=>{await(s==null?void 0:s())}}},za=e=>{const{aiAgentInfo:t}=tt(),r=Or(e)[0];if(!r)return null;const s=r.userId===(t==null?void 0:t.userId);return{user:s?t:r,isBot:s}},Nr=({channel:e,userSession:t,aiAgentInfo:n})=>{if(!t||!n||!e)return{fallbackIcon:"delight",url:void 0,title:""};const r=(()=>{const[a]=e.members.filter(i=>i.userId!==t.userId);return a})(),s={ai(a){return{fallbackIcon:a,url:n.profileUrl,title:n.nickname}},human(a){return{fallbackIcon:a,url:r==null?void 0:r.profileUrl,title:(r==null?void 0:r.nickname)||n.nickname}},channel(a){return{fallbackIcon:a,url:e==null?void 0:e.coverUrl,title:(e==null?void 0:e.name)??""}}};return e.isAIAgent?Ve(e)?s.human("agent"):s.ai("delight"):e.isDesk?s.human("agent"):s.channel("user")},Wn=e=>c.useReducer((t,n)=>({...t,...n}),e);var he=(e=>(e.AI_AGENT_CSAT_5="AI_AGENT_CSAT_5",e.AI_AGENT_CSAT_5_WITH_CRE="AI_AGENT_CSAT_5_WITH_CRE",e.HELPDESK_CSAT_5="HELPDESK_CSAT_5",e))(he||{});const Va=new Set(["free_text","single_choice"]),Ga=({csatPayload:e,type:t,initialCsat:n,initialCsatReason:r,initialIsResolved:s})=>{const[a,i]=Wn({csatType:t,csat:n,csatReason:r,isResolved:s}),[l,u]=Wn({followUpItem:!1}),d=c.useMemo(()=>{var p;const v=a.csat,_=typeof v=="number",b=(p=e.follow_up)==null?void 0:p.find(x=>_?x.scores.includes(v):x.always_visible??!1);if(Va.has(b==null?void 0:b.response_type))return b},[a.csat,e.follow_up]),m=(()=>{var v;if(typeof n=="number")return"submitted";if((t===he.AI_AGENT_CSAT_5||t===he.HELPDESK_CSAT_5)&&typeof a.csat=="number")return"submittable";if(t===he.AI_AGENT_CSAT_5_WITH_CRE){const _=typeof a.csat=="number",b=!((v=e.cre)!=null&&v.required)||typeof a.isResolved=="boolean";if(_&&b)return"submittable"}return"unsubmittable"})(),f=c.useCallback(()=>typeof a.csat>"u"?!1:d!=null&&d.required&&!a.csatReason?(u({followUpItem:!0}),!1):!0,[a,d,u]);return c.useEffect(()=>{r||(i({csatReason:""}),u({followUpItem:!1}))},[r,d,i,u]),{params:a,setParams:i,error:l,setError:u,followUpItem:d,state:m,validateParams:f,itemProps:{csatPayload:e,state:m,submitted:m==="submitted"}}},zt=5,Wa=250,qa=50,qn=e=>Math.max(0,e-qa),ja=e=>e<1e3?{speed:zt*.5,chunkSize:2}:e<2e3?{speed:zt*.8,chunkSize:2}:{speed:zt*.6,chunkSize:3},Ka=e=>{const{text:t,enabled:n=!1,onAnimationStart:r,onAnimationProgress:s,onAnimationComplete:a}=e,[i,l]=c.useState(()=>qn(t.length)),u=c.useRef(null),d=c.useRef({startTime:0,lastUpdate:0,lastProgressCall:0}).current,m=c.useRef({onStart:r,onProgress:s,onComplete:a}).current,f=c.useRef({startCalled:!1,completeCalled:!1}).current,E=c.useRef({initialEnabled:n,textLength:t.length,enabled:n}).current,v=n,_=i<t.length,b=E.initialEnabled&&(v||_);return c.useLayoutEffect(()=>{m.onStart=r,m.onProgress=s,m.onComplete=a,E.textLength=t.length,E.enabled=n}),c.useLayoutEffect(()=>{var p;E.initialEnabled&&(f.startCalled||(f.startCalled=!0,(p=m.onStart)==null||p.call(m)),l(x=>t.length<x?t.length:x))},[t]),c.useEffect(()=>{if(!E.initialEnabled)return;let p=qn(t.length);d.lastUpdate=0,d.startTime=0,d.lastProgressCall=0;const x=C=>{var D;d.lastUpdate===0&&(d.lastUpdate=C,d.startTime=C,d.lastProgressCall=C);const y=E.textLength,T=C-d.lastUpdate,I=C-d.startTime,{speed:w,chunkSize:S}=ja(I),$=w*S;T>=$&&p<y&&(p=Math.min(p+S,y),l(p),d.lastUpdate=C),C-d.lastProgressCall>=Wa&&(d.lastProgressCall=C,(D=m.onProgress)==null||D.call(m)),(p<y||E.enabled)&&(u.current=requestAnimationFrame(x))};return u.current=requestAnimationFrame(x),()=>{u.current&&cancelAnimationFrame(u.current)}},[]),c.useEffect(()=>{var y;const p=E.initialEnabled&&f.startCalled,x=!n,C=i>=t.length&&t.length>0;p&&x&&C&&!f.completeCalled&&(f.completeCalled=!0,(y=m.onComplete)==null||y.call(m))},[n,i,t.length]),{streamText:E.initialEnabled?t.slice(0,i):t,isAnimating:b}},Ya="1.19.1",le="sb-agent",de={ENTRY:`${le}-entry`,MODAL_ROOT:`${le}-modal-root`,WINDOW:`${le}-window`,LAUNCHER:`${le}-launcher`},mt=2147483647,Pe={MODAL:mt-1,TOOLTIP:mt-2,WINDOW:mt-3,LAUNCHER:mt-4},Pr=36,Xa=100,Fr=Ya,xn="noopener noreferrer nofollow";function Br(){return{isOnline:()=>navigator.onLine,subscribe:e=>{const t=()=>e(!0),n=()=>e(!1);return window.addEventListener("online",t),window.addEventListener("offline",n),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",n)}}}}const gt={};function Ur(){return{get:e=>{try{return localStorage.getItem(e)}catch{return gt[e]??null}},set:(e,t)=>{try{localStorage.setItem(e,t)}catch{gt[e]=t}},delete:e=>{try{localStorage.removeItem(e)}catch{delete gt[e]}},getKeys:e=>{try{const t=[];for(let n=0;n<localStorage.length;n++){const r=localStorage.key(n);r&&r.startsWith(e)&&t.push(r)}return t}catch{return Object.keys(gt).filter(t=>t.startsWith(e))}}}}const Za='@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;right:0;bottom:0;left: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}',Ja={conversation:{input_placeholder:"Ask a question",input_placeholder_disabled:"Chat is unavailable in this channel",input_placeholder_wait_ai_agent_response:"Waiting for the agent's reply...",input_placeholder_active_form:"Please fill out the form to move forward.",input_placeholder_reconnecting:"Trying to reconnect. Refresh if persists.",unknown_message_type:"(Unknown message type)",powered_by:"Powered by",citation_title:"Source",start_new_conversation_label:"Start a conversation",scroll_to_new_messages_label:()=>"New message",failed_message_resend:"Retry",failed_message_remove:"Remove",file_upload_no_supported_files:"No supported file types available.",a11y_message_list:"Chat messages",a11y_scroll_to_bottom:"Scroll to bottom",a11y_scroll_to_new_messages:"Scroll to new messages",a11y_open_conversation_list:"Open conversation list"},conversation_list:{header_title:"Conversations",ended:"Ended",footer_title:"Start a conversation",multiple_files_count:e=>`${e} ${e===1?"file":"files"}`},date_format:{just_now:"Just now",minutes_ago:e=>`${e} minutes ago`,hours_ago:e=>`${e} hours ago`,date_short:"MM/dd/yyyy",date_separator:"MMMM dd, yyyy",message_timestamp:"p"},csat:{title:"Your feedback matters to us",submitted_label:"Successfully submitted!",cre_question:"Was your issue resolved?",cre_positive_label:"Yes, thank you! 👍",cre_negative_label:"No, that didn't help.",reason_placeholder:"Share your feedback",question:"How would you rate your experience?",submit_label:"Submit",submission_expired:"We're sorry, the survey period has ended."},form:{optional_label:"optional",validation_required:"This question is required"},common:{placeholder_something_went_wrong:"Something went wrong",placeholder_no_messages:"No messages",placeholder_no_conversations:"No conversations yet",placeholder_something_went_wrong_retry_label:"Retry"},feedback:{title:"Submit feedback",good:"Good",bad:"Bad",comment_label:"Comment (optional)",comment_placeholder:"Leave a comment",cancel:"Cancel",submit:"Submit",save:"Save",edit:"Edit feedback",remove:"Remove feedback"}},tn={language:"en",strings:Ja,dateLocale:Ho.enUS},Hr=e=>({MESSAGE_INPUT__PLACE_HOLDER:e.conversation.input_placeholder,MESSAGE_INPUT__PLACE_HOLDER__DISABLED:e.conversation.input_placeholder_disabled,MESSAGE_INPUT__PLACE_HOLDER__WAIT_AI_AGENT_RESPONSE:e.conversation.input_placeholder_wait_ai_agent_response,MESSAGE_INPUT__PLACE_HOLDER__RECONNECTING:e.conversation.input_placeholder_reconnecting,UNKNOWN__UNKNOWN_MESSAGE_TYPE:e.conversation.unknown_message_type,POWERED_BY:e.conversation.powered_by,CSAT_TITLE_UNSUBMITTED:e.csat.title,CSAT_TITLE_SUBMITTED:e.csat.submitted_label,CSAT_CRE_TITLE:e.csat.cre_question,CSAT_CRE_SOLVED:e.csat.cre_positive_label,CSAT_CRE_NOT_SOLVED:e.csat.cre_negative_label,CSAT_REASON_PLACEHOLDER:e.csat.reason_placeholder,CSAT_RATING_TITLE:e.csat.question,CSAT_SUBMIT_LABEL:e.csat.submit_label,CSAT_SUBMISSION_EXPIRED:e.csat.submission_expired,DATE_FORMAT__JUST_NOW:e.date_format.just_now,DATE_FORMAT__MINUTES_AGO:e.date_format.minutes_ago,DATE_FORMAT__HOURS_AGO:e.date_format.hours_ago,DATE_FORMAT__DATE_SHORT:e.date_format.date_short,DATE_FORMAT__MESSAGE_LIST__DATE_SEPARATOR:e.date_format.date_separator,DATE_FORMAT__MESSAGE_TIMESTAMP:e.date_format.message_timestamp,CONVERSATION_LIST__HEADER_TITLE:e.conversation_list.header_title,CONVERSATION_LIST__ENDED:e.conversation_list.ended,CONVERSATION_LIST__NO_CONVERSATIONS:e.common.placeholder_no_conversations,CONVERSATION_LIST__MULTIPLE_FILES_COUNT:e.conversation_list.multiple_files_count,TALK_TO_AGENT:e.conversation.start_new_conversation_label,CITATION_SOURCE_TITLE:e.conversation.citation_title,FORM_PLACEHOLDER:e.conversation.input_placeholder_active_form,FORM_VALIDATION_REQUIRED:e.form.validation_required,OPTIONAL:e.form.optional_label,PLACE_HOLDER__WRONG:e.common.placeholder_something_went_wrong,PLACE_HOLDER__NO_MESSAGES:e.common.placeholder_no_messages,RETRY:e.common.placeholder_something_went_wrong_retry_label,FAILED_MESSAGE_RESEND:e.conversation.failed_message_resend,FAILED_MESSAGE_REMOVE:e.conversation.failed_message_remove,FILE_UPLOAD_NO_SUPPORTED_FILES:e.conversation.file_upload_no_supported_files,FEEDBACK_TITLE:e.feedback.title,FEEDBACK_GOOD:e.feedback.good,FEEDBACK_BAD:e.feedback.bad,FEEDBACK_COMMENT_LABEL:e.feedback.comment_label,FEEDBACK_COMMENT_PLACEHOLDER:e.feedback.comment_placeholder,FEEDBACK_CANCEL:e.feedback.cancel,FEEDBACK_SUBMIT:e.feedback.submit,FEEDBACK_SAVE:e.feedback.save,FEEDBACK_EDIT:e.feedback.edit,FEEDBACK_REMOVE:e.feedback.remove,A11Y_MESSAGE_LIST:e.conversation.a11y_message_list,A11Y_SCROLL_TO_BOTTOM:e.conversation.a11y_scroll_to_bottom,A11Y_SCROLL_TO_NEW_MESSAGES:e.conversation.a11y_scroll_to_new_messages,A11Y_OPEN_CONVERSATION_LIST:e.conversation.a11y_open_conversation_list,SCROLL_TO_NEW_MESSAGES_LABEL:e.conversation.scroll_to_new_messages_label}),Qa=e=>{var t;return((t=e.split("-"))==null?void 0:t[0])??kt},kt="en",ei=new Set([kt,"ko","es","pt","fr","hi","it","de","tr","ja"]),ti=(e,t,n)=>{const r=e[t];return r?typeof r=="function"?r():Promise.resolve(r):new Promise((s,a)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(a.bind(null,new Error("Unknown variable dynamic import: "+t+(t.split("/").length!==n?". Note that variables only represent file names one level deep.":""))))})},jn=Hr(tn.strings),ni={...jn,HEADER_BUTTON__AGENT_HANDOFF:"Connect with an agent",MESSAGE_INPUT__PLACE_HOLDER__SUGGESTED_REPLIES:"Select an option to continue",BUTTON__CANCEL:"Cancel",BUTTON__SUBMIT:"Submit",SUBMITTED:"Submitted",TRY_AGAIN:"Please try again.",FILE_UPLOAD_NOTIFICATION__COUNT_LIMIT:"Up to %d files can be attached.",FILE_UPLOAD_NOTIFICATION__SIZE_LIMIT:"The maximum size per file is %d MB.",FILE_UPLOAD_NOTIFICATION__FILES_EXCLUDED_BY_VALIDATION:"%d files were excluded due to limits. Please select files individually.",FILE_UPLOAD_PHOTOS:"Photos",FILE_UPLOAD_FILES:"Files",FILE_VIEWER__UNSUPPORT:"Unsupported message",IMAGE_VIEWER__DEFAULT_TITLE:"Image",A11Y_IMAGE_VIEWER_CLOSE:"Close image viewer",A11Y_IMAGE_VIEWER_PREVIOUS:"Previous image",A11Y_IMAGE_VIEWER_NEXT:"Next image",A11Y_IMAGE_VIEWER_DOWNLOAD:"Download image",A11Y_ATTACH_FILE:"Attach file",FORM_UNAVAILABLE:"Form is no longer available.",FORM_NOT_SUPPORTED:"This form is not supported in the current version.",FORM_VALIDATION_MIN_LENGTH:e=>`Minimum ${e} characters required`,FORM_VALIDATION_MAX_LENGTH:e=>`Maximum ${e} characters allowed`,FORM_VALIDATION_MIN:e=>`Minimum value is ${e}`,FORM_VALIDATION_MAX:e=>`Maximum value is ${e}`,FORM_VALIDATION_MIN_SELECT:e=>`Select at least ${e} options`,FORM_VALIDATION_MAX_SELECT:e=>`Select at most ${e} options`,FORM_VALIDATION_REGEX_FAILED:"Invalid format",DATE_FORMAT__CONVERSATION_LIST__LIST_ITEM_TITLE:jn.DATE_FORMAT__DATE_SHORT,DATE_FORMAT__CONVERSATION_LIST__LIST_ITEM_TITLE_CAPTION:"h:mma",CONVERSATION_LIST__TOPICS_FALLBACK:"No category",CONVERSATION_CLOSED_FOOTER_LABEL:"Your conversation has ended",START_NEW_CONVERSATION:"💬 Start a new conversation",RETURN_TO_CONVERSATION:"💬 Return to conversation",BUTTON__SAVE:"Save",BUTTON__OK:"OK",NO_NAME:"(No name)",CHANNEL_FROZEN:"Channel frozen"},xt={language:tn.language,dateLocale:tn.dateLocale,stringSet:ni},ri=Object.freeze(Object.defineProperty({__proto__:null,default:xt},Symbol.toStringTag,{value:"Module"})),nn=new Map([[kt,xt]]);async function oi(e){const t=nn.get(e);if(t)return t;try{if(ei.has(e)){const{default:n}=await ti(Object.assign({"./languages/de.ts":()=>Promise.resolve().then(()=>require("./DZS61iww.cjs")),"./languages/en.ts":()=>Promise.resolve().then(()=>ri),"./languages/es.ts":()=>Promise.resolve().then(()=>require("./CXfbOeBS.cjs")),"./languages/fr.ts":()=>Promise.resolve().then(()=>require("./D___JlpJ.cjs")),"./languages/hi.ts":()=>Promise.resolve().then(()=>require("./Ct1aEvl9.cjs")),"./languages/it.ts":()=>Promise.resolve().then(()=>require("./DghGvqtY.cjs")),"./languages/ja.ts":()=>Promise.resolve().then(()=>require("./CNK70fWM.cjs")),"./languages/ko.ts":()=>Promise.resolve().then(()=>require("./DlQtWfBS.cjs")),"./languages/pt.ts":()=>Promise.resolve().then(()=>require("./CQd8GuWE.cjs")),"./languages/tr.ts":()=>Promise.resolve().then(()=>require("./eRuO6jKx.cjs"))}),`./languages/${e}.ts`,3);return nn.set(e,n),n}return xt}catch{return xt}}const{Provider:si,useContext:W}=ee("Localization"),ai=({language:e=navigator.language,logger:t,stringSet:n,children:r})=>{const[s,a]=c.useState(nn.get(kt));return c.useEffect(()=>{const i=Qa(e);s.language!==i&&(t==null||t.debug("localization.useEffect: update language",{from:s.language,to:i}),oi(i).then(a))},[e,t]),o.createElement(si,{value:{language:s.language,stringSet:{...s.stringSet,...n},dateLocale:s.dateLocale,format:(i,l,u)=>De.format(i,l,{locale:s.dateLocale,...u})}},r)},Ct="data-sb-agent-theme",Kn=e=>(t,...n)=>{let r="";return t.forEach((s,a)=>{r+=s+(n[a]??"")}),`[${Ct}='${e}'] & { ${r} }`},B={light:Kn("light"),dark:Kn("dark")},ii=k.css(({theme:e})=>{const{palette:t}=e;return`
|
|
2
|
-
:root,
|
|
3
|
-
:host {
|
|
4
|
-
--sendbird-primary-extra-dark: ${t.primary.extraDark};
|
|
5
|
-
--sendbird-primary-dark: ${t.primary.dark};
|
|
6
|
-
--sendbird-primary-main: ${t.primary.main};
|
|
7
|
-
--sendbird-primary-light: ${t.primary.light};
|
|
8
|
-
--sendbird-primary-extra-light: ${t.primary.extraLight};
|
|
9
|
-
|
|
10
|
-
--sendbird-secondary-extra-dark: ${t.secondary.extraDark};
|
|
11
|
-
--sendbird-secondary-dark: ${t.secondary.dark};
|
|
12
|
-
--sendbird-secondary-main: ${t.secondary.main};
|
|
13
|
-
--sendbird-secondary-light: ${t.secondary.light};
|
|
14
|
-
--sendbird-secondary-extra-light: ${t.secondary.extraLight};
|
|
15
|
-
|
|
16
|
-
--sendbird-information-extra-dark: ${t.information.extraDark};
|
|
17
|
-
--sendbird-information-dark: ${t.information.dark};
|
|
18
|
-
--sendbird-information-main: ${t.information.main};
|
|
19
|
-
--sendbird-information-light: ${t.information.light};
|
|
20
|
-
--sendbird-information-extra-light: ${t.information.extraLight};
|
|
21
|
-
|
|
22
|
-
--sendbird-error-extra-dark: ${t.error.extraDark};
|
|
23
|
-
--sendbird-error-dark: ${t.error.dark};
|
|
24
|
-
--sendbird-error-main: ${t.error.main};
|
|
25
|
-
--sendbird-error-light: ${t.error.light};
|
|
26
|
-
--sendbird-error-extra-light: ${t.error.extraLight};
|
|
27
|
-
|
|
28
|
-
--sendbird-background-700: ${t.background700};
|
|
29
|
-
--sendbird-background-600: ${t.background600};
|
|
30
|
-
--sendbird-background-500: ${t.background500};
|
|
31
|
-
--sendbird-background-400: ${t.background400};
|
|
32
|
-
--sendbird-background-300: ${t.background300};
|
|
33
|
-
--sendbird-background-200: ${t.background200};
|
|
34
|
-
--sendbird-background-100: ${t.background100};
|
|
35
|
-
--sendbird-background-50: ${t.background50};
|
|
36
|
-
|
|
37
|
-
--sendbird-onlight-text-high-emphasis: ${t.onlight.textHighEmphasis};
|
|
38
|
-
--sendbird-onlight-text-mid-emphasis: ${t.onlight.textMidEmphasis};
|
|
39
|
-
--sendbird-onlight-text-low-emphasis: ${t.onlight.textLowEmphasis};
|
|
40
|
-
--sendbird-onlight-text-disabled: ${t.onlight.textDisabled};
|
|
41
|
-
|
|
42
|
-
--sendbird-ondark-text-high-emphasis: ${t.ondark.textHighEmphasis};
|
|
43
|
-
--sendbird-ondark-text-mid-emphasis: ${t.ondark.textMidEmphasis};
|
|
44
|
-
--sendbird-ondark-text-low-emphasis: ${t.ondark.textLowEmphasis};
|
|
45
|
-
--sendbird-ondark-text-disabled: ${t.ondark.textDisabled};
|
|
46
|
-
|
|
47
|
-
--sendbird-overlay-dark: ${t.overlay.dark};
|
|
48
|
-
--sendbird-overlay-light: ${t.overlay.light};
|
|
49
|
-
}
|
|
50
|
-
`}),li=k.css`[${Ct}='light'] &{--sb-text-high-emphasis:var(--sendbird-onlight-text-high-emphasis);--sb-text-mid-emphasis:var(--sendbird-onlight-text-mid-emphasis);--sb-text-low-emphasis:var(--sendbird-onlight-text-low-emphasis);--sb-text-disabled:var(--sendbird-onlight-text-disabled);--sb-text-high-emphasis-inverse:var(--sendbird-ondark-text-high-emphasis);--sb-text-mid-emphasis-inverse:var(--sendbird-ondark-text-mid-emphasis);--sb-text-low-emphasis-inverse:var(--sendbird-ondark-text-low-emphasis);--sb-text-disabled-inverse:var(--sendbird-ondark-text-disabled);--sb-bg-50-600:var(--sendbird-background-50);--sb-bg-100-500:var(--sendbird-background-100);--sb-bg-200-400:var(--sendbird-background-200);--sb-primary:var(--sendbird-primary-main);--sb-secondary:var(--sendbird-secondary-main);--sb-error:var(--sendbird-error-main);--sb-information:var(--sendbird-information-light);}[${Ct}='dark'] &{--sb-text-high-emphasis:var(--sendbird-ondark-text-high-emphasis);--sb-text-mid-emphasis:var(--sendbird-ondark-text-mid-emphasis);--sb-text-low-emphasis:var(--sendbird-ondark-text-low-emphasis);--sb-text-disabled:var(--sendbird-ondark-text-disabled);--sb-text-high-emphasis-inverse:var(--sendbird-onlight-text-high-emphasis);--sb-text-mid-emphasis-inverse:var(--sendbird-onlight-text-mid-emphasis);--sb-text-low-emphasis-inverse:var(--sendbird-onlight-text-low-emphasis);--sb-text-disabled-inverse:var(--sendbird-onlight-text-disabled);--sb-bg-50-600:var(--sendbird-background-600);--sb-bg-100-500:var(--sendbird-background-500);--sb-bg-200-400:var(--sendbird-background-400);--sb-primary:var(--sendbird-primary-light);--sb-secondary:var(--sendbird-secondary-light);--sb-error:var(--sendbird-error-light);--sb-information:var(--sendbird-information-light);}`,g={color:{primary:{dark:"var(--sendbird-primary-dark)",main:"var(--sendbird-primary-main)"},information:{main:"var(--sendbird-information-main)",light:"var(--sendbird-information-light)"},background700:"var(--sendbird-background-700)",background600:"var(--sendbird-background-600)",background500:"var(--sendbird-background-500)",background400:"var(--sendbird-background-400)",background200:"var(--sendbird-background-200)",background100:"var(--sendbird-background-100)",background50:"var(--sendbird-background-50)",onlight:{textLowEmphasis:"var(--sendbird-onlight-text-low-emphasis)"},ondark:{textMidEmphasis:"var(--sendbird-ondark-text-mid-emphasis)",textLowEmphasis:"var(--sendbird-ondark-text-low-emphasis)",textDisabled:"var(--sendbird-ondark-text-disabled)"},overlay:{dark:"var(--sendbird-overlay-dark)"}},themedColor:{textHighEmphasis:"var(--sb-text-high-emphasis)",textMidEmphasis:"var(--sb-text-mid-emphasis)",textLowEmphasis:"var(--sb-text-low-emphasis)",textDisabled:"var(--sb-text-disabled)",textHighEmphasisInverse:"var(--sb-text-high-emphasis-inverse)",textLowEmphasisInverse:"var(--sb-text-low-emphasis-inverse)",bg_50_600:"var(--sb-bg-50-600)",bg_100_500:"var(--sb-bg-100-500)",bg_200_400:"var(--sb-bg-200-400)",primary:"var(--sb-primary)",error:"var(--sb-error)",secondary:"var(--sb-secondary)"}},{Provider:ci,useContext:zr}=ee("MessengerTheme");function ui(e){const{theme:t,appearance:n,logger:r}=e;return o.createElement(Ys,{appearance:n,palette:t==null?void 0:t.palette,typography:t==null?void 0:t.typography,logger:r},o.createElement(di,{...e}))}function di({rootElement:e=document.body,children:t}){const{theme:n,updateTheme:r}=fn();return c.useLayoutEffect(()=>{e.setAttribute(Ct,n.selectedTheme)},[e,n.selectedTheme]),o.createElement(k.ThemeProvider,{theme:n},o.createElement(ci,{value:{theme:n,updateTheme:r,rootElement:e}},t))}function Ne(e,t){const n=e.getRootNode({composed:t});return n instanceof ShadowRoot||n instanceof Document?n:document}const mi=(e,t)=>{c.useEffect(()=>{const n=Ne(t)instanceof ShadowRoot,r=Ne(t,!0);if(!(n?t:r).querySelector(`link[href*='${e}']`)){const a=r.createElement("link");a.rel="stylesheet",a.href=e,(n?t:r.head).appendChild(a)}},[e,t])},gi=(e,t=document.body)=>{c.useEffect(()=>{const n=Ne(t),s=n instanceof ShadowRoot?t:n.head;if(!s)return;const a=`sba-${btoa(e).slice(0,10)}`;let i=s.querySelector(`style#${a}`);i?i.textContent!==e&&(i.textContent=e):(i=s.ownerDocument.createElement("style"),i.id=a,i.textContent=e,s.appendChild(i))},[e,t])},{Provider:hi,Consumer:Vr,useContext:q}=ee("Messenger");function pi({children:e,state:t,enableCloseConversationButton:n=!1,enableExpandButton:r=!0,enableAutoDisconnectInLauncher:s=!0,...a}){const[i,l]=c.useState(!1),[u,d]=c.useState(!1),m={opened:(t==null?void 0:t.opened)??i,setOpened:(t==null?void 0:t.setOpened)??l,expanded:(t==null?void 0:t.expanded)??u,setExpanded:(t==null?void 0:t.setExpanded)??d};return o.createElement(Ds,{...a},f=>o.createElement(hi,{value:{...a,...f,state:m,enableCloseConversationButton:n,enableExpandButton:r,enableAutoDisconnectInLauncher:s}},e))}const Gr=/iPad|iPhone|iPod/.test(navigator.userAgent),fi=/Android/.test(navigator.userAgent),nt=e=>Gr||fi;let Ke=null,Vt=null;const Ei=(e,t=5e3)=>{Ke&&(clearInterval(Ke),clearTimeout(Vt));const n=document.title;Ke=setInterval(()=>{document.title=document.title===e?n:e},750),Vt=setTimeout(()=>{clearInterval(Ke),Ke=null,Vt=null,document.title=n},t)},Wr=()=>{Promise.resolve().then(()=>require("./B93o4u0P.cjs")).then(e=>{new Audio(e.default).play().catch(()=>{})})},pe=e=>{const t=e;return typeof t=="number"?`${t}px`:t},L=({as:e,variant:t="body1",color:n,maxTextLines:r,className:s,...a})=>o.createElement(Ci,{as:e,$variant:t,className:s,$color:n,$maxTextLines:r,...a}),Yn=new WeakMap,bi=(e,t)=>{let n=Yn.get(t);n||(n=new Map,Yn.set(t,n));const r=n.get(e);if(r)return r;const s=t[e]??t.body1,a=k.css`font-size:${pe(s.fontSize)};font-weight:${s.fontWeight};${s.fontFamily?`font-family: ${s.fontFamily};`:""}
|
|
51
|
-
${s.lineHeight?`line-height: ${s.lineHeight};`:"line-height: 100%;"}
|
|
52
|
-
`;return n.set(e,a),a},xi=e=>e?k.css`display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:${e};overflow:hidden;`:"",Ci=h.default.span`font-stretch:normal;letter-spacing:normal;${({$variant:e,theme:t})=>bi(e,t.typography)}color:${({$color:e})=>e};${({$maxTextLines:e})=>xi(e)}`,Mt=({style:e,rootElementId:t,visible:n,onClose:r,children:s})=>{if(!n)return null;const{rootElement:a}=zr(),i=Ne(a),l=Ne(a,!0);return zo.createPortal(o.createElement(_i,{onClick:r,style:e},o.createElement(vi,{onClick:u=>u.stopPropagation()},s)),i.getElementById(t)??i.getElementById(de.MODAL_ROOT)??l.body)},_i=h.default.div`position:fixed;top:0;left:0;width:100%;height:100%;background:${g.color.overlay.dark};display:flex;justify-content:center;align-items:center;z-index:${Pe.MODAL};`,vi=h.default.div`border-radius:4px;overflow:hidden;box-shadow:0 16px 24px 2px rgba(13,13,13,0.12),0 6px 30px 5px rgba(13,13,13,0.08),0 6px 10px -5px rgba(13,13,13,0.04);z-index:${Pe.MODAL};`,Cn=({visible:e,title:t,description:n,confirmText:r="OK",onConfirm:s,onClose:a})=>{const i=()=>{s==null||s(),a()};return o.createElement(Mt,{rootElementId:de.WINDOW,visible:e,onClose:a},o.createElement(yi,null,o.createElement(Si,null,t&&o.createElement(L,{variant:"h1",color:g.themedColor.textHighEmphasis},t),n&&o.createElement(Ti,null,o.createElement(L,{variant:"subtitle2",color:g.themedColor.textHighEmphasis},n))),o.createElement(Ai,null,o.createElement(wi,{onClick:i},o.createElement(L,{variant:"button",color:g.themedColor.primary},r)))))},yi=h.default.div`width:360px;height:auto;padding-block:24px 12px;padding-inline:24px;margin:0 auto;border-radius:4px;box-sizing:border-box;background-color:${({theme:e})=>e.colors.base.modalContentBackground};`,Si=h.default.div`margin-bottom:16px;`,Ti=h.default.div`margin-top:8px;`,Ai=h.default.div`display:flex;flex-direction:row;justify-content:flex-end;`,wi=h.default.button`all:unset;display:flex;justify-content:center;align-items:center;border-radius:4px;cursor:pointer;background-color:transparent;padding:10px 16px;`,{Provider:Ii,useContext:re}=ee("MessengerSession"),ki=c.forwardRef(function({children:e,...t},n){return o.createElement(ia,{ref:n,...t},r=>o.createElement(Mi,{...r},e))}),Mi=({children:e,...t})=>{const{chatSDK:n,logger:r,appId:s,aiAgentId:a,agentPreviewConfigs:i,state:l,handlers:u,dispatcher:d}=q(),{userSessionInfo:m,authenticate:f,setActiveChannel:E,userSession:v,aiAgentInfo:_,launcherInfo:b}=t,[p,x]=c.useState(!1),C=c.useRef(null);ve.useGroupChannelHandler(n,{async onUserJoined(T,I){var S,$,N;T.conversation&&T.conversation.type===se.ConversationType.PROACTIVE&&I.userId===((S=n.currentUser)==null?void 0:S.userId)&&(r.info("messengerSession.onUserJoined: proactive channel joined",T.url),E({url:T.url,status:"open",conversationStatus:($=T.conversation)==null?void 0:$.status}),l.setOpened(!0),$i({sound:document.hidden||!l.opened}),(N=C.current)==null||N.call(C,{channel:T}))}}),c.useEffect(()=>{f().then(({launcher:T})=>{T.auto_open&&!nt()&&setTimeout(()=>l.setOpened(!0),500)}).catch(T=>{var I;r.error("messengerSession: failed to initialize",T),(I=u==null?void 0:u.onInitializeFailed)==null||I.call(u,T)})},[n,s,a,m==null?void 0:m.userId]),c.useEffect(()=>{const T=()=>x(!0);return d.subscribe(Ze.AnonymousSessionTokenExpired,T),()=>d.unsubscribe(Ze.AnonymousSessionTokenExpired,T)},[d]);const y=c.useCallback(()=>{t.deauthenticate().finally(()=>window.location.reload())},[t.deauthenticate]);return!v||!_||!b?null:o.createElement(Ii,{value:{...t,userSession:v,aiAgentInfo:{..._,...i==null?void 0:i.bot},launcherInfo:{...b,...i==null?void 0:i.launcher},registerOnJoinedProactiveConversation:T=>C.current=T}},e,o.createElement(Cn,{visible:p,title:"Session timed out",description:"Start a new conversation.",onConfirm:y,onClose:ye}))};function $i({sound:e}){Ei("🔔You have received a new message"),e&&Wr()}const Li=e=>{const{chatSDK:t,handlers:n,logger:r}=q(),{aiAgentInfo:s}=re(),a=c.useRef(new Set),i=m=>{if(!(n!=null&&n.onCustomEvent))return;fe(m)&&m.sender.userId===s.userId&&!ke.isStreaming(m)&&!a.current.has(m.messageId)&&(r.debug("useCustomEventForMessageReceive: bot-message-received",m),n.onCustomEvent({type:"bot-message-received",data:{message:m}}),a.current.add(m.messageId))},l=m=>{if(n!=null&&n.onCustomEvent&&m.isAdminMessage()&&m.customType==="user_action_required"&&!a.current.has(m.messageId)){const f=Xt(m.data);Array.isArray(f.history)&&f.history.length===0&&(r.debug("useCustomEventForMessageReceive: user_action_required",f),n.onCustomEvent({type:"user-action-requested",data:f}),a.current.add(m.messageId))}},u=(m,f)=>{m.url===e&&(i(f),l(f))},d=m=>{l(m)};return ve.useGroupChannelHandler(t,{onMessageUpdated:u,onMessageReceived:u}),{checkForUserActionRequired:d}},_t=`@${le}-focused-channel`,qr=`${Date.now()}-${Math.random().toString(36).slice(2)}`,Oi=()=>{try{const e=localStorage.getItem(_t);return e?JSON.parse(e).channelUrl??null:null}catch{return null}},Xn=e=>{try{localStorage.setItem(_t,JSON.stringify({channelUrl:e,tabId:qr}))}catch{}},Zn=()=>{try{const e=localStorage.getItem(_t);if(!e)return;JSON.parse(e).tabId===qr&&localStorage.removeItem(_t)}catch{}},Ri=(e,t)=>(c.useEffect(()=>{if(!t||!e)return;const n=()=>Xn(e),r=()=>Zn();return document.hasFocus()&&Xn(e),window.addEventListener("focus",n),window.addEventListener("blur",r),()=>{window.removeEventListener("focus",n),window.removeEventListener("blur",r),Zn()}},[t,e]),{isChannelViewedInAnyTab:()=>document.hasFocus()||Oi()===e}),Di=e=>{var i;const{config:t,chatSDK:n}=q(),{sdkUser:r}=re(),s=!!((i=t==null?void 0:t.conversation)!=null&&i.messageAlertSoundEnabled),{isChannelViewedInAnyTab:a}=Ri(e,s);ve.useGroupChannelHandler(n,{onMessageReceived(l,u){if(!s||l.url!==e||a())return;(fe(u)&&u.sender.userId!==(r==null?void 0:r.userId)||u.isAdminMessage()&&!u.silent)&&Wr()}})};function Ni(e){return new Promise(t=>{const n=new Image;n.onload=function(){const r=String(n.width),s=String(n.height);URL.revokeObjectURL(n.src),t({width:r,height:s})},n.src=URL.createObjectURL(e)})}async function Pi(e){if("file"in e&&e.file instanceof File&&e.file.type.startsWith("image/")){const{width:t,height:n}=await Ni(e.file);return new Ie.MessageMetaArray({key:_r,value:[t,n]})}}const Fi=({onScrollAfterSendMessage:e})=>{const{agentPreviewConfigs:t,handlers:n}=q(),r=c.useRef(t==null?void 0:t.agentAttributes);return r.current=t==null?void 0:t.agentAttributes,{onBeforeSendMessage:async s=>{const a=await Pi(s),i={...s,metaArrays:a?[a]:void 0},l=Bi(r.current);return l?{...i,data:JSON.stringify(l)}:i},onAfterSendMessage:s=>{var a,i,l;e(),(a=n==null?void 0:n.onMessageSend)==null||a.call(n,s.message),s.sendingStatus===Ie.SendingStatus.SUCCEEDED?(i=n==null?void 0:n.onCustomEvent)==null||i.call(n,{type:"message-sent-succeeded",data:{message:s}}):s.sendingStatus===Ie.SendingStatus.PENDING&&((l=n==null?void 0:n.onCustomEvent)==null||l.call(n,{type:"message-sent-pending",data:{message:s}}))}}},Bi=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};async function _n(e){let t=e;t&&(!t.startsWith("http://")&&!t.startsWith("https://")&&(t="https://"+t),window.open(t,"_blank","noopener,noreferrer"))}function jr(e){requestAnimationFrame(()=>{requestAnimationFrame(()=>{e()})})}const ft=50,Gt=ft-40,{Provider:Ui,useContext:Hi}=ee("ConversationScroll"),Jn={viewport:0,contentHeight:0,contentSnapshotHeight:0,shouldRecalc:!1,shouldUpdate:!1};function zi({scrollMode:e,messageStackDirection:t,children:n}){const r=c.useRef(null),s=c.useRef(null),a=c.useRef(Jn),i=c.useRef(!1),l=c.useRef(null),u=c.useRef(0),d=c.useRef(0),m=c.useRef(!1),[f,E]=c.useState(0),[v,_]=c.useState(0),[b,p]=c.useState(!1),[x,C]=c.useState(!1),y=c.useMemo(()=>b||t==="bottom"?"auto":e,[b,t,e]),T=()=>{a.current.contentSnapshotHeight=a.current.contentHeight,a.current.shouldUpdate=!0,a.current.shouldRecalc=!0},I=()=>{const A=r.current;!A||!a.current.shouldUpdate||E(R=>{a.current.shouldUpdate=!1;const{contentHeight:P,contentSnapshotHeight:X,shouldRecalc:J}=a.current,Z=A.clientHeight;if(X>P)return R;const be=w(A,{messageType:"outgoing"});let me=0;if(be){const ge=be.message.offsetTop-Gt+Z;me=Math.max(0,ge-P)}else{const ge=P-X,Ue=Z-Gt;me=Math.max(0,ge-Ue)}return R===0||me!==R||J?(a.current.shouldRecalc=!1,me):R})},w=c.useCallback((A,R)=>{const{messageType:P="all"}=R??{},X=Array.from(A.querySelectorAll(`#${le}-message-item`));let J=X;P==="outgoing"&&(J=X.filter(Ft=>Ft.getAttribute("data-layout-id")==="outgoingmessage"));const Z=J[J.length-1];if(!Z)return null;const be=A.getBoundingClientRect(),me=Z.getBoundingClientRect(),ge=A.scrollTop+(me.top-be.top),Ue=ge+Z.offsetHeight;return{message:Z,scrollTop:ge,lastMessageBottom:Ue}},[]),S=c.useCallback(()=>{const A=r.current;if(!A||y!=="fixed")return;const R=w(A);a.current.contentHeight=(R==null?void 0:R.lastMessageBottom)??A.scrollHeight,!i.current&&a.current.contentSnapshotHeight>0&&T();const P=Math.max(0,A.scrollHeight-A.scrollTop-A.clientHeight);_(P),I()},[y,w]),$=c.useCallback(()=>{s.current&&(s.current.disconnect(),s.current=null),a.current=Jn,E(0),_(0)},[]),N=c.useCallback((A=!0)=>{m.current=!1,jr(()=>{const R=r.current;R&&R.scrollTo({top:R.scrollHeight,behavior:A?"smooth":"auto"})})},[]),D=c.useCallback(A=>{A&&(r.current=A,y==="fixed"&&($(),a.current.viewport=A.clientHeight,s.current=new MutationObserver(()=>{S()}),s.current.observe(A,{childList:!0,subtree:!0})))},[y,S,$]),O=c.useCallback(()=>{const A=r.current;if(!A)return;const R=w(A,{messageType:"outgoing"});R&&(A.scrollTo({top:R.message.offsetTop-Gt,behavior:"smooth"}),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{C(!1)},500))},[w]),z=A=>{const{scrollHeight:R,scrollTop:P,clientHeight:X}=A.currentTarget,J=Math.max(0,R-P-X),Z=d.current,be=J<=ft,me=P<Z,ge=P>Z;me&&!be&&(m.current=!0),ge&&be&&(m.current=!1),d.current=P,u.current=J,_(J)},V=c.useCallback(()=>{y==="fixed"&&(C(!0),T())},[y]),j=c.useCallback(()=>{y==="fixed"?setTimeout(()=>O(),300):N()},[y,O]),ae=c.useCallback(A=>{i.current=A,y==="fixed"?T():m.current||N()},[y,N]),ie=c.useCallback(A=>{p(A),A&&(E(0),s.current&&(s.current.disconnect(),s.current=null))},[]),Be=c.useCallback(A=>{y==="auto"&&A&&!m.current&&N()},[y,N]),M=!(v<=ft)&&!x,ce=c.useCallback(()=>u.current>ft,[]);return o.createElement(Ui,{value:{ref:D,state:{bottomSpace:f,isAwayFromBottom:M,shouldCountNewMessages:ce},props:{onScroll:z},actions:{scrollToBottom:N,onBeforeMessageSend:V,onAfterMessageSend:j,onStreamingUpdate:ae,onConversationClosed:ie,onTypingIndicatorUpdate:Be}}},n)}const{Provider:Vi,Context:Gi,useContext:oe}=ee("Conversation"),Wi=({children:e})=>{var s;const{channelSource:t}=oe(),n=(s=t.channel)==null?void 0:s.url,{checkForUserActionRequired:r}=Li(n);return c.useEffect(()=>{var i;const a=(i=t.channel)==null?void 0:i.lastMessage;a&&r(a)},[t.channel,r]),o.createElement(o.Fragment,null,e)},qi=({channelUrl:e,onClearChannelUrl:t,onNavigateToConversationList:n,shouldMarkAsRead:r,children:s})=>{const{activeChannel:a,refreshActiveChannel:i}=re(),l=Hi(),u=e||(a==null?void 0:a.url);Di(u);const{onBeforeSendMessage:d,onAfterSendMessage:m}=Fi({onScrollAfterSendMessage:()=>{l.actions.onAfterMessageSend()}}),f=c.useCallback(_=>(l.actions.onBeforeMessageSend(),d(_)),[l.actions,d]),E=c.useCallback(_=>{const b=_.some(p=>ke.isStreaming(p));l.actions.onStreamingUpdate(b)},[l.actions.onStreamingUpdate]),v=c.useCallback(async()=>{await i(),e&&(t==null||t())},[i,e,t]);return o.createElement(xa,{key:u,channelUrl:u,onBeforeSendMessage:f,onAfterSendMessage:m,onMessagesUpdated:E,onMessagesReceived:E,onChannelDeleted:v,onConversationClosedStatusChanged:l.actions.onConversationClosed,shouldMarkAsRead:r,shouldCountNewMessages:l.state.shouldCountNewMessages},_=>o.createElement(Vi,{value:{..._,scrollSource:l,goToActiveConversation:v,onNavigateToConversationList:n}},o.createElement(Wi,null,s)))},Kr=({children:e,...t})=>{var i;const{config:n}=te(),{agentPreviewConfigs:r}=q(),s=((i=n==null?void 0:n.conversation)==null?void 0:i.scrollMode)??"auto",a=r==null?void 0:r.messageStackDirection;return o.createElement(zi,{scrollMode:s,messageStackDirection:a},o.createElement(qi,{...t},e))},vn=c.createContext({onDrop:ye,subscribe:()=>ye}),rn=({children:e})=>{const t=c.useRef(new Set);return o.createElement(vn.Provider,{value:{onDrop:n=>{var r;if(n.preventDefault(),(r=n.dataTransfer)!=null&&r.files){const s=Array.from(n.dataTransfer.files);s.length>0&&t.current.forEach(a=>a(s))}},subscribe:n=>(t.current.add(n),()=>t.current.delete(n))}},e)},ji=({onDropFiles:e})=>{const{subscribe:t}=c.useContext(vn);c.useEffect(()=>t(e),[e])};rn.Consumer=({children:e})=>{const{onDrop:t}=c.useContext(vn);return e({onDrop:t,onDragOver:s=>s.preventDefault()})};class vt extends c.PureComponent{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}render(){const{fallback:t=null,errorFallback:n=t,loadingFallback:r=t,children:s}=this.props;return this.state.hasError?n:o.createElement(c.Suspense,{fallback:r},s)}}const Ki=e=>o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 64 64",...e},o.createElement("path",{className:"fill",d:"M52.552 11.448a2.666 2.666 0 0 1 .222 3.52l-.222.251-16.781 16.78 16.781 16.782a2.665 2.665 0 0 1 0 3.771 2.666 2.666 0 0 1-3.52.222l-.251-.222L32 35.771 15.219 52.552a2.665 2.665 0 0 1-3.771 0 2.666 2.666 0 0 1-.222-3.52l.222-.251L28.228 32l-16.78-16.781a2.665 2.665 0 0 1 0-3.771 2.666 2.666 0 0 1 3.52-.222l.251.222 16.78 16.78 16.782-16.78a2.665 2.665 0 0 1 3.771 0z",fill:"#000",fillRule:"evenodd"})),Yi=e=>o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",...e},o.createElement("path",{className:"fill",d:"M7.33348 7.3335L2.00015 7.3335L2.00015 6.00016H5.05735L1.3335 2.27631L2.27631 1.3335L6.00015 5.05734V2.00016L7.33348 2.00016L7.33348 7.3335ZM8.66683 8.66683H14.0002V10.0002L10.943 10.0002L14.6668 13.724L13.724 14.6668L10.0002 10.943V14.0002H8.66683L8.66683 8.66683Z",fill:"#000",fillRule:"evenodd"})),Xi=e=>o.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},o.createElement("path",{className:"fill",fillRule:"evenodd",clipRule:"evenodd",d:"M2 2H7.33333V3.33333L4.27613 3.33333L7.99999 7.05719L7.05718 8L3.33333 4.27616L3.33333 7.33333H2V2ZM14 14H8.66667V12.6667H11.7239L8.00001 8.94281L8.94282 8L12.6667 11.7238V8.66667H14V14Z",fill:"#000"})),Zi=e=>o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 64 64",fill:"evenodd",...e},o.createElement("path",{className:"fill",fill:"#0D0D0D",d:"M50.667 18.667H13.333v-5.334h37.334zM50.667 34.667H13.333v-5.334h37.334zM13.333 50.667h37.334v-5.334H13.333z"})),Ji=e=>o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 64 64",...e},o.createElement("path",{fill:"#000",fillRule:"evenodd",d:"M59.795 29.43 7.329 2.979C4.691 1.802 1.76 4.153 2.932 6.798l6.925 18.609a2 2 0 0 0 1.544 1.275l32.273 5.394L11.4 37.47a1.998 1.998 0 0 0-1.544 1.275L2.932 57.353c-.879 2.645 1.76 4.997 4.397 3.527l52.466-26.453c2.051-.882 2.051-3.82 0-4.996z",className:"fill"})),Qi=new Set(["send","chat","message","chevron-right","good","good-filled","bad","bad-filled"]),el={close:Ki,send:Ji,menu:Zi,expand:Xi,collapse:Yi,spinner:c.lazy(()=>Promise.resolve().then(()=>require("./Cf3-irI8.cjs"))),chat:c.lazy(()=>Promise.resolve().then(()=>require("./BmdfYY9c.cjs"))),message:c.lazy(()=>Promise.resolve().then(()=>require("./CmWLVNPR.cjs"))),error:c.lazy(()=>Promise.resolve().then(()=>require("./DNmdC4-j.cjs"))),info:c.lazy(()=>Promise.resolve().then(()=>require("./ohTjxqcW.cjs"))),refresh:c.lazy(()=>Promise.resolve().then(()=>require("./D00MOxhE.cjs"))),"chevron-down":c.lazy(()=>Promise.resolve().then(()=>require("./wf-LdaaN.cjs"))),"chevron-right":c.lazy(()=>Promise.resolve().then(()=>require("./B0k-GApQ.cjs"))),done:c.lazy(()=>Promise.resolve().then(()=>require("./kp5wcW4s.cjs"))),user:c.lazy(()=>Promise.resolve().then(()=>require("./CtHfgPDp.cjs"))),"file-document":c.lazy(()=>Promise.resolve().then(()=>require("./_YfLwFkX.cjs"))),download:c.lazy(()=>Promise.resolve().then(()=>require("./BN09c8-A.cjs"))),attach:c.lazy(()=>Promise.resolve().then(()=>require("./DcDTXo8_.cjs"))),delete:c.lazy(()=>Promise.resolve().then(()=>require("./CKPzhVy2.cjs"))),"close-filled":c.lazy(()=>Promise.resolve().then(()=>require("./D1kINslt.cjs"))),agent:c.lazy(()=>Promise.resolve().then(()=>require("./Ce1MzjFq.cjs"))),question:c.lazy(()=>Promise.resolve().then(()=>require("./JA0x62Fd.cjs"))),actionbook:c.lazy(()=>Promise.resolve().then(()=>require("./CXa-CGHE.cjs"))),function:c.lazy(()=>Promise.resolve().then(()=>require("./zbLY6xl_.cjs"))),"radio-on":c.lazy(()=>Promise.resolve().then(()=>require("./B9NJk4MI.cjs"))),"radio-off":c.lazy(()=>Promise.resolve().then(()=>require("./Bb0r6Nhu.cjs"))),confluence:c.lazy(()=>Promise.resolve().then(()=>require("./c6TZaE94.cjs"))),zendesk:c.lazy(()=>Promise.resolve().then(()=>require("./DqpDy_26.cjs"))),salesforce:c.lazy(()=>Promise.resolve().then(()=>require("./BsgzT_SF.cjs"))),sprinklr:c.lazy(()=>Promise.resolve().then(()=>require("./D97ZpKUC.cjs"))),website:c.lazy(()=>Promise.resolve().then(()=>require("./ygZY2D-5.cjs"))),snippet:c.lazy(()=>Promise.resolve().then(()=>require("./BCFOnu0u.cjs"))),template:c.lazy(()=>Promise.resolve().then(()=>require("./eJXfXI1_.cjs"))),source:c.lazy(()=>Promise.resolve().then(()=>require("./yVmX6iux.cjs"))),bot:c.lazy(()=>Promise.resolve().then(()=>require("./PhHbzZB_.cjs"))),"bot-filled":c.lazy(()=>Promise.resolve().then(()=>require("./DlvMdI1f.cjs"))),copy:c.lazy(()=>Promise.resolve().then(()=>require("./COgkkyBM.cjs"))),show:c.lazy(()=>Promise.resolve().then(()=>require("./DM-WWpci.cjs"))),mute:c.lazy(()=>Promise.resolve().then(()=>require("./P_ra76fq.cjs"))),good:c.lazy(()=>Promise.resolve().then(()=>require("./DEgUVAck.cjs"))),bad:c.lazy(()=>Promise.resolve().then(()=>require("./C0s7eAf7.cjs"))),"good-filled":c.lazy(()=>Promise.resolve().then(()=>require("./Chg8xHXT.cjs"))),"bad-filled":c.lazy(()=>Promise.resolve().then(()=>require("./CGkmTaBn.cjs"))),delight:c.lazy(()=>Promise.resolve().then(()=>require("./DCB0iTxd.cjs"))),photo:c.lazy(()=>Promise.resolve().then(()=>require("./GQlGFYP2.cjs"))),"arrow-left":c.lazy(()=>Promise.resolve().then(()=>require("./CZIjo9nb.cjs"))),add:c.lazy(()=>Promise.resolve().then(()=>require("./DEGDJBmd.cjs"))),document:c.lazy(()=>Promise.resolve().then(()=>require("./DBHlAmeA.cjs")))},U=({type:e,size:t=24,className:n,color:r})=>{const s=el[e];return o.createElement(nl,{className:n,$rtlFlip:Qi.has(e),$size:t,$color:r??g.color.primary.main},o.createElement(vt,{errorFallback:o.createElement(rl,null)},o.createElement(s,null)))},tl=k.css`[dir='rtl'] &{transform:scaleX(-1);}`,nl=h.default.div`width:${({$size:e})=>pe(e)};height:${({$size:e})=>pe(e)};display:inline-block;&:focus{outline:none;}svg{display:block;}[class*='fill']{fill:${({$color:e})=>e};}[class*='stroke']{stroke:${({$color:e})=>e};stroke-width:2px;stroke-linejoin:round;}${({$rtlFlip:e})=>e&&tl};`,rl=()=>o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 64 64"},o.createElement("rect",{x:"8",y:"8",width:"48",height:"48",fill:"none",className:"stroke",rx:"4"}),o.createElement("line",{x1:"20",y1:"20",x2:"44",y2:"44",className:"stroke"}),o.createElement("line",{x1:"44",y1:"20",x2:"20",y2:"44",className:"stroke"})),ol=.75,Yr=6,sl=Yr*2;let on=null;typeof Intl<"u"&&"Segmenter"in Intl&&(on=new Intl.Segmenter(void 0,{granularity:"grapheme"}));const al=e=>on?Array.from(on.segment(e),t=>t.segment):[...e],il=e=>{const t=Math.floor(e.length*ol),n=Math.max(0,e.length-Yr);return Math.max(t,n)},Qn=(e,t="")=>{if(e.length<sl)return{start:e+t,end:""};const n=al(e),r=il(n);return{start:n.slice(0,r).join(""),end:n.slice(r).join("")+t}},ll=e=>{const t=e.normalize("NFC").trim(),n=t.lastIndexOf(".");if(!(n>0&&n<t.length-1))return Qn(t);const s=t.slice(0,n),a=t.slice(n);return Qn(s,a)},Xr=({children:e,...t})=>{const{start:n,end:r}=c.useMemo(()=>ll(e),[e]);return r?o.createElement(cl,null,o.createElement(ul,{...t},n),o.createElement(dl,{...t},r)):o.createElement(L,{...t},n)},cl=h.default.span`display:flex;width:100%;min-width:0;overflow:hidden;direction:inherit;`,ul=h.default(L)`overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0;`,dl=h.default(L)`flex-shrink:0;white-space:nowrap;`,yn=({name:e,type:t="FILE",iconColor:n,iconBackgroundColor:r,onClick:s})=>{const{colors:a}=k.useTheme();return o.createElement(ml,{onClick:s,$clickable:!!s},o.createElement(hl,{$bgColor:r??a.base.primary},o.createElement(U,{type:"file-document",size:24,color:n??a.base.primaryContrastContent})),o.createElement(pl,null,o.createElement(Xr,{variant:"button",color:g.themedColor.textHighEmphasis},e),o.createElement(L,{color:g.themedColor.textMidEmphasis,variant:"caption3"},t)))},ml=h.default.div`border-radius:12px;gap:8px;width:${H.BODY_MAX_WIDTH}px;height:64px;display:flex;align-items:center;padding:12px;box-sizing:border-box;border:1px solid ${g.themedColor.textDisabled};background-color:${g.themedColor.bg_50_600};${({$clickable:e})=>e&&gl}`,gl=k.css`cursor:pointer;&:hover{background-color:${g.themedColor.bg_100_500};}`,hl=h.default.div`border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:${({$bgColor:e})=>e};`,pl=h.default.div`display:flex;flex:1;flex-direction:column;gap:4px;min-width:0;`;function fl({file:e,children:t,onClickFile:n}){return o.createElement(El,null,o.createElement(yn,{name:e.name,type:un(e.name,e.type),onClick:n&&(()=>n==null?void 0:n(e))}),t)}const El=h.default.div`display:flex;flex-direction:column;align-items:flex-start;gap:${H.GAP_GROUPED}px;`,Se=`${le}-incoming-msg`,bl=`${le}-marked-text`;function xl({file:e,onClickMedia:t,onClickMediaFiles:n,children:r}){const s=()=>{n?n({files:[{url:e.url,type:e.type,name:e.name}],index:0}):t&&t(e)},a=()=>e.type.startsWith("image")?o.createElement(vl,{src:e.url,alt:"image-message"}):e.type.startsWith("video")?o.createElement(yl,{controls:!0},o.createElement("source",{src:e.url}),o.createElement("track",{kind:"captions"})):null;if(a){const i={id:`${Se}-media-body`,onClick:s};return o.createElement(Cl,null,o.createElement(_l,{...i},a()),r)}return null}const Cl=h.default.div`display:flex;flex-direction:column;align-items:flex-start;gap:${H.GAP_GROUPED}px;`,_l=h.default.div`width:${H.BODY_MAX_WIDTH}px;height:160px;border-radius:12px;overflow:hidden;cursor:pointer;${B.light`
|
|
53
|
-
background-color: ${g.color.background100};
|
|
54
|
-
`}
|
|
55
|
-
${B.dark`
|
|
56
|
-
background-color: ${g.color.background400};
|
|
57
|
-
`}
|
|
58
|
-
`,vl=h.default.img`width:100%;height:100%;object-fit:cover;`,yl=h.default.video`width:100%;height:100%;object-fit:cover;`,rt=({className:e,children:t,size:n=26})=>o.createElement(Sl,{className:e,$size:n},t??o.createElement(U,{type:"spinner",size:n})),Sl=h.default.div`display:flex;align-items:center;justify-content:center;width:${({$size:e})=>pe(e)};height:${({$size:e})=>pe(e)};animation:1s infinite linear;animation-name:rotate;@keyframes rotate{from{transform:rotate(0);}to{transform:rotate(360deg);}}`,yt=3,$t=6,Tl=$t/yt,Al=yt,wl=$t,Il=e=>{const t=e%yt;return{gridColumns:t>0?$t:yt,wideBottomCount:t}},Zr=({images:e,isPending:t=!1,onClickImage:n})=>{const r=e.length;if(r===0)return null;const{gridColumns:s,wideBottomCount:a=0}=Il(r);return o.createElement(Ml,{$width:H.BODY_MAX_WIDTH,$columns:s},e.map((i,l)=>{const u=a>0&&l>=r-a;let d=1;return s===$t&&(u?d=a===1?wl:Al:d=Tl),o.createElement($l,{key:i.url,$clickable:!!n&&!t,$itemSpan:d,$isPending:t,onClick:()=>!t&&(n==null?void 0:n(l))},o.createElement(kl,{src:i.url,alt:i.name||""}),t&&o.createElement(Ll,null))}))},kl=({src:e,alt:t})=>{const[n,r]=c.useState(!1),[s,a]=c.useState(!1);return o.createElement(o.Fragment,null,!n&&!s&&o.createElement(Ol,null,o.createElement(rt,{size:20},o.createElement(U,{type:"spinner",color:"textLowEmphasis",size:20}))),s?o.createElement(Rl,null,o.createElement(U,{type:"photo",color:"textLowEmphasis",size:24})):o.createElement(Dl,{src:e,alt:t,$loaded:n,onLoad:()=>r(!0),onError:()=>a(!0)}))},Ml=h.default.div`display:grid;grid-template-columns:repeat(${({$columns:e})=>e},1fr);width:${({$width:e})=>e}px;gap:2px;border-radius:16px;overflow:hidden;`,$l=h.default.div`position:relative;width:100%;aspect-ratio:1;overflow:hidden;cursor:${e=>e.$clickable?"pointer":"default"};${B.light`
|
|
59
|
-
background-color: ${g.color.background100};
|
|
60
|
-
`}
|
|
61
|
-
${B.dark`
|
|
62
|
-
background-color: ${g.color.background400};
|
|
63
|
-
`}
|
|
64
|
-
${e=>e.$itemSpan&&e.$itemSpan>1&&`
|
|
65
|
-
grid-column: span ${e.$itemSpan};
|
|
66
|
-
aspect-ratio: ${e.$itemSpan/2};
|
|
67
|
-
`}
|
|
68
|
-
|
|
69
|
-
&:hover {
|
|
70
|
-
${e=>e.$clickable&&!e.$isPending&&`
|
|
71
|
-
& > img {
|
|
72
|
-
opacity: 0.8;
|
|
73
|
-
}
|
|
74
|
-
`}
|
|
75
|
-
}
|
|
76
|
-
`,Ll=h.default.div`position:absolute;top:0;left:0;width:100%;height:100%;background-color:${g.color.overlay.dark};pointer-events:none;`,Jr=h.default.div`display:flex;align-items:center;justify-content:center;`,Ol=h.default(Jr)`position:absolute;inset:0;`,Rl=h.default(Jr)`position:absolute;inset:0;${B.light`
|
|
77
|
-
background-color: ${g.color.background200};
|
|
78
|
-
`}
|
|
79
|
-
${B.dark`
|
|
80
|
-
background-color: ${g.color.background500};
|
|
81
|
-
`}
|
|
82
|
-
`,Dl=h.default.img`position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:${({$loaded:e})=>e?1:0};transition:opacity 0.3s ease;`,Nl=({files:e,children:t,onClickMedia:n,onClickMediaFiles:r})=>{const s=a=>{const i=e[a];i&&(r?r({files:e,index:a}):n&&n({url:i.url,type:i.type||"image/*"}))};return o.createElement(Pl,null,o.createElement(Zr,{images:e,onClickImage:s}),t)},Pl=h.default.div`display:flex;flex-direction:column;align-items:flex-start;gap:${H.GAP_GROUPED}px;`,Fl="✱",Qr=e=>{const t=new RegExp(`(\`+)([^\`]+?)\\1|(${Fl}+)`,"g");return e.replace(t,(n,r,s,a)=>r?n:a?`<span id=${bl} aria-label="masked-text">${a}</span>`:n)},Bl=e=>e.replace(/\*\*(.*?)\*\*/g,"<b>$1</b>"),er=e=>{var t;return{files:e.fileInfoList.map(n=>({url:n.url,type:n.mimeType??"",name:n.fileName??""})),metadata:{localFiles:(t=e.messageParams)==null?void 0:t.fileInfoList.map(n=>n.file)}}},Ul=c.lazy(async()=>({default:(await Promise.resolve().then(()=>require("./DQCOoJ_z.cjs"))).MarkdownText})),Hl=c.lazy(async()=>({default:(await Promise.resolve().then(()=>require("./DlvEEpWX.cjs"))).CodeBlock}));function zl(e){var s,a;const t=e.maxBodyWidth??H.BODY_MAX_WIDTH,n=c.useMemo(()=>Jo(e.message,Qr),[e.message]),r={id:`${Se}-text-body`,$maxWidth:t,$color:(s=e.customStyle)==null?void 0:s.bubbleContentColor,$bgColor:(a=e.customStyle)==null?void 0:a.bubbleBackgroundColor};return n.length===0?e.children?o.createElement(tr,{...r},e.children):null:o.createElement(tr,{...r},n.map((i,l)=>i.type==="text"?o.createElement(nr,{key:l,variant:"body3"},o.createElement(vt,{fallback:i.value},o.createElement(Ul,{onClickImage:u=>{var d;return(d=e.onClickMedia)==null?void 0:d.call(e,{url:u,type:"image/*"})}},i.value))):i.type==="code"?o.createElement(vt,{key:l,fallback:o.createElement(nr,{variant:"body3"},i.value)},o.createElement(Hl,{code:i.value,language:i.language})):null),e.children)}const tr=h.default.div`display:flex;flex-direction:column;border-radius:12px;overflow:hidden;max-width:${({$maxWidth:e})=>e}px;${({theme:e,$color:t,$bgColor:n})=>k.css`
|
|
83
|
-
color: ${t||e.colors.messageIncoming.text};
|
|
84
|
-
background-color: ${n||e.colors.messageIncoming.background};
|
|
85
|
-
`}
|
|
86
|
-
padding: 12px 0;
|
|
87
|
-
transition: max-width 0.3s;
|
|
88
|
-
overflow-wrap: break-word;
|
|
89
|
-
`,nr=h.default(L)`align-items:flex-start;line-height:140%;white-space:pre-wrap;padding:0 12px;`;function eo({id:e,src:t,size:n=56,onClick:r,style:s}){return o.createElement(Vl,{id:e,tabIndex:0,onClick:r,$size:pe(n),style:s},t?o.createElement(Gl,{src:t}):o.createElement(U,{type:"user",size:n}))}const Vl=h.default.div`border-radius:50%;display:inline-block;overflow:hidden;position:relative;flex-shrink:0;height:${e=>e.$size};width:${e=>e.$size};background-color:${g.themedColor.bg_100_500};&:focus{outline:none;}`,Gl=h.default.img`object-fit:cover;width:100%;height:100%;position:absolute;`,Wl=({sender:e,isBotMessage:t})=>{const n=`${Se}-sender-avatar`;return t&&!e.profileUrl?o.createElement(ql,{id:n},o.createElement(U,{type:"delight",size:"100%"})):o.createElement(eo,{id:n,size:H.AVATAR_SIZE,src:e.profileUrl})},ql=h.default.div`flex-shrink:0;width:${H.AVATAR_SIZE}px;height:${H.AVATAR_SIZE}px;box-sizing:border-box;padding:4px;border-radius:50%;display:flex;justify-content:center;align-items:center;background-color:${({theme:e})=>e.colors.base.primary}!important;ellipse,path{fill:${({theme:e})=>e.colors.base.primaryContrastContent}!important;}}`,jl=({sender:e})=>o.createElement(Kl,{id:`${Se}-sender-name`,variant:"caption1",color:g.themedColor.textMidEmphasis},e.nickname),Kl=h.default(L)`text-align:start;width:100%;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-block:5px;padding-inline:0 7px;`,Yl=({createdAt:e})=>{const{stringSet:t,format:n}=W();return e?o.createElement(L,{id:`${Se}-sent-time`,variant:"caption4",color:g.themedColor.textLowEmphasis},n(e,t.DATE_FORMAT__MESSAGE_TIMESTAMP)):null},Xl=({customStyle:e})=>o.createElement(Zl,{$bgColor:e==null?void 0:e.bubbleBackgroundColor},[0,1,2].map(t=>o.createElement(Jl,{key:t,$color:e==null?void 0:e.bubbleContentColor}))),Zl=h.default.div`align-items:center;border-radius:12px;display:flex;gap:6px;justify-content:center;padding:16px 12px;background-color:${({theme:e,$bgColor:t})=>t||e.colors.messageIncoming.background};`,Jl=h.default.span`animation:blink 1.4s infinite;animation-fill-mode:both;border-radius:50%;height:8px;width:8px;background:${({theme:e,$color:t})=>t||e.colors.messageIncoming.text};@keyframes blink{0%{opacity:0.12;transform:scale(1);}21.43%{opacity:0.38;transform:scale(1.2);}42.86%{opacity:0.12;transform:scale(1);}100%{opacity:0.12;transform:scale(1);}}&:nth-child(1){animation-delay:0.4s;}&:nth-child(2){animation-delay:0.6s;}&:nth-child(3){animation-delay:0.8s;}`,Ql=({extendedMessagePayload:e,onClickCTA:t=({url:n})=>_n(n)})=>{const n=e==null?void 0:e.cta_button;return n?o.createElement(ec,{id:`${Se}-ext-cta-button`,role:"button",onClick:()=>t(n)},o.createElement(tc,{variant:"button"},n.label)):null},ec=h.default.div`display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:6px;padding:8px;color:${g.themedColor.textHighEmphasis};background-color:${g.color.background50};${B.dark`
|
|
90
|
-
background-color: ${g.color.ondark.textDisabled};
|
|
91
|
-
`}
|
|
92
|
-
`,tc=h.default(L)`overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`,nc=({extendedMessagePayload:e,onClickCitation:t=n=>_n(n.link)})=>{const{stringSet:n}=W(),{theme:r}=fn(),s=e==null?void 0:e.citations;return!s||s.length===0?null:o.createElement(rc,{id:`${Se}-ext-citation`},o.createElement(oc,{variant:"caption1",color:r.colors.messageIncoming.text},n.CITATION_SOURCE_TITLE),o.createElement(sc,null,s.map((a,i)=>o.createElement(ic,{key:`${a.embedding_id}-${i}`,role:"button",onClick:()=>t(a)},o.createElement(U,{type:"source",size:16,color:r.colors.messageIncoming.text}),o.createElement(ac,{variant:"body3",color:r.colors.messageIncoming.text},a.title)))))},rc=h.default.div`display:flex;flex-direction:column;gap:8px;border-radius:8px;padding:8px 12px 6px;`,oc=h.default(L)`opacity:0.5;`,sc=h.default.div`display:flex;flex-direction:column;gap:8px;`,ac=h.default(L)`text-decoration:underline;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`,ic=h.default.div`display:flex;align-items:center;gap:4px;cursor:pointer;&:hover{opacity:0.5;}`,lc=e=>o.createElement(o.Fragment,null),cc=({visible:e,onClose:t,children:n})=>o.createElement(Mt,{rootElementId:de.WINDOW,visible:e,onClose:t},o.createElement(gc,null,n)),uc=({onClick:e,destructive:t,icon:n,children:r})=>o.createElement(dc,{onClick:e,$destructive:t},n&&o.createElement(mc,null,o.createElement(U,{type:n,size:24,color:g.themedColor.primary})),r),Me=Object.assign(cc,{ActionItem:uc}),dc=h.default.button`all:unset;display:flex;align-items:center;gap:24px;width:100%;padding:12px 24px;cursor:pointer;color:${({$destructive:e})=>e?g.themedColor.error:g.themedColor.textHighEmphasis};`,mc=h.default.div`display:flex;align-items:center;justify-content:center;flex-shrink:0;`,gc=h.default.div`position:absolute;left:0;right:0;bottom:0;border-radius:12px 12px 0 0;flex-direction:column;align-items:flex-end;margin:0 auto;box-sizing:border-box;background-color:${({theme:e})=>e.colors.base.modalContentBackground};`,sn=e=>`${e}-filled`,hc=e=>e==="good"?se.AIAgentMessageFeedbackRating.GOOD:se.AIAgentMessageFeedbackRating.BAD,to=k.css`&:hover{opacity:0.8;}&:active{opacity:0.6;}`,rr={good:g.themedColor.secondary,bad:g.themedColor.error},pc=({visible:e,onClose:t,isEdit:n,initialRating:r,initialComment:s="",onSubmit:a,isCommentEnabled:i=!1})=>{const{stringSet:l}=W(),[u,d]=c.useState(r),[m,f]=c.useState(s);c.useLayoutEffect(()=>{e?(d(r),f(s)):(d(void 0),f(""))},[e,r,s]);const E=()=>{u&&(a({rating:u,comment:m.trim()||void 0}),t())},v=()=>{t()};return e?o.createElement(Mt,{rootElementId:de.WINDOW,visible:e,onClose:v},o.createElement(fc,null,o.createElement(Ec,null,o.createElement(L,{variant:"h2",color:g.themedColor.textHighEmphasis},l.FEEDBACK_TITLE)),o.createElement(bc,null,o.createElement(xc,null,["good","bad"].map(_=>{const b=u===_,p=_==="good"?l.FEEDBACK_GOOD:l.FEEDBACK_BAD;return o.createElement(Cc,{key:_,$selected:b,$rating:_,onClick:()=>d(_)},o.createElement(U,{type:b?sn(_):_,size:24,color:b?rr[_]:g.themedColor.textLowEmphasis}),o.createElement(L,{variant:"caption1",color:b?rr[_]:g.themedColor.textLowEmphasis},p))})),i&&o.createElement(_c,null,o.createElement(L,{variant:"caption3",color:g.themedColor.textHighEmphasis},l.FEEDBACK_COMMENT_LABEL),o.createElement(vc,{placeholder:l.FEEDBACK_COMMENT_PLACEHOLDER,value:m,onChange:_=>f(_.target.value),maxLength:100}))),o.createElement(yc,null,o.createElement(Sc,{onClick:v},o.createElement(L,{variant:"button",color:g.themedColor.textHighEmphasis},l.FEEDBACK_CANCEL)),o.createElement(Tc,{onClick:E,disabled:!u},o.createElement(L,{variant:"button"},n?l.FEEDBACK_SAVE:l.FEEDBACK_SUBMIT))))):null},fc=h.default.div`width:280px;background-color:${({theme:e})=>e.colors.base.modalContentBackground};border-radius:12px;overflow:hidden;`,Ec=h.default.div`padding:24px;`,bc=h.default.div`padding-inline:24px;display:flex;flex-direction:column;gap:24px;`,xc=h.default.div`display:flex;gap:4px;`,Cc=h.default.button`width:114px;height:64px;border-radius:12px;border:1px solid ${g.themedColor.textDisabled};box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;gap:0;transition:background-color 0.2s;background-color:${({$selected:e})=>e?g.color.background100:"transparent"};${({$selected:e})=>B.dark`
|
|
93
|
-
background-color: ${e?g.color.background600:"transparent"};
|
|
94
|
-
`}
|
|
95
|
-
|
|
96
|
-
&:hover {
|
|
97
|
-
opacity: 0.8;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
&:active {
|
|
101
|
-
opacity: 0.6;
|
|
102
|
-
}
|
|
103
|
-
`,_c=h.default.div`display:flex;flex-direction:column;gap:6px;`,vc=h.default.textarea`font-family:inherit;font-size:12px;line-height:16px;border:1px solid ${g.themedColor.textDisabled};border-radius:4px;padding:6px 12px;color:${g.themedColor.textHighEmphasis};background-color:${g.themedColor.textLowEmphasisInverse};resize:none;field-sizing:content;min-height:28px;max-height:118px;overflow-y:auto;&::placeholder{color:${g.themedColor.textLowEmphasis};}&:focus{outline:none;}`,yc=h.default.div`padding-inline:24px;padding-block:16px;display:flex;justify-content:flex-end;gap:4px;`,no=h.default.button`width:86px;height:40px;border-radius:20px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity 0.2s;`,Sc=h.default(no)`${to}`,Tc=h.default(no)`cursor:${({disabled:e})=>e?"not-allowed":"pointer"};opacity:${({disabled:e})=>e?.4:1};&:hover:not(:disabled){opacity:0.8;}&:active:not(:disabled){opacity:0.6;}background-color:${({theme:e})=>e.colors.base.primary};span{color:${({theme:e})=>e.colors.base.primaryContrastContent};}`,or={good:g.themedColor.secondary,bad:g.themedColor.error},Ac=({isBotMessage:e,isConversationClosed:t,isStreaming:n,isFeedbackEnabled:r,isFeedbackCommentEnabled:s,extendedMessagePayload:a,onFeedbackUpdate:i})=>{const{stringSet:l}=W(),[u,d]=c.useState(!1),[m,f]=c.useState(!1),[E,v]=c.useState(void 0),[_,b]=c.useState(""),p=a==null?void 0:a.feedback,x=(p==null?void 0:p.rating)??"none";if(x!=="none"?!1:!!(n||!e||!r||(a==null?void 0:a.bot_message_type)!=="generated"||t))return null;const y=S=>{x==="none"?(v(S),b(""),d(!0)):f(!0)},T=()=>{i==null||i(null),f(!1)},I=()=>{f(!1),v(p==null?void 0:p.rating),b((p==null?void 0:p.comment)??""),d(!0)},w=S=>{i==null||i(S)};return t&&x!=="none"?o.createElement(sr,{$horizontal:!0},o.createElement(wc,null,o.createElement(U,{type:sn(x),size:12,color:or[x]})),(p==null?void 0:p.comment)&&o.createElement(ar,{variant:"caption2",style:{lineHeight:"16px"}},p.comment)):o.createElement(o.Fragment,null,o.createElement(sr,null,o.createElement(Ic,null,["good","bad"].map(S=>{const $=x===S;return o.createElement(kc,{key:S,$selected:$,$rating:S,onClick:()=>y(S)},o.createElement(U,{type:$?sn(S):S,size:14,color:$?or[S]:g.themedColor.textMidEmphasis}))})),x!=="none"&&(p==null?void 0:p.comment)&&o.createElement(ar,{variant:"caption2"},p.comment)),o.createElement(Me,{visible:m,onClose:()=>f(!1)},o.createElement(Me.ActionItem,{onClick:I},l.FEEDBACK_EDIT),o.createElement(Me.ActionItem,{onClick:T,destructive:!0},l.FEEDBACK_REMOVE)),o.createElement(pc,{visible:u,onClose:()=>d(!1),isEdit:x!=="none",initialRating:E,initialComment:_,onSubmit:w,isCommentEnabled:s}))},sr=h.default.div`display:flex;flex-direction:${({$horizontal:e})=>e?"row":"column"};align-items:${({$horizontal:e})=>e?"flex-start":"stretch"};gap:4px;margin-top:8px;word-break:break-word;max-width:${H.BODY_MAX_WIDTH}px;`,wc=h.default.div`padding:2px;flex-shrink:0;display:flex;align-items:center;`,Ic=h.default.div`display:flex;gap:2px;`,kc=h.default.button`width:38px;height:20px;border-radius:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:opacity 0.2s;border:1px solid ${g.color.background200};background-color:${({$selected:e})=>e?g.color.background100:"transparent"};${({$selected:e})=>B.dark`
|
|
104
|
-
border: 1px solid ${g.color.background400};
|
|
105
|
-
background-color: ${e?g.color.background500:"transparent"};
|
|
106
|
-
`}
|
|
107
|
-
|
|
108
|
-
${to}
|
|
109
|
-
`,ar=h.default(L)`color:${g.themedColor.textMidEmphasis};${B.dark`
|
|
110
|
-
color: ${g.themedColor.textHighEmphasis};
|
|
111
|
-
`}
|
|
112
|
-
`,Sn=k.css`width:100%;height:36px;border-radius:6px;cursor:pointer;transition:all 0.2s ease;padding:0 12px;border:none;outline:none;display:flex;align-items:center;justify-content:center;&:disabled{cursor:not-allowed;}`,ir=h.default.button`${Sn};background-color:${g.themedColor.primary};color:${g.themedColor.textHighEmphasis};&:hover:not(:disabled){opacity:0.9;}`,Mc=h.default.button`${Sn};color:${g.themedColor.primary};${B.light`
|
|
113
|
-
background-color: ${g.color.background50};
|
|
114
|
-
`};
|
|
115
|
-
${B.dark`
|
|
116
|
-
background-color: ${g.color.background700};
|
|
117
|
-
`};
|
|
118
|
-
|
|
119
|
-
&:hover:not(:disabled) {
|
|
120
|
-
opacity: 0.9;
|
|
121
|
-
}
|
|
122
|
-
`,$c=h.default.button`${Sn};background-color:transparent;color:${g.themedColor.textHighEmphasis};&:hover:not(:disabled){opacity:0.7;}`,Lc=e=>{switch(e){case"primary":return ir;case"secondary":return Mc;case"clear":return $c;default:return ir}},Oc=h.default.div`animation:1s infinite linear;animation-name:rotate;display:flex;align-items:center;justify-content:center;@keyframes rotate{from{transform:rotate(0);}to{transform:rotate(360deg);}}`,Rc=({children:e,onClick:t,variant:n="primary",disabled:r=!1,loading:s=!1,className:a})=>{const i=()=>{switch(n){case"primary":return g.themedColor.textHighEmphasisInverse;case"secondary":return g.themedColor.primary;case"clear":return g.themedColor.textHighEmphasis;default:return g.themedColor.textHighEmphasisInverse}},l=Lc(n);return o.createElement(l,{onClick:t,disabled:r||s,className:a},s?o.createElement(Oc,null,o.createElement(U,{type:"spinner",size:22,color:i()})):o.createElement(L,{variant:"button",color:i()},e))},Dc=({children:e,className:t,style:n})=>o.createElement(L,{variant:"caption4",color:g.themedColor.error,className:t,style:n},e),Nc=({children:e,className:t,style:n,required:r})=>{const{stringSet:s}=W();return o.createElement(L,{variant:"caption3",color:g.themedColor.textMidEmphasis,className:t,style:n},e,!r&&o.createElement("span",{style:{color:g.themedColor.textLowEmphasis}},` (${s.OPTIONAL})`))},Pc=({value:e,onChange:t,placeholder:n,error:r=!1,submitted:s=!1,className:a,disabled:i=!1,max:l})=>{const u=m=>{const E=m.target.value.replace(/[^0-9.-]/g,""),v=E.split("."),b=v.length>1?v[0]+"."+v.slice(1).join("").replace(/\./g,""):E;if(m.target.value=b,b===""||b==="-")t==null||t(null);else{const p=Number(b);if(!isNaN(p)){if(l!==void 0&&p>l)return;t==null||t(p)}}},d=e==null?"":String(e);return o.createElement(zc,{type:"text",value:d,onChange:u,placeholder:n,className:a,disabled:i||s,inputMode:"decimal",$error:r,$submitted:s})},Fc=k.css`width:100%;height:36px;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:400;line-height:1.43;outline:none;transition:all 0.2s ease;&::placeholder{color:${g.themedColor.textLowEmphasis};}&::-webkit-inner-spin-button,&::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}`,Bc=k.css`color:${g.themedColor.textHighEmphasis};border:1px solid transparent;cursor:not-allowed;${B.light`
|
|
123
|
-
background-color: ${g.color.ondark.textMidEmphasis};
|
|
124
|
-
`}
|
|
125
|
-
${B.dark`
|
|
126
|
-
background-color: ${g.color.onlight.textLowEmphasis};
|
|
127
|
-
`}
|
|
128
|
-
|
|
129
|
-
&::placeholder {
|
|
130
|
-
color: ${g.themedColor.textLowEmphasis};
|
|
131
|
-
}
|
|
132
|
-
`,Uc=k.css`border:1px solid ${g.themedColor.error};color:${g.themedColor.textHighEmphasis};${B.light`
|
|
133
|
-
background-color: ${g.color.background50};
|
|
134
|
-
`}
|
|
135
|
-
${B.dark`
|
|
136
|
-
background-color: ${g.color.onlight.textLowEmphasis};
|
|
137
|
-
`}
|
|
138
|
-
`,Hc=k.css`border:1px solid ${g.themedColor.textDisabled};color:${g.themedColor.textHighEmphasis};${B.light`
|
|
139
|
-
background-color: ${g.color.background50};
|
|
140
|
-
`}
|
|
141
|
-
${B.dark`
|
|
142
|
-
background-color: ${g.color.onlight.textLowEmphasis};
|
|
143
|
-
`}
|
|
144
|
-
|
|
145
|
-
&:focus {
|
|
146
|
-
border-color: ${g.themedColor.primary};
|
|
147
|
-
}
|
|
148
|
-
`,zc=h.default.input`${Fc}${({$error:e,$submitted:t})=>t?Bc:e?Uc:Hc}`,Vc=e=>{if(e.multiple){const{value:t=[],onChange:n,maxSelect:r,submitted:s=!1}=e;return{selectedValues:t,handleOptionClick:i=>{if(s)return;if(t.includes(i)){const u=t.filter(d=>d!==i);n==null||n(u)}else{if(r&&t.length>=r)return;const u=[...t,i];n==null||n(u)}}}}else{const{value:t,onChange:n,submitted:r=!1}=e;return{selectedValues:t?[t]:[],handleOptionClick:a=>{if(r)return;const i=t===a?"":a;n==null||n(i)}}}},ro=e=>{const{options:t,submitted:n=!1,error:r=!1,className:s}=e,{selectedValues:a,handleOptionClick:i}=Vc(e);return o.createElement(Wc,{className:s},t.map(l=>{const u=a.includes(l.value);return o.createElement(Jc,{key:l.value,$active:u,$submitted:n,$error:r,onClick:()=>i(l.value)},o.createElement(L,{variant:"caption1",color:Gc(u,n)},l.label))}))},Gc=(e,t)=>t?e?g.themedColor.textHighEmphasis:g.themedColor.textDisabled:e?g.themedColor.primary:g.themedColor.textMidEmphasis,Wc=h.default.div`display:flex;flex-wrap:wrap;gap:4px 2px;`,qc=k.css`display:inline-flex;align-items:center;padding:8px 12px;border-radius:15px;transition:all 0.2s ease;`,jc=k.css`cursor:default;background-color:${g.color.ondark.textMidEmphasis};color:${g.themedColor.textHighEmphasis};${B.dark`
|
|
149
|
-
background-color: transparent;
|
|
150
|
-
border: 1px solid white;
|
|
151
|
-
color: white;
|
|
152
|
-
`}
|
|
153
|
-
`,Kc=k.css`cursor:default;${B.light`
|
|
154
|
-
background-color: ${g.color.ondark.textMidEmphasis};
|
|
155
|
-
color: ${g.themedColor.textDisabled};
|
|
156
|
-
`}
|
|
157
|
-
${B.dark`
|
|
158
|
-
background-color: ${g.color.onlight.textLowEmphasis};
|
|
159
|
-
border: 1px solid ${g.color.onlight.textLowEmphasis};
|
|
160
|
-
color: ${g.themedColor.textDisabled};
|
|
161
|
-
`}
|
|
162
|
-
`,Yc=k.css`cursor:pointer;border:1px solid ${g.themedColor.primary};${B.light`
|
|
163
|
-
background-color: ${g.color.background50};
|
|
164
|
-
color: ${g.themedColor.primary};
|
|
165
|
-
`}
|
|
166
|
-
${B.dark`
|
|
167
|
-
background-color: ${g.color.onlight.textLowEmphasis};
|
|
168
|
-
color: ${g.themedColor.primary};
|
|
169
|
-
`}
|
|
170
|
-
`,Xc=k.css`cursor:pointer;border:1px solid ${g.themedColor.textDisabled};${B.light`
|
|
171
|
-
background-color: ${g.color.background50};
|
|
172
|
-
color: ${g.themedColor.textMidEmphasis};
|
|
173
|
-
`}
|
|
174
|
-
${B.dark`
|
|
175
|
-
background-color: ${g.color.onlight.textLowEmphasis};
|
|
176
|
-
color: ${g.themedColor.textMidEmphasis};
|
|
177
|
-
`}
|
|
178
|
-
`,Zc=k.css`border-color:${g.themedColor.error}!important;`,Jc=h.default.div`${qc}${({$active:e,$submitted:t,$error:n})=>{if(t)return e?jc:Kc;const r=e?Yc:Xc;return n?k.css`
|
|
179
|
-
${r} ${Zc}
|
|
180
|
-
`:r}}
|
|
181
|
-
`,Qc=e=>o.createElement(ro,{...e,multiple:!1}),eu=e=>o.createElement(ro,{...e,multiple:!0}),tu=h.default.div`width:100%;height:1px;background-color:${g.themedColor.textDisabled};`,nu=({className:e})=>o.createElement(tu,{className:e}),ru=({value:e="",onChange:t,placeholder:n,variant:r="single-line",error:s=!1,submitted:a=!1,className:i,disabled:l=!1,maxLength:u})=>{const m={value:e,onChange:f=>{const E=f.target.value;u&&E.length>u||t==null||t(E)},placeholder:n,className:i,disabled:l||a,maxLength:u,$error:s,$submitted:a};return r==="multi-line"?o.createElement(su,{...m}):o.createElement(ou,{...m})},oo=k.css`width:100%;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:400;line-height:1.43;outline:none;transition:all 0.2s ease;&::placeholder{color:${g.themedColor.textLowEmphasis};}`,so=k.css`color:${g.themedColor.textHighEmphasis};border:1px solid transparent;cursor:not-allowed;${B.light`
|
|
182
|
-
background-color: ${g.color.ondark.textMidEmphasis};
|
|
183
|
-
`}
|
|
184
|
-
${B.dark`
|
|
185
|
-
background-color: ${g.color.onlight.textLowEmphasis};
|
|
186
|
-
`}
|
|
187
|
-
|
|
188
|
-
&::placeholder {
|
|
189
|
-
color: ${g.themedColor.textLowEmphasis};
|
|
190
|
-
}
|
|
191
|
-
`,ao=k.css`border:1px solid ${g.themedColor.error};color:${g.themedColor.textHighEmphasis};${B.light`
|
|
192
|
-
background-color: ${g.color.background50};
|
|
193
|
-
`}
|
|
194
|
-
${B.dark`
|
|
195
|
-
background-color: ${g.color.onlight.textLowEmphasis};
|
|
196
|
-
`}
|
|
197
|
-
`,io=k.css`border:1px solid ${g.themedColor.textDisabled};color:${g.themedColor.textHighEmphasis};${B.light`
|
|
198
|
-
background-color: ${g.color.background50};
|
|
199
|
-
`}
|
|
200
|
-
${B.dark`
|
|
201
|
-
background-color: ${g.color.onlight.textLowEmphasis};
|
|
202
|
-
`}
|
|
203
|
-
|
|
204
|
-
&:focus {
|
|
205
|
-
border-color: ${g.themedColor.primary};
|
|
206
|
-
}
|
|
207
|
-
`,ou=h.default.input`${oo};height:36px;${({$error:e,$submitted:t})=>t?so:e?ao:io}`,su=h.default.textarea`${oo};height:96px;resize:none;font-family:inherit;${({$error:e,$submitted:t})=>t?so:e?ao:io}`,au=({children:e,className:t,style:n})=>o.createElement(L,{variant:"button",color:g.themedColor.textHighEmphasis,className:t,style:n},e),Q={Title:au,Label:Nc,ErrorLabel:Dc,Separator:nu,Button:Rc,TextInput:ru,NumberInput:Pc,SingleSelect:Qc,MultiSelect:eu},iu=1,lu=new Set(["text","number","single-select","multi-select"]),cu=e=>{var p;const t=(p=e.extendedMessagePayload)==null?void 0:p.form;if(!t)throw new Error("Form is not provided");const{stringSet:n}=W(),[r,s]=c.useState({submitting:!1,canceling:!1}),[a,i]=c.useState({visible:!1}),{state:l,fields:u,submit:d,cancel:m,updateFieldValue:f}=Ha(t,{labels:{required:n.FORM_VALIDATION_REQUIRED,regex:n.FORM_VALIDATION_REGEX_FAILED,minLength:n.FORM_VALIDATION_MIN_LENGTH,maxLength:n.FORM_VALIDATION_MAX_LENGTH,min:n.FORM_VALIDATION_MIN,max:n.FORM_VALIDATION_MAX,minSelect:n.FORM_VALIDATION_MIN_SELECT,maxSelect:n.FORM_VALIDATION_MAX_SELECT},onSubmit:x=>{var C;return(C=e.onSubmitForm)==null?void 0:C.call(e,{key:t.key,data:x})},onCancel:()=>{var x;return(x=e.onCancelForm)==null?void 0:x.call(e,{key:t.key})}}),E=l==="submitted",v=async()=>{s(x=>({...x,submitting:!0}));try{await d()}catch(x){i({visible:!0,description:x instanceof Error?x.message:n.TRY_AGAIN})}finally{s(x=>({...x,submitting:!1}))}},_=async()=>{s(x=>({...x,canceling:!0}));try{await m()}catch(x){i({visible:!0,description:x instanceof Error?x.message:n.TRY_AGAIN})}finally{s(x=>({...x,canceling:!1}))}},b=c.useMemo(()=>{const x=()=>t.version>iu,C=()=>t.fields.some(y=>!lu.has(y.type));return x()||C()?{visible:!1,cancelable:!0,reason:n.FORM_NOT_SUPPORTED}:l==="draft"&&(e.isHandedOff||e.isConversationClosed)?{visible:!1,cancelable:!1,reason:n.FORM_UNAVAILABLE}:{visible:!0,cancelable:!0,reason:""}},[t.version,t.fields,l,e.isHandedOff,e.isConversationClosed]);return l==="canceled"?null:b.visible?o.createElement(c.Fragment,null,o.createElement(lr,{$maxWidth:e.maxBodyWidth??H.BODY_MAX_WIDTH},o.createElement(Q.Title,null,t.title),o.createElement(uu,null,u.map(x=>o.createElement(du,{key:x.key},o.createElement(Q.Label,{style:{marginBottom:"6px"},required:x.required},x.label),x.type==="text"&&o.createElement(Q.TextInput,{value:x.value||"",placeholder:x.placeholder,onChange:C=>f(x.key,C),disabled:E,error:!!x.error,submitted:E,variant:x.layout==="multiline"?"multi-line":"single-line",maxLength:x.maxLength}),x.type==="number"&&o.createElement(Q.NumberInput,{value:x.value||null,placeholder:x.placeholder,onChange:C=>f(x.key,C),disabled:E,error:!!x.error,submitted:E,max:x.max}),x.type==="single-select"&&o.createElement(Q.SingleSelect,{options:x.options.map(C=>({label:C,value:C})),value:x.value||"",onChange:C=>f(x.key,C),submitted:E}),x.type==="multi-select"&&o.createElement(Q.MultiSelect,{options:x.options.map(C=>({label:C,value:C})),value:x.value||[],onChange:C=>f(x.key,C),submitted:E,maxSelect:x.maxSelect}),x.error&&o.createElement(Q.ErrorLabel,{style:{marginTop:"4px"}},x.error)))),o.createElement(Q.Separator,null),o.createElement(mu,null,o.createElement(Q.Button,{variant:E?"clear":"primary",onClick:v,disabled:E||r.canceling,loading:r.submitting},E?n.SUBMITTED:n.BUTTON__SUBMIT),l!=="submitted"&&o.createElement(Q.Button,{variant:"secondary",onClick:_,disabled:r.submitting,loading:r.canceling},n.BUTTON__CANCEL))),o.createElement(Cn,{...a,onClose:()=>i({visible:!1,title:""})})):o.createElement(lr,{$maxWidth:e.maxBodyWidth??H.BODY_MAX_WIDTH},o.createElement(L,{variant:"body3"},b.reason),b.cancelable&&o.createElement(Q.Button,{variant:"primary",onClick:_,loading:r.canceling},n.BUTTON__CANCEL))},lr=h.default.div`display:flex;flex-direction:column;gap:12px;border-radius:12px;overflow:hidden;max-width:${({$maxWidth:e})=>e}px;${({theme:e})=>k.css`
|
|
208
|
-
color: ${e.colors.messageIncoming.text};
|
|
209
|
-
background-color: ${e.colors.messageIncoming.background};
|
|
210
|
-
`}
|
|
211
|
-
padding: 16px 12px;
|
|
212
|
-
transition: max-width 0.3s;
|
|
213
|
-
overflow-wrap: break-word;
|
|
214
|
-
`,uu=h.default.div`display:flex;flex-direction:column;gap:12px;`,du=h.default.div`display:flex;flex-direction:column;`,mu=h.default.div`display:flex;flex-direction:column;gap:8px;`,gu=e=>o.createElement(o.Fragment,null),hu=new Set(["default"]),{MessageTemplate:pu}=Go.createMessageTemplate({parser:Kt.parser,renderer:Kt.renderer,Container:e=>o.createElement("div",{...e})}),fu=e=>o.createElement(vt,{errorFallback:e.messageTemplateErrorFallback,loadingFallback:e.messageTemplateLoadingFallback},o.createElement(Eu,{...e})),Eu=({extendedMessagePayload:e,onGetCachedMessageTemplate:t=()=>null,onRequestMessageTemplate:n,onHandleTemplateInternalAction:r=ye})=>{const s=e==null?void 0:e.message_template;if(!hu.has((s==null?void 0:s.type)??"default"))throw new Error("Unsupported template type");if(!n)throw new Error("onRequestMessageTemplate is required");const{theme:i}=zr(),l=$a({onRequestTemplate:n,onGetCachedTemplate:t,theme:i.selectedTheme,templateKey:(s==null?void 0:s.key)??"invalid",variables:s==null?void 0:s.variables,viewVariables:s==null?void 0:s.view_variables,aiAgentColorVariables:i.aiAgentColorVariables});return o.createElement(bu,{id:`${Se}-ext-message-template`},o.createElement(Kt.MessageProvider,{handleInternalAction:(u,d)=>{u.stopPropagation(),r==null||r(d)}},o.createElement(pu,{templateItems:l.body.items,templateVersion:l.version})))},bu=h.default.div`box-sizing:border-box;overflow:hidden;width:100%;`,xu=({extendedMessagePayload:e,onClickSuggestedReply:t,suggestedRepliesDirection:n="vertical"})=>{const[r,s]=c.useState(!1),a=(e==null?void 0:e.suggested_replies)??[];return a.length===0||r?null:o.createElement(Cu,{id:`${Se}-ext-suggested-replies`,$type:n},a.map((i,l)=>o.createElement(_u,{key:l,$type:n,variant:"body3",onClick:()=>{t&&(t==null||t({reply:i}),s(!0))}},i)))},Cu=h.default.div`margin:16px 0;padding:0 ${H.HORIZONTAL_PADDING}px;position:relative;display:flex;align-self:stretch;gap:8px;${({$type:e})=>e==="vertical"?vu:yu};`,_u=h.default(L)`box-sizing:border-box;padding:8px 12px;display:flex;align-items:center;border-radius:20px / clamp(20px,5%,100px);cursor:pointer;word-break:break-word;color:${g.color.primary.main};border:1px solid ${g.color.primary.main};background-color:${g.themedColor.bg_50_600};&:hover{background-color:${g.themedColor.bg_100_500};}${({$type:e,theme:t})=>k.css`
|
|
215
|
-
${e==="vertical"?Su:Tu};
|
|
216
|
-
&:active {
|
|
217
|
-
background-color: ${t.colors.base.primary};
|
|
218
|
-
color: ${t.colors.base.primaryContrastContent};
|
|
219
|
-
}
|
|
220
|
-
`}
|
|
221
|
-
`,vu=k.css`flex-direction:column;align-items:flex-end;`,yu=k.css`flex-direction:row;overflow-x:scroll;-ms-overflow-style:none;scrollbar-width:none;&::-webkit-scrollbar{display:none;}`,Su=k.css`max-width:calc(100% - 70px);white-space:pre-wrap;`,Tu=k.css`white-space:nowrap;`,Au=e=>{const{components:t}=Oe.useContext(),{stringSet:n}=W(),r=yr(e)?o.createElement(t.TextMessageBody,{...e}):null;if(e.messageType==="user")return r;if(e.messageType==="file"){const s=e.file;return s.type.startsWith("image")||s.type.startsWith("video")?o.createElement(t.MediaMessageBody,{...e},r):o.createElement(t.FileMessageBody,{...e},r)}return e.messageType==="multipleFiles"?o.createElement(t.MultipleFilesMessageBody,{...e},r):o.createElement(t.TextMessageBody,{...e,message:n.UNKNOWN__UNKNOWN_MESSAGE_TYPE})},wu=e=>o.createElement(lo,{...e,testerMode:!1}),Oe=Ee({template:wu,components:{SenderName:jl,SenderAvatar:Wl,SentTime:Yl,MessageBody:Au,TextMessageBody:zl,MediaMessageBody:xl,FileMessageBody:fl,MultipleFilesMessageBody:Nl,TypingIndicator:Xl,SuggestedReplies:xu,MessageTemplate:fu,CustomMessageTemplate:lc,CTAButton:Ql,Citation:nc,Form:cu,Feedback:Ac,MessageLogs:gu}}),lo=e=>{var p,x,C,y,T,I,w;const{components:t}=Oe.useContext(),{streamText:n,isAnimating:r}=Ka({text:e.message,enabled:e.isStreaming,onAnimationStart:e.onStreamAnimationStart,onAnimationProgress:e.onStreamAnimationProgress,onAnimationComplete:e.onStreamAnimationComplete}),s={...e,message:n,extendedMessagePayload:r?{}:e.extendedMessagePayload},a=!!s.isTyping,i=s.testerMode,l=!!s.isSenderAvatarVisible,u=!!((p=s.extendedMessagePayload)!=null&&p.form)&&!((x=s.extendedMessagePayload)!=null&&x.form.canceled_at),d=!!((C=s.extendedMessagePayload)!=null&&C.message_template),m=!!((y=s.extendedMessagePayload)!=null&&y.cta_button),f=!!((T=s.extendedMessagePayload)!=null&&T.citations)&&s.extendedMessagePayload.citations.length>0,E=!!s.createdAt,v=s.groupType==="top"||s.groupType==="single",_=s.groupType==="bottom"||s.groupType==="single",b=i||!l?0:H.AVATAR_SIZE;return o.createElement(Iu,{$marginBottom:a?0:dn(s.groupType)},v&&o.createElement(ku,null,!i&&l&&o.createElement(t.SenderAvatar,{...s}),o.createElement(t.SenderName,{...s})),o.createElement($u,null,o.createElement(Wt,{$extraStartPadding:b},a?o.createElement(t.TypingIndicator,{...s}):o.createElement(t.MessageBody,{...s},m&&o.createElement("div",{style:{marginTop:12,marginInline:12}},o.createElement(t.CTAButton,{...s})),f&&o.createElement(t.Citation,{...s}))),d&&o.createElement(cr,{$startPadding:0,$endPadding:0},o.createElement(t.MessageTemplate,{...s,messageTemplateErrorFallback:s.messageTemplateErrorFallback??o.createElement(Wt,{$extraStartPadding:b},o.createElement(t.MessageBody,{...s,messageType:"user",message:((w=(I=s.extendedMessagePayload)==null?void 0:I.message_template)==null?void 0:w.fallback_message)??"Cannot read this template."})),messageTemplateLoadingFallback:s.messageTemplateLoadingFallback??o.createElement(Wt,{$extraStartPadding:b},o.createElement(t.TypingIndicator,{...s}))})),o.createElement(t.CustomMessageTemplate,{...s}),u&&o.createElement(cr,{$extraStartPadding:b},o.createElement(t.Form,{...s}))),_&&E&&o.createElement(Mu,{$extraStartPadding:b+8},o.createElement(t.SentTime,{...s})),o.createElement(c.Fragment,null,!a&&o.createElement(ot,{$extraStartPadding:b+8},o.createElement(t.Feedback,{...s})),s.suggestedRepliesVisible&&o.createElement(t.SuggestedReplies,{...s}),o.createElement(t.MessageLogs,{...s})))},Iu=h.default.div`display:flex;flex-direction:column;align-items:flex-start;margin-bottom:${({$marginBottom:e})=>`${e}px`};
|
|
222
|
-
`,ot=h.default.div`display:flex;align-self:stretch;justify-content:flex-start;${({$startPadding:e=H.HORIZONTAL_PADDING,$endPadding:t=H.HORIZONTAL_PADDING,$extraStartPadding:n=0})=>`
|
|
223
|
-
padding-inline: ${e+n}px ${t}px;
|
|
224
|
-
`}
|
|
225
|
-
`,ku=h.default(ot)`display:flex;flex-direction:row;align-items:center;gap:8px;`,Wt=h.default(ot)`display:flex;`,Mu=h.default(ot)`margin-top:${H.BODY_TIME_GAP}px;display:flex;align-items:flex-start;justify-content:flex-start;`,cr=h.default(ot)`display:flex;${({$startPadding:e=H.HORIZONTAL_PADDING,$endPadding:t=H.HORIZONTAL_PADDING,$extraStartPadding:n=0})=>`
|
|
226
|
-
padding-inline: ${e+n}px ${t}px;
|
|
227
|
-
`}
|
|
228
|
-
`,$u=h.default.div`display:flex;flex-direction:column;gap:${H.GAP_GROUPED}px;`;function Lu({file:e,children:t,onClickFile:n,sendingStatus:r}){const s=(()=>{if(!(!n||r==="failed"))return()=>n==null?void 0:n(e)})();return o.createElement(Ou,null,o.createElement(yn,{name:e.name,type:un(e.name,e.type),onClick:s}),t)}const Ou=h.default.div`display:flex;flex-direction:column;align-items:flex-end;gap:${H.GAP_GROUPED}px;`;function Ru({sendingStatus:e,file:t,metadata:n,onClickMedia:r,onClickMediaFiles:s,children:a}){const{aspectRatio:i,localFile:l}=n,[u]=c.useState(()=>l instanceof Blob?URL.createObjectURL(l):t.url),[d,m]=c.useState(!1),f=(()=>{if(e!=="failed"){if(s)return()=>s({files:[{url:u,type:t.type,name:t.name}],index:0});if(r)return()=>r({...t,url:u})}})(),E={onClick:f,$ratio:i,$clickable:!!f};return o.createElement(Du,null,o.createElement(Nu,{...E},!d&&o.createElement(rt,{size:26},o.createElement(U,{type:"spinner",color:"textLowEmphasis",size:26})),o.createElement(Pu,{$loaded:d,src:u,alt:"image-message",onLoad:()=>m(!0)})),a)}const Du=h.default.div`display:flex;flex-direction:column;align-items:flex-end;gap:${H.GAP_GROUPED}px;`,Nu=h.default.div`width:${H.BODY_MAX_WIDTH}px;border-radius:12px;overflow:hidden;cursor:${e=>e.$clickable?"pointer":"default"};height:auto;aspect-ratio:${e=>e.$ratio};position:relative;display:flex;align-items:center;justify-content:center;${B.light`
|
|
229
|
-
background-color: ${g.color.background100};
|
|
230
|
-
`}
|
|
231
|
-
${B.dark`
|
|
232
|
-
background-color: ${g.color.background400};
|
|
233
|
-
`}
|
|
234
|
-
`,Pu=h.default.img`position:absolute;width:100%;height:100%;inset-block-start:0;inset-inline-start:0;object-fit:cover;opacity:${e=>e.$loaded?1:0};transition:opacity 0.5s ease;`,Fu=({sendingStatus:e,files:t,metadata:n,onClickMedia:r,onClickMediaFiles:s,children:a})=>{const[i]=c.useState(()=>n.localFiles?n.localFiles.filter(m=>m instanceof Blob).map(m=>({...m,url:URL.createObjectURL(m)})):t),l=e==="pending",u=e==="failed",d=m=>{if(u||l)return;const f=i[m];f&&(s?s({files:i,index:m}):r&&r({url:f.url,type:f.type||"image/*"}))};return o.createElement(Bu,null,o.createElement(Zr,{images:i,isPending:l,onClickImage:d}),a)},Bu=h.default.div`display:flex;flex-direction:column;align-items:flex-end;gap:${H.GAP_GROUPED}px;`;function Uu(e){var n,r;const t=c.useMemo(()=>{const s=Bl(Qr(e.message));return Cr.default.sanitize(s)},[e.message]);return o.createElement(Hu,{$maxWidth:e.maxBodyWidth??H.BODY_MAX_WIDTH,$color:(n=e.customStyle)==null?void 0:n.bubbleContentColor,$bgColor:(r=e.customStyle)==null?void 0:r.bubbleBackgroundColor},o.createElement(zu,{variant:"body3",dangerouslySetInnerHTML:{__html:t}}))}const Hu=h.default.div`display:flex;flex-direction:column;border-radius:12px;overflow:hidden;max-width:${({$maxWidth:e})=>e}px;${({theme:e,$color:t,$bgColor:n})=>k.css`
|
|
235
|
-
color: ${t||e.colors.messageOutgoing.text};
|
|
236
|
-
background-color: ${n||e.colors.messageOutgoing.background};
|
|
237
|
-
`}
|
|
238
|
-
padding: 12px 0;
|
|
239
|
-
transition: max-width 0.3s;
|
|
240
|
-
overflow-wrap: break-word;
|
|
241
|
-
`,zu=h.default(L)`align-items:flex-start;line-height:140%;white-space:pre-wrap;padding:0 12px;`,Vu=({sendingStatus:e})=>{const t=k.useTheme();switch(e){case"pending":return o.createElement(Gu,{size:16},o.createElement(U,{type:"spinner",color:t.colors.messageOutgoing.background,size:16}));case"failed":return o.createElement("div",{style:{marginBottom:2}},o.createElement(U,{type:"error",color:g.themedColor.error,size:16}));case"scheduled":case"canceled":return null;default:return o.createElement("div",{style:{marginBottom:2}},o.createElement(U,{type:"done",color:g.themedColor.secondary,size:16}))}},Gu=h.default(rt)`margin-bottom:2px;width:16px;height:16px;`,Wu=({createdAt:e})=>{const{stringSet:t,format:n}=W();return e?o.createElement(L,{variant:"caption4",color:g.themedColor.textLowEmphasis},n(e,t.DATE_FORMAT__MESSAGE_TIMESTAMP)):null},qu=e=>{const{components:t}=st.useContext(),{stringSet:n}=W(),r=()=>{const i=yr(e)?o.createElement(t.TextMessageBody,{...e}):null;return e.messageType==="user"?i:e.messageType==="file"?e.file.type.startsWith("image")?o.createElement(t.MediaMessageBody,{...e},i):o.createElement(t.FileMessageBody,{...e},i):e.messageType==="multipleFiles"?o.createElement(t.MultipleFilesMessageBody,{...e},i):o.createElement(t.TextMessageBody,{...e,message:n.UNKNOWN__UNKNOWN_MESSAGE_TYPE})},s=e.sendingStatus==="failed"&&e.onClickFailedMessage,a=i=>{var l;(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),(l=e.onClickFailedMessage)==null||l.call(e))};return o.createElement("div",{...s&&{onClick:e.onClickFailedMessage,onKeyDown:a,role:"button",tabIndex:0},style:{display:"contents",cursor:s?"pointer":"default"}},r())},ju=e=>{const{components:t}=st.useContext(),n=e.sendingStatus==="succeeded",r=e.groupType==="bottom"||e.groupType==="single";return o.createElement(Ku,{$marginBottom:dn(e.groupType)},o.createElement(Yu,null,o.createElement(t.MessageBody,{...e})),r&&o.createElement(Xu,{$extraEndPadding:8},n?o.createElement(t.SentTime,{...e}):o.createElement(t.SendingStatus,{...e})))},st=Ee({template:ju,components:{SendingStatus:Vu,SentTime:Wu,MessageBody:qu,TextMessageBody:Uu,MediaMessageBody:Ru,FileMessageBody:Lu,MultipleFilesMessageBody:Fu}}),Ku=h.default.div`display:flex;flex:1;flex-direction:column;align-items:flex-end;margin-bottom:${({$marginBottom:e})=>`${e}px`};
|
|
242
|
-
`,co=h.default.div`display:flex;align-self:stretch;justify-content:flex-end;${({$startPadding:e=H.HORIZONTAL_PADDING,$endPadding:t=H.HORIZONTAL_PADDING,$extraEndPadding:n=0})=>`padding-inline: ${e}px ${t+n}px;`};
|
|
243
|
-
`,Yu=h.default(co)``,Xu=h.default(co)`margin-top:${H.BODY_TIME_GAP}px;`,Zu=e=>e.messageType!=="admin"?null:o.createElement(Ju,null,o.createElement(L,{variant:"caption2",color:g.themedColor.textMidEmphasis},Qu(Cr.default.sanitize(e.message)))),Ju=h.default.div`text-align:center;text-wrap:pretty;word-break:break-word;padding-inline:${H.HORIZONTAL_PADDING}px;a{text-decoration:underline;color:inherit;}`,Qu=e=>{try{const t=[];let n=e,r=0;for(;n;){const s=n.match(/\[([^\]]+)\]\((https?:\/\/[^\s]+)\)/),a=n.match(/\*\*([^*]+)\*\*/),i=[s&&{match:s,type:"link"},a&&{match:a,type:"bold"}].filter(f=>!!f);if(!i.length){t.push(n);break}const l=i.reduce((f,E)=>E.match.index<f.match.index?E:f),{match:u,type:d}=l,m=u.index;m>0&&t.push(n.slice(0,m)),d==="link"?t.push(o.createElement("a",{key:r++,href:u[2],target:"_blank",rel:xn},u[1])):d==="bold"&&t.push(o.createElement("strong",{key:r++},u[1])),n=n.slice(m+u[0].length)}return t.filter(s=>s!=="")}catch{return[e]}},uo=({onClick:e,checked:t,label:n,disabled:r,labelVariant:s="caption2"})=>{const a=t?g.themedColor.primary:r?g.themedColor.textDisabled:g.themedColor.textLowEmphasis,i=t?g.themedColor.textHighEmphasis:r?g.themedColor.textLowEmphasis:g.themedColor.textHighEmphasis;return o.createElement(nd,{onClick:e,disabled:r},o.createElement(ed,null,o.createElement(U,{size:20,type:t?"radio-on":"radio-off",color:a})),o.createElement(td,{variant:s,color:i},n))},ed=h.default.div`width:20px;height:20px;`,td=h.default(L)`line-height:20px;word-break:break-word;`,nd=h.default.button`all:unset;display:flex;align-items:flex-start;justify-content:flex-start;gap:2px;&:enabled{cursor:pointer;}`,rd=({csatPayload:e,submitted:t,defaultValue:n,value:r,onChange:s})=>(c.useEffect(()=>{typeof r>"u"&&typeof n=="boolean"&&(s==null||s(n))},[r,n]),e.cre?o.createElement(od,null,o.createElement(Q.Label,{required:e.cre.required},e.cre.question),o.createElement(sd,null,[{label:e.cre.positive_label,value:!0},{label:e.cre.negative_label,value:!1}].map(a=>o.createElement(uo,{key:a.label,checked:r===a.value,label:a.label,disabled:t,onClick:()=>s==null?void 0:s(a.value)})))):null),od=h.default.div`display:flex;flex-direction:column;gap:8px;`,sd=h.default.div`display:flex;flex-direction:column;gap:8px;`,ad=({followUpItem:e,submitted:t,value:n="",onChange:r,hasError:s})=>{const{stringSet:a}=W();return o.createElement(id,null,o.createElement(Q.Label,{required:e.required},e.question),e.response_type==="free_text"&&o.createElement(Q.TextInput,{variant:"multi-line",disabled:t,submitted:t,maxLength:100,value:n,onChange:i=>r(i),error:s}),e.response_type==="single_choice"&&o.createElement(ld,null,e.options.map(i=>o.createElement(uo,{key:i,checked:n===i,label:i,disabled:t,onClick:()=>r==null?void 0:r(i),labelVariant:"body3"}))),s&&o.createElement(Q.ErrorLabel,null,a.FORM_VALIDATION_REQUIRED))},id=h.default.div`display:flex;flex-direction:column;gap:8px;`,ld=h.default.div`display:flex;flex-direction:column;gap:8px;`,cd=({value:e,selected:t,label:n})=>o.createElement(ud,{$selected:t,"aria-label":n},dd[e-1]),ud=h.default.div`user-select:none;-webkit-user-drag:none;width:40px;height:40px;aspect-ratio:1;opacity:${({$selected:e})=>e?1:.38};`,dd=[o.createElement("svg",{width:"40",height:"40",viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o.createElement("path",{d:"M2.08337 19.9999C2.08337 10.1048 10.1049 2.08325 20 2.08325C29.8952 2.08325 37.9167 10.1048 37.9167 19.9999C37.9167 29.8951 29.8952 37.9166 20 37.9166C10.1049 37.9166 2.08337 29.8951 2.08337 19.9999Z",fill:"url(#paint0_linear_159_173206)"}),o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12.5828 29.3328C13.1348 29.7473 13.9184 29.636 14.3329 29.084C15.6272 27.3607 17.6839 26.25 20 26.25C22.3164 26.25 24.373 27.3607 25.6672 29.084C26.0819 29.636 26.8654 29.7473 27.4175 29.3328C27.9695 28.9182 28.0809 28.1347 27.6662 27.5825C25.9202 25.2577 23.136 23.75 20 23.75C16.8642 23.75 14.0801 25.2577 12.334 27.5825C11.9194 28.1347 12.0308 28.9182 12.5828 29.3328Z",fill:"#141B34"}),o.createElement("path",{d:"M28.4454 13.7707C29.1329 13.8328 29.6405 14.4406 29.5785 15.1281C29.5165 15.8153 28.9095 16.3221 28.2224 16.2608C28.2224 16.2608 28.0287 16.2502 27.9272 16.2487C27.7229 16.2457 27.4387 16.2509 27.1229 16.2833C26.7869 16.3177 26.4649 16.3782 26.1804 16.4662L26.3045 16.86C26.7797 18.3675 25.5099 19.5813 24.2062 19.5813C23.5045 19.5813 22.8324 19.2617 22.43 18.6857C22.003 18.0745 21.9422 17.241 22.408 16.5344C22.751 16.0143 23.2449 15.3831 23.8964 14.8657C24.836 14.1195 26.044 13.8809 26.8675 13.7963C27.3029 13.7517 28.0154 13.7319 28.4454 13.7707Z",fill:"#141B34"}),o.createElement("path",{d:"M11.5549 13.7707C10.8674 13.8328 10.3597 14.4406 10.4218 15.1281C10.4838 15.8153 11.0908 16.3221 11.7779 16.2608C11.7779 16.2608 11.9716 16.2502 12.073 16.2487C12.2774 16.2457 12.5616 16.2509 12.8774 16.2833C13.2134 16.3177 13.5353 16.3782 13.8199 16.4662L13.6958 16.86C13.2205 18.3675 14.4904 19.5813 15.794 19.5813C16.4958 19.5813 17.168 19.2617 17.5703 18.6857C17.9971 18.0745 18.0581 17.241 17.5921 16.5344C17.2493 16.0143 16.7553 15.3831 16.1039 14.8657C15.1643 14.1195 13.9562 13.8809 13.1327 13.7963C12.6974 13.7517 11.9849 13.7319 11.5549 13.7707Z",fill:"#141B34"}),o.createElement("defs",null,o.createElement("linearGradient",{id:"paint0_linear_159_173206",x1:"20",y1:"2.08325",x2:"20",y2:"37.9166",gradientUnits:"userSpaceOnUse"},o.createElement("stop",{stopColor:"#FF2D1D"}),o.createElement("stop",{offset:"1",stopColor:"#FFA540"})))),o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"40",height:"40",viewBox:"0 0 40 40",fill:"none"},o.createElement("path",{d:"M2.083 20C2.083 10.105 10.105 2.083 20 2.083c9.895 0 17.917 8.021 17.917 17.917 0 9.895-8.022 17.917-17.917 17.917C10.105 37.917 2.083 29.895 2.083 20Z",fill:"#FFD46E"}),o.createElement("path",{d:"M14.249 27.334C15.851 26.13 17.844 25.417 20 25.417c2.156 0 4.149.714 5.751 1.917.553.415.664 1.199.25 1.751-.415.552-1.199.664-1.751.25-1.183-.889-2.652-1.416-4.25-1.416s-3.067.527-4.25 1.416c-.553.414-1.336.302-1.751-.25-.415-.552-.303-1.336.249-1.751Z",fill:"#141B34"}),o.createElement("path",{d:"M23.445 14.596c-.687.062-1.294-.445-1.356-1.132-.062-.687.445-1.295 1.132-1.357.082-.005.342-.02.482-.022.277-.004.662.002 1.097.047.823.085 2.031.323 2.97 1.07.652.518 1.146 1.15 1.489 1.67.466.706.405 1.54-.022 2.15-.402.576-1.074.896-1.775.896-1.304 0-2.573-1.214-2.098-2.722l.125-.394c-.285-.088-.607-.148-.942-.182-.316-.033-.6-.038-.804-.035-.101.002-.242.01-.294.013Z",fill:"#141B34"}),o.createElement("path",{d:"M11.779 14.596c-.687.062-1.294-.445-1.356-1.132-.062-.687.445-1.295 1.132-1.357.082-.005.342-.02.482-.022.277-.004.662.002 1.097.047.823.085 2.031.323 2.97 1.07.652.518 1.146 1.15 1.489 1.67.466.706.405 1.54-.022 2.15-.402.576-1.074.896-1.775.896-1.304 0-2.573-1.214-2.098-2.722l.124-.394c-.284-.088-.606-.148-.941-.182-.316-.033-.6-.038-.804-.035-.101.002-.243.01-.294.013Z",fill:"#141B34"})),o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"40",height:"40",viewBox:"0 0 40 40",fill:"none"},o.createElement("path",{d:"M2.083 20C2.083 10.105 10.105 2.083 20 2.083c9.895 0 17.917 8.021 17.917 17.917 0 9.895-8.022 17.917-17.917 17.917C10.105 37.917 2.083 29.895 2.083 20Z",fill:"#FFD46E"}),o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11.25 15c0-1.151.933-2.083 2.083-2.083h.015c1.151 0 2.084.933 2.084 2.083 0 1.151-.933 2.083-2.084 2.083h-.015c-1.15 0-2.083-.933-2.083-2.083ZM24.568 15c0-1.151.933-2.083 2.084-2.083h.015c1.151 0 2.083.933 2.083 2.083 0 1.151-.932 2.083-2.083 2.083h-.015c-1.151 0-2.084-.933-2.084-2.083Z",fill:"#141B34"}),o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M13.75 26.667c0-.691.56-1.25 1.25-1.25h10c.69 0 1.25.559 1.25 1.25 0 .691-.56 1.25-1.25 1.25h-10c-.69 0-1.25-.559-1.25-1.25Z",fill:"#141B34"})),o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"40",height:"40",viewBox:"0 0 40 40",fill:"none"},o.createElement("path",{d:"M2.083 20C2.083 10.105 10.105 2.083 20 2.083c9.895 0 17.917 8.021 17.917 17.917 0 9.895-8.022 17.917-17.917 17.917C10.105 37.917 2.083 29.895 2.083 20Z",fill:"#FFD46E"}),o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12.583 24.001c.552-.414 1.335-.302 1.75.25 1.294 1.723 3.35 2.834 5.667 2.834s4.373-1.11 5.667-2.834c.415-.552 1.199-.664 1.751-.25.552.415.664 1.199.25 1.751C25.92 28.076 23.136 29.584 20 29.584s-5.92-1.508-7.666-3.832c-.415-.552-.303-1.336.249-1.751Z",fill:"#141B34"}),o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11.25 15c0-1.151.933-2.083 2.083-2.083h.015c1.151 0 2.084.933 2.084 2.083 0 1.151-.933 2.083-2.084 2.083h-.015c-1.15 0-2.083-.933-2.083-2.083ZM24.568 15c0-1.151.933-2.083 2.084-2.083h.015c1.151 0 2.083.933 2.083 2.083 0 1.151-.932 2.083-2.083 2.083h-.015c-1.151 0-2.084-.933-2.084-2.083Z",fill:"#141B34"})),o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"40",height:"40",viewBox:"0 0 40 40",fill:"none"},o.createElement("path",{d:"M2.083 20C2.083 10.105 10.105 2.083 20 2.083c9.895 0 17.917 8.021 17.917 17.917 0 9.895-8.022 17.917-17.917 17.917C10.105 37.917 2.083 29.895 2.083 20Z",fill:"#FFD46E"}),o.createElement("g",{clipPath:"url(#clip0_159_173224)"},o.createElement("g",{clipPath:"url(#clip1_159_173224)"},o.createElement("path",{d:"M20 30.624c3.752 0 6.904-2.532 7.789-5.956.412-1.593-.185-1.959-1.76-1.959H13.973c-1.575 0-2.173.366-1.761 1.959.885 3.424 4.037 5.956 7.788 5.956Z",fill:"#141B34"})),o.createElement("mask",{id:"mask0_159_173224",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:"12",y:"22",width:"16",height:"9"},o.createElement("path",{d:"M20 30.624c3.752 0 6.904-2.532 7.789-5.956.412-1.593-.185-1.959-1.76-1.959H13.973c-1.575 0-2.173.366-1.761 1.959.885 3.424 4.037 5.956 7.788 5.956Z",fill:"#141B34"})),o.createElement("g",{mask:"url(#mask0_159_173224)"},o.createElement("path",{d:"M20 32.998c3.278 0 5.936-1.594 5.936-3.561 0-1.968-2.658-3.562-5.936-3.562-3.278 0-5.936 1.594-5.936 3.562 0 1.967 2.658 3.561 5.936 3.561Z",fill:"#FF493B"}))),o.createElement("path",{d:"M11.667 15.833c0-1.381 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5M23.333 15.833c0-1.381 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5",stroke:"#141B34",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("defs",null,o.createElement("clipPath",{id:"clip0_159_173224"},o.createElement("rect",{width:"15.83",height:"7.915",fill:"white",transform:"translate(12.085 22.709)"})),o.createElement("clipPath",{id:"clip1_159_173224"},o.createElement("rect",{width:"15.83",height:"7.915",fill:"white",transform:"translate(12.085 22.709)"}))))],md=({csatPayload:e,submitted:t,value:n,onChange:r})=>{const s=typeof n>"u";return o.createElement(hd,null,o.createElement(L,{variant:"caption3",color:g.themedColor.textMidEmphasis},e.csat_question),o.createElement(pd,null,e.csat_scores.map(({label:a,image_url:i},l)=>{const u=l+1,d=n===u;return o.createElement(fd,{key:l,disabled:t,onClick:()=>r(u)},o.createElement(gd,{value:u,selected:s||d,label:a,src:i}),!!a&&o.createElement(L,{color:d?g.themedColor.textHighEmphasis:g.themedColor.textLowEmphasis,variant:"caption3"},a))})))},gd=({value:e,src:t,label:n,selected:r})=>{const[s,a]=c.useState(!1),i=s?o.createElement(cd,{value:e,selected:r,label:n}):o.createElement(bd,{$selected:r,"aria-label":n,src:t,onError:()=>a(!0)});return o.createElement(Ed,null,i)},hd=h.default.div`display:flex;flex-direction:column;gap:8px;`,pd=h.default.div`display:flex;justify-content:space-between;align-self:center;width:100%;max-width:400px;gap:16px;`,fd=h.default.button`background-color:transparent;border:none;gap:4px;display:flex;flex-direction:column;align-items:center;justify-content:start;box-sizing:border-box;min-width:48px;max-width:68px;&:hover:not(:disabled) span{color:${g.themedColor.textHighEmphasis};}`,Ed=h.default.div`button:hover:not(:disabled) &{border-radius:4px;cursor:pointer;background-color:${g.color.background200};${B.dark`
|
|
244
|
-
background-color: ${g.color.background500};
|
|
245
|
-
`}
|
|
246
|
-
}
|
|
247
|
-
`,bd=h.default.img`user-select:none;-webkit-user-drag:none;width:40px;height:40px;aspect-ratio:1;opacity:${({$selected:e})=>e?1:.38};`,xd=({csatPayload:e})=>o.createElement(L,{variant:"button",color:g.themedColor.textHighEmphasis},e.title),qt=({csatPayload:e,type:t,renderSubmitButton:n,initialCsat:r,initialCsatReason:s,initialIsResolved:a})=>{const{params:i,setParams:l,error:u,setError:d,followUpItem:m,state:f,validateParams:E,itemProps:v}=Ga({csatPayload:e,type:t,initialCsat:r,initialCsatReason:s,initialIsResolved:a});return o.createElement(o.Fragment,null,o.createElement(Cd,null,o.createElement(xd,{...v}),t===he.AI_AGENT_CSAT_5_WITH_CRE&&o.createElement(rd,{...v,defaultValue:a,value:i.isResolved,onChange:_=>l({isResolved:_})}),o.createElement(md,{...v,value:i.csat,onChange:_=>l({csat:_})}),m&&o.createElement(ad,{...v,followUpItem:m,value:i.csatReason,onChange:_=>{l({csatReason:_}),d({followUpItem:!1})},hasError:u.followUpItem})),f!=="unsubmittable"&&o.createElement(o.Fragment,null,o.createElement(Q.Separator,null),n({state:f,params:i,validateParams:E})))},Cd=h.default.div`display:flex;flex-direction:column;gap:12px;`,_d=e=>{const{stringSet:t}=W();return vs(e,{title:t.CSAT_TITLE_UNSUBMITTED,question:t.CSAT_RATING_TITLE,cre:{question:t.CSAT_CRE_TITLE,positive_label:t.CSAT_CRE_SOLVED,negative_label:t.CSAT_CRE_NOT_SOLVED},followUp:{question:t.CSAT_REASON_PLACEHOLDER},submit_label:t.CSAT_SUBMIT_LABEL,submitted_label:t.CSAT_TITLE_SUBMITTED})},vd=()=>{const{stringSet:e}=W();return o.createElement(L,{variant:"body2",color:g.themedColor.textMidEmphasis,style:{textAlign:"center"}},e.CSAT_SUBMISSION_EXPIRED)},yd=({onMount:e,children:t})=>(c.useEffect(()=>{e&&jr(e)},[]),o.createElement(o.Fragment,null,t)),Sd=e=>{if(e.messageType!=="admin.csat")throw new Error("Invalid message type");const{extendedMessagePayload:t,onSubmitCSAT:n,onScrollToBottom:r}=e,{csat:s,csatReason:a,csatExpireAt:i,isResolvedWhenDeterminedByUser:l}=e,u=ve.useForceUpdate(),d=_d(t==null?void 0:t.csat),m=c.useRef(!1);if(!d||!d.visibility||!he[d.type])return null;const f=d.type===he.AI_AGENT_CSAT_5||d.type===he.AI_AGENT_CSAT_5_WITH_CRE||d.type===he.HELPDESK_CSAT_5?qt:()=>null;return o.createElement(Td,null,!s&&Nn(i)?o.createElement(vd,null):o.createElement(f,{csatPayload:d,type:d.type,initialCsat:s,initialCsatReason:a,initialIsResolved:l,renderSubmitButton:({state:E,params:v,validateParams:_})=>o.createElement(yd,{onMount:r},o.createElement(Ad,{$state:E,disabled:E==="submitted",onClick:async()=>{m.current||(!Nn(i)&&_()?(m.current=!0,await n(v).finally(()=>{m.current=!1})):u())}},o.createElement(L,{variant:"button"},E==="submitted"?d.csat_submitted_label:d.csat_submit_label)))}))},Td=h.default.div`display:flex;flex-direction:column;background-color:${({theme:e})=>e.colors.csat.background};border-radius:16px;gap:16px;padding:16px;`,Ad=h.default.button`all:unset;background-color:${({theme:e})=>e.colors.base.primary};color:${({theme:e})=>e.colors.base.primaryContrastContent};border-radius:6px;padding:10px 20px;display:flex;align-items:center;justify-content:center;cursor:pointer;text-align:center;word-break:break-word;&:hover{background-color:${g.color.primary.dark};}&:disabled{color:${({$state:e})=>e==="submitted"?g.themedColor.textHighEmphasis:g.color.ondark.textLowEmphasis};background-color:${g.themedColor.textDisabled};cursor:not-allowed;}`,wd=e=>{const{components:t}=Lt.useContext(),n=e.messageType==="admin"?o.createElement(t.AdminMessage,{...e}):e.messageType==="admin.csat"?o.createElement(t.CSATMessage,{...e}):null;return o.createElement(Id,{$marginBottom:dn(e.groupType)},n)},Lt=Ee({template:wd,components:{AdminMessage:Zu,CSATMessage:Sd}}),Id=h.default.div`padding-inline:${H.HORIZONTAL_PADDING}px;margin-bottom:${({$marginBottom:e})=>e}px;`,ur={file:"attach",snippet:"snippet",site:"website",sb_sprinklr:"sprinklr",sb_salesforce:"salesforce",sb_confluence:"confluence",sb_zendesk:"zendesk",sb_desk:"snippet"},mo=({actionbook:e,functionCalls:t,groundedness:n,agentMessageTemplates:r,onClickActionbook:s,onClickFunctionCall:a,onClickFunctionCallDetail:i,onClickGroundedness:l,onClickAgentMessageTemplate:u,bottomContent:d,renderCustomGroundednessIcon:m=E=>E.default,style:f={}})=>{const{iconColor:E="#000000",textColor:v="#000000",highlightColor:_=Je.DEFAULT_PRIMARY}=f;return o.createElement(dr,null,e&&o.createElement(dr,null,o.createElement(St,null,o.createElement(pt,null,o.createElement(U,{size:16,type:"actionbook",color:E})),o.createElement(ht,{$clickable:!!s,$highlightColor:_,variant:"body2",color:v,onClick:()=>s==null?void 0:s(e),maxTextLines:1},e.name))),t==null?void 0:t.map(b=>o.createElement(jt,{key:b.key},o.createElement(pt,null,o.createElement(U,{size:16,type:"function",color:E})),o.createElement(St,null,o.createElement(ht,{$clickable:!!a,$highlightColor:_,variant:"body2",color:v,onClick:()=>a==null?void 0:a(b),maxTextLines:1},b.name),i&&o.createElement(Md,{role:"button",onClick:()=>i==null?void 0:i(b)},o.createElement(L,{variant:"body2",color:_},"View details"),o.createElement(U,{type:"chevron-right",size:16,color:_}))))),n==null?void 0:n.map(b=>o.createElement(jt,{key:b.id},o.createElement(pt,null,m({default:o.createElement(U,{size:16,type:ur[b.source_type]??ur.snippet,color:E}),sourceType:b.source_type})),o.createElement(ht,{$clickable:!!l,$highlightColor:_,variant:"body2",color:v,onClick:()=>l==null?void 0:l(b),maxTextLines:1},b.preview_title))),r==null?void 0:r.map(b=>o.createElement(jt,{key:b.key},o.createElement(pt,null,o.createElement(U,{size:16,type:"template",color:E})),o.createElement(ht,{$clickable:!!u,$highlightColor:_,variant:"body2",color:v,onClick:()=>u==null?void 0:u(b),maxTextLines:1},b.name))),d)},kd=h.default(L)`font-weight:400;`,ht=h.default(kd)`${({$clickable:e,$highlightColor:t})=>e&&k.css`
|
|
248
|
-
cursor: pointer;
|
|
249
|
-
text-decoration: underline;
|
|
250
|
-
&:hover {
|
|
251
|
-
color: ${t};
|
|
252
|
-
}
|
|
253
|
-
`}
|
|
254
|
-
`,pt=h.default.div`display:flex;align-items:center;justify-content:center;flex-shrink:0;`,St=h.default.div`display:flex;gap:8px;align-items:center;word-break:break-word;`,Md=h.default(St)`cursor:pointer;gap:4px;`,jt=h.default(St)`flex-direction:row;align-items:center;`,dr=h.default.div`display:flex;gap:4px;flex-direction:column;align-items:flex-start;`,go=c.createContext(null);function $d({testerType:e,origin:t,children:n}){return o.createElement(go.Provider,{value:{testerType:e,isActionbookTester:e==="actionbook",origin:t}},e&&o.createElement(Ld,null),n)}const Ge=()=>{const e=c.useContext(go);if(!e)throw new Error("_UNSAFE_INTERNAL_DashboardTesterProvider not found");return e},Ld=()=>{const{isActionbookTester:e}=Ge();return o.createElement(Oe.Template,{template:e?Od:void 0},o.createElement(Oe.MessageLogs,{component:Rd}))},Od=e=>o.createElement(lo,{...e,testerMode:!0,maxBodyWidth:H.WIDE_BODY_MAX_WIDTH}),Rd=({extendedMessagePayload:e={}})=>{const{handlers:t}=q(),{manual:n,groundedness:r,function_calls:s,agent_message_templates:a,is_thinking:i}=e;return i||!n&&!(r!=null&&r.length)&&!(s!=null&&s.length)&&!(a!=null&&a.length)?o.createElement(o.Fragment,null):o.createElement(Dd,null,o.createElement(Nd,{width:4}),o.createElement(mo,{actionbook:n,functionCalls:s,groundedness:r,agentMessageTemplates:a,onClickFunctionCallDetail:t==null?void 0:t.onFunctionCallDetailClick,style:{iconColor:g.themedColor.textHighEmphasis,textColor:g.themedColor.textHighEmphasis,barColor:g.themedColor.textDisabled},bottomContent:o.createElement(Pd,{variant:"caption2",color:g.themedColor.textLowEmphasis},"Only visible in the tester")}))},Dd=h.default.div`display:flex;gap:16px;margin:16px ${H.HORIZONTAL_PADDING}px 0;align-self:stretch;`,Nd=h.default.div`width:${({width:e})=>e}px;background-color:${g.themedColor.textDisabled};border-radius:100px;flex-shrink:0;`,Pd=h.default(L)`margin-top:5px;`,Fd=c.forwardRef(function(t,n){const{messages:r,renderMessage:s,loading:a,LoadingComponent:i,error:l,ErrorComponent:u,empty:d,EmptyComponent:m,messageTopArea:f,messageBottomArea:E,overlayArea:v,onLoadPrev:_,onLoadNext:b,loadThreshold:p=.05,onScroll:x=ye,depsForResetScrollPositionToBottom:C,stackDirection:y="top",bottomSpacerHeight:T=0,ariaLabel:I}=t,w=c.useRef(null),S=c.useCallback(V=>{w.current=V,n&&(typeof n=="function"?n(V):n.current=V)},[n]),$=c.useRef(!1),N=c.useRef(void 0),D=c.useRef(0),O=c.useRef(0);c.useLayoutEffect(()=>{w.current&&(w.current.scrollTop=w.current.scrollHeight)},C),c.useLayoutEffect(()=>{w.current&&(N.current==="top"&&(w.current.scrollTop=w.current.scrollHeight-O.current),N.current==="bottom"&&(w.current.scrollTop=D.current),N.current=void 0)},[w.current,r.length]);const z=async V=>{if(x==null||x(V),!w.current)return;const j=w.current;if(O.current=j.scrollHeight-j.scrollTop,D.current=j.scrollTop,$.current)return;const ae=j.clientHeight*Math.min(Math.max(0,p),1);j.scrollTop<=ae?($.current=!0,N.current="top",await _(),$.current=!1):j.scrollHeight-j.scrollTop-j.clientHeight<=ae?($.current=!0,N.current="bottom",await b(),$.current=!1):N.current=void 0};return l?o.createElement(o.Fragment,null,u):a?o.createElement(o.Fragment,null,i):o.createElement(Bd,{id:"infinite-list-container"},o.createElement(Ud,{id:"infinite-list-inner",ref:S,onScroll:z,role:"list","aria-label":I},y==="bottom"&&o.createElement("div",{style:{flexGrow:1}}),f,d?m:r.map((V,j)=>s({message:V,index:j})),E,T>0&&o.createElement("div",{style:{minHeight:T}})),o.createElement(Hd,{id:"infinite-list-overlay-container"},o.createElement(zd,{id:"infinite-list-overlay"},v)))}),Bd=h.default.div`display:flex;position:relative;flex:1;overflow:hidden;`,Ud=h.default.div`display:flex;flex:1;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:${g.themedColor.textLowEmphasis}transparent;&::-webkit-scrollbar-thumb:hover{background-color:transparent;}`,Hd=h.default.div`position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;`,zd=h.default.div`pointer-events:auto;`,Vd=e=>we(e)||vr(e);function Gd(e){return e.isAdminMessage()?e.message==="The channel's custom_type was updated.":!1}function Wd(e,t){return e.filter(n=>ke.isWelcomeMessage(n,t))}const Te=({as:e,type:t,size:n=16,color:r,disabled:s,...a})=>{const i=s?g.themedColor.textDisabled:g.themedColor.textHighEmphasis;return o.createElement(qd,{as:e,disabled:s,...a},o.createElement(U,{type:t,size:n,color:r??i}))},qd=h.default.button`all:unset;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;&:disabled{cursor:not-allowed;}`,jd=({files:e,initialIndex:t=0,onClose:n,visible:r})=>{var I,w;const[s,a]=c.useState(t),[i,l]=c.useState(!1),{stringSet:u,format:d}=W(),{config:m}=q(),f=e.length,E=e[s],v=((w=(I=m==null?void 0:m.conversation)==null?void 0:I.fileViewer)==null?void 0:w.downloadEnabled)!==!1,_=f>1,b=(E==null?void 0:E.type)||"",p=we(b),x=vr(b),C=!Vd(b);c.useEffect(()=>{r&&(a(t),l(!1))},[r,t]);const y=c.useCallback(()=>{s>0&&(a(S=>S-1),l(!1))},[s]),T=c.useCallback(()=>{s<f-1&&(a(S=>S+1),l(!1))},[s,f]);return c.useEffect(()=>{if(!r)return;const S=$=>{$.key==="ArrowLeft"?y():$.key==="ArrowRight"?T():$.key==="Escape"&&n()};return window.addEventListener("keydown",S),()=>window.removeEventListener("keydown",S)},[r,y,T,n]),!r||!E?null:o.createElement(Mt,{onClose:n,visible:r,rootElementId:de.MODAL_ROOT},o.createElement(Kd,null,o.createElement(Yd,null,o.createElement(Xd,null,o.createElement(Zd,null,o.createElement(L,{variant:"button",maxTextLines:1,color:g.themedColor.textHighEmphasis},E.name||u.IMAGE_VIEWER__DEFAULT_TITLE),E.timestamp&&o.createElement(L,{variant:"caption2",color:g.themedColor.textMidEmphasis},d(new Date(E.timestamp),"h:mm a")))),o.createElement(Jd,{type:"close",size:24,"aria-label":u.A11Y_IMAGE_VIEWER_CLOSE,onClick:n})),o.createElement(Qd,{onClick:S=>S.currentTarget===S.target&&n()},_&&o.createElement(mr,{$position:"left",type:"chevron-right",size:32,onClick:y,"aria-label":u.A11Y_IMAGE_VIEWER_PREVIOUS,disabled:s===0,$flipped:!0}),o.createElement(em,null,p&&o.createElement(o.Fragment,null,!i&&o.createElement(tm,null,o.createElement(rt,{size:32},o.createElement(U,{type:"spinner",color:"textLowEmphasis",size:32}))),o.createElement(nm,{src:E.url,alt:E.name||"Image",$loaded:i,onLoad:()=>l(!0)})),x&&o.createElement(rm,{controls:!0},o.createElement("source",{src:E.url,type:b})),C&&o.createElement(om,null,o.createElement(L,{variant:"h1",color:g.themedColor.textHighEmphasis},u.FILE_VIEWER__UNSUPPORT))),_&&o.createElement(mr,{$position:"right",type:"chevron-right",size:32,onClick:T,"aria-label":u.A11Y_IMAGE_VIEWER_NEXT,disabled:s===f-1})),o.createElement(sm,null,o.createElement(am,null),_&&o.createElement(L,{variant:"body3",color:g.themedColor.textHighEmphasis},s+1,"/",f),o.createElement(im,null,v&&!C&&o.createElement(Te,{as:"a",href:E.url,download:E.name||"file",type:"download",size:24,"aria-label":u.A11Y_IMAGE_VIEWER_DOWNLOAD})))))},Kd=h.default.div`position:fixed;inset:0;outline:none;display:flex;flex-direction:column;background-color:${g.themedColor.bg_50_600};`,Yd=h.default.header`display:flex;align-items:center;justify-content:space-between;padding:12px 16px;min-height:56px;border-bottom:1px solid ${g.themedColor.textDisabled};`,Xd=h.default.div`flex:1;min-width:0;padding-right:16px;`,Zd=h.default.div`display:flex;flex-direction:column;gap:2px;`,Jd=h.default(Te)`flex-shrink:0;width:32px;height:32px;border-radius:50%;&:hover{background-color:${g.themedColor.bg_100_500};}`,Ot=h.default.div`display:flex;align-items:center;justify-content:center;`,Qd=h.default(Ot)`flex:1;min-height:0;position:relative;padding:0 16px;`,em=h.default(Ot)`position:relative;max-width:100%;max-height:100%;`,tm=h.default(Ot)`position:absolute;inset:0;`,nm=h.default.img`max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;opacity:${e=>e.$loaded?1:0};transition:opacity 0.3s ease;`,rm=h.default.video`max-width:100%;max-height:100%;object-fit:contain;`,om=h.default(Ot)`flex-direction:column;gap:16px;`,mr=h.default(Te)`position:absolute;${e=>e.$position==="left"?"left: 16px;":"right: 16px;"}top:50%;transform:translateY(-50%) ${e=>e.$flipped?"scaleX(-1)":""};border-radius:50%;&:hover:not(:disabled){background-color:${g.themedColor.bg_200_400};}&:disabled{opacity:0.3;}@media (max-width:480px){width:38px;height:38px;${e=>e.$position==="left"?"left: 8px;":"right: 8px;"}}`,sm=h.default.footer`display:flex;align-items:center;justify-content:space-between;padding:16px;min-height:56px;border-top:1px solid ${g.themedColor.textDisabled};`,am=h.default.div`width:40px;`,im=h.default.div`display:flex;align-items:center;justify-content:flex-end;width:40px;`,lm=({className:e,label:t,ariaLabel:n,onClick:r})=>{const{colors:s}=k.useTheme();return o.createElement(cm,{className:e,onClick:r,"aria-label":n},o.createElement(L,{variant:"button",color:s.base.primaryContrastContent},t),o.createElement(U,{size:16,type:"chevron-down",color:s.base.primaryContrastContent}))},cm=h.default.button`all:unset;cursor:pointer;display:flex;align-items:center;gap:4px;padding:10px 12px 10px 16px;border-radius:24px;background-color:${({theme:e})=>e.colors.base.primary};box-shadow:0 8px 10px 1px rgba(13,13,13,0.12),0 3px 14px 2px rgba(13,13,13,0.08),0 3px 5px -3px rgba(13,13,13,0.04);&:focus{outline:none;}`,Tn=({iconSize:e=64,icon:t,className:n,label:r,children:s})=>o.createElement(dm,{className:n},t&&o.createElement(U,{type:t,size:e,color:g.themedColor.textLowEmphasis}),r&&o.createElement(L,{variant:"body1",color:g.themedColor.textMidEmphasis},r),s),um=h.default.div`position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:100%;`,dm=h.default.div`display:flex;flex-direction:column;min-height:104px;align-items:center;gap:20px;text-align:center;`,mm=({label:e="Something went wrong",icon:t="error",action:n,...r})=>o.createElement(Tn,{icon:t,label:e,...r},n&&o.createElement(gm,{onClick:n.onClick,label:n.label??"Retry"})),gm=({label:e,onClick:t})=>o.createElement(hm,{tabIndex:0,onClick:t},o.createElement(U,{type:"refresh",size:20}),o.createElement(L,{variant:"button",color:g.color.primary.main},e)),hm=h.default.button`all:unset;display:flex;cursor:pointer;gap:4px;align-items:center;justify-content:center;`,pm=({iconSize:e=48,className:t})=>o.createElement(rt,{size:e,className:t}),fm=({label:e="No channels",icon:t="chat",...n})=>o.createElement(Tn,{icon:t,label:e,...n}),Em=({label:e="No messages",icon:t="message",...n})=>o.createElement(Tn,{icon:t,label:e,...n}),bm=e=>{const{components:t}=Rt.useContext(),n=e.type==="loading"?o.createElement(t.Loading,{...e}):e.type==="error"?o.createElement(t.Error,{...e}):e.type==="noChannels"?o.createElement(t.NoChannels,{...e}):e.type==="noMessages"?o.createElement(t.NoMessages,{...e}):null;return n&&o.createElement(um,null,n)},Rt=Ee({template:bm,components:{Loading:pm,Error:mm,NoChannels:fm,NoMessages:Em}}),Xe=e=>{const{Template:t}=Rt.useContext();return o.createElement(t,{...e})},xm=({className:e,date:t=Date.now(),style:n})=>{const{format:r,stringSet:s}=W();return o.createElement(Cm,{id:`${le}-date-separator`,style:n,className:e},o.createElement(L,{variant:"caption4",color:g.themedColor.textMidEmphasis},r(t,s.DATE_FORMAT__MESSAGE_LIST__DATE_SEPARATOR)))},Cm=h.default.div`display:flex;justify-content:center;align-items:center;text-align:center;word-break:break-word;`,_m=({className:e,style:t,onClick:n,ariaLabel:r})=>o.createElement(vm,{className:e,style:t,onClick:n,tabIndex:0,"aria-label":r},o.createElement(U,{size:24,type:"chevron-down",color:g.color.primary.main})),vm=h.default.button`all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:24px;box-shadow:0 2px 8px 0 rgba(0,0,0,0.08),0 4px 6px 0 rgba(0,0,0,0.12);${B.light`
|
|
255
|
-
background-color: ${g.color.background50};
|
|
256
|
-
&:hover {
|
|
257
|
-
background-color: ${g.color.background100};
|
|
258
|
-
}
|
|
259
|
-
&:active {
|
|
260
|
-
background-color: ${g.color.background200};
|
|
261
|
-
}
|
|
262
|
-
`}
|
|
263
|
-
${B.dark`
|
|
264
|
-
background-color: ${g.color.background400};
|
|
265
|
-
&:hover {
|
|
266
|
-
background-color: ${g.color.background500};
|
|
267
|
-
}
|
|
268
|
-
&:active {
|
|
269
|
-
background-color: ${g.color.background700};
|
|
270
|
-
}
|
|
271
|
-
`}
|
|
272
|
-
|
|
273
|
-
&:focus {
|
|
274
|
-
outline: none;
|
|
275
|
-
}
|
|
276
|
-
`,ym=()=>null,Dt=Ee({template:ym,components:{DateSeparator:xm,ScrollToBottomButton:_m}}),Sm=()=>{const{agentPreviewConfigs:e={},aiAgentId:t}=q(),{aiAgentInfo:n}=re(),{messageSource:r}=oe(),{Template:s}=Oe.useContext(),{components:a}=Dt.useContext(),i=e.welcomeMessages??[],l=r.messages,u=Wd(l,t),d=l[u.length+1],m=u[0]??d;return{filteredMessages:l.filter(f=>Gd(f)?!1:i.length>0?!ke.isWelcomeMessage(f,t):!0),shouldShowOriginalDate:f=>f>0||i.length===0?!0:d&&!De.isSameDay(d.createdAt,(m==null?void 0:m.createdAt)??0),renderAgentPreviewWelcomeMessages:()=>i.length===0?null:o.createElement(o.Fragment,null,o.createElement(a.DateSeparator,{style:{margin:"16px 0"},date:m==null?void 0:m.createdAt}),i.map((f,E)=>{const v=E===i.length-1,_=u.length!==l.length,b=i.length===1?"single":E===0?"top":v||_?"bottom":"middle";return o.createElement(s,{messageType:"user",message:f.message,sender:n,groupType:b,createdAt:(m==null?void 0:m.createdAt)??Date.now(),extendedMessagePayload:{suggested_replies:f.suggestedReplies},suggestedRepliesDirection:e.suggestedRepliesDirection,suggestedRepliesVisible:v&&!_,isBotMessage:!0,onClickSuggestedReply:async({reply:p})=>{r.sendUserMessage({message:p})}})}))}},Tm=e=>h.default(e).withConfig({shouldForwardProp:Yo.default}),Am=({style:e})=>{const{stringSet:t}=W(),{isActionbookTester:n}=Ge();return!bn("powered-by")||n?null:o.createElement(wm,{variant:"caption2",style:e},t.POWERED_BY+" ",o.createElement(Im,{variant:"caption2",as:"a",href:"https://delight.ai?utm_medium=product&utm_source=aiagent&utm_campaign=fy26-glbl-ai-agent-poweredby","aria-label":"Learn more about Delight AI Agent",rel:xn,target:"_blank"},"Sendbird"))},wm=h.default(L)`color:${g.themedColor.textLowEmphasis};text-align:center;`,Im=Tm(L)`
|
|
277
|
-
color: ${g.themedColor.textLowEmphasis};
|
|
278
|
-
cursor: pointer;
|
|
279
|
-
text-decoration: none;
|
|
280
|
-
`,km=()=>{var i;const{stringSet:e}=W(),{channelSource:t,goToActiveConversation:n,scrollSource:r}=oe(),s=ue(t.channel),a=c.useRef(s);return c.useEffect(()=>{if(!a.current&&s){const d=setTimeout(()=>{r.actions.scrollToBottom()},100);return()=>clearTimeout(d)}a.current=s},[s,r.actions.scrollToBottom]),!((i=t.channel)!=null&&i.isAIAgent)||!s?null:o.createElement(Mm,null,o.createElement($m,{variant:"button",role:"button",color:g.themedColor.textHighEmphasis,onClick:()=>n()},e.TALK_TO_AGENT))},Mm=h.default.div`display:flex;justify-content:center;margin-bottom:16px;`,$m=h.default(L)`border-radius:6px;box-sizing:border-box;padding:10px 20px;border:1px solid ${g.themedColor.textDisabled};cursor:pointer;user-select:none;`,Lm=()=>{var ae,ie,Be,qe;const{Template:e}=st.useContext(),{Template:t}=Oe.useContext(),{Template:n}=Lt.useContext(),{components:r}=Dt.useContext(),{stringSet:s}=W(),{config:a,cache:i,agentPreviewConfigs:l,chatSDK:u,state:d}=q(),{userSession:m,aiAgentInfo:f,connectionError:E}=re(),{conversation:v,channelSource:_,messageSource:b,scrollSource:p,state:{input:x,streamAnimation:C}}=oe(),{isActionbookTester:y}=Ge(),{filteredMessages:T,shouldShowOriginalDate:I,renderAgentPreviewWelcomeMessages:w}=Sm(),S=za(_.channel),[$,N]=c.useState(null),[D,O]=c.useState(null);c.useEffect(()=>{p.actions.onTypingIndicatorUpdate(!!S)},[!!S,p.actions.onTypingIndicatorUpdate]),c.useEffect(()=>{p.state.isAwayFromBottom||b.resetNewMessages()},[p.state.isAwayFromBottom]);const z=(M,ce=!1)=>{var A;return ce?f:((A=_.channel)==null?void 0:A.members.find(R=>R.userId===M.sender.userId))??M.sender},V=M=>{if(M.sendingStatus==="failed"&&!x.disabled)return()=>O(M)},j=({message:M,index:ce})=>{const A=Xo(M),R=T[ce-1],P=T[ce+1],X=T[T.length-1],J=M===X,Z=Qe(M,f.userId),be=!(f.isUserFeedbackEnabled&&Z&&!ke.isWelcomeMessage(M)),me=Zo(M,R,P,be),ge=!Vo.isSameDay((R==null?void 0:R.createdAt)??0,M.createdAt)&&I(ce)&&!y,Ue=Re=>{N({files:Re.files.map(lt=>({...lt,timestamp:M.createdAt})),index:Re.index})},Ft=Re=>{Ue({files:[Re],index:0})},Do=()=>{M.isFileMessage()&&_n(M.url)},No=ge?o.createElement(r.DateSeparator,{style:{margin:"16px 0"},date:M.createdAt}):null,it={data:M.data,maxBodyWidth:d.expanded?H.WIDE_BODY_MAX_WIDTH:void 0,extendedMessagePayload:M.extendedMessagePayload,createdAt:M.createdAt,groupType:me,onClickMedia:Ft,onClickMediaFiles:Ue,onClickFile:Do},Po=()=>{if(He.isOutgoing(M,m.userId))return"outgoingmessage";if(He.isIncoming(M,m.userId))return"incomingmessage"},Fo=(()=>{var Re,lt,Ln;if(He.isAdmin(M))return He.isCSAT(M)?v?o.createElement(n,{...it,...v,isResolvedWhenDeterminedByUser:Cs(v),messageType:"admin.csat",onSubmitCSAT:async xe=>{var G;await((G=_.channel)==null?void 0:G.submitCSAT(xe))},onScrollToBottom:()=>p.actions.scrollToBottom()}):null:o.createElement(n,{...it,messageType:"admin",message:M.message});if(He.isOutgoing(M,m.userId)){const xe={...it,message:M.message,sender:z(M),sendingStatus:M.sendingStatus,onClickFailedMessage:V(M)};if(M.isUserMessage())return o.createElement(e,{messageType:"user",...xe});if(M.isFileMessage()){const[G,ne]=((Re=M.metaArrays.find(Ce=>Ce.key===_r))==null?void 0:Re.value)??[];return o.createElement(e,{messageType:"file",file:M,metadata:{aspectRatio:G&&ne?`${G}/${ne}`:"1/1",localFile:(lt=M.messageParams)==null?void 0:lt.file},...xe})}if(M.isMultipleFilesMessage()){const{files:G,metadata:ne}=er(M);return o.createElement(e,{messageType:"multipleFiles",files:G,metadata:ne,...xe})}}if(He.isIncoming(M,m.userId)){const xe={...it,sender:z(M,Z),message:M.message,suggestedRepliesVisible:J,suggestedRepliesDirection:l==null?void 0:l.suggestedRepliesDirection,isBotMessage:Z,isStreaming:ke.isStreaming(M),isHandedOff:Ve(_.channel),isConversationClosed:ue(_.channel),isFeedbackEnabled:f.isUserFeedbackEnabled,isFeedbackCommentEnabled:f.isUserFeedbackCommentOptionEnabled,isSenderAvatarVisible:(Ln=a==null?void 0:a.conversation)==null?void 0:Ln.senderAvatarEnabled,onClickSuggestedReply:async({reply:G})=>{b.sendUserMessage({message:G})},onRequestMessageTemplate:async G=>{const{template:ne}=await u.aiAgent.getMessageTemplate(G);return i.template.set(G,ne),ne},onGetCachedMessageTemplate:G=>i.template.get(G),onHandleTemplateInternalAction:G=>{if(G.type==="internal"&&G.internalData){const{method:ne,payload:Ce}=G.internalData;ne==="message.send"&&(Ce!=null&&Ce.message)&&b.sendUserMessage({message:Ce.message})}},onFeedbackUpdate:G=>{const ne={messageId:M.messageId,channelUrl:M.channelUrl};if(!G)return u.aiAgent.deleteMessageFeedback(ne);const Ce={...ne,rating:hc(G.rating),comment:G.comment};return ke.hasFeedback(M)?u.aiAgent.updateMessageFeedback(Ce):u.aiAgent.createMessageFeedback(Ce)},onSubmitForm:({key:G,data:ne})=>u.aiAgent.submitForm({messageId:M.messageId,channelUrl:M.channelUrl,formKey:G,formData:ne}),onCancelForm:({key:G})=>u.aiAgent.cancelForm({messageId:M.messageId,channelUrl:M.channelUrl,formKey:G}),onStreamAnimationStart:()=>{C.start(M.messageId)},onStreamAnimationProgress:()=>{p.actions.onStreamingUpdate(!0)},onStreamAnimationComplete:()=>{C.stop(M.messageId),p.actions.onStreamingUpdate(!1)}};if(M.isUserMessage())return o.createElement(t,{messageType:"user",...xe});if(M.isFileMessage())return o.createElement(t,{messageType:"file",file:M,...xe});if(M.isMultipleFilesMessage()){const{files:G}=er(M);return o.createElement(t,{messageType:"multipleFiles",files:G,...xe})}}})();return o.createElement("div",{key:A,id:`${le}-message-item`,role:"listitem","data-layout-id":Po()},No,Fo)};return o.createElement(Om,{id:`${le}-message-list`},o.createElement(Fd,{ref:p.ref,onScroll:p.props.onScroll,stackDirection:l==null?void 0:l.messageStackDirection,messages:T,renderMessage:j,onLoadPrev:b.loadPrevious,onLoadNext:b.loadNext,depsForResetScrollPositionToBottom:[b.initialized,b.messages.length!==0],bottomSpacerHeight:p.state.bottomSpace,ariaLabel:s.A11Y_MESSAGE_LIST,loading:!b.initialized||!_.channel,empty:T.length===0&&!S,error:!!(E||_.error),LoadingComponent:o.createElement(Xe,{type:"loading"}),EmptyComponent:(()=>{const M=w();return M?o.createElement("div",{style:{width:"100%"}},M):o.createElement(Xe,{type:"noMessages",label:s.PLACE_HOLDER__NO_MESSAGES})})(),ErrorComponent:o.createElement(Xe,{type:"error",label:(E==null?void 0:E.message)??((ae=_.error)==null?void 0:ae.message),action:_.error?{label:s.RETRY,onClick:()=>_.refetch()}:void 0}),messageTopArea:o.createElement(o.Fragment,null,o.createElement(Am,{style:{marginTop:16}}),w()),messageBottomArea:o.createElement(o.Fragment,null,S&&o.createElement("div",{id:`${le}-message-item`,role:"listitem",style:{marginTop:T.length===0?8:0}},o.createElement(t,{isTyping:!0,isBotMessage:S.isBot,sender:S.user,messageType:"user",groupType:"single",message:"",isSenderAvatarVisible:(ie=a==null?void 0:a.conversation)==null?void 0:ie.senderAvatarEnabled})),((Be=a==null?void 0:a.conversation)==null?void 0:Be.isTalkToAgentViewEnabled)&&o.createElement(km,null)),overlayArea:o.createElement(o.Fragment,null,((qe=a==null?void 0:a.conversation)==null?void 0:qe.newMessageIndicatorEnabled)&&p.state.isAwayFromBottom&&b.newMessages.length>0&&o.createElement(Rm,{label:s.SCROLL_TO_NEW_MESSAGES_LABEL(b.newMessages),ariaLabel:s.A11Y_SCROLL_TO_NEW_MESSAGES,onClick:()=>p.actions.scrollToBottom()}),p.state.isAwayFromBottom&&b.newMessages.length===0&&!S&&o.createElement(r.ScrollToBottomButton,{ariaLabel:s.A11Y_SCROLL_TO_BOTTOM,onClick:()=>p.actions.scrollToBottom(),style:{position:"absolute",bottom:12,insetInlineEnd:16}}))}),$&&o.createElement(jd,{files:$.files,initialIndex:$.index,onClose:()=>N(null),visible:!0}),D&&o.createElement(Me,{visible:!0,onClose:()=>O(null)},o.createElement(Me.ActionItem,{onClick:()=>{b.resendMessage(D),O(null)}},s.FAILED_MESSAGE_RESEND),o.createElement(Me.ActionItem,{destructive:!0,onClick:()=>{b.deleteMessage(D),O(null)}},s.FAILED_MESSAGE_REMOVE)))},Om=h.default.div`overflow-y:hidden;display:flex;flex:1;position:relative;`,Rm=h.default(lm)`position:absolute;bottom:12px;left:50%;transform:translateX(-50%);`,Dm=()=>o.createElement(Lm,null),Nm=()=>{var s;const{origin:e}=Ge(),{appId:t,aiAgentId:n}=te(),{channelSource:r}=oe();return(s=r.channel)!=null&&s.conversation?o.createElement(Pm,null,o.createElement(an,{style:{gap:4}},o.createElement(U,{color:g.themedColor.textLowEmphasis,size:12,type:"show"}),o.createElement(L,{as:"i",color:g.themedColor.textLowEmphasis,variant:"caption2"},"Only visible in the tester")),o.createElement(an,{role:"button",style:{gap:4},onClick:()=>{var u,d;const a=e??window.location.origin,i=(d=(u=r.channel)==null?void 0:u.conversation)==null?void 0:d.id,l=`${a}/ai-agent/${t}/${n}/evaluate/conversations/${i}`;navigator.clipboard.writeText(l)}},o.createElement(L,{variant:"body3",color:g.themedColor.textHighEmphasis},"Copy ",o.createElement("span",{style:{color:g.themedColor.primary}},"conversation link")),o.createElement(U,{color:g.themedColor.primary,size:14,type:"copy"}))):null},an=h.default.div`display:flex;justify-content:center;align-items:center;`,Pm=h.default(an)`flex-direction:column;padding-block:16px;background-color:${g.themedColor.bg_100_500};gap:8px;`,Fm=e=>{const t=e[0];if(!t)return e;const n=e.some(s=>we(s.type)),r=e.some(s=>!we(s.type));return n&&r?we(t.type)?e.filter(s=>we(s.type)):[t]:r?[t]:e},Bm=(e,t)=>{const n=[],r=[],s=[];for(const a of e){const i=t.isSupportedMimeType(a.type),l=a.size<=t.getUploadSizeLimit(a.type);i&&l?n.push(a):i?r.push(a):s.push(a)}return{passed:n,failedBySize:r,failedByType:s}},ho=c.createContext(void 0),Um=({children:e})=>{var w;const{chatSDK:t}=q(),{createAttachmentRules:n}=re(),{stringSet:r}=W(),{channelSource:s}=oe(),[a,i]=c.useState([]),[l,u]=c.useState({visible:!1,title:""}),d=n({channel:s.channel,uploadSizeLimit:(w=t.appInfo)==null?void 0:w.uploadSizeLimit}),m=d.isEnabled(),f=d.maxAttachmentCount,E=S=>{u({visible:!0,title:S})},v=()=>{E(r.FILE_UPLOAD_NOTIFICATION__COUNT_LIMIT.replace("%d",f.toString()))},_=S=>{E(r.FILE_UPLOAD_NOTIFICATION__SIZE_LIMIT.replace("%d",S.toString()))},b=S=>{E(r.FILE_UPLOAD_NOTIFICATION__FILES_EXCLUDED_BY_VALIDATION.replace("%d",S.toString()))},p=S=>S.map($=>({file:$,preview:{url:URL.createObjectURL($),type:$.type,name:$.name}})),x=S=>{i($=>[...$,...p(S)])},C=S=>{i($=>($.forEach(N=>URL.revokeObjectURL(N.preview.url)),p(S)))},y=S=>{if(!m||S.length===0)return;if(f-a.length===0){v();return}if(a.length+S.length>f){v();return}const N=Fm(S),{passed:D,failedBySize:O,failedByType:z}=Bm(N,d),V=O.length+z.length,j=N.length===1?O[0]:void 0;if(j?_(d.getUploadSizeLimitInMB(j.type)):V>0&&b(V),D.length===0)return;a.length>0&&a.every(ie=>we(ie.file.type))&&D.every(ie=>we(ie.type))?x(D):C(D)},T=S=>{i($=>{var D;const N=(D=$[S])==null?void 0:D.preview;return N&&URL.revokeObjectURL(N.url),$.filter((O,z)=>z!==S)})},I=()=>{i(S=>(S.forEach($=>URL.revokeObjectURL($.preview.url)),[]))};return o.createElement(ho.Provider,{value:{files:a,addFiles:y,removeFile:T,clearFiles:I,isFileUploadEnabled:m,acceptableMimeTypes:d.supportedMimeTypes,maxAttachmentCount:d.maxAttachmentCount,showFileUploadAlert:E}},e,o.createElement(Cn,{...l,onClose:()=>u({visible:!1,title:""})}))},An=()=>{const e=c.useContext(ho);if(!e)throw new Error("useFileUpload must be used within FileUploadProvider");return e};function Hm({blurred:e,elementRef:t,document:n=window.document}){const r=c.useRef(!1);e&&t.current&&n.activeElement===t.current&&(r.current=!0),c.useLayoutEffect(()=>{var s;!e&&r.current&&((s=t.current)==null||s.focus(),r.current=!1)},[e])}const zm=(e,t)=>{c.useEffect(()=>{t?e==null||e.startTyping():e==null||e.endTyping()},[e,t])},Vm=h.default.div`&::-webkit-scrollbar{display:none;}overflow-x:auto;display:flex;flex-direction:row;gap:10px;padding:8px 16px;background-color:transparent;`,Gm=h.default.div`display:flex;flex-shrink:0;position:relative;margin-block-start:8px;border-radius:12px;height:64px;img{border-radius:12px;object-fit:cover;width:64px;-webkit-user-drag:none;}`,Wm=h.default.div`display:flex;align-items:center;justify-content:center;position:absolute;inset-inline-end:-8px;inset-block-start:-8px;cursor:pointer;border-radius:50%;${B.light`
|
|
281
|
-
background-color: ${g.color.background50};
|
|
282
|
-
`}
|
|
283
|
-
${B.dark`
|
|
284
|
-
background-color: ${g.color.background500};
|
|
285
|
-
`}
|
|
286
|
-
path {
|
|
287
|
-
fill: ${g.themedColor.textMidEmphasis};
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
&:hover {
|
|
291
|
-
path {
|
|
292
|
-
fill: ${g.themedColor.textHighEmphasis};
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
circle {
|
|
297
|
-
stroke: ${g.themedColor.bg_50_600};
|
|
298
|
-
}
|
|
299
|
-
`,qm=()=>{const e=nt(),[t,n]=c.useState(),{files:r,removeFile:s,isFileUploadEnabled:a}=An();return!a||r.length===0?null:o.createElement(Vm,null,r.map(({preview:{type:i,name:l,url:u}},d)=>o.createElement(Gm,{key:u,onMouseOver:()=>n(d),onMouseLeave:()=>n(void 0)},(e||t===d)&&o.createElement(Wm,{title:"Remove file",onClick:()=>s(d)},o.createElement(U,{type:"close-filled",color:g.themedColor.textMidEmphasis})),i.startsWith("image/")?o.createElement("img",{alt:"file-image",src:u}):o.createElement(yn,{name:l,type:un(l,i)}))))},jm={textArea:k.css`min-height:40px;height:40px;font-size:16px;line-height:24px;`},po=h.default.button`all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;width:32px;height:32px;`,gr=h.default.div`width:100%;position:relative;background-color:${g.themedColor.bg_100_500};border-radius:20px;`,hr=h.default.div`display:flex;flex-direction:row;align-items:flex-end;position:relative;`,pr=h.default.textarea`all:unset;display:block;flex:1;min-width:0;padding-top:8px;padding-bottom:8px;padding-inline-start:16px;padding-inline-end:12px;box-sizing:border-box;font-size:14px;line-height:20px;color:${g.themedColor.textHighEmphasis};resize:none;width:100%;height:${Pr}px;overflow-wrap:break-word;white-space:pre-wrap;overflow-x:hidden;${Gr&&jm.textArea};&::placeholder{color:${g.themedColor.textLowEmphasis};}&:disabled{cursor:not-allowed;&::placeholder{color:${g.themedColor.textDisabled};}}`,Km=h.default.input`display:none;`;h.default.div`display:flex;align-items:center;gap:24px;`;const Ym=h.default(po)`flex-shrink:0;border-radius:8px;&:disabled{cursor:not-allowed;}&:not(:disabled){&:hover{background-color:${g.themedColor.bg_100_500};path{fill:${g.themedColor.textHighEmphasis};}}&:active{background-color:${g.themedColor.bg_200_400};}}`,fr=h.default.div`padding:10px 16px 10px 12px;position:relative;display:flex;align-items:center;gap:8px;`,Er=e=>e.startsWith("image/"),br=({disabled:e})=>{var I,w,S,$,N;const{stringSet:t}=W(),{config:n}=q(),r=c.useRef(null),s=c.useRef(null),[a,i]=c.useState(!1),{addFiles:l,isFileUploadEnabled:u,acceptableMimeTypes:d,showFileUploadAlert:m}=An(),f=d.includes(Yt),E=f?["image/*"]:d.filter(Er),v=f?[Yt]:d.filter(D=>!Er(D)),_=!!((S=(w=(I=n==null?void 0:n.conversation)==null?void 0:I.input)==null?void 0:w.gallery)!=null&&S.photoEnabled),b=!!((N=($=n==null?void 0:n.conversation)==null?void 0:$.input)!=null&&N.fileEnabled),p=()=>f||E.length>0,x=()=>f||v.length>0,C=D=>{const O=D.currentTarget.files;O&&l(Array.from(O)),D.target.value=""},y=()=>{i(!0)},T=c.useMemo(()=>{const D=[];return _&&D.push({type:"image",icon:"photo",label:t.FILE_UPLOAD_PHOTOS,accept:E.join(","),inputRef:r,onSelect:()=>{if(!p()){m(t.FILE_UPLOAD_NO_SUPPORTED_FILES);return}i(!1),setTimeout(()=>{var O;return(O=r.current)==null?void 0:O.click()},100)}}),b&&D.push({type:"file",icon:"document",label:t.FILE_UPLOAD_FILES,accept:d.join(","),inputRef:s,onSelect:()=>{if(!x()){m(t.FILE_UPLOAD_NO_SUPPORTED_FILES);return}i(!1),setTimeout(()=>{var O;return(O=s.current)==null?void 0:O.click()},100)}}),D},[E,d,t,_,b]);return u?o.createElement(o.Fragment,null,o.createElement(Ym,{disabled:e,onClick:y,"aria-label":t.A11Y_ATTACH_FILE},o.createElement(U,{type:"add",color:e?g.themedColor.textDisabled:g.color.primary.main,size:20})),T.map(D=>o.createElement(Km,{key:D.type,type:"file",ref:D.inputRef,multiple:D.type==="image",onChange:C,accept:D.accept})),o.createElement(Me,{visible:a,onClose:()=>i(!1)},T.map(D=>o.createElement(Me.ActionItem,{key:D.type,onClick:D.onSelect,icon:D.icon},D.label)))):null},Xm=()=>{const e=c.useRef(null),[t,n]=c.useState(""),{stringSet:r}=W(),{rootElement:s}=q(),{channelSource:a,messageSource:i,state:l}=oe(),{files:u,addFiles:d,clearFiles:m}=An(),f=l.input.disabled,E=(()=>{if(!f)return r.MESSAGE_INPUT__PLACE_HOLDER;switch(l.input.disabledBy){case"form_active":return r.FORM_PLACEHOLDER;case"ai_responding":return r.MESSAGE_INPUT__PLACE_HOLDER__WAIT_AI_AGENT_RESPONSE;case"suggested_replies":return r.MESSAGE_INPUT__PLACE_HOLDER__SUGGESTED_REPLIES;case"reconnecting":return r.MESSAGE_INPUT__PLACE_HOLDER__RECONNECTING;case"unavailable":case"conversation_closed":default:return r.MESSAGE_INPUT__PLACE_HOLDER__DISABLED}})();ji({onDropFiles:d}),Hm({blurred:f,elementRef:e,document:Ne(s)}),zm(a.channel,t);const v=t.trim().length>0,_=u.length>0,b=!f&&(v||_),p=()=>{e.current&&(e.current.value="",e.current.style.height=""),m(),n("")},x=async()=>{const I=t.trim();if(!I&&!u.length)return;const w=[...u];if(p(),w.length===0){i.sendUserMessage({message:I});return}if(w.length===1)await i.sendFileMessage({message:I,file:w[0].file});else{const S=w.map(({file:$})=>({file:$}));await i.sendMultipleFilesMessage({message:I,fileInfoList:S})}},C=I=>{const w=Array.from(I.clipboardData.files);w.length>0&&(I.preventDefault(),d(w))},y=I=>{I.key!=="Enter"||I.nativeEvent.isComposing||I.shiftKey||(I.preventDefault(),x())},T=I=>{if(e.current){e.current.style.height="";const w=Math.min(Xa,e.current.scrollHeight);Pr<w&&(e.current.style.height=`${w}px`)}n(I.target.value)};return f?o.createElement(fr,null,o.createElement(br,{disabled:!0}),o.createElement(gr,null,o.createElement(hr,null,o.createElement(pr,{disabled:!0,placeholder:E})))):o.createElement(fr,null,o.createElement(br,null),o.createElement(gr,null,o.createElement(qm,null),o.createElement(hr,null,o.createElement(pr,{ref:e,role:"textbox","aria-label":"Text Input",placeholder:E,maxLength:5e3,onKeyDown:y,onChange:T,onPaste:C}))),b&&o.createElement(po,{onClick:()=>x()},o.createElement(U,{type:"send",color:g.color.primary.main,size:20})))},Zm=h.default.div`padding:8px 16px;text-align:center;word-break:break-word;white-space:pre-wrap;line-height:1.43;letter-spacing:-0.2px;font-size:14px;font-weight:400;color:${g.themedColor.textLowEmphasis};&& a{font-weight:700;text-decoration:none;${B.light`
|
|
300
|
-
color: ${g.color.information.light};
|
|
301
|
-
`};
|
|
302
|
-
${B.dark`
|
|
303
|
-
color: ${g.color.information.main};
|
|
304
|
-
`};
|
|
305
|
-
}
|
|
306
|
-
`,Jm=c.lazy(()=>Promise.resolve().then(()=>require("./DQCOoJ_z.cjs")).then(e=>({default:e.MarkdownText}))),Qm=()=>{const{aiAgentInfo:e,userSession:t}=re(),{messageSource:n,channelSource:r}=oe(),[s,a]=c.useState(null),i=bn("special-notice",r.channel),l=c.useCallback(()=>r.channel?i?n.messages.some(u=>Qe(u,(t==null?void 0:t.userId)??"")):!0:null,[r.channel,i,n.messages,t==null?void 0:t.userId]);return c.useEffect(()=>{s||a(l())},[l,s]),s||!e.specialNotice?null:o.createElement(Zm,null,o.createElement(Jm,null,e.specialNotice))},eg=()=>o.createElement(tg,null,o.createElement(Qm,null),o.createElement(Um,null,o.createElement(Xm,null))),tg=h.default.div`z-index:0;border:none;width:100%;`,ng=()=>{var s;const{testerType:e}=Ge(),{channelSource:t}=oe(),n=ue(t.channel),r=!!e&&((s=t.channel)==null?void 0:s.isAIAgent);return n&&r?o.createElement(Nm,null):o.createElement(eg,null)},fo=({start:e,title:t,titleAlign:n="start",end:r})=>{const s=c.useRef(null),a=c.useRef(null),[i,l]=c.useState(0),[u,d]=c.useState(0);return c.useLayoutEffect(()=>{s.current&&l(s.current.offsetWidth),a.current&&d(a.current.offsetWidth)},[e,r]),o.createElement(rg,null,o.createElement(og,null,n==="center"&&t&&o.createElement(sg,{$sideWidth:Math.max(i,u)},o.createElement(ag,null,t)),o.createElement(ig,null,o.createElement(lg,{ref:s},e),(n==="start"||n==="end")&&t&&o.createElement(ug,{$align:n,$hasStart:!!e,$hasEnd:!!r},t),o.createElement(cg,{ref:a},r))))},rg=h.default.div`position:relative;width:100%;background-color:${({theme:e})=>e.colors.base.headerBackground};border-bottom:1px solid ${g.themedColor.textDisabled};`,og=h.default.div`position:relative;height:56px;padding:11px 12px;`,sg=h.default.div`position:absolute;left:${({$sideWidth:e})=>e}px;right:${({$sideWidth:e})=>e}px;top:0;bottom:0;display:flex;align-items:center;justify-content:center;`,ag=h.default.div`max-width:100%;overflow:hidden;`,ig=h.default.div`display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:100%;z-index:1;`,lg=h.default.div`flex-shrink:0;display:flex;align-items:center;`,cg=h.default.div`flex-shrink:0;display:flex;align-items:center;`,ug=h.default.div`flex:1;overflow:hidden;display:flex;align-items:${({$align:e})=>e==="start"?"flex-start":"flex-end"};margin-left:${({$hasStart:e})=>e?8:0}px;margin-right:${({$hasEnd:e})=>e?8:0}px;`,at=()=>nt()?24:16,dg=()=>{const{state:e}=q(),t=at(),n=()=>{e.setOpened(!1)};return o.createElement(Te,{"aria-label":"close messenger",type:"close",size:t,onClick:n})},mg=()=>{const{enableCloseConversationButton:e,dispatcher:t}=q(),{channelSource:n}=oe(),r=n.channel,s=at(),a=(r==null?void 0:r.isAIAgent)&&e,i=!hn(r);if(!a)return null;const l=async()=>{r&&await t.send(mn.CloseConversation({channelUrl:r.url}))};return o.createElement(Te,{"aria-label":"close conversation",type:"mute",size:s,disabled:i,onClick:l})},gg=()=>{const{state:e,enableExpandButton:t}=q(),n=at();return t?o.createElement(Te,{"aria-label":"expand",type:e.expanded?"collapse":"expand",size:n,onClick:()=>e.setExpanded(!e.expanded)}):null},hg=({label:e,children:t,position:n="top",disabled:r})=>r?t:o.createElement(ln,null,t,o.createElement(Eg,{$position:n},o.createElement(bg,{variant:"caption1"},e),o.createElement(pg,{$position:n}))),pg=({$position:e})=>o.createElement("svg",{style:{transform:e==="top"?"rotate(0)":"rotate(180deg)"},xmlns:"http://www.w3.org/2000/svg",width:"12",height:"6",viewBox:"0 0 12 6",fill:"none"},o.createElement("path",{d:"M6 6L0 0h12L6 6Z",fill:g.themedColor.textHighEmphasis})),fg={top:k.css`flex-direction:column;top:0;transform:translate(-50%,-100%);`,bottom:k.css`flex-direction:column-reverse;bottom:0;transform:translate(-50%,100%);`},ln=h.default.div`position:relative;`,Eg=h.default.div`display:flex;align-items:center;position:absolute;left:50%;z-index:${Pe.TOOLTIP};${({$position:e})=>fg[e]}opacity:0;transition:opacity 0.2s ease-in-out;pointer-events:none;${ln}:hover &,${ln}:focus-within &{opacity:1;}`,bg=h.default(L)`padding:6px 8px;background:${g.themedColor.textHighEmphasis};color:${g.themedColor.textHighEmphasisInverse};border-radius:4px;font-size:12px;white-space:nowrap;`,xg=()=>{const{logger:e}=q(),{stringSet:t}=W(),{channelSource:n}=oe(),r=n.channel,s=at(),a=bn("handoff-button",r),i=!hn(r)||Ve(r),l=async()=>{try{const u=await(r==null?void 0:r.markConversationAsHandoff());e.info("conversation.handleAgentHandoff: success",u)}catch(u){e.error("conversation.handleAgentHandoff: error",u)}};return a?o.createElement(hg,{label:t.HEADER_BUTTON__AGENT_HANDOFF,position:"bottom",disabled:i},o.createElement(Te,{"aria-label":"request handoff",type:"agent",size:s,disabled:i,onClick:l})):null},Cg=()=>{const{stringSet:e}=W(),{onNavigateToConversationList:t}=oe();return t?o.createElement(Te,{type:"menu",size:24,onClick:()=>t(),"aria-label":e.A11Y_OPEN_CONVERSATION_LIST}):null},Eo=({channel:e,size:t=40})=>{const{userSession:n,aiAgentInfo:r}=re(),{fallbackIcon:s,url:a}=Nr({channel:e,aiAgentInfo:r,userSession:n}),i=k.useTheme();return a?o.createElement(eo,{src:a,size:t}):o.createElement(_g,{$size:t,$bgColor:i.colors.base.primary},o.createElement(U,{type:s,size:t*.55,color:i.colors.base.primaryContrastContent}))},_g=h.default.div`width:${({$size:e})=>e}px;height:${({$size:e})=>e}px;border-radius:50%;background-color:${({$bgColor:e})=>e};display:flex;align-items:center;justify-content:center;flex-shrink:0;`,vg=()=>{var l,u;const{channelSource:e}=oe(),{aiAgentInfo:t,userSession:n}=re(),{config:r}=te(),s=e.channel,a=Nr({channel:s,userSession:n,aiAgentInfo:t}),i=(u=(l=r==null?void 0:r.conversation)==null?void 0:l.header)==null?void 0:u.avatarEnabled;return o.createElement(yg,null,i&&o.createElement(Eo,{channel:s,size:34}),o.createElement(Sg,{variant:"h2",color:g.themedColor.textHighEmphasis},a.title))},yg=h.default.div`display:flex;flex-direction:row;align-items:center;gap:6px;overflow:hidden;`,Sg=h.default(L)`text-overflow:ellipsis;overflow:hidden;white-space:nowrap;padding:2px 0;`,Tg=e=>{const{components:t}=Fe.useContext();return o.createElement(fo,{start:o.createElement(t.StartArea,null),title:o.createElement(t.TitleArea,null),titleAlign:e.titleAlign,end:o.createElement(t.EndArea,null)})},Ag=()=>{const{components:e}=Fe.useContext();return o.createElement(e.MenuButton,null)},wg=()=>{const{components:e}=Fe.useContext();return o.createElement(e.Title,null)},Ig=()=>{const{components:e}=Fe.useContext();return o.createElement(Mg,null,o.createElement(e.HandoffButton,null),o.createElement(e.ConversationCloseButton,null),o.createElement(e.ExpandButton,null),o.createElement(e.CloseButton,null))},Fe=Ee({template:Tg,components:{StartArea:Ag,TitleArea:wg,EndArea:Ig,MenuButton:Cg,Title:vg,HandoffButton:xg,ConversationCloseButton:mg,ExpandButton:gg,CloseButton:dg}}),kg=()=>{const{isActionbookTester:e}=Ge(),{Template:t}=Fe.useContext();return e?null:o.createElement(t,{titleAlign:"start"})},Mg=h.default.div`display:flex;gap:10px;align-items:center;justify-content:center;`,bo=({children:e,onNavigateToConversationList:t,channelUrl:n,onClearChannelUrl:r,shouldMarkAsRead:s,style:a,closedChannelUrl:i,onClearClosedChannelUrl:l})=>{const{Template:u}=Nt.useContext();return o.createElement(Kr,{onNavigateToConversationList:t,channelUrl:n??i,onClearChannelUrl:r??l,shouldMarkAsRead:s},o.createElement(rn,null,o.createElement(rn.Consumer,null,d=>o.createElement(o.Fragment,null,o.createElement(Lg,{style:a,...d},o.createElement(u,null)),e))))},$g=()=>{const{components:e}=Nt.useContext();return o.createElement(o.Fragment,null,o.createElement(e.Header,null),o.createElement(e.Body,null),o.createElement(e.Footer,null))},Nt=Ee({template:$g,components:{Header:kg,Body:Dm,Footer:ng}}),Lg=h.default.div`height:100%;width:100%;display:flex;flex-direction:column;flex:1;background-color:${({theme:e})=>e.colors.base.background};`,{Provider:Og,Context:Rg,useContext:wn}=ee("ConversationList");function xo({conversationListLimit:e,conversationListFilter:t,onOpenConversationView:n=ye,children:r}){return o.createElement(va,{conversationListLimit:e,conversationListFilter:t},s=>o.createElement(Og,{value:{...s,onOpenConversationView:n}},r))}const Dg=({channel:e})=>o.createElement(Eo,{channel:e}),cn=99,Ng=e=>{var u;const{channel:t,onClick:n}=e,{stringSet:r,format:s}=W(),a=Ls(t,{formatMultipleFilesCount:r.CONVERSATION_LIST__MULTIPLE_FILES_COUNT}),i=Os(t,s,{justNow:r.DATE_FORMAT__JUST_NOW,minutesAgo:r.DATE_FORMAT__MINUTES_AGO,hoursAgo:r.DATE_FORMAT__HOURS_AGO,dateShortFormat:r.DATE_FORMAT__DATE_SHORT}),l=t.unreadMessageCount;return o.createElement(Pg,{role:"button",onClick:()=>n==null?void 0:n()},o.createElement(Fg,null,o.createElement(Dg,{...e})),o.createElement(Bg,null,o.createElement(Ug,null,(u=t.lastMessage)!=null&&u.isFileMessage()&&(!t.lastMessage.message||t.lastMessage.name===t.lastMessage.message)?o.createElement(Xr,{variant:"subtitle1",color:g.themedColor.textHighEmphasis},a):o.createElement(L,{variant:"subtitle1",color:g.themedColor.textHighEmphasis,maxTextLines:1},a),o.createElement(Hg,null,ue(t)&&o.createElement(o.Fragment,null,o.createElement(L,{variant:"caption1",color:g.themedColor.textMidEmphasis,maxTextLines:1},r.CONVERSATION_LIST__ENDED),o.createElement(zg,null)),o.createElement(L,{variant:"caption2",color:g.themedColor.textLowEmphasis,maxTextLines:1},i))),l>0&&o.createElement(Vg,{$count:l},o.createElement(L,{variant:"caption3",color:g.themedColor.textHighEmphasisInverse},l<=cn?l:`${cn}+`))))},In=Ee({template:Ng,components:{}}),Pg=h.default.div`display:flex;flex-shrink:0;flex-direction:row;align-items:center;position:relative;width:100%;height:72px;box-sizing:border-box;gap:16px;cursor:pointer;`,Fg=h.default.div`display:flex;align-items:center;justify-content:center;padding-inline-start:16px;`,Bg=h.default.div`display:flex;flex-direction:row;align-items:center;flex:1;min-width:0;padding-inline-end:16px;height:100%;gap:8px;border-bottom:1px solid ${g.themedColor.textDisabled};`,Ug=h.default.div`display:flex;flex-direction:column;justify-content:center;flex:1;min-width:0;gap:4px;word-break:break-word;overflow-wrap:break-word;`,Hg=h.default.div`display:flex;align-items:center;gap:6px;`,zg=h.default.div`width:2px;height:2px;border-radius:1px;background-color:${g.themedColor.textLowEmphasis};`,Vg=h.default.div`display:flex;align-items:center;justify-content:center;height:20px;padding:4px;border-radius:10px;background-color:${g.themedColor.error};${({$count:e})=>e<=cn&&k.css`
|
|
307
|
-
width: 20px;
|
|
308
|
-
`}
|
|
309
|
-
`,Gg=({items:e,renderItem:t,onEndReached:n})=>{const r=s=>{const a=s.target;a.scrollHeight-a.scrollTop===a.clientHeight&&(n==null||n())};return o.createElement(Wg,{onScroll:s=>r(s)},e.map((s,a)=>t(s,a)))},Wg=h.default.div`width:100%;height:100%;display:flex;flex-direction:column;flex:1;overflow:auto;overscroll-behavior:contain;`,qg=()=>{const{stringSet:e}=W(),{listSource:t,onOpenConversationView:n}=wn(),{Template:r}=In.useContext();return t.initialized?t.channels.length===0?o.createElement(Xe,{type:"noChannels",label:e.CONVERSATION_LIST__NO_CONVERSATIONS}):o.createElement(Gg,{items:t.channels,renderItem:s=>{var a,i,l;return o.createElement(r,{key:s.url,channel:s,onClick:()=>n(s.url,ue(s)?"closed":"open"),channelUrl:s.url,title:(i=(a=s.conversation)==null?void 0:a.topics)==null?void 0:i.join(", "),lastMessageTimestamp:(l=s.lastMessage)==null?void 0:l.createdAt})},onEndReached:()=>{t.loadMore()}}):o.createElement(Xe,{type:"loading"})},jg=()=>{const{stringSet:e}=W(),{language:t,countryCode:n,context:r}=q(),{aiAgentInfo:s,refreshActiveChannel:a,createConversation:i,setActiveChannel:l}=re(),{onOpenConversationView:u}=wn();return o.createElement(Kg,{role:"button",onClick:async()=>{if(s.isMultipleActiveConversationsEnabled){const d=await i({aiAgentId:s.userId,language:t,country:n,context:r});l({url:d,status:"open"}),u(d,"open")}else{const d=await a();u(d,"open")}}},o.createElement(Yg,{variant:"h1"},e.TALK_TO_AGENT))},Kg=h.default.div`background-color:${({theme:e})=>e.colors.base.primary};display:flex;align-items:center;justify-content:center;padding:16px;cursor:pointer;`,Yg=h.default(L)`color:${({theme:e})=>e.colors.base.primaryContrastContent};overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`,Xg=()=>{const{state:e}=q(),t=at(),n=()=>{e.setOpened(!1)};return o.createElement(Te,{"aria-label":"close messenger",type:"close",size:t,onClick:n})},Zg=()=>{const{stringSet:e}=W();return o.createElement(Jg,{variant:"h2",color:g.themedColor.textHighEmphasis},e.CONVERSATION_LIST__HEADER_TITLE)},Jg=h.default(L)`padding:0 4px;width:100%;box-sizing:border-box;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;`,Qg=e=>{const{components:t}=We.useContext();return o.createElement(fo,{start:o.createElement(t.StartArea,null),title:o.createElement(t.TitleArea,null),titleAlign:e.titleAlign,end:o.createElement(t.EndArea,null)})},eh=()=>null,th=()=>{const{components:e}=We.useContext();return o.createElement(e.Title,null)},nh=()=>{const{components:e}=We.useContext();return o.createElement(e.CloseButton,null)},We=Ee({template:Qg,components:{StartArea:eh,TitleArea:th,EndArea:nh,Title:Zg,CloseButton:Xg}}),rh=()=>{const{Template:e}=We.useContext();return o.createElement(e,{titleAlign:"start"})},Co=({conversationListLimit:e,conversationListFilter:t,children:n,onOpenConversationView:r,style:s})=>{const{Template:a}=Pt.useContext();return o.createElement(xo,{conversationListLimit:e,conversationListFilter:t,onOpenConversationView:r},o.createElement(sh,{style:s},o.createElement(a,null)),n)},oh=()=>{const{components:e}=Pt.useContext();return o.createElement(o.Fragment,null,o.createElement(e.Header,null),o.createElement(e.Body,null),o.createElement(e.Footer,null))},Pt=Ee({template:oh,components:{Header:rh,Body:qg,Footer:jg}}),sh=h.default.div`height:100%;width:100%;display:flex;flex-direction:column;flex:1;background-color:${({theme:e})=>e.colors.base.background};`,ah=k.css`:where(#${de.ENTRY}) :not(code *){font-family:'Roboto',sans-serif;box-sizing:border-box;}`,ih=[ah,ii,li],lh=(e,...t)=>k.createGlobalStyle(e,...ih,...t),ch=lh``,uh=$s(Nt,Oe,st,Lt,Dt,Pt,Fe,In,We,Rt);function _o({appearance:e,rootElement:t,logger:n,language:r,stringSet:s,children:a,messageTemplate:i,theme:l}){return gi(Za,t),o.createElement(k.StyleSheetManager,{target:t},o.createElement(ui,{rootElement:t,logger:n,appearance:e,theme:l},o.createElement(Ta,{internalVariables:i==null?void 0:i.__internalVariables},o.createElement(ai,{stringSet:s,logger:n,language:r},o.createElement(uh,null,a,o.createElement(ch,null))))))}const kn=c.forwardRef(function({rootElement:t=document.body,logLevel:n=K.LogLevel.WARN,language:r=navigator.language,userSessionInfo:s,children:a,chatParams:i,...l},u){var d,m;return Ye.level!==n&&(Ye.level=n),mi("https://fonts.googleapis.com/css2?family=Roboto&display=swap",t),o.createElement("div",{id:de.ENTRY,style:{width:"fit-content",height:"fit-content",...l.entryStyle}},o.createElement(_o,{logger:Ye,rootElement:t,appearance:(d=l.agentPreviewConfigs)==null?void 0:d.appearance,stringSet:l.stringSet,language:r,messageTemplate:l.messageTemplate,theme:l.theme},o.createElement(pi,{rootElement:t,keyValueStorage:Ur(),networkStateAdapter:Br(),language:r,logger:Ye,dispatcher:vo,chatParams:{...i,...l.customApiHost&&{customApiHost:l.customApiHost},...l.customWebSocketHost&&{customWebSocketHost:l.customWebSocketHost}},chatSDK:l.customChatSDK,messengerVersion:Fr,...l},o.createElement(ki,{ref:u,userSessionInfo:s,forceCreateChannel:(m=l.agentPreviewConfigs)==null?void 0:m.forceCreateChannel},o.createElement($d,{...l._UNSAFE_INTERNAL_dashboardTester},a,o.createElement("div",{id:de.MODAL_ROOT,dir:l.dir}))))))}),Ye=new wr(K.LogLevel.WARN),vo=new Ar(Ye),{Provider:dh,useContext:Mn}=ee("PageChildren"),yo=({children:e})=>{const[t,n]=c.useState(null),[r,s]=c.useState(null);return o.createElement(dh,{value:{conversationChildren:t,setConversationChildren:n,conversationListChildren:r,setConversationListChildren:s}},e)},So=({children:e,isOpened:t})=>{const{dir:n,rootElement:r}=q(),s=Ne(r,!0);return c.useEffect(()=>{const a="sb-agent-block-scroll";return t?s.body.classList.add(a):s.body.classList.remove(a),()=>{s.body.classList.remove(a)}},[s,t]),o.createElement(mh,{dir:n,$visible:t},e)},mh=h.default.div`width:100%;height:100%;position:fixed;top:0;left:0;z-index:${Pe.WINDOW};visibility:${({$visible:e})=>e?"visible":"hidden"};`,gh=48,hh=2/3;function To({className:e,isOpened:t,onClick:n,type:r,imageUrl:s,dir:a,animated:i=!0,backgroundColor:l,size:u=gh}){const d=en(l),m=Math.round(u*hh);return o.createElement(Eh,{dir:a,id:de.LAUNCHER,className:e,"aria-label":"Sendbird AIAgent Launcher",onClick:n,$animated:i,$backgroundColor:l,$size:u},o.createElement(bh,{$isOpened:t,$animated:i,$fillColor:d,$iconSize:m},o.createElement(xr.Open,{url:s,isDefaultIcon:r==="default_icon",size:m})),o.createElement(xh,{$isOpened:t,$animated:i,$fillColor:d,$iconSize:m},o.createElement(xr.Close,{size:m})))}const ph=k.css`&:hover{transition:transform 250ms cubic-bezier(0.33,0,0,1);transform:scale(1.1);}&:active{transform:scale(0.8);}`,fh=k.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===Je.WHITE?"grayscale(100%) brightness(2000%)":"grayscale(100%) invert(100%) saturate(0%) brightness(0%) contrast(1000%)"};}}`,Ao=k.css`svg{width:${({$iconSize:e})=>e}px;height:${({$iconSize:e})=>e}px;${({$fillColor:e})=>k.css`
|
|
310
|
-
ellipse,
|
|
311
|
-
path {
|
|
312
|
-
fill: ${e};
|
|
313
|
-
}
|
|
314
|
-
[class*='fill'] {
|
|
315
|
-
fill: ${e};
|
|
316
|
-
}
|
|
317
|
-
`}
|
|
318
|
-
}
|
|
319
|
-
`,Eh=h.default.button`position:relative;padding:0;width:${({$size:e})=>e}px;height:${({$size:e})=>e}px;background:${({$backgroundColor:e})=>e};border-radius:50%;transition:all 0.3s cubic-bezier(0.31,-0.105,0.43,1.4);border:none;display:flex;justify-content:center;align-items:center;box-shadow:0 16px 24px 2px rgba(33,33,33,0.12),0 6px 30px 5px rgba(33,33,33,0.08),0 6px 10px -5px rgba(33,33,33,0.04);${({$animated:e})=>e&&ph}`,wo=h.default.span`position:absolute;width:100%;height:100%;border-radius:50%;overflow:hidden;transition:transform 0.16s linear,opacity 0.08s linear,scale 0.16s linear;user-select:none;display:flex;justify-content:center;align-items:center;`,bh=h.default(wo)`opacity:${({$isOpened:e})=>e?0:1};transform:${({$animated:e,$isOpened:t})=>e&&(t?"rotate(-90deg) scale(0)":"rotate(0deg)")};${fh}${Ao}`,xh=h.default(wo)`scale:${({$isOpened:e})=>e?1:0};transform:${({$animated:e,$isOpened:t})=>e&&(t?"rotate(0deg)":"rotate(-90deg)")};${Ao}`,xr={Open:e=>e.url?o.createElement("img",{src:e.url,alt:"launcher-img","data-default-icon":e.isDefaultIcon}):o.createElement(U,{size:e.size,type:"delight"}),Close:({size:e})=>o.createElement(U,{size:e,type:"chevron-down"})};function Io({className:e,size:t}){const{colors:n}=k.useTheme(),{dir:r,state:s}=q(),{launcherInfo:a,statsTrackers:i}=re();return c.useLayoutEffect(()=>{i.initialRender.setPresentMethod("launcher_toggle")},[i]),_h(),o.createElement(To,{dir:r,className:e,isOpened:s.opened,onClick:()=>s.setOpened(!s.opened),type:a.type,imageUrl:a.imageUrl,backgroundColor:n.base.primary,size:t})}const Ch=1e3*60;function _h(){const{chatSDK:e,state:t,logger:n,enableAutoDisconnectInLauncher:r}=q(),s=c.useRef(null);c.useEffect(()=>{if(!r)return;function a(){s.current&&(clearTimeout(s.current),s.current=null)}function i(){e.connectionState===K.ConnectionState.CLOSED&&(e.reconnect(),n.debug("useSDKInactivityTimeout: reconnected")),a(),n.debug("useSDKInactivityTimeout: clear disconnect schedule")}function l(){a(),s.current=setTimeout(async()=>{await e.disconnectWebSocket(),n.debug("useSDKInactivityTimeout: disconnected")},Ch)}t.opened?i():(l(),n.debug("useSDKInactivityTimeout: schedule disconnect"))},[r,e,t.opened])}const ko=c.createContext(null);function Mo(){const e=c.useContext(ko);if(!e)throw new Error("useNavigator() must be used within <Navigator />");return e}function $o({children:e}){const t=Mo();return typeof e=="function"?e(t):o.createElement(o.Fragment,null,e)}const vh=k.keyframes`0%{transform:translateY(40px);opacity:0;}100%{transform:translateY(0px);opacity:1;}`,yh=k.keyframes`0%{transform:translateY(0px);opacity:1;}100%{transform:translateY(40px);opacity:0;}`,Sh=k.css`animation-name:${vh};animation-duration:0.3s;animation-fill-mode:forwards;`,Th=k.css``,Ah=k.css`animation-name:${yh};animation-duration:0.3s;animation-fill-mode:forwards;`,wh=k.css`visibility:hidden;`,Ih=h.default.div`position:absolute;top:0;left:0;width:100%;height:100%;${({$transitionState:e})=>{switch(e){case"entering":return Sh;case"entered":return Th;case"exiting":return Ah;case"exited":return wh;default:return""}}}${({$active:e})=>e?k.css`
|
|
320
|
-
z-index: 999;
|
|
321
|
-
`:k.css`z-index:1;pointer-events:none;`}
|
|
322
|
-
`;function Et({initialId:e,children:t}){const[n,r]=c.useState([e]),s=n[n.length-1],a=c.useCallback((p,x)=>{r(C=>[...C,p]),f(C=>({...C,[p]:!0})),x!=null&&x.reset&&b(C=>({...C,[p]:(C[p]||0)+1})),v(C=>({...C,[p]:"entering"})),setTimeout(()=>{v(C=>({...C,[p]:"entered"}))},300)},[]),i=c.useCallback(()=>{r(p=>{if(p.length<=1)return p;const x=p[p.length-1];return v(C=>({...C,[x]:"exiting"})),setTimeout(()=>{v(C=>({...C,[x]:"exited"})),r(C=>C.slice(0,-1))},300),p})},[]),l=c.useMemo(()=>({navigation:{navigate:a,pop:i},activeScreenId:s}),[a,i,s]),u=c.useMemo(()=>c.Children.toArray(t).filter(p=>p.type===$o),[t]),d=c.useMemo(()=>{const p={};return u.forEach(x=>{const{id:C,lazy:y,children:T}=x.props;p[C]={lazy:y,element:typeof T=="function"?T(l):T}}),p},[u,l]),[m,f]=c.useState(()=>{const p={};return Object.entries(d).forEach(([x,{lazy:C}])=>{C===!1&&(p[x]=!0)}),p[e]=!0,p}),[E,v]=c.useState(()=>{const p={};return Object.keys(d).forEach(x=>{x===e?p[x]="entered":p[x]="exited"}),p}),[_,b]=c.useState({});return o.createElement(ko.Provider,{value:l},o.createElement(kh,null,Object.keys(d).map(p=>{var T;if(!m[p])return null;const x=E[p]||"exited",C=p===s,y=`${p}-${_[p]||0}`;return o.createElement(Ih,{key:y,$transitionState:x,$active:C},(T=d[p])==null?void 0:T.element)})))}const kh=h.default.div`position:relative;width:100%;height:100%;`;Et.Screen=$o;const _e={conv:"conv",convList:"conv-list"},Lo=({isOpened:e,entryPoint:t,selectedChannelUrl:n,setSelectedChannelUrl:r})=>{const{conversationChildren:s,conversationListChildren:a}=Mn(),i=(()=>{switch(t){case"Conversation":return _e.conv;case"ConversationList":return _e.convList;default:return _e.conv}})(),l=o.createElement(o.Fragment,null,o.createElement(Mh,{onOpenConversationView:r}));return o.createElement(Et,{initialId:i},o.createElement(Et.Screen,{id:_e.conv},({navigation:u,activeScreenId:d})=>o.createElement(bo,{key:n,channelUrl:n,onClearChannelUrl:()=>r(void 0),onNavigateToConversationList:()=>u.navigate(_e.convList),shouldMarkAsRead:e&&d===_e.conv},l,s)),o.createElement(Et.Screen,{id:_e.convList,lazy:!0},({navigation:u})=>o.createElement(Co,{onOpenConversationView:d=>{r(d),u.navigate(_e.conv)}},l,a)))},Mh=({onOpenConversationView:e})=>{const{registerOnJoinedProactiveConversation:t}=re(),{navigation:n}=Mo();return t(({channel:r})=>{e(r.url),n.navigate(_e.conv)}),null};function $h({isExpanded:e,isOpened:t,children:n,launcher:r}){const{dir:s}=q();return o.createElement(Lh,null,o.createElement(Oh,{dir:s,id:de.WINDOW,$isExpanded:e,$isOpened:t},n),r)}const Lh=h.default.div`display:flex;flex-direction:column;gap:8px;align-items:flex-end;`,Oh=h.default.div`background:${({theme:e})=>e.colors.base.background};display:flex;overscroll-behavior:none;-webkit-overflow-scrolling:auto;height:640px;min-height:80px;width:400px;max-width:80vw;max-height:80vh;box-shadow:0px 16px 24px 2px rgba(33,33,33,0.12),0px 6px 30px 5px rgba(33,33,33,0.08),0px 6px 10px -5px rgba(33,33,33,0.04);border-radius:16px;overflow:hidden;transition:width 200ms ease 0s,height 200ms ease 0s,max-height 200ms ease 0s,transform 150ms cubic-bezier(0,1.2,1,1) 0s,opacity 83ms ease-out 0s;transform:scale(0.15);opacity:0;transform-origin:right bottom;[dir='rtl'] &:not([dir='ltr']),&[dir='rtl']{transform-origin:left bottom;}${({$isOpened:e})=>e&&Dh};${({$isExpanded:e})=>e&&Rh};`,Rh=k.css`width:743px;height:723px;`,Dh=k.css`z-index:${Pe.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;`,Nh=c.forwardRef(function({children:e,initialChannelUrl:t,...n},r){const s=nt(),[a,i]=c.useState(t),l=s?So:$h;return o.createElement(kn,{enableExpandButton:!s,ref:r,...n},o.createElement(Vr,null,({state:u})=>o.createElement(yo,null,o.createElement(l,{isExpanded:u.expanded,isOpened:u.opened,launcher:o.createElement(Io,null)},o.createElement(Lo,{isOpened:u.opened,entryPoint:n.entryPoint,selectedChannelUrl:a,setSelectedChannelUrl:i})),e)))}),{Provider:Ph,useContext:$n}=ee("FixedMessengerStyle");function Oo(e,t,n,r=0){const{top:s,bottom:a,start:i,end:l}=n;let u="",d="";switch(e){case"start":d=`inset-inline-start: ${pe(i)}`;break;case"end":d=`inset-inline-end: ${pe(l)}`;break}switch(t){case"top":u=`top: calc(${pe(s)} + ${r}px)`;break;case"bottom":u=`bottom: calc(${pe(a)} + ${r}px)`;break}return k.css`${u};${d};`}function Fh(e){const{horizontal:t,vertical:n,margin:r,launcherSize:s}=$n();return o.createElement(Bh,{...e,size:s,$horizontal:t,$vertical:n,$margin:r})}const Bh=h.default(Io)`position:fixed;z-index:${Pe.LAUNCHER};${({$horizontal:e,$vertical:t,$margin:n})=>Oo(e,t,n)};`;function Uh({isExpanded:e,isOpened:t,children:n}){const{dir:r}=q(),{horizontal:s,vertical:a,margin:i,launcherSize:l}=$n();return o.createElement(Hh,{dir:r,id:de.WINDOW,$isExpanded:e,$isOpened:t,$horizontal:s,$vertical:a,$margin:i,$launcherSize:l},n)}const Hh=h.default.div`background:${({theme:e})=>e.colors.base.background};display:flex;overscroll-behavior:none;-webkit-overflow-scrolling:auto;position:fixed;${({$horizontal:e,$vertical:t,$margin:n,$launcherSize:r})=>Oo(e,t,n,r+12)};height:640px;min-height:80px;width:400px;max-width:80vw;max-height:80vh;box-shadow:0px 16px 24px 2px rgba(33,33,33,0.12),0px 6px 30px 5px rgba(33,33,33,0.08),0px 6px 10px -5px rgba(33,33,33,0.04);border-radius:16px;overflow:hidden;transition:width 200ms ease 0s,height 200ms ease 0s,max-height 200ms ease 0s,transform 150ms cubic-bezier(0,1.2,1,1) 0s,opacity 83ms ease-out 0s;transform:scale(0.15);opacity:0;transform-origin:${({$horizontal:e,$vertical:t})=>`${e==="start"?"left":"right"} ${t}`};
|
|
323
|
-
[dir='rtl'] &:not([dir='ltr']),
|
|
324
|
-
&[dir='rtl'] {
|
|
325
|
-
transform-origin: ${({$horizontal:e,$vertical:t})=>`${e==="start"?"right":"left"} ${t}`};
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
${({$isOpened:e})=>e&&Vh};
|
|
329
|
-
${({$isExpanded:e})=>e&&zh};
|
|
330
|
-
`,zh=k.css`width:743px;height:723px;`,Vh=k.css`z-index:${Pe.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;`,Ro={top:24,bottom:24,start:24,end:24},Gh=c.forwardRef(function({children:e,initialChannelUrl:t,...n},r){const[s,a]=c.useState(t),[i,l]=c.useState("end-bottom"),[u,d]=c.useState(Ro),[m,f]=c.useState(48),E=nt(),v=E?So:Uh,{horizontal:_,vertical:b}=c.useMemo(()=>{const[p,x]=i.split("-");return{horizontal:p==="start"?"start":"end",vertical:x==="top"?"top":"bottom"}},[i]);return o.createElement(kn,{enableExpandButton:!E,ref:r,...n},o.createElement(Vr,null,({state:p})=>o.createElement(Ph,{value:{horizontal:_,vertical:b,margin:u,launcherSize:m,setPosition:l,setMargin:d,setLauncherSize:f}},o.createElement(yo,null,o.createElement(v,{isExpanded:p.expanded,isOpened:p.opened},o.createElement(Lo,{isOpened:p.opened,entryPoint:n.entryPoint,selectedChannelUrl:s,setSelectedChannelUrl:a})),o.createElement(Fh,null),e))))}),Wh=e=>{var s,a,i,l;const{setPosition:t,setMargin:n,setLauncherSize:r}=$n();return c.useLayoutEffect(()=>{e.position&&t(e.position),e.margin&&n({...Ro,...e.margin}),e.launcherSize&&r(e.launcherSize)},[e.position,(s=e.margin)==null?void 0:s.top,(a=e.margin)==null?void 0:a.bottom,(i=e.margin)==null?void 0:i.start,(l=e.margin)==null?void 0:l.end,e.launcherSize]),null},qh=({children:e})=>{const{setConversationChildren:t}=Mn();return c.useLayoutEffect(()=>(t(e),()=>t(null)),[e]),null},jh=({children:e})=>{const{setConversationListChildren:t}=Mn();return c.useLayoutEffect(()=>(t(e),()=>t(null)),[e]),null},Kh=Object.assign(Gh,{Style:Wh,ConversationChildren:qh,ConversationListChildren:jh}),Yh=e=>{const{refreshActiveChannel:t}=re(),[n,r]=c.useState(!1),s=c.useRef(null),a=c.useRef(null);return c.useEffect(()=>{n&&t().then(()=>{var i;(i=s.current)==null||i.call(s),r(!1)}).catch(i=>{var l;(l=a.current)==null||l.call(a,i),r(!1)})},[n]),c.useCallback(()=>new Promise((i,l)=>{s.current=i,a.current=l,e().then(()=>r(!0)).catch(l)}),[e])};Ms.set(K.SendbirdPlatform.JS,{deviceOSPlatform:Sr()?K.DeviceOsPlatform.MOBILE_WEB:K.DeviceOsPlatform.WEB,messengerVersion:Fr,keyValueStorage:Ur(),networkStateAdapter:Br()});exports.ANCHOR_REL=xn;exports.AgentProviderContainer=kn;exports.AgentUIProviderContainer=_o;exports.AnonymousSessionInfo=Jt;exports.CSATType=he;exports.Conversation=bo;exports.ConversationContext=Gi;exports.ConversationContextProvider=Kr;exports.ConversationHeaderLayout=Fe;exports.ConversationLayout=Nt;exports.ConversationList=Co;exports.ConversationListContext=Rg;exports.ConversationListContextProvider=xo;exports.ConversationListHeaderLayout=We;exports.ConversationListItemLayout=In;exports.ConversationListLayout=Pt;exports.DefaultMessenger=Nh;exports.DispatcherCommands=mn;exports.FixedMessenger=Kh;exports.IncomingMessageLayout=Oe;exports.LauncherBase=To;exports.LogLevel=gn;exports.ManualSessionInfo=Ir;exports.MessageListUILayout=Dt;exports.MessageLogs=mo;exports.OutgoingMessageLayout=st;exports.PlaceholderLayout=Rt;exports.SystemMessageLayout=Lt;exports.cssVars=g;exports.escapeMarkdownSyntax=ns;exports.mapCommonStringsToReactFormat=Hr;exports.messengerDispatcher=vo;exports.useConversationContext=oe;exports.useConversationListContext=wn;exports.useLocalizationContext=W;exports.useMessengerContext=q;exports.useMessengerSessionContext=re;exports.useRefreshActiveChannel=Yh;
|