deskcord 0.4.0 โ†’ 0.4.1

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.
@@ -96,8 +96,8 @@
96
96
  [zustand devtools middleware] Unsupported __setState action format.
97
97
  When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
98
98
  and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }
99
- `);const v=x.state[a];if(v==null)return;JSON.stringify(i.getState())!==JSON.stringify(v)&&y(v);return}i.dispatchFromDevtools&&typeof i.dispatch=="function"&&i.dispatch(x)});case"DISPATCH":switch(w.payload.type){case"RESET":return y(b),a===void 0?c==null?void 0:c.init(i.getState()):c==null?void 0:c.init(mi(l.name));case"COMMIT":if(a===void 0){c==null||c.init(i.getState());return}return c==null?void 0:c.init(mi(l.name));case"ROLLBACK":return Ks(w.state,x=>{if(a===void 0){y(x),c==null||c.init(i.getState());return}y(x[a]),c==null||c.init(mi(l.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return Ks(w.state,x=>{if(a===void 0){y(x);return}JSON.stringify(i.getState())!==JSON.stringify(x[a])&&y(x[a])});case"IMPORT_STATE":{const{nextLiftedState:x}=w.payload,v=(P=x.computedStates.slice(-1)[0])==null?void 0:P.state;if(!v)return;y(a===void 0?v:v[a]),c==null||c.send(null,x);return}case"PAUSE_RECORDING":return m=!m}return}}),b},Ks=(t,e)=>{let n;try{n=JSON.parse(t)}catch(r){console.error("[zustand devtools middleware] Could not parse the received json",r)}n!==void 0&&e(n)};function Eb(t,e){let n;try{n=t()}catch{return}return{getItem:i=>{var o;const s=l=>l===null?null:JSON.parse(l,void 0),a=(o=n.getItem(i))!=null?o:null;return a instanceof Promise?a.then(s):s(a)},setItem:(i,o)=>n.setItem(i,JSON.stringify(o,void 0)),removeItem:i=>n.removeItem(i)}}const br=t=>e=>{try{const n=t(e);return n instanceof Promise?n:{then(r){return br(r)(n)},catch(r){return this}}}catch(n){return{then(r){return this},catch(r){return br(r)(n)}}}},Ab=(t,e)=>(n,r,i)=>{let o={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:P=>P,version:0,merge:(P,x)=>({...x,...P}),...e},s=!1;const a=new Set,l=new Set;let f;try{f=o.getStorage()}catch{}if(!f)return t((...P)=>{console.warn(`[zustand persist middleware] Unable to update item '${o.name}', the given storage is currently unavailable.`),n(...P)},r,i);const c=br(o.serialize),h=()=>{const P=o.partialize({...r()});let x;const v=c({state:P,version:o.version}).then(E=>f.setItem(o.name,E)).catch(E=>{x=E});if(x)throw x;return v},m=i.setState;i.setState=(P,x)=>{m(P,x),h()};const y=t((...P)=>{n(...P),h()},r,i);let b;const w=()=>{var P;if(!f)return;s=!1,a.forEach(v=>v(r()));const x=((P=o.onRehydrateStorage)==null?void 0:P.call(o,r()))||void 0;return br(f.getItem.bind(f))(o.name).then(v=>{if(v)return o.deserialize(v)}).then(v=>{if(v)if(typeof v.version=="number"&&v.version!==o.version){if(o.migrate)return o.migrate(v.state,v.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return v.state}).then(v=>{var E;return b=o.merge(v,(E=r())!=null?E:y),n(b,!0),h()}).then(()=>{x==null||x(b,void 0),s=!0,l.forEach(v=>v(b))}).catch(v=>{x==null||x(void 0,v)})};return i.persist={setOptions:P=>{o={...o,...P},P.getStorage&&(f=P.getStorage())},clearStorage:()=>{f==null||f.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>w(),hasHydrated:()=>s,onHydrate:P=>(a.add(P),()=>{a.delete(P)}),onFinishHydration:P=>(l.add(P),()=>{l.delete(P)})},w(),b||y},Tb=(t,e)=>(n,r,i)=>{let o={storage:Eb(()=>localStorage),partialize:w=>w,version:0,merge:(w,P)=>({...P,...w}),...e},s=!1;const a=new Set,l=new Set;let f=o.storage;if(!f)return t((...w)=>{console.warn(`[zustand persist middleware] Unable to update item '${o.name}', the given storage is currently unavailable.`),n(...w)},r,i);const c=()=>{const w=o.partialize({...r()});return f.setItem(o.name,{state:w,version:o.version})},h=i.setState;i.setState=(w,P)=>{h(w,P),c()};const m=t((...w)=>{n(...w),c()},r,i);i.getInitialState=()=>m;let y;const b=()=>{var w,P;if(!f)return;s=!1,a.forEach(v=>{var E;return v((E=r())!=null?E:m)});const x=((P=o.onRehydrateStorage)==null?void 0:P.call(o,(w=r())!=null?w:m))||void 0;return br(f.getItem.bind(f))(o.name).then(v=>{if(v)if(typeof v.version=="number"&&v.version!==o.version){if(o.migrate)return[!0,o.migrate(v.state,v.version)];console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,v.state];return[!1,void 0]}).then(v=>{var E;const[N,O]=v;if(y=o.merge(O,(E=r())!=null?E:m),n(y,!0),N)return c()}).then(()=>{x==null||x(y,void 0),y=r(),s=!0,l.forEach(v=>v(y))}).catch(v=>{x==null||x(void 0,v)})};return i.persist={setOptions:w=>{o={...o,...w},w.storage&&(f=w.storage)},clearStorage:()=>{f==null||f.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>b(),hasHydrated:()=>s,onHydrate:w=>(a.add(w),()=>{a.delete(w)}),onFinishHydration:w=>(l.add(w),()=>{l.delete(w)})},o.skipHydration||b(),y||m},Pb=(t,e)=>"getStorage"in e||"serialize"in e||"deserialize"in e?((pi?"production":void 0)!=="production"&&console.warn("[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead."),Ab(t,e)):Tb(t,e);function yi(t){const e=t.content.slice(0,50);return t.support?`${t.date}-${t.authorName}-${e}`:`${t.date}-customer-${e}`}function Md(t,e){const n=new Map;return t.forEach(r=>{const i=yi(r);n.set(i,r)}),e.forEach(r=>{const i=yi(r);n.set(i,r)}),Array.from(n.values()).sort((r,i)=>r.date-i.date)}function kb(t,e){const n=yi(e);return t.some(r=>yi(r)===n)}const Dd=460,Cb=750,Ob="https://api.staging.deskcord.chat";function Ib(){var i;const t=(i=window.deskcord)==null?void 0:i.settings,e=window.deskcordSettings,n=(t==null?void 0:t.app_id)??(e==null?void 0:e.app_id),r=(t==null?void 0:t.api)??(e==null?void 0:e.api)??Ob;if(!n)throw new Error("Cannot initialize discord chat. Please check your installation and embed.");return{app_id:n,api:r}}const le=Ib();function ne(...t){}async function Rb(t){const e=new Headers;e.append("Content-Type","application/json"),e.append("Authorization",`Bearer ${t}`);try{const n=await fetch(`${le.api}/conversations/unread-count`,{method:"GET",headers:e});return n.ok?(await n.json()).unreadCount:(ne(`Failed to fetch unread count: ${n.status}`),null)}catch{return null}}async function Nb(t,e){const n=new Headers;n.append("Content-Type","application/json"),n.append("Authorization",`Bearer ${t}`);try{const r=await fetch(`${le.api}/conversations/mark-read`,{method:"POST",headers:n,body:JSON.stringify({timestamp:e})});return r.ok?(await r.json()).success:(ne(`Failed to mark as read: ${r.status}`),!1)}catch{return!1}}const Bd="deskcord_last_read",Fd="deskcord_unread_count",Mb=()=>{try{const t=localStorage.getItem(Bd);if(!t)return null;const e=parseInt(t,10);return isNaN(e)?null:e}catch{return console.warn("[Deskcord] localStorage unavailable for reading last read timestamp"),null}},Ld=t=>{try{localStorage.setItem(Bd,t.toString())}catch{console.warn("[Deskcord] localStorage unavailable for writing last read timestamp")}},gi=()=>{try{const t=localStorage.getItem(Fd);if(!t)return 0;const e=parseInt(t,10);return isNaN(e)?0:e}catch{return console.warn("[Deskcord] localStorage unavailable for reading unread count"),0}},_r=t=>{try{localStorage.setItem(Fd,t.toString())}catch{console.warn("[Deskcord] localStorage unavailable for writing unread count")}},Mt=fb(Sb(Pb((t,e)=>({_REHYDRATED_:!1,token:"",isNetworkInitialized:!1,isChatOpen:!1,isChatVisible:!1,isConversationOpen:!0,conversations:[],email:"",username:"",openConversationId:null,guildSettings:{iconURL:"",header_title:"",header_subtitle:"",lastUpdate:null},fullScreen:!1,isLoading:!1,networkError:null,currentConversationLastFetchedAt:null,pastConversationsLastFetchedAt:null,unreadCount:0,lastReadMessageDate:null,setRehydrated:n=>t(()=>({_REHYDRATED_:n})),setFullScreen:n=>t(()=>({fullScreen:n})),setToken:n=>t(()=>({token:n})),toggleChatOpen:()=>t(n=>({isChatOpen:!n.isChatOpen})),setNetworkInitialized:n=>t(()=>({isNetworkInitialized:n})),setChatVisible:n=>t(()=>({isChatVisible:n})),setChatOpen:n=>t(()=>({isChatOpen:n})),setOpenConversationId:n=>t(()=>({openConversationId:n})),setConversations:n=>t(()=>({conversations:n})),setGuildSettings:n=>t(r=>({guildSettings:{...r.guildSettings,...n}})),setConversationOpen:(n,r)=>t(i=>({conversations:i.conversations.map(o=>o.threadId===n?{...o,status:r?"open":"closed"}:o)})),setConversationCSMember:(n,r)=>t(Rn(i=>{const o=i.conversations.find(s=>s.threadId===n);o&&(o.csMember=r)})),addMessage:(n,r)=>t(Rn(i=>{const o=i.conversations.find(s=>s.threadId===n);o?o.messages.push(r):(i.conversations.push({threadId:n,lastMessageDate:Date.now(),firstMessageDate:Date.now(),status:"open",messages:[r]}),i.openConversationId=n)})),updateMessage:(n,r,i)=>t(Rn(o=>{const s=o.conversations.findIndex(a=>a.threadId===n);if(s!==-1){const a=o.conversations[s].messages.findIndex(l=>l.date===r);o.conversations[s].messages[a]=i}})),removeMessage:(n,r)=>t(Rn(i=>{const o=i.conversations.findIndex(s=>s.threadId===n);o!==-1&&(i.conversations[o].messages=i.conversations[o].messages.filter(s=>s.date!==r))})),tempConversationToThread:n=>t(r=>({...r,openConversationId:n,conversations:r.conversations.map(i=>i.threadId==="TEMP"?{...i,threadId:n}:i)})),setEmail:n=>t(()=>({email:n})),setUsername:n=>t(()=>({username:n})),getConversation:()=>{const{conversations:n,openConversationId:r}=e();return r?n.find(i=>i.threadId===r)??null:null},setLoading:n=>t(()=>({isLoading:n})),setNetworkError:n=>t(()=>({networkError:n})),setCurrentConversationLastFetchedAt:n=>t(()=>({currentConversationLastFetchedAt:n})),setPastConversationsLastFetchedAt:n=>t(()=>({pastConversationsLastFetchedAt:n})),smartMergeCurrentConversation:n=>t(Rn(r=>{const i=r.conversations.findIndex(o=>o.threadId===n.threadId);if(i!==-1){const o=r.conversations[i],s=Md(o.messages,n.messages);r.conversations[i]={...n,messages:s}}else r.conversations.push(n);r.currentConversationLastFetchedAt=Date.now()})),smartMergePastConversations:n=>t(Rn(r=>{n.forEach(i=>{const o=r.conversations.findIndex(s=>s.threadId===i.threadId);if(o!==-1){const s=r.conversations[o],a=Md(s.messages,i.messages);r.conversations[o]={...i,messages:a}}else r.conversations.push(i)}),r.pastConversationsLastFetchedAt=Date.now()})),incrementUnreadCount:()=>t(n=>{const r=n.unreadCount+1;return _r(r),{unreadCount:r}}),markMessagesAsRead:()=>t(()=>{const n=Date.now();return _r(0),Ld(n),{unreadCount:0,lastReadMessageDate:n}}),setUnreadCount:n=>t(()=>(_r(n),{unreadCount:n})),syncUnreadCountFromServer:async()=>{const n=Qe.get("discord-widget");if(!n){const r=gi();t(()=>({unreadCount:r}));return}try{const r=await Rb(n);if(r!==null)ne(`Synced unread count from server: ${r}`),_r(r),t(()=>({unreadCount:r}));else{ne("Server unavailable, using cached unread count");const i=gi();t(()=>({unreadCount:i}))}}catch{const i=gi();t(()=>({unreadCount:i}))}},markMessagesAsReadWithSync:async()=>{const n=Date.now();_r(0),Ld(n),t(()=>({unreadCount:0,lastReadMessageDate:n}));const r=Qe.get("discord-widget");if(r)try{const i=await Nb(r,n);ne(i?"Successfully synced mark-read with server":"Failed to sync mark-read with server (will retry on next load)")}catch{}},initializeUnreadState:()=>{const n=gi(),r=Mb();t(()=>({unreadCount:n,lastReadMessageDate:r}))}}),{name:"discord-widget-storage",partialize:t=>({token:t.token,username:t.username,email:t.email,openConversationId:t.openConversationId,conversations:Db(t.conversations),guildSettings:t.guildSettings}),onRehydrateStorage:t=>()=>t.setRehydrated(!0)}),{enabled:!1}));function Db(t){return t.map(e=>({...e,messages:e.messages.filter(n=>!n.ephemeral&&!n.pending)}))}async function Bb({content:t}){const e=Mt.getState().username,n=Qe.get("discord-widget"),r=JSON.stringify({name:e,content:t}),i=new Headers;i.append("Content-Type","application/json"),i.append("Authorization",`Bearer ${n}`);const o={method:"POST",headers:i,body:r};return await(await fetch(`${le.api}/conversations/sendMessage`,o)).json()}var Nn=(t=>(t[t.IntroduceYourself=0]="IntroduceYourself",t[t.UploadFile=1]="UploadFile",t))(Nn||{});const xr="System",Fb={content:"This conversation has been closed by the support.",support:!0,authorName:xr,date:Date.now()},Lb={content:"",support:!0,authorName:xr,date:Date.now(),customRenderer:Nn.IntroduceYourself};function jb(t){return{content:`You are now chatting with ${t}.`,support:!0,authorName:xr,date:Date.now(),ephemeral:!0}}function $b(t){return{content:"",support:!0,authorName:xr,date:Date.now(),customRenderer:Nn.UploadFile,customRendererProps:{file:t},ephemeral:!0}}function Vb(t){return{content:"",support:!1,authorName:"",date:Date.now(),ephemeral:!0,attachments:t}}const Ub=$e(({accept:t,maxSize:e,uploadConfig:n,onFileSelect:r,onUploadComplete:i,onUploadStart:o,onError:s},a)=>{const l=it(null),f=it(null),{addMessage:c,getConversation:h,removeMessage:m,updateMessage:y}=Mt(),b=h();Jn(a,()=>({upload:async()=>{if(f.current)try{const N=new FormData;N.append("file",f.current),o==null||o(f.current),P(f.current);const O=await fetch(n.url,{method:n.method,headers:n.headers,body:N}),j=await O.json();i==null||i(O),x(f.current),w(j)}catch(N){s==null||s(N),v(f.current)}},clear:()=>{f.current=null,l.current&&(l.current.value=""),r==null||r(null)}}));function w(N){b&&c(b.threadId,Vb(N.attachments))}function P(N){b&&c(b.threadId,$b({fileName:N.name,status:"uploading",size:N.size}))}function x(N){var j;if(!b)return;const O=(j=h())==null?void 0:j.messages.find(B=>{var F,L;return((L=(F=B.customRendererProps)==null?void 0:F.file)==null?void 0:L.fileName)===N.name});O&&m(b.threadId,O.date)}function v(N){var j,B;if(!b)return;const O=(j=h())==null?void 0:j.messages.find(F=>{var L,Y;return((Y=(L=F.customRendererProps)==null?void 0:L.file)==null?void 0:Y.fileName)===N.name});(B=O==null?void 0:O.customRendererProps)!=null&&B.file&&y(b.threadId,O.date,{...O,customRendererProps:{...O.customRendererProps,file:{...O.customRendererProps.file,status:"error"}}})}return C(kt,{children:[C("button",{className:"text-gray-500 hover:text-blue-500","aria-label":"Upload file",onClick:()=>{var N;return(N=l.current)==null?void 0:N.click()},children:C(Cw,{size:16})}),C("input",{type:"file",accept:t,ref:l,style:{display:"none"},onChange:N=>{var j;const O=(j=N.target.files)==null?void 0:j[0];O&&O.size<=e?(f.current=O,r==null||r(O)):(f.current=null,r==null||r(null))}})]})}),zb=({size:t})=>C("svg",{className:"shrink-0 size-3.5",xmlns:"http://www.w3.org/2000/svg",width:t||16,height:t||16,fill:"currentColor",viewBox:"0 0 16 16",children:C("path",{d:"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855H.766l-.452.18a.5.5 0 0 0-.082.887l.41.26.001.002 4.995 3.178 3.178 4.995.002.002.26.41a.5.5 0 0 0 .886-.083l6-15Zm-1.833 1.89L6.637 10.07l-.215-.338a.5.5 0 0 0-.154-.154l-.338-.215 7.494-7.494 1.178-.471-.47 1.178Z"})}),qb=({onPickEmoji:t})=>C("div",{className:"mb-2 p-2 bg-white max-h-40 overflow-y-auto",children:C("div",{className:"grid grid-cols-8 gap-2",children:Wb.map((e,n)=>C("button",{className:"text-2xl hover:bg-gray-100 rounded",onClick:()=>t(e),children:e},n))})}),Wb=["๐Ÿ˜€","๐Ÿ˜ƒ","๐Ÿ˜„","๐Ÿ˜","๐Ÿ˜†","๐Ÿ˜…","๐Ÿ˜‚","๐Ÿคฃ","๐Ÿ˜Š","๐Ÿ˜‡","๐Ÿ™‚","๐Ÿ™ƒ","๐Ÿ˜‰","๐Ÿ˜Œ","๐Ÿ˜","๐Ÿฅฐ","๐Ÿ˜˜","๐Ÿ˜—","๐Ÿ˜™","๐Ÿ˜š","๐Ÿ˜‹","๐Ÿ˜›","๐Ÿ˜","๐Ÿ˜œ","๐Ÿคช","๐Ÿคจ","๐Ÿง","๐Ÿค“","๐Ÿ˜Ž","๐Ÿคฉ","๐Ÿฅณ","๐Ÿ˜","๐Ÿ˜’","๐Ÿ˜ž","๐Ÿ˜”","๐Ÿ˜Ÿ","๐Ÿ˜•","๐Ÿ™","โ˜น๏ธ","๐Ÿ˜ฃ","๐Ÿ˜–","๐Ÿ˜ซ","๐Ÿ˜ฉ","๐Ÿฅบ","๐Ÿ˜ข","๐Ÿ˜ญ","๐Ÿ˜ค","๐Ÿ˜ ","๐Ÿ˜ก","๐Ÿคฌ","๐Ÿคฏ","๐Ÿ˜ณ","๐Ÿฅต","๐Ÿฅถ","๐Ÿ˜ฑ","๐Ÿ˜จ","๐Ÿ˜ฐ","๐Ÿ˜ฅ","๐Ÿ˜“","๐Ÿค—","๐Ÿค”","๐Ÿคญ","๐Ÿคซ","๐Ÿคฅ","๐Ÿ˜ถ","๐Ÿ˜","๐Ÿ˜‘","๐Ÿ˜ฌ","๐Ÿ™„","๐Ÿ˜ฏ","๐Ÿ˜ฆ","๐Ÿ˜ง","๐Ÿ˜ฎ","๐Ÿ˜ฒ","๐Ÿฅฑ","๐Ÿ˜ด","๐Ÿคค","๐Ÿ˜ช","๐Ÿ˜ต","๐Ÿค","๐Ÿฅด","๐Ÿคข","๐Ÿคฎ","๐Ÿคง","๐Ÿ˜ท","๐Ÿค’","๐Ÿค•"],Hb=({imageUrl:t,fileName:e,onDelete:n,width:r,height:i})=>C("div",{className:"relative w-32 h-32 rounded-lg overflow-hidden bg-gray-100 border border-gray-200",children:[C("div",{className:"flex justify-center absolute inset-0",children:C("img",{src:t,alt:"Preview",className:`w-[${r}px] h-[${i}px] max-w-[100px] max-h-[100px] aspect-auto`})}),C("button",{onClick:n,className:"absolute top-1 right-1 bg-gray-600 p-1 rounded-lg text-red-400 hover:text-white transition",children:C(Rw,{size:20})}),C("div",{className:"absolute bottom-0 left-0 right-0 bg-gray-800 bg-opacity-80 text-white text-sm px-2 py-1 truncate",children:e})]}),Gb=t=>{const{inputMessage:e,setInputMessage:n,sendMessage:r,setFiles:i,files:o,showEmojiPicker:s,addEmoji:a,setShowEmojiPicker:l,attachmentPreviews:f,disabled:c=!1}=t,{getConversation:h}=Mt(),m=h(),y=Qe.get("discord-widget"),b=it(null),P=(m==null?void 0:m.status)==="closed"||c,x=()=>{},v=F=>{i(o.filter(L=>(F==null?void 0:F.name)!==L.name))},E=F=>{F&&i([...o,F])},N=()=>{var F;(F=b.current)==null||F.upload()},O=()=>{o.length&&N(),r()},j=F=>{F.key==="Enter"&&(F.shiftKey?(F.preventDefault(),n(`${e}
100
- `)):(F.preventDefault(),O()))};return C("div",{className:"relative border-t border-t-gray-200",children:[s&&C(qb,{onPickEmoji:a}),(()=>{if(!(o!=null&&o.length))return null;const F=o.map((L,Y)=>{if(!f[L.name])return null;const{url:Z,width:nt,height:st}=f[L.name];return C(Hb,{onDelete:()=>{var _t;i(o.filter(dt=>dt.name!==L.name)),(_t=b.current)==null||_t.clear()},fileName:L.name,width:nt,height:st,imageUrl:Z},`attachment-preview-${Y}`)});return C("div",{className:"m-2",children:F})})(),C("textarea",{id:"hs-textarea-ex-1",disabled:P,value:e,onChange:F=>n(F.target.value),onKeyDown:j,className:"p-4 pb-12 block w-full border-t border-gray-200 text-base md:text-sm outline-none disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-400 dark:placeholder-neutral-500 resize-none",placeholder:c?"Please introduce yourself first...":"Ask us anything!","data-hs-textarea-auto-height":""}),C("div",{className:"absolute bottom-px inset-x-px p-2 rounded-b-md bg-white dark:bg-neutral-900",children:C("div",{className:"flex justify-between items-center",children:[C("div",{className:"flex items-center",children:C("div",{className:"inline-flex shrink-0 justify-center items-center size-8 rounded-lg text-gray-500 hover:bg-gray-100 focus:z-10 focus:outline-none focus:bg-gray-100 dark:text-neutral-500 dark:hover:bg-neutral-800 dark:focus:bg-neutral-800",children:C(Ub,{ref:b,accept:"image/*",maxSize:10*1024*1024,uploadConfig:{url:`${le.api}/conversations/uploadAttachment`,method:"POST",headers:{Authorization:`Bearer ${y}`}},onUploadComplete:x,onUploadStart:v,onFileSelect:E})})}),C("div",{className:"flex items-center gap-x-1",children:[C("button",{type:"button",disabled:P,onClick:P?void 0:()=>l(!s),className:"inline-flex shrink-0 justify-center items-center size-8 rounded-lg text-gray-500 hover:bg-gray-100 focus:z-10 focus:outline-none focus:bg-gray-100 dark:text-neutral-500 dark:hover:bg-neutral-800 dark:focus:bg-neutral-800 disabled:opacity-50 disabled:pointer-events-none",children:C(Iw,{size:16})}),C("button",{type:"button",disabled:P,onClick:()=>O(),style:{background:P?"#9CA3AF":"linear-gradient(167deg, #7289DA 0%, #5B6EAB 100%)"},className:`inline-flex shrink-0 justify-center items-center size-8 rounded-lg text-white
99
+ `);const v=x.state[a];if(v==null)return;JSON.stringify(i.getState())!==JSON.stringify(v)&&y(v);return}i.dispatchFromDevtools&&typeof i.dispatch=="function"&&i.dispatch(x)});case"DISPATCH":switch(w.payload.type){case"RESET":return y(b),a===void 0?c==null?void 0:c.init(i.getState()):c==null?void 0:c.init(mi(l.name));case"COMMIT":if(a===void 0){c==null||c.init(i.getState());return}return c==null?void 0:c.init(mi(l.name));case"ROLLBACK":return Ks(w.state,x=>{if(a===void 0){y(x),c==null||c.init(i.getState());return}y(x[a]),c==null||c.init(mi(l.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return Ks(w.state,x=>{if(a===void 0){y(x);return}JSON.stringify(i.getState())!==JSON.stringify(x[a])&&y(x[a])});case"IMPORT_STATE":{const{nextLiftedState:x}=w.payload,v=(P=x.computedStates.slice(-1)[0])==null?void 0:P.state;if(!v)return;y(a===void 0?v:v[a]),c==null||c.send(null,x);return}case"PAUSE_RECORDING":return m=!m}return}}),b},Ks=(t,e)=>{let n;try{n=JSON.parse(t)}catch(r){console.error("[zustand devtools middleware] Could not parse the received json",r)}n!==void 0&&e(n)};function Eb(t,e){let n;try{n=t()}catch{return}return{getItem:i=>{var o;const s=l=>l===null?null:JSON.parse(l,void 0),a=(o=n.getItem(i))!=null?o:null;return a instanceof Promise?a.then(s):s(a)},setItem:(i,o)=>n.setItem(i,JSON.stringify(o,void 0)),removeItem:i=>n.removeItem(i)}}const br=t=>e=>{try{const n=t(e);return n instanceof Promise?n:{then(r){return br(r)(n)},catch(r){return this}}}catch(n){return{then(r){return this},catch(r){return br(r)(n)}}}},Ab=(t,e)=>(n,r,i)=>{let o={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:P=>P,version:0,merge:(P,x)=>({...x,...P}),...e},s=!1;const a=new Set,l=new Set;let f;try{f=o.getStorage()}catch{}if(!f)return t((...P)=>{console.warn(`[zustand persist middleware] Unable to update item '${o.name}', the given storage is currently unavailable.`),n(...P)},r,i);const c=br(o.serialize),h=()=>{const P=o.partialize({...r()});let x;const v=c({state:P,version:o.version}).then(E=>f.setItem(o.name,E)).catch(E=>{x=E});if(x)throw x;return v},m=i.setState;i.setState=(P,x)=>{m(P,x),h()};const y=t((...P)=>{n(...P),h()},r,i);let b;const w=()=>{var P;if(!f)return;s=!1,a.forEach(v=>v(r()));const x=((P=o.onRehydrateStorage)==null?void 0:P.call(o,r()))||void 0;return br(f.getItem.bind(f))(o.name).then(v=>{if(v)return o.deserialize(v)}).then(v=>{if(v)if(typeof v.version=="number"&&v.version!==o.version){if(o.migrate)return o.migrate(v.state,v.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return v.state}).then(v=>{var E;return b=o.merge(v,(E=r())!=null?E:y),n(b,!0),h()}).then(()=>{x==null||x(b,void 0),s=!0,l.forEach(v=>v(b))}).catch(v=>{x==null||x(void 0,v)})};return i.persist={setOptions:P=>{o={...o,...P},P.getStorage&&(f=P.getStorage())},clearStorage:()=>{f==null||f.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>w(),hasHydrated:()=>s,onHydrate:P=>(a.add(P),()=>{a.delete(P)}),onFinishHydration:P=>(l.add(P),()=>{l.delete(P)})},w(),b||y},Tb=(t,e)=>(n,r,i)=>{let o={storage:Eb(()=>localStorage),partialize:w=>w,version:0,merge:(w,P)=>({...P,...w}),...e},s=!1;const a=new Set,l=new Set;let f=o.storage;if(!f)return t((...w)=>{console.warn(`[zustand persist middleware] Unable to update item '${o.name}', the given storage is currently unavailable.`),n(...w)},r,i);const c=()=>{const w=o.partialize({...r()});return f.setItem(o.name,{state:w,version:o.version})},h=i.setState;i.setState=(w,P)=>{h(w,P),c()};const m=t((...w)=>{n(...w),c()},r,i);i.getInitialState=()=>m;let y;const b=()=>{var w,P;if(!f)return;s=!1,a.forEach(v=>{var E;return v((E=r())!=null?E:m)});const x=((P=o.onRehydrateStorage)==null?void 0:P.call(o,(w=r())!=null?w:m))||void 0;return br(f.getItem.bind(f))(o.name).then(v=>{if(v)if(typeof v.version=="number"&&v.version!==o.version){if(o.migrate)return[!0,o.migrate(v.state,v.version)];console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,v.state];return[!1,void 0]}).then(v=>{var E;const[N,O]=v;if(y=o.merge(O,(E=r())!=null?E:m),n(y,!0),N)return c()}).then(()=>{x==null||x(y,void 0),y=r(),s=!0,l.forEach(v=>v(y))}).catch(v=>{x==null||x(void 0,v)})};return i.persist={setOptions:w=>{o={...o,...w},w.storage&&(f=w.storage)},clearStorage:()=>{f==null||f.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>b(),hasHydrated:()=>s,onHydrate:w=>(a.add(w),()=>{a.delete(w)}),onFinishHydration:w=>(l.add(w),()=>{l.delete(w)})},o.skipHydration||b(),y||m},Pb=(t,e)=>"getStorage"in e||"serialize"in e||"deserialize"in e?((pi?"production":void 0)!=="production"&&console.warn("[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead."),Ab(t,e)):Tb(t,e);function yi(t){const e=t.content.slice(0,50);return t.support?`${t.date}-${t.authorName}-${e}`:`${t.date}-customer-${e}`}function Md(t,e){const n=new Map;return t.forEach(r=>{const i=yi(r);n.set(i,r)}),e.forEach(r=>{const i=yi(r);n.set(i,r)}),Array.from(n.values()).sort((r,i)=>r.date-i.date)}function kb(t,e){const n=yi(e);return t.some(r=>yi(r)===n)}const Dd=460,Cb=750,Ob="https://api.deskcord.chat";function Ib(){var n,r,i,o;const t=(r=(n=window.deskcord)==null?void 0:n.settings)==null?void 0:r.app_id,e=((o=(i=window.deskcord)==null?void 0:i.settings)==null?void 0:o.domain)??Ob;if(!t)throw new Error("Cannot initialize discord chat. Please check your installation and embed.");return{app_id:t,domain:e}}const le=Ib();function ne(...t){}async function Rb(t){const e=new Headers;e.append("Content-Type","application/json"),e.append("Authorization",`Bearer ${t}`);try{const n=await fetch(`${le.domain}/conversations/unread-count`,{method:"GET",headers:e});return n.ok?(await n.json()).unreadCount:(ne(`Failed to fetch unread count: ${n.status}`),null)}catch{return null}}async function Nb(t,e){const n=new Headers;n.append("Content-Type","application/json"),n.append("Authorization",`Bearer ${t}`);try{const r=await fetch(`${le.domain}/conversations/mark-read`,{method:"POST",headers:n,body:JSON.stringify({timestamp:e})});return r.ok?(await r.json()).success:(ne(`Failed to mark as read: ${r.status}`),!1)}catch{return!1}}const Bd="deskcord_last_read",Fd="deskcord_unread_count",Mb=()=>{try{const t=localStorage.getItem(Bd);if(!t)return null;const e=parseInt(t,10);return isNaN(e)?null:e}catch{return console.warn("[Deskcord] localStorage unavailable for reading last read timestamp"),null}},Ld=t=>{try{localStorage.setItem(Bd,t.toString())}catch{console.warn("[Deskcord] localStorage unavailable for writing last read timestamp")}},gi=()=>{try{const t=localStorage.getItem(Fd);if(!t)return 0;const e=parseInt(t,10);return isNaN(e)?0:e}catch{return console.warn("[Deskcord] localStorage unavailable for reading unread count"),0}},_r=t=>{try{localStorage.setItem(Fd,t.toString())}catch{console.warn("[Deskcord] localStorage unavailable for writing unread count")}},Mt=fb(Sb(Pb((t,e)=>({_REHYDRATED_:!1,token:"",isNetworkInitialized:!1,isChatOpen:!1,isChatVisible:!1,isConversationOpen:!0,conversations:[],email:"",username:"",openConversationId:null,guildSettings:{iconURL:"",header_title:"",header_subtitle:"",lastUpdate:null},fullScreen:!1,isLoading:!1,networkError:null,currentConversationLastFetchedAt:null,pastConversationsLastFetchedAt:null,unreadCount:0,lastReadMessageDate:null,setRehydrated:n=>t(()=>({_REHYDRATED_:n})),setFullScreen:n=>t(()=>({fullScreen:n})),setToken:n=>t(()=>({token:n})),toggleChatOpen:()=>t(n=>({isChatOpen:!n.isChatOpen})),setNetworkInitialized:n=>t(()=>({isNetworkInitialized:n})),setChatVisible:n=>t(()=>({isChatVisible:n})),setChatOpen:n=>t(()=>({isChatOpen:n})),setOpenConversationId:n=>t(()=>({openConversationId:n})),setConversations:n=>t(()=>({conversations:n})),setGuildSettings:n=>t(r=>({guildSettings:{...r.guildSettings,...n}})),setConversationOpen:(n,r)=>t(i=>({conversations:i.conversations.map(o=>o.threadId===n?{...o,status:r?"open":"closed"}:o)})),setConversationCSMember:(n,r)=>t(Rn(i=>{const o=i.conversations.find(s=>s.threadId===n);o&&(o.csMember=r)})),addMessage:(n,r)=>t(Rn(i=>{const o=i.conversations.find(s=>s.threadId===n);o?o.messages.push(r):(i.conversations.push({threadId:n,lastMessageDate:Date.now(),firstMessageDate:Date.now(),status:"open",messages:[r]}),i.openConversationId=n)})),updateMessage:(n,r,i)=>t(Rn(o=>{const s=o.conversations.findIndex(a=>a.threadId===n);if(s!==-1){const a=o.conversations[s].messages.findIndex(l=>l.date===r);o.conversations[s].messages[a]=i}})),removeMessage:(n,r)=>t(Rn(i=>{const o=i.conversations.findIndex(s=>s.threadId===n);o!==-1&&(i.conversations[o].messages=i.conversations[o].messages.filter(s=>s.date!==r))})),tempConversationToThread:n=>t(r=>({...r,openConversationId:n,conversations:r.conversations.map(i=>i.threadId==="TEMP"?{...i,threadId:n}:i)})),setEmail:n=>t(()=>({email:n})),setUsername:n=>t(()=>({username:n})),getConversation:()=>{const{conversations:n,openConversationId:r}=e();return r?n.find(i=>i.threadId===r)??null:null},setLoading:n=>t(()=>({isLoading:n})),setNetworkError:n=>t(()=>({networkError:n})),setCurrentConversationLastFetchedAt:n=>t(()=>({currentConversationLastFetchedAt:n})),setPastConversationsLastFetchedAt:n=>t(()=>({pastConversationsLastFetchedAt:n})),smartMergeCurrentConversation:n=>t(Rn(r=>{const i=r.conversations.findIndex(o=>o.threadId===n.threadId);if(i!==-1){const o=r.conversations[i],s=Md(o.messages,n.messages);r.conversations[i]={...n,messages:s}}else r.conversations.push(n);r.currentConversationLastFetchedAt=Date.now()})),smartMergePastConversations:n=>t(Rn(r=>{n.forEach(i=>{const o=r.conversations.findIndex(s=>s.threadId===i.threadId);if(o!==-1){const s=r.conversations[o],a=Md(s.messages,i.messages);r.conversations[o]={...i,messages:a}}else r.conversations.push(i)}),r.pastConversationsLastFetchedAt=Date.now()})),incrementUnreadCount:()=>t(n=>{const r=n.unreadCount+1;return _r(r),{unreadCount:r}}),markMessagesAsRead:()=>t(()=>{const n=Date.now();return _r(0),Ld(n),{unreadCount:0,lastReadMessageDate:n}}),setUnreadCount:n=>t(()=>(_r(n),{unreadCount:n})),syncUnreadCountFromServer:async()=>{const n=Qe.get("discord-widget");if(!n){const r=gi();t(()=>({unreadCount:r}));return}try{const r=await Rb(n);if(r!==null)ne(`Synced unread count from server: ${r}`),_r(r),t(()=>({unreadCount:r}));else{ne("Server unavailable, using cached unread count");const i=gi();t(()=>({unreadCount:i}))}}catch{const i=gi();t(()=>({unreadCount:i}))}},markMessagesAsReadWithSync:async()=>{const n=Date.now();_r(0),Ld(n),t(()=>({unreadCount:0,lastReadMessageDate:n}));const r=Qe.get("discord-widget");if(r)try{const i=await Nb(r,n);ne(i?"Successfully synced mark-read with server":"Failed to sync mark-read with server (will retry on next load)")}catch{}},initializeUnreadState:()=>{const n=gi(),r=Mb();t(()=>({unreadCount:n,lastReadMessageDate:r}))}}),{name:"discord-widget-storage",partialize:t=>({token:t.token,username:t.username,email:t.email,openConversationId:t.openConversationId,conversations:Db(t.conversations),guildSettings:t.guildSettings}),onRehydrateStorage:t=>()=>t.setRehydrated(!0)}),{enabled:!1}));function Db(t){return t.map(e=>({...e,messages:e.messages.filter(n=>!n.ephemeral&&!n.pending)}))}async function Bb({content:t}){const e=Mt.getState().username,n=Qe.get("discord-widget"),r=JSON.stringify({name:e,content:t}),i=new Headers;i.append("Content-Type","application/json"),i.append("Authorization",`Bearer ${n}`);const o={method:"POST",headers:i,body:r};return await(await fetch(`${le.domain}/conversations/sendMessage`,o)).json()}var Nn=(t=>(t[t.IntroduceYourself=0]="IntroduceYourself",t[t.UploadFile=1]="UploadFile",t))(Nn||{});const xr="System",Fb={content:"This conversation has been closed by the support.",support:!0,authorName:xr,date:Date.now()},Lb={content:"",support:!0,authorName:xr,date:Date.now(),customRenderer:Nn.IntroduceYourself};function jb(t){return{content:`You are now chatting with ${t}.`,support:!0,authorName:xr,date:Date.now(),ephemeral:!0}}function $b(t){return{content:"",support:!0,authorName:xr,date:Date.now(),customRenderer:Nn.UploadFile,customRendererProps:{file:t},ephemeral:!0}}function Vb(t){return{content:"",support:!1,authorName:"",date:Date.now(),ephemeral:!0,attachments:t}}const Ub=$e(({accept:t,maxSize:e,uploadConfig:n,onFileSelect:r,onUploadComplete:i,onUploadStart:o,onError:s},a)=>{const l=it(null),f=it(null),{addMessage:c,getConversation:h,removeMessage:m,updateMessage:y}=Mt(),b=h();Jn(a,()=>({upload:async()=>{if(f.current)try{const N=new FormData;N.append("file",f.current),o==null||o(f.current),P(f.current);const O=await fetch(n.url,{method:n.method,headers:n.headers,body:N}),j=await O.json();i==null||i(O),x(f.current),w(j)}catch(N){s==null||s(N),v(f.current)}},clear:()=>{f.current=null,l.current&&(l.current.value=""),r==null||r(null)}}));function w(N){b&&c(b.threadId,Vb(N.attachments))}function P(N){b&&c(b.threadId,$b({fileName:N.name,status:"uploading",size:N.size}))}function x(N){var j;if(!b)return;const O=(j=h())==null?void 0:j.messages.find(B=>{var F,L;return((L=(F=B.customRendererProps)==null?void 0:F.file)==null?void 0:L.fileName)===N.name});O&&m(b.threadId,O.date)}function v(N){var j,B;if(!b)return;const O=(j=h())==null?void 0:j.messages.find(F=>{var L,Y;return((Y=(L=F.customRendererProps)==null?void 0:L.file)==null?void 0:Y.fileName)===N.name});(B=O==null?void 0:O.customRendererProps)!=null&&B.file&&y(b.threadId,O.date,{...O,customRendererProps:{...O.customRendererProps,file:{...O.customRendererProps.file,status:"error"}}})}return C(kt,{children:[C("button",{className:"text-gray-500 hover:text-blue-500","aria-label":"Upload file",onClick:()=>{var N;return(N=l.current)==null?void 0:N.click()},children:C(Cw,{size:16})}),C("input",{type:"file",accept:t,ref:l,style:{display:"none"},onChange:N=>{var j;const O=(j=N.target.files)==null?void 0:j[0];O&&O.size<=e?(f.current=O,r==null||r(O)):(f.current=null,r==null||r(null))}})]})}),zb=({size:t})=>C("svg",{className:"shrink-0 size-3.5",xmlns:"http://www.w3.org/2000/svg",width:t||16,height:t||16,fill:"currentColor",viewBox:"0 0 16 16",children:C("path",{d:"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855H.766l-.452.18a.5.5 0 0 0-.082.887l.41.26.001.002 4.995 3.178 3.178 4.995.002.002.26.41a.5.5 0 0 0 .886-.083l6-15Zm-1.833 1.89L6.637 10.07l-.215-.338a.5.5 0 0 0-.154-.154l-.338-.215 7.494-7.494 1.178-.471-.47 1.178Z"})}),qb=({onPickEmoji:t})=>C("div",{className:"mb-2 p-2 bg-white max-h-40 overflow-y-auto",children:C("div",{className:"grid grid-cols-8 gap-2",children:Wb.map((e,n)=>C("button",{className:"text-2xl hover:bg-gray-100 rounded",onClick:()=>t(e),children:e},n))})}),Wb=["๐Ÿ˜€","๐Ÿ˜ƒ","๐Ÿ˜„","๐Ÿ˜","๐Ÿ˜†","๐Ÿ˜…","๐Ÿ˜‚","๐Ÿคฃ","๐Ÿ˜Š","๐Ÿ˜‡","๐Ÿ™‚","๐Ÿ™ƒ","๐Ÿ˜‰","๐Ÿ˜Œ","๐Ÿ˜","๐Ÿฅฐ","๐Ÿ˜˜","๐Ÿ˜—","๐Ÿ˜™","๐Ÿ˜š","๐Ÿ˜‹","๐Ÿ˜›","๐Ÿ˜","๐Ÿ˜œ","๐Ÿคช","๐Ÿคจ","๐Ÿง","๐Ÿค“","๐Ÿ˜Ž","๐Ÿคฉ","๐Ÿฅณ","๐Ÿ˜","๐Ÿ˜’","๐Ÿ˜ž","๐Ÿ˜”","๐Ÿ˜Ÿ","๐Ÿ˜•","๐Ÿ™","โ˜น๏ธ","๐Ÿ˜ฃ","๐Ÿ˜–","๐Ÿ˜ซ","๐Ÿ˜ฉ","๐Ÿฅบ","๐Ÿ˜ข","๐Ÿ˜ญ","๐Ÿ˜ค","๐Ÿ˜ ","๐Ÿ˜ก","๐Ÿคฌ","๐Ÿคฏ","๐Ÿ˜ณ","๐Ÿฅต","๐Ÿฅถ","๐Ÿ˜ฑ","๐Ÿ˜จ","๐Ÿ˜ฐ","๐Ÿ˜ฅ","๐Ÿ˜“","๐Ÿค—","๐Ÿค”","๐Ÿคญ","๐Ÿคซ","๐Ÿคฅ","๐Ÿ˜ถ","๐Ÿ˜","๐Ÿ˜‘","๐Ÿ˜ฌ","๐Ÿ™„","๐Ÿ˜ฏ","๐Ÿ˜ฆ","๐Ÿ˜ง","๐Ÿ˜ฎ","๐Ÿ˜ฒ","๐Ÿฅฑ","๐Ÿ˜ด","๐Ÿคค","๐Ÿ˜ช","๐Ÿ˜ต","๐Ÿค","๐Ÿฅด","๐Ÿคข","๐Ÿคฎ","๐Ÿคง","๐Ÿ˜ท","๐Ÿค’","๐Ÿค•"],Hb=({imageUrl:t,fileName:e,onDelete:n,width:r,height:i})=>C("div",{className:"relative w-32 h-32 rounded-lg overflow-hidden bg-gray-100 border border-gray-200",children:[C("div",{className:"flex justify-center absolute inset-0",children:C("img",{src:t,alt:"Preview",className:`w-[${r}px] h-[${i}px] max-w-[100px] max-h-[100px] aspect-auto`})}),C("button",{onClick:n,className:"absolute top-1 right-1 bg-gray-600 p-1 rounded-lg text-red-400 hover:text-white transition",children:C(Rw,{size:20})}),C("div",{className:"absolute bottom-0 left-0 right-0 bg-gray-800 bg-opacity-80 text-white text-sm px-2 py-1 truncate",children:e})]}),Gb=t=>{const{inputMessage:e,setInputMessage:n,sendMessage:r,setFiles:i,files:o,showEmojiPicker:s,addEmoji:a,setShowEmojiPicker:l,attachmentPreviews:f,disabled:c=!1}=t,{getConversation:h}=Mt(),m=h(),y=Qe.get("discord-widget"),b=it(null),P=(m==null?void 0:m.status)==="closed"||c,x=()=>{},v=F=>{i(o.filter(L=>(F==null?void 0:F.name)!==L.name))},E=F=>{F&&i([...o,F])},N=()=>{var F;(F=b.current)==null||F.upload()},O=()=>{o.length&&N(),r()},j=F=>{F.key==="Enter"&&(F.shiftKey?(F.preventDefault(),n(`${e}
100
+ `)):(F.preventDefault(),O()))};return C("div",{className:"relative border-t border-t-gray-200",children:[s&&C(qb,{onPickEmoji:a}),(()=>{if(!(o!=null&&o.length))return null;const F=o.map((L,Y)=>{if(!f[L.name])return null;const{url:Z,width:nt,height:st}=f[L.name];return C(Hb,{onDelete:()=>{var _t;i(o.filter(dt=>dt.name!==L.name)),(_t=b.current)==null||_t.clear()},fileName:L.name,width:nt,height:st,imageUrl:Z},`attachment-preview-${Y}`)});return C("div",{className:"m-2",children:F})})(),C("textarea",{id:"hs-textarea-ex-1",disabled:P,value:e,onChange:F=>n(F.target.value),onKeyDown:j,className:"p-4 pb-12 block w-full border-t border-gray-200 text-base md:text-sm outline-none disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-400 dark:placeholder-neutral-500 resize-none",placeholder:c?"Please introduce yourself first...":"Ask us anything!","data-hs-textarea-auto-height":""}),C("div",{className:"absolute bottom-px inset-x-px p-2 rounded-b-md bg-white dark:bg-neutral-900",children:C("div",{className:"flex justify-between items-center",children:[C("div",{className:"flex items-center",children:C("div",{className:"inline-flex shrink-0 justify-center items-center size-8 rounded-lg text-gray-500 hover:bg-gray-100 focus:z-10 focus:outline-none focus:bg-gray-100 dark:text-neutral-500 dark:hover:bg-neutral-800 dark:focus:bg-neutral-800",children:C(Ub,{ref:b,accept:"image/*",maxSize:10*1024*1024,uploadConfig:{url:`${le.domain}/conversations/uploadAttachment`,method:"POST",headers:{Authorization:`Bearer ${y}`}},onUploadComplete:x,onUploadStart:v,onFileSelect:E})})}),C("div",{className:"flex items-center gap-x-1",children:[C("button",{type:"button",disabled:P,onClick:P?void 0:()=>l(!s),className:"inline-flex shrink-0 justify-center items-center size-8 rounded-lg text-gray-500 hover:bg-gray-100 focus:z-10 focus:outline-none focus:bg-gray-100 dark:text-neutral-500 dark:hover:bg-neutral-800 dark:focus:bg-neutral-800 disabled:opacity-50 disabled:pointer-events-none",children:C(Iw,{size:16})}),C("button",{type:"button",disabled:P,onClick:()=>O(),style:{background:P?"#9CA3AF":"linear-gradient(167deg, #7289DA 0%, #5B6EAB 100%)"},className:`inline-flex shrink-0 justify-center items-center size-8 rounded-lg text-white
101
101
  transform transition-transform duration-150
102
102
  hover:scale-105 active:scale-95 disabled:opacity-50 disabled:pointer-events-none disabled:transform-none`,children:C(zb,{size:16})})]})]})})]})},jd=t=>{const e=Date.now(),n=Math.floor((e-t)/1e3);return n<60?"Just now":n<3600?`${Math.floor(n/60)}m ago`:n<86400?`${Math.floor(n/3600)}h ago`:`${Math.floor(n/86400)}d ago`},$d="carousel",Vd="controller",Kb="navigation",Yb="no-scroll",Ys="portal",Xb="root",Ud="toolbar",Xs="loading",Js="error",Zs="complete",Jb="placeholder",Zb=t=>`active-slide-${t}`,zd="flex_center",Qb="no_scroll",qd="no_scroll_padding",t_="slide_wrapper",rn="prev",on="next",Wd="swipe",Mn="close",Hd="onPointerDown",Gd="onPointerMove",Kd="onPointerUp",Yd="onPointerLeave",Xd="onPointerCancel",Jd="onKeyDown",e_="onKeyUp",Zd="onWheel",n_="Escape",r_="ArrowLeft",i_="ArrowRight",o_="button",Qs="icon",Qd="contain",th="cover",s_="Unknown action type",eh="yarl__";function Be(...t){return[...t].filter(Boolean).join(" ")}function St(t){return`${eh}${t}`}function oe(t){return`--${eh}${t}`}function Sr(t,e){return`${t}${e?`_${e}`:""}`}function ta(t){return e=>Sr(t,e)}function a_(t,e){var n;return(n=t==null?void 0:t[e])!==null&&n!==void 0?n:e}function nh(...t){return()=>{t.forEach(e=>{e()})}}function sn(t,e,n){return()=>{const r=Ft(n);if(!r)throw new Error(`${t} must be used within a ${e}.Provider`);return r}}function rh(){return typeof window<"u"}function c_(t,e=0){const n=10**e;return Math.round((t+Number.EPSILON)*n)/n}function ih(t){return t.type===void 0||t.type==="image"}function l_(t,e){return t.imageFit===th||t.imageFit!==Qd&&e===th}function vi(t){return typeof t=="string"?Number.parseInt(t,10):t}function wi(t){if(typeof t=="number")return{pixel:t};if(typeof t=="string"){const e=vi(t);return t.endsWith("%")?{percent:e}:{pixel:e}}return{pixel:0}}function u_(t,e){const n=wi(e),r=n.percent!==void 0?t.width/100*n.percent:n.pixel;return{width:Math.max(t.width-2*r,0),height:Math.max(t.height-2*r,0)}}function oh(t,e){return e>0?(t%e+e)%e:0}function sh(t){return t.length>0}function ah(t,e){return t[oh(e,t.length)]}function ea(t,e){return sh(t)?ah(t,e):void 0}function f_(t){return ih(t)?t.src:void 0}function d_(t,e,n=0){return Math.min(t.preload,Math.max(t.finite?e.length-1:Math.floor(e.length/2),n))}const h_=Number(ul.split(".")[0])>=19;function p_(t){return{inert:h_?t:t?"":void 0}}const na={open:!1,close:()=>{},index:0,slides:[],render:{},plugins:[],toolbar:{buttons:[Mn]},labels:{},animation:{fade:250,swipe:500,easing:{fade:"ease",swipe:"ease-out",navigation:"ease-in-out"}},carousel:{finite:!1,preload:2,padding:"16px",spacing:"30%",imageFit:Qd,imageProps:{}},controller:{ref:null,focus:!0,aria:!1,touchAction:"none",closeOnPullUp:!1,closeOnPullDown:!1,closeOnBackdropClick:!1,preventDefaultWheelX:!0,preventDefaultWheelY:!1},portal:{},noScroll:{disabled:!1},on:{},styles:{},className:""};function an(t,e){return{name:t,component:e}}function Gt(t,e){return{module:t,children:e}}function ch(t,e,n){return t.module.name===e?n(t):t.children?[Gt(t.module,t.children.flatMap(r=>{var i;return(i=ch(r,e,n))!==null&&i!==void 0?i:[]}))]:[t]}function Dn(t,e,n){return t.flatMap(r=>{var i;return(i=ch(r,e,n))!==null&&i!==void 0?i:[]})}function m_(t,e=[],n=[]){let r=t;const i=y=>{const b=[...r];for(;b.length>0;){const w=b.pop();if((w==null?void 0:w.module.name)===y)return!0;w!=null&&w.children&&b.push(...w.children)}return!1},o=(y,b)=>{if(y===""){r=[Gt(b,r)];return}r=Dn(r,y,w=>[Gt(b,[w])])},s=(y,b)=>{r=Dn(r,y,w=>[Gt(w.module,[Gt(b,w.children)])])},a=(y,b,w)=>{r=Dn(r,y,P=>{var x;return[Gt(P.module,[...w?[Gt(b)]:[],...(x=P.children)!==null&&x!==void 0?x:[],...w?[]:[Gt(b)]])]})},l=(y,b,w)=>{r=Dn(r,y,P=>[...w?[Gt(b)]:[],P,...w?[]:[Gt(b)]])},f=y=>{s(Vd,y)},c=(y,b)=>{r=Dn(r,y,w=>[Gt(b,w.children)])},h=y=>{r=Dn(r,y,b=>b.children)},m=y=>{n.push(y)};return e.forEach(y=>{y({contains:i,addParent:o,append:s,addChild:a,addSibling:l,addModule:f,replace:c,remove:h,augment:m})}),{config:r,augmentation:y=>n.reduce((b,w)=>w(b),y)}}const lh=te(null),ra=sn("useDocument","DocumentContext",lh);function y_({nodeRef:t,children:e}){const n=Ht(()=>{const r=o=>{var s;return((s=o||t.current)===null||s===void 0?void 0:s.ownerDocument)||document};return{getOwnerDocument:r,getOwnerWindow:o=>{var s;return((s=r(o))===null||s===void 0?void 0:s.defaultView)||window}}},[t]);return et(lh.Provider,{value:n},e)}const uh=te(null),bi=sn("useEvents","EventsContext",uh);function g_({children:t}){const[e]=gt({});ut(()=>()=>{Object.keys(e).forEach(r=>delete e[r])},[e]);const n=Ht(()=>{const r=(s,a)=>{var l;(l=e[s])===null||l===void 0||l.splice(0,e[s].length,...e[s].filter(f=>f!==a))};return{publish:(...[s,a])=>{var l;(l=e[s])===null||l===void 0||l.forEach(f=>f(a))},subscribe:(s,a)=>(e[s]||(e[s]=[]),e[s].push(a),()=>r(s,a)),unsubscribe:r}},[e]);return et(uh.Provider,{value:n},t)}const fh=te(null),Er=sn("useLightboxProps","LightboxPropsContext",fh);function v_({children:t,...e}){return et(fh.Provider,{value:e},t)}const dh=te(null),_i=sn("useLightboxState","LightboxStateContext",dh),hh=te(null),w_=sn("useLightboxDispatch","LightboxDispatchContext",hh);function b_(t,e){switch(e.type){case"swipe":{const{slides:n}=t,r=(e==null?void 0:e.increment)||0,i=t.globalIndex+r,o=oh(i,n.length),s=ea(n,o),a=r||e.duration?{increment:r,duration:e.duration,easing:e.easing}:void 0;return{slides:n,currentIndex:o,globalIndex:i,currentSlide:s,animation:a}}case"update":return e.slides!==t.slides||e.index!==t.currentIndex?{slides:e.slides,currentIndex:e.index,globalIndex:e.index,currentSlide:ea(e.slides,e.index)}:t;default:throw new Error(s_)}}function __({slides:t,index:e,children:n}){const[r,i]=Xn(b_,{slides:t,currentIndex:e,globalIndex:e,currentSlide:ea(t,e)});ut(()=>{i({type:"update",slides:t,index:e})},[t,e]);const o=Ht(()=>({...r,state:r,dispatch:i}),[r,i]);return et(hh.Provider,{value:i},et(dh.Provider,{value:o},n))}const ph=te(null),xi=sn("useTimeouts","TimeoutsContext",ph);function x_({children:t}){const[e]=gt([]);ut(()=>()=>{e.forEach(r=>window.clearTimeout(r)),e.splice(0,e.length)},[e]);const n=Ht(()=>{const r=s=>{e.splice(0,e.length,...e.filter(a=>a!==s))};return{setTimeout:(s,a)=>{const l=window.setTimeout(()=>{r(l),s()},a);return e.push(l),l},clearTimeout:s=>{s!==void 0&&(r(s),window.clearTimeout(s))}}},[e]);return et(ph.Provider,{value:n},t)}const mh=$e(function({label:e,className:n,icon:r,renderIcon:i,onClick:o,style:s,...a},l){const{styles:f,labels:c}=Er(),h=a_(c,e);return et("button",{ref:l,type:"button",title:h,"aria-label":h,className:Be(St(o_),n),onClick:o,style:{...s,...f.button},...a},i?i():et(r,{className:St(Qs),style:f.icon}))});function S_(t,e){const n=r=>et("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24","aria-hidden":"true",focusable:"false",...r},e);return n.displayName=t,n}function Ar(t,e){return S_(t,et("g",{fill:"currentColor"},et("path",{d:"M0 0h24v24H0z",fill:"none"}),e))}const E_=Ar("Close",et("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})),A_=Ar("Previous",et("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"})),T_=Ar("Next",et("path",{d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"})),P_=Ar("Loading",et(kt,null,Array.from({length:8}).map((t,e,n)=>et("line",{key:e,x1:"12",y1:"6.5",x2:"12",y2:"1.8",strokeLinecap:"round",strokeWidth:"2.6",stroke:"currentColor",strokeOpacity:1/n.length*(e+1),transform:`rotate(${360/n.length*e}, 12, 12)`})))),k_=Ar("Error",et("path",{d:"M21.9,21.9l-8.49-8.49l0,0L3.59,3.59l0,0L2.1,2.1L0.69,3.51L3,5.83V19c0,1.1,0.9,2,2,2h13.17l2.31,2.31L21.9,21.9z M5,18 l3.5-4.5l2.5,3.01L12.17,15l3,3H5z M21,18.17L5.83,3H19c1.1,0,2,0.9,2,2V18.17z"})),Tr=rh()?Re:ut;function yh(){const[t,e]=gt(!1);return ut(()=>{var n,r;const i=(n=window.matchMedia)===null||n===void 0?void 0:n.call(window,"(prefers-reduced-motion: reduce)");e(i==null?void 0:i.matches);const o=s=>e(s.matches);return(r=i==null?void 0:i.addEventListener)===null||r===void 0||r.call(i,"change",o),()=>{var s;return(s=i==null?void 0:i.removeEventListener)===null||s===void 0?void 0:s.call(i,"change",o)}},[]),t}function C_(t){let e=0,n=0,r=0;const o=window.getComputedStyle(t).transform.match(/matrix.*\((.+)\)/);if(o){const s=o[1].split(",").map(vi);s.length===6?(e=s[4],n=s[5]):s.length===16&&(e=s[12],n=s[13],r=s[14])}return{x:e,y:n,z:r}}function gh(t,e){const n=it(),r=it(),i=yh();return Tr(()=>{var o,s,a;if(t.current&&n.current!==void 0&&!i){const{keyframes:l,duration:f,easing:c,onfinish:h}=e(n.current,t.current.getBoundingClientRect(),C_(t.current))||{};if(l&&f){(o=r.current)===null||o===void 0||o.cancel(),r.current=void 0;try{r.current=(a=(s=t.current).animate)===null||a===void 0?void 0:a.call(s,l,{duration:f,easing:c})}catch(m){console.error(m)}r.current&&(r.current.onfinish=()=>{r.current=void 0,h==null||h()})}}n.current=void 0}),{prepareAnimation:o=>{n.current=o},isAnimationPlaying:()=>{var o;return((o=r.current)===null||o===void 0?void 0:o.playState)==="running"}}}function vh(){const t=it(null),e=it(),[n,r]=gt();return{setContainerRef:Ct(o=>{t.current=o,e.current&&(e.current.disconnect(),e.current=void 0);const s=()=>{if(o){const a=window.getComputedStyle(o),l=f=>parseFloat(f)||0;r({width:Math.round(o.clientWidth-l(a.paddingLeft)-l(a.paddingRight)),height:Math.round(o.clientHeight-l(a.paddingTop)-l(a.paddingBottom))})}else r(void 0)};s(),o&&typeof ResizeObserver<"u"&&(e.current=new ResizeObserver(s),e.current.observe(o))},[]),containerRef:t,containerRect:n}}function Si(){const t=it(),{setTimeout:e,clearTimeout:n}=xi();return Ct((r,i)=>{n(t.current),t.current=e(r,i>0?i:0)},[e,n])}function Ut(t){const e=it(t);return Tr(()=>{e.current=t}),Ct((...n)=>{var r;return(r=e.current)===null||r===void 0?void 0:r.call(e,...n)},[])}function wh(t,e){typeof t=="function"?t(e):t&&(t.current=e)}function ia(t,e){return Ht(()=>t==null&&e==null?null:n=>{wh(t,n),wh(e,n)},[t,e])}function O_(t,e=!1){const n=it();Tr(()=>{e&&n.current&&(n.current=!1,t())},[e,t]);const r=Ct(()=>{n.current=!0},[]),i=Ct(()=>{n.current=!1},[]);return{onFocus:r,onBlur:i}}function oa(){const[t,e]=gt(!1);return Tr(()=>{e(window.getComputedStyle(window.document.documentElement).direction==="rtl")},[]),t}function I_(){const[t]=gt({}),e=Ct((i,o)=>{var s;(s=t[i])===null||s===void 0||s.forEach(a=>{o.isPropagationStopped()||a(o)})},[t]),n=Ht(()=>({onPointerDown:i=>e(Hd,i),onPointerMove:i=>e(Gd,i),onPointerUp:i=>e(Kd,i),onPointerLeave:i=>e(Yd,i),onPointerCancel:i=>e(Xd,i),onKeyDown:i=>e(Jd,i),onKeyUp:i=>e(e_,i),onWheel:i=>e(Zd,i)}),[e]),r=Ct((i,o)=>(t[i]||(t[i]=[]),t[i].unshift(o),()=>{const s=t[i];s&&s.splice(0,s.length,...s.filter(a=>a!==o))}),[t]);return{registerSensors:n,subscribeSensors:r}}function bh(t,e){const n=it(0),r=Si(),i=Ut((...o)=>{n.current=Date.now(),t(o)});return Ct((...o)=>{r(()=>{i(o)},e-(Date.now()-n.current))},[e,i,r])}const sa=ta("slide"),aa=ta("slide_image");function R_({slide:t,offset:e,render:n,rect:r,imageFit:i,imageProps:o,onClick:s,onLoad:a,onError:l,style:f}){var c,h,m,y,b,w,P;const[x,v]=gt(Xs),{publish:E}=bi(),{setTimeout:N}=xi(),O=it(null);ut(()=>{e===0&&E(Zb(x))},[e,x,E]);const j=Ut(G=>{("decode"in G?G.decode():Promise.resolve()).catch(()=>{}).then(()=>{G.parentNode&&(v(Zs),N(()=>{a==null||a(G)},0))})}),B=Ct(G=>{O.current=G,G!=null&&G.complete&&j(G)},[j]),F=Ct(G=>{j(G.currentTarget)},[j]),L=Ut(()=>{v(Js),l==null||l()}),Y=l_(t,i),Z=(G,S)=>Number.isFinite(G)?G:S,nt=Z(Math.max(...((h=(c=t.srcSet)===null||c===void 0?void 0:c.map(G=>G.width))!==null&&h!==void 0?h:[]).concat(t.width?[t.width]:[]).filter(Boolean)),((m=O.current)===null||m===void 0?void 0:m.naturalWidth)||0),st=Z(Math.max(...((b=(y=t.srcSet)===null||y===void 0?void 0:y.map(G=>G.height))!==null&&b!==void 0?b:[]).concat(t.height?[t.height]:[]).filter(Boolean)),((w=O.current)===null||w===void 0?void 0:w.naturalHeight)||0),_t=nt&&st?{maxWidth:`min(${nt}px, 100%)`,maxHeight:`min(${st}px, 100%)`}:{maxWidth:"100%",maxHeight:"100%"},dt=(P=t.srcSet)===null||P===void 0?void 0:P.sort((G,S)=>G.width-S.width).map(G=>`${G.src} ${G.width}w`).join(", "),It=()=>r&&!Y&&t.width&&t.height?r.height/t.height*t.width:Number.MAX_VALUE,at=dt&&r&&rh()?`${Math.round(Math.min(It(),r.width))}px`:void 0,{style:pt,className:z,...H}=o||{};return et(kt,null,et("img",{ref:B,onLoad:F,onError:L,onClick:s,draggable:!1,className:Be(St(aa()),Y&&St(aa("cover")),x!==Zs&&St(aa("loading")),z),style:{..._t,...f,...pt},...H,alt:t.alt,sizes:at,srcSet:dt,src:t.src}),x!==Zs&&et("div",{className:St(sa(Jb))},x===Xs&&(n!=null&&n.iconLoading?n.iconLoading():et(P_,{className:Be(St(Qs),St(sa(Xs)))})),x===Js&&(n!=null&&n.iconError?n.iconError():et(k_,{className:Be(St(Qs),St(sa(Js)))}))))}const N_=$e(function({className:e,children:n,...r},i){const o=it(null);return et(y_,{nodeRef:o},et("div",{ref:ia(i,o),className:Be(St("root"),e),...r},n))});var Qt;(function(t){t[t.NONE=0]="NONE",t[t.SWIPE=1]="SWIPE",t[t.PULL=2]="PULL",t[t.ANIMATION=3]="ANIMATION"})(Qt||(Qt={}));function M_(t,e,n,r,i){ut(()=>nh(t(Hd,e),t(Gd,n),t(Kd,r),t(Yd,r),t(Xd,r)),[t,e,n,r,i])}var ve;(function(t){t[t.NONE=0]="NONE",t[t.SWIPE=1]="SWIPE",t[t.PULL=2]="PULL"})(ve||(ve={}));const ca=30;function D_(t,e,n,r,i,o,s,a,l,f,c,h,m,y){const b=it(0),w=it([]),P=it(),x=it(0),v=it(ve.NONE),E=Ct(L=>{P.current===L.pointerId&&(P.current=void 0,v.current=ve.NONE);const Y=w.current;Y.splice(0,Y.length,...Y.filter(Z=>Z.pointerId!==L.pointerId))},[]),N=Ct(L=>{E(L),L.persist(),w.current.push(L)},[E]),O=Ut(L=>{N(L)}),j=(L,Y)=>f&&L>Y||l&&L<-Y,B=Ut(L=>{if(w.current.find(Y=>Y.pointerId===L.pointerId)&&P.current===L.pointerId){const Y=Date.now()-x.current,Z=b.current;v.current===ve.SWIPE?Math.abs(Z)>.3*n||Math.abs(Z)>5&&Y<r?s(Z,Y):a(Z):v.current===ve.PULL&&(j(Z,2*ca)?m(Z,Y):y(Z)),b.current=0,v.current=ve.NONE}E(L)}),F=Ut(L=>{const Y=w.current.find(Z=>Z.pointerId===L.pointerId);if(Y){const Z=P.current===L.pointerId;if(L.buttons===0){Z&&b.current!==0?B(L):E(Y);return}const nt=L.clientX-Y.clientX,st=L.clientY-Y.clientY;if(P.current===void 0){const _t=dt=>{N(L),P.current=L.pointerId,x.current=Date.now(),v.current=dt};Math.abs(nt)>Math.abs(st)&&Math.abs(nt)>ca&&e(nt)?(_t(ve.SWIPE),i()):Math.abs(st)>Math.abs(nt)&&j(st,ca)&&(_t(ve.PULL),c())}else Z&&(v.current===ve.SWIPE?(b.current=nt,o(nt)):v.current===ve.PULL&&(b.current=st,h(st)))}});M_(t,O,F,B)}function B_({preventDefaultWheelX:t,preventDefaultWheelY:e}){const n=it(null),r=Ut(i=>{const o=Math.abs(i.deltaX)>Math.abs(i.deltaY);(o&&t||!o&&e||i.ctrlKey)&&i.preventDefault()});return Ct(i=>{var o;i?i.addEventListener("wheel",r,{passive:!1}):(o=n.current)===null||o===void 0||o.removeEventListener("wheel",r),n.current=i},[r])}function F_(t,e,n,r,i,o,s,a,l){const f=it(0),c=it(0),h=it(),m=it(),y=it(0),b=it(),w=it(0),{setTimeout:P,clearTimeout:x}=xi(),v=Ct(()=>{h.current&&(x(h.current),h.current=void 0)},[x]),E=Ct(()=>{m.current&&(x(m.current),m.current=void 0)},[x]),N=Ut(()=>{t!==Qt.SWIPE&&(f.current=0,w.current=0,v(),E())});ut(N,[t,N]);const O=Ut(B=>{m.current=void 0,f.current===B&&l(f.current)}),j=Ut(B=>{if(B.ctrlKey||Math.abs(B.deltaY)>Math.abs(B.deltaX))return;const F=L=>{y.current=L,x(b.current),b.current=L>0?P(()=>{y.current=0,b.current=void 0},300):void 0};if(t===Qt.NONE){if(Math.abs(B.deltaX)<=1.2*Math.abs(y.current)){F(B.deltaX);return}if(!n(-B.deltaX))return;if(c.current+=B.deltaX,v(),Math.abs(c.current)>30)c.current=0,F(0),w.current=Date.now(),o();else{const L=c.current;h.current=P(()=>{h.current=void 0,L===c.current&&(c.current=0)},i)}}else if(t===Qt.SWIPE){let L=f.current-B.deltaX;if(L=Math.min(Math.abs(L),r)*Math.sign(L),f.current=L,s(L),E(),Math.abs(L)>.2*r){F(B.deltaX),a(L,Date.now()-w.current);return}m.current=P(()=>O(L),2*i)}else F(B.deltaX)});ut(()=>e(Zd,j),[e,j])}const _h=ta("container"),xh=te(null),Pr=sn("useController","ControllerContext",xh);function L_({children:t,...e}){var n;const{carousel:r,animation:i,controller:o,on:s,styles:a,render:l}=e,{closeOnPullUp:f,closeOnPullDown:c,preventDefaultWheelX:h,preventDefaultWheelY:m}=o,[y,b]=gt(),w=_i(),P=w_(),[x,v]=gt(Qt.NONE),E=it(0),N=it(0),O=it(1),{registerSensors:j,subscribeSensors:B}=I_(),{subscribe:F,publish:L}=bi(),Y=Si(),Z=Si(),nt=Si(),{containerRef:st,setContainerRef:_t,containerRect:dt}=vh(),It=ia(B_({preventDefaultWheelX:h,preventDefaultWheelY:m}),_t),at=it(null),pt=ia(at,void 0),{getOwnerDocument:z}=ra(),H=oa(),G=J=>(H?-1:1)*(typeof J=="number"?J:1),S=Ut(()=>{var J;return(J=st.current)===null||J===void 0?void 0:J.focus()}),M=Ut(()=>e),_=Ut(()=>w),A=Ct(J=>L(rn,J),[L]),I=Ct(J=>L(on,J),[L]),q=Ct(()=>L(Mn),[L]),$=J=>!(r.finite&&(G(J)>0&&w.currentIndex===0||G(J)<0&&w.currentIndex===w.slides.length-1)),W=J=>{var vt;E.current=J,(vt=st.current)===null||vt===void 0||vt.style.setProperty(oe("swipe_offset"),`${Math.round(J)}px`)},K=J=>{var vt,Et;N.current=J,O.current=(()=>{const X=c&&J>0?J:f&&J<0?-J:0;return Math.min(Math.max(c_(1-X/60*(1-.5),2),.5),1)})(),(vt=st.current)===null||vt===void 0||vt.style.setProperty(oe("pull_offset"),`${Math.round(J)}px`),(Et=st.current)===null||Et===void 0||Et.style.setProperty(oe("pull_opacity"),`${O.current}`)},{prepareAnimation:rt}=gh(at,(J,vt,Et)=>{if(at.current&&dt)return{keyframes:[{transform:`translate(0, ${J.rect.y-vt.y+Et.y}px)`,opacity:J.opacity},{transform:"translate(0, 0)",opacity:1}],duration:J.duration,easing:i.easing.fade}}),ht=(J,vt)=>{if(f||c){K(J);let Et=0;at.current&&(Et=i.fade*(vt?2:1),rt({rect:at.current.getBoundingClientRect(),opacity:O.current,duration:Et})),nt(()=>{K(0),v(Qt.NONE)},Et),v(Qt.ANIMATION),vt||q()}},{prepareAnimation:wt,isAnimationPlaying:Pt}=gh(at,(J,vt,Et)=>{var k;if(at.current&&dt&&(!((k=w.animation)===null||k===void 0)&&k.duration)){const R=wi(r.spacing),X=(R.percent?R.percent*dt.width/100:R.pixel)||0;return{keyframes:[{transform:`translate(${G(w.globalIndex-J.index)*(dt.width+X)+J.rect.x-vt.x+Et.x}px, 0)`},{transform:"translate(0, 0)"}],duration:w.animation.duration,easing:w.animation.easing}}}),$t=Ut(J=>{var vt,Et;const k=J.offset||0,R=k?i.swipe:(vt=i.navigation)!==null&&vt!==void 0?vt:i.swipe,X=!k&&!Pt()?i.easing.navigation:i.easing.swipe;let{direction:tt}=J;const Q=(Et=J.count)!==null&&Et!==void 0?Et:1;let ct=Qt.ANIMATION,p=R*Q;if(!tt){const d=dt==null?void 0:dt.width,g=J.duration||0,T=d?R/d*Math.abs(k):R;Q!==0?(g<T?p=p/T*Math.max(g,T/5):d&&(p=R/d*(d-Math.abs(k))),tt=G(k)>0?rn:on):p=R/2}let u=0;tt===rn?$(G(1))?u=-Q:(ct=Qt.NONE,p=R):tt===on&&($(G(-1))?u=Q:(ct=Qt.NONE,p=R)),p=Math.round(p),Z(()=>{W(0),v(Qt.NONE)},p),at.current&&wt({rect:at.current.getBoundingClientRect(),index:w.globalIndex}),v(ct),L(Wd,{type:"swipe",increment:u,duration:p,easing:X})});ut(()=>{var J,vt;!((J=w.animation)===null||J===void 0)&&J.increment&&(!((vt=w.animation)===null||vt===void 0)&&vt.duration)&&Y(()=>P({type:"swipe",increment:0}),w.animation.duration)},[w.animation,P,Y]);const Yt=[B,$,(dt==null?void 0:dt.width)||0,i.swipe,()=>v(Qt.SWIPE),J=>W(J),(J,vt)=>$t({offset:J,duration:vt,count:1}),J=>$t({offset:J,count:0})],Jt=[()=>{c&&v(Qt.PULL)},J=>K(J),J=>ht(J),J=>ht(J,!0)];D_(...Yt,f,c,...Jt),F_(x,...Yt);const Wt=Ut(()=>{o.focus&&z().querySelector(`.${St(Ys)} .${St(_h())}`)&&S()});ut(Wt,[Wt]);const U=Ut(()=>{var J;(J=s.view)===null||J===void 0||J.call(s,{index:w.currentIndex})});ut(U,[w.globalIndex,U]),ut(()=>nh(F(rn,J=>$t({direction:rn,...J})),F(on,J=>$t({direction:on,...J})),F(Wd,J=>P(J))),[F,$t,P]);const me=Ht(()=>({prev:A,next:I,close:q,focus:S,slideRect:dt?u_(dt,r.padding):{width:0,height:0},containerRect:dt||{width:0,height:0},subscribeSensors:B,containerRef:st,setCarouselRef:pt,toolbarWidth:y,setToolbarWidth:b}),[A,I,q,S,B,dt,st,pt,y,b,r.padding]);return Jn(o.ref,()=>({prev:A,next:I,close:q,focus:S,getLightboxProps:M,getLightboxState:_}),[A,I,q,S,M,_]),et("div",{ref:It,className:Be(St(_h()),St(zd)),style:{...x===Qt.SWIPE?{[oe("swipe_offset")]:`${Math.round(E.current)}px`}:null,...x===Qt.PULL?{[oe("pull_offset")]:`${Math.round(N.current)}px`,[oe("pull_opacity")]:`${O.current}`}:null,...o.touchAction!=="none"?{[oe("controller_touch_action")]:o.touchAction}:null,...a.container},...o.aria?{role:"presentation","aria-live":"polite"}:null,tabIndex:-1,...j},dt&&et(xh.Provider,{value:me},t,(n=l.controls)===null||n===void 0?void 0:n.call(l)))}const j_=an(Vd,L_);function cn(t){return Sr($d,t)}function Sh(t){return Sr("slide",t)}function $_({slide:t,offset:e}){const n=it(null),{currentIndex:r}=_i(),{slideRect:i,close:o,focus:s}=Pr(),{render:a,carousel:{imageFit:l,imageProps:f},on:{click:c},controller:{closeOnBackdropClick:h},styles:{slide:m}}=Er(),{getOwnerDocument:y}=ra(),b=e!==0;ut(()=>{var x;b&&(!((x=n.current)===null||x===void 0)&&x.contains(y().activeElement))&&s()},[b,s,y]);const w=()=>{var x,v,E,N;let O=(x=a.slide)===null||x===void 0?void 0:x.call(a,{slide:t,offset:e,rect:i});return!O&&ih(t)&&(O=et(R_,{slide:t,offset:e,render:a,rect:i,imageFit:l,imageProps:f,onClick:b?void 0:()=>c==null?void 0:c({index:r})})),O?et(kt,null,(v=a.slideHeader)===null||v===void 0?void 0:v.call(a,{slide:t}),((E=a.slideContainer)!==null&&E!==void 0?E:({children:j})=>j)({slide:t,children:O}),(N=a.slideFooter)===null||N===void 0?void 0:N.call(a,{slide:t})):null},P=x=>{const v=n.current,E=x.target instanceof HTMLElement?x.target:void 0;h&&E&&v&&(E===v||Array.from(v.children).find(N=>N===E)&&E.classList.contains(St(t_)))&&o()};return et("div",{ref:n,className:Be(St(Sh()),!b&&St(Sh("current")),St(zd)),...p_(b),onClick:P,style:m},w())}function V_(){const t=Er().styles.slide;return et("div",{className:St("slide"),style:t})}function U_({carousel:t}){const{slides:e,currentIndex:n,globalIndex:r}=_i(),{setCarouselRef:i}=Pr(),o=wi(t.spacing),s=wi(t.padding),a=d_(t,e,1),l=[];if(sh(e))for(let f=n-a;f<=n+a;f+=1){const c=ah(e,f),h=r-n+f,m=t.finite&&(f<0||f>e.length-1);l.push(m?{key:h}:{key:[`${h}`,f_(c)].filter(Boolean).join("|"),offset:f-n,slide:c})}return et("div",{ref:i,className:Be(St(cn()),l.length>0&&St(cn("with_slides"))),style:{[`${oe(cn("slides_count"))}`]:l.length,[`${oe(cn("spacing_px"))}`]:o.pixel||0,[`${oe(cn("spacing_percent"))}`]:o.percent||0,[`${oe(cn("padding_px"))}`]:s.pixel||0,[`${oe(cn("padding_percent"))}`]:s.percent||0}},l.map(({key:f,slide:c,offset:h})=>c?et($_,{key:f,slide:c,offset:h}):et(V_,{key:f})))}const z_=an($d,U_);function Eh(){const{carousel:t}=Er(),{slides:e,currentIndex:n}=_i(),r=e.length===0||t.finite&&n===0,i=e.length===0||t.finite&&n===e.length-1;return{prevDisabled:r,nextDisabled:i}}function q_(t){var e;const n=oa(),{publish:r}=bi(),{animation:i}=Er(),{prevDisabled:o,nextDisabled:s}=Eh(),a=((e=i.navigation)!==null&&e!==void 0?e:i.swipe)/2,l=bh(()=>r(rn),a),f=bh(()=>r(on),a),c=Ut(h=>{switch(h.key){case n_:r(Mn);break;case r_:(n?s:o)||(n?f:l)();break;case i_:(n?o:s)||(n?l:f)();break}});ut(()=>t(Jd,c),[t,c])}function Ah({label:t,icon:e,renderIcon:n,action:r,onClick:i,disabled:o,style:s}){return et(mh,{label:t,icon:e,renderIcon:n,className:St(`navigation_${r}`),disabled:o,onClick:i,style:s,...O_(Pr().focus,o)})}function W_({render:{buttonPrev:t,buttonNext:e,iconPrev:n,iconNext:r},styles:i}){const{prev:o,next:s,subscribeSensors:a}=Pr(),{prevDisabled:l,nextDisabled:f}=Eh();return q_(a),et(kt,null,t?t():et(Ah,{label:"Previous",action:rn,icon:A_,renderIcon:n,style:i.navigationPrev,disabled:l,onClick:o}),e?e():et(Ah,{label:"Next",action:on,icon:T_,renderIcon:r,style:i.navigationNext,disabled:f,onClick:s}))}const H_=an(Kb,W_),Th=St(Qb),G_=St(qd);function K_(t){return"style"in t}function Ph(t,e,n){const r=window.getComputedStyle(t),i=n?"padding-left":"padding-right",o=n?r.paddingLeft:r.paddingRight,s=t.style.getPropertyValue(i);return t.style.setProperty(i,`${(vi(o)||0)+e}px`),()=>{s?t.style.setProperty(i,s):t.style.removeProperty(i)}}function Y_({noScroll:{disabled:t},children:e}){const n=oa(),{getOwnerDocument:r,getOwnerWindow:i}=ra();return ut(()=>{if(t)return()=>{};const o=[],s=i(),{body:a,documentElement:l}=r(),f=Math.round(s.innerWidth-l.clientWidth);if(f>0){o.push(Ph(a,f,n));const c=a.getElementsByTagName("*");for(let h=0;h<c.length;h+=1){const m=c[h];K_(m)&&s.getComputedStyle(m).getPropertyValue("position")==="fixed"&&!m.classList.contains(G_)&&o.push(Ph(m,f,n))}}return a.classList.add(Th),()=>{a.classList.remove(Th),o.forEach(c=>c())}},[n,t,r,i]),et(kt,null,e)}const X_=an(Yb,Y_);function kh(t){return Sr(Ys,t)}function Ch(t,e,n){const r=t.getAttribute(e);return t.setAttribute(e,n),()=>{r?t.setAttribute(e,r):t.removeAttribute(e)}}function J_({children:t,animation:e,styles:n,className:r,on:i,portal:o,close:s}){const[a,l]=gt(!1),[f,c]=gt(!1),h=it([]),m=it(null),{setTimeout:y}=xi(),{subscribe:b}=bi(),P=yh()?0:e.fade;ut(()=>(l(!0),()=>{l(!1),c(!1)}),[]);const x=Ut(()=>{h.current.forEach(O=>O()),h.current=[]}),v=Ut(()=>{var O;c(!1),x(),(O=i.exiting)===null||O===void 0||O.call(i),y(()=>{var j;(j=i.exited)===null||j===void 0||j.call(i),s()},P)});ut(()=>b(Mn,v),[b,v]);const E=Ut(O=>{var j,B,F;O.scrollTop,c(!0),(j=i.entering)===null||j===void 0||j.call(i);const L=(F=(B=O.parentNode)===null||B===void 0?void 0:B.children)!==null&&F!==void 0?F:[];for(let Y=0;Y<L.length;Y+=1){const Z=L[Y];["TEMPLATE","SCRIPT","STYLE"].indexOf(Z.tagName)===-1&&Z!==O&&(h.current.push(Ch(Z,"inert","")),h.current.push(Ch(Z,"aria-hidden","true")))}h.current.push(()=>{var Y,Z;(Z=(Y=m.current)===null||Y===void 0?void 0:Y.focus)===null||Z===void 0||Z.call(Y)}),y(()=>{var Y;(Y=i.entered)===null||Y===void 0||Y.call(i)},P)}),N=Ct(O=>{O?E(O):x()},[E,x]);return a?yo(et(N_,{ref:N,className:Be(r,St(kh()),St(qd),f&&St(kh("open"))),role:"presentation","aria-live":"polite",style:{...e.fade!==na.animation.fade?{[oe("fade_animation_duration")]:`${P}ms`}:null,...e.easing.fade!==na.animation.easing.fade?{[oe("fade_animation_timing_function")]:e.easing.fade}:null,...n.root},onFocus:O=>{m.current||(m.current=O.relatedTarget)}},t),o.root||document.body):null}const Z_=an(Ys,J_);function Q_({children:t}){return et(kt,null,t)}const t1=an(Xb,Q_);function e1(t){return Sr(Ud,t)}function n1({toolbar:{buttons:t},render:{buttonClose:e,iconClose:n},styles:r}){const{close:i,setToolbarWidth:o}=Pr(),{setContainerRef:s,containerRect:a}=vh();Tr(()=>{o(a==null?void 0:a.width)},[o,a==null?void 0:a.width]);const l=()=>e?e():et(mh,{key:Mn,label:"Close",icon:E_,renderIcon:n,onClick:i});return et("div",{ref:s,style:r.toolbar,className:St(e1())},t==null?void 0:t.map(f=>f===Mn?l():f))}const r1=an(Ud,n1);function Oh(t,e){var n;return et(t.module.component,{key:t.module.name,...e},(n=t.children)===null||n===void 0?void 0:n.map(r=>Oh(r,e)))}function i1(t,e={}){const{easing:n,...r}=t,{easing:i,...o}=e;return{easing:{...n,...i},...r,...o}}function o1({carousel:t,animation:e,render:n,toolbar:r,controller:i,noScroll:o,on:s,plugins:a,slides:l,index:f,...c}){const{animation:h,carousel:m,render:y,toolbar:b,controller:w,noScroll:P,on:x,slides:v,index:E,plugins:N,...O}=na,{config:j,augmentation:B}=m_([Gt(Z_,[Gt(X_,[Gt(j_,[Gt(z_),Gt(r1),Gt(H_)])])])],a||N),F=B({animation:i1(h,e),carousel:{...m,...t},render:{...y,...n},toolbar:{...b,...r},controller:{...w,...i},noScroll:{...P,...o},on:{...x,...s},...O,...c});return F.open?et(v_,{...F},et(__,{slides:l||v,index:vi(f||E)},et(x_,null,et(g_,null,Oh(Gt(t1,j),F))))):null}const Ih=({messageIndexKey:t,attachments:e})=>{const{setFullScreen:n}=Mt(),[r,i]=gt(!1),o=Ft(xm);function s(){if(o){const f=o.getElementById("deskcord-lightbox-portal");if(f)return f}const l=document.getElementById("deskcord-lightbox-portal");return l||document.body}function a(){return e!=null&&e.length?C(o1,{open:r,portal:{root:s()},close:()=>{i(!1),n(!1)},slides:e.map(l=>({src:l.proxyURL}))}):null}return e!=null&&e.length?C("div",{children:[e.map((l,f)=>{const{proxyURL:c,width:h,height:m}=l;return C("div",{onClick:()=>{n(!0),i(!0)},children:C("img",{src:c,alt:"Preview",className:`rounded-lg w-[${h}px] h-[${m}px] max-w-[200px] max-h-[200px] aspect-auto`})},`conv-cus-attachment-${t}-${f}`)}),a()]},`conv-cus-attachment-${t}`):null},s1=({renderTimestamp:t,message:e,indexKey:n})=>{function r(i,o){const s=/<\w?:\w+:\d+>/g,a=i.split(s),l=i.match(s)??[],f=[];for(let c=0;c<a.length;c++)if(f.push(a[c]),l[c]){const h=o[l[c]];h&&f.push(C("img",{src:h.imageURL,alt:"",style:{display:"inline-block",width:"20px",height:"20px"}},c))}return f}return C("li",{className:"flex flex-col items-start max-w-lg gap-x-2 sm:gap-x-4 me-11",children:[e.content&&C("div",{style:{background:"linear-gradient(167deg, #27292A 0%, #404547 100%)"},className:"text-white text-sm min-w-10 inline-block rounded-lg px-3 py-2 shadow-sm",children:r(e.content,e.emojis??{})}),C("div",{className:"flex flex-1",children:C(Ih,{attachments:e.attachments,messageIndexKey:n})}),t&&C("div",{children:C("span",{className:"mt-1.5 flex items-center gap-x-1 text-xs text-gray-500",children:[e.authorName," ยท ",jd(e.date)," ",e.edited?"(edited)":""]})})]},`conv-cs-${n}`)},a1=({message:t,indexKey:e})=>C("li",{className:`flex ms-auto my-[3px] ${t.pending?"opacity-80":""}`,children:[t.content&&C("div",{className:"grow text-end",children:C("div",{style:{background:"linear-gradient(167deg, #7289DA 0%, #5B6EAB 100%)"},className:"min-w-10 inline-block rounded-lg px-3 py-2 shadow-sm",children:C("p",{className:"text-center text-sm text-white",children:t.content})})}),t.attachments&&C("div",{className:"flex flex-1 justify-end",children:C(Ih,{attachments:t.attachments,messageIndexKey:e})},`conv-cus-${e}-attachments`)]},`conv-cus-${e}`),c1=({message:t,indexKey:e})=>C("li",{className:"max-w-lg flex gap-x-2 sm:gap-x-4 me-11",children:C("div",{className:"bg-white border border-gray-200 rounded-2xl p-4 space-y-3 dark:bg-neutral-900 dark:border-neutral-700",children:C("p",{className:"mb-1.5 text-sm text-gray-800 dark:text-white",children:t.content})})},`conv-system-${e}`),l1=()=>{const{setEmail:t,setUsername:e,username:n,email:r,token:i}=Mt(),[o,s]=gt(r),[a,l]=gt(n),[f,c]=gt(""),[h,m]=gt(!1),y=x=>/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(x),b=!!n&&!!r,w=x=>{if(x.preventDefault(),!!a.trim()){if(!y(o)){c("Please enter a valid email address");return}h||(m(!0),c(""),t(o),e(a))}};function P(){return C("form",{onSubmit:w,className:"w-full space-y-4",children:[C("div",{className:"mb-4",children:[C("h3",{className:"text-base font-semibold text-gray-900 mb-1",children:"Let's get started"}),C("p",{className:"text-sm text-gray-600",children:"Tell us a bit about yourself so we can assist you better."})]}),C("div",{children:[C("label",{htmlFor:"name",className:"block text-sm font-medium text-gray-700 mb-2",children:"Your name"}),C("div",{className:"relative",children:[C("div",{className:"absolute inset-y-0 start-0 flex items-center pointer-events-none z-20 ps-3.5",children:C(Nw,{size:18,className:"text-gray-400"})}),C("input",{type:"text",id:"name",value:a,onChange:x=>l(x.target.value),name:"name",className:"py-2.5 px-4 ps-11 block w-full bg-white border border-gray-300 rounded-lg text-base md:text-sm text-gray-900 placeholder-gray-500 transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-[#7289DA] focus:ring-opacity-50 focus:border-transparent disabled:bg-gray-100 disabled:text-gray-500 disabled:cursor-not-allowed",placeholder:"John Smith",disabled:b,required:!0})]})]}),C("div",{children:[C("label",{htmlFor:"email",className:"block text-sm font-medium text-gray-700 mb-2",children:"Email address"}),C("div",{className:"relative",children:[C("div",{className:"absolute inset-y-0 start-0 flex items-center pointer-events-none z-20 ps-3.5",children:C(Pw,{size:18,className:"text-gray-400"})}),C("input",{type:"email",id:"email",value:o,onChange:x=>{s(x.target.value),f&&c("")},name:"email",className:`py-2.5 px-4 ps-11 block w-full bg-white rounded-lg text-base md:text-sm text-gray-900 placeholder-gray-500 transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-opacity-50 focus:border-transparent disabled:bg-gray-100 disabled:text-gray-500 disabled:cursor-not-allowed border ${f?"border-red-500 focus:ring-red-500":"border-gray-300 focus:ring-[#7289DA]"}`,placeholder:"you@example.com",disabled:b,required:!0})]}),f&&C("p",{className:"text-red-600 text-sm mt-2 flex items-center gap-1",children:[C("span",{className:"inline-block w-1 h-1 bg-red-600 rounded-full"}),f]})]}),C("p",{className:"text-xs text-gray-500 text-center",children:"We'll never share your information"}),!n||!r?C("button",{type:"submit",className:"w-full py-2.5 px-4 bg-[#7289DA] hover:bg-[#5B6EAB] text-white font-medium text-sm rounded-lg transition-all duration-200 transform hover:shadow-md active:scale-95 focus:outline-none focus:ring-2 focus:ring-[#7289DA] focus:ring-opacity-50 disabled:opacity-50 disabled:cursor-not-allowed",disabled:h,children:"Start Chatting"}):null]})}return C(kt,{children:[C("li",{className:`max-w-lg flex gap-x-2 sm:gap-x-4 me-11 ${i?"opacity-75":""}`,children:C("div",{className:"w-full rounded-xl p-5 bg-white shadow-lg border border-gray-100 overflow-hidden",children:P()})}),n&&r&&C("li",{className:"flex ms-auto my-4 animate-slide-in",style:{marginTop:"1rem"},children:C("div",{className:"grow",children:C("div",{style:{background:"linear-gradient(167deg, #7289DA 0%, #5B6EAB 100%)"},className:"min-w-10 inline-block rounded-lg px-4 py-2 shadow-sm flex items-center gap-2",children:[C(Aw,{size:16,className:"text-white flex-shrink-0"}),C("p",{className:"text-sm text-white font-medium",children:["Nice to meet you, ",C("span",{className:"font-semibold",children:n}),"! Feel free to ask us anything."]})]})})})]})};function u1(t,e){const n=it();ut(()=>{n.current=t},[t]),ut(()=>{function r(){var i;(i=n==null?void 0:n.current)==null||i.call(n)}if(e!==null){const i=setInterval(r,e);return()=>clearInterval(i)}},[e])}function f1(t,e=!1,n=1){const r=e?1e3:1024;if(Math.abs(t)<r)return t+" B";const i=e?["kB","MB","GB","TB","PB","EB","ZB","YB"]:["KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"];let o=-1;const s=10**n;do t/=r,++o;while(Math.round(Math.abs(t)*s)/s>=r&&o<i.length-1);return t.toFixed(n)+" "+i[o]}const d1=({indexKey:t,message:e})=>{const n=e.customRendererProps.file,r=n.status==="error",[i,o]=gt(!0),[s,a]=gt(0);return u1(()=>{s<88?a(s+2.5):o(!1)},i&&!r?250:null),C("li",{className:"max-w-lg flex gap-x-2 sm:gap-x-4",style:{marginTop:"20px",marginBottom:"20px"},children:C("div",{className:"w-full bg-white border border-gray-200 rounded-2xl p-4 space-y-4",children:C("div",{children:[C("div",{className:"mb-2 flex justify-between items-center",children:[C("div",{className:"flex items-center gap-x-3",children:[C("span",{className:`size-8 flex ${r?"text-red-500":"text-blue-600"} justify-center items-center border border-gray-200 rounded-lg dark:border-neutral-700 dark:text-neutral-500`,children:C(Tw,{})}),C("div",{children:[C("p",{className:`text-sm ${r?"font-semibold text-red-500":"font-medium text-gray-800"}`,children:n.fileName}),C("p",{className:"text-xs text-gray-500 dark:text-neutral-500",children:f1(n.size)})]})]}),r&&C("div",{className:"inline-flex items-center gap-x-2",children:C("span",{className:"relative",children:[C("svg",{className:"shrink-0 size-4 text-red-500",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",viewBox:"0 0 16 16",children:C("path",{d:"M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z"})}),C("span",{className:"sr-only",children:"Danger"})]})})]}),C("div",{className:"flex items-center gap-x-3 whitespace-nowrap",children:[C("div",{className:"flex w-full h-2 bg-gray-200 rounded-full overflow-hidden dark:bg-neutral-700",role:"progressbar",children:C("div",{className:`flex flex-col justify-center rounded-full overflow-hidden ${r?"bg-red-500":"bg-blue-600"} text-xs text-white text-center whitespace-nowrap transition duration-500 dark:bg-blue-500`,style:{width:`${s}%`}})}),C("div",{className:"w-6 text-end",children:C("span",{className:"text-sm text-gray-800 dark:text-white",children:[Math.round(s),"%"]})})]})]})})},`conv-fileupload-${t}`)},h1=({conversation:t,open:e})=>{const n=it(!1),{isChatOpen:r}=Mt();ut(()=>{r?n.current=!0:n.current=!1},[r]);function i(l,f){const c=`${l.date}-${f}`;let h;if(typeof l.customRenderer<"u")switch(l.customRenderer){case Nn.IntroduceYourself:h=C(l1,{});break;case Nn.UploadFile:h=C(d1,{message:l,indexKey:c});break;default:h=a(l,c)}else l.authorName===xr?h=a(l,c):l.support?h=o(l,c):h=s(l,c);return r&&(l.pending??(l.support&&n.current))?C(De.li,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.3,ease:"easeOut"},children:h},c):C("li",{children:h},c)}function o(l,f){var y;const c=(y=t==null?void 0:t.messages)==null?void 0:y.filter(b=>b.support),h=c==null?void 0:c[c.length-1],m=l.date===(h==null?void 0:h.date);return C(s1,{renderTimestamp:m,message:l,indexKey:f})}function s(l,f){return C(a1,{message:l,indexKey:f})}function a(l,f){return C(c1,{message:l,indexKey:f})}return C("ul",{className:"space-y-[3px]",children:[[...(t==null?void 0:t.messages)??[]].sort((l,f)=>l.date-f.date).map(i),t&&!e&&i(Fb,1)]})},p1=()=>{const{getConversation:t,addMessage:e,tempConversationToThread:n,username:r,email:i,updateMessage:o,isChatOpen:s}=Mt(),a=!!(r&&i),l=it(!1);ut(()=>{s&&!l.current&&(l.current=!0),s||(l.current=!1)},[s]);const[f,c]=gt(!1),[h,m]=gt([]),[y,b]=gt({}),w=t(),P=(w==null?void 0:w.status)==="open",[x,v]=gt("");ut(()=>{const j={};h.forEach(B=>{const F=new FileReader;F.addEventListener("load",function(){const L=new Image;L.onload=()=>{j[B.name]={url:F.result,width:L.width,height:L.height,size:B.size},b(j)},L.src=F.result},!1),F.readAsDataURL(B)})},[h]);const E=j=>{v(B=>B+j)},N=async()=>{const j=Date.now(),B={support:!1,content:x,date:j,authorName:r,pending:!0};if(x.trim()!==""){v(""),e(w?w.threadId:"TEMP",B);const F=await Bb({content:x});F&&((!w||w.threadId==="TEMP")&&n(F.threadId),o(F.threadId,j,{...B,pending:!1,date:F.date}))}},O=s&&!l.current;return C(kt,{children:[C("div",{className:"flex-1 overflow-y-auto overflow-x-hidden p-4 flex flex-col-reverse space-y-4 space-y-reverse",children:C(De.div,{initial:O?{opacity:0,x:20}:!1,animate:{opacity:1,x:0},transition:{duration:.3,ease:"easeOut",delay:.1},children:C(h1,{conversation:w,open:P})})}),C(Gb,{attachmentPreviews:y,files:h,setFiles:m,inputMessage:x,setInputMessage:v,showEmojiPicker:f,setShowEmojiPicker:c,addEmoji:E,sendMessage:N,disabled:!a})]})};function Rh(t,e){switch(t){case"online":return e==="text"?"text-teal-600":"bg-teal-400";case"idle":return e==="text"?"text-yellow-600":"bg-yellow-400";case"dnd":return e==="text"?"text-red-600":"bg-red-400";case"offline":case"invisible":return e==="text"?"text-black":"bg-gray-400";default:return e==="text"?"text-black":"bg-gray-400"}}function m1(t){switch(t){case"online":return"Online";case"idle":case"offline":case"invisible":return"Away";case"dnd":return"Unavailable";default:return"Away"}}const Ee=Object.create(null);Ee.open="0",Ee.close="1",Ee.ping="2",Ee.pong="3",Ee.message="4",Ee.upgrade="5",Ee.noop="6";const Ei=Object.create(null);Object.keys(Ee).forEach(t=>{Ei[Ee[t]]=t});const la={type:"error",data:"parser error"},Nh=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",Mh=typeof ArrayBuffer=="function",Dh=t=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(t):t&&t.buffer instanceof ArrayBuffer,ua=({type:t,data:e},n,r)=>Nh&&e instanceof Blob?n?r(e):Bh(e,r):Mh&&(e instanceof ArrayBuffer||Dh(e))?n?r(e):Bh(new Blob([e]),r):r(Ee[t]+(e||"")),Bh=(t,e)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];e("b"+(r||""))},n.readAsDataURL(t)};function Fh(t){return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}let fa;function y1(t,e){if(Nh&&t.data instanceof Blob)return t.data.arrayBuffer().then(Fh).then(e);if(Mh&&(t.data instanceof ArrayBuffer||Dh(t.data)))return e(Fh(t.data));ua(t,!1,n=>{fa||(fa=new TextEncoder),e(fa.encode(n))})}const Lh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",kr=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let t=0;t<Lh.length;t++)kr[Lh.charCodeAt(t)]=t;const g1=t=>{let e=t.length*.75,n=t.length,r,i=0,o,s,a,l;t[t.length-1]==="="&&(e--,t[t.length-2]==="="&&e--);const f=new ArrayBuffer(e),c=new Uint8Array(f);for(r=0;r<n;r+=4)o=kr[t.charCodeAt(r)],s=kr[t.charCodeAt(r+1)],a=kr[t.charCodeAt(r+2)],l=kr[t.charCodeAt(r+3)],c[i++]=o<<2|s>>4,c[i++]=(s&15)<<4|a>>2,c[i++]=(a&3)<<6|l&63;return f},v1=typeof ArrayBuffer=="function",da=(t,e)=>{if(typeof t!="string")return{type:"message",data:jh(t,e)};const n=t.charAt(0);return n==="b"?{type:"message",data:w1(t.substring(1),e)}:Ei[n]?t.length>1?{type:Ei[n],data:t.substring(1)}:{type:Ei[n]}:la},w1=(t,e)=>{if(v1){const n=g1(t);return jh(n,e)}else return{base64:!0,data:t}},jh=(t,e)=>{switch(e){case"blob":return t instanceof Blob?t:new Blob([t]);case"arraybuffer":default:return t instanceof ArrayBuffer?t:t.buffer}},$h="",b1=(t,e)=>{const n=t.length,r=new Array(n);let i=0;t.forEach((o,s)=>{ua(o,!1,a=>{r[s]=a,++i===n&&e(r.join($h))})})},_1=(t,e)=>{const n=t.split($h),r=[];for(let i=0;i<n.length;i++){const o=da(n[i],e);if(r.push(o),o.type==="error")break}return r};function x1(){return new TransformStream({transform(t,e){y1(t,n=>{const r=n.length;let i;if(r<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,r);else if(r<65536){i=new Uint8Array(3);const o=new DataView(i.buffer);o.setUint8(0,126),o.setUint16(1,r)}else{i=new Uint8Array(9);const o=new DataView(i.buffer);o.setUint8(0,127),o.setBigUint64(1,BigInt(r))}t.data&&typeof t.data!="string"&&(i[0]|=128),e.enqueue(i),e.enqueue(n)})}})}let ha;function Ai(t){return t.reduce((e,n)=>e+n.length,0)}function Ti(t,e){if(t[0].length===e)return t.shift();const n=new Uint8Array(e);let r=0;for(let i=0;i<e;i++)n[i]=t[0][r++],r===t[0].length&&(t.shift(),r=0);return t.length&&r<t[0].length&&(t[0]=t[0].slice(r)),n}function S1(t,e){ha||(ha=new TextDecoder);const n=[];let r=0,i=-1,o=!1;return new TransformStream({transform(s,a){for(n.push(s);;){if(r===0){if(Ai(n)<1)break;const l=Ti(n,1);o=(l[0]&128)===128,i=l[0]&127,i<126?r=3:i===126?r=1:r=2}else if(r===1){if(Ai(n)<2)break;const l=Ti(n,2);i=new DataView(l.buffer,l.byteOffset,l.length).getUint16(0),r=3}else if(r===2){if(Ai(n)<8)break;const l=Ti(n,8),f=new DataView(l.buffer,l.byteOffset,l.length),c=f.getUint32(0);if(c>Math.pow(2,21)-1){a.enqueue(la);break}i=c*Math.pow(2,32)+f.getUint32(4),r=3}else{if(Ai(n)<i)break;const l=Ti(n,i);a.enqueue(da(o?l:ha.decode(l),e)),r=0}if(i===0||i>t){a.enqueue(la);break}}}})}const Vh=4;function zt(t){if(t)return E1(t)}function E1(t){for(var e in zt.prototype)t[e]=zt.prototype[e];return t}zt.prototype.on=zt.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},zt.prototype.once=function(t,e){function n(){this.off(t,n),e.apply(this,arguments)}return n.fn=e,this.on(t,n),this},zt.prototype.off=zt.prototype.removeListener=zt.prototype.removeAllListeners=zt.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var n=this._callbacks["$"+t];if(!n)return this;if(arguments.length==1)return delete this._callbacks["$"+t],this;for(var r,i=0;i<n.length;i++)if(r=n[i],r===e||r.fn===e){n.splice(i,1);break}return n.length===0&&delete this._callbacks["$"+t],this},zt.prototype.emit=function(t){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),n=this._callbacks["$"+t],r=1;r<arguments.length;r++)e[r-1]=arguments[r];if(n){n=n.slice(0);for(var r=0,i=n.length;r<i;++r)n[r].apply(this,e)}return this},zt.prototype.emitReserved=zt.prototype.emit,zt.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks["$"+t]||[]},zt.prototype.hasListeners=function(t){return!!this.listeners(t).length};const he=typeof self<"u"?self:typeof window<"u"?window:Function("return this")();function Uh(t,...e){return e.reduce((n,r)=>(t.hasOwnProperty(r)&&(n[r]=t[r]),n),{})}const A1=he.setTimeout,T1=he.clearTimeout;function Pi(t,e){e.useNativeTimers?(t.setTimeoutFn=A1.bind(he),t.clearTimeoutFn=T1.bind(he)):(t.setTimeoutFn=he.setTimeout.bind(he),t.clearTimeoutFn=he.clearTimeout.bind(he))}const P1=1.33;function k1(t){return typeof t=="string"?C1(t):Math.ceil((t.byteLength||t.size)*P1)}function C1(t){let e=0,n=0;for(let r=0,i=t.length;r<i;r++)e=t.charCodeAt(r),e<128?n+=1:e<2048?n+=2:e<55296||e>=57344?n+=3:(r++,n+=4);return n}function O1(t){let e="";for(let n in t)t.hasOwnProperty(n)&&(e.length&&(e+="&"),e+=encodeURIComponent(n)+"="+encodeURIComponent(t[n]));return e}function I1(t){let e={},n=t.split("&");for(let r=0,i=n.length;r<i;r++){let o=n[r].split("=");e[decodeURIComponent(o[0])]=decodeURIComponent(o[1])}return e}class R1 extends Error{constructor(e,n,r){super(e),this.description=n,this.context=r,this.type="TransportError"}}class pa extends zt{constructor(e){super(),this.writable=!1,Pi(this,e),this.opts=e,this.query=e.query,this.socket=e.socket}onError(e,n,r){return super.emitReserved("error",new R1(e,n,r)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(e){this.readyState==="open"&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const n=da(e,this.socket.binaryType);this.onPacket(n)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,n={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(n)}_hostname(){const e=this.opts.hostname;return e.indexOf(":")===-1?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&+(this.opts.port!==443)||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(e){const n=O1(e);return n.length?"?"+n:""}}const zh="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),ma=64,N1={};let qh=0,ki=0,Wh;function Hh(t){let e="";do e=zh[t%ma]+e,t=Math.floor(t/ma);while(t>0);return e}function Gh(){const t=Hh(+new Date);return t!==Wh?(qh=0,Wh=t):t+"."+Hh(qh++)}for(;ki<ma;ki++)N1[zh[ki]]=ki;let Kh=!1;try{Kh=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const M1=Kh;function Yh(t){const e=t.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||M1))return new XMLHttpRequest}catch{}if(!e)try{return new he[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}function gA(){}function D1(){}const B1=function(){return new Yh({xdomain:!1}).responseType!=null}();class F1 extends pa{constructor(e){if(super(e),this.polling=!1,typeof location<"u"){const r=location.protocol==="https:";let i=location.port;i||(i=r?"443":"80"),this.xd=typeof location<"u"&&e.hostname!==location.hostname||i!==e.port}const n=e&&e.forceBase64;this.supportsBinary=B1&&!n,this.opts.withCredentials&&(this.cookieJar=void 0)}get name(){return"polling"}doOpen(){this.poll()}pause(e){this.readyState="pausing";const n=()=>{this.readyState="paused",e()};if(this.polling||!this.writable){let r=0;this.polling&&(r++,this.once("pollComplete",function(){--r||n()})),this.writable||(r++,this.once("drain",function(){--r||n()}))}else n()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){const n=r=>{if(this.readyState==="opening"&&r.type==="open"&&this.onOpen(),r.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(r)};_1(e,this.socket.binaryType).forEach(n),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const e=()=>{this.write([{type:"close"}])};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,b1(e,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const e=this.opts.secure?"https":"http",n=this.query||{};return this.opts.timestampRequests!==!1&&(n[this.opts.timestampParam]=Gh()),!this.supportsBinary&&!n.sid&&(n.b64=1),this.createUri(e,n)}request(e={}){return Object.assign(e,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new Ae(this.uri(),e)}doWrite(e,n){const r=this.request({method:"POST",data:e});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,o)})}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(n,r)=>{this.onError("xhr poll error",n,r)}),this.pollXhr=e}}class Ae extends zt{constructor(e,n){super(),Pi(this,n),this.opts=n,this.method=n.method||"GET",this.uri=e,this.data=n.data!==void 0?n.data:null,this.create()}create(){var e;const n=Uh(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new Yh(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&r.setRequestHeader(i,this.opts.extraHeaders[i])}}catch{}if(this.method==="POST")try{r.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{r.setRequestHeader("Accept","*/*")}catch{}(e=this.opts.cookieJar)===null||e===void 0||e.addCookies(r),"withCredentials"in r&&(r.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(r.timeout=this.opts.requestTimeout),r.onreadystatechange=()=>{var i;r.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.parseCookies(r)),r.readyState===4&&(r.status===200||r.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof r.status=="number"?r.status:0)},0))},r.send(this.data)}catch(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=Ae.requestsCount++,Ae.requests[this.index]=this)}onError(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}cleanup(e){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=D1,e)try{this.xhr.abort()}catch{}typeof document<"u"&&delete Ae.requests[this.index],this.xhr=null}}onLoad(){const e=this.xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}if(Ae.requestsCount=0,Ae.requests={},typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Xh);else if(typeof addEventListener=="function"){const t="onpagehide"in he?"pagehide":"unload";addEventListener(t,Xh,!1)}}function Xh(){for(let t in Ae.requests)Ae.requests.hasOwnProperty(t)&&Ae.requests[t].abort()}var L1={},Ci={};Ci.byteLength=V1,Ci.toByteArray=z1,Ci.fromByteArray=H1;for(var Te=[],pe=[],j1=typeof Uint8Array<"u"?Uint8Array:Array,ya="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Bn=0,$1=ya.length;Bn<$1;++Bn)Te[Bn]=ya[Bn],pe[ya.charCodeAt(Bn)]=Bn;pe[45]=62,pe[95]=63;function Jh(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");n===-1&&(n=e);var r=n===e?0:4-n%4;return[n,r]}function V1(t){var e=Jh(t),n=e[0],r=e[1];return(n+r)*3/4-r}function U1(t,e,n){return(e+n)*3/4-n}function z1(t){var e,n=Jh(t),r=n[0],i=n[1],o=new j1(U1(t,r,i)),s=0,a=i>0?r-4:r,l;for(l=0;l<a;l+=4)e=pe[t.charCodeAt(l)]<<18|pe[t.charCodeAt(l+1)]<<12|pe[t.charCodeAt(l+2)]<<6|pe[t.charCodeAt(l+3)],o[s++]=e>>16&255,o[s++]=e>>8&255,o[s++]=e&255;return i===2&&(e=pe[t.charCodeAt(l)]<<2|pe[t.charCodeAt(l+1)]>>4,o[s++]=e&255),i===1&&(e=pe[t.charCodeAt(l)]<<10|pe[t.charCodeAt(l+1)]<<4|pe[t.charCodeAt(l+2)]>>2,o[s++]=e>>8&255,o[s++]=e&255),o}function q1(t){return Te[t>>18&63]+Te[t>>12&63]+Te[t>>6&63]+Te[t&63]}function W1(t,e,n){for(var r,i=[],o=e;o<n;o+=3)r=(t[o]<<16&16711680)+(t[o+1]<<8&65280)+(t[o+2]&255),i.push(q1(r));return i.join("")}function H1(t){for(var e,n=t.length,r=n%3,i=[],o=16383,s=0,a=n-r;s<a;s+=o)i.push(W1(t,s,s+o>a?a:s+o));return r===1?(e=t[n-1],i.push(Te[e>>2]+Te[e<<4&63]+"==")):r===2&&(e=(t[n-2]<<8)+t[n-1],i.push(Te[e>>10]+Te[e>>4&63]+Te[e<<2&63]+"=")),i.join("")}var ga={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */ga.read=function(t,e,n,r,i){var o,s,a=i*8-r-1,l=(1<<a)-1,f=l>>1,c=-7,h=n?i-1:0,m=n?-1:1,y=t[e+h];for(h+=m,o=y&(1<<-c)-1,y>>=-c,c+=a;c>0;o=o*256+t[e+h],h+=m,c-=8);for(s=o&(1<<-c)-1,o>>=-c,c+=r;c>0;s=s*256+t[e+h],h+=m,c-=8);if(o===0)o=1-f;else{if(o===l)return s?NaN:(y?-1:1)*(1/0);s=s+Math.pow(2,r),o=o-f}return(y?-1:1)*s*Math.pow(2,o-r)},ga.write=function(t,e,n,r,i,o){var s,a,l,f=o*8-i-1,c=(1<<f)-1,h=c>>1,m=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,y=r?0:o-1,b=r?1:-1,w=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=c):(s=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-s))<1&&(s--,l*=2),s+h>=1?e+=m/l:e+=m*Math.pow(2,1-h),e*l>=2&&(s++,l/=2),s+h>=c?(a=0,s=c):s+h>=1?(a=(e*l-1)*Math.pow(2,i),s=s+h):(a=e*Math.pow(2,h-1)*Math.pow(2,i),s=0));i>=8;t[n+y]=a&255,y+=b,a/=256,i-=8);for(s=s<<i|a,f+=i;f>0;t[n+y]=s&255,y+=b,s/=256,f-=8);t[n+y-b]|=w*128};/*!
103
103
  * The buffer module from node.js, for the browser.
@@ -175,10 +175,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
175
175
 
176
176
  `).concat(m(_),`
177
177
  `));var rt=new c({actual:_,expected:A,message:I,operator:$,stackStartFn:q});throw rt.generatedMessage=K,rt}}B.match=function _(A,I,q){S(A,I,q,_,"match")},B.doesNotMatch=function _(A,I,q){S(A,I,q,_,"doesNotMatch")};function M(){for(var _=arguments.length,A=new Array(_),I=0;I<_;I++)A[I]=arguments[I];Z.apply(void 0,[M,A.length].concat(A))}return B.strict=P(M,B,{equal:B.strictEqual,deepEqual:B.deepStrictEqual,notEqual:B.notStrictEqual,notDeepEqual:B.notDeepStrictEqual}),B.strict.strict=B.strict,rc.exports}var vc=un,TE=gc();function ym(){return new Date().getTime()}var PE=Array.prototype.slice,re,wc={};typeof gr<"u"&&gr.console?re=gr.console:typeof window<"u"&&window.console?re=window.console:re={};for(var gm=[[CE,"log"],[OE,"info"],[IE,"warn"],[RE,"error"],[NE,"time"],[ME,"timeEnd"],[DE,"trace"],[BE,"dir"],[FE,"assert"]],bc=0;bc<gm.length;bc++){var vm=gm[bc],kE=vm[0],wm=vm[1];re[wm]||(re[wm]=kE)}var je=re;function CE(){}function OE(){re.log.apply(re,arguments)}function IE(){re.log.apply(re,arguments)}function RE(){re.warn.apply(re,arguments)}function NE(t){wc[t]=ym()}function ME(t){var e=wc[t];if(!e)throw new Error("No such label: "+t);delete wc[t];var n=ym()-e;re.log(t+": "+n+"ms")}function DE(){var t=new Error;t.name="Trace",t.message=vc.format.apply(null,arguments),re.error(t.stack)}function BE(t){re.log(vc.inspect(t)+`
178
- `)}function FE(t){if(!t){var e=PE.call(arguments,1);TE.ok(!1,vc.format.apply(null,e))}}function LE(t){je.log("onNewSupportMessage",t);const{conversations:e,addMessage:n,isChatOpen:r,incrementUnreadCount:i}=Mt.getState(),o={support:!0,content:t.message.content,authorName:t.message.authorName,date:t.message.date,attachments:t.message.attachments,emojis:t.message.emojis},s=e.find(a=>a.threadId===t.threadId);if(s&&kb(s.messages,o)){je.log("Duplicate message detected, skipping:",t.threadId);return}n(t.threadId,o),r||i()}function jE(t){const e=Mt.getState().setConversationOpen;e(t.threadId,!1)}function $E(t){const{setConversationCSMember:e,addMessage:n,tempConversationToThread:r}=Mt.getState();r(t.threadId),e(t.threadId,t.csMember),n(t.threadId,jb(t.csMember.displayName))}function VE(t){je.log("โœจ onUpdatedSupportMessage",t);const{conversations:e,updateMessage:n}=Mt.getState(),r=e.find(o=>o.threadId===t.threadId);if(!r){je.log("โš ๏ธ Conversation not found for update:",t.threadId);return}if(!r.messages.some(o=>o.date===t.message.date)){je.log("โš ๏ธ Message not found for update:",t.message.date);return}n(t.threadId,t.message.date,{support:!0,content:t.message.content,authorName:t.message.authorName,date:t.message.date,attachments:t.message.attachments,edited:!0,emojis:t.message.emojis})}function UE(t){je.log("โœจ onDeletedSupportMessage",t);const{conversations:e,removeMessage:n}=Mt.getState(),r=e.find(o=>o.threadId===t.threadId);if(!r){je.log("โš ๏ธ Conversation not found for deletion:",t.threadId);return}if(!r.messages.some(o=>o.date===t.messageDate)){je.log("โš ๏ธ Message not found for deletion:",t.messageDate);return}n(t.threadId,t.messageDate)}function zE(){return new Promise(t=>{const e=Ri(le.api,{path:"/socket"});e.on("connect",async()=>(je.log("โšก socket connected"),e.on("new-support-message",LE),e.on("updated-support-message",VE),e.on("deleted-support-message",UE),e.on("thread-closed",jE),e.on("thread-assigned",$E),t(e)))})}async function qE({name:t,email:e}){const n=JSON.stringify({guildId:le.app_id,name:t,email:e}),r=new Headers;r.append("Content-Type","application/json");const i={method:"POST",headers:r,body:n},s=await(await fetch(`${le.api}/auth/token`,i)).json();return s.token&&s.token!=="undefined"&&(Qe.set("discord-widget",s.token),Mt.getState().setToken(s.token)),s}async function WE(t){const e=new Headers;e.append("Content-Type","application/json"),e.append("Authorization",`Bearer ${t}`);try{const n=await fetch(`${le.api}/conversations/current`,{method:"GET",headers:e});return n.status!==200?null:(await n.json()).currentConversation??null}catch(n){return console.error("Error fetching current conversation",n),null}}async function HE(t){const e=new Headers;e.append("Content-Type","application/json"),e.append("Authorization",`Bearer ${t}`);try{const n=await fetch(`${le.api}/conversations/past`,{method:"GET",headers:e});return n.status!==200?null:(await n.json()).pastConversations??null}catch(n){return console.error("Error fetching past conversations",n),null}}async function GE(t){const e=await zE();return e.emit("identify",{jwt:t}),e}async function KE(t){const{smartMergeCurrentConversation:e,setConversationOpen:n,conversations:r}=Mt.getState();try{const i=await WE(t);if(i)ne("โœ… Found current conversation:",i.threadId),e(i);else{ne("โ„น๏ธ No current conversation found");const o=r.find(s=>s.status==="open"&&s.threadId!=="TEMP");o&&(ne("โ„น๏ธ Closing stale conversation:",o.threadId),n(o.threadId,!1))}}catch{Mt.getState().setNetworkError("Failed to load conversation")}}async function YE(t){const{pastConversationsLastFetchedAt:e,smartMergePastConversations:n,setLoading:r,setNetworkError:i}=Mt.getState(),o=5*60*1e3;if(!e||Date.now()-e>o)try{r(!0);const a=await HE(t);a&&a.length>0?(ne(`โœ… Loaded ${a.length} past conversations`),n(a)):ne("โ„น๏ธ No past conversations found")}catch{i("Failed to load conversation history")}finally{r(!1)}}async function XE(){const{username:t,email:e,setNetworkError:n,setLoading:r}=Mt.getState();try{r(!0),n(null);let i=Qe.get("discord-widget");i?ne("โ„น๏ธ Returning user - JWT found in cookies"):(ne("โ„น๏ธ New user - obtaining JWT token..."),i=(await qE({name:t,email:e})).token,ne("โœ… JWT token obtained")),await GE(i),await KE(i),ne("โœ… Network initialization complete")}catch(i){n(i instanceof Error?i.message:"Network initialization failed")}finally{r(!1)}}const JE=()=>{const{conversations:t,setOpenConversationId:e,pastConversationsLastFetchedAt:n}=Mt(),r=t.filter(a=>a.status==="open").length;ut(()=>{const a=Qe.get("discord-widget");if(!a)return;const l=5*60*1e3;(!n||Date.now()-n>l)&&YE(a)},[n]);function i(){return r!==0?null:C(De.button,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.3,ease:"easeOut"},onClick:()=>e("TEMP"),style:{background:"linear-gradient(135deg, #7289DA, #5B6EAB)"},type:"button",className:"flex justify-center items-center w-full h-16 border-t border-gray-200",children:C("div",{className:`flex flex-row items-center transform transition-transform duration-150
178
+ `)}function FE(t){if(!t){var e=PE.call(arguments,1);TE.ok(!1,vc.format.apply(null,e))}}function LE(t){je.log("onNewSupportMessage",t);const{conversations:e,addMessage:n,isChatOpen:r,incrementUnreadCount:i}=Mt.getState(),o={support:!0,content:t.message.content,authorName:t.message.authorName,date:t.message.date,attachments:t.message.attachments,emojis:t.message.emojis},s=e.find(a=>a.threadId===t.threadId);if(s&&kb(s.messages,o)){je.log("Duplicate message detected, skipping:",t.threadId);return}n(t.threadId,o),r||i()}function jE(t){const e=Mt.getState().setConversationOpen;e(t.threadId,!1)}function $E(t){const{setConversationCSMember:e,addMessage:n,tempConversationToThread:r}=Mt.getState();r(t.threadId),e(t.threadId,t.csMember),n(t.threadId,jb(t.csMember.displayName))}function VE(t){je.log("โœจ onUpdatedSupportMessage",t);const{conversations:e,updateMessage:n}=Mt.getState(),r=e.find(o=>o.threadId===t.threadId);if(!r){je.log("โš ๏ธ Conversation not found for update:",t.threadId);return}if(!r.messages.some(o=>o.date===t.message.date)){je.log("โš ๏ธ Message not found for update:",t.message.date);return}n(t.threadId,t.message.date,{support:!0,content:t.message.content,authorName:t.message.authorName,date:t.message.date,attachments:t.message.attachments,edited:!0,emojis:t.message.emojis})}function UE(t){je.log("โœจ onDeletedSupportMessage",t);const{conversations:e,removeMessage:n}=Mt.getState(),r=e.find(o=>o.threadId===t.threadId);if(!r){je.log("โš ๏ธ Conversation not found for deletion:",t.threadId);return}if(!r.messages.some(o=>o.date===t.messageDate)){je.log("โš ๏ธ Message not found for deletion:",t.messageDate);return}n(t.threadId,t.messageDate)}function zE(){return new Promise(t=>{const e=Ri(le.domain,{path:"/socket"});e.on("connect",async()=>(je.log("โšก socket connected"),e.on("new-support-message",LE),e.on("updated-support-message",VE),e.on("deleted-support-message",UE),e.on("thread-closed",jE),e.on("thread-assigned",$E),t(e)))})}async function qE({name:t,email:e}){const n=JSON.stringify({guildId:le.app_id,name:t,email:e}),r=new Headers;r.append("Content-Type","application/json");const i={method:"POST",headers:r,body:n},s=await(await fetch(`${le.domain}/auth/token`,i)).json();return s.token&&s.token!=="undefined"&&(Qe.set("discord-widget",s.token),Mt.getState().setToken(s.token)),s}async function WE(t){const e=new Headers;e.append("Content-Type","application/json"),e.append("Authorization",`Bearer ${t}`);try{const n=await fetch(`${le.domain}/conversations/current`,{method:"GET",headers:e});return n.status!==200?null:(await n.json()).currentConversation??null}catch(n){return console.error("Error fetching current conversation",n),null}}async function HE(t){const e=new Headers;e.append("Content-Type","application/json"),e.append("Authorization",`Bearer ${t}`);try{const n=await fetch(`${le.domain}/conversations/past`,{method:"GET",headers:e});return n.status!==200?null:(await n.json()).pastConversations??null}catch(n){return console.error("Error fetching past conversations",n),null}}async function GE(t){const e=await zE();return e.emit("identify",{jwt:t}),e}async function KE(t){const{smartMergeCurrentConversation:e,setConversationOpen:n,conversations:r}=Mt.getState();try{const i=await WE(t);if(i)ne("โœ… Found current conversation:",i.threadId),e(i);else{ne("โ„น๏ธ No current conversation found");const o=r.find(s=>s.status==="open"&&s.threadId!=="TEMP");o&&(ne("โ„น๏ธ Closing stale conversation:",o.threadId),n(o.threadId,!1))}}catch{Mt.getState().setNetworkError("Failed to load conversation")}}async function YE(t){const{pastConversationsLastFetchedAt:e,smartMergePastConversations:n,setLoading:r,setNetworkError:i}=Mt.getState(),o=5*60*1e3;if(!e||Date.now()-e>o)try{r(!0);const a=await HE(t);a&&a.length>0?(ne(`โœ… Loaded ${a.length} past conversations`),n(a)):ne("โ„น๏ธ No past conversations found")}catch{i("Failed to load conversation history")}finally{r(!1)}}async function XE(){const{username:t,email:e,setNetworkError:n,setLoading:r}=Mt.getState();try{r(!0),n(null);let i=Qe.get("discord-widget");i?ne("โ„น๏ธ Returning user - JWT found in cookies"):(ne("โ„น๏ธ New user - obtaining JWT token..."),i=(await qE({name:t,email:e})).token,ne("โœ… JWT token obtained")),await GE(i),await KE(i),ne("โœ… Network initialization complete")}catch(i){n(i instanceof Error?i.message:"Network initialization failed")}finally{r(!1)}}const JE=()=>{const{conversations:t,setOpenConversationId:e,pastConversationsLastFetchedAt:n}=Mt(),r=t.filter(a=>a.status==="open").length;ut(()=>{const a=Qe.get("discord-widget");if(!a)return;const l=5*60*1e3;(!n||Date.now()-n>l)&&YE(a)},[n]);function i(){return r!==0?null:C(De.button,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.3,ease:"easeOut"},onClick:()=>e("TEMP"),style:{background:"linear-gradient(135deg, #7289DA, #5B6EAB)"},type:"button",className:"flex justify-center items-center w-full h-16 border-t border-gray-200",children:C("div",{className:`flex flex-row items-center transform transition-transform duration-150
179
179
  hover:scale-105 active:scale-95`,children:[C("span",{className:"text-sm text-slate-50 pr-3",children:"Send us a new message"}),C(Ow,{color:"#FFFFFF",size:18,strokeWidth:1})]})})}function o(a,l,f){var m,y,b;const c=a.messages[a.messages.length-1],h=a.status==="open";return C("div",{className:`flex flex-row items-center px-3 py-4 hover:bg-gray-200 cursor-pointer ${f?"":"border-b border-gray-200 "}`,onClick:()=>e(a.threadId),children:[C("div",{className:"relative inline-block mr-3",children:[C("img",{className:"inline-block size-[32px] rounded-full",src:((m=a==null?void 0:a.csMember)==null?void 0:m.displayAvatarURL)??"http://placehold.co/250x250"}),((y=a==null?void 0:a.csMember)==null?void 0:y.status)&&C("span",{className:`absolute top-0 end-0 block size-3 rounded-full ring-2 ring-white dark:ring-neutral-900 ${Rh(a.csMember.status,"bg")}`})]}),C("div",{className:"flex flex-1 flex-col",children:[C("p",{className:`text-sm/3 ${h?"font-semibold":""}`,children:(b=a==null?void 0:a.csMember)==null?void 0:b.displayName}),C("p",{className:"text-xs text-gray-500 line-clamp-1",children:c.content})]}),C("div",{className:"ml-2",children:C("p",{className:"text-xs text-gray-500",children:jd(c.date)})})]},`conversation-${l}`)}function s(){const a=[...t].filter(c=>c.status==="open"),l=[...t].filter(c=>c.status==="closed"),f=c=>c.sort((h,m)=>m.lastMessageDate-h.lastMessageDate).map((h,m)=>h.messages.length?o(h,m,m+1===c.length):null);return C(De.div,{initial:{opacity:0,x:-30},animate:{opacity:1,x:0},transition:{duration:.3,ease:"easeOut"},className:"flex flex-col flex-1 p-2 overflow-y-scroll",children:[a.length>0&&C("div",{className:"mb-2",children:[C("span",{className:"text-sm",children:"Current conversation"}),f(a)]}),l.length>0&&C(kt,{children:[C("span",{className:"text-sm",children:"Closed messages"}),f(l)]})]})}return C("div",{className:"flex flex-col flex-1 overflow-scroll",children:[s(),i()]})},bm=({IconComponent:t,onClick:e})=>C("button",{onClick:e,className:`flex mr-2 items-center justify-center w-8 h-8
180
180
  transform transition-transform duration-150
181
- hover:scale-110 active:scale-95`,children:C(t,{})}),ZE=({size:t})=>C("svg",{xmlns:"http://www.w3.org/2000/svg",width:t||26,height:t||26,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1",strokeLinecap:"round",strokeLinejoin:"round",className:"lucide lucide-x",children:[C("path",{d:"M18 6 6 18"}),C("path",{d:"m6 6 12 12"})]}),QE=({size:t})=>C("svg",{xmlns:"http://www.w3.org/2000/svg",width:t||24,height:t||24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1",strokeLinecap:"round",strokeLinejoin:"round",className:"lucide lucide-chevron-left",children:C("path",{d:"m15 18-6-6 6-6"})}),_m={title:"Hi there ๐Ÿ‘‹",subtitle:"We typically reply within a few minutes"},tA=()=>{var h,m,y,b,w,P;const{setChatOpen:t,setOpenConversationId:e,guildSettings:n,conversations:r,openConversationId:i}=Mt(),o=r.find(x=>x.status==="open"),s=!!i,a=r.length===1&&r[0].status==="closed",l=r.length>1,f=s&&(a||l),c=i&&(o!=null&&o.csMember)&&((h=o==null?void 0:o.csMember)==null?void 0:h.displayName)!=="Customer support"?{title:(m=o==null?void 0:o.csMember)==null?void 0:m.displayName,subtitle:(y=o==null?void 0:o.csMember)!=null&&y.status?m1((b=o==null?void 0:o.csMember)==null?void 0:b.status):null,avatar:(w=o==null?void 0:o.csMember)==null?void 0:w.displayAvatarURL,status:(P=o==null?void 0:o.csMember)==null?void 0:P.status}:{title:(n==null?void 0:n.header_title)??_m.title,subtitle:(n==null?void 0:n.header_subtitle)??_m.subtitle,avatar:(n==null?void 0:n.iconURL)||"https://i.imgur.com/ecjl5HR.png"};return C("div",{style:{background:"linear-gradient(135deg, #7289DA, #5B6EAB)",boxShadow:"0 4px 4px rgba(0, 0, 0, 0.1)"},className:"flex flex-row items-center py-5 px-4 text-white",children:[f&&C(bm,{onClick:()=>e(null),IconComponent:QE}),C("div",{className:"relative inline-block mr-3",children:[C("img",{className:"inline-block w-[40px] rounded-full",src:c.avatar}),c.status&&C("span",{className:`absolute top-0 end-0 block size-3.5 rounded-full ring-2 ring-white dark:ring-neutral-900 ${Rh(c.status,"bg")}`})]}),C("div",{className:"flex-1 flex-col",children:[C("p",{className:"text-lg/5 font-regular",children:c.title}),c.subtitle&&C("p",{className:"flex-1 text-xs/4 line-clamp-2",children:c.subtitle})]}),C(bm,{onClick:()=>t(!1),IconComponent:ZE})]})};function eA(){const[t,e]=gt({width:null,height:null});return Re(()=>{const n=()=>{e({width:window.innerWidth,height:window.innerHeight})};return n(),window.addEventListener("resize",n),()=>{window.removeEventListener("resize",n)}},[]),t}const nA=()=>{const t=eA();return!t.width||!t.height?!1:t.width>t.height?t.width<=Dd||t.height<=Cb:t.width<=Dd},rA=()=>{const{openConversationId:t,conversations:e,isChatVisible:n}=Mt(),r=nA(),i=!t&&e.length,o={position:"fixed",inset:"0px",width:"100%",height:"100%",zIndex:9999,transformOrigin:"bottom right"},s={position:"fixed",bottom:"110px",right:"30px",width:"400px",height:"700px",maxWidth:"calc(100% - 60px)",maxHeight:"calc(100% - 124px)",zIndex:9999,transformOrigin:"bottom right"};return C(cs,{children:n&&C(De.div,{initial:{opacity:0,scale:.8,y:r?0:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.8,y:r?0:20},transition:r?{duration:.2,ease:"easeInOut"}:{type:"spring",stiffness:500,damping:28,mass:.8},style:r?o:s,children:C("div",{className:`flex flex-col h-full bg-white shadow-xl overflow-hidden ${r?"":"rounded-xl"}`,children:[C(tA,{}),i?C(JE,{}):C(p1,{})]})},"chatbox")})};async function iA(){const{setGuildSettings:t,guildSettings:e}=Mt.getState();if(e.lastUpdate)return;const n=new Headers;n.append("Content-Type","application/json");try{const i=await(await fetch(`${le.api}/guildSettings/${le.app_id}`,{method:"GET",headers:n})).json();t(i)}catch{}}async function oA(){const t=new Headers;t.append("Content-Type","application/json");try{return(await(await fetch(`${le.api}/guildSettings/status/${le.app_id}`,{method:"GET",headers:t})).json()).active}catch{return!1}}function sA(t,e){const n=it(document.title),r=it(null),i=it(!1);ut(()=>{n.current||(n.current=document.title)},[]),ut(()=>{if(r.current!==null&&(clearInterval(r.current),r.current=null),e&&t>0){const o=()=>{const s=t>1?"s":"";return`(${t}) New message${s} - ${n.current}`};document.title=o(),i.current=!0,r.current=window.setInterval(()=>{i.current?(document.title=n.current,i.current=!1):(document.title=o(),i.current=!0)},5e3)}else document.title=n.current,i.current=!1;return()=>{r.current!==null&&(clearInterval(r.current),r.current=null),document.title=n.current}},[t,e]),ut(()=>{if(e&&t>0&&i.current){const o=t>1?"s":"";document.title=`(${t}) New message${o} - ${n.current}`}},[t,e])}function aA(){const{isChatOpen:t,setChatVisible:e,toggleChatOpen:n,isNetworkInitialized:r,setNetworkInitialized:i,username:o,email:s,addMessage:a,conversations:l,_REHYDRATED_:f,networkError:c,isLoading:h,unreadCount:m,markMessagesAsReadWithSync:y,syncUnreadCountFromServer:b,initializeUnreadState:w}=Mt(),[P,x]=gt(!1);sA(m,m>0&&!t),ut(()=>{t&&m>0&&y()},[t,m,y]),ut(()=>{(async()=>{const O=await oA();x(O)})()},[]),ut(()=>{w()},[w]);const v=Ct(()=>(!o||!s)&&!l.filter(j=>j.messages.filter(B=>B.customRenderer===Nn.IntroduceYourself)).length?(a("TEMP",Lb),!0):!1,[o,s,a,l]);return ut(()=>{f&&(async()=>(await iA(),!v()&&(o||s)&&!r&&(XE(),i(!0),b())))()},[r,i,v,b,o,s,f]),ut(()=>{if(t)e(!0);else{const O=setTimeout(()=>e(!1),300);return()=>clearTimeout(O)}},[t,e]),P?C(kt,{children:[C(Dw,{onClick:()=>n(),isOpen:t,unreadCount:m}),C(rA,{}),C(()=>c?C("div",{style:{position:"fixed",bottom:"90px",right:"20px",backgroundColor:"#EF4444",color:"white",padding:"12px 16px",borderRadius:"8px",boxShadow:"0 4px 6px rgba(0, 0, 0, 0.1)",zIndex:9999,maxWidth:"300px",fontSize:"14px"},children:[C("strong",{children:"Connection Error"}),C("p",{style:{margin:"4px 0 0 0",fontSize:"12px"},children:c})]}):null,{}),C(()=>!h||!t?null:C("div",{style:{position:"fixed",bottom:"90px",right:"20px",backgroundColor:"#7289DA",color:"white",padding:"8px 12px",borderRadius:"8px",boxShadow:"0 4px 6px rgba(0, 0, 0, 0.1)",zIndex:9999,fontSize:"12px"},children:"Loading..."}),{}),C("div",{id:"deskcord-lightbox-portal",style:{position:"fixed",top:0,left:0,width:"100vw",height:"100vh",zIndex:2147482e3,pointerEvents:"none"}})]}):null}const cA=()=>{const t=it(null),[e,n]=gt(null),[r,i]=gt(null);return ut(()=>{if(!t.current)return;let o=t.current.shadowRoot;o||(o=t.current.attachShadow({mode:"open"}));let s=o.querySelector("#deskcord-shadow-container");s||(s=document.createElement("div"),s.id="deskcord-shadow-container",s.style.cssText=`
181
+ hover:scale-110 active:scale-95`,children:C(t,{})}),ZE=({size:t})=>C("svg",{xmlns:"http://www.w3.org/2000/svg",width:t||26,height:t||26,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1",strokeLinecap:"round",strokeLinejoin:"round",className:"lucide lucide-x",children:[C("path",{d:"M18 6 6 18"}),C("path",{d:"m6 6 12 12"})]}),QE=({size:t})=>C("svg",{xmlns:"http://www.w3.org/2000/svg",width:t||24,height:t||24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1",strokeLinecap:"round",strokeLinejoin:"round",className:"lucide lucide-chevron-left",children:C("path",{d:"m15 18-6-6 6-6"})}),_m={title:"Hi there ๐Ÿ‘‹",subtitle:"We typically reply within a few minutes"},tA=()=>{var h,m,y,b,w,P;const{setChatOpen:t,setOpenConversationId:e,guildSettings:n,conversations:r,openConversationId:i}=Mt(),o=r.find(x=>x.status==="open"),s=!!i,a=r.length===1&&r[0].status==="closed",l=r.length>1,f=s&&(a||l),c=i&&(o!=null&&o.csMember)&&((h=o==null?void 0:o.csMember)==null?void 0:h.displayName)!=="Customer support"?{title:(m=o==null?void 0:o.csMember)==null?void 0:m.displayName,subtitle:(y=o==null?void 0:o.csMember)!=null&&y.status?m1((b=o==null?void 0:o.csMember)==null?void 0:b.status):null,avatar:(w=o==null?void 0:o.csMember)==null?void 0:w.displayAvatarURL,status:(P=o==null?void 0:o.csMember)==null?void 0:P.status}:{title:(n==null?void 0:n.header_title)??_m.title,subtitle:(n==null?void 0:n.header_subtitle)??_m.subtitle,avatar:(n==null?void 0:n.iconURL)||"https://i.imgur.com/ecjl5HR.png"};return C("div",{style:{background:"linear-gradient(135deg, #7289DA, #5B6EAB)",boxShadow:"0 4px 4px rgba(0, 0, 0, 0.1)"},className:"flex flex-row items-center py-5 px-4 text-white",children:[f&&C(bm,{onClick:()=>e(null),IconComponent:QE}),C("div",{className:"relative inline-block mr-3",children:[C("img",{className:"inline-block w-[40px] rounded-full",src:c.avatar}),c.status&&C("span",{className:`absolute top-0 end-0 block size-3.5 rounded-full ring-2 ring-white dark:ring-neutral-900 ${Rh(c.status,"bg")}`})]}),C("div",{className:"flex-1 flex-col",children:[C("p",{className:"text-lg/5 font-regular",children:c.title}),c.subtitle&&C("p",{className:"flex-1 text-xs/4 line-clamp-2",children:c.subtitle})]}),C(bm,{onClick:()=>t(!1),IconComponent:ZE})]})};function eA(){const[t,e]=gt({width:null,height:null});return Re(()=>{const n=()=>{e({width:window.innerWidth,height:window.innerHeight})};return n(),window.addEventListener("resize",n),()=>{window.removeEventListener("resize",n)}},[]),t}const nA=()=>{const t=eA();return!t.width||!t.height?!1:t.width>t.height?t.width<=Dd||t.height<=Cb:t.width<=Dd},rA=()=>{const{openConversationId:t,conversations:e,isChatVisible:n}=Mt(),r=nA(),i=!t&&e.length,o={position:"fixed",inset:"0px",width:"100%",height:"100%",zIndex:9999,transformOrigin:"bottom right"},s={position:"fixed",bottom:"110px",right:"30px",width:"400px",height:"700px",maxWidth:"calc(100% - 60px)",maxHeight:"calc(100% - 124px)",zIndex:9999,transformOrigin:"bottom right"};return C(cs,{children:n&&C(De.div,{initial:{opacity:0,scale:.8,y:r?0:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.8,y:r?0:20},transition:r?{duration:.2,ease:"easeInOut"}:{type:"spring",stiffness:500,damping:28,mass:.8},style:r?o:s,children:C("div",{className:`flex flex-col h-full bg-white shadow-xl overflow-hidden ${r?"":"rounded-xl"}`,children:[C(tA,{}),i?C(JE,{}):C(p1,{})]})},"chatbox")})};async function iA(){const{setGuildSettings:t,guildSettings:e}=Mt.getState();if(e.lastUpdate)return;const n=new Headers;n.append("Content-Type","application/json");try{const i=await(await fetch(`${le.domain}/guildSettings/${le.app_id}`,{method:"GET",headers:n})).json();t(i)}catch{}}async function oA(){const t=new Headers;t.append("Content-Type","application/json");try{return(await(await fetch(`${le.domain}/guildSettings/status/${le.app_id}`,{method:"GET",headers:t})).json()).active}catch{return!1}}function sA(t,e){const n=it(document.title),r=it(null),i=it(!1);ut(()=>{n.current||(n.current=document.title)},[]),ut(()=>{if(r.current!==null&&(clearInterval(r.current),r.current=null),e&&t>0){const o=()=>{const s=t>1?"s":"";return`(${t}) New message${s} - ${n.current}`};document.title=o(),i.current=!0,r.current=window.setInterval(()=>{i.current?(document.title=n.current,i.current=!1):(document.title=o(),i.current=!0)},5e3)}else document.title=n.current,i.current=!1;return()=>{r.current!==null&&(clearInterval(r.current),r.current=null),document.title=n.current}},[t,e]),ut(()=>{if(e&&t>0&&i.current){const o=t>1?"s":"";document.title=`(${t}) New message${o} - ${n.current}`}},[t,e])}function aA(){const{isChatOpen:t,setChatVisible:e,toggleChatOpen:n,isNetworkInitialized:r,setNetworkInitialized:i,username:o,email:s,addMessage:a,conversations:l,_REHYDRATED_:f,networkError:c,isLoading:h,unreadCount:m,markMessagesAsReadWithSync:y,syncUnreadCountFromServer:b,initializeUnreadState:w}=Mt(),[P,x]=gt(!1);sA(m,m>0&&!t),ut(()=>{t&&m>0&&y()},[t,m,y]),ut(()=>{(async()=>{const O=await oA();x(O)})()},[]),ut(()=>{w()},[w]);const v=Ct(()=>(!o||!s)&&!l.filter(j=>j.messages.filter(B=>B.customRenderer===Nn.IntroduceYourself)).length?(a("TEMP",Lb),!0):!1,[o,s,a,l]);return ut(()=>{f&&(async()=>(await iA(),!v()&&(o||s)&&!r&&(XE(),i(!0),b())))()},[r,i,v,b,o,s,f]),ut(()=>{if(t)e(!0);else{const O=setTimeout(()=>e(!1),300);return()=>clearTimeout(O)}},[t,e]),P?C(kt,{children:[C(Dw,{onClick:()=>n(),isOpen:t,unreadCount:m}),C(rA,{}),C(()=>c?C("div",{style:{position:"fixed",bottom:"90px",right:"20px",backgroundColor:"#EF4444",color:"white",padding:"12px 16px",borderRadius:"8px",boxShadow:"0 4px 6px rgba(0, 0, 0, 0.1)",zIndex:9999,maxWidth:"300px",fontSize:"14px"},children:[C("strong",{children:"Connection Error"}),C("p",{style:{margin:"4px 0 0 0",fontSize:"12px"},children:c})]}):null,{}),C(()=>!h||!t?null:C("div",{style:{position:"fixed",bottom:"90px",right:"20px",backgroundColor:"#7289DA",color:"white",padding:"8px 12px",borderRadius:"8px",boxShadow:"0 4px 6px rgba(0, 0, 0, 0.1)",zIndex:9999,fontSize:"12px"},children:"Loading..."}),{}),C("div",{id:"deskcord-lightbox-portal",style:{position:"fixed",top:0,left:0,width:"100vw",height:"100vh",zIndex:2147482e3,pointerEvents:"none"}})]}):null}const cA=()=>{const t=it(null),[e,n]=gt(null),[r,i]=gt(null);return ut(()=>{if(!t.current)return;let o=t.current.shadowRoot;o||(o=t.current.attachShadow({mode:"open"}));let s=o.querySelector("#deskcord-shadow-container");s||(s=document.createElement("div"),s.id="deskcord-shadow-container",s.style.cssText=`
182
182
  all: initial;
183
183
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
184
184
  font-size: 16px;
@@ -215,4 +215,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
215
215
  -webkit-font-smoothing: antialiased;
216
216
  -moz-osx-font-smoothing: grayscale;
217
217
  }
218
- `,o.insertBefore(f,o.firstChild)),n(o),i(s),()=>{}},[]),C(kt,{children:[C("div",{ref:t,id:"deskcord-shadow-host",style:{position:"fixed",top:0,left:0,width:0,height:0,overflow:"visible",zIndex:2147483647,pointerEvents:"none"}}),e&&r&&gn.createPortal(C(lA,{value:e,children:C(aA,{})}),r)]})},xm=gn.createContext(null),lA=({value:t,children:e})=>C(xm.Provider,{value:t,children:e});window.deskcord||(window.deskcord={settings:{},openChatbox:()=>{}}),window.deskcord.openChatbox=()=>{Mt.getState().setChatOpen(!0)};let Dr=document.getElementById("deskcord-root");Dr||(Dr=document.createElement("div"),Dr.id="deskcord-root",document.body.appendChild(Dr)),gn.render(C(gn.StrictMode,{children:C(cA,{})}),Dr)})();
218
+ `,o.insertBefore(f,o.firstChild)),n(o),i(s),()=>{}},[]),C(kt,{children:[C("div",{ref:t,id:"deskcord-shadow-host",style:{position:"fixed",top:0,left:0,width:0,height:0,overflow:"visible",zIndex:2147483647,pointerEvents:"none"}}),e&&r&&gn.createPortal(C(lA,{value:e,children:C(aA,{})}),r)]})},xm=gn.createContext(null),lA=({value:t,children:e})=>C(xm.Provider,{value:t,children:e});window.deskcord?window.deskcord.openChatbox=()=>{Mt.getState().setChatOpen(!0)}:window.deskcord={settings:{app_id:""},openChatbox:()=>{}};let Dr=document.getElementById("deskcord-root");Dr||(Dr=document.createElement("div"),Dr.id="deskcord-root",document.body.appendChild(Dr)),gn.render(C(gn.StrictMode,{children:C(cA,{})}),Dr)})();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "deskcord",
3
3
  "private": false,
4
- "version": "0.4.0",
4
+ "version": "0.4.1",
5
5
  "author": "Maxime Bertonnier <m.bertonnier@gmail.com>",
6
6
  "homepage": "https://deskcord.chat",
7
7
  "type": "module",