@linktr.ee/messaging-react 4.3.0-rc-1787411239 → 4.3.0-rc-1787506456

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.
@@ -0,0 +1,3 @@
1
+ "use strict";const s=require("react/jsx-runtime"),h=require("react"),Fs=require("@linktr.ee/messaging-core"),Ee=require("stream-chat"),w=require("stream-chat-react"),V=require("@linktr.ee/messaging-taxonomy"),N=require("classnames"),y=require("@phosphor-icons/react"),He=require("stream-chat-react/experimental"),ge={debug:(e,...t)=>console.log(e,...t),info:(e,...t)=>console.log(e,...t),warn:(e,...t)=>console.warn(e,...t),error:(e,...t)=>console.error(e,...t)},Yt=e=>({debug:(e==null?void 0:e.debug)??ge.debug,info:(e==null?void 0:e.info)??ge.info,warn:(e==null?void 0:e.warn)??ge.warn,error:(e==null?void 0:e.error)??ge.error}),Wt=h.createContext(ge),qt=({logger:e,children:t})=>{const n=h.useMemo(()=>Yt(e),[e]);return s.jsx(Wt.Provider,{value:n,children:t})},Ps=()=>h.useContext(Wt),Xt=h.createContext({service:null,client:null,isConnected:!1,isLoading:!1,error:null,capabilities:{},refreshConnection:async()=>{},debug:!1}),Ve=()=>h.useContext(Xt),Bs=({children:e,user:t,serviceConfig:n,apiKey:a,capabilities:r={},debug:i=!1,client:c,logger:d})=>{var O,$;const l=h.useCallback((B,...F)=>{i&&console.log(`🔥 [MessagingProvider] ${B}`,...F)},[i]);l("🔄 RENDER START",{userId:t==null?void 0:t.id,apiKey:(a==null?void 0:a.substring(0,8))+"...",serviceConfig:!!n,capabilities:Object.keys(r)});const[u,x]=h.useState(null),[m,f]=h.useState(null),[o,v]=h.useState(!1),[_,p]=h.useState(!1),[b,g]=h.useState(null),C=h.useRef(!1),j=h.useRef(null),E=h.useRef(n);E.current=n;const T=h.useRef(i);T.current=i;const A=h.useRef(d);A.current=d;const L=h.useRef({userId:t==null?void 0:t.id,apiKey:a,serviceConfig:n,capabilities:r}),D=h.useRef(0);D.current++,l("📊 RENDER INFO",{renderCount:D.current,currentProps:{userId:t==null?void 0:t.id,apiKey:(a==null?void 0:a.substring(0,8))+"..."},propChanges:{userChanged:L.current.userId!==(t==null?void 0:t.id),apiKeyChanged:L.current.apiKey!==a,serviceConfigChanged:L.current.serviceConfig!==n,capabilitiesChanged:L.current.capabilities!==r}}),L.current={userId:t==null?void 0:t.id,apiKey:a,serviceConfig:n,capabilities:r};const R=h.useRef(null);!c&&a&&((O=R.current)==null?void 0:O.apiKey)!==a&&(R.current={apiKey:a,client:new Ee.StreamChat(a)});const S=c||(a?(($=R.current)==null?void 0:$.client)??null:null);h.useEffect(()=>{const B=D.current,F=E.current;if(c){j.current=null,x(null),f(null),v(!1),g(null),p(!1);return}if(!a||!S||!F){l("⚠️ SERVICE INIT SKIPPED",{renderCount:B,reason:"Missing apiKey, client, or serviceConfig"});return}l("🚀 CREATING SERVICE",{renderCount:B,apiKey:(a==null?void 0:a.substring(0,8))+"..."});const Y=new Fs.StreamChatService({...F,apiKey:a,debug:T.current,client:S,...F.logger||!A.current?{}:{logger:Yt(A.current)}});j.current=Y,x(Y),l("✅ SERVICE SET",{renderCount:B,serviceInstance:!!Y})},[a,S,c]);const M=h.useRef(null);h.useEffect(()=>{var F,Y;if(l("🔗 USER CONNECTION EFFECT TRIGGERED",{hasService:!!u,hasUser:!!t,userId:t==null?void 0:t.id,isConnecting:C.current,isConnected:o,dependencies:{service:!!u,userId:t==null?void 0:t.id}}),c)return;if(!u||!t){l("⚠️ USER CONNECTION SKIPPED","Missing service or user");return}if(C.current){l("⚠️ USER CONNECTION SKIPPED","Already connecting");return}if(((F=M.current)==null?void 0:F.serviceId)===u&&((Y=M.current)==null?void 0:Y.userId)===t.id){l("⚠️ USER CONNECTION SKIPPED","Already connected this user with this service");return}(async()=>{l("🚀 STARTING USER CONNECTION",{userId:t.id}),C.current=!0,p(!0),g(null);try{l("📞 CALLING SERVICE.CONNECTUSER",{userId:t.id});const U=await u.connectUser(t);f(U),v(!0),M.current={serviceId:u,userId:t.id},l("✅ USER CONNECTION SUCCESS",{userId:t.id,clientId:U.userID})}catch(U){const W=U instanceof Error?U.message:"Connection failed";g(W),l("❌ USER CONNECTION ERROR",{userId:t.id,error:W})}finally{p(!1),C.current=!1,l("🔄 USER CONNECTION FINISHED",{userId:t.id,isConnected:o})}})()},[u,t,l,o,c]),h.useEffect(()=>{const B=S;return()=>{var F;B&&(M.current=null,(F=j.current)==null||F.disconnectUser().catch(console.error))}},[S]);const I=h.useCallback(async()=>{if(l("🔄 REFRESH CONNECTION CALLED",{hasService:!!u,hasUser:!!t}),!c){if(!u||!t){l("⚠️ REFRESH CONNECTION SKIPPED","Missing service or user");return}l("🚀 STARTING CONNECTION REFRESH",{userId:t.id}),p(!0);try{l("🔌 DISCONNECTING FOR REFRESH"),await u.disconnectUser(),l("📞 RECONNECTING FOR REFRESH");const B=await u.connectUser(t);f(B),v(!0),g(null),l("✅ CONNECTION REFRESH SUCCESS",{userId:t.id})}catch(B){const F=B instanceof Error?B.message:"Refresh failed";g(F),l("❌ CONNECTION REFRESH ERROR",{userId:t.id,error:F})}finally{p(!1),l("🔄 CONNECTION REFRESH FINISHED",{userId:t.id})}}},[u,t,l,c]),k=h.useMemo(()=>(l("💫 CONTEXT VALUE MEMOIZATION",{hasService:!!u,hasClient:!!m,isConnected:o,isLoading:_,hasError:!!b,capabilitiesKeys:Object.keys(r)}),{service:c?null:u,client:c??m,isConnected:c?!0:o,isLoading:c?!1:_,error:c?null:b,capabilities:r,refreshConnection:I,debug:i}),[u,m,c,o,_,b,r,I,i,l]);return l("🔄 RENDER END",{renderCount:D.current,willRenderChat:!!S,contextValueReady:!!k}),s.jsx(qt,{logger:d,children:s.jsx(Xt.Provider,{value:k,children:S?s.jsx(w.Chat,{client:S,customClasses:{channelList:"str-chat__channel-list str-chat__channel-list-react bg-transparent lg:border-r-2 border-r-0 border-[#0000000A]"},children:e}):e})})},Kt=()=>Ve(),Zt=e=>{var a,r;const[t,n]=h.useState(!!((r=(a=e==null?void 0:e.state)==null?void 0:a.membership)!=null&&r.pinned_at));return h.useEffect(()=>{var c;if(!e){n(!1);return}n(!!((c=e.state.membership)!=null&&c.pinned_at));const i=d=>{var l;n(d!=null&&d.member?!!d.member.pinned_at:!!((l=e.state.membership)!=null&&l.pinned_at))};return e.on("member.updated",i),()=>{e.off("member.updated",i)}},[e]),t};function Ge(e,t,n){const a=Object.values(e||{});if(V.isOfficialChannel(n)){const r=a.find(i=>{var c;return((c=i.user)==null?void 0:c.id)===V.OFFICIAL_SENDER_USER_ID});if(r)return r}return a.find(r=>{var i;return((i=r.user)==null?void 0:i.id)&&r.user.id!==t})}const zs=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function Jt(e){return zs.test(e.trim())}function It(e,t){const n=e==null?void 0:e.trim();return!n||t&&n===t||t&&n===`Follower ${t}`?!1:!Jt(n)}function Ye(e){return It(e==null?void 0:e.name,e==null?void 0:e.id)?e.name.trim():It(e==null?void 0:e.username,e==null?void 0:e.id)?e.username.trim():"Unknown member"}const Tt=[{emoji:"🍎",bgColor:"#FFD1DD"},{emoji:"🍌",bgColor:"#FFF1C9"},{emoji:"🍇",bgColor:"#E6D9FF"},{emoji:"🍊",bgColor:"#D6F4FF"},{emoji:"🍓",bgColor:"#FFE0AE"},{emoji:"🥥",bgColor:"#F7E7D8"},{emoji:"🍒",bgColor:"#DFF4D8"},{emoji:"🥭",bgColor:"#FFD8C2"},{emoji:"🍉",bgColor:"#D6EBFF"},{emoji:"🍋",bgColor:"#CAEEB5"},{emoji:"🥝",bgColor:"#FFE7C7"},{emoji:"🫒",bgColor:"#F6E3B4"},{emoji:"🍈",bgColor:"#D9F7E1"}];function $s(e){let t=0;for(let n=0;n<e.length;n++){const a=e.charCodeAt(n);t=(t<<5)-t+a,t=t&t}return Math.abs(t)}function Qt(e){return Tt[$s(e)%Tt.length]}function Us(e){return Qt(e).emoji}function Hs(e){return Qt(e).bgColor}const he=({id:e,image:t,size:n=40,className:a,starred:r=!1,shape:i="squircle",dmAgentEnabled:c=!1})=>{const d=Us(e),l=Hs(e),u=.45,m=n<32?Math.round(n*u):n<56?14:n<120?18:36,f=n>=40?2:1,o=i==="circle"?{borderRadius:"50%"}:{borderRadius:"1rem"},v=s.jsx("div",{className:"h-full w-full overflow-hidden",style:o,children:t?s.jsx("img",{src:t,alt:"",className:"h-full w-full object-cover"}):s.jsx("div",{"aria-hidden":"true",className:N("avatar-fallback flex h-full w-full items-center justify-center font-semibold select-none transition-colors"),style:{fontSize:m,lineHeight:1},children:d})});return s.jsxs("div",{className:N("relative flex-shrink-0",a),style:{"--str-chat__avatar-size":`${n}px`,width:`${n}px`,height:`${n}px`,backgroundColor:t?void 0:l,...o},children:[r&&s.jsx("div",{"aria-hidden":"true",className:"absolute -left-1.5 -top-1.5 z-10 flex size-5 items-center justify-center rounded-full bg-white shadow-[0_0_0_1px_rgba(0,0,0,0.04),0_4px_8px_rgba(0,0,0,0.06)]",children:s.jsx(y.StarIcon,{className:"size-3 text-yellow-600",weight:"duotone"})}),s.jsx("div",{"data-testid":"avatar-ring",className:N("h-full w-full","bg-transparent"),style:{...o,...c&&{borderWidth:`${f}px`,borderStyle:"solid",borderColor:"var(--AI-Gradient, #7F22FE)",boxShadow:"inset 0 1px 2px 0 rgba(255, 255, 255, 0.5)"}},children:v})]})},Vs="https://linktr.ee/s/about/trust-center/report",Gs=({channel:e,participant:t,showBlockParticipant:n=!0,enabled:a=!0,onLeaveConversation:r,onBlockParticipant:i,onDeleteConversationClick:c,onBlockParticipantClick:d,onReportParticipantClick:l,onActionComplete:u,logLabel:x="useChannelModerationActions"})=>{var M;const{service:m,debug:f}=Ve(),o=(M=t==null?void 0:t.user)==null?void 0:M.id,v=!!(a&&n&&m&&o),[_,p]=h.useState(!1),[b,g]=h.useState(null),[C,j]=h.useState(!1),[E,T]=h.useState(!1),A=v&&((b==null?void 0:b.participantId)!==o||(b==null?void 0:b.service)!==m);return h.useEffect(()=>{if(!v||!m||!o){p(!1),g(null);return}let I=!1;return(async()=>{try{const k=await m.getBlockedUsers();if(I)return;p(k.some(O=>O.blocked_user_id===o))}catch(k){I||console.error(`[${x}] Failed to check blocked status:`,k)}finally{I||g({participantId:o,service:m})}})(),()=>{I=!0}},[v,m,o,x]),{isParticipantBlocked:_,isCheckingBlockedStatus:A,isLeaving:C,isUpdatingBlockStatus:E,handleLeaveConversation:async()=>{var I;if(!C){c==null||c(),f&&console.log(`[${x}] Leave conversation`,e.cid),j(!0);try{const k=((I=e._client)==null?void 0:I.userID)??null;await e.hide(k,!1),r&&await r(e),u==null||u()}catch(k){console.error(`[${x}] Failed to leave conversation`,k)}finally{j(!1)}}},handleBlockUser:async()=>{var I,k,O;if(!(E||!m)){d==null||d(),f&&console.log(`[${x}] Block member`,(I=t==null?void 0:t.user)==null?void 0:I.id),T(!0);try{await m.blockUser((k=t==null?void 0:t.user)==null?void 0:k.id),i&&await i((O=t==null?void 0:t.user)==null?void 0:O.id),u==null||u()}catch($){console.error(`[${x}] Failed to block member`,$)}finally{T(!1)}}},handleUnblockUser:async()=>{var I,k,O;if(!(E||!m)){d==null||d(),f&&console.log(`[${x}] Unblock member`,(I=t==null?void 0:t.user)==null?void 0:I.id),T(!0);try{await m.unBlockUser((k=t==null?void 0:t.user)==null?void 0:k.id),i&&await i((O=t==null?void 0:t.user)==null?void 0:O.id),u==null||u()}catch($){console.error(`[${x}] Failed to unblock member`,$)}finally{T(!1)}}},handleReportUser:()=>{l==null||l(),u==null||u(),window.open(Vs,"_blank","noopener,noreferrer")}}},ue=({variant:e="default",className:t,children:n,...a})=>{const r=e==="danger";return s.jsx("button",{type:"button",className:N("flex w-full items-center gap-3 rounded-lg px-4 py-3 text-left text-sm transition-colors focus-ring disabled:cursor-not-allowed disabled:opacity-60",r?"text-danger hover:bg-danger/50":"text-charcoal hover:bg-sand",t),...a,children:n})},Ys=({channel:e,participant:t,showDeleteConversation:n=!0,showBlockParticipant:a=!0,showReportParticipant:r=!0,onLeaveConversation:i,onBlockParticipant:c,onDeleteConversationClick:d,onBlockParticipantClick:l,onReportParticipantClick:u,customChannelActions:x,triggerClassName:m})=>{const[f,o]=h.useState(!1),v=h.useRef(null),_=h.useId(),p=h.useCallback(()=>o(!1),[]),{isParticipantBlocked:b,isCheckingBlockedStatus:g,isLeaving:C,isUpdatingBlockStatus:j,handleLeaveConversation:E,handleBlockUser:T,handleUnblockUser:A,handleReportUser:L}=Gs({channel:e,participant:t,showBlockParticipant:a,enabled:f,onLeaveConversation:i,onBlockParticipant:c,onDeleteConversationClick:d,onBlockParticipantClick:l,onReportParticipantClick:u,onActionComplete:p,logLabel:"ChannelActionsMenu"});return h.useEffect(()=>{if(!f)return;const R=M=>{v.current&&!v.current.contains(M.target)&&o(!1)},S=M=>{M.key==="Escape"&&o(!1)};return document.addEventListener("mousedown",R),document.addEventListener("keydown",S),()=>{document.removeEventListener("mousedown",R),document.removeEventListener("keydown",S)}},[f]),!t||!(n||a||r||!!x)?null:s.jsxs("div",{ref:v,className:"relative",children:[s.jsxs("button",{className:m,type:"button","aria-haspopup":"true","aria-expanded":f,"aria-controls":f?_:void 0,onClick:()=>o(R=>!R),children:[s.jsx(y.DotsThreeIcon,{className:"size-5 text-black/90"}),s.jsx("span",{className:"sr-only",children:"More options"})]}),f&&s.jsx("div",{id:_,"aria-label":"Conversation options",className:N("absolute right-0 top-full z-50 mt-2 w-56 overflow-hidden","rounded-lg border border-sand bg-white p-1 shadow-max-elevation-light"),children:s.jsxs("ul",{className:"flex flex-col gap-1",children:[n&&s.jsx("li",{children:s.jsxs(ue,{onClick:E,disabled:C,"aria-busy":C,children:[C?s.jsx(y.SpinnerGapIcon,{className:"h-5 w-5 animate-spin"}):s.jsx(y.SignOutIcon,{className:"h-5 w-5"}),s.jsx("span",{children:"Delete Conversation"})]})}),a&&s.jsx("li",{children:g?s.jsxs(ue,{disabled:!0,"aria-busy":!0,children:[s.jsx(y.SpinnerGapIcon,{className:"h-5 w-5 animate-spin"}),s.jsx("span",{children:"Block"})]}):b?s.jsxs(ue,{onClick:A,disabled:j,"aria-busy":j,children:[j?s.jsx(y.SpinnerGapIcon,{className:"h-5 w-5 animate-spin"}):s.jsx(y.ProhibitInsetIcon,{className:"h-5 w-5"}),s.jsx("span",{children:"Unblock"})]}):s.jsxs(ue,{onClick:T,disabled:j,"aria-busy":j,children:[j?s.jsx(y.SpinnerGapIcon,{className:"h-5 w-5 animate-spin"}):s.jsx(y.ProhibitInsetIcon,{className:"h-5 w-5"}),s.jsx("span",{children:"Block"})]})}),r&&s.jsx("li",{children:s.jsxs(ue,{variant:"danger",onClick:L,children:[s.jsx(y.FlagIcon,{className:"h-5 w-5"}),s.jsx("span",{children:"Report"})]})}),x]})})]})},Pe="flex size-10 flex-shrink-0 items-center justify-center rounded-full bg-white/65 shadow-[0px_4px_8px_0px_rgba(0,0,0,0.06),0px_0px_0px_1px_rgba(0,0,0,0.04)] backdrop-blur-[40px] transition-filter duration-150 hover:brightness-95 aria-expanded:brightness-95 focus-ring",Ws="CUSTOMER_PAID",qs=e=>typeof e=="string"&&e.trim().replace(/[\s-]+/g,"_").toUpperCase()===Ws,Xs=({className:e,onBack:t,showBackButton:n,showStarButton:a=!1,onLeaveConversation:r,onBlockParticipant:i,showDeleteConversation:c=!0,showBlockParticipant:d=!0,showReportParticipant:l=!0,onDeleteConversationClick:u,onBlockParticipantClick:x,onReportParticipantClick:m,customChannelActions:f,renderChannelActions:o,showChannelInfo:v=!0,onParticipantNameClick:_})=>{var S,M,I,k;const{channel:p}=w.useChannelStateContext(),{client:b}=w.useChatContext(),g=h.useMemo(()=>{var O;return Ge((O=p.state)==null?void 0:O.members,b==null?void 0:b.userID,p.type)},[(S=p.state)==null?void 0:S.members,b==null?void 0:b.userID,p.type]),C=Ye(g==null?void 0:g.user),j=(M=g==null?void 0:g.user)==null?void 0:M.image,E=Zt(p),T=qs((I=p.data)==null?void 0:I.customer_tag)&&(g==null?void 0:g.is_follower)===!0,A=a&&E,L=T||A||!!_,D=async()=>{try{E?await p.unpin():await p.pin()}catch(O){console.error("[ChannelHeaderRedesign] Failed to update pinned status:",O)}},R=s.jsxs(s.Fragment,{children:[s.jsx(he,{id:((k=g==null?void 0:g.user)==null?void 0:k.id)||p.id||"unknown",name:C,image:j,shape:"circle",size:48,className:"-mb-2"}),s.jsx("span",{className:N("relative z-10 flex max-w-full flex-col items-center justify-center rounded-full border border-white/10 bg-white/65 py-1.5 shadow-[0px_0px_0px_0px_rgba(0,0,0,0.04),0px_1px_2px_0px_rgba(0,0,0,0.04),0px_8px_32px_0px_rgba(0,0,0,0.1)] backdrop-blur-[2px] transition-filter duration-150 group-hover:brightness-95",L?"pl-3 pr-2":"px-3"),children:s.jsxs("span",{className:"flex max-w-full items-center justify-center",children:[s.jsx("span",{className:"min-w-0 truncate text-sm font-bold leading-[1.43] tracking-[0.28px] text-black/90",children:C}),L&&s.jsxs("span",{className:"ml-2 flex gap-1",children:[T&&s.jsx("span",{"aria-label":"Paid customer",className:"flex size-4 shrink-0 items-center justify-center rounded-full bg-[#34C759] text-white",children:s.jsx(y.CurrencyDollarIcon,{className:"size-2.5",weight:"bold"})}),A&&s.jsx("span",{className:"messaging-header-star-badge flex overflow-hidden",children:s.jsx("span",{"aria-label":"Starred conversation",className:"flex size-4 shrink-0 items-center justify-center rounded-full bg-[#FFD60A] text-white",children:s.jsx(y.StarIcon,{className:"size-2.5",weight:"fill"})})}),_&&s.jsx(y.CaretRightIcon,{"aria-hidden":"true",className:"size-4 shrink-0 text-black/65",weight:"bold"})]})]})})]});return s.jsx("div",{className:N("@container bg-[linear-gradient(180deg,#FBFAF9_0%,rgba(251,250,249,0.92)_58%,rgba(251,250,249,0)_100%)]",e),children:s.jsxs("div",{className:"grid min-h-[100px] grid-cols-[minmax(40px,1fr)_auto_minmax(40px,1fr)] items-start pb-2 pt-5 @lg:min-h-[104px] @lg:pt-6",children:[s.jsx("div",{className:"flex items-start",children:n&&s.jsx("button",{className:N(Pe,"messaging-channel-view-back-button-mobile messaging-channel-view-back-button-desktop"),onClick:t||(()=>{}),type:"button","aria-label":"Back to conversations",children:s.jsx(y.ArrowLeftIcon,{className:"size-5 text-black/90"})})}),s.jsx("div",{className:"flex min-w-0 justify-center","data-dd-privacy":"mask",children:_?s.jsx("button",{type:"button",onClick:_,"aria-label":`View details for ${C}`,className:"group flex min-w-0 max-w-full appearance-none flex-col items-center border-0 bg-transparent px-2 focus-ring focus-visible:outline-none",children:R}):s.jsx("div",{className:"flex min-w-0 max-w-full flex-col items-center px-2",children:R})}),s.jsxs("div",{className:"flex items-start justify-end gap-2",children:[a&&s.jsx("button",{className:Pe,onClick:D,type:"button","aria-pressed":E,"aria-label":E?"Unstar conversation":"Star conversation",children:s.jsx(y.StarIcon,{className:N("size-5",{"text-[#FFD60A]":E,"text-black/90":!E}),weight:E?"fill":"regular"})}),v&&(o!==void 0?o:s.jsx(Ys,{channel:p,participant:g,showDeleteConversation:c,showBlockParticipant:d,showReportParticipant:l,onLeaveConversation:r,onBlockParticipant:i,onDeleteConversationClick:u,onBlockParticipantClick:x,onReportParticipantClick:m,customChannelActions:f,triggerClassName:Pe}))]})]})})},Ks=e=>s.jsx(w.DateSeparator,{...e,position:"center"});function es(e){return(e==null?void 0:e.trim().toLowerCase().split(/[-_]/)[0])||void 0}function We({message:e,viewerLanguage:t}){var r;const n=e==null?void 0:e.text,a=es(t);return a?((r=e==null?void 0:e.i18n)==null?void 0:r[`${a}_text`])??n:n}function Le(e){var t;return e.type==="link"||!!((t=e.og_scrape_url)!=null&&t.trim())&&!e.asset_url}const Zs={isUnlocking:()=>!1},Js={LockedAttachment:Zs},ts=h.createContext({}),Qs=ts.Provider;function ss(e){return h.useContext(ts)[e]??Js[e]}const en=h.lazy(()=>Promise.resolve().then(()=>require("./Card-Be81K6su.cjs"))),tn=h.lazy(()=>Promise.resolve().then(()=>require("./Card-BhD4TO-t.cjs"))),sn=()=>s.jsx("div",{className:"w-[280px] min-h-[200px] animate-pulse rounded-md bg-black/[0.06] shadow-[0_0_0_1px_rgba(0,0,0,0.04),0_1px_2px_rgba(0,0,0,0.04),0_8px_32px_rgba(0,0,0,0.1)]","aria-hidden":!0}),pe=e=>s.jsx(h.Suspense,{fallback:s.jsx(sn,{}),children:e.contentType==="text"?s.jsx(en,{...e}):s.jsx(tn,{...e})}),nn=({size:e=15})=>s.jsx("svg",{width:e,height:e,viewBox:"0 0 15 15",fill:"none","aria-hidden":"true",children:s.jsx("path",{d:"M12.003 9a.985.985 0 0 1-.652.934l-3.223 1.191-1.188 3.226a.995.995 0 0 1-1.867 0l-1.195-3.226L.65 9.937a.995.995 0 0 1 0-1.867l3.227-1.195 1.187-3.226a.995.995 0 0 1 1.868 0l1.195 3.226 3.226 1.187a.99.99 0 0 1 .649.938m3-5.83a.52.52 0 0 1-.344.492l-1.702.63-.627 1.703a.525.525 0 0 1-.986 0l-.63-1.704-1.704-.627a.525.525 0 0 1 0-.986l1.703-.63.627-1.704a.526.526 0 0 1 .986 0l.631 1.703 1.704.627a.52.52 0 0 1 .342.495",fill:"currentColor",fillOpacity:.55})}),ns=e=>{var t;return((t=e.metadata)==null?void 0:t.custom_type)===V.MESSAGE_CUSTOM_TYPE.PAID},Ie=e=>{var t;return((t=e.metadata)==null?void 0:t.custom_type)===V.MESSAGE_CUSTOM_TYPE.CHATBOT},qe=e=>{var t;return((t=e.metadata)==null?void 0:t.custom_type)===V.MESSAGE_CUSTOM_TYPE.ATTACHMENT},an=e=>{var t;return qe(e)&&((t=e.metadata)==null?void 0:t.attachment_content_type)==="text"},rn=e=>{var t;return qe(e)&&((t=e.metadata)==null?void 0:t.attachment_content_type)!=="text"},on=e=>{var t;return ns(e)&&!!((t=e.metadata)!=null&&t.amount_text)},At=({message:e,isMyMessage:t=!1,hasAttachment:n=!1})=>{var m;const a=ns(e),r=Ie(e);if(!a&&!r)return null;if(a){const f=(m=e.metadata)==null?void 0:m.amount_text;return f?s.jsxs("div",{className:"message-tag--paid inline-flex items-center gap-1 text-[12px] font-medium leading-[2] text-[#016630]",children:[s.jsx(y.GiftIcon,{size:12}),s.jsxs("span",{children:["Delivered with ",f," message"]})]}):null}const i=t&&n,c=i?"Sent with AI":"Sent by AI Assistant",d="inline-flex items-center text-[10px] font-normal leading-4 tracking-[0.2px]",l=i?"justify-end gap-2 text-black/30":t?"w-full justify-start gap-1.5 mt-3 px-4 text-white/55":"w-full justify-start gap-1.5 mt-3 px-4 text-black/30",u=s.jsx("span",{className:"text-left",children:c}),x=s.jsx("span",{className:"inline-flex items-center leading-none",children:s.jsx(nn,{size:i?12:15})});return s.jsx("div",{className:`${d} ${l}`,"data-testid":"message-chatbot-indicator",children:t&&!i?s.jsxs(s.Fragment,{children:[u,x]}):s.jsxs(s.Fragment,{children:[x,u]})})},Mt=`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='23' fill='none'%3E%3Cpath fill='black' d='M0 0H15C15 10.1934 15.859 15.2345 19.168 21.4893C19.527 22.168 19.039 22.9917 18.274 22.9178C5.176 21.6506 0.32 6.0737 0 0Z'/%3E%3C/svg%3E") no-repeat center / 100% 100%`,ln={me:"var(--str-chat__own-message-bubble-background-color, #1e2330)",other:"var(--str-chat__message-bubble-background-color, #f1f0ee)"},Te=({side:e})=>s.jsx("span",{"aria-hidden":"true",className:"pointer-events-none absolute bottom-0 z-[-1] h-[1.4375rem] w-5",style:{insetInlineEnd:e==="me"?"calc(-1 * 0.3125rem)":void 0,insetInlineStart:e==="other"?"calc(-1 * 0.3125rem)":void 0,transform:e==="other"?"scaleX(-1)":void 0,transformOrigin:"center",backgroundColor:ln[e],WebkitMask:Mt,mask:Mt}}),as=h.createContext(void 0),cn=e=>{var n;const t=(n=e.metadata)==null?void 0:n.outbound_id;return typeof t=="string"?t:void 0},dn=(e,t)=>{if(!t||!(e!=null&&e.length))return;const n=new Set;let a;for(const r of e){const i=cn(r);if(!i||n.has(i))continue;n.add(i);const c=t(i);c&&(a??(a={}),a[i]={id:c.id,...c.name!==void 0?{name:c.name}:{}})}return a},un=(e,t)=>{if(e===t)return!0;if(!e||!t)return!1;const n=Object.keys(e),a=Object.keys(t);return n.length!==a.length?!1:n.every(r=>{var i,c;return e[r].id===((i=t[r])==null?void 0:i.id)&&e[r].name===((c=t[r])==null?void 0:c.name)})},mn=(e,t)=>{const n=dn(e,t),[a,r]=h.useState(n);return un(a,n)?a:(r(n),n)},Xe=e=>{var t;return((t=e.metadata)==null?void 0:t.custom_type)===V.MESSAGE_CUSTOM_TYPE.TIP},rs=({message:e})=>{var n;const t=(n=e.metadata)==null?void 0:n.amount_text;return t?s.jsxs("div",{className:"message-tip-pill inline-flex items-end gap-0.5 max-w-[520px] rounded-[1.5rem] bg-[#43e660] px-4 py-3 text-white",children:[s.jsx("span",{className:"flex h-5 items-center text-[20px] leading-none","aria-hidden":"true",children:"🎁"}),s.jsxs("span",{className:"text-[14px] font-bold leading-[1.43] tracking-[0.28px] text-[rgba(4,4,3,0.9)]",children:[t," tip!"]})]}):null},Ke=()=>{const{message:e}=w.useMessageContext("SentMessageDeliveryStatus"),{messages:t}=w.useChannelStateContext("SentMessageDeliveryStatus"),n=(()=>{if(t)for(let a=t.length-1;a>=0;a-=1){const r=t[a];if(!(r.type==="system"||r.type==="ephemeral"||r.type==="deleted"))return r.id}})();return e.id===n},ke=()=>Ke()?s.jsxs(s.Fragment,{children:[s.jsx(y.ChecksIcon,{weight:"bold","aria-hidden":"true"}),s.jsx("span",{"data-testid":"sent-message-delivery-status",children:"Delivered"})]}):null,hn=()=>Ke()?s.jsxs(s.Fragment,{children:[s.jsx(y.CircleNotchIcon,{className:"sent-message-status__spinner animate-spin",weight:"bold","aria-hidden":"true"}),s.jsx("span",{"data-testid":"sent-message-sending-status",children:"Sending"})]}):null,xn=({outbound:e,onOutboundClick:t})=>{const n=e.name||"Broadcast",a=!!t,r=s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"sent-message-outbound-badge","aria-hidden":"true",children:s.jsx(y.MegaphoneIcon,{weight:"fill"})}),s.jsx("span",{className:N("sent-message-outbound-name",{"underline [text-decoration-skip-ink:auto]":a}),"data-testid":"sent-message-outbound-status",children:n})]});return t?s.jsx("button",{type:"button",className:"inline-flex cursor-pointer items-center gap-1 border-0 bg-transparent p-0 text-inherit [font:inherit]","aria-label":`View broadcast ${n}`,onClick:()=>t(e),children:r}):r},fn=()=>s.jsxs("span",{className:"str-chat__message-status sent-message-status--failed",children:[s.jsx(y.WarningCircleIcon,{weight:"bold","aria-hidden":"true"}),s.jsx("span",{"data-testid":"sent-message-failed-status",children:"Failed to send"})]}),gn=({onOutboundClick:e,resolvedOutbound:t})=>{var x;const{isMyMessage:n,message:a,threadList:r}=w.useMessageContext("SentMessageDeliveryStatus"),i=n(),c=Ke();if(r)return null;if(a.status==="failed"&&i&&a.type!=="error")return s.jsx(fn,{});if(!i)return null;const d=(x=a.metadata)==null?void 0:x.outbound_id,l=a.status!=="sending"&&a.status!=="failed"&&d&&t?s.jsx(xn,{outbound:t,onOutboundClick:e}):null,u=on(a)?null:s.jsx(w.MessageStatus,{MessageSentStatus:ke,MessageDeliveredStatus:ke,MessageReadStatus:ke,MessageSendingStatus:Xe(a)?ke:hn});return l?s.jsxs("span",{className:"sent-message-status-row",children:[u,u&&c&&s.jsx("span",{className:"sent-message-outbound-separator","aria-hidden":"true",children:"•"}),l]}):u},pn=["linktr.ee"],Rt="messaging-attachment-v1_0";function bn(e){try{return new URL(e).hostname.toLowerCase()}catch{return null}}function vn(e){return pn.some(t=>e===t||e.endsWith(`.${t}`))}function le(e){const t=e==null?void 0:e.trim();if(!t)return;const n=bn(t);if(!n||!vn(n))return t;const a=new URL(t);return a.searchParams.get("io")==="true"&&a.searchParams.get("size")===Rt?t:(a.searchParams.set("io","true"),a.searchParams.set("size",Rt),a.toString())}const jn=/^([a-z][a-z0-9+.-]*):/i,wn=new Set(["http","https","mailto","tel","sms"]);function Ze(e){if(typeof e!="string")return;const t=e.trim();if(t==="")return;const n=jn.exec(t);if(n){const a=n[1].toLowerCase();return wn.has(a)?t:void 0}return t.startsWith("//")||t.startsWith("/")?t:`https://${t}`}const _n={dark:{primary:"bg-white text-[#121110] hover:bg-white/90",secondary:"bg-white/15 text-white hover:bg-white/25"},light:{primary:"bg-[#121110] text-white hover:bg-[#2a2928]",secondary:"bg-black/[0.06] text-[#121110] hover:bg-black/10"}},is=({variant:e,cta:t,fullWidth:n=!0,standalone:a=!1})=>{const r=t.variant??"primary",i=N("inline-flex h-10 items-center justify-center rounded-full px-4 text-sm font-medium leading-none transition-colors",n?"w-full":"min-w-0",!a&&"mt-2",_n[e][r]),c=n?t.label:s.jsx("span",{className:"min-w-0 truncate",children:t.label}),d=Ze(t.href);return d?s.jsx("a",{href:d,target:"_blank",rel:"noopener noreferrer",onClick:l=>{var u;l.stopPropagation(),(u=t.onClick)==null||u.call(t)},className:`${i} no-underline`,children:c}):s.jsx("button",{type:"button",onClick:l=>{var u;l.stopPropagation(),(u=t.onClick)==null||u.call(t)},className:i,children:c})},Cn={dark:"text-white",light:"text-black/90"},Nn="text-white/30",Lt={dark:"text-white/55",light:"text-black/55"},yn={dark:"bg-white/25",light:"bg-black/15"},Je=({variant:e,ctaSurface:t,chinTextColor:n,title:a,placeholderTitle:r,description:i,descriptionLines:c=1,url:d,appIcon:l,cta:u,trailingAction:x,isLoading:m=!1})=>{const f=e==="dark",o=a??(f?r:void 0)??"",v=o.trim()!=="",_=i!=null&&i.trim()!=="",p=typeof d=="string"?d.trim():"",b=p!=="",g=u!=null;if(!m&&!v&&!_&&!b&&!g)return null;const C=f&&!a,j=N("line-clamp-2 text-[14px] font-medium leading-5 tracking-[0.28px]",n==null&&(C?Nn:Cn[e])),E=N("truncate text-[12px] leading-4 tracking-[0.24px]",n==null&&Lt[e]),T=N("text-[12px] leading-4 tracking-[0.24px]",c<=1&&"truncate",n==null&&Lt[e]);if(m){const D=N("animate-pulse rounded",yn[e]);return s.jsx("div",{className:"shrink-0 px-4 py-3",children:s.jsxs("div",{className:"flex min-w-0 flex-col gap-[2px]",children:[s.jsx("div",{className:N("h-5 w-3/4",D),"aria-hidden":!0}),s.jsx("div",{className:N("h-4 w-1/2",D),"aria-hidden":!0})]})})}const A=n?{color:n}:void 0,L=c>1?{...A,display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:c,overflow:"hidden"}:A;return s.jsxs("div",{className:"shrink-0 px-4 py-3",children:[s.jsxs("div",{className:"flex items-end gap-3",children:[s.jsxs("div",{className:"flex min-w-0 flex-1 flex-col gap-[2px]",children:[v&&s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[l?s.jsx("span",{className:"shrink-0",children:l}):null,s.jsx("p",{className:N("min-w-0",j),style:A,children:o})]}),_&&s.jsx("p",{className:T,style:L,children:i}),!g&&b&&s.jsx("p",{className:E,style:A,"data-testid":"link-attachment-url",children:p})]}),x&&s.jsx("div",{className:"shrink-0",children:x})]}),u&&s.jsx(is,{variant:t??e,cta:u})]})},Sn="Loading link preview",kn=N("relative w-[var(--lt-msg-card-width,290px)] max-w-full select-none overflow-hidden","rounded-[20px]"),En="flex h-[250px] flex-col",ve=({variant:e,children:t,href:n,onClick:a,ariaLabel:r,rootRef:i,topRight:c,bgClassName:d,accentHex:l,fixedHeight:u=!1,busy:x=!1,"data-testid":m})=>{const f=n!=null||a!=null,o=N("messaging-link-card",kn,u?En:"block",d??(e==="dark"?"bg-[#1e2330]":"bg-[#f1f0ee]"),f?"cursor-pointer no-underline focus-ring":null),v=x?{role:"status","aria-busy":!0,"aria-label":Sn}:void 0,_=l?{"--accent":l}:void 0,p=c?s.jsx("div",{className:"pointer-events-auto absolute right-3 top-3 z-10",children:c}):null;return n?s.jsxs("a",{ref:i,href:n,target:"_blank",rel:"noopener noreferrer",onClick:a,"data-testid":m,"data-variant":e,className:o,style:_,...v,children:[t,p]}):a?s.jsxs("button",{ref:i,type:"button",onClick:a,"aria-label":r,"data-testid":m,"data-variant":e,className:N(o,"text-left"),style:_,...v,children:[t,p]}):s.jsxs("div",{ref:i,"data-testid":m,"data-variant":e,className:o,style:_,...v,children:[t,p]})},In=[[/pdf/,"pdf"],[/wordprocessingml|msword|\.doc/,"doc"],[/spreadsheetml|ms-excel|\.xls/,"xls"],[/csv/,"csv"],[/presentationml|ms-powerpoint|\.ppt/,"ppt"],[/zip|x-rar|x-7z|x-tar|x-gzip/,"zip"],[/plain|rtf/,"text"],[/markdown/,"markdown"]];function xe(e){return e.startsWith("video/")?"video":e.startsWith("audio/")?"audio":e.startsWith("image/")?"image":"document"}function os(e){const t=In.find(([n])=>n.test(e));return t?t[1]:"generic"}const Tn={video:y.VideoCameraIcon,audio:y.SpeakerHighIcon,image:y.ImageIcon,document:y.FileIcon},An={pdf:y.FilePdfIcon,doc:y.FileDocIcon,xls:y.FileXlsIcon,csv:y.FileCsvIcon,ppt:y.FilePptIcon,zip:y.FileZipIcon,text:y.FileTextIcon,markdown:y.FileMdIcon,generic:y.FileIcon};function Mn(e){const t=xe(e);return t!=="document"?Tn[t]:An[os(e)]}function Qe(e,t){return h.createElement(Mn(e),t)}const Ot={dark:"bg-white/10",light:"bg-black/5"},Rn={dark:"size-16 text-white/25",light:"size-16 text-black/25"},we=(e,t)=>!!t&&!!e&&xe(e)==="audio",et=(e,t)=>{if(!t||!e)return!1;const n=xe(e);return n==="video"||n==="audio"},tt="bg-[#F2F3F4]",je=({variant:e,thumbnailUrl:t,sourceUrl:n,title:a,mimeType:r="image/*",topLeft:i,topRight:c,isLoading:d=!1,onImageError:l})=>{const u=xe(r),x=!!n&&u==="video",m=le(t);return!d&&we(r,n)?s.jsx("div",{className:"p-3",children:s.jsx("audio",{src:n,controls:!0,preload:"metadata",className:"block w-full",children:s.jsx("track",{kind:"captions"})})}):s.jsxs("div",{className:N("relative min-h-0 w-full flex-1 overflow-hidden",x&&"bg-black"),children:[d?s.jsx("div",{className:N("h-full w-full animate-pulse",Ot[e]),"aria-hidden":!0}):x?s.jsxs(s.Fragment,{children:[s.jsx("video",{src:n,poster:m,controls:!0,playsInline:!0,preload:"metadata",className:"absolute inset-0 h-full w-full object-contain",children:s.jsx("track",{kind:"captions"})}),m&&l?s.jsx("img",{src:m,alt:"","aria-hidden":!0,onError:l,className:"hidden"}):null]}):t?s.jsx("img",{src:m??t,alt:a??"",draggable:!1,loading:"lazy",decoding:"async",onError:l,className:"absolute inset-0 h-full w-full object-cover"}):s.jsx("div",{className:N("flex h-full w-full items-center justify-center",Ot[e]),children:Qe(r,{className:Rn[e],weight:"regular"})}),i?s.jsx("div",{className:"pointer-events-auto absolute left-3 top-3 z-10",children:i}):null,c?s.jsx("div",{className:"pointer-events-auto absolute right-3 top-3 z-10",children:c}):null]})},Ln=/^#?(?:[0-9a-f]{3}|[0-9a-f]{6})$/i;function On(e){const t=e.trim();return t.startsWith("#")?t:`#${t}`}const Dn="#FFFFFF",ls="#040403",Fn={dark:Dn,light:ls};function Oe({variant:e,accentColor:t,status:n="ready",layout:a="featured",thumbnailUrl:r,mimeType:i,sourceUrl:c}){const[d,l]=h.useState(!1);h.useEffect(()=>{l(!1)},[r]);const u=h.useCallback(()=>{l(!0)},[]),x=we(i,c),o=a==="featured"&&!!r&&!x&&!d&&n==="ready"&&t!=null&&Ln.test(t.trim())?On(t):void 0,v=x?ls:Fn[e];return{thumbnailUrl:d?void 0:r,accentHex:o,chinTextColor:v,surface:x?"light":e,isLoading:n==="loading",onImageError:u}}const Pn="flex size-6 items-center justify-center rounded-full bg-[#121110] text-white focus-ring",Bn="relative before:absolute before:-inset-[10px] before:content-['']",zn=({title:e,placeholderTitle:t,description:n,descriptionLines:a,url:r,mimeType:i,thumbnailUrl:c,sourceUrl:d,layout:l="featured",appIcon:u,cta:x,accentColor:m,status:f="ready",onDismiss:o,onEditClick:v,dismissLabel:_="Dismiss attachment"})=>{const p=l==="classic",b=we(i,d),g=Oe({variant:"dark",accentColor:m,status:f,layout:l,thumbnailUrl:c,mimeType:i,sourceUrl:d}),C=o?s.jsx("button",{type:"button",onClick:o,"aria-label":_,className:N(Pn,!b&&Bn),children:s.jsx(y.XIcon,{className:"size-3",weight:"bold"})}):void 0,j=v?s.jsx("button",{type:"button",onClick:v,"aria-label":"Edit attachment",className:"flex size-10 items-center justify-center rounded-full bg-white/10 text-white hover:bg-white/15",children:s.jsx(y.PencilSimpleIcon,{className:"size-5",weight:"regular"})}):void 0;return b&&!g.isLoading?s.jsx(ve,{variant:"dark",bgClassName:tt,children:s.jsxs("div",{className:"flex items-center gap-2 pr-3",children:[s.jsx("div",{className:"min-w-0 flex-1",children:s.jsx(je,{variant:"dark",sourceUrl:d,title:e,mimeType:i})}),C&&s.jsx("div",{className:"shrink-0",children:C})]})}):s.jsxs(ve,{variant:"dark",fixedHeight:!p,accentHex:g.accentHex,busy:g.isLoading,topRight:p?C:void 0,children:[!p&&s.jsx(je,{variant:"dark",thumbnailUrl:g.thumbnailUrl,sourceUrl:d,title:e,mimeType:i,topRight:C,isLoading:g.isLoading,onImageError:g.onImageError}),s.jsx(Je,{chinTextColor:g.chinTextColor,variant:"dark",ctaSurface:g.surface,title:e,placeholderTitle:t,description:n,descriptionLines:a,url:r,appIcon:u,cta:x,trailingAction:j,isLoading:g.isLoading})]})},st=({accentHex:e,side:t,visible:n,children:a})=>{if(!n)return s.jsx(s.Fragment,{children:a});const r=t==="sender"?"dark":"light",i=e?{"--accent":e}:void 0;return s.jsxs("div",{className:"relative isolate w-fit",children:[a,s.jsx("span",{"aria-hidden":!0,"data-testid":"link-card-tail","data-variant":r,style:i,className:N("messaging-link-card-tail",t==="receiver"&&"messaging-link-card-tail--received")})]})},$n=({title:e,description:t,descriptionLines:n,url:a,mimeType:r,thumbnailUrl:i,sourceUrl:c,layout:d="featured",appIcon:l,cta:u,accentColor:x,status:m="ready",onClick:f,groupPosition:o="single"})=>{const v=et(r,c),_=Ze(a),p=u==null&&_!=null&&!v?_:void 0,b=u==null&&!v?f:void 0,g=m!=="loading"&&we(r,c)?tt:void 0,C=u&&f?{...u,onClick:()=>{var E;f(),(E=u.onClick)==null||E.call(u)}}:u,j=Oe({variant:"light",accentColor:x,status:m,layout:d,thumbnailUrl:i,mimeType:r,sourceUrl:c});return s.jsx(st,{accentHex:j.accentHex,side:"receiver",visible:g==null&&(o==="single"||o==="end"),children:s.jsxs(ve,{variant:"light",href:p,onClick:b,ariaLabel:e??"Open attachment preview",fixedHeight:d==="featured"&&g==null,accentHex:j.accentHex,busy:j.isLoading,bgClassName:g,"data-testid":"link-attachment",children:[d==="featured"&&s.jsx(je,{variant:"light",thumbnailUrl:j.thumbnailUrl,sourceUrl:c,title:e,mimeType:r,isLoading:j.isLoading,onImageError:j.onImageError}),s.jsx(Je,{chinTextColor:j.chinTextColor,variant:"light",ctaSurface:j.surface,title:e,description:t,descriptionLines:n,url:a,appIcon:l,cta:C,isLoading:j.isLoading})]})})},Un=({title:e,placeholderTitle:t,description:n,descriptionLines:a,url:r,mimeType:i,thumbnailUrl:c,sourceUrl:d,layout:l="featured",appIcon:u,cta:x,accentColor:m,status:f="ready",onClick:o,groupPosition:v="single"})=>{const _=et(i,d),p=Ze(r),b=x==null&&p!=null&&!_?p:void 0,g=x==null&&!_&&b!=null?o:void 0,C=f!=="loading"&&we(i,d),j=Oe({variant:"dark",accentColor:m,status:f,layout:l,thumbnailUrl:c,mimeType:i,sourceUrl:d});return s.jsx(st,{accentHex:j.accentHex,side:"sender",visible:!C&&(v==="single"||v==="end"),children:s.jsxs(ve,{variant:"dark",href:b,onClick:g,fixedHeight:l==="featured"&&!C,accentHex:j.accentHex,busy:j.isLoading,bgClassName:C?tt:void 0,children:[l==="featured"&&s.jsx(je,{variant:"dark",thumbnailUrl:j.thumbnailUrl,sourceUrl:d,title:e,mimeType:i,isLoading:j.isLoading,onImageError:j.onImageError}),s.jsx(Je,{chinTextColor:j.chinTextColor,variant:"dark",ctaSurface:j.surface,title:e,placeholderTitle:t,description:n,descriptionLines:a,url:r,appIcon:u,cta:x,isLoading:j.isLoading})]})})},Ae={Composer:zn,Sent:Un,Received:$n},Hn={dark:"bg-[#1e2330]",light:"bg-[#f2f1ef]"},Vn={dark:"text-white",light:"text-[#000000]"},Gn={dark:"border-white/[0.08]",light:"border-black/[0.08]"},Yn=e=>e==="dark"?"sender":"receiver",Wn={sender:{single:"rounded-tl-[18px] rounded-tr-[18px] rounded-bl-[18px] rounded-br-[18px]",first:"rounded-tl-[18px] rounded-tr-[18px] rounded-bl-[18px] rounded-br-[4px]",middle:"rounded-tl-[18px] rounded-tr-[4px] rounded-bl-[18px] rounded-br-[4px]",end:"rounded-tl-[18px] rounded-tr-[4px] rounded-bl-[18px] rounded-br-[18px]"},receiver:{single:"rounded-tl-[18px] rounded-tr-[18px] rounded-bl-[18px] rounded-br-[18px]",first:"rounded-tl-[18px] rounded-tr-[18px] rounded-bl-[4px] rounded-br-[18px]",middle:"rounded-tl-[4px] rounded-tr-[18px] rounded-bl-[4px] rounded-br-[18px]",end:"rounded-tl-[4px] rounded-tr-[18px] rounded-bl-[18px] rounded-br-[18px]"}},_e=({variant:e,text:t,bordered:n=!0,groupPosition:a="single",widthClassName:r="w-[280px]",paddingClassName:i="px-2 py-2",radiusClassName:c,className:d,children:l,"data-testid":u})=>{const x=t!=null&&t!=="",m=c??Wn[Yn(e)][a];return s.jsxs("div",{"data-testid":u,"data-group-position":a,className:N("relative",r,"overflow-hidden",i,x&&"pb-0",m,Hn[e],Vn[e],n&&"border",n&&Gn[e],d),children:[l,x?s.jsx("p",{className:N("whitespace-pre-wrap break-words leading-snug hyphens-manual","pb-2 pt-2","px-2"),children:t}):null]})},Ce=({onClick:e,variant:t="overlay",ariaLabel:n="Dismiss attachment"})=>s.jsx("button",{type:"button",onClick:a=>{a.stopPropagation(),e()},"aria-label":n,className:N("flex size-6 items-center justify-center rounded-full text-white",t==="overlay"?"bg-[#121110]/85 backdrop-blur":"bg-white/15 hover:bg-white/25"),children:s.jsx(y.XIcon,{className:"size-3",weight:"bold"})}),Ne=e=>e==="received"?"light":"dark",qn=({firstOfGroup:e,endOfGroup:t,groupedByUser:n})=>!n||e&&t?"single":e?"first":t?"end":"middle",Xn=({src:e,mimeType:t,filename:n,items:a})=>a&&a.length>0?a:e?[{src:e,mimeType:t,filename:n}]:[],Kn=({item:e,preload:t,trailingAction:n})=>s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("audio",{src:e.src,controls:!0,preload:e.preload??t,className:"block min-w-0 flex-1",children:e.mimeType?s.jsx("source",{src:e.src,type:e.mimeType}):null}),n??null]}),nt=({state:e,src:t,mimeType:n,filename:a,items:r,text:i,groupPosition:c,preload:d,onDismiss:l})=>{const u=Ne(e),x=e==="composer"&&!!l,m=Xn({src:t,mimeType:n,filename:a,items:r});if(m.length===0)return null;const f=d??(m.length>1?"none":"metadata");return s.jsx(_e,{variant:u,text:i,groupPosition:c,"data-testid":"audio-attachment",children:s.jsx("div",{className:"flex flex-col gap-2",children:m.map((o,v)=>s.jsx(Kn,{item:o,preload:f,trailingAction:x&&v===0?s.jsx(Ce,{onClick:l,variant:"inline"}):void 0},`${o.src}-${v}`))})})},Zn=e=>s.jsx(nt,{...e,state:"composer"}),Jn=e=>s.jsx(nt,{...e,state:"sent"}),Qn=e=>s.jsx(nt,{...e,state:"received"}),ea={Composer:Zn,Sent:Jn,Received:Qn};function cs(e){return!Number.isFinite(e)||e<0?"":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(2)} MB`:`${(e/(1024*1024*1024)).toFixed(2)} GB`}const ta={pdf:"PDF",doc:"DOC",xls:"XLS",csv:"CSV",ppt:"PPT",zip:"ZIP",text:"TXT",markdown:"MD"};function ds(e,t){if(t){const r=t.lastIndexOf(".");if(r>0&&r<t.length-1){const i=t.slice(r+1);if(i&&i.length<=5)return i.toUpperCase()}}if(!e)return;if(xe(e)==="document"){const r=os(e),i=ta[r];if(i)return i;if(e==="application/octet-stream")return}const a=e.split("/")[1];if(!(!a||a==="*"))return a.toUpperCase()}function us(e,t,n){const a=ds(e,t),r=typeof n=="number"&&n>0?cs(n):void 0;return[a,r].filter(Boolean).join(" · ")||void 0}function se(e){try{const n=new URL(e).pathname.split("/").pop();return n&&n.length>0?decodeURIComponent(n):"download"}catch{return"download"}}const sa={dark:"text-white/55",light:"text-black/65"},na={dark:"bg-white/10",light:"bg-black/5"},aa={dark:"text-white/85",light:"text-black/85"},ms=({variant:e,filename:t,title:n,mimeType:a="application/octet-stream",fileSize:r,onActivate:i,activateLabel:c,trailingAction:d})=>{const l=n??t??"File",u=us(a,t,r),x=s.jsx("div",{className:N("flex size-10 shrink-0 items-center justify-center rounded-sm",na[e]),"aria-hidden":!0,children:Qe(a,{className:N("size-6",aa[e]),weight:"regular"})}),m=s.jsxs("div",{className:"flex min-w-0 flex-1 flex-col text-left",children:[s.jsx("p",{className:"truncate font-medium leading-snug",children:l}),u?s.jsx("p",{className:N("truncate text-xs leading-4",sa[e]),children:u}):null]}),f=i?s.jsxs("button",{type:"button",onClick:i,"aria-label":c,className:N("flex min-w-0 flex-1 items-center gap-3 rounded-sm text-left transition-colors",e==="dark"?"hover:bg-white/[0.04]":"hover:bg-black/[0.04]"),children:[x,m]}):s.jsxs(s.Fragment,{children:[x,m]});return s.jsxs("div",{className:"flex items-center gap-3 px-3 py-2",children:[f,d?s.jsx("div",{className:"shrink-0",children:d}):null]})};async function hs(e,t){const n=t??se(e);try{const a=await fetch(e,{mode:"cors"});if(!a.ok)throw new Error(`HTTP ${a.status}`);const r=await a.blob(),i=URL.createObjectURL(r),c=document.createElement("a");c.href=i,c.download=n,c.style.display="none",document.body.appendChild(c),c.click(),document.body.removeChild(c),URL.revokeObjectURL(i)}catch{if(!window.open(e,"_blank","noopener,noreferrer")){const r=document.createElement("a");r.href=e,r.download=n,r.target="_blank",r.rel="noopener noreferrer",r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r)}}}const ra=({src:e,filename:t,fileSize:n,mimeType:a,title:r,items:i})=>i&&i.length>0?i:e?[{src:e,filename:t,fileSize:n,mimeType:a,title:r}]:[],ia=({variant:e,item:t,index:n,onActivate:a,trailingAction:r})=>{const i=t.filename??se(t.src);return s.jsx(ms,{variant:e,filename:i,title:t.title,mimeType:t.mimeType??"application/octet-stream",fileSize:t.fileSize,onActivate:()=>a(n),activateLabel:`Download ${i}`,trailingAction:r})},at=({state:e,src:t,filename:n,fileSize:a,mimeType:r,title:i,items:c,text:d,groupPosition:l,onClick:u,onDismiss:x})=>{const m=Ne(e),f=e==="composer"&&!!x,o=ra({src:t,filename:n,fileSize:a,mimeType:r,title:i,items:c}),v=p=>{if((u==null?void 0:u(p))===!1)return;const b=o[p];if(!b)return;const g=b.filename??se(b.src);hs(b.src,g)};if(o.length===0)return null;const _=s.jsx("span",{className:N("flex size-8 items-center justify-center rounded-full",m==="dark"?"text-white/70":"text-black/70"),"aria-hidden":!0,children:s.jsx(y.DownloadSimpleIcon,{className:"size-5",weight:"bold"})});return s.jsx(_e,{variant:m,text:d,groupPosition:l,"data-testid":"file-attachment",children:s.jsx("div",{className:"flex flex-col gap-2",children:o.map((p,b)=>{const g=f&&b===0?s.jsx(Ce,{onClick:x,variant:"inline"}):_;return s.jsx(ia,{variant:m,item:p,index:b,onActivate:v,trailingAction:g},`${p.src}-${b}`)})})})},oa=e=>s.jsx(at,{...e,state:"composer"}),la=e=>s.jsx(at,{...e,state:"sent"}),ca=e=>s.jsx(at,{...e,state:"received"}),da={Composer:oa,Sent:la,Received:ca},xs="inline-flex size-10 items-center justify-center rounded-full border-0 bg-white/[0.12] p-0 text-white transition-colors duration-150 ease-[ease] hover:bg-white/[0.22] focus-visible:bg-white/[0.22] focus-visible:outline-none disabled:cursor-default disabled:opacity-40",Dt="absolute top-1/2 z-[1] inline-flex size-12 -translate-y-1/2 items-center justify-center rounded-full border-0 bg-white/[0.12] p-0 text-white transition-colors duration-150 ease-[ease] hover:bg-white/[0.22] focus-visible:bg-white/[0.22] focus-visible:outline-none",rt=({onPrev:e,onNext:t,prevLabel:n="Previous",nextLabel:a="Next"})=>s.jsxs(s.Fragment,{children:[s.jsx("button",{type:"button",onClick:e,"aria-label":n,className:`${Dt} left-4`,children:s.jsx(y.CaretLeftIcon,{size:20,weight:"bold","aria-hidden":!0})}),s.jsx("button",{type:"button",onClick:t,"aria-label":a,className:`${Dt} right-4`,children:s.jsx(y.CaretRightIcon,{size:20,weight:"bold","aria-hidden":!0})})]}),fs=({url:e,filename:t,variant:n="pill",label:a="Download",iconOnly:r,tone:i="dark",onTriggered:c})=>{const[d,l]=h.useState(!1),u=h.useCallback(o=>{o.stopPropagation(),!d&&(l(!0),hs(e,t).catch(()=>{}).finally(()=>{l(!1),c==null||c()}))},[d,e,t,c]),x=r??n!=="pill",f={className:N(n==="pill"?"size-4":"size-5","shrink-0"),weight:"bold"};if(n==="inline"){const o={dark:"text-white/70 hover:bg-white/[0.08] hover:text-white",light:"text-black/70 hover:bg-black/[0.08] hover:text-black"};return s.jsx("button",{type:"button",onClick:u,disabled:d,"aria-label":a,className:N("flex size-8 shrink-0 items-center justify-center rounded-full transition-colors disabled:opacity-70",o[i]),children:d?s.jsx(y.CircleNotchIcon,{className:"size-4 animate-spin",weight:"bold","aria-hidden":!0}):s.jsx(y.DownloadSimpleIcon,{className:"size-5 shrink-0",weight:"bold","aria-hidden":!0})})}return n==="viewer"?s.jsx("button",{type:"button",onClick:u,disabled:d,"aria-label":a,className:xs,children:d?s.jsx(y.CircleNotchIcon,{size:20,weight:"bold","aria-hidden":!0}):s.jsx(y.DownloadSimpleIcon,{size:20,weight:"bold","aria-hidden":!0})}):s.jsxs("button",{type:"button",onClick:u,disabled:d,"aria-label":x?a:void 0,className:N("mt-3 inline-flex h-10 w-full items-center justify-center gap-2 rounded-full px-4 text-sm font-medium leading-none transition-colors disabled:opacity-70",i==="dark"?"bg-[#121110] text-white hover:bg-[#2a2928]":"bg-white text-[#121110] hover:bg-white/90"),children:[d?s.jsx(y.CircleNotchIcon,{className:"size-4 animate-spin",weight:"bold","aria-hidden":!0}):s.jsx(y.DownloadSimpleIcon,{...f,"aria-hidden":!0}),x?null:a]})},Be=(e,t,n)=>Math.min(Math.max(e,t),n),it=({length:e,initialIndex:t,open:n})=>{const a=Be(t,0,Math.max(e-1,0)),[r,i]=h.useState(a);h.useEffect(()=>{n&&i(Be(t,0,Math.max(e-1,0)))},[n,t,e]),h.useEffect(()=>{i(l=>Be(l,0,Math.max(e-1,0)))},[e]);const c=h.useCallback(()=>{e<=1||i(l=>l<=0?e-1:l-1)},[e]),d=h.useCallback(()=>{e<=1||i(l=>l>=e-1?0:l+1)},[e]);return h.useEffect(()=>{if(!n||e<=1)return;const l=u=>{if(u.key!=="ArrowLeft"&&u.key!=="ArrowRight")return;const x=document.activeElement;x&&(x.tagName==="VIDEO"||x.tagName==="AUDIO")||(u.preventDefault(),u.key==="ArrowLeft"?c():d())};return window.addEventListener("keydown",l),()=>window.removeEventListener("keydown",l)},[n,e,c,d]),{index:r,prev:c,next:d}},ot=({open:e,onClose:t,ariaLabel:n,counter:a,actions:r,children:i,"data-testid":c})=>{const d=h.useRef(null),l=h.useRef(null);h.useEffect(()=>{var f;const m=d.current;if(m){if(e){if(!m.open)if(typeof m.showModal=="function")try{m.showModal()}catch{m.setAttribute("open","")}else m.setAttribute("open","");const o=typeof document<"u"?document.activeElement:null;return(f=l.current)==null||f.focus(),()=>{if(m.open)if(typeof m.close=="function")try{m.close()}catch{m.removeAttribute("open")}else m.removeAttribute("open");o&&document.body.contains(o)&&o.focus()}}if(m.open)if(typeof m.close=="function")try{m.close()}catch{m.removeAttribute("open")}else m.removeAttribute("open")}},[e]);const u=()=>{t()},x=m=>{m.target===d.current&&t()};return s.jsxs("dialog",{ref:d,className:"mes-media-viewer","aria-label":n??"Attachment viewer","data-testid":c,onClose:u,onClick:x,children:[s.jsxs("div",{className:"pointer-events-none absolute inset-x-3 top-3 z-[1] flex items-center justify-between gap-3",children:[a?s.jsx("span",{className:"pointer-events-auto inline-flex items-center rounded-full bg-white/[0.12] px-3 py-1.5 text-[13px] font-medium leading-none tabular-nums text-white",children:a}):null,s.jsxs("div",{className:"pointer-events-auto ml-auto inline-flex items-center gap-2",children:[r,s.jsx("button",{ref:l,type:"button",onClick:t,"aria-label":"Close viewer",className:xs,children:s.jsx(y.XIcon,{size:20,weight:"bold","aria-hidden":!0})})]})]}),s.jsx("div",{className:"box-border flex h-full w-full items-center justify-center px-6 py-16",children:i})]})},gs=({open:e,items:t,initialIndex:n=0,onClose:a})=>{const{index:r,prev:i,next:c}=it({length:t.length,initialIndex:n,open:e}),d=t[r],l=h.useMemo(()=>(d==null?void 0:d.filename)??(d?se(d.src):"image"),[d]);return d?s.jsxs(ot,{open:e,onClose:a,ariaLabel:l,counter:t.length>1?`${r+1} / ${t.length}`:void 0,actions:s.jsx(fs,{url:d.src,filename:l,variant:"viewer",label:`Download ${l}`}),"data-testid":"image-viewer",children:[e?s.jsx("img",{src:d.src,alt:d.alt??l,draggable:!1,decoding:"async",className:"block h-auto max-h-[calc(100dvh-128px)] w-auto max-w-[min(96vw,1400px)] select-none object-contain"},`${r}:${d.src}`):null,t.length>1?s.jsx(rt,{onPrev:i,onNext:c,prevLabel:"Previous image",nextLabel:"Next image"}):null]}):null},Ue=4,ua="relative block size-full overflow-hidden bg-black/5 outline-none after:pointer-events-none after:absolute after:inset-0 after:rounded-[inherit] focus-visible:after:ring-2 focus-visible:after:ring-inset focus-visible:after:ring-white/80 focus-visible:after:ring-offset-2 focus-visible:after:ring-offset-black",ma={1:["rounded-[18px]"],2:["rounded-l-[18px]","rounded-r-[18px]"],3:["rounded-l-[18px]","rounded-tr-[18px]","rounded-br-[18px]"],4:["rounded-tl-[18px]","rounded-tr-[18px]","rounded-bl-[18px]","rounded-br-[18px]"]},ha="--mes-single-width-cap",xa="[--mes-single-width-cap:309px] sm:[--mes-single-width-cap:326px]",fa=436,ps=({tiles:e,onTileActivate:t,maxVisible:n=Ue,singleAspectRatio:a,className:r})=>{const i=e.length;if(i===0)return null;const c=e.slice(0,Math.min(i,n)),d=i-c.length,l=(x,m,f)=>{var v;const o=N(ua,"h-full w-full",(v=ma[c.length])==null?void 0:v[m]);return t?s.jsxs("button",{type:"button",onClick:()=>t(m),"aria-label":x.ariaLabel??`Open media ${m+1}`,className:N(o,x.cursorClassName??"cursor-zoom-in"),children:[x.content,f]},m):s.jsxs("div",{className:o,children:[x.content,f]},m)};let u;return a&&(u={aspectRatio:a,width:`min(var(${ha}), ${Math.round(fa*a*100)/100}px)`,maxWidth:"100%"}),c.length===1?s.jsx("div",{className:N(a?xa:"aspect-square w-full",r),style:u,children:l(c[0],0)}):c.length===2?s.jsx("div",{className:N("grid aspect-[16/9] w-full grid-cols-2 gap-0.5",r),children:c.map((x,m)=>l(x,m))}):c.length===3?s.jsxs("div",{className:N("grid aspect-[4/3] w-full grid-cols-2 grid-rows-2 gap-0.5",r),children:[s.jsx("div",{className:"row-span-2",children:l(c[0],0)}),l(c[1],1),l(c[2],2)]}):s.jsx("div",{className:N("grid aspect-[379/286] w-full grid-cols-2 grid-rows-2 gap-0.5",r),children:c.map((x,m)=>{const f=d>0&&m===c.length-1;return l(x,m,f?s.jsxs("div",{"aria-hidden":!0,className:"absolute inset-0 flex items-center justify-center bg-[#040403]/50 text-2xl font-bold leading-[28px] tracking-[-0.24px] text-white",children:["+",d]}):null)})})},ye=e=>{const[t,n]=h.useState(!1),[a,r]=h.useState(0),i=h.useCallback(d=>{(e==null?void 0:e(d))!==!1&&(r(d),n(!0))},[e]),c=h.useCallback(()=>n(!1),[]);return{viewerOpen:t,viewerIndex:a,handleActivate:i,closeViewer:c}},ga=({item:e,index:t,totalCount:n,fallbackLoading:a,imgRef:r,onLoad:i})=>({ariaLabel:`Open image ${t+1} of ${n}`,content:s.jsx("img",{ref:r,src:le(e.src)??e.src,alt:e.alt??"",width:e.width,height:e.height,draggable:!1,loading:e.loading??a,decoding:"async",onLoad:i,className:"absolute inset-0 size-full object-cover"})}),pa=({src:e,alt:t,items:n})=>n&&n.length>0?n:e?[{src:e,alt:t}]:[],bs=(e,t)=>e.map((n,a)=>({src:n.src,alt:n.alt,filename:t&&e.length===1?t:t?`${t} (${a+1})`:void 0})),ba=({src:e,alt:t,filename:n,loading:a="lazy",onClick:r,onDismiss:i})=>{const{viewerOpen:c,viewerIndex:d,handleActivate:l,closeViewer:u}=ye(r);return s.jsxs("div",{className:"relative w-fit",children:[s.jsx("button",{type:"button",onClick:()=>l(0),"aria-label":"Open image",className:"block size-[280px] cursor-zoom-in overflow-hidden rounded-md outline-none focus-visible:ring-2 focus-visible:ring-black/40",children:s.jsx("img",{src:le(e)??e,alt:t??"",draggable:!1,loading:a,decoding:"async",className:"size-full object-cover"})}),i?s.jsx("div",{className:"absolute right-2 top-2 z-10",children:s.jsx(Ce,{onClick:i})}):null,s.jsx(gs,{open:c,items:bs([{src:e,alt:t}],n),initialIndex:d,onClose:u})]})},va=326/246,ja=e=>{const t=e==null?void 0:e.src,[n,a]=h.useState(),r=h.useCallback(l=>{if(!l||l.naturalWidth<=0||l.naturalHeight<=0||t===void 0)return;const u=l.naturalWidth/l.naturalHeight;a(x=>x&&x.src===t&&x.ratio===u?x:{src:t,ratio:u})},[t]),i=h.useCallback(l=>r(l.currentTarget),[r]),c=e!=null&&e.width&&(e!=null&&e.height)?e.width/e.height:void 0,d=n&&n.src===t?n.ratio:void 0;return{ratio:c??d??va,imgRef:r,onLoad:i}},vs=({state:e,src:t,alt:n,filename:a,items:r,text:i,groupPosition:c,loading:d="lazy",onClick:l})=>{const u=pa({src:t,alt:n,items:r}),x=Ne(e),{viewerOpen:m,viewerIndex:f,handleActivate:o,closeViewer:v}=ye(l),_=u.length===1,p=ja(_?u[0]:void 0);if(u.length===0)return null;const b=u.map((g,C)=>ga({item:g,index:C,totalCount:u.length,fallbackLoading:d,imgRef:_?p.imgRef:void 0,onLoad:_?p.onLoad:void 0}));return s.jsxs(_e,{variant:x,text:i,groupPosition:c,bordered:!1,widthClassName:_?"w-fit max-w-[min(100%,313px)] sm:max-w-[min(100%,330px)]":"w-[383px] max-w-full",paddingClassName:"p-0.5",radiusClassName:"rounded-[20px]","data-testid":"image-attachment",children:[s.jsx("div",{className:"relative",children:s.jsx(ps,{tiles:b,onTileActivate:o,singleAspectRatio:_?p.ratio:void 0})}),s.jsx(gs,{open:m,items:bs(u,a),initialIndex:f,onClose:v})]})},wa=e=>s.jsx(ba,{...e}),_a=e=>s.jsx(vs,{...e,state:"sent"}),Ca=e=>s.jsx(vs,{...e,state:"received"}),Na={Composer:wa,Sent:_a,Received:Ca},ya=({open:e,items:t,initialIndex:n=0,onClose:a})=>{const{index:r,prev:i,next:c}=it({length:t.length,initialIndex:n,open:e}),d=t[r],l=h.useMemo(()=>(d==null?void 0:d.filename)??(d?se(d.src):"document"),[d]),u=h.useMemo(()=>d?Sa(d.src):void 0,[d]);return!d||!u?null:s.jsxs(ot,{open:e,onClose:a,ariaLabel:l,counter:t.length>1?`${r+1} / ${t.length}`:void 0,"data-testid":"pdf-viewer",children:[s.jsx("iframe",{src:u,title:l,className:"block h-[calc(100dvh-128px)] w-[min(96vw,1400px)] border-0 bg-white",sandbox:"allow-scripts allow-forms allow-popups allow-downloads"},`${r}:${d.src}`),t.length>1?s.jsx(rt,{onPrev:i,onNext:c,prevLabel:"Previous document",nextLabel:"Next document"}):null]})},Sa=e=>{const t=e.indexOf("#"),n=t===-1?e:e.slice(0,t),a=t===-1?"":e.slice(t+1),r=new URLSearchParams(a);return r.has("toolbar")||r.set("toolbar","0"),r.has("navpanes")||r.set("navpanes","0"),`${n}#${r.toString()}`},ka=({src:e,filename:t,fileSize:n,title:a,items:r})=>r&&r.length>0?r:e?[{src:e,filename:t,fileSize:n,title:a}]:[],Ea=({variant:e,item:t,index:n,onActivate:a,trailingAction:r})=>{const i=t.filename??se(t.src);return s.jsx(ms,{variant:e,filename:i,title:t.title,mimeType:"application/pdf",fileSize:t.fileSize,onActivate:()=>a(n),activateLabel:`Open ${i}`,trailingAction:r})},lt=({state:e,src:t,filename:n,fileSize:a,title:r,items:i,text:c,groupPosition:d,onClick:l,onDismiss:u})=>{const x=Ne(e),m=ka({src:t,filename:n,fileSize:a,title:r,items:i}),{viewerOpen:f,viewerIndex:o,handleActivate:v,closeViewer:_}=ye(l),p=e==="composer"&&!!u;if(m.length===0)return null;const b=m.map(g=>({src:g.src,filename:g.filename??se(g.src)}));return s.jsxs(_e,{variant:x,text:c,groupPosition:d,"data-testid":"pdf-attachment",children:[s.jsx("div",{className:"flex flex-col gap-2",children:m.map((g,C)=>{const j=g.filename??se(g.src),E=p&&C===0?s.jsx(Ce,{onClick:u,variant:"inline"}):e==="composer"?void 0:s.jsx(fs,{url:g.src,filename:j,variant:"inline",label:`Download ${j}`,tone:x});return s.jsx(Ea,{variant:x,item:g,index:C,onActivate:v,trailingAction:E},`${g.src}-${C}`)})}),s.jsx(ya,{open:f,items:b,initialIndex:o,onClose:_})]})},Ia=e=>s.jsx(lt,{...e,state:"composer"}),Ta=e=>s.jsx(lt,{...e,state:"sent"}),Aa=e=>s.jsx(lt,{...e,state:"received"}),Ma={Composer:Ia,Sent:Ta,Received:Aa},js=({open:e,items:t,initialIndex:n=0,onClose:a})=>{const{index:r,prev:i,next:c}=it({length:t.length,initialIndex:n,open:e}),d=w.useActiveAudioPlayer();h.useEffect(()=>{e&&(d==null||d.pause())},[e,d]);const l=t[r],u=h.useMemo(()=>(l==null?void 0:l.filename)??(l?se(l.src):"video"),[l]);return l?s.jsxs(ot,{open:e,onClose:a,ariaLabel:u,counter:t.length>1?`${r+1} / ${t.length}`:void 0,"data-testid":"video-viewer",children:[e?s.jsx("video",{src:l.src,poster:l.poster,controls:!0,autoPlay:!0,muted:!0,playsInline:!0,preload:l.preload??"metadata",className:"block h-auto max-h-[calc(100dvh-128px)] w-auto max-w-[min(96vw,1400px)] bg-black",children:l.mimeType?s.jsx("source",{src:l.src,type:l.mimeType}):null},`${r}:${l.src}`):null,t.length>1?s.jsx(rt,{onPrev:i,onNext:c,prevLabel:"Previous video",nextLabel:"Next video"}):null]}):null},Ra=1,La=4/5,Oa=16/9,Da=()=>s.jsx("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:s.jsx("span",{className:"flex size-12 items-center justify-center rounded-full bg-black/25 text-white backdrop-blur-[20px]",children:s.jsx(y.PlayIcon,{className:"size-6",weight:"fill","aria-hidden":!0})})}),ws=({item:e,index:t,showPlayBadge:n=!0,onPosterLoad:a})=>{const r=i=>{if(!a)return;const{naturalWidth:c,naturalHeight:d}=i.currentTarget;c>0&&d>0&&a(c/d)};return s.jsxs("div",{className:"absolute inset-0 size-full bg-[#0d0d0d]",children:[e.poster?s.jsx("img",{src:e.poster,alt:`Video ${t+1} thumbnail`,draggable:!1,loading:"lazy",decoding:"async",onLoad:r,className:"absolute inset-0 size-full object-cover"}):s.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:s.jsx(y.VideoCameraIcon,{className:"size-16 text-white/30",weight:"regular","aria-hidden":!0})}),n?s.jsx(Da,{}):null]})},Fa=({item:e,index:t,totalCount:n,isOverflowTile:a,onPosterLoad:r})=>({ariaLabel:`Play video ${t+1} of ${n}`,cursorClassName:"cursor-pointer",content:s.jsx(ws,{item:e,index:t,showPlayBadge:!a,onPosterLoad:r})}),Pa=({src:e,poster:t,mimeType:n,preload:a,naturalAspectRatio:r,items:i})=>i&&i.length>0?a?i.map(c=>({...c,preload:c.preload??a})):i:e?[{src:e,poster:t,mimeType:n,preload:a,naturalAspectRatio:r}]:[],_s=(e,t)=>e.map((n,a)=>({src:n.src,poster:n.poster,mimeType:n.mimeType,preload:n.preload,filename:t&&e.length===1?t:t?`${t} (${a+1})`:void 0})),Ba=({src:e,poster:t,mimeType:n,filename:a,preload:r,onClick:i,onDismiss:c})=>{const{viewerOpen:d,viewerIndex:l,handleActivate:u,closeViewer:x}=ye(i);return s.jsxs("div",{className:"relative w-fit",children:[s.jsx("button",{type:"button",onClick:()=>u(0),"aria-label":"Play video",className:"relative block size-[280px] cursor-pointer overflow-hidden rounded-md outline-none focus-visible:ring-2 focus-visible:ring-black/40",children:s.jsx(ws,{item:{src:e,poster:t,mimeType:n},index:0})}),c?s.jsx("div",{className:"absolute right-2 top-2 z-10",children:s.jsx(Ce,{onClick:c})}):null,s.jsx(js,{open:d,items:_s([{src:e,poster:t,mimeType:n,preload:r}],a),initialIndex:l,onClose:x})]})},Cs=({state:e,src:t,poster:n,mimeType:a,filename:r,items:i,text:c,groupPosition:d,preload:l,naturalAspectRatio:u,onClick:x})=>{var L;const m=Pa({src:t,poster:n,mimeType:a,preload:l,naturalAspectRatio:u,items:i}),f=Ne(e),{viewerOpen:o,viewerIndex:v,handleActivate:_,closeViewer:p}=ye(x),[b,g]=h.useState(null);if(m.length===0)return null;const C=m.length===1,j=m.length>Ue?Ue-1:-1,E=m.map((D,R)=>Fa({item:D,index:R,totalCount:m.length,isOverflowTile:R===j,onPosterLoad:C?g:void 0})),T=(C?(L=m[0])==null?void 0:L.naturalAspectRatio:void 0)??b??Ra,A=Math.min(Math.max(T,La),Oa);return s.jsxs(_e,{variant:f,text:c,groupPosition:d,bordered:!1,widthClassName:C?"w-fit max-w-[313px] sm:max-w-[330px]":"w-[383px] max-w-full",paddingClassName:"p-0.5",radiusClassName:d&&d!=="single"?void 0:"rounded-[20px]","data-testid":"video-attachment",children:[s.jsx("div",{className:"relative",children:s.jsx(ps,{tiles:E,onTileActivate:_,singleAspectRatio:C?A:void 0})}),s.jsx(js,{open:o,items:_s(m,r),initialIndex:v,onClose:p})]})},za=e=>s.jsx(Ba,{...e}),$a=e=>s.jsx(Cs,{...e,state:"sent"}),Ua=e=>s.jsx(Cs,{...e,state:"received"}),Ha={Composer:za,Sent:$a,Received:Ua},me={Image:Na,Video:Ha,Audio:ea,Pdf:Ma,File:da};function z(e){const t=e==null?void 0:e.trim();return t||void 0}function Va(e){const{original_width:t,original_height:n}=e;if(!(typeof t!="number"||typeof n!="number")&&!(!Number.isFinite(t)||!Number.isFinite(n))&&!(t<=0||n<=0))return t/n}function Ft(e){return e.trim().replace(/^https?:\/\//i,"").replace(/\/+$/,"").toLowerCase()}function Ga(e,t){if(!(e!=null&&e.trim())||!(t!=null&&t.trim()))return!1;const n=Ft(e),a=Ft(t);if(n===a)return!0;if(!n.includes(a))return!1;const r=n.split(a).join("");return!/[^\p{P}\p{Z}\p{C}]/u.test(r)}function Pt(e){const t=z(e.og_scrape_url)??z(e.title_link),n=z(e.image_url)??z(e.thumb_url),a=z(e.asset_url),r=z(e.mime_type);return{title:z(e.title),description:z(e.text),url:t,thumbnailUrl:le(n),sourceUrl:a,layout:n||et(r,a)?"featured":"classic",mimeType:r,accentColor:z(e.accent_color),status:"ready"}}function Ya(e){var t;return Le(e)?null:e.type==="image"?e.image_url||e.asset_url?"image":null:e.type==="video"&&e.asset_url?"video":e.type==="audio"&&e.asset_url?"audio":e.type==="file"&&e.asset_url?e.mime_type==="application/pdf"?"pdf":(t=e.mime_type)!=null&&t.startsWith("audio/")?"audio":"file":null}function Ns(e){if(!(e!=null&&e.length))return[];const t=[],n=(r,i)=>{const c=t[t.length-1];if((c==null?void 0:c.type)==="media"&&c.kind===r){c.attachments.push(i);return}t.push({type:"media",kind:r,attachments:[i]})},a=r=>{const i=t[t.length-1];if((i==null?void 0:i.type)==="link"){i.attachments.push(r);return}t.push({type:"link",attachments:[r]})};for(const r of e){if(Le(r)){a(r);continue}const i=Ya(r);i&&n(i,r)}return t}function Wa(e){return e.filter(t=>t.type==="media").length}function qa(e,t,n){return t<=1?n:e===0?"first":e===t-1?"end":"middle"}function Xa(e){return z(e.image_url)??z(e.asset_url)??""}function Ka(e){switch(e){case"image":return me.Image;case"video":return me.Video;case"audio":return me.Audio;case"pdf":return me.Pdf;default:return me.File}}function Bt(e,t){switch(e){case"image":return{src:Xa(t),alt:z(t.title)};case"video":return{src:z(t.asset_url)??"",poster:le(t.thumb_url),mimeType:z(t.mime_type),naturalAspectRatio:Va(t)};case"audio":return{src:z(t.asset_url)??"",mimeType:z(t.mime_type)??"audio/mpeg",filename:z(t.title)};case"pdf":return{src:z(t.asset_url)??"",filename:z(t.title),fileSize:t.file_size};case"file":return{src:z(t.asset_url)??"",filename:z(t.title),fileSize:t.file_size,mimeType:z(t.mime_type)??"application/octet-stream"}}}function Za(e,t){if(t.length>1)return{items:t.map(a=>Bt(e,a))};const n=t[0];return n?Bt(e,n):{}}function Ja({groupPosition:e,isMyMessage:t,segment:n}){const a=Ka(n.kind),r={...Za(n.kind,n.attachments),groupPosition:e};return t?s.jsx(a.Sent,{...r}):s.jsx(a.Received,{...r})}const Qa=({groupPosition:e,isMyMessage:t,message:n,renderText:a})=>{var p;const r=Ns(n.attachments);if(r.length===0)return null;const i=Wa(r),c=(p=n.text)==null?void 0:p.trim(),d=r.find(b=>b.type==="link"),l=(d==null?void 0:d.type)==="link"?Pt(d.attachments[0]??{}).url:void 0,u=c&&Ga(c,l)?void 0:c;let x=0;const m=[],f=u?"middle":e,o=e==="single"||e==="end",v=(b,g,C)=>{const j=t?Ae.Sent:Ae.Received;m.push(s.jsx(j,{...Pt(b),groupPosition:C?f:"middle"},g))},_=(b,g)=>{const C=qa(x,i,e);x+=1,m.push(s.jsx(Ja,{groupPosition:C,isMyMessage:t,segment:b},g))};return r.forEach((b,g)=>{const C=g===r.length-1;if(b.type==="link"){b.attachments.forEach((j,E)=>{v(j,`link-${g}-${E}`,C&&E===b.attachments.length-1)});return}_(b,`media-${g}`)}),s.jsxs("div",{className:"str-chat__message-bubble-wrapper",children:[s.jsxs("div",{className:"str-chat__message-bubble","data-attachment-bubble":"true",style:{background:"transparent",borderRadius:0,overflow:"visible",padding:0},children:[m,!u&&s.jsx(w.MessageErrorIcon,{})]}),u?s.jsxs("div",{className:N("str-chat__message-bubble",{"relative isolate":o}),children:[s.jsx(w.MessageText,{message:n,renderText:a}),s.jsx(w.MessageErrorIcon,{}),o&&s.jsx(Te,{side:t?"me":"other"})]}):null]})},er=e=>{var gt,pt,bt,vt,jt,wt,_t,Ct,Nt,yt,St;const{additionalMessageInputProps:t,editing:n,endOfGroup:a,firstOfGroup:r,groupStyles:i,groupedByUser:c,handleAction:d,handleOpenThread:l,handleRetry:u,highlighted:x,isMessageAIGenerated:m,isMyMessage:f,message:o,renderText:v,threadList:_,viewerLanguage:p,onOutboundClick:b,resolvedOutbound:g}=e,{client:C}=w.useChatContext("CustomMessage"),{channel:j}=w.useChannelStateContext("CustomMessage"),{isUnlocking:E,onUnlockClick:T,onFetchSource:A,onDownloadClick:L}=ss("LockedAttachment"),[D,R]=h.useState(!1),S=w.useMessageReminder(o.id),{Attachment:M=w.Attachment,EditMessageModal:I=w.EditMessageModal,MessageActions:k,MessageBlocked:O=w.MessageBlocked,MessageBouncePrompt:$=w.MessageBouncePrompt,MessageDeleted:B=w.MessageDeleted,MessageIsThreadReplyInChannelButtonIndicator:F=w.MessageIsThreadReplyInChannelButtonIndicator,MessageRepliesCountButton:Y=w.MessageRepliesCountButton,ReminderNotification:U=w.ReminderNotification,StreamedMessageText:W=w.StreamedMessageText,PinIndicator:q}=w.useComponentContext("CustomMessage"),G=w.messageHasAttachments(o),J=w.messageHasReactions(o),K=h.useMemo(()=>m==null?void 0:m(o),[m,o]),P=h.useMemo(()=>{const oe=o.attachments??[],de=o.shared_location?[o.shared_location,...oe]:oe;if(!Ie(o))return de;const kt=de.filter(Et=>!("type"in Et)||!Le(Et));return kt.length===de.length?de:kt},[o]),Q=h.useMemo(()=>Ns(P),[P]),H=h.useMemo(()=>{const oe=We({message:o,viewerLanguage:p});return oe===o.text?o:{...o,text:oe}},[o,p]),Z=Q.length>0,ee=Q.reduce((oe,de)=>oe+de.attachments.length,0)===((P==null?void 0:P.length)??0),ne=(i==null?void 0:i[0])??"",Se=ne==="top"?"first":ne==="middle"?"middle":ne==="bottom"?"end":"single",re=ne==="single"||ne==="bottom";if(w.isDateSeparatorMessage(o))return null;if(o.deleted_at||o.type==="deleted")return s.jsx(B,{message:o});if(w.isMessageBlocked(o))return s.jsx(O,{});const te=!_&&!!o.reply_count,ie=!_&&o.show_in_channel&&o.parent_id,ae=o.status==="failed"&&((gt=o.error)==null?void 0:gt.status)!==403,dt=w.isMessageBounced(o);let ce;ae?ce=()=>u(o):dt&&(ce=()=>R(!0));const X=f(),Ls=N("str-chat__message str-chat__message-simple",`str-chat__message--${o.type}`,`str-chat__message--${o.status}`,X?"str-chat__message--me str-chat__message-simple--me":"str-chat__message--other",o.text?"str-chat__message--has-text":"has-no-text",{"str-chat__message--has-attachment":G,"str-chat__message--highlighted":x,"str-chat__message--pinned pinned-message":o.pinned,"str-chat__message--with-reactions":J,"str-chat__message-send-can-be-retried":(o==null?void 0:o.status)==="failed"&&((pt=o==null?void 0:o.error)==null?void 0:pt.status)!==403,"str-chat__message-with-thread-link":te||ie,"str-chat__virtual-message__wrapper--end":a,"str-chat__virtual-message__wrapper--first":r,"str-chat__virtual-message__wrapper--group":c}),De=o.poll_id&&C.polls.fromState(o.poll_id),ut=Xe(o),fe=Ie(o),Os=qe(o),Fe=!!(P!=null&&P.length&&!o.quoted_message),mt=fe&&X&&Fe,Ds=Z&&ee&&!o.quoted_message&&!De&&!K&&!fe,ht={contentType:"text",amountText:(bt=o.metadata)==null?void 0:bt.amount_text,paymentStatus:(vt=o.metadata)==null?void 0:vt.payment_status,renderedText:o.text&&s.jsx(w.MessageText,{message:H,renderText:v})},xt={contentType:"media",title:(jt=o.metadata)==null?void 0:jt.attachment_title,mimeType:(wt=o.metadata)==null?void 0:wt.attachment_mime_type,thumbnailUrl:(_t=o.metadata)==null?void 0:_t.attachment_thumbnail,amountText:(Ct=o.metadata)==null?void 0:Ct.amount_text,detail:(Nt=o.metadata)==null?void 0:Nt.attachment_detail,paymentStatus:(yt=o.metadata)==null?void 0:yt.payment_status,onFetchSource:A?()=>A(o,j):void 0},ft=s.jsxs("div",{className:N("str-chat__message-bubble",{"relative isolate":re}),children:[s.jsx(w.MessageText,{message:H,renderText:v}),re&&s.jsx(Te,{side:X?"me":"other"})]});return s.jsxs(s.Fragment,{children:[n&&s.jsx(I,{additionalMessageInputProps:t}),D&&s.jsx(w.MessageBounceModal,{MessageBouncePrompt:$,onClose:()=>R(!1),open:D}),s.jsxs("div",{className:Ls,"data-message-id":o.id,"data-dd-privacy":"mask",children:[q&&s.jsx(q,{}),!!S&&s.jsx(U,{reminder:S}),o.user&&s.jsx(he,{className:"str-chat__avatar str-chat__message-sender-avatar",id:o.user.id,image:o.user.image,name:o.user.name||o.user.id,size:24,shape:"circle",dmAgentEnabled:fe}),s.jsx("div",{className:N("str-chat__message-inner",{"str-chat__simple-message--error-failed":ae||dt}),"data-testid":"message-inner",onClick:ce,onKeyDown:ce,role:ce?"button":void 0,tabIndex:ce?0:void 0,style:{marginInlineEnd:0,marginInlineStart:0},children:ut?s.jsxs("div",{className:"str-chat__message-bubble-wrapper message-tip-wrapper",children:[s.jsx(rs,{message:o}),((St=o.text)==null?void 0:St.trim())&&ft]}):an(o)?s.jsx("div",{className:"str-chat__message-bubble-wrapper",children:s.jsxs("div",{className:"flex items-center gap-2",children:[X&&k&&s.jsx(k,{}),X?s.jsx(pe,{...ht,isMine:!0}):s.jsx(pe,{...ht,isMine:!1,isUnlocking:E(o.id),onUnlockClick:()=>T==null?void 0:T(o,j)}),!X&&k&&s.jsx(k,{})]})}):rn(o)?s.jsxs("div",{className:"str-chat__message-bubble-wrapper message-locked-attachment-wrapper",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[X&&k&&s.jsx(k,{}),X?s.jsx(pe,{...xt,isMine:!0,onPreviewClick:()=>T?T(o,j):void 0}):s.jsx(pe,{...xt,isMine:!1,isUnlocking:E(o.id),onUnlockClick:()=>T?T(o,j):void 0,onDownloadClick:()=>L?L(o,j):void 0}),!X&&k&&s.jsx(k,{})]}),o.text&&ft]}):Ds?s.jsx(Qa,{groupPosition:Se,isMyMessage:X,message:{...H,attachments:P,i18n:void 0},renderText:v}):s.jsx("div",{className:"str-chat__message-bubble-wrapper",children:s.jsxs("div",{className:N("str-chat__message-bubble",{"relative isolate":re}),children:[fe&&!mt&&s.jsx(At,{message:o,hasAttachment:Fe,isMyMessage:X}),De&&s.jsx(w.Poll,{poll:De}),P!=null&&P.length&&!o.quoted_message?s.jsx(M,{actionHandler:d,attachments:P}):null,K?s.jsx(W,{message:H,renderText:v}):s.jsx(w.MessageText,{message:H,renderText:v}),s.jsx(w.MessageErrorIcon,{}),re&&s.jsx(Te,{side:X?"me":"other"})]})})}),!Os&&!ut&&s.jsx("div",{className:"str-chat__message-footer",children:(!fe||mt)&&s.jsx(At,{message:o,hasAttachment:Fe,isMyMessage:X})}),s.jsx(gn,{onOutboundClick:b,resolvedOutbound:g}),te&&s.jsx(Y,{onClick:l,reply_count:o.reply_count}),ie&&s.jsx(F,{})]},o.id)]})},tr=h.memo(er,(e,t)=>{var n,a,r,i;return e.viewerLanguage!==t.viewerLanguage||e.onOutboundClick!==t.onOutboundClick||((n=e.resolvedOutbound)==null?void 0:n.id)!==((a=t.resolvedOutbound)==null?void 0:a.id)||((r=e.resolvedOutbound)==null?void 0:r.name)!==((i=t.resolvedOutbound)==null?void 0:i.name)?!1:w.areMessageUIPropsEqual(e,t)}),sr=e=>{var i;const t=w.useMessageContext("CustomMessage"),n=h.useContext(as),a=(i=t.message.metadata)==null?void 0:i.outbound_id,r=typeof a=="string"?n==null?void 0:n[a]:void 0;return s.jsx(tr,{...t,...e,resolvedOutbound:r})},nr=()=>{var n;const{handleDelete:e,message:t}=w.useMessageContext("CustomMessageActions");return((n=t.metadata)==null?void 0:n.payment_status)==="paid"?null:s.jsx(He.DefaultDropdownActionButton,{onClick:e,"aria-label":"Delete",title:"Delete",className:"bg-marble rounded-full p-2 hover:bg-sand transition-all",children:s.jsx(y.TrashSimpleIcon,{size:16,weight:"light","aria-hidden":!0})})},ar=()=>{const{handleFlag:e}=w.useMessageContext("CustomMessageActions");return s.jsx(He.DefaultDropdownActionButton,{onClick:e,"aria-label":"Report",title:"Report",className:"bg-marble rounded-full p-2 hover:bg-sand transition-all",children:s.jsx(y.FlagIcon,{size:16,weight:"light","aria-hidden":!0})})},rr=()=>{var t;const{message:e}=w.useMessageContext("CustomMessageActions");return((t=e.metadata)==null?void 0:t.custom_type)!==V.MESSAGE_CUSTOM_TYPE.ATTACHMENT?null:s.jsx(He.MessageActions,{messageActionSet:[{Component:nr,placement:"quick",type:"delete"},{Component:ar,placement:"quick",type:"flag"}]})},ir=e=>({linkPreviews:Array.from(e.previews.values()).filter(t=>Ee.LinkPreviewsManager.previewIsLoaded(t)||Ee.LinkPreviewsManager.previewIsLoading(t))}),or=()=>{const{linkPreviewsManager:e}=w.useMessageComposer(),{linkPreviews:t}=w.useStateStore(e.state,ir),n=r=>{e.dismissPreview(r)};return t.length>0?s.jsx("div",{className:"messaging-link-preview-list flex flex-col items-stretch w-full gap-2",children:t.map(r=>{const i=Ee.LinkPreviewsManager.previewIsLoading(r);return s.jsx(Ae.Composer,{title:r.title,url:r.og_scrape_url,thumbnailUrl:r.image_url,layout:i||r.image_url?"featured":"classic",status:i?"loading":"ready",onDismiss:()=>n(r.og_scrape_url)},r.og_scrape_url)})}):null},Me=h.createContext(!1),lr=200,cr=()=>h.useContext(Me),dr=({sendMessage:e,disabled:t,...n})=>s.jsx("button",{...n,type:"button","aria-label":"Send",disabled:t,onPointerDown:a=>a.preventDefault(),onClick:e,children:s.jsx(y.ArrowUpIcon,{weight:"bold",className:"size-4"})}),zt=()=>{const e=h.useContext(Me),{handleSubmit:t}=w.useMessageInputContext(),n=w.useMessageComposerHasSendableData(),a=e||!n,{SendButton:r=dr,AttachmentPreviewList:i=w.AttachmentPreviewList}=w.useComponentContext("CustomMessageInput"),c=h.useRef(null);return h.useEffect(()=>{const d=c.current;if(!d||typeof ResizeObserver>"u")return;const l=new ResizeObserver(()=>{d.contains(document.activeElement)&&(d.scrollTop=d.scrollHeight)});return l.observe(d),()=>l.disconnect()},[]),h.useEffect(()=>{const d=c.current;if(!d)return;const l=u=>{var m;Array.from(((m=u.clipboardData)==null?void 0:m.items)??[]).some(f=>f.kind==="file")||u.stopPropagation()};return d.addEventListener("paste",l),()=>d.removeEventListener("paste",l)},[]),s.jsxs("div",{ref:c,className:"central-container flex flex-col min-w-0 w-full max-h-[calc(var(--messaging-surface-height,100dvh)*0.5)] overflow-y-auto overscroll-contain bg-white rounded-[1.5rem] shadow-[0_4px_16px_0_rgba(0,0,0,0.08),0_1px_2px_0_rgba(0,0,0,0.04),0_0_0_1px_rgba(0,0,0,0.04)] [&>:not(.messaging-composer-previews):not(.messaging-composer-row)]:p-2","data-dd-privacy":"mask",children:[s.jsxs("div",{className:"messaging-composer-previews empty:hidden flex flex-col gap-2 px-2 pt-2",children:[s.jsx(w.QuotedMessagePreview,{}),s.jsx(or,{}),s.jsx(i,{})]}),s.jsxs("div",{className:"messaging-composer-row flex items-start",children:[s.jsx(w.TextareaComposer,{"aria-disabled":e||void 0,containerClassName:"min-w-0 flex-1 leading-[0]",className:"w-full resize-none overflow-hidden bg-transparent py-3.5 pl-4 pr-4 outline-none leading-5 placeholder:text-black/30 text-sm",autoFocus:!e,enterKeyHint:"send",maxRows:1/0,readOnly:e,tabIndex:e?-1:void 0}),s.jsx("div",{className:"sticky bottom-2 mt-auto mb-2 mr-2 shrink-0 pt-2",children:s.jsx(r,{sendMessage:t,"aria-label":"Send",className:"str-chat__send-button relative flex justify-center items-center rounded-full size-8 bg-[#121110] disabled:bg-[#F1F0EE] disabled:text-black/20 text-white focus-ring before:absolute before:-inset-2 before:content-['']","data-testid":"send-button",disabled:a,type:"button"})})]})]})},$t=()=>s.jsxs("div",{className:"messaging-composer-backdrop","aria-hidden":"true",children:[s.jsx("div",{className:"messaging-composer-backdrop-blur"}),s.jsx("div",{className:"messaging-composer-backdrop-blur"}),s.jsx("div",{className:"messaging-composer-backdrop-blur"}),s.jsx("div",{className:"messaging-composer-backdrop-blur"}),s.jsx("div",{className:"messaging-composer-backdrop-blur"}),s.jsx("div",{className:"messaging-composer-backdrop-gradient"})]}),Ut=({renderActions:e,renderHeader:t,renderFooter:n,disabled:a=!1,disabledReason:r,composerInput:i})=>{var x;const{channel:c}=w.useChannelStateContext(),d=((x=c==null?void 0:c.data)==null?void 0:x.frozen)===!0,l=!!i,u=h.useRef(null);return h.useEffect(()=>{if(!l)return;const m=u.current,f=m==null?void 0:m.parentElement;if(!m||!f)return;let o=m.offsetHeight;const v=()=>{const p=m.offsetHeight,b=p>o;o=p;const g=Array.from(f.querySelectorAll(".str-chat__list")).find(j=>j.scrollHeight>j.clientHeight)??null,C=g?g.scrollHeight-g.scrollTop-g.clientHeight<lr:!1;f.style.setProperty("--messaging-composer-height",`${p}px`),b&&C&&g&&(g.scrollTop=g.scrollHeight)};if(v(),typeof ResizeObserver>"u")return;const _=new ResizeObserver(v);return _.observe(m),()=>{_.disconnect(),f.style.removeProperty("--messaging-composer-height")}},[l]),a?l?s.jsxs("div",{ref:u,className:"messaging-composer-chrome messaging-composer-chrome--floating",children:[s.jsx($t,{}),s.jsxs("div",{className:"relative z-10 flex flex-col",children:[t==null?void 0:t(),s.jsx("div",{className:"messaging-composer-locked-panel flex w-full flex-col items-center justify-center gap-3 px-6 py-4",children:r?s.jsx("p",{className:"max-w-[345px] text-center text-xs font-normal leading-[1.3] tracking-[0.12px] text-black/40",children:r}):null}),n==null?void 0:n()]})]}):s.jsxs(s.Fragment,{children:[t==null?void 0:t(),s.jsx("div",{className:"messaging-composer-locked-panel flex w-full flex-col items-center justify-center gap-3 px-6 py-4",children:r?s.jsx("p",{className:"max-w-[345px] text-center text-xs font-normal leading-[1.3] tracking-[0.12px] text-black/40",children:r}):null}),n==null?void 0:n()]}):l?s.jsxs("div",{ref:u,className:"messaging-composer-chrome messaging-composer-chrome--floating",children:[s.jsx($t,{}),s.jsxs("div",{className:"relative z-10 flex min-h-0 flex-col",children:[t==null?void 0:t(),s.jsxs("div",{className:"flex min-h-0 flex-col gap-4 p-3 pb-5 md:p-5",children:[s.jsxs("div",{inert:d?"":void 0,"aria-disabled":d||void 0,className:"message-input flex min-h-0 items-end gap-4 aria-disabled:opacity-40",children:[e&&s.jsx("div",{className:"flex h-12 shrink-0 items-center justify-center",children:e()}),s.jsx(Me.Provider,{value:d,children:s.jsx(w.MessageInput,{Input:i??zt})})]}),n==null?void 0:n()]})]})]}):s.jsxs("div",{className:"flex min-h-0 flex-col gap-4 p-4",children:[t==null?void 0:t(),s.jsxs("div",{inert:d?"":void 0,"aria-disabled":d||void 0,className:"message-input flex min-h-0 items-end gap-4 aria-disabled:opacity-40",children:[e&&s.jsx("div",{className:"flex h-12 shrink-0 items-center justify-center",children:e()}),s.jsx(Me.Provider,{value:d,children:s.jsx(w.MessageInput,{Input:zt})})]}),n==null?void 0:n()]})},ur={SYSTEM_DM_AGENT_PAUSED:"DM Agent has left the conversation",SYSTEM_DM_AGENT_RESUMED:"DM Agent has rejoined the conversation"},mr=["SYSTEM_AGE_SAFETY_BLOCKED"],hr={SYSTEM_AGE_SAFETY_BLOCKED:"This user isn’t able to reply because they don’t meet our age safety guidelines."},ze="age safety guidelines.",xr="https://linktr.ee/s/about/contact",fr=e=>mr.includes(e),gr=e=>{var t;return fr((t=e.metadata)==null?void 0:t.custom_type)},pr=e=>{var a;const t=(a=e.metadata)==null?void 0:a.custom_type;if(V.isDmAgentSystemType(t))return{kind:"dm-agent",type:t};if(V.isAgeSafetySystemType(t))return{kind:"age-safety",type:t};const n=e.dm_agent_system_type;if(V.isDmAgentSystemType(n))return{kind:"dm-agent",type:n}},br=e=>{const t=e.indexOf(ze);if(t===-1)return e;const n=t+ze.length;return s.jsxs(s.Fragment,{children:[e.slice(0,t),s.jsx("a",{href:xr,target:"_blank",rel:"noopener noreferrer",className:"mes-age-safety-system-message__emphasis font-medium text-inherit underline",children:ze}),e.slice(n)]})},vr=e=>{var a,r;const t=!gr(e.message),n=pr(e.message);if((n==null?void 0:n.kind)==="dm-agent"){const i=((a=e.message.text)==null?void 0:a.trim())||ur[n.type];return s.jsxs("div",{className:"str-chat__message--system","data-testid":"message-system",children:[s.jsxs("div",{className:"mes-dm-agent-system-message mx-auto mb-2 inline-flex w-fit max-w-[min(100%,480px)] items-center justify-center gap-[10px] rounded-[12px] border border-[rgba(0,0,0,0.08)] p-3 text-[rgba(0,0,0,0.55)]","data-testid":"dm-agent-system-message","data-dm-agent-system-type":n.type,children:[s.jsx(y.SparkleIcon,{size:16,weight:"regular","aria-hidden":!0,className:"mes-dm-agent-system-message__sparkle shrink-0"}),s.jsx("p",{className:"mes-dm-agent-system-message__text m-0 text-center text-[14px] font-normal leading-5 tracking-[0.21px]",children:i})]}),!t&&s.jsx(w.MessageTimestamp,{message:e.message})]})}if((n==null?void 0:n.kind)==="age-safety"){const i=((r=e.message.text)==null?void 0:r.trim())||hr[n.type];return s.jsxs("div",{className:"str-chat__message--system","data-testid":"message-system",children:[s.jsxs("div",{className:"mes-age-safety-system-message box-border mx-auto mb-2 flex w-full max-w-[329px] items-start justify-center gap-3 rounded-[12px] border border-[var(--border-secondary,rgba(0,0,0,0.08))] bg-[var(--bg-warning-subtle,#fef3c6)] px-2 py-4 pl-5 text-[color:var(--text-warning-on-warning,#894b00)]","data-testid":"age-safety-system-message","data-age-safety-system-type":n.type,children:[s.jsx(y.ProhibitIcon,{size:24,weight:"duotone","aria-hidden":!0,className:"mes-age-safety-system-message__icon shrink-0 text-[color:var(--text-warning-on-warning,#894b00)]","data-testid":"age-safety-system-message-icon"}),s.jsx("div",{className:"mes-age-safety-system-message__content min-w-0 flex-[1_0_0]",children:s.jsx("p",{className:"m-0 text-balance text-left text-[12px] font-normal leading-4 tracking-[0.21px] text-[color:var(--text-warning-on-warning,#894b00)]",children:br(i)})})]}),!t&&s.jsx(w.MessageTimestamp,{message:e.message})]})}return s.jsxs("div",{className:"str-chat__message--system","data-testid":"message-system",children:[s.jsxs("div",{className:"str-chat__message--system__text",children:[s.jsx("div",{className:"str-chat__message--system__line"}),s.jsx("p",{children:e.message.text}),s.jsx("div",{className:"str-chat__message--system__line"})]}),!t&&s.jsx(w.MessageTimestamp,{message:e.message})]})},ys=h.createContext(!1),$e=({cx:e,index:t})=>s.jsx("circle",{cx:e,cy:"6.15",r:"3.9",fill:"#A0A0A0",children:s.jsx("animateTransform",{attributeName:"transform",type:"translate",values:"0 0; 0 -2.25; 0 0;",dur:"900ms",begin:`${120*t}ms`,repeatCount:"indefinite"})}),jr=new Set([w.AIStates.Thinking,w.AIStates.Generating,w.AIStates.ExternalSources]),wr=({threadList:e})=>{var v,_;const{channel:t,channelConfig:n,thread:a}=w.useChannelStateContext(),{client:r}=w.useChatContext(),{typing:i={}}=w.useTypingContext(),{aiState:c}=w.useAIState(t),d=h.useContext(ys);if(!e&&d&&jr.has(c)){const p=_r(t,(v=r.user)==null?void 0:v.id);return s.jsx(Ht,{avatarId:(p==null?void 0:p.id)??"ai-agent",avatarName:(p==null?void 0:p.name)??(p==null?void 0:p.id)??"Agent",avatarImage:p==null?void 0:p.image,testId:"typing-indicator-ai"})}if((n==null?void 0:n.typing_events)===!1)return null;const u=e?[]:Object.values(i).filter(({parent_id:p,user:b})=>{var g;return(b==null?void 0:b.id)!==((g=r.user)==null?void 0:g.id)&&!p}),x=e?Object.values(i).filter(({parent_id:p,user:b})=>{var g;return(b==null?void 0:b.id)!==((g=r.user)==null?void 0:g.id)&&p===(a==null?void 0:a.id)}):[],m=e?x:u;if(!m.length)return null;const f=(_=m[0])==null?void 0:_.user,o=f!=null&&f.id&&t.state.members[f.id]?t.state.members[f.id].user:void 0;return s.jsx(Ht,{avatarId:(f==null?void 0:f.id)??(o==null?void 0:o.id)??"typing-user",avatarName:(f==null?void 0:f.name)??(o==null?void 0:o.name)??(f==null?void 0:f.id)??"Typing user",avatarImage:(f==null?void 0:f.image)??(o==null?void 0:o.image),testId:"typing-indicator"})},Ht=({avatarId:e,avatarName:t,avatarImage:n,testId:a})=>s.jsx("div",{className:"str-chat__li str-chat__li--single str-chat__typing-indicator !static","data-testid":a,style:{marginBottom:"var(--messaging-channel-input-spacer-height, 80px)"},children:s.jsxs("div",{className:"str-chat__message str-chat__message-simple str-chat__message--regular str-chat__message--received str-chat__message--other str-chat__message--has-text",children:[s.jsx(he,{className:"str-chat__avatar str-chat__message-sender-avatar",id:e,name:t,image:n??void 0,size:24,shape:"circle"}),s.jsx("div",{className:"str-chat__message-inner mx-0",children:s.jsx("div",{className:"str-chat__message-bubble-wrapper",children:s.jsxs("div",{className:"str-chat__message-bubble relative isolate",children:[s.jsx("div",{className:"str-chat__message-text min-h-11 flex items-center",children:s.jsx("div",{className:"str-chat__message-text-inner str-chat__message-simple-text-inner",children:s.jsxs("svg",{"aria-hidden":"true",className:"block overflow-visible",viewBox:"0 0 32 12.3",width:"32",height:"13",overflow:"visible",children:[s.jsx($e,{cx:"4",index:0}),s.jsx($e,{cx:"16",index:1}),s.jsx($e,{cx:"28",index:2})]})})}),s.jsx(Te,{side:"other"})]})})})]})});function _r(e,t){var a;const n=((a=e==null?void 0:e.state)==null?void 0:a.members)??{};for(const r of Object.values(n)){const i=r==null?void 0:r.user;if(i&&i.id!==t)return i}}const Ss=()=>null,Cr=({className:e,message:t})=>s.jsxs("div",{className:N("flex items-center justify-center h-full",e),children:[s.jsxs("svg",{viewBox:"0 0 100 100",className:"size-8 fill-pebble",stroke:"none",children:[s.jsx("circle",{cx:"6",cy:"50",r:"6",children:s.jsx("animateTransform",{attributeName:"transform",dur:"1s",type:"translate",values:"0 15 ; 0 -15; 0 15",repeatCount:"indefinite",begin:"0.1"})}),s.jsx("circle",{cx:"30",cy:"50",r:"6",children:s.jsx("animateTransform",{attributeName:"transform",dur:"1s",type:"translate",values:"0 10 ; 0 -10; 0 10",repeatCount:"indefinite",begin:"0.2"})}),s.jsx("circle",{cx:"54",cy:"50",r:"6",children:s.jsx("animateTransform",{attributeName:"transform",dur:"1s",type:"translate",values:"0 5 ; 0 -5; 0 5",repeatCount:"indefinite",begin:"0.3"})})]}),t&&s.jsx("span",{className:"text-stone",children:t})]}),Re=h.memo(()=>s.jsx("div",{className:"messaging-loading-state flex items-center justify-center h-full",children:s.jsxs("div",{className:"flex items-center",children:[s.jsx(Cr,{className:"w-6 h-6"}),s.jsx("span",{className:"text-sm text-stone",children:"Loading messages"})]})}));Re.displayName="LoadingState";const Nr=({onBack:e,showBackButton:t,renderMessageInputActions:n,renderMessageInputFooter:a,renderConversationFooter:r,onLeaveConversation:i,onBlockParticipant:c,showDeleteConversation:d=!0,onDeleteConversationClick:l,onBlockParticipantClick:u,onReportParticipantClick:x,showBlockParticipant:m=!0,showReportParticipant:f=!0,composerDisabled:o=!1,composerDisabledReason:v,showStarButton:_=!1,renderChannelBanner:p,customChannelActions:b,renderChannelActions:g,renderMessage:C,viewerLanguage:j,showChannelInfo:E=!0,onParticipantNameClick:T,onOutboundClick:A,resolveOutbound:L,composerInput:D})=>{const{channel:R,messages:S}=w.useChannelStateContext(),M=h.useRef(A);h.useEffect(()=>{M.current=A},[A]);const I=h.useCallback(U=>{var W;(W=M.current)==null||W.call(M,U)},[]),k=A?I:void 0,O=mn(S,L),$=R.state.messages.some(U=>U.type!=="deleted"),B=p?s.jsx(h.Fragment,{children:p()},"lt-channel-banner"):null,F=s.jsx(Xs,{className:"-mx-[var(--str-chat\\_\\_spacing-2)] px-[var(--str-chat\\_\\_spacing-2)] md:-mx-[min(var(--str-chat\\_\\_spacing-10),4%)] md:px-[min(var(--str-chat\\_\\_spacing-10),4%)]",onBack:e,showBackButton:t,showChannelInfo:E,showStarButton:_,onLeaveConversation:i,onBlockParticipant:c,showDeleteConversation:d,showBlockParticipant:m,showReportParticipant:f,onDeleteConversationClick:l,onBlockParticipantClick:u,onReportParticipantClick:x,customChannelActions:b,renderChannelActions:g,onParticipantNameClick:T}),Y=h.useCallback(U=>{const{message:W}=w.useMessageContext("ChannelView"),q=s.jsx(sr,{...U,viewerLanguage:j,onOutboundClick:k});return!C||!W?q:C(q,W)},[k,C,j]);return s.jsx(as.Provider,{value:O,children:s.jsx(w.WithComponents,{overrides:{Message:Y,MessageActions:rr,UnreadMessagesNotification:()=>null,UnreadMessagesSeparator:()=>null},children:s.jsx(w.Window,{children:D?s.jsxs("div",{className:"messaging-channel-layout relative flex min-h-0 flex-1 flex-col",children:[s.jsxs("div",{className:"messaging-channel-message-list messaging-channel-message-list--floating relative min-h-0 flex-1 overflow-hidden",children:[!$&&s.jsx("div",{className:"str-chat__list",children:s.jsxs("div",{className:"str-chat__message-list-scroll",children:[F,B]})}),s.jsx(w.MessageList,{head:$?s.jsxs("div",{className:"sticky top-0 z-10",children:[F,B]}):void 0,hideDeletedMessages:!0,hideNewMessageSeparator:!1})]},"lt-channel-message-list"),s.jsx(Ut,{...n&&{renderActions:()=>n==null?void 0:n(R)},...r&&{renderHeader:()=>r(R)},renderFooter:()=>a==null?void 0:a(R),disabled:o,disabledReason:v,composerInput:D},"lt-channel-message-input")]}):s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"flex-1 overflow-hidden relative",children:[!$&&s.jsx("div",{className:"str-chat__list",children:s.jsxs("div",{className:"str-chat__message-list-scroll",children:[F,B]})}),s.jsx(w.MessageList,{head:$?s.jsxs("div",{className:"sticky top-0 z-10",children:[F,B]}):void 0,hideDeletedMessages:!0,hideNewMessageSeparator:!1})]},"lt-channel-message-list"),r?s.jsx(h.Fragment,{children:r(R)},"lt-channel-conversation-footer"):null,s.jsx(Ut,{...n&&{renderActions:()=>n==null?void 0:n(R)},renderFooter:()=>a==null?void 0:a(R),disabled:o,disabledReason:v,composerInput:D},"lt-channel-message-input")]})})})})},ct=h.memo(({channel:e,onBack:t,showBackButton:n=!1,renderMessageInputActions:a,renderMessageInputFooter:r,renderConversationFooter:i,onLeaveConversation:c,onBlockParticipant:d,className:l,CustomChannelEmptyState:u=Ss,showDeleteConversation:x=!0,onDeleteConversationClick:m,onBlockParticipantClick:f,onReportParticipantClick:o,showBlockParticipant:v=!0,showReportParticipant:_=!0,composerDisabled:p=!1,composerDisabledReason:b,dmAgentEnabled:g,messageMetadata:C,onMessageSent:j,showStarButton:E=!1,renderChannelBanner:T,customChannelActions:A,renderChannelActions:L,renderMessage:D,onMessageLinkClick:R,sendButton:S,attachmentPreviewList:M,viewerLanguage:I,showChannelInfo:k=!0,onParticipantNameClick:O,onOutboundClick:$,resolveOutbound:B,composerInput:F})=>{const Y=h.useCallback(async(q,G,J)=>{var ee;const K=((ee=e.data)==null?void 0:ee.chatbot_paused)===!0,P=g&&!K,Q={...G,...P&&{silent:!0},...C&&{metadata:{...G.metadata??{},...C}}},H={...J,...P&&{skip_push:!0}},Z=await e.sendMessage(Q,H);return j==null||j(Z),Z},[e,g,C,j]),U=h.useRef(null);h.useEffect(()=>{if(!R)return;const q=U.current;if(!q)return;const G=J=>{const K=J.target,P=K==null?void 0:K.closest("a[href]"),Q=P==null?void 0:P.getAttribute("href");if(!Q)return;const H=P==null?void 0:P.closest("[data-message-id]"),Z=H==null?void 0:H.getAttribute("data-message-id"),ee=Z?e.state.messages.find(ne=>ne.id===Z):void 0;R(Q,ee)};return q.addEventListener("click",G),()=>q.removeEventListener("click",G)},[R,e]);const W=V.isOfficialChannel(e.type)?{"--lt-msg-card-width":"368px"}:void 0;return s.jsx("div",{ref:U,className:N("messaging-channel-view h-full flex flex-col",l),style:W,children:s.jsx(ys.Provider,{value:g??!1,children:s.jsx(w.Channel,{channel:e,MessageSystem:vr,EmptyStateIndicator:u,LoadingIndicator:Re,DateSeparator:Ks,TypingIndicator:wr,doSendMessageRequest:Y,...S?{SendButton:S}:{},...M?{AttachmentPreviewList:M}:{},children:s.jsx(Nr,{onBack:t,showBackButton:n,renderMessageInputActions:a,renderMessageInputFooter:r,renderConversationFooter:i,onLeaveConversation:c,onBlockParticipant:d,CustomChannelEmptyState:u,showDeleteConversation:x,onDeleteConversationClick:m,onBlockParticipantClick:f,onReportParticipantClick:o,showBlockParticipant:v,showReportParticipant:_,composerDisabled:p,composerDisabledReason:b,showStarButton:E,renderChannelBanner:T,customChannelActions:A,renderChannelActions:L,renderMessage:D,viewerLanguage:I,showChannelInfo:k,onParticipantNameClick:O,onOutboundClick:$,resolveOutbound:B,composerInput:F})})})})});ct.displayName="ChannelView";const be=h.memo(({message:e,onBack:t})=>s.jsx("div",{className:"messaging-error-state flex items-center justify-center h-full p-8",children:s.jsxs("div",{className:"text-center max-w-sm",children:[s.jsx("div",{className:"w-24 h-24 bg-danger-alt/20 rounded-full flex items-center justify-center mx-auto mb-6",children:s.jsx("span",{className:"text-4xl",children:"⚠️"})}),s.jsx("h2",{className:"font-semibold text-charcoal mb-2",children:"Oops!"}),s.jsx("p",{className:"text-stone text-sm mb-6",children:e}),t&&s.jsx("button",{type:"button",onClick:t,className:"inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-[#7f22fe] hover:bg-primary-alt rounded-lg transition-colors focus-ring",children:"Go Back"})]})}));be.displayName="ErrorState";const yr=({capabilities:e={},renderMessageInputActions:t,renderConversationFooter:n,onChannelSelect:a,onExitConversation:r,initialParticipantFilter:i,initialParticipantData:c,CustomChannelEmptyState:d,onBlockParticipantClick:l,onReportParticipantClick:u,dmAgentEnabled:x,onMessageSent:m,viewerLanguage:f,renderChannelBanner:o,customChannelActions:v,renderChannelActions:_,onParticipantNameClick:p,onOutboundClick:b,resolveOutbound:g,renderMessage:C,onMessageLinkClick:j,showChannelInfo:E,composerInput:T,attachmentPreviewList:A})=>{const{client:L,isConnected:D,isLoading:R,error:S,refreshConnection:M,service:I,debug:k}=Kt(),[O,$]=h.useState(null),[B,F]=h.useState(null),[Y,U]=h.useState(!1),{showDeleteConversation:W=!0}=e,q=h.useRef(c);q.current=c;const G=h.useRef(a);G.current=a;const J=h.useRef(null),K=h.useRef(null);h.useEffect(()=>{K.current=O},[O]),h.useEffect(()=>{if(!L||!D)return;const H=L.userID;if(!H)return;const Z=`${H}::${i}`;if(J.current===Z)return;J.current=Z;const ee=()=>{J.current===Z&&(J.current=null)};(async()=>{var Se,re;try{k&&console.log("[MessagingShell] Loading initial conversation with:",i);const te=await L.queryChannels({type:"messaging",members:{$eq:[H,i]}},{},{limit:1});if(te.length>0){$(te[0]),F(null),(Se=G.current)==null||Se.call(G,te[0]),k&&console.log("[MessagingShell] Initial conversation loaded:",te[0].id);return}const ie=q.current;if(!ie||!I){ee(),F("No conversation found with this account"),k&&console.log("[MessagingShell] No conversation found for:",i);return}try{const ae=await I.startChannelWithParticipant({id:ie.id,name:ie.name,phone:ie.phone});$(ae),F(null),(re=G.current)==null||re.call(G,ae),k&&console.log("[MessagingShell] Channel created and loaded:",ae.id)}catch(ae){console.error("[MessagingShell] Failed to create conversation:",ae),ee(),F("Failed to create conversation")}}catch(te){console.error("[MessagingShell] Failed to load initial conversation:",te),ee(),K.current||F("Failed to load conversation")}})()},[i,L,D,I,k]);const P=h.useRef(r);P.current=r;const Q=h.useCallback(()=>{var H;$(null),U(!0),(H=P.current)==null||H.call(P)},[]);return R?s.jsx(Re,{}):S?s.jsx(be,{message:S,onBack:M}):!D||!L?s.jsx(be,{message:"Not connected to messaging service",onBack:M}):B?s.jsx(be,{message:B}):Y&&!O?s.jsx(be,{message:"Conversation ended"}):O?s.jsx("div",{className:"messaging-shell h-full bg-background-primary overflow-hidden",children:s.jsx("div",{className:"flex h-full min-h-0 flex-col",children:s.jsx(ct,{channel:O,renderMessageInputActions:t,renderConversationFooter:n,renderChannelBanner:o,onLeaveConversation:Q,onBlockParticipant:Q,CustomChannelEmptyState:d,showDeleteConversation:W,onBlockParticipantClick:l,onReportParticipantClick:u,dmAgentEnabled:x,onMessageSent:m,viewerLanguage:f,customChannelActions:v,renderChannelActions:_,onParticipantNameClick:p,onOutboundClick:b,resolveOutbound:g,renderMessage:C,onMessageLinkClick:j,showChannelInfo:E,composerInput:T,attachmentPreviewList:A},O.id)})}):s.jsx(Re,{})};function Sr(e){const t=e.state.pending_messages;if(t!=null&&t.length)for(const n of t)e.state.addMessageSorted(n.message)}const ks=h.createContext({selectedChannel:void 0,onChannelSelect:()=>{},debug:!1,renderMessagePreview:void 0,channelPreview:void 0,viewerLanguage:void 0}),kr=ks.Provider,Er=()=>h.useContext(ks),Ir=(e,t)=>{const n=Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()),a=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate());return Math.floor((a-n)/(1e3*60*60*24))},Es=e=>{const t=new Date;if(Math.floor((t.getTime()-e.getTime())/1e3)<60)return"Just now";const a=Ir(e,t);return a===0?e.toLocaleTimeString([],{hour:"numeric",minute:"2-digit",hour12:!0}):a===1?"Yesterday":a<7?e.toLocaleDateString(void 0,{weekday:"short"}):e.getFullYear()===t.getFullYear()?e.toLocaleDateString(void 0,{month:"short",day:"numeric"}):e.toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})},Is=h.memo(e=>{var L,D,R;const{channel:t,unread:n}=e,{selectedChannel:a,onChannelSelect:r,debug:i,channelPreview:c,renderMessagePreview:d,viewerLanguage:l}=Er(),{client:u}=w.useChatContext(),x=(a==null?void 0:a.id)===(t==null?void 0:t.id),m=Zt(t);if(c){const S=c;return s.jsx(S,{...e,active:x,selectedChannel:a,onChannelSelect:r,viewerLanguage:l})}const f=()=>{t&&r(t)},o=S=>{const M=S.key==="Enter"||S.key===" ",I=S.repeat;!M||I||(S.preventDefault(),f())},v=Ge((L=t==null?void 0:t.state)==null?void 0:L.members,u==null?void 0:u.userID,t==null?void 0:t.type),_=Ye(v==null?void 0:v.user),p=(D=v==null?void 0:v.user)==null?void 0:D.image,b=(()=>{var M;const S=(M=t==null?void 0:t.state)==null?void 0:M.messages;if(S!=null&&S.length){for(let I=S.length-1;I>=0;I--)if(S[I].type!=="system")return S[I]}})(),C=(()=>{var O;const S=We({message:b,viewerLanguage:l}),{custom_type:M,attachment_content_type:I}=(b==null?void 0:b.metadata)||{};if(M===V.MESSAGE_CUSTOM_TYPE.TIP)return S||"Sent a tip";if(M===V.MESSAGE_CUSTOM_TYPE.PAID)return S||"Sent a message";if(M===V.MESSAGE_CUSTOM_TYPE.ATTACHMENT){if(I==="text")return"🔒 Sent a locked message";if(I==="media")return"🔒 Sent a locked attachment"}if(S)return S;const k=(O=b==null?void 0:b.attachments)==null?void 0:O[0];return k?k.og_scrape_url?k.og_scrape_url:k.type==="image"?"📷 Sent an image":k.type==="video"?"🎥 Sent a video":k.type==="audio"?"🎵 Sent audio":k.type==="file"?"📎 Sent a file":"📎 Sent an attachment":"No messages yet"})(),j=b!=null&&b.created_at?Es(new Date(b.created_at)):"",E=b?Ie(b):!1,T=d?d(b,C):`${E?"✨ ":""}${C}`,A=n??0;return i&&console.log("📺 [ChannelList] 📋 CHANNEL PREVIEW RENDER",{channelId:t==null?void 0:t.id,isSelected:x,participantName:_,unreadCount:A,hasTimestamp:!!j}),s.jsx("div",{role:"button",tabIndex:0,onClick:f,onKeyDown:o,className:N("group w-full px-4 py-3 transition-colors text-left max-w-full overflow-hidden focus-ring rounded-[12px] [&+&]:mt-2",{"bg-black/[0.04]":x,"hover:bg-black/[0.02]":!x}),"data-dd-privacy":"mask",children:s.jsxs("div",{className:"flex items-start gap-4",children:[s.jsx(he,{id:((R=v==null?void 0:v.user)==null?void 0:R.id)||t.id||"unknown",name:_,image:p,size:48,starred:m}),s.jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-1",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("h3",{className:N("text-sm font-medium truncate text-[#191918]"),children:[m&&s.jsx("span",{className:"sr-only",children:"Starred conversation. "}),_]}),j&&s.jsx("span",{className:"text-xs text-[#717070] flex-shrink-0",children:j})]}),s.jsxs("div",{className:"flex items-center justify-between gap-2 min-w-0",children:[s.jsx("p",{className:"text-sm text-[#717070] flex-1 line-clamp-1",children:T}),A>0&&s.jsx("span",{className:"bg-[#7f22fe] text-white text-[10px] rounded-full h-4 flex items-center justify-center p-1 min-w-4 text-center flex-shrink-0",children:A>99?"99+":A})]})]})]})})});Is.displayName="CustomChannelPreview";const Tr={last_message_at:-1},Ts=h.memo(({onChannelSelect:e,selectedChannel:t,filters:n,allowNewMessagesFromUnfilteredChannels:a=!1,channelRenderFilterFn:r,sort:i=Tr,className:c,customEmptyStateIndicator:d,channelListPaginator:l=w.InfiniteScroll,channelPreview:u,renderMessagePreview:x,viewerLanguage:m,lockChannelOrder:f,onMessageNewHandler:o,onMessageNew:v,onChannelVisible:_,onAddedToChannel:p,onChannelUpdated:b})=>{const g=h.useRef(0);g.current++;const{debug:C=!1}=Ve(),j=h.useCallback(T=>{for(const A of T)Sr(A);return r?r(T):T},[r]);C&&console.log("📺 [ChannelList] 🔄 RENDER START",{renderCount:g.current,selectedChannelId:t==null?void 0:t.id,filters:n});const E=h.useMemo(()=>({selectedChannel:t,onChannelSelect:e,debug:C,channelPreview:u,renderMessagePreview:x,viewerLanguage:m}),[t,e,C,u,x,m]);return s.jsx("div",{className:N("messaging-channel-list h-full flex flex-col min-w-0 overflow-hidden",c),children:s.jsx("div",{className:"flex-1 overflow-hidden min-w-0",children:s.jsx(kr,{value:E,children:s.jsx(w.ChannelList,{filters:n,sort:i,options:{limit:30},allowNewMessagesFromUnfilteredChannels:a,channelRenderFilterFn:j,lockChannelOrder:f,onMessageNewHandler:o,onMessageNew:v,onChannelVisible:_,onAddedToChannel:p,onChannelUpdated:b,Paginator:l,Preview:Is,EmptyStateIndicator:d},`${JSON.stringify(n)}:${JSON.stringify(i)}`)})})})});Ts.displayName="ChannelList";const Ar="line-clamp-2 text-[14px] font-medium leading-5 tracking-[0.28px] [text-wrap:balance]",Mr="text-[12px] leading-4 tracking-[0.24px] [text-wrap:pretty]",Vt=({surface:e,actions:t,layout:n})=>{if(t==null||t.length===0)return null;const a=n==="stacked";return s.jsx("div",{className:N("flex gap-2",a?"mt-3 flex-col":"min-w-0 max-w-[60%] flex-row flex-wrap justify-end"),children:t.map((r,i)=>s.jsx(is,{variant:e,cta:r,fullWidth:a,standalone:!0},`${r.label}-${i}`))})},Rr=({ctaSurface:e,chinTextColor:t,title:n,subtitle:a,subtitleLines:r=3,appIcon:i,actions:c})=>{var v;const d=n!=null&&n.trim()!=="",l=a!=null&&a.trim()!=="",u=c!=null&&c.length>0;if(!d&&!l&&!u)return null;const x={color:t},m=r>1?{...x,display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:r,overflow:"hidden"}:x,f=u&&(((v=c==null?void 0:c[0])==null?void 0:v.variant)??"primary")==="secondary",o=s.jsxs("div",{className:"flex min-w-0 flex-1 flex-col gap-[2px]",children:[d&&s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[i?s.jsx("span",{className:"shrink-0",children:i}):null,s.jsx("p",{className:N("min-w-0",Ar),style:x,children:n})]}),l&&s.jsx("p",{className:N(Mr,r>1&&"whitespace-pre-line",r<=1&&"truncate"),style:m,children:a})]});return s.jsx("div",{className:"shrink-0 px-4 py-3",children:f?s.jsxs("div",{className:"flex items-center justify-between gap-3",children:[o,s.jsx(Vt,{surface:e,actions:c,layout:"row"})]}):s.jsxs(s.Fragment,{children:[o,s.jsx(Vt,{surface:e,actions:c,layout:"stacked"})]})})},Lr={dark:"bg-white/[0.06]",light:"bg-black/[0.04]"},Or={1:[0],2:[-10,10],3:[-13,0,13]},Dr={1:[0],2:[-26,26],3:[-40,0,40]},Fr={1:[0],2:[0,1],3:[1,3,2]},Pr={1:[1],2:[1,1],3:[1,1.08,1]},Br=({variant:e,images:t})=>{const[n,a]=h.useState({}),r=t.join(`
2
+ `),[i,c]=h.useState(r);r!==i&&(c(r),a({}));const d=t.slice(0,3).map((o,v)=>({src:o,index:v})).filter(({index:o})=>!n[o]),l=d.length>=3?3:d.length===2?2:1,u=Or[l],x=Dr[l],m=Fr[l],f=Pr[l];return s.jsx("div",{className:N("relative flex min-h-0 w-full flex-1 items-center justify-center overflow-hidden",Lr[e]),children:d.map(({src:o,index:v},_)=>s.jsx("img",{src:le(o)??o,alt:"",draggable:!1,loading:"lazy",decoding:"async",onError:()=>a(p=>({...p,[v]:!0})),className:"absolute left-1/2 top-1/2 w-[62%] aspect-[3/2] rounded-[12px] bg-[#ffffff] object-cover shadow-md",style:{transform:`translate(-50%, -50%) translateX(${x[_]}px) rotate(${u[_]}deg) scale(${f[_]})`,zIndex:m[_]}},`${o}-${v}`))})},zr="flex h-[180px] w-full shrink-0 flex-col overflow-hidden",$r=({variant:e,presentation:t,images:n,title:a,heroUrl:r,onHeroError:i})=>s.jsx("div",{className:zr,children:t==="fan"?s.jsx(Br,{variant:e,images:n}):s.jsx(je,{variant:e,thumbnailUrl:r,title:a,mimeType:"image/*",onImageError:i})}),As=({variant:e,title:t,subtitle:n,subtitleLines:a,images:r=[],imagePresentation:i,actions:c,appIcon:d,accentColor:l,groupPosition:u="single"})=>{const x=V.resolveRichCardImagePresentation({imagePresentation:i,images:r}),m=r.length>0,f=m&&x==="hero",o=Oe({variant:e,accentColor:l,layout:"featured",thumbnailUrl:f?r[0]:void 0}),v=u==="single"||u==="end";return s.jsx(st,{accentHex:o.accentHex,side:e==="dark"?"sender":"receiver",visible:v,children:s.jsxs(ve,{variant:e,accentHex:o.accentHex,"data-testid":"rich-card",children:[m&&s.jsx($r,{variant:e,presentation:x,images:r,title:t,heroUrl:f?o.thumbnailUrl:void 0,onHeroError:o.onImageError}),s.jsx(Rr,{ctaSurface:o.surface,chinTextColor:o.chinTextColor,title:t,subtitle:n,subtitleLines:a,appIcon:d,actions:c})]})})},Ur=e=>s.jsx(As,{...e,variant:"dark"}),Hr=e=>s.jsx(As,{...e,variant:"light"}),Vr={Sent:Ur,Received:Hr},Gt=`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='23' fill='none'%3E%3Cpath fill='black' d='M0 0H15C15 10.1934 15.859 15.2345 19.168 21.4893C19.527 22.168 19.039 22.9917 18.274 22.9178C5.176 21.6506 0.32 6.0737 0 0Z'/%3E%3C/svg%3E") no-repeat center / 100% 100%`,Gr={sent:"var(--str-chat__own-message-bubble-background-color, #1e2330)",received:"var(--str-chat__message-bubble-background-color, #f1f0ee)"},Yr=({variant:e})=>s.jsx("span",{"aria-hidden":"true",className:"pointer-events-none absolute bottom-0 z-[-1] h-[1.4375rem] w-5",style:{insetInlineEnd:e==="sent"?"calc(-1 * 0.25rem)":void 0,insetInlineStart:e==="received"?"calc(-1 * 0.25rem)":void 0,transform:e==="received"?"scaleX(-1)":void 0,transformOrigin:"center",backgroundColor:Gr[e],WebkitMask:Gt,mask:Gt}}),Wr={sent:{backgroundColor:"var(--str-chat__own-message-bubble-background-color, #1e2330)",color:"var(--str-chat__own-message-bubble-color, #fff)"},received:{backgroundColor:"var(--str-chat__message-bubble-background-color, #f1f0ee)",color:"var(--str-chat__message-bubble-color, #000000)"}},Ms=({variant:e,text:t,tail:n=!0,header:a,className:r})=>s.jsxs("div",{"data-dd-privacy":"mask",className:N("relative px-4 py-3","text-[0.875rem] leading-[1.3125rem] tracking-[0.14px]",r),style:{...Wr[e],borderRadius:"var(--str-chat__message-bubble-border-radius, 1.5rem)",isolation:"isolate"},children:[a!=null&&s.jsx("div",{className:"mb-1 font-medium","data-testid":"message-bubble-header",children:a}),s.jsx("p",{className:"m-0 whitespace-pre-wrap break-words hyphens-manual",children:t}),n&&s.jsx(Yr,{variant:e})]}),qr=({text:e,tail:t,header:n,className:a})=>s.jsx(Ms,{variant:"received",text:e,tail:t,header:n,className:a}),Xr=({text:e,tail:t,className:n})=>s.jsx(Ms,{variant:"sent",text:e,tail:t,className:n}),Kr={Sent:Xr,Received:qr},Rs=({question:e,onClick:t,loading:n=!1,className:a})=>s.jsx("button",{type:"button",onClick:t,disabled:n,style:{backgroundColor:"#E6E5E3"},className:N("w-full text-center p-4 rounded-xl text-charcoal font-medium transition-colors focus-ring",{"hover:brightness-95 active:brightness-90":!n,"opacity-50 cursor-not-allowed":n},a),children:e}),Zr=({faqs:e,onFaqClick:t,loadingFaqId:n,headerText:a,className:r,avatarImage:i,avatarName:c})=>{const d=V.selectEnabledFaqs(e);return d.length===0?null:s.jsx("div",{className:r,children:s.jsxs("div",{className:"flex gap-3 items-end",children:[(i||c)&&s.jsx("div",{className:"flex-none",children:s.jsx(he,{id:c||"account",name:c||"Account",image:i,size:24,shape:"circle"})}),s.jsxs("div",{className:"flex-1 flex flex-col gap-3 rounded-lg p-4",style:{backgroundColor:"#F1F0EE"},children:[a&&s.jsx("p",{className:"text-md text-charcoal mb-4",children:a}),d.map(l=>s.jsx(Rs,{question:l.question,onClick:()=>t(l.id),loading:n===l.id},l.id))]})]})})};exports.ActionButton=ue;exports.Avatar=he;exports.ChannelEmptyState=Ss;exports.ChannelList=Ts;exports.ChannelView=ct;exports.CustomMessageProvider=Qs;exports.FaqList=Zr;exports.FaqListItem=Rs;exports.LinkAttachment=Ae;exports.LockedAttachment=pe;exports.MessageAttachment=me;exports.MessageBubble=Kr;exports.MessagingLoggerProvider=qt;exports.MessagingProvider=Bs;exports.MessagingShell=yr;exports.RichCard=Vr;exports.TipMessage=rs;exports.bubbleGroupPositionFromStream=qn;exports.buildCompactMetaLabel=us;exports.formatFileSize=cs;exports.formatRelativeTime=Es;exports.getFileExtensionLabel=ds;exports.getMessageDisplayText=We;exports.getSourceType=xe;exports.isLinkAttachment=Le;exports.isTipMessage=Xe;exports.isUuidLike=Jt;exports.normalizeLanguageCode=es;exports.optimizeMessagingAttachmentUrl=le;exports.renderTypeIcon=Qe;exports.resolveConversationParticipant=Ge;exports.resolveParticipantDisplayName=Ye;exports.useComposerLocked=cr;exports.useCustomMessage=ss;exports.useMessaging=Kt;exports.useMessagingLogger=Ps;
3
+ //# sourceMappingURL=index-CN_OlAue.cjs.map