@linktr.ee/messaging-react 4.2.0-rc-1787325710 β†’ 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/Card-BYJyA83X.js +701 -0
  2. package/dist/Card-BYJyA83X.js.map +1 -0
  3. package/dist/Card-Be81K6su.cjs +2 -0
  4. package/dist/Card-Be81K6su.cjs.map +1 -0
  5. package/dist/Card-BplJtZao.cjs +2 -0
  6. package/dist/Card-BplJtZao.cjs.map +1 -0
  7. package/dist/Card-BzvDr-pU.js +112 -0
  8. package/dist/Card-BzvDr-pU.js.map +1 -0
  9. package/dist/PurchaseStatusBadge-BmqAQEV9.cjs +2 -0
  10. package/dist/PurchaseStatusBadge-BmqAQEV9.cjs.map +1 -0
  11. package/dist/PurchaseStatusBadge-D1RRsubZ.js +59 -0
  12. package/dist/PurchaseStatusBadge-D1RRsubZ.js.map +1 -0
  13. package/dist/assets/index.css +1 -2
  14. package/dist/index-BUC9vqhJ.js +5916 -0
  15. package/dist/index-BUC9vqhJ.js.map +1 -0
  16. package/dist/index-BkqyKPJP.cjs +3 -0
  17. package/dist/index-BkqyKPJP.cjs.map +1 -0
  18. package/dist/index.cjs +2 -3
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.d.ts +26 -0
  21. package/dist/index.js +41 -4071
  22. package/dist/index.js.map +1 -1
  23. package/dist/testing.cjs +2 -2
  24. package/dist/testing.cjs.map +1 -1
  25. package/dist/testing.js +118 -106
  26. package/dist/testing.js.map +1 -1
  27. package/package.json +5 -5
  28. package/src/components/ChannelView.stories.tsx +4 -0
  29. package/src/index.ts +3 -0
  30. package/src/logging/index.test.tsx +136 -0
  31. package/src/logging/index.tsx +48 -0
  32. package/src/providers/MessagingProvider.test.tsx +127 -1
  33. package/src/providers/MessagingProvider.tsx +26 -15
  34. package/src/types.ts +8 -0
  35. package/dist/AttachmentCard-C-X0jLZ2.cjs +0 -2
  36. package/dist/AttachmentCard-C-X0jLZ2.cjs.map +0 -1
  37. package/dist/AttachmentCard-D2IoHdcv.js +0 -410
  38. package/dist/AttachmentCard-D2IoHdcv.js.map +0 -1
  39. package/dist/Card-C7uLQbYz.js +0 -105
  40. package/dist/Card-C7uLQbYz.js.map +0 -1
  41. package/dist/Card-DENHpLIC.cjs +0 -2
  42. package/dist/Card-DENHpLIC.cjs.map +0 -1
  43. package/dist/Card-Ds1FMcUj.cjs +0 -2
  44. package/dist/Card-Ds1FMcUj.cjs.map +0 -1
  45. package/dist/Card-EKD9NkTa.js +0 -498
  46. package/dist/Card-EKD9NkTa.js.map +0 -1
  47. package/dist/LoadingDots-BSk_UeS0.cjs +0 -2
  48. package/dist/LoadingDots-BSk_UeS0.cjs.map +0 -1
  49. package/dist/LoadingDots-B_WiXBeQ.js +0 -73
  50. package/dist/LoadingDots-B_WiXBeQ.js.map +0 -1
  51. package/dist/rolldown-runtime-BocRIvOZ.cjs +0 -1
@@ -0,0 +1,3 @@
1
+ "use strict";const t=require("react/jsx-runtime"),h=require("react"),Ys=require("@linktr.ee/messaging-core"),Te=require("stream-chat"),_=require("stream-chat-react"),K=require("@linktr.ee/messaging-taxonomy"),C=require("classnames"),S=require("@phosphor-icons/react"),Ge=require("stream-chat-react/experimental"),pe={debug:(e,...s)=>console.log(e,...s),info:(e,...s)=>console.log(e,...s),warn:(e,...s)=>console.warn(e,...s),error:(e,...s)=>console.error(e,...s)},Zt=e=>({debug:(e==null?void 0:e.debug)??pe.debug,info:(e==null?void 0:e.info)??pe.info,warn:(e==null?void 0:e.warn)??pe.warn,error:(e==null?void 0:e.error)??pe.error}),Jt=h.createContext(pe),Qt=({logger:e,children:s})=>{const n=h.useMemo(()=>Zt(e),[e]);return t.jsx(Jt.Provider,{value:n,children:s})},Ws=()=>h.useContext(Jt),es=h.createContext({service:null,client:null,isConnected:!1,isLoading:!1,error:null,capabilities:{},refreshConnection:async()=>{},debug:!1}),Ye=()=>h.useContext(es),qs=({children:e,user:s,serviceConfig:n,apiKey:a,capabilities:r={},debug:i=!1,client:o,logger:c})=>{var P,U;const d=h.useCallback((z,...F)=>{i&&console.log(`πŸ”₯ [MessagingProvider] ${z}`,...F)},[i]);d("πŸ”„ RENDER START",{userId:s==null?void 0:s.id,apiKey:(a==null?void 0:a.substring(0,8))+"...",serviceConfig:!!n,capabilities:Object.keys(r)});const[u,f]=h.useState(null),[m,x]=h.useState(null),[l,b]=h.useState(!1),[j,p]=h.useState(!1),[v,g]=h.useState(null),y=h.useRef(!1),w=h.useRef(null),T=h.useRef(n);T.current=n;const D=h.useRef(i);D.current=i;const M=h.useRef(c);M.current=c;const O=h.useRef({userId:s==null?void 0:s.id,apiKey:a,serviceConfig:n,capabilities:r}),B=h.useRef(0);B.current++,d("πŸ“Š RENDER INFO",{renderCount:B.current,currentProps:{userId:s==null?void 0:s.id,apiKey:(a==null?void 0:a.substring(0,8))+"..."},propChanges:{userChanged:O.current.userId!==(s==null?void 0:s.id),apiKeyChanged:O.current.apiKey!==a,serviceConfigChanged:O.current.serviceConfig!==n,capabilitiesChanged:O.current.capabilities!==r}}),O.current={userId:s==null?void 0:s.id,apiKey:a,serviceConfig:n,capabilities:r};const R=h.useRef(null);!o&&a&&((P=R.current)==null?void 0:P.apiKey)!==a&&(R.current={apiKey:a,client:new Te.StreamChat(a)});const k=o||(a?((U=R.current)==null?void 0:U.client)??null:null);h.useEffect(()=>{const z=B.current,F=T.current;if(o){w.current=null,f(null),x(null),b(!1),g(null),p(!1);return}if(!a||!k||!F){d("⚠️ SERVICE INIT SKIPPED",{renderCount:z,reason:"Missing apiKey, client, or serviceConfig"});return}d("πŸš€ CREATING SERVICE",{renderCount:z,apiKey:(a==null?void 0:a.substring(0,8))+"..."});const q=new Ys.StreamChatService({...F,apiKey:a,debug:D.current,client:k,...F.logger||!M.current?{}:{logger:Zt(M.current)}});w.current=q,f(q),d("βœ… SERVICE SET",{renderCount:z,serviceInstance:!!q})},[a,k,o]);const A=h.useRef(null);h.useEffect(()=>{var F,q;if(d("πŸ”— USER CONNECTION EFFECT TRIGGERED",{hasService:!!u,hasUser:!!s,userId:s==null?void 0:s.id,isConnecting:y.current,isConnected:l,dependencies:{service:!!u,userId:s==null?void 0:s.id}}),o)return;if(!u||!s){d("⚠️ USER CONNECTION SKIPPED","Missing service or user");return}if(y.current){d("⚠️ USER CONNECTION SKIPPED","Already connecting");return}if(((F=A.current)==null?void 0:F.serviceId)===u&&((q=A.current)==null?void 0:q.userId)===s.id){d("⚠️ USER CONNECTION SKIPPED","Already connected this user with this service");return}(async()=>{d("πŸš€ STARTING USER CONNECTION",{userId:s.id}),y.current=!0,p(!0),g(null);try{d("πŸ“ž CALLING SERVICE.CONNECTUSER",{userId:s.id});const V=await u.connectUser(s);x(V),b(!0),A.current={serviceId:u,userId:s.id},d("βœ… USER CONNECTION SUCCESS",{userId:s.id,clientId:V.userID})}catch(V){const X=V instanceof Error?V.message:"Connection failed";g(X),d("❌ USER CONNECTION ERROR",{userId:s.id,error:X})}finally{p(!1),y.current=!1,d("πŸ”„ USER CONNECTION FINISHED",{userId:s.id,isConnected:l})}})()},[u,s,d,l,o]),h.useEffect(()=>{const z=k;return()=>{var F;z&&(A.current=null,(F=w.current)==null||F.disconnectUser().catch(console.error))}},[k]);const I=h.useCallback(async()=>{if(d("πŸ”„ REFRESH CONNECTION CALLED",{hasService:!!u,hasUser:!!s}),!o){if(!u||!s){d("⚠️ REFRESH CONNECTION SKIPPED","Missing service or user");return}d("πŸš€ STARTING CONNECTION REFRESH",{userId:s.id}),p(!0);try{d("πŸ”Œ DISCONNECTING FOR REFRESH"),await u.disconnectUser(),d("πŸ“ž RECONNECTING FOR REFRESH");const z=await u.connectUser(s);x(z),b(!0),g(null),d("βœ… CONNECTION REFRESH SUCCESS",{userId:s.id})}catch(z){const F=z instanceof Error?z.message:"Refresh failed";g(F),d("❌ CONNECTION REFRESH ERROR",{userId:s.id,error:F})}finally{p(!1),d("πŸ”„ CONNECTION REFRESH FINISHED",{userId:s.id})}}},[u,s,d,o]),E=h.useMemo(()=>(d("πŸ’« CONTEXT VALUE MEMOIZATION",{hasService:!!u,hasClient:!!m,isConnected:l,isLoading:j,hasError:!!v,capabilitiesKeys:Object.keys(r)}),{service:o?null:u,client:o??m,isConnected:o?!0:l,isLoading:o?!1:j,error:o?null:v,capabilities:r,refreshConnection:I,debug:i}),[u,m,o,l,j,v,r,I,i,d]);return d("πŸ”„ RENDER END",{renderCount:B.current,willRenderChat:!!k,contextValueReady:!!E}),t.jsx(Qt,{logger:c,children:t.jsx(es.Provider,{value:E,children:k?t.jsx(_.Chat,{client:k,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})})},ts=()=>Ye(),ss=e=>{var a,r;const[s,n]=h.useState(!!((r=(a=e==null?void 0:e.state)==null?void 0:a.membership)!=null&&r.pinned_at));return h.useEffect(()=>{var o;if(!e){n(!1);return}n(!!((o=e.state.membership)!=null&&o.pinned_at));const i=c=>{var d;n(c!=null&&c.member?!!c.member.pinned_at:!!((d=e.state.membership)!=null&&d.pinned_at))};return e.on("member.updated",i),()=>{e.off("member.updated",i)}},[e]),s};function We(e,s,n){const a=Object.values(e||{});if(K.isOfficialChannel(n)){const r=a.find(i=>{var o;return((o=i.user)==null?void 0:o.id)===K.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!==s})}const Xs=/^[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 ns(e){return Xs.test(e.trim())}function At(e,s){const n=e==null?void 0:e.trim();return!n||s&&n===s||s&&n===`Follower ${s}`?!1:!ns(n)}function qe(e){return At(e==null?void 0:e.name,e==null?void 0:e.id)?e.name.trim():At(e==null?void 0:e.username,e==null?void 0:e.id)?e.username.trim():"Unknown member"}const Lt=[{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 Ks(e){let s=0;for(let n=0;n<e.length;n++){const a=e.charCodeAt(n);s=(s<<5)-s+a,s=s&s}return Math.abs(s)}function as(e){return Lt[Ks(e)%Lt.length]}function Zs(e){return as(e).emoji}function Js(e){return as(e).bgColor}const ue=({id:e,image:s,size:n=40,className:a,starred:r=!1,shape:i="squircle",dmAgentEnabled:o=!1})=>{const c=Zs(e),d=Js(e),u=.45,m=n<32?Math.round(n*u):n<56?14:n<120?18:36,x=n>=40?2:1,l=i==="circle"?{borderRadius:"50%"}:{borderRadius:"1rem"},b=t.jsx("div",{className:"h-full w-full overflow-hidden",style:l,children:s?t.jsx("img",{src:s,alt:"",className:"h-full w-full object-cover"}):t.jsx("div",{"aria-hidden":"true",className:C("avatar-fallback flex h-full w-full items-center justify-center font-semibold select-none transition-colors"),style:{fontSize:m,lineHeight:1},children:c})});return t.jsxs("div",{className:C("relative flex-shrink-0",a),style:{"--str-chat__avatar-size":`${n}px`,width:`${n}px`,height:`${n}px`,backgroundColor:s?void 0:d,...l},children:[r&&t.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:t.jsx(S.StarIcon,{className:"size-3 text-yellow-600",weight:"duotone"})}),t.jsx("div",{"data-testid":"avatar-ring",className:C("h-full w-full","bg-transparent"),style:{...l,...o&&{borderWidth:`${x}px`,borderStyle:"solid",borderColor:"var(--AI-Gradient, #7F22FE)",boxShadow:"inset 0 1px 2px 0 rgba(255, 255, 255, 0.5)"}},children:b})]})},Qs="https://linktr.ee/s/about/trust-center/report",en=({channel:e,participant:s,showBlockParticipant:n=!0,enabled:a=!0,onLeaveConversation:r,onBlockParticipant:i,onDeleteConversationClick:o,onBlockParticipantClick:c,onReportParticipantClick:d,onActionComplete:u,logLabel:f="useChannelModerationActions"})=>{var A;const{service:m,debug:x}=Ye(),l=(A=s==null?void 0:s.user)==null?void 0:A.id,b=!!(a&&n&&m&&l),[j,p]=h.useState(!1),[v,g]=h.useState(null),[y,w]=h.useState(!1),[T,D]=h.useState(!1),M=b&&((v==null?void 0:v.participantId)!==l||(v==null?void 0:v.service)!==m);return h.useEffect(()=>{if(!b||!m||!l){p(!1),g(null);return}let I=!1;return(async()=>{try{const E=await m.getBlockedUsers();if(I)return;p(E.some(P=>P.blocked_user_id===l))}catch(E){I||console.error(`[${f}] Failed to check blocked status:`,E)}finally{I||g({participantId:l,service:m})}})(),()=>{I=!0}},[b,m,l,f]),{isParticipantBlocked:j,isCheckingBlockedStatus:M,isLeaving:y,isUpdatingBlockStatus:T,handleLeaveConversation:async()=>{var I;if(!y){o==null||o(),x&&console.log(`[${f}] Leave conversation`,e.cid),w(!0);try{const E=((I=e._client)==null?void 0:I.userID)??null;await e.hide(E,!1),r&&await r(e),u==null||u()}catch(E){console.error(`[${f}] Failed to leave conversation`,E)}finally{w(!1)}}},handleBlockUser:async()=>{var I,E,P;if(!(T||!m)){c==null||c(),x&&console.log(`[${f}] Block member`,(I=s==null?void 0:s.user)==null?void 0:I.id),D(!0);try{await m.blockUser((E=s==null?void 0:s.user)==null?void 0:E.id),i&&await i((P=s==null?void 0:s.user)==null?void 0:P.id),u==null||u()}catch(U){console.error(`[${f}] Failed to block member`,U)}finally{D(!1)}}},handleUnblockUser:async()=>{var I,E,P;if(!(T||!m)){c==null||c(),x&&console.log(`[${f}] Unblock member`,(I=s==null?void 0:s.user)==null?void 0:I.id),D(!0);try{await m.unBlockUser((E=s==null?void 0:s.user)==null?void 0:E.id),i&&await i((P=s==null?void 0:s.user)==null?void 0:P.id),u==null||u()}catch(U){console.error(`[${f}] Failed to unblock member`,U)}finally{D(!1)}}},handleReportUser:()=>{d==null||d(),u==null||u(),window.open(Qs,"_blank","noopener,noreferrer")}}},fe=({variant:e="default",className:s,children:n,...a})=>{const r=e==="danger";return t.jsx("button",{type:"button",className:C("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",s),...a,children:n})},tn=({channel:e,participant:s,showDeleteConversation:n=!0,showBlockParticipant:a=!0,showReportParticipant:r=!0,onLeaveConversation:i,onBlockParticipant:o,onDeleteConversationClick:c,onBlockParticipantClick:d,onReportParticipantClick:u,customChannelActions:f,triggerClassName:m})=>{const[x,l]=h.useState(!1),b=h.useRef(null),j=h.useId(),p=h.useCallback(()=>l(!1),[]),{isParticipantBlocked:v,isCheckingBlockedStatus:g,isLeaving:y,isUpdatingBlockStatus:w,handleLeaveConversation:T,handleBlockUser:D,handleUnblockUser:M,handleReportUser:O}=en({channel:e,participant:s,showBlockParticipant:a,enabled:x,onLeaveConversation:i,onBlockParticipant:o,onDeleteConversationClick:c,onBlockParticipantClick:d,onReportParticipantClick:u,onActionComplete:p,logLabel:"ChannelActionsMenu"});return h.useEffect(()=>{if(!x)return;const R=A=>{b.current&&!b.current.contains(A.target)&&l(!1)},k=A=>{A.key==="Escape"&&l(!1)};return document.addEventListener("mousedown",R),document.addEventListener("keydown",k),()=>{document.removeEventListener("mousedown",R),document.removeEventListener("keydown",k)}},[x]),!s||!(n||a||r||!!f)?null:t.jsxs("div",{ref:b,className:"relative",children:[t.jsxs("button",{className:m,type:"button","aria-haspopup":"true","aria-expanded":x,"aria-controls":x?j:void 0,onClick:()=>l(R=>!R),children:[t.jsx(S.DotsThreeIcon,{className:"size-5 text-black/90"}),t.jsx("span",{className:"sr-only",children:"More options"})]}),x&&t.jsx("div",{id:j,"aria-label":"Conversation options",className:C("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:t.jsxs("ul",{className:"flex flex-col gap-1",children:[n&&t.jsx("li",{children:t.jsxs(fe,{onClick:T,disabled:y,"aria-busy":y,children:[y?t.jsx(S.SpinnerGapIcon,{className:"h-5 w-5 animate-spin"}):t.jsx(S.SignOutIcon,{className:"h-5 w-5"}),t.jsx("span",{children:"Delete Conversation"})]})}),a&&t.jsx("li",{children:g?t.jsxs(fe,{disabled:!0,"aria-busy":!0,children:[t.jsx(S.SpinnerGapIcon,{className:"h-5 w-5 animate-spin"}),t.jsx("span",{children:"Block"})]}):v?t.jsxs(fe,{onClick:M,disabled:w,"aria-busy":w,children:[w?t.jsx(S.SpinnerGapIcon,{className:"h-5 w-5 animate-spin"}):t.jsx(S.ProhibitInsetIcon,{className:"h-5 w-5"}),t.jsx("span",{children:"Unblock"})]}):t.jsxs(fe,{onClick:D,disabled:w,"aria-busy":w,children:[w?t.jsx(S.SpinnerGapIcon,{className:"h-5 w-5 animate-spin"}):t.jsx(S.ProhibitInsetIcon,{className:"h-5 w-5"}),t.jsx("span",{children:"Block"})]})}),r&&t.jsx("li",{children:t.jsxs(fe,{variant:"danger",onClick:O,children:[t.jsx(S.FlagIcon,{className:"h-5 w-5"}),t.jsx("span",{children:"Report"})]})}),f]})})]})},$e="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",sn="CUSTOMER_PAID",nn=e=>typeof e=="string"&&e.trim().replace(/[\s-]+/g,"_").toUpperCase()===sn,an=({className:e,onBack:s,showBackButton:n,showStarButton:a=!1,onLeaveConversation:r,onBlockParticipant:i,showDeleteConversation:o=!0,showBlockParticipant:c=!0,showReportParticipant:d=!0,onDeleteConversationClick:u,onBlockParticipantClick:f,onReportParticipantClick:m,customChannelActions:x,renderChannelActions:l,showChannelInfo:b=!0,onParticipantNameClick:j})=>{var k,A,I,E;const{channel:p}=_.useChannelStateContext(),{client:v}=_.useChatContext(),g=h.useMemo(()=>{var P;return We((P=p.state)==null?void 0:P.members,v==null?void 0:v.userID,p.type)},[(k=p.state)==null?void 0:k.members,v==null?void 0:v.userID,p.type]),y=qe(g==null?void 0:g.user),w=(A=g==null?void 0:g.user)==null?void 0:A.image,T=ss(p),D=nn((I=p.data)==null?void 0:I.customer_tag)&&(g==null?void 0:g.is_follower)===!0,M=a&&T,O=D||M||!!j,B=async()=>{try{T?await p.unpin():await p.pin()}catch(P){console.error("[ChannelHeaderRedesign] Failed to update pinned status:",P)}},R=t.jsxs(t.Fragment,{children:[t.jsx(ue,{id:((E=g==null?void 0:g.user)==null?void 0:E.id)||p.id||"unknown",name:y,image:w,shape:"circle",size:48,className:"-mb-2"}),t.jsx("span",{className:C("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",O?"pl-3 pr-2":"px-3"),children:t.jsxs("span",{className:"flex max-w-full items-center justify-center",children:[t.jsx("span",{className:"min-w-0 truncate text-sm font-bold leading-[1.43] tracking-[0.28px] text-black/90",children:y}),O&&t.jsxs("span",{className:"ml-2 flex gap-1",children:[D&&t.jsx("span",{"aria-label":"Paid customer",className:"flex size-4 shrink-0 items-center justify-center rounded-full bg-[#34C759] text-white",children:t.jsx(S.CurrencyDollarIcon,{className:"size-2.5",weight:"bold"})}),M&&t.jsx("span",{className:"messaging-header-star-badge flex overflow-hidden",children:t.jsx("span",{"aria-label":"Starred conversation",className:"flex size-4 shrink-0 items-center justify-center rounded-full bg-[#FFD60A] text-white",children:t.jsx(S.StarIcon,{className:"size-2.5",weight:"fill"})})}),j&&t.jsx(S.CaretRightIcon,{"aria-hidden":"true",className:"size-4 shrink-0 text-black/65",weight:"bold"})]})]})})]});return t.jsx("div",{className:C("@container bg-[linear-gradient(180deg,#FBFAF9_0%,rgba(251,250,249,0.92)_58%,rgba(251,250,249,0)_100%)]",e),children:t.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:[t.jsx("div",{className:"flex items-start",children:n&&t.jsx("button",{className:C($e,"messaging-channel-view-back-button-mobile messaging-channel-view-back-button-desktop"),onClick:s||(()=>{}),type:"button","aria-label":"Back to conversations",children:t.jsx(S.ArrowLeftIcon,{className:"size-5 text-black/90"})})}),t.jsx("div",{className:"flex min-w-0 justify-center","data-dd-privacy":"mask",children:j?t.jsx("button",{type:"button",onClick:j,"aria-label":`View details for ${y}`,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}):t.jsx("div",{className:"flex min-w-0 max-w-full flex-col items-center px-2",children:R})}),t.jsxs("div",{className:"flex items-start justify-end gap-2",children:[a&&t.jsx("button",{className:$e,onClick:B,type:"button","aria-pressed":T,"aria-label":T?"Unstar conversation":"Star conversation",children:t.jsx(S.StarIcon,{className:C("size-5",{"text-[#FFD60A]":T,"text-black/90":!T}),weight:T?"fill":"regular"})}),b&&(l!==void 0?l:t.jsx(tn,{channel:p,participant:g,showDeleteConversation:o,showBlockParticipant:c,showReportParticipant:d,onLeaveConversation:r,onBlockParticipant:i,onDeleteConversationClick:u,onBlockParticipantClick:f,onReportParticipantClick:m,customChannelActions:x,triggerClassName:$e}))]})]})})},rn=e=>t.jsx(_.DateSeparator,{...e,position:"center"});function rs(e){return(e==null?void 0:e.trim().toLowerCase().split(/[-_]/)[0])||void 0}function Xe({message:e,viewerLanguage:s}){var r;const n=e==null?void 0:e.text,a=rs(s);return a?((r=e==null?void 0:e.i18n)==null?void 0:r[`${a}_text`])??n:n}const on=["linktr.ee"],Dt="messaging-attachment-v1_0";function ln(e){try{return new URL(e).hostname.toLowerCase()}catch{return null}}function cn(e){return on.some(s=>e===s||e.endsWith(`.${s}`))}function se(e){const s=e==null?void 0:e.trim();if(!s)return;const n=ln(s);if(!n||!cn(n))return s;const a=new URL(s);return a.searchParams.get("io")==="true"&&a.searchParams.get("size")===Dt?s:(a.searchParams.set("io","true"),a.searchParams.set("size",Dt),a.toString())}const dn=[[/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 ae(e){return e.startsWith("video/")?"video":e.startsWith("audio/")?"audio":e.startsWith("image/")?"image":"document"}function is(e){const s=dn.find(([n])=>n.test(e));return s?s[1]:"generic"}const un={video:S.VideoCameraIcon,audio:S.SpeakerHighIcon,image:S.ImageIcon,document:S.FileIcon},mn={pdf:S.FilePdfIcon,doc:S.FileDocIcon,xls:S.FileXlsIcon,csv:S.FileCsvIcon,ppt:S.FilePptIcon,zip:S.FileZipIcon,text:S.FileTextIcon,markdown:S.FileMdIcon,generic:S.FileIcon};function hn(e){const s=ae(e);return s!=="document"?un[s]:mn[is(e)]}function de(e,s){return h.createElement(hn(e),s)}const fn=e=>{var s,n;return"touches"in e?((s=e.touches[0])==null?void 0:s.clientX)??((n=e.changedTouches[0])==null?void 0:n.clientX)??0:e.clientX},xn=({source:e,mimeType:s,poster:n,autoPlay:a=!1,playing:r,loop:i=!1,controls:o=!0,showProgress:c=!1,muted:d=!1,onContainerClick:u})=>{const f=ae(s),m=h.useRef(null),x=h.useRef(null),l=h.useRef(null),b=h.useRef(r),[j,p]=h.useState(a),[v,g]=h.useState(0),[y,w]=h.useState(!1),[T,D]=h.useState(!1),[M,O]=h.useState(!1),[B,R]=h.useState(!1),[k,A]=h.useState(!0),[I,E]=h.useState(null),P=h.useCallback(()=>{O(!1),p(!0)},[]),U=h.useCallback(N=>{const L=x.current;if(!L)return 0;const Y=L.getBoundingClientRect();return Math.max(0,Math.min(1,(fn(N)-Y.left)/Y.width))},[]),z=h.useCallback(N=>{const L=m.current;L&&L.duration&&(L.currentTime=N*L.duration)},[]),F=N=>{N.stopPropagation(),w(!0);const L=U(N);g(L),z(L)},q=h.useCallback(N=>{N.key==="ArrowRight"&&z(Math.min(1,v+.05)),N.key==="ArrowLeft"&&z(Math.max(0,v-.05))},[z,v]);h.useEffect(()=>{r!==void 0&&r!==b.current&&(b.current=r,p(r))},[r]),h.useEffect(()=>{if(!j){l.current!==null&&(cancelAnimationFrame(l.current),l.current=null);return}const N=()=>{const L=m.current;L&&L.duration&&!y&&g(L.currentTime/L.duration),l.current=requestAnimationFrame(N)};return l.current=requestAnimationFrame(N),()=>{l.current!==null&&cancelAnimationFrame(l.current)}},[j,y]),h.useEffect(()=>{const N=m.current;N&&(j?N.play().catch(L=>{p(!1),O(!0)}):N.pause())},[j]),h.useEffect(()=>{if(!y)return;const N=Y=>g(U(Y)),L=Y=>{w(!1),z(U(Y))};return window.addEventListener("mousemove",N),window.addEventListener("mouseup",L),window.addEventListener("touchmove",N,{passive:!0}),window.addEventListener("touchend",L),()=>{window.removeEventListener("mousemove",N),window.removeEventListener("mouseup",L),window.removeEventListener("touchmove",N),window.removeEventListener("touchend",L)}},[y,U,z]);const V=I?{aspectRatio:String(I)}:void 0,X=I?"":" aspect-video",G=Math.round(v*100);return t.jsxs("div",{role:"button",tabIndex:0,className:`relative cursor-pointer overflow-hidden bg-black ${X}`,style:V,onClick:N=>{if(u){u(N);return}M||o&&p(L=>!L)},onKeyDown:N=>{if(!(N.key!=="Enter"&&N.key!==" ")){if(N.preventDefault(),u){u(N);return}M||o&&p(L=>!L)}},children:[n&&(f==="audio"||k)&&t.jsx("img",{src:n,alt:"",className:"absolute inset-0 h-full w-full object-cover"}),!n&&(f==="audio"||k)&&t.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:de(s,{className:"size-12 text-black/20",weight:"regular"})}),t.jsx("div",{className:"absolute inset-0",children:f==="audio"?t.jsx("audio",{ref:m,src:e,loop:i,muted:d,style:{width:"100%",height:"100%"},onLoadStart:()=>R(!0),onCanPlay:()=>{R(!1),A(!1)},onWaiting:()=>R(!0),onPlay:()=>O(!1),onEnded:()=>{i||(p(!1),g(0))},children:t.jsx("track",{kind:"captions"})}):t.jsx("video",{ref:m,src:e,loop:i,muted:d,playsInline:!0,style:{width:"100%",height:"100%"},onLoadStart:()=>R(!0),onCanPlay:()=>{R(!1),A(!1)},onWaiting:()=>R(!0),onPlay:()=>O(!1),onLoadedMetadata:()=>{const N=m.current;N instanceof HTMLVideoElement&&N.videoWidth&&N.videoHeight&&E(N.videoWidth/N.videoHeight)},onEnded:()=>{i||(p(!1),g(0))},children:t.jsx("track",{kind:"captions"})})}),B&&!M&&t.jsx("div",{className:"absolute inset-0 z-10 flex items-center justify-center",children:t.jsx(S.CircleNotchIcon,{className:"size-8 animate-spin text-white/80",weight:"bold"})}),M&&!o&&t.jsx("div",{className:"absolute inset-0 z-30 flex cursor-pointer items-center justify-center bg-black/35",role:"button",tabIndex:0,"aria-label":"Play preview",onClick:N=>{N.stopPropagation(),P()},onKeyDown:N=>{N.key!=="Enter"&&N.key!==" "||(N.preventDefault(),N.stopPropagation(),P())},children:t.jsx("span",{className:"flex size-16 items-center justify-center rounded-full bg-white/20 text-white backdrop-blur-sm",children:t.jsx(S.PlayIcon,{className:"size-9 translate-x-0.5",weight:"fill"})})}),c&&!o&&t.jsx("div",{className:"absolute inset-x-0 bottom-0 px-3 pb-2.5 pt-6 bg-gradient-to-t from-black/40 to-transparent",children:t.jsx("div",{role:"slider","aria-label":"Playback position","aria-valuenow":G,"aria-valuemin":0,"aria-valuemax":100,tabIndex:0,ref:x,className:"relative flex h-4 w-full cursor-pointer items-center",onMouseDown:F,onTouchStart:F,onClick:N=>N.stopPropagation(),onKeyDown:q,children:t.jsx("div",{className:"w-full overflow-hidden rounded-full bg-white/30 h-1",children:t.jsx("div",{className:"h-full rounded-full bg-white",style:{width:`${G}%`}})})})}),o&&t.jsxs("div",{className:"absolute inset-x-0 bottom-0 flex items-center gap-2 bg-gradient-to-t from-black/60 to-transparent px-3 pb-2.5 pt-6 transition-all duration-200",children:[t.jsx("button",{type:"button",onClick:N=>{N.stopPropagation(),p(L=>!L)},className:"shrink-0 text-white","aria-label":j?"Pause":"Play",children:j?t.jsx(S.PauseIcon,{className:"size-5",weight:"fill"}):t.jsx(S.PlayIcon,{className:"size-5 translate-x-px",weight:"fill"})}),t.jsxs("div",{role:"slider","aria-label":"Playback position","aria-valuenow":G,"aria-valuemin":0,"aria-valuemax":100,tabIndex:0,ref:x,className:"relative flex h-4 w-full cursor-pointer items-center",onMouseDown:F,onTouchStart:F,onClick:N=>N.stopPropagation(),onMouseEnter:()=>D(!0),onMouseLeave:()=>D(!1),onKeyDown:q,children:[t.jsx("div",{className:`w-full overflow-hidden rounded-full bg-white/30 transition-all duration-200 ${T||y?"h-1.5":"h-1"}`,children:t.jsx("div",{className:"h-full rounded-full bg-white",style:{width:`${G}%`}})}),t.jsx("div",{className:`absolute size-3 -translate-x-1/2 rounded-full bg-white shadow transition-[opacity,transform] duration-200 ${T||y?"scale-100 opacity-100":"scale-0 opacity-0"}`,style:{left:`${G}%`}})]})]})]})},Ot=e=>e==="dark"?"size-12 text-white/20":"size-12 text-black/20",gn=e=>e==="dark"?"aspect-video overflow-hidden bg-white/10":"aspect-video overflow-hidden bg-black/5",Ke=({mimeType:e,sourceUrl:s,thumbnailUrl:n,title:a,variant:r,mediaPlayerProps:i,containedImage:o=!1})=>{const c=ae(e),[d,u]=h.useState(!1),f=se(s),m=se(n);return s&&(c==="video"||c==="audio")?t.jsx(xn,{source:s,mimeType:e,poster:m,controls:!0,...i}):s&&c==="image"?o?t.jsx("div",{className:"relative aspect-video overflow-hidden bg-black/5",children:t.jsx("img",{src:f??s,alt:a??"",className:`absolute inset-0 h-full w-full object-contain transition-opacity duration-300 ${d?"opacity-100":"opacity-0"}`,draggable:!1,onLoad:()=>u(!0)})}):t.jsx("img",{src:f??s,alt:a??"",className:"block w-full",draggable:!1}):s&&c==="document"?n?o?t.jsx("div",{className:"relative aspect-video overflow-hidden bg-black/5",children:t.jsx("img",{src:m??n,alt:a??"",className:`absolute inset-0 h-full w-full object-contain transition-opacity duration-300 ${d?"opacity-100":"opacity-0"}`,draggable:!1,onLoad:()=>u(!0)})}):t.jsx("img",{src:m??n,alt:"",className:"block w-full",draggable:!1}):t.jsx("div",{className:`flex aspect-video w-full items-center justify-center ${r==="dark"?"bg-white/10":"bg-black/5"}`,children:de(e,{className:Ot(r),weight:"regular"})}):n?t.jsx("div",{className:`relative ${gn(r)}`,children:t.jsx("img",{src:m??n,alt:a??"",draggable:!1,className:"absolute inset-0 h-full w-full object-cover"})}):t.jsx("div",{className:`flex aspect-video w-full items-center justify-center ${r==="dark"?"bg-white/10":"bg-black/5"}`,children:de(e,{className:Ot(r),weight:"regular"})})},os=({variant:e,thumbnail:s,title:n,placeholderTitle:a="Attachment title",mimeType:r,detail:i,statusBadge:o,action:c,topLeft:d,topRight:u,rootRef:f,"data-testid":m})=>{const x=e==="dark",l=x?n??a:n??"",b=x&&!n;return t.jsxs("div",{ref:f,"data-testid":m,className:C("relative w-[280px] select-none overflow-hidden rounded-[24px] shadow-[0_0_0_1px_rgba(0,0,0,0.04),0_4px_8px_rgba(0,0,0,0.06)]",x?"bg-[#1e2330]":"bg-white"),children:[d?t.jsx("div",{className:"pointer-events-auto absolute left-3 top-3 z-50",children:d}):null,u?t.jsx("div",{className:"pointer-events-auto absolute right-3 top-3 z-50",children:u}):null,s,t.jsxs("div",{className:"px-4 pb-3 pt-3",children:[l.trim()!==""&&t.jsx("p",{className:C("mb-0.5 truncate text-base font-medium",{"text-black":!x,"text-white/30":x&&b,"text-white":x&&!b}),children:l}),t.jsxs("div",{className:"flex flex-wrap items-center gap-1",children:[de(r,{className:C("size-5 shrink-0",x?"text-white/55":"text-black/55"),weight:"regular"}),i!=null&&i!==""&&t.jsx("span",{className:C("text-xs font-medium",x?"text-white/55":"text-black/55"),children:i}),o]}),c]})]})};function ls(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function Ze(e){return`w-[280px] select-none overflow-hidden rounded-[24px] ${e?"bg-[#1e2330]":"bg-[#F3F3F1]"} shadow-[0_0_0_1px_rgba(0,0,0,0.04),0_4px_8px_rgba(0,0,0,0.06)]`}function pn(e){return e?"bg-white/10":"bg-black/5"}function bn(e){return e?"text-white":"text-black"}function vn(e){return e?"text-white/55":"text-black/55"}function jn(e){return e?"text-white/40":"text-black/40"}function wn(e){return e?"text-white/20":"text-black/20"}const Je=({attachment:e,isMyMessage:s})=>{const{title:n,text:a,image_url:r,og_scrape_url:i,title_link:o}=e,c=i??o,d=typeof c=="string"&&c.trim()!==""?c:void 0,u=t.jsxs(h.Fragment,{children:[t.jsx("div",{className:"p-2",children:r?t.jsx("img",{src:se(r)??r,alt:n??"",className:"aspect-video w-full rounded-[20px] object-cover"}):t.jsx("div",{className:`aspect-video w-full rounded-[20px] ${pn(s)} flex items-center justify-center`,children:t.jsx(S.LinkIcon,{className:`size-12 ${wn(s)}`})})}),t.jsxs("div",{className:"px-3 pb-3",children:[n&&t.jsx("p",{className:`truncate text-[14px] font-medium leading-5 ${bn(s)}`,children:n}),a&&t.jsx("p",{className:`truncate text-[12px] leading-4 ${vn(s)}`,children:a}),d&&t.jsx("p",{className:`mt-1 truncate text-[12px] leading-4 ${jn(s)}`,children:d})]})]});return d?t.jsx("a",{href:d,target:"_blank",rel:"noopener noreferrer",className:"block no-underline",children:u}):t.jsx("div",{className:"block",children:u})};function _e(e){var s;return e.type==="link"||!!((s=e.og_scrape_url)!=null&&s.trim())&&!e.asset_url}function Oe(e){var s;return(s=e.attachments)==null?void 0:s.find(_e)}async function _n(e,s){let n;try{n=s??new URL(e).pathname.split("/").pop()??"download"}catch{n=s??"download"}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),o=document.createElement("a");o.href=i,o.download=n,o.style.display="none",document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(i)}const yn=({url:e,filename:s})=>{const[n,a]=h.useState(!1),r=i=>{i.stopPropagation();const o=window.open("","_blank","noopener,noreferrer");a(!0),_n(e,s).then(()=>{o==null||o.close()}).catch(()=>{o&&(o.location.href=e)}).finally(()=>a(!1))};return t.jsx("button",{type:"button",onClick:r,disabled:n,className:"mt-3 inline-flex h-10 w-full items-center justify-center gap-2 rounded-full bg-[#121110] px-4 text-sm font-medium leading-none text-white hover:bg-[#2a2928] disabled:opacity-70",children:n?t.jsx(S.CircleNotchIcon,{className:"size-4 animate-spin text-white",weight:"bold"}):t.jsxs(h.Fragment,{children:[t.jsx(S.DownloadSimpleIcon,{className:"size-4 text-white",weight:"bold"}),"Download"]})})};function Pe(e){var m,x,l,b;const s=(m=e.attachments)==null?void 0:m.find(j=>j.type==="video"&&j.asset_url),n=(x=e.attachments)==null?void 0:x.find(j=>j.type==="image"&&j.image_url),a=(l=e.attachments)==null?void 0:l.find(j=>j.type==="audio"&&j.asset_url),r=(b=e.attachments)==null?void 0:b.find(j=>j.type==="file"&&j.asset_url),i=s??n??a??r,o=(s==null?void 0:s.asset_url)??(n==null?void 0:n.image_url)??(a==null?void 0:a.asset_url)??(r==null?void 0:r.asset_url);if(!o)return null;const c=(i==null?void 0:i.mime_type)??((i==null?void 0:i.type)==="image"?"image/jpeg":(i==null?void 0:i.type)==="video"?"video/mp4":(i==null?void 0:i.type)==="audio"?"audio/mpeg":"application/octet-stream"),d=i==null?void 0:i.title,u=i==null?void 0:i.file_size,f=s==null?void 0:s.thumb_url;return{resolvedUrl:o,resolvedType:c,title:d,fileSize:u,thumbnailUrl:f}}const cs=({resolvedUrl:e,resolvedType:s,title:n,fileSize:a,thumbnailUrl:r})=>{const i=a!==void 0?ls(a):void 0;return t.jsx(os,{variant:"dark",title:n,placeholderTitle:"",mimeType:s,detail:i,thumbnail:t.jsx(Ke,{mimeType:s,sourceUrl:e,thumbnailUrl:r,title:n,variant:"dark"})})},ds=({resolvedUrl:e,resolvedType:s,title:n,fileSize:a,thumbnailUrl:r})=>{const i=ae(s),o=a!==void 0?ls(a):void 0;return t.jsx(os,{variant:"light",title:n,mimeType:s,detail:o,thumbnail:t.jsx(Ke,{mimeType:s,sourceUrl:e,thumbnailUrl:r,title:n,variant:"light",containedImage:i==="image"||i==="document"}),action:t.jsx(yn,{url:e,filename:n})})},Nn=({message:e,isMyMessage:s=!1})=>{const n=Oe(e),a=Pe(e);if(!n&&!a)return null;const r=s?"str-chat__message str-chat__message-simple str-chat__message--me str-chat__message-simple--me":"str-chat__message str-chat__message-simple str-chat__message--other";return t.jsxs("div",{className:r,"data-dd-privacy":"mask",children:[!s&&e.user&&t.jsx(ue,{className:"str-chat__avatar str-chat__message-sender-avatar",id:e.user.id,image:e.user.image,name:e.user.name??e.user.id}),t.jsx("div",{className:"str-chat__message-inner",style:{marginInlineEnd:0,marginInlineStart:0},children:t.jsx("div",{className:"str-chat__message-bubble-wrapper",children:t.jsx("div",{className:"str-chat__message-bubble","data-attachment-bubble":"true",style:{padding:0,borderRadius:0,overflow:"visible",background:"transparent"},children:n?t.jsx("div",{className:Ze(s),children:t.jsx(Je,{attachment:n,isMyMessage:s})}):s?t.jsx(cs,{...a}):t.jsx(ds,{...a})})})})]})},Cn=({message:e})=>{const s=Oe(e);if(s)return t.jsx("div",{className:Ze(!0),"data-dd-privacy":"mask",children:t.jsx(Je,{attachment:s,isMyMessage:!0})});const n=Pe(e);return n?t.jsx("div",{style:{display:"contents"},"data-dd-privacy":"mask",children:t.jsx(cs,{...n})}):null},Sn=({message:e})=>{const s=Oe(e);if(s)return t.jsx("div",{className:Ze(!1),"data-dd-privacy":"mask",children:t.jsx(Je,{attachment:s,isMyMessage:!1})});const n=Pe(e);return n?t.jsx("div",{style:{display:"contents"},"data-dd-privacy":"mask",children:t.jsx(ds,{...n})}):null},kn=Object.assign(Nn,{Creator:Cn,Visitor:Sn}),En={isUnlocking:()=>!1},In={LockedAttachment:En},us=h.createContext({}),Tn=us.Provider;function ms(e){return h.useContext(us)[e]??In[e]}const Mn=h.lazy(()=>Promise.resolve().then(()=>require("./Card-Be81K6su.cjs"))),Rn=h.lazy(()=>Promise.resolve().then(()=>require("./Card-BplJtZao.cjs"))),An=()=>t.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}),be=e=>t.jsx(h.Suspense,{fallback:t.jsx(An,{}),children:e.contentType==="text"?t.jsx(Mn,{...e}):t.jsx(Rn,{...e})}),Ln=({size:e=15})=>t.jsx("svg",{width:e,height:e,viewBox:"0 0 15 15",fill:"none","aria-hidden":"true",children:t.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})}),hs=e=>{var s;return((s=e.metadata)==null?void 0:s.custom_type)===K.MESSAGE_CUSTOM_TYPE.PAID},Me=e=>{var s;return((s=e.metadata)==null?void 0:s.custom_type)===K.MESSAGE_CUSTOM_TYPE.CHATBOT},Qe=e=>{var s;return((s=e.metadata)==null?void 0:s.custom_type)===K.MESSAGE_CUSTOM_TYPE.ATTACHMENT},Dn=e=>{var s;return Qe(e)&&((s=e.metadata)==null?void 0:s.attachment_content_type)==="text"},On=e=>{var s;return Qe(e)&&((s=e.metadata)==null?void 0:s.attachment_content_type)!=="text"},Pn=e=>{var s;return hs(e)&&!!((s=e.metadata)!=null&&s.amount_text)},Pt=({message:e,isMyMessage:s=!1,hasAttachment:n=!1})=>{var m;const a=hs(e),r=Me(e);if(!a&&!r)return null;if(a){const x=(m=e.metadata)==null?void 0:m.amount_text;return x?t.jsxs("div",{className:"message-tag--paid inline-flex items-center gap-1 text-[12px] font-medium leading-[2] text-[#016630]",children:[t.jsx(S.GiftIcon,{size:12}),t.jsxs("span",{children:["Delivered with ",x," message"]})]}):null}const i=s&&n,o=i?"Sent with AI":"Sent by AI Assistant",c="inline-flex items-center text-[10px] font-normal leading-4 tracking-[0.2px]",d=i?"justify-end gap-2 text-black/30":s?"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=t.jsx("span",{className:"text-left",children:o}),f=t.jsx("span",{className:"inline-flex items-center leading-none",children:t.jsx(Ln,{size:i?12:15})});return t.jsx("div",{className:`${c} ${d}`,"data-testid":"message-chatbot-indicator",children:s&&!i?t.jsxs(t.Fragment,{children:[u,f]}):t.jsxs(t.Fragment,{children:[f,u]})})},Ft=`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%`,Fn={me:"var(--str-chat__own-message-bubble-background-color, #1e2330)",other:"var(--str-chat__message-bubble-background-color, #f1f0ee)"},Re=({side:e})=>t.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:Fn[e],WebkitMask:Ft,mask:Ft}}),fs=h.createContext(void 0),zn=e=>{var n;const s=(n=e.metadata)==null?void 0:n.outbound_id;return typeof s=="string"?s:void 0},Bn=(e,s)=>{if(!s||!(e!=null&&e.length))return;const n=new Set;let a;for(const r of e){const i=zn(r);if(!i||n.has(i))continue;n.add(i);const o=s(i);o&&(a??(a={}),a[i]={id:o.id,...o.name!==void 0?{name:o.name}:{}})}return a},$n=(e,s)=>{if(e===s)return!0;if(!e||!s)return!1;const n=Object.keys(e),a=Object.keys(s);return n.length!==a.length?!1:n.every(r=>{var i,o;return e[r].id===((i=s[r])==null?void 0:i.id)&&e[r].name===((o=s[r])==null?void 0:o.name)})},Un=(e,s)=>{const n=Bn(e,s),[a,r]=h.useState(n);return $n(a,n)?a:(r(n),n)},et=e=>{var s;return((s=e.metadata)==null?void 0:s.custom_type)===K.MESSAGE_CUSTOM_TYPE.TIP},xs=({message:e})=>{var n;const s=(n=e.metadata)==null?void 0:n.amount_text;return s?t.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:[t.jsx("span",{className:"flex h-5 items-center text-[20px] leading-none","aria-hidden":"true",children:"🎁"}),t.jsxs("span",{className:"text-[14px] font-bold leading-[1.43] tracking-[0.28px] text-[rgba(4,4,3,0.9)]",children:[s," tip!"]})]}):null},tt=()=>{const{message:e}=_.useMessageContext("SentMessageDeliveryStatus"),{messages:s}=_.useChannelStateContext("SentMessageDeliveryStatus"),n=(()=>{if(s)for(let a=s.length-1;a>=0;a-=1){const r=s[a];if(!(r.type==="system"||r.type==="ephemeral"||r.type==="deleted"))return r.id}})();return e.id===n},Ie=()=>tt()?t.jsxs(t.Fragment,{children:[t.jsx(S.ChecksIcon,{weight:"bold","aria-hidden":"true"}),t.jsx("span",{"data-testid":"sent-message-delivery-status",children:"Delivered"})]}):null,Hn=()=>tt()?t.jsxs(t.Fragment,{children:[t.jsx(S.CircleNotchIcon,{className:"sent-message-status__spinner animate-spin",weight:"bold","aria-hidden":"true"}),t.jsx("span",{"data-testid":"sent-message-sending-status",children:"Sending"})]}):null,Vn=({outbound:e,onOutboundClick:s})=>{const n=e.name||"Broadcast",a=!!s,r=t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"sent-message-outbound-badge","aria-hidden":"true",children:t.jsx(S.MegaphoneIcon,{weight:"fill"})}),t.jsx("span",{className:C("sent-message-outbound-name",{"underline [text-decoration-skip-ink:auto]":a}),"data-testid":"sent-message-outbound-status",children:n})]});return s?t.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:()=>s(e),children:r}):r},Gn=()=>t.jsxs("span",{className:"str-chat__message-status sent-message-status--failed",children:[t.jsx(S.WarningCircleIcon,{weight:"bold","aria-hidden":"true"}),t.jsx("span",{"data-testid":"sent-message-failed-status",children:"Failed to send"})]}),Yn=({onOutboundClick:e,resolvedOutbound:s})=>{var f;const{isMyMessage:n,message:a,threadList:r}=_.useMessageContext("SentMessageDeliveryStatus"),i=n(),o=tt();if(r)return null;if(a.status==="failed"&&i&&a.type!=="error")return t.jsx(Gn,{});if(!i)return null;const c=(f=a.metadata)==null?void 0:f.outbound_id,d=a.status!=="sending"&&a.status!=="failed"&&c&&s?t.jsx(Vn,{outbound:s,onOutboundClick:e}):null,u=Pn(a)?null:t.jsx(_.MessageStatus,{MessageSentStatus:Ie,MessageDeliveredStatus:Ie,MessageReadStatus:Ie,MessageSendingStatus:et(a)?Ie:Hn});return d?t.jsxs("span",{className:"sent-message-status-row",children:[u,u&&o&&t.jsx("span",{className:"sent-message-outbound-separator","aria-hidden":"true",children:"β€’"}),d]}):u},Wn=/^([a-z][a-z0-9+.-]*):/i,qn=new Set(["http","https","mailto","tel","sms"]);function st(e){if(typeof e!="string")return;const s=e.trim();if(s==="")return;const n=Wn.exec(s);if(n){const a=n[1].toLowerCase();return qn.has(a)?s:void 0}return s.startsWith("//")||s.startsWith("/")?s:`https://${s}`}const Xn={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"}},gs=({variant:e,cta:s,fullWidth:n=!0,standalone:a=!1})=>{const r=s.variant??"primary",i=C("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",Xn[e][r]),o=n?s.label:t.jsx("span",{className:"min-w-0 truncate",children:s.label}),c=st(s.href);return c?t.jsx("a",{href:c,target:"_blank",rel:"noopener noreferrer",onClick:d=>{var u;d.stopPropagation(),(u=s.onClick)==null||u.call(s)},className:`${i} no-underline`,children:o}):t.jsx("button",{type:"button",onClick:d=>{var u;d.stopPropagation(),(u=s.onClick)==null||u.call(s)},className:i,children:o})},Kn={dark:"text-white",light:"text-black/90"},Zn="text-white/30",zt={dark:"text-white/55",light:"text-black/55"},Jn={dark:"bg-white/25",light:"bg-black/15"},nt=({variant:e,ctaSurface:s,chinTextColor:n,title:a,placeholderTitle:r,description:i,descriptionLines:o=1,url:c,appIcon:d,cta:u,trailingAction:f,isLoading:m=!1})=>{const x=e==="dark",l=a??(x?r:void 0)??"",b=l.trim()!=="",j=i!=null&&i.trim()!=="",p=typeof c=="string"?c.trim():"",v=p!=="",g=u!=null;if(!m&&!b&&!j&&!v&&!g)return null;const y=x&&!a,w=C("line-clamp-2 text-[14px] font-medium leading-5 tracking-[0.28px]",n==null&&(y?Zn:Kn[e])),T=C("truncate text-[12px] leading-4 tracking-[0.24px]",n==null&&zt[e]),D=C("text-[12px] leading-4 tracking-[0.24px]",o<=1&&"truncate",n==null&&zt[e]);if(m){const B=C("animate-pulse rounded",Jn[e]);return t.jsx("div",{className:"shrink-0 px-4 py-3",children:t.jsxs("div",{className:"flex min-w-0 flex-col gap-[2px]",children:[t.jsx("div",{className:C("h-5 w-3/4",B),"aria-hidden":!0}),t.jsx("div",{className:C("h-4 w-1/2",B),"aria-hidden":!0})]})})}const M=n?{color:n}:void 0,O=o>1?{...M,display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:o,overflow:"hidden"}:M;return t.jsxs("div",{className:"shrink-0 px-4 py-3",children:[t.jsxs("div",{className:"flex items-end gap-3",children:[t.jsxs("div",{className:"flex min-w-0 flex-1 flex-col gap-[2px]",children:[b&&t.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[d?t.jsx("span",{className:"shrink-0",children:d}):null,t.jsx("p",{className:C("min-w-0",w),style:M,children:l})]}),j&&t.jsx("p",{className:D,style:O,children:i}),!g&&v&&t.jsx("p",{className:T,style:M,"data-testid":"link-attachment-url",children:p})]}),f&&t.jsx("div",{className:"shrink-0",children:f})]}),u&&t.jsx(gs,{variant:s??e,cta:u})]})},Qn="Loading link preview",ea=C("relative w-[var(--lt-msg-card-width,290px)] max-w-full select-none overflow-hidden","rounded-[20px]"),ta="flex h-[250px] flex-col",je=({variant:e,children:s,href:n,onClick:a,ariaLabel:r,rootRef:i,topRight:o,bgClassName:c,accentHex:d,fixedHeight:u=!1,busy:f=!1,"data-testid":m})=>{const x=n!=null||a!=null,l=C("messaging-link-card",ea,u?ta:"block",c??(e==="dark"?"bg-[#1e2330]":"bg-[#f1f0ee]"),x?"cursor-pointer no-underline focus-ring":null),b=f?{role:"status","aria-busy":!0,"aria-label":Qn}:void 0,j=d?{"--accent":d}:void 0,p=o?t.jsx("div",{className:"pointer-events-auto absolute right-3 top-3 z-10",children:o}):null;return n?t.jsxs("a",{ref:i,href:n,target:"_blank",rel:"noopener noreferrer",onClick:a,"data-testid":m,"data-variant":e,className:l,style:j,...b,children:[s,p]}):a?t.jsxs("button",{ref:i,type:"button",onClick:a,"aria-label":r,"data-testid":m,"data-variant":e,className:C(l,"text-left"),style:j,...b,children:[s,p]}):t.jsxs("div",{ref:i,"data-testid":m,"data-variant":e,className:l,style:j,...b,children:[s,p]})},Bt={dark:"bg-white/10",light:"bg-black/5"},sa={dark:"size-16 text-white/25",light:"size-16 text-black/25"},ye=(e,s)=>!!s&&!!e&&ae(e)==="audio",at=(e,s)=>{if(!s||!e)return!1;const n=ae(e);return n==="video"||n==="audio"},rt="bg-[#F2F3F4]",we=({variant:e,thumbnailUrl:s,sourceUrl:n,title:a,mimeType:r="image/*",topLeft:i,topRight:o,isLoading:c=!1,onImageError:d})=>{const u=ae(r),f=!!n&&u==="video",m=se(s);return!c&&ye(r,n)?t.jsx("div",{className:"p-3",children:t.jsx("audio",{src:n,controls:!0,preload:"metadata",className:"block w-full",children:t.jsx("track",{kind:"captions"})})}):t.jsxs("div",{className:C("relative min-h-0 w-full flex-1 overflow-hidden",f&&"bg-black"),children:[c?t.jsx("div",{className:C("h-full w-full animate-pulse",Bt[e]),"aria-hidden":!0}):f?t.jsxs(t.Fragment,{children:[t.jsx("video",{src:n,poster:m,controls:!0,playsInline:!0,preload:"metadata",className:"absolute inset-0 h-full w-full object-contain",children:t.jsx("track",{kind:"captions"})}),m&&d?t.jsx("img",{src:m,alt:"","aria-hidden":!0,onError:d,className:"hidden"}):null]}):s?t.jsx("img",{src:m??s,alt:a??"",draggable:!1,loading:"lazy",decoding:"async",onError:d,className:"absolute inset-0 h-full w-full object-cover"}):t.jsx("div",{className:C("flex h-full w-full items-center justify-center",Bt[e]),children:de(r,{className:sa[e],weight:"regular"})}),i?t.jsx("div",{className:"pointer-events-auto absolute left-3 top-3 z-10",children:i}):null,o?t.jsx("div",{className:"pointer-events-auto absolute right-3 top-3 z-10",children:o}):null]})},na=/^#?(?:[0-9a-f]{3}|[0-9a-f]{6})$/i;function aa(e){const s=e.trim();return s.startsWith("#")?s:`#${s}`}const ra="#FFFFFF",ps="#040403",ia={dark:ra,light:ps};function Fe({variant:e,accentColor:s,status:n="ready",layout:a="featured",thumbnailUrl:r,mimeType:i,sourceUrl:o}){const[c,d]=h.useState(!1);h.useEffect(()=>{d(!1)},[r]);const u=h.useCallback(()=>{d(!0)},[]),f=ye(i,o),l=a==="featured"&&!!r&&!f&&!c&&n==="ready"&&s!=null&&na.test(s.trim())?aa(s):void 0,b=f?ps:ia[e];return{thumbnailUrl:c?void 0:r,accentHex:l,chinTextColor:b,surface:f?"light":e,isLoading:n==="loading",onImageError:u}}const oa="flex size-6 items-center justify-center rounded-full bg-[#121110] text-white focus-ring",la="relative before:absolute before:-inset-[10px] before:content-['']",ca=({title:e,placeholderTitle:s,description:n,descriptionLines:a,url:r,mimeType:i,thumbnailUrl:o,sourceUrl:c,layout:d="featured",appIcon:u,cta:f,accentColor:m,status:x="ready",onDismiss:l,onEditClick:b,dismissLabel:j="Dismiss attachment"})=>{const p=d==="classic",v=ye(i,c),g=Fe({variant:"dark",accentColor:m,status:x,layout:d,thumbnailUrl:o,mimeType:i,sourceUrl:c}),y=l?t.jsx("button",{type:"button",onClick:l,"aria-label":j,className:C(oa,!v&&la),children:t.jsx(S.XIcon,{className:"size-3",weight:"bold"})}):void 0,w=b?t.jsx("button",{type:"button",onClick:b,"aria-label":"Edit attachment",className:"flex size-10 items-center justify-center rounded-full bg-white/10 text-white hover:bg-white/15",children:t.jsx(S.PencilSimpleIcon,{className:"size-5",weight:"regular"})}):void 0;return v&&!g.isLoading?t.jsx(je,{variant:"dark",bgClassName:rt,children:t.jsxs("div",{className:"flex items-center gap-2 pr-3",children:[t.jsx("div",{className:"min-w-0 flex-1",children:t.jsx(we,{variant:"dark",sourceUrl:c,title:e,mimeType:i})}),y&&t.jsx("div",{className:"shrink-0",children:y})]})}):t.jsxs(je,{variant:"dark",fixedHeight:!p,accentHex:g.accentHex,busy:g.isLoading,topRight:p?y:void 0,children:[!p&&t.jsx(we,{variant:"dark",thumbnailUrl:g.thumbnailUrl,sourceUrl:c,title:e,mimeType:i,topRight:y,isLoading:g.isLoading,onImageError:g.onImageError}),t.jsx(nt,{chinTextColor:g.chinTextColor,variant:"dark",ctaSurface:g.surface,title:e,placeholderTitle:s,description:n,descriptionLines:a,url:r,appIcon:u,cta:f,trailingAction:w,isLoading:g.isLoading})]})},it=({accentHex:e,side:s,visible:n,children:a})=>{if(!n)return t.jsx(t.Fragment,{children:a});const r=s==="sender"?"dark":"light",i=e?{"--accent":e}:void 0;return t.jsxs("div",{className:"relative isolate w-fit",children:[a,t.jsx("span",{"aria-hidden":!0,"data-testid":"link-card-tail","data-variant":r,style:i,className:C("messaging-link-card-tail",s==="receiver"&&"messaging-link-card-tail--received")})]})},da=({title:e,description:s,descriptionLines:n,url:a,mimeType:r,thumbnailUrl:i,sourceUrl:o,layout:c="featured",appIcon:d,cta:u,accentColor:f,status:m="ready",onClick:x,groupPosition:l="single"})=>{const b=at(r,o),j=st(a),p=u==null&&j!=null&&!b?j:void 0,v=u==null&&!b?x:void 0,g=m!=="loading"&&ye(r,o)?rt:void 0,y=u&&x?{...u,onClick:()=>{var T;x(),(T=u.onClick)==null||T.call(u)}}:u,w=Fe({variant:"light",accentColor:f,status:m,layout:c,thumbnailUrl:i,mimeType:r,sourceUrl:o});return t.jsx(it,{accentHex:w.accentHex,side:"receiver",visible:g==null&&(l==="single"||l==="end"),children:t.jsxs(je,{variant:"light",href:p,onClick:v,ariaLabel:e??"Open attachment preview",fixedHeight:c==="featured"&&g==null,accentHex:w.accentHex,busy:w.isLoading,bgClassName:g,"data-testid":"link-attachment",children:[c==="featured"&&t.jsx(we,{variant:"light",thumbnailUrl:w.thumbnailUrl,sourceUrl:o,title:e,mimeType:r,isLoading:w.isLoading,onImageError:w.onImageError}),t.jsx(nt,{chinTextColor:w.chinTextColor,variant:"light",ctaSurface:w.surface,title:e,description:s,descriptionLines:n,url:a,appIcon:d,cta:y,isLoading:w.isLoading})]})})},ua=({title:e,placeholderTitle:s,description:n,descriptionLines:a,url:r,mimeType:i,thumbnailUrl:o,sourceUrl:c,layout:d="featured",appIcon:u,cta:f,accentColor:m,status:x="ready",onClick:l,groupPosition:b="single"})=>{const j=at(i,c),p=st(r),v=f==null&&p!=null&&!j?p:void 0,g=f==null&&!j&&v!=null?l:void 0,y=x!=="loading"&&ye(i,c),w=Fe({variant:"dark",accentColor:m,status:x,layout:d,thumbnailUrl:o,mimeType:i,sourceUrl:c});return t.jsx(it,{accentHex:w.accentHex,side:"sender",visible:!y&&(b==="single"||b==="end"),children:t.jsxs(je,{variant:"dark",href:v,onClick:g,fixedHeight:d==="featured"&&!y,accentHex:w.accentHex,busy:w.isLoading,bgClassName:y?rt:void 0,children:[d==="featured"&&t.jsx(we,{variant:"dark",thumbnailUrl:w.thumbnailUrl,sourceUrl:c,title:e,mimeType:i,isLoading:w.isLoading,onImageError:w.onImageError}),t.jsx(nt,{chinTextColor:w.chinTextColor,variant:"dark",ctaSurface:w.surface,title:e,placeholderTitle:s,description:n,descriptionLines:a,url:r,appIcon:u,cta:f,isLoading:w.isLoading})]})})},Ae={Composer:ca,Sent:ua,Received:da},ma={dark:"bg-[#1e2330]",light:"bg-[#f2f1ef]"},ha={dark:"text-white",light:"text-[#000000]"},fa={dark:"border-white/[0.08]",light:"border-black/[0.08]"},xa=e=>e==="dark"?"sender":"receiver",ga={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]"}},Ne=({variant:e,text:s,bordered:n=!0,groupPosition:a="single",widthClassName:r="w-[280px]",paddingClassName:i="px-2 py-2",radiusClassName:o,className:c,children:d,"data-testid":u})=>{const f=s!=null&&s!=="",m=o??ga[xa(e)][a];return t.jsxs("div",{"data-testid":u,"data-group-position":a,className:C("relative",r,"overflow-hidden",i,f&&"pb-0",m,ma[e],ha[e],n&&"border",n&&fa[e],c),children:[d,f?t.jsx("p",{className:C("whitespace-pre-wrap break-words leading-snug hyphens-manual","pb-2 pt-2","px-2"),children:s}):null]})},Ce=({onClick:e,variant:s="overlay",ariaLabel:n="Dismiss attachment"})=>t.jsx("button",{type:"button",onClick:a=>{a.stopPropagation(),e()},"aria-label":n,className:C("flex size-6 items-center justify-center rounded-full text-white",s==="overlay"?"bg-[#121110]/85 backdrop-blur":"bg-white/15 hover:bg-white/25"),children:t.jsx(S.XIcon,{className:"size-3",weight:"bold"})}),Se=e=>e==="received"?"light":"dark",pa=({firstOfGroup:e,endOfGroup:s,groupedByUser:n})=>!n||e&&s?"single":e?"first":s?"end":"middle",ba=({src:e,mimeType:s,filename:n,items:a})=>a&&a.length>0?a:e?[{src:e,mimeType:s,filename:n}]:[],va=({item:e,preload:s,trailingAction:n})=>t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("audio",{src:e.src,controls:!0,preload:e.preload??s,className:"block min-w-0 flex-1",children:e.mimeType?t.jsx("source",{src:e.src,type:e.mimeType}):null}),n??null]}),ot=({state:e,src:s,mimeType:n,filename:a,items:r,text:i,groupPosition:o,preload:c,onDismiss:d})=>{const u=Se(e),f=e==="composer"&&!!d,m=ba({src:s,mimeType:n,filename:a,items:r});if(m.length===0)return null;const x=c??(m.length>1?"none":"metadata");return t.jsx(Ne,{variant:u,text:i,groupPosition:o,"data-testid":"audio-attachment",children:t.jsx("div",{className:"flex flex-col gap-2",children:m.map((l,b)=>t.jsx(va,{item:l,preload:x,trailingAction:f&&b===0?t.jsx(Ce,{onClick:d,variant:"inline"}):void 0},`${l.src}-${b}`))})})},ja=e=>t.jsx(ot,{...e,state:"composer"}),wa=e=>t.jsx(ot,{...e,state:"sent"}),_a=e=>t.jsx(ot,{...e,state:"received"}),ya={Composer:ja,Sent:wa,Received:_a};function bs(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 Na={pdf:"PDF",doc:"DOC",xls:"XLS",csv:"CSV",ppt:"PPT",zip:"ZIP",text:"TXT",markdown:"MD"};function vs(e,s){if(s){const r=s.lastIndexOf(".");if(r>0&&r<s.length-1){const i=s.slice(r+1);if(i&&i.length<=5)return i.toUpperCase()}}if(!e)return;if(ae(e)==="document"){const r=is(e),i=Na[r];if(i)return i;if(e==="application/octet-stream")return}const a=e.split("/")[1];if(!(!a||a==="*"))return a.toUpperCase()}function js(e,s,n){const a=vs(e,s),r=typeof n=="number"&&n>0?bs(n):void 0;return[a,r].filter(Boolean).join(" Β· ")||void 0}function ne(e){try{const n=new URL(e).pathname.split("/").pop();return n&&n.length>0?decodeURIComponent(n):"download"}catch{return"download"}}const Ca={dark:"text-white/55",light:"text-black/65"},Sa={dark:"bg-white/10",light:"bg-black/5"},ka={dark:"text-white/85",light:"text-black/85"},ws=({variant:e,filename:s,title:n,mimeType:a="application/octet-stream",fileSize:r,onActivate:i,activateLabel:o,trailingAction:c})=>{const d=n??s??"File",u=js(a,s,r),f=t.jsx("div",{className:C("flex size-10 shrink-0 items-center justify-center rounded-sm",Sa[e]),"aria-hidden":!0,children:de(a,{className:C("size-6",ka[e]),weight:"regular"})}),m=t.jsxs("div",{className:"flex min-w-0 flex-1 flex-col text-left",children:[t.jsx("p",{className:"truncate font-medium leading-snug",children:d}),u?t.jsx("p",{className:C("truncate text-xs leading-4",Ca[e]),children:u}):null]}),x=i?t.jsxs("button",{type:"button",onClick:i,"aria-label":o,className:C("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:[f,m]}):t.jsxs(t.Fragment,{children:[f,m]});return t.jsxs("div",{className:"flex items-center gap-3 px-3 py-2",children:[x,c?t.jsx("div",{className:"shrink-0",children:c}):null]})};async function _s(e,s){const n=s??ne(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),o=document.createElement("a");o.href=i,o.download=n,o.style.display="none",document.body.appendChild(o),o.click(),document.body.removeChild(o),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 Ea=({src:e,filename:s,fileSize:n,mimeType:a,title:r,items:i})=>i&&i.length>0?i:e?[{src:e,filename:s,fileSize:n,mimeType:a,title:r}]:[],Ia=({variant:e,item:s,index:n,onActivate:a,trailingAction:r})=>{const i=s.filename??ne(s.src);return t.jsx(ws,{variant:e,filename:i,title:s.title,mimeType:s.mimeType??"application/octet-stream",fileSize:s.fileSize,onActivate:()=>a(n),activateLabel:`Download ${i}`,trailingAction:r})},lt=({state:e,src:s,filename:n,fileSize:a,mimeType:r,title:i,items:o,text:c,groupPosition:d,onClick:u,onDismiss:f})=>{const m=Se(e),x=e==="composer"&&!!f,l=Ea({src:s,filename:n,fileSize:a,mimeType:r,title:i,items:o}),b=p=>{if((u==null?void 0:u(p))===!1)return;const v=l[p];if(!v)return;const g=v.filename??ne(v.src);_s(v.src,g)};if(l.length===0)return null;const j=t.jsx("span",{className:C("flex size-8 items-center justify-center rounded-full",m==="dark"?"text-white/70":"text-black/70"),"aria-hidden":!0,children:t.jsx(S.DownloadSimpleIcon,{className:"size-5",weight:"bold"})});return t.jsx(Ne,{variant:m,text:c,groupPosition:d,"data-testid":"file-attachment",children:t.jsx("div",{className:"flex flex-col gap-2",children:l.map((p,v)=>{const g=x&&v===0?t.jsx(Ce,{onClick:f,variant:"inline"}):j;return t.jsx(Ia,{variant:m,item:p,index:v,onActivate:b,trailingAction:g},`${p.src}-${v}`)})})})},Ta=e=>t.jsx(lt,{...e,state:"composer"}),Ma=e=>t.jsx(lt,{...e,state:"sent"}),Ra=e=>t.jsx(lt,{...e,state:"received"}),Aa={Composer:Ta,Sent:Ma,Received:Ra},ys="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",$t="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",ct=({onPrev:e,onNext:s,prevLabel:n="Previous",nextLabel:a="Next"})=>t.jsxs(t.Fragment,{children:[t.jsx("button",{type:"button",onClick:e,"aria-label":n,className:`${$t} left-4`,children:t.jsx(S.CaretLeftIcon,{size:20,weight:"bold","aria-hidden":!0})}),t.jsx("button",{type:"button",onClick:s,"aria-label":a,className:`${$t} right-4`,children:t.jsx(S.CaretRightIcon,{size:20,weight:"bold","aria-hidden":!0})})]}),Ns=({url:e,filename:s,variant:n="pill",label:a="Download",iconOnly:r,tone:i="dark",onTriggered:o})=>{const[c,d]=h.useState(!1),u=h.useCallback(l=>{l.stopPropagation(),!c&&(d(!0),_s(e,s).catch(()=>{}).finally(()=>{d(!1),o==null||o()}))},[c,e,s,o]),f=r??n!=="pill",x={className:C(n==="pill"?"size-4":"size-5","shrink-0"),weight:"bold"};if(n==="inline"){const l={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 t.jsx("button",{type:"button",onClick:u,disabled:c,"aria-label":a,className:C("flex size-8 shrink-0 items-center justify-center rounded-full transition-colors disabled:opacity-70",l[i]),children:c?t.jsx(S.CircleNotchIcon,{className:"size-4 animate-spin",weight:"bold","aria-hidden":!0}):t.jsx(S.DownloadSimpleIcon,{className:"size-5 shrink-0",weight:"bold","aria-hidden":!0})})}return n==="viewer"?t.jsx("button",{type:"button",onClick:u,disabled:c,"aria-label":a,className:ys,children:c?t.jsx(S.CircleNotchIcon,{size:20,weight:"bold","aria-hidden":!0}):t.jsx(S.DownloadSimpleIcon,{size:20,weight:"bold","aria-hidden":!0})}):t.jsxs("button",{type:"button",onClick:u,disabled:c,"aria-label":f?a:void 0,className:C("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:[c?t.jsx(S.CircleNotchIcon,{className:"size-4 animate-spin",weight:"bold","aria-hidden":!0}):t.jsx(S.DownloadSimpleIcon,{...x,"aria-hidden":!0}),f?null:a]})},Ue=(e,s,n)=>Math.min(Math.max(e,s),n),dt=({length:e,initialIndex:s,open:n})=>{const a=Ue(s,0,Math.max(e-1,0)),[r,i]=h.useState(a);h.useEffect(()=>{n&&i(Ue(s,0,Math.max(e-1,0)))},[n,s,e]),h.useEffect(()=>{i(d=>Ue(d,0,Math.max(e-1,0)))},[e]);const o=h.useCallback(()=>{e<=1||i(d=>d<=0?e-1:d-1)},[e]),c=h.useCallback(()=>{e<=1||i(d=>d>=e-1?0:d+1)},[e]);return h.useEffect(()=>{if(!n||e<=1)return;const d=u=>{if(u.key!=="ArrowLeft"&&u.key!=="ArrowRight")return;const f=document.activeElement;f&&(f.tagName==="VIDEO"||f.tagName==="AUDIO")||(u.preventDefault(),u.key==="ArrowLeft"?o():c())};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[n,e,o,c]),{index:r,prev:o,next:c}},ut=({open:e,onClose:s,ariaLabel:n,counter:a,actions:r,children:i,"data-testid":o})=>{const c=h.useRef(null),d=h.useRef(null);h.useEffect(()=>{var x;const m=c.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 l=typeof document<"u"?document.activeElement:null;return(x=d.current)==null||x.focus(),()=>{if(m.open)if(typeof m.close=="function")try{m.close()}catch{m.removeAttribute("open")}else m.removeAttribute("open");l&&document.body.contains(l)&&l.focus()}}if(m.open)if(typeof m.close=="function")try{m.close()}catch{m.removeAttribute("open")}else m.removeAttribute("open")}},[e]);const u=()=>{s()},f=m=>{m.target===c.current&&s()};return t.jsxs("dialog",{ref:c,className:"mes-media-viewer","aria-label":n??"Attachment viewer","data-testid":o,onClose:u,onClick:f,children:[t.jsxs("div",{className:"pointer-events-none absolute inset-x-3 top-3 z-[1] flex items-center justify-between gap-3",children:[a?t.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,t.jsxs("div",{className:"pointer-events-auto ml-auto inline-flex items-center gap-2",children:[r,t.jsx("button",{ref:d,type:"button",onClick:s,"aria-label":"Close viewer",className:ys,children:t.jsx(S.XIcon,{size:20,weight:"bold","aria-hidden":!0})})]})]}),t.jsx("div",{className:"box-border flex h-full w-full items-center justify-center px-6 py-16",children:i})]})},Cs=({open:e,items:s,initialIndex:n=0,onClose:a})=>{const{index:r,prev:i,next:o}=dt({length:s.length,initialIndex:n,open:e}),c=s[r],d=h.useMemo(()=>(c==null?void 0:c.filename)??(c?ne(c.src):"image"),[c]);return c?t.jsxs(ut,{open:e,onClose:a,ariaLabel:d,counter:s.length>1?`${r+1} / ${s.length}`:void 0,actions:t.jsx(Ns,{url:c.src,filename:d,variant:"viewer",label:`Download ${d}`}),"data-testid":"image-viewer",children:[e?t.jsx("img",{src:c.src,alt:c.alt??d,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}:${c.src}`):null,s.length>1?t.jsx(ct,{onPrev:i,onNext:o,prevLabel:"Previous image",nextLabel:"Next image"}):null]}):null},La="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",Da={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]"]},Oa="--mes-single-width-cap",Pa="[--mes-single-width-cap:309px] sm:[--mes-single-width-cap:326px]",Fa=436,Ss=({tiles:e,onTileActivate:s,maxVisible:n=4,singleAspectRatio:a,className:r})=>{const i=e.length;if(i===0)return null;const o=e.slice(0,Math.min(i,n)),c=i-o.length,d=(f,m,x)=>{var b;const l=C(La,"h-full w-full",(b=Da[o.length])==null?void 0:b[m]);return s?t.jsxs("button",{type:"button",onClick:()=>s(m),"aria-label":f.ariaLabel??`Open media ${m+1}`,className:C(l,"cursor-zoom-in"),children:[f.content,x]},m):t.jsxs("div",{className:l,children:[f.content,x]},m)};let u;return a&&(u={aspectRatio:a,width:`min(var(${Oa}), ${Math.round(Fa*a*100)/100}px)`,maxWidth:"100%"}),o.length===1?t.jsx("div",{className:C(a?Pa:"aspect-square w-full",r),style:u,children:d(o[0],0)}):o.length===2?t.jsx("div",{className:C("grid aspect-[16/9] w-full grid-cols-2 gap-0.5",r),children:o.map((f,m)=>d(f,m))}):o.length===3?t.jsxs("div",{className:C("grid aspect-[4/3] w-full grid-cols-2 grid-rows-2 gap-0.5",r),children:[t.jsx("div",{className:"row-span-2",children:d(o[0],0)}),d(o[1],1),d(o[2],2)]}):t.jsx("div",{className:C("grid aspect-[379/286] w-full grid-cols-2 grid-rows-2 gap-0.5",r),children:o.map((f,m)=>{const x=c>0&&m===o.length-1;return d(f,m,x?t.jsxs("div",{className:"absolute inset-0 flex items-center justify-center bg-black/55 text-2xl font-semibold text-white",children:["+",c]}):null)})})},ke=e=>{const[s,n]=h.useState(!1),[a,r]=h.useState(0),i=h.useCallback(c=>{(e==null?void 0:e(c))!==!1&&(r(c),n(!0))},[e]),o=h.useCallback(()=>n(!1),[]);return{viewerOpen:s,viewerIndex:a,handleActivate:i,closeViewer:o}},za=({item:e,index:s,totalCount:n,fallbackLoading:a,imgRef:r,onLoad:i})=>({ariaLabel:`Open image ${s+1} of ${n}`,content:t.jsx("img",{ref:r,src:se(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"})}),Ba=({src:e,alt:s,items:n})=>n&&n.length>0?n:e?[{src:e,alt:s}]:[],ks=(e,s)=>e.map((n,a)=>({src:n.src,alt:n.alt,filename:s&&e.length===1?s:s?`${s} (${a+1})`:void 0})),$a=({src:e,alt:s,filename:n,loading:a="lazy",onClick:r,onDismiss:i})=>{const{viewerOpen:o,viewerIndex:c,handleActivate:d,closeViewer:u}=ke(r);return t.jsxs("div",{className:"relative w-fit",children:[t.jsx("button",{type:"button",onClick:()=>d(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:t.jsx("img",{src:se(e)??e,alt:s??"",draggable:!1,loading:a,decoding:"async",className:"size-full object-cover"})}),i?t.jsx("div",{className:"absolute right-2 top-2 z-10",children:t.jsx(Ce,{onClick:i})}):null,t.jsx(Cs,{open:o,items:ks([{src:e,alt:s}],n),initialIndex:c,onClose:u})]})},Ua=326/246,Ha=e=>{const s=e==null?void 0:e.src,[n,a]=h.useState(),r=h.useCallback(d=>{if(!d||d.naturalWidth<=0||d.naturalHeight<=0||s===void 0)return;const u=d.naturalWidth/d.naturalHeight;a(f=>f&&f.src===s&&f.ratio===u?f:{src:s,ratio:u})},[s]),i=h.useCallback(d=>r(d.currentTarget),[r]),o=e!=null&&e.width&&(e!=null&&e.height)?e.width/e.height:void 0,c=n&&n.src===s?n.ratio:void 0;return{ratio:o??c??Ua,imgRef:r,onLoad:i}},Es=({state:e,src:s,alt:n,filename:a,items:r,text:i,groupPosition:o,loading:c="lazy",onClick:d})=>{const u=Ba({src:s,alt:n,items:r}),f=Se(e),{viewerOpen:m,viewerIndex:x,handleActivate:l,closeViewer:b}=ke(d),j=u.length===1,p=Ha(j?u[0]:void 0);if(u.length===0)return null;const v=u.map((g,y)=>za({item:g,index:y,totalCount:u.length,fallbackLoading:c,imgRef:j?p.imgRef:void 0,onLoad:j?p.onLoad:void 0}));return t.jsxs(Ne,{variant:f,text:i,groupPosition:o,bordered:!1,widthClassName:j?"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:[t.jsx("div",{className:"relative",children:t.jsx(Ss,{tiles:v,onTileActivate:l,singleAspectRatio:j?p.ratio:void 0})}),t.jsx(Cs,{open:m,items:ks(u,a),initialIndex:x,onClose:b})]})},Va=e=>t.jsx($a,{...e}),Ga=e=>t.jsx(Es,{...e,state:"sent"}),Ya=e=>t.jsx(Es,{...e,state:"received"}),Wa={Composer:Va,Sent:Ga,Received:Ya},qa=({open:e,items:s,initialIndex:n=0,onClose:a})=>{const{index:r,prev:i,next:o}=dt({length:s.length,initialIndex:n,open:e}),c=s[r],d=h.useMemo(()=>(c==null?void 0:c.filename)??(c?ne(c.src):"document"),[c]),u=h.useMemo(()=>c?Xa(c.src):void 0,[c]);return!c||!u?null:t.jsxs(ut,{open:e,onClose:a,ariaLabel:d,counter:s.length>1?`${r+1} / ${s.length}`:void 0,"data-testid":"pdf-viewer",children:[t.jsx("iframe",{src:u,title:d,className:"block h-[calc(100dvh-128px)] w-[min(96vw,1400px)] border-0 bg-white",sandbox:"allow-scripts allow-forms allow-popups allow-downloads"},`${r}:${c.src}`),s.length>1?t.jsx(ct,{onPrev:i,onNext:o,prevLabel:"Previous document",nextLabel:"Next document"}):null]})},Xa=e=>{const s=e.indexOf("#"),n=s===-1?e:e.slice(0,s),a=s===-1?"":e.slice(s+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:s,fileSize:n,title:a,items:r})=>r&&r.length>0?r:e?[{src:e,filename:s,fileSize:n,title:a}]:[],Za=({variant:e,item:s,index:n,onActivate:a,trailingAction:r})=>{const i=s.filename??ne(s.src);return t.jsx(ws,{variant:e,filename:i,title:s.title,mimeType:"application/pdf",fileSize:s.fileSize,onActivate:()=>a(n),activateLabel:`Open ${i}`,trailingAction:r})},mt=({state:e,src:s,filename:n,fileSize:a,title:r,items:i,text:o,groupPosition:c,onClick:d,onDismiss:u})=>{const f=Se(e),m=Ka({src:s,filename:n,fileSize:a,title:r,items:i}),{viewerOpen:x,viewerIndex:l,handleActivate:b,closeViewer:j}=ke(d),p=e==="composer"&&!!u;if(m.length===0)return null;const v=m.map(g=>({src:g.src,filename:g.filename??ne(g.src)}));return t.jsxs(Ne,{variant:f,text:o,groupPosition:c,"data-testid":"pdf-attachment",children:[t.jsx("div",{className:"flex flex-col gap-2",children:m.map((g,y)=>{const w=g.filename??ne(g.src),T=p&&y===0?t.jsx(Ce,{onClick:u,variant:"inline"}):e==="composer"?void 0:t.jsx(Ns,{url:g.src,filename:w,variant:"inline",label:`Download ${w}`,tone:f});return t.jsx(Za,{variant:f,item:g,index:y,onActivate:b,trailingAction:T},`${g.src}-${y}`)})}),t.jsx(qa,{open:x,items:v,initialIndex:l,onClose:j})]})},Ja=e=>t.jsx(mt,{...e,state:"composer"}),Qa=e=>t.jsx(mt,{...e,state:"sent"}),er=e=>t.jsx(mt,{...e,state:"received"}),tr={Composer:Ja,Sent:Qa,Received:er},Is=({open:e,items:s,initialIndex:n=0,onClose:a})=>{const{index:r,prev:i,next:o}=dt({length:s.length,initialIndex:n,open:e}),c=s[r],d=h.useMemo(()=>(c==null?void 0:c.filename)??(c?ne(c.src):"video"),[c]);return c?t.jsxs(ut,{open:e,onClose:a,ariaLabel:d,counter:s.length>1?`${r+1} / ${s.length}`:void 0,"data-testid":"video-viewer",children:[t.jsx("video",{src:c.src,poster:c.poster,controls:!0,autoPlay:!0,muted:!0,playsInline:!0,preload:c.preload??"metadata",className:"block h-auto max-h-[calc(100dvh-128px)] w-auto max-w-[min(96vw,1400px)] bg-black",children:c.mimeType?t.jsx("source",{src:c.src,type:c.mimeType}):null},`${r}:${c.src}`),s.length>1?t.jsx(ct,{onPrev:i,onNext:o,prevLabel:"Previous video",nextLabel:"Next video"}):null]}):null},sr=()=>t.jsx("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:t.jsx("span",{className:"flex size-12 items-center justify-center rounded-full bg-black/55 text-white backdrop-blur",children:t.jsx(S.PlayIcon,{className:"size-6",weight:"fill","aria-hidden":!0})})}),Ts=({item:e,index:s})=>t.jsxs("div",{className:"absolute inset-0 size-full bg-[#0d0d0d]",children:[e.poster?t.jsx("img",{src:e.poster,alt:`Video ${s+1} thumbnail`,draggable:!1,loading:"lazy",decoding:"async",className:"absolute inset-0 size-full object-cover"}):t.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:t.jsx(S.VideoCameraIcon,{className:"size-16 text-white/30",weight:"regular","aria-hidden":!0})}),t.jsx(sr,{})]}),nr=(e,s,n)=>({ariaLabel:`Play video ${s+1} of ${n}`,content:t.jsx(Ts,{item:e,index:s})}),ar=({src:e,poster:s,mimeType:n,preload:a,items:r})=>r&&r.length>0?a?r.map(i=>({...i,preload:i.preload??a})):r:e?[{src:e,poster:s,mimeType:n,preload:a}]:[],Ms=(e,s)=>e.map((n,a)=>({src:n.src,poster:n.poster,mimeType:n.mimeType,preload:n.preload,filename:s&&e.length===1?s:s?`${s} (${a+1})`:void 0})),rr=({src:e,poster:s,mimeType:n,filename:a,preload:r,onClick:i,onDismiss:o})=>{const{viewerOpen:c,viewerIndex:d,handleActivate:u,closeViewer:f}=ke(i);return t.jsxs("div",{className:"relative w-fit",children:[t.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:t.jsx(Ts,{item:{src:e,poster:s,mimeType:n},index:0})}),o?t.jsx("div",{className:"absolute right-2 top-2 z-10",children:t.jsx(Ce,{onClick:o})}):null,t.jsx(Is,{open:c,items:Ms([{src:e,poster:s,mimeType:n,preload:r}],a),initialIndex:d,onClose:f})]})},Rs=({state:e,src:s,poster:n,mimeType:a,filename:r,items:i,text:o,groupPosition:c,preload:d,onClick:u})=>{const f=ar({src:s,poster:n,mimeType:a,preload:d,items:i}),m=Se(e),{viewerOpen:x,viewerIndex:l,handleActivate:b,closeViewer:j}=ke(u);if(f.length===0)return null;const p=f.map((v,g)=>nr(v,g,f.length));return t.jsxs(Ne,{variant:m,text:o,groupPosition:c,"data-testid":"video-attachment",children:[t.jsx("div",{className:"relative",children:t.jsx(Ss,{tiles:p,onTileActivate:b})}),t.jsx(Is,{open:x,items:Ms(f,r),initialIndex:l,onClose:j})]})},ir=e=>t.jsx(rr,{...e}),or=e=>t.jsx(Rs,{...e,state:"sent"}),lr=e=>t.jsx(Rs,{...e,state:"received"}),cr={Composer:ir,Sent:or,Received:lr},xe={Image:Wa,Video:cr,Audio:ya,Pdf:tr,File:Aa};function H(e){const s=e==null?void 0:e.trim();return s||void 0}function Ut(e){return e.trim().replace(/^https?:\/\//i,"").replace(/\/+$/,"").toLowerCase()}function dr(e,s){if(!(e!=null&&e.trim())||!(s!=null&&s.trim()))return!1;const n=Ut(e),a=Ut(s);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 Ht(e){const s=H(e.og_scrape_url)??H(e.title_link),n=H(e.image_url)??H(e.thumb_url),a=H(e.asset_url),r=H(e.mime_type);return{title:H(e.title),description:H(e.text),url:s,thumbnailUrl:se(n),sourceUrl:a,layout:n||at(r,a)?"featured":"classic",mimeType:r,accentColor:H(e.accent_color),status:"ready"}}function ur(e){var s;return _e(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":(s=e.mime_type)!=null&&s.startsWith("audio/")?"audio":"file":null}function As(e){if(!(e!=null&&e.length))return[];const s=[],n=(r,i)=>{const o=s[s.length-1];if((o==null?void 0:o.type)==="media"&&o.kind===r){o.attachments.push(i);return}s.push({type:"media",kind:r,attachments:[i]})},a=r=>{const i=s[s.length-1];if((i==null?void 0:i.type)==="link"){i.attachments.push(r);return}s.push({type:"link",attachments:[r]})};for(const r of e){if(_e(r)){a(r);continue}const i=ur(r);i&&n(i,r)}return s}function mr(e){return e.filter(s=>s.type==="media").length}function hr(e,s,n){return s<=1?n:e===0?"first":e===s-1?"end":"middle"}function fr(e){return H(e.image_url)??H(e.asset_url)??""}function xr(e){switch(e){case"image":return xe.Image;case"video":return xe.Video;case"audio":return xe.Audio;case"pdf":return xe.Pdf;default:return xe.File}}function Vt(e,s){switch(e){case"image":return{src:fr(s),alt:H(s.title)};case"video":return{src:H(s.asset_url)??"",poster:H(s.thumb_url),mimeType:H(s.mime_type)};case"audio":return{src:H(s.asset_url)??"",mimeType:H(s.mime_type)??"audio/mpeg",filename:H(s.title)};case"pdf":return{src:H(s.asset_url)??"",filename:H(s.title),fileSize:s.file_size};case"file":return{src:H(s.asset_url)??"",filename:H(s.title),fileSize:s.file_size,mimeType:H(s.mime_type)??"application/octet-stream"}}}function gr(e,s){if(s.length>1)return{items:s.map(a=>Vt(e,a))};const n=s[0];return n?Vt(e,n):{}}function pr({groupPosition:e,isMyMessage:s,segment:n}){const a=xr(n.kind),r={...gr(n.kind,n.attachments),groupPosition:e};return s?t.jsx(a.Sent,{...r}):t.jsx(a.Received,{...r})}const br=({groupPosition:e,isMyMessage:s,message:n,renderText:a})=>{var p;const r=As(n.attachments);if(r.length===0)return null;const i=mr(r),o=(p=n.text)==null?void 0:p.trim(),c=r.find(v=>v.type==="link"),d=(c==null?void 0:c.type)==="link"?Ht(c.attachments[0]??{}).url:void 0,u=o&&dr(o,d)?void 0:o;let f=0;const m=[],x=u?"middle":e,l=e==="single"||e==="end",b=(v,g,y)=>{const w=s?Ae.Sent:Ae.Received;m.push(t.jsx(w,{...Ht(v),groupPosition:y?x:"middle"},g))},j=(v,g)=>{const y=hr(f,i,e);f+=1,m.push(t.jsx(pr,{groupPosition:y,isMyMessage:s,segment:v},g))};return r.forEach((v,g)=>{const y=g===r.length-1;if(v.type==="link"){v.attachments.forEach((w,T)=>{b(w,`link-${g}-${T}`,y&&T===v.attachments.length-1)});return}j(v,`media-${g}`)}),t.jsxs("div",{className:"str-chat__message-bubble-wrapper",children:[t.jsxs("div",{className:"str-chat__message-bubble","data-attachment-bubble":"true",style:{background:"transparent",borderRadius:0,overflow:"visible",padding:0},children:[m,!u&&t.jsx(_.MessageErrorIcon,{})]}),u?t.jsxs("div",{className:C("str-chat__message-bubble",{"relative isolate":l}),children:[t.jsx(_.MessageText,{message:n,renderText:a}),t.jsx(_.MessageErrorIcon,{}),l&&t.jsx(Re,{side:s?"me":"other"})]}):null]})},vr=e=>{var jt,wt,_t,yt,Nt,Ct,St,kt,Et,It,Tt;const{additionalMessageInputProps:s,editing:n,endOfGroup:a,firstOfGroup:r,groupStyles:i,groupedByUser:o,handleAction:c,handleOpenThread:d,handleRetry:u,highlighted:f,isMessageAIGenerated:m,isMyMessage:x,message:l,renderText:b,threadList:j,viewerLanguage:p,onOutboundClick:v,resolvedOutbound:g}=e,{client:y}=_.useChatContext("CustomMessage"),{channel:w}=_.useChannelStateContext("CustomMessage"),{isUnlocking:T,onUnlockClick:D,onFetchSource:M,onDownloadClick:O}=ms("LockedAttachment"),[B,R]=h.useState(!1),k=_.useMessageReminder(l.id),{Attachment:A=_.Attachment,EditMessageModal:I=_.EditMessageModal,MessageActions:E,MessageBlocked:P=_.MessageBlocked,MessageBouncePrompt:U=_.MessageBouncePrompt,MessageDeleted:z=_.MessageDeleted,MessageIsThreadReplyInChannelButtonIndicator:F=_.MessageIsThreadReplyInChannelButtonIndicator,MessageRepliesCountButton:q=_.MessageRepliesCountButton,ReminderNotification:V=_.ReminderNotification,StreamedMessageText:X=_.StreamedMessageText,PinIndicator:G}=_.useComponentContext("CustomMessage"),N=_.messageHasAttachments(l),L=_.messageHasReactions(l),Y=h.useMemo(()=>m==null?void 0:m(l),[m,l]),$=h.useMemo(()=>{const ce=l.attachments??[],he=l.shared_location?[l.shared_location,...ce]:ce;if(!Me(l))return he;const Mt=he.filter(Rt=>!("type"in Rt)||!_e(Rt));return Mt.length===he.length?he:Mt},[l]),Q=h.useMemo(()=>As($),[$]),W=h.useMemo(()=>{const ce=Xe({message:l,viewerLanguage:p});return ce===l.text?l:{...l,text:ce}},[l,p]),J=Q.length>0,ee=Q.reduce((ce,he)=>ce+he.attachments.length,0)===(($==null?void 0:$.length)??0),re=(i==null?void 0:i[0])??"",Ee=re==="top"?"first":re==="middle"?"middle":re==="bottom"?"end":"single",oe=re==="single"||re==="bottom";if(_.isDateSeparatorMessage(l))return null;if(l.deleted_at||l.type==="deleted")return t.jsx(z,{message:l});if(_.isMessageBlocked(l))return t.jsx(P,{});const te=!j&&!!l.reply_count,le=!j&&l.show_in_channel&&l.parent_id,ie=l.status==="failed"&&((jt=l.error)==null?void 0:jt.status)!==403,ft=_.isMessageBounced(l);let me;ie?me=()=>u(l):ft&&(me=()=>R(!0));const Z=x(),Hs=C("str-chat__message str-chat__message-simple",`str-chat__message--${l.type}`,`str-chat__message--${l.status}`,Z?"str-chat__message--me str-chat__message-simple--me":"str-chat__message--other",l.text?"str-chat__message--has-text":"has-no-text",{"str-chat__message--has-attachment":N,"str-chat__message--highlighted":f,"str-chat__message--pinned pinned-message":l.pinned,"str-chat__message--with-reactions":L,"str-chat__message-send-can-be-retried":(l==null?void 0:l.status)==="failed"&&((wt=l==null?void 0:l.error)==null?void 0:wt.status)!==403,"str-chat__message-with-thread-link":te||le,"str-chat__virtual-message__wrapper--end":a,"str-chat__virtual-message__wrapper--first":r,"str-chat__virtual-message__wrapper--group":o}),ze=l.poll_id&&y.polls.fromState(l.poll_id),xt=et(l),ge=Me(l),Vs=Qe(l),Be=!!($!=null&&$.length&&!l.quoted_message),gt=ge&&Z&&Be,Gs=J&&ee&&!l.quoted_message&&!ze&&!Y&&!ge,pt={contentType:"text",amountText:(_t=l.metadata)==null?void 0:_t.amount_text,paymentStatus:(yt=l.metadata)==null?void 0:yt.payment_status,renderedText:l.text&&t.jsx(_.MessageText,{message:W,renderText:b})},bt={contentType:"media",title:(Nt=l.metadata)==null?void 0:Nt.attachment_title,mimeType:(Ct=l.metadata)==null?void 0:Ct.attachment_mime_type,thumbnailUrl:(St=l.metadata)==null?void 0:St.attachment_thumbnail,amountText:(kt=l.metadata)==null?void 0:kt.amount_text,detail:(Et=l.metadata)==null?void 0:Et.attachment_detail,paymentStatus:(It=l.metadata)==null?void 0:It.payment_status,onFetchSource:M?()=>M(l,w):void 0},vt=t.jsxs("div",{className:C("str-chat__message-bubble",{"relative isolate":oe}),children:[t.jsx(_.MessageText,{message:W,renderText:b}),oe&&t.jsx(Re,{side:Z?"me":"other"})]});return t.jsxs(t.Fragment,{children:[n&&t.jsx(I,{additionalMessageInputProps:s}),B&&t.jsx(_.MessageBounceModal,{MessageBouncePrompt:U,onClose:()=>R(!1),open:B}),t.jsxs("div",{className:Hs,"data-message-id":l.id,"data-dd-privacy":"mask",children:[G&&t.jsx(G,{}),!!k&&t.jsx(V,{reminder:k}),l.user&&t.jsx(ue,{className:"str-chat__avatar str-chat__message-sender-avatar",id:l.user.id,image:l.user.image,name:l.user.name||l.user.id,size:24,shape:"circle",dmAgentEnabled:ge}),t.jsx("div",{className:C("str-chat__message-inner",{"str-chat__simple-message--error-failed":ie||ft}),"data-testid":"message-inner",onClick:me,onKeyDown:me,role:me?"button":void 0,tabIndex:me?0:void 0,style:{marginInlineEnd:0,marginInlineStart:0},children:xt?t.jsxs("div",{className:"str-chat__message-bubble-wrapper message-tip-wrapper",children:[t.jsx(xs,{message:l}),((Tt=l.text)==null?void 0:Tt.trim())&&vt]}):Dn(l)?t.jsx("div",{className:"str-chat__message-bubble-wrapper",children:t.jsxs("div",{className:"flex items-center gap-2",children:[Z&&E&&t.jsx(E,{}),Z?t.jsx(be,{...pt,isMine:!0}):t.jsx(be,{...pt,isMine:!1,isUnlocking:T(l.id),onUnlockClick:()=>D==null?void 0:D(l,w)}),!Z&&E&&t.jsx(E,{})]})}):On(l)?t.jsxs("div",{className:"str-chat__message-bubble-wrapper message-locked-attachment-wrapper",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[Z&&E&&t.jsx(E,{}),Z?t.jsx(be,{...bt,isMine:!0,onPreviewClick:()=>D?D(l,w):void 0}):t.jsx(be,{...bt,isMine:!1,isUnlocking:T(l.id),onUnlockClick:()=>D?D(l,w):void 0,onDownloadClick:()=>O?O(l,w):void 0}),!Z&&E&&t.jsx(E,{})]}),l.text&&vt]}):Gs?t.jsx(br,{groupPosition:Ee,isMyMessage:Z,message:{...W,attachments:$,i18n:void 0},renderText:b}):t.jsx("div",{className:"str-chat__message-bubble-wrapper",children:t.jsxs("div",{className:C("str-chat__message-bubble",{"relative isolate":oe}),children:[ge&&!gt&&t.jsx(Pt,{message:l,hasAttachment:Be,isMyMessage:Z}),ze&&t.jsx(_.Poll,{poll:ze}),$!=null&&$.length&&!l.quoted_message?t.jsx(A,{actionHandler:c,attachments:$}):null,Y?t.jsx(X,{message:W,renderText:b}):t.jsx(_.MessageText,{message:W,renderText:b}),t.jsx(_.MessageErrorIcon,{}),oe&&t.jsx(Re,{side:Z?"me":"other"})]})})}),!Vs&&!xt&&t.jsx("div",{className:"str-chat__message-footer",children:(!ge||gt)&&t.jsx(Pt,{message:l,hasAttachment:Be,isMyMessage:Z})}),t.jsx(Yn,{onOutboundClick:v,resolvedOutbound:g}),te&&t.jsx(q,{onClick:d,reply_count:l.reply_count}),le&&t.jsx(F,{})]},l.id)]})},jr=h.memo(vr,(e,s)=>{var n,a,r,i;return e.viewerLanguage!==s.viewerLanguage||e.onOutboundClick!==s.onOutboundClick||((n=e.resolvedOutbound)==null?void 0:n.id)!==((a=s.resolvedOutbound)==null?void 0:a.id)||((r=e.resolvedOutbound)==null?void 0:r.name)!==((i=s.resolvedOutbound)==null?void 0:i.name)?!1:_.areMessageUIPropsEqual(e,s)}),wr=e=>{var i;const s=_.useMessageContext("CustomMessage"),n=h.useContext(fs),a=(i=s.message.metadata)==null?void 0:i.outbound_id,r=typeof a=="string"?n==null?void 0:n[a]:void 0;return t.jsx(jr,{...s,...e,resolvedOutbound:r})},_r=()=>{var n;const{handleDelete:e,message:s}=_.useMessageContext("CustomMessageActions");return((n=s.metadata)==null?void 0:n.payment_status)==="paid"?null:t.jsx(Ge.DefaultDropdownActionButton,{onClick:e,"aria-label":"Delete",title:"Delete",className:"bg-marble rounded-full p-2 hover:bg-sand transition-all",children:t.jsx(S.TrashSimpleIcon,{size:16,weight:"light","aria-hidden":!0})})},yr=()=>{const{handleFlag:e}=_.useMessageContext("CustomMessageActions");return t.jsx(Ge.DefaultDropdownActionButton,{onClick:e,"aria-label":"Report",title:"Report",className:"bg-marble rounded-full p-2 hover:bg-sand transition-all",children:t.jsx(S.FlagIcon,{size:16,weight:"light","aria-hidden":!0})})},Nr=()=>{var s;const{message:e}=_.useMessageContext("CustomMessageActions");return((s=e.metadata)==null?void 0:s.custom_type)!==K.MESSAGE_CUSTOM_TYPE.ATTACHMENT?null:t.jsx(Ge.MessageActions,{messageActionSet:[{Component:_r,placement:"quick",type:"delete"},{Component:yr,placement:"quick",type:"flag"}]})},Cr=e=>({linkPreviews:Array.from(e.previews.values()).filter(s=>Te.LinkPreviewsManager.previewIsLoaded(s)||Te.LinkPreviewsManager.previewIsLoading(s))}),Sr=()=>{const{linkPreviewsManager:e}=_.useMessageComposer(),{linkPreviews:s}=_.useStateStore(e.state,Cr),n=r=>{e.dismissPreview(r)};return s.length>0?t.jsx("div",{className:"messaging-link-preview-list flex flex-col items-stretch w-full gap-2",children:s.map(r=>{const i=Te.LinkPreviewsManager.previewIsLoading(r);return t.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},Le=h.createContext(!1),kr=200,Er=()=>h.useContext(Le),Ir=({sendMessage:e,disabled:s,...n})=>t.jsx("button",{...n,type:"button","aria-label":"Send",disabled:s,onPointerDown:a=>a.preventDefault(),onClick:e,children:t.jsx(S.ArrowUpIcon,{weight:"bold",className:"size-4"})}),Gt=()=>{const e=h.useContext(Le),{handleSubmit:s}=_.useMessageInputContext(),n=_.useMessageComposerHasSendableData(),a=e||!n,{SendButton:r=Ir,AttachmentPreviewList:i=_.AttachmentPreviewList}=_.useComponentContext("CustomMessageInput"),o=h.useRef(null);return h.useEffect(()=>{const c=o.current;if(!c||typeof ResizeObserver>"u")return;const d=new ResizeObserver(()=>{c.contains(document.activeElement)&&(c.scrollTop=c.scrollHeight)});return d.observe(c),()=>d.disconnect()},[]),h.useEffect(()=>{const c=o.current;if(!c)return;const d=u=>{var m;Array.from(((m=u.clipboardData)==null?void 0:m.items)??[]).some(x=>x.kind==="file")||u.stopPropagation()};return c.addEventListener("paste",d),()=>c.removeEventListener("paste",d)},[]),t.jsxs("div",{ref:o,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:[t.jsxs("div",{className:"messaging-composer-previews empty:hidden flex flex-col gap-2 px-2 pt-2",children:[t.jsx(_.QuotedMessagePreview,{}),t.jsx(Sr,{}),t.jsx(i,{})]}),t.jsxs("div",{className:"messaging-composer-row flex items-start",children:[t.jsx(_.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}),t.jsx("div",{className:"sticky bottom-2 mt-auto mb-2 mr-2 shrink-0 pt-2",children:t.jsx(r,{sendMessage:s,"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"})})]})]})},Yt=()=>t.jsxs("div",{className:"messaging-composer-backdrop","aria-hidden":"true",children:[t.jsx("div",{className:"messaging-composer-backdrop-blur"}),t.jsx("div",{className:"messaging-composer-backdrop-blur"}),t.jsx("div",{className:"messaging-composer-backdrop-blur"}),t.jsx("div",{className:"messaging-composer-backdrop-blur"}),t.jsx("div",{className:"messaging-composer-backdrop-blur"}),t.jsx("div",{className:"messaging-composer-backdrop-gradient"})]}),Wt=({renderActions:e,renderHeader:s,renderFooter:n,disabled:a=!1,disabledReason:r,composerInput:i})=>{var f;const{channel:o}=_.useChannelStateContext(),c=((f=o==null?void 0:o.data)==null?void 0:f.frozen)===!0,d=!!i,u=h.useRef(null);return h.useEffect(()=>{if(!d)return;const m=u.current,x=m==null?void 0:m.parentElement;if(!m||!x)return;let l=m.offsetHeight;const b=()=>{const p=m.offsetHeight,v=p>l;l=p;const g=Array.from(x.querySelectorAll(".str-chat__list")).find(w=>w.scrollHeight>w.clientHeight)??null,y=g?g.scrollHeight-g.scrollTop-g.clientHeight<kr:!1;x.style.setProperty("--messaging-composer-height",`${p}px`),v&&y&&g&&(g.scrollTop=g.scrollHeight)};if(b(),typeof ResizeObserver>"u")return;const j=new ResizeObserver(b);return j.observe(m),()=>{j.disconnect(),x.style.removeProperty("--messaging-composer-height")}},[d]),a?d?t.jsxs("div",{ref:u,className:"messaging-composer-chrome messaging-composer-chrome--floating",children:[t.jsx(Yt,{}),t.jsxs("div",{className:"relative z-10 flex flex-col",children:[s==null?void 0:s(),t.jsx("div",{className:"messaging-composer-locked-panel flex w-full flex-col items-center justify-center gap-3 px-6 py-4",children:r?t.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()]})]}):t.jsxs(t.Fragment,{children:[s==null?void 0:s(),t.jsx("div",{className:"messaging-composer-locked-panel flex w-full flex-col items-center justify-center gap-3 px-6 py-4",children:r?t.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()]}):d?t.jsxs("div",{ref:u,className:"messaging-composer-chrome messaging-composer-chrome--floating",children:[t.jsx(Yt,{}),t.jsxs("div",{className:"relative z-10 flex min-h-0 flex-col",children:[s==null?void 0:s(),t.jsxs("div",{className:"flex min-h-0 flex-col gap-4 p-3 pb-5 md:p-5",children:[t.jsxs("div",{inert:c?"":void 0,"aria-disabled":c||void 0,className:"message-input flex min-h-0 items-end gap-4 aria-disabled:opacity-40",children:[e&&t.jsx("div",{className:"flex h-12 shrink-0 items-center justify-center",children:e()}),t.jsx(Le.Provider,{value:c,children:t.jsx(_.MessageInput,{Input:i??Gt})})]}),n==null?void 0:n()]})]})]}):t.jsxs("div",{className:"flex min-h-0 flex-col gap-4 p-4",children:[s==null?void 0:s(),t.jsxs("div",{inert:c?"":void 0,"aria-disabled":c||void 0,className:"message-input flex min-h-0 items-end gap-4 aria-disabled:opacity-40",children:[e&&t.jsx("div",{className:"flex h-12 shrink-0 items-center justify-center",children:e()}),t.jsx(Le.Provider,{value:c,children:t.jsx(_.MessageInput,{Input:Gt})})]}),n==null?void 0:n()]})},Tr={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"],Rr={SYSTEM_AGE_SAFETY_BLOCKED:"This user isn’t able to reply because they don’t meet our age safety guidelines."},He="age safety guidelines.",Ar="https://linktr.ee/s/about/contact",Lr=e=>Mr.includes(e),Dr=e=>{var s;return Lr((s=e.metadata)==null?void 0:s.custom_type)},Or=e=>{var a;const s=(a=e.metadata)==null?void 0:a.custom_type;if(K.isDmAgentSystemType(s))return{kind:"dm-agent",type:s};if(K.isAgeSafetySystemType(s))return{kind:"age-safety",type:s};const n=e.dm_agent_system_type;if(K.isDmAgentSystemType(n))return{kind:"dm-agent",type:n}},Pr=e=>{const s=e.indexOf(He);if(s===-1)return e;const n=s+He.length;return t.jsxs(t.Fragment,{children:[e.slice(0,s),t.jsx("a",{href:Ar,target:"_blank",rel:"noopener noreferrer",className:"mes-age-safety-system-message__emphasis font-medium text-inherit underline",children:He}),e.slice(n)]})},Fr=e=>{var a,r;const s=!Dr(e.message),n=Or(e.message);if((n==null?void 0:n.kind)==="dm-agent"){const i=((a=e.message.text)==null?void 0:a.trim())||Tr[n.type];return t.jsxs("div",{className:"str-chat__message--system","data-testid":"message-system",children:[t.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:[t.jsx(S.SparkleIcon,{size:16,weight:"regular","aria-hidden":!0,className:"mes-dm-agent-system-message__sparkle shrink-0"}),t.jsx("p",{className:"mes-dm-agent-system-message__text m-0 text-center text-[14px] font-normal leading-5 tracking-[0.21px]",children:i})]}),!s&&t.jsx(_.MessageTimestamp,{message:e.message})]})}if((n==null?void 0:n.kind)==="age-safety"){const i=((r=e.message.text)==null?void 0:r.trim())||Rr[n.type];return t.jsxs("div",{className:"str-chat__message--system","data-testid":"message-system",children:[t.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:[t.jsx(S.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"}),t.jsx("div",{className:"mes-age-safety-system-message__content min-w-0 flex-[1_0_0]",children:t.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:Pr(i)})})]}),!s&&t.jsx(_.MessageTimestamp,{message:e.message})]})}return t.jsxs("div",{className:"str-chat__message--system","data-testid":"message-system",children:[t.jsxs("div",{className:"str-chat__message--system__text",children:[t.jsx("div",{className:"str-chat__message--system__line"}),t.jsx("p",{children:e.message.text}),t.jsx("div",{className:"str-chat__message--system__line"})]}),!s&&t.jsx(_.MessageTimestamp,{message:e.message})]})},Ls=h.createContext(!1),Ve=({cx:e,index:s})=>t.jsx("circle",{cx:e,cy:"6.15",r:"3.9",fill:"#A0A0A0",children:t.jsx("animateTransform",{attributeName:"transform",type:"translate",values:"0 0; 0 -2.25; 0 0;",dur:"900ms",begin:`${120*s}ms`,repeatCount:"indefinite"})}),zr=new Set([_.AIStates.Thinking,_.AIStates.Generating,_.AIStates.ExternalSources]),Br=({threadList:e})=>{var b,j;const{channel:s,channelConfig:n,thread:a}=_.useChannelStateContext(),{client:r}=_.useChatContext(),{typing:i={}}=_.useTypingContext(),{aiState:o}=_.useAIState(s),c=h.useContext(Ls);if(!e&&c&&zr.has(o)){const p=$r(s,(b=r.user)==null?void 0:b.id);return t.jsx(qt,{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:v})=>{var g;return(v==null?void 0:v.id)!==((g=r.user)==null?void 0:g.id)&&!p}),f=e?Object.values(i).filter(({parent_id:p,user:v})=>{var g;return(v==null?void 0:v.id)!==((g=r.user)==null?void 0:g.id)&&p===(a==null?void 0:a.id)}):[],m=e?f:u;if(!m.length)return null;const x=(j=m[0])==null?void 0:j.user,l=x!=null&&x.id&&s.state.members[x.id]?s.state.members[x.id].user:void 0;return t.jsx(qt,{avatarId:(x==null?void 0:x.id)??(l==null?void 0:l.id)??"typing-user",avatarName:(x==null?void 0:x.name)??(l==null?void 0:l.name)??(x==null?void 0:x.id)??"Typing user",avatarImage:(x==null?void 0:x.image)??(l==null?void 0:l.image),testId:"typing-indicator"})},qt=({avatarId:e,avatarName:s,avatarImage:n,testId:a})=>t.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:t.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:[t.jsx(ue,{className:"str-chat__avatar str-chat__message-sender-avatar",id:e,name:s,image:n??void 0,size:24,shape:"circle"}),t.jsx("div",{className:"str-chat__message-inner mx-0",children:t.jsx("div",{className:"str-chat__message-bubble-wrapper",children:t.jsxs("div",{className:"str-chat__message-bubble relative isolate",children:[t.jsx("div",{className:"str-chat__message-text min-h-11 flex items-center",children:t.jsx("div",{className:"str-chat__message-text-inner str-chat__message-simple-text-inner",children:t.jsxs("svg",{"aria-hidden":"true",className:"block overflow-visible",viewBox:"0 0 32 12.3",width:"32",height:"13",overflow:"visible",children:[t.jsx(Ve,{cx:"4",index:0}),t.jsx(Ve,{cx:"16",index:1}),t.jsx(Ve,{cx:"28",index:2})]})})}),t.jsx(Re,{side:"other"})]})})})]})});function $r(e,s){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!==s)return i}}const Ds=()=>null,Ur=({className:e,message:s})=>t.jsxs("div",{className:C("flex items-center justify-center h-full",e),children:[t.jsxs("svg",{viewBox:"0 0 100 100",className:"size-8 fill-pebble",stroke:"none",children:[t.jsx("circle",{cx:"6",cy:"50",r:"6",children:t.jsx("animateTransform",{attributeName:"transform",dur:"1s",type:"translate",values:"0 15 ; 0 -15; 0 15",repeatCount:"indefinite",begin:"0.1"})}),t.jsx("circle",{cx:"30",cy:"50",r:"6",children:t.jsx("animateTransform",{attributeName:"transform",dur:"1s",type:"translate",values:"0 10 ; 0 -10; 0 10",repeatCount:"indefinite",begin:"0.2"})}),t.jsx("circle",{cx:"54",cy:"50",r:"6",children:t.jsx("animateTransform",{attributeName:"transform",dur:"1s",type:"translate",values:"0 5 ; 0 -5; 0 5",repeatCount:"indefinite",begin:"0.3"})})]}),s&&t.jsx("span",{className:"text-stone",children:s})]}),De=h.memo(()=>t.jsx("div",{className:"messaging-loading-state flex items-center justify-center h-full",children:t.jsxs("div",{className:"flex items-center",children:[t.jsx(Ur,{className:"w-6 h-6"}),t.jsx("span",{className:"text-sm text-stone",children:"Loading messages"})]})}));De.displayName="LoadingState";const Hr=({onBack:e,showBackButton:s,renderMessageInputActions:n,renderMessageInputFooter:a,renderConversationFooter:r,onLeaveConversation:i,onBlockParticipant:o,showDeleteConversation:c=!0,onDeleteConversationClick:d,onBlockParticipantClick:u,onReportParticipantClick:f,showBlockParticipant:m=!0,showReportParticipant:x=!0,composerDisabled:l=!1,composerDisabledReason:b,showStarButton:j=!1,renderChannelBanner:p,customChannelActions:v,renderChannelActions:g,renderMessage:y,viewerLanguage:w,showChannelInfo:T=!0,onParticipantNameClick:D,onOutboundClick:M,resolveOutbound:O,composerInput:B})=>{const{channel:R,messages:k}=_.useChannelStateContext(),A=h.useRef(M);h.useEffect(()=>{A.current=M},[M]);const I=h.useCallback(V=>{var X;(X=A.current)==null||X.call(A,V)},[]),E=M?I:void 0,P=Un(k,O),U=R.state.messages.some(V=>V.type!=="deleted"),z=p?t.jsx(h.Fragment,{children:p()},"lt-channel-banner"):null,F=t.jsx(an,{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:s,showChannelInfo:T,showStarButton:j,onLeaveConversation:i,onBlockParticipant:o,showDeleteConversation:c,showBlockParticipant:m,showReportParticipant:x,onDeleteConversationClick:d,onBlockParticipantClick:u,onReportParticipantClick:f,customChannelActions:v,renderChannelActions:g,onParticipantNameClick:D}),q=h.useCallback(V=>{const{message:X}=_.useMessageContext("ChannelView"),G=t.jsx(wr,{...V,viewerLanguage:w,onOutboundClick:E});return!y||!X?G:y(G,X)},[E,y,w]);return t.jsx(fs.Provider,{value:P,children:t.jsx(_.WithComponents,{overrides:{Message:q,MessageActions:Nr,UnreadMessagesNotification:()=>null,UnreadMessagesSeparator:()=>null},children:t.jsx(_.Window,{children:B?t.jsxs("div",{className:"messaging-channel-layout relative flex min-h-0 flex-1 flex-col",children:[t.jsxs("div",{className:"messaging-channel-message-list messaging-channel-message-list--floating relative min-h-0 flex-1 overflow-hidden",children:[!U&&t.jsx("div",{className:"str-chat__list",children:t.jsxs("div",{className:"str-chat__message-list-scroll",children:[F,z]})}),t.jsx(_.MessageList,{head:U?t.jsxs("div",{className:"sticky top-0 z-10",children:[F,z]}):void 0,hideDeletedMessages:!0,hideNewMessageSeparator:!1})]},"lt-channel-message-list"),t.jsx(Wt,{...n&&{renderActions:()=>n==null?void 0:n(R)},...r&&{renderHeader:()=>r(R)},renderFooter:()=>a==null?void 0:a(R),disabled:l,disabledReason:b,composerInput:B},"lt-channel-message-input")]}):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex-1 overflow-hidden relative",children:[!U&&t.jsx("div",{className:"str-chat__list",children:t.jsxs("div",{className:"str-chat__message-list-scroll",children:[F,z]})}),t.jsx(_.MessageList,{head:U?t.jsxs("div",{className:"sticky top-0 z-10",children:[F,z]}):void 0,hideDeletedMessages:!0,hideNewMessageSeparator:!1})]},"lt-channel-message-list"),r?t.jsx(h.Fragment,{children:r(R)},"lt-channel-conversation-footer"):null,t.jsx(Wt,{...n&&{renderActions:()=>n==null?void 0:n(R)},renderFooter:()=>a==null?void 0:a(R),disabled:l,disabledReason:b,composerInput:B},"lt-channel-message-input")]})})})})},ht=h.memo(({channel:e,onBack:s,showBackButton:n=!1,renderMessageInputActions:a,renderMessageInputFooter:r,renderConversationFooter:i,onLeaveConversation:o,onBlockParticipant:c,className:d,CustomChannelEmptyState:u=Ds,showDeleteConversation:f=!0,onDeleteConversationClick:m,onBlockParticipantClick:x,onReportParticipantClick:l,showBlockParticipant:b=!0,showReportParticipant:j=!0,composerDisabled:p=!1,composerDisabledReason:v,dmAgentEnabled:g,messageMetadata:y,onMessageSent:w,showStarButton:T=!1,renderChannelBanner:D,customChannelActions:M,renderChannelActions:O,renderMessage:B,onMessageLinkClick:R,sendButton:k,attachmentPreviewList:A,viewerLanguage:I,showChannelInfo:E=!0,onParticipantNameClick:P,onOutboundClick:U,resolveOutbound:z,composerInput:F})=>{const q=h.useCallback(async(G,N,L)=>{var ee;const Y=((ee=e.data)==null?void 0:ee.chatbot_paused)===!0,$=g&&!Y,Q={...N,...$&&{silent:!0},...y&&{metadata:{...N.metadata??{},...y}}},W={...L,...$&&{skip_push:!0}},J=await e.sendMessage(Q,W);return w==null||w(J),J},[e,g,y,w]),V=h.useRef(null);h.useEffect(()=>{if(!R)return;const G=V.current;if(!G)return;const N=L=>{const Y=L.target,$=Y==null?void 0:Y.closest("a[href]"),Q=$==null?void 0:$.getAttribute("href");if(!Q)return;const W=$==null?void 0:$.closest("[data-message-id]"),J=W==null?void 0:W.getAttribute("data-message-id"),ee=J?e.state.messages.find(re=>re.id===J):void 0;R(Q,ee)};return G.addEventListener("click",N),()=>G.removeEventListener("click",N)},[R,e]);const X=K.isOfficialChannel(e.type)?{"--lt-msg-card-width":"368px"}:void 0;return t.jsx("div",{ref:V,className:C("messaging-channel-view h-full flex flex-col",d),style:X,children:t.jsx(Ls.Provider,{value:g??!1,children:t.jsx(_.Channel,{channel:e,MessageSystem:Fr,EmptyStateIndicator:u,LoadingIndicator:De,DateSeparator:rn,TypingIndicator:Br,doSendMessageRequest:q,...k?{SendButton:k}:{},...A?{AttachmentPreviewList:A}:{},children:t.jsx(Hr,{onBack:s,showBackButton:n,renderMessageInputActions:a,renderMessageInputFooter:r,renderConversationFooter:i,onLeaveConversation:o,onBlockParticipant:c,CustomChannelEmptyState:u,showDeleteConversation:f,onDeleteConversationClick:m,onBlockParticipantClick:x,onReportParticipantClick:l,showBlockParticipant:b,showReportParticipant:j,composerDisabled:p,composerDisabledReason:v,showStarButton:T,renderChannelBanner:D,customChannelActions:M,renderChannelActions:O,renderMessage:B,viewerLanguage:I,showChannelInfo:E,onParticipantNameClick:P,onOutboundClick:U,resolveOutbound:z,composerInput:F})})})})});ht.displayName="ChannelView";const ve=h.memo(({message:e,onBack:s})=>t.jsx("div",{className:"messaging-error-state flex items-center justify-center h-full p-8",children:t.jsxs("div",{className:"text-center max-w-sm",children:[t.jsx("div",{className:"w-24 h-24 bg-danger-alt/20 rounded-full flex items-center justify-center mx-auto mb-6",children:t.jsx("span",{className:"text-4xl",children:"⚠️"})}),t.jsx("h2",{className:"font-semibold text-charcoal mb-2",children:"Oops!"}),t.jsx("p",{className:"text-stone text-sm mb-6",children:e}),s&&t.jsx("button",{type:"button",onClick:s,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"})]})}));ve.displayName="ErrorState";const Vr=({capabilities:e={},renderMessageInputActions:s,renderConversationFooter:n,onChannelSelect:a,onExitConversation:r,initialParticipantFilter:i,initialParticipantData:o,CustomChannelEmptyState:c,onBlockParticipantClick:d,onReportParticipantClick:u,dmAgentEnabled:f,onMessageSent:m,viewerLanguage:x,renderChannelBanner:l,customChannelActions:b,renderChannelActions:j,onParticipantNameClick:p,onOutboundClick:v,resolveOutbound:g,renderMessage:y,onMessageLinkClick:w,showChannelInfo:T,composerInput:D,attachmentPreviewList:M})=>{const{client:O,isConnected:B,isLoading:R,error:k,refreshConnection:A,service:I,debug:E}=ts(),[P,U]=h.useState(null),[z,F]=h.useState(null),[q,V]=h.useState(!1),{showDeleteConversation:X=!0}=e,G=h.useRef(o);G.current=o;const N=h.useRef(a);N.current=a;const L=h.useRef(null),Y=h.useRef(null);h.useEffect(()=>{Y.current=P},[P]),h.useEffect(()=>{if(!O||!B)return;const W=O.userID;if(!W)return;const J=`${W}::${i}`;if(L.current===J)return;L.current=J;const ee=()=>{L.current===J&&(L.current=null)};(async()=>{var Ee,oe;try{E&&console.log("[MessagingShell] Loading initial conversation with:",i);const te=await O.queryChannels({type:"messaging",members:{$eq:[W,i]}},{},{limit:1});if(te.length>0){U(te[0]),F(null),(Ee=N.current)==null||Ee.call(N,te[0]),E&&console.log("[MessagingShell] Initial conversation loaded:",te[0].id);return}const le=G.current;if(!le||!I){ee(),F("No conversation found with this account"),E&&console.log("[MessagingShell] No conversation found for:",i);return}try{const ie=await I.startChannelWithParticipant({id:le.id,name:le.name,phone:le.phone});U(ie),F(null),(oe=N.current)==null||oe.call(N,ie),E&&console.log("[MessagingShell] Channel created and loaded:",ie.id)}catch(ie){console.error("[MessagingShell] Failed to create conversation:",ie),ee(),F("Failed to create conversation")}}catch(te){console.error("[MessagingShell] Failed to load initial conversation:",te),ee(),Y.current||F("Failed to load conversation")}})()},[i,O,B,I,E]);const $=h.useRef(r);$.current=r;const Q=h.useCallback(()=>{var W;U(null),V(!0),(W=$.current)==null||W.call($)},[]);return R?t.jsx(De,{}):k?t.jsx(ve,{message:k,onBack:A}):!B||!O?t.jsx(ve,{message:"Not connected to messaging service",onBack:A}):z?t.jsx(ve,{message:z}):q&&!P?t.jsx(ve,{message:"Conversation ended"}):P?t.jsx("div",{className:"messaging-shell h-full bg-background-primary overflow-hidden",children:t.jsx("div",{className:"flex h-full min-h-0 flex-col",children:t.jsx(ht,{channel:P,renderMessageInputActions:s,renderConversationFooter:n,renderChannelBanner:l,onLeaveConversation:Q,onBlockParticipant:Q,CustomChannelEmptyState:c,showDeleteConversation:X,onBlockParticipantClick:d,onReportParticipantClick:u,dmAgentEnabled:f,onMessageSent:m,viewerLanguage:x,customChannelActions:b,renderChannelActions:j,onParticipantNameClick:p,onOutboundClick:v,resolveOutbound:g,renderMessage:y,onMessageLinkClick:w,showChannelInfo:T,composerInput:D,attachmentPreviewList:M},P.id)})}):t.jsx(De,{})};function Gr(e){const s=e.state.pending_messages;if(s!=null&&s.length)for(const n of s)e.state.addMessageSorted(n.message)}const Os=h.createContext({selectedChannel:void 0,onChannelSelect:()=>{},debug:!1,renderMessagePreview:void 0,channelPreview:void 0,viewerLanguage:void 0}),Yr=Os.Provider,Wr=()=>h.useContext(Os),qr=(e,s)=>{const n=Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()),a=Date.UTC(s.getFullYear(),s.getMonth(),s.getDate());return Math.floor((a-n)/(1e3*60*60*24))},Ps=e=>{const s=new Date;if(Math.floor((s.getTime()-e.getTime())/1e3)<60)return"Just now";const a=qr(e,s);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()===s.getFullYear()?e.toLocaleDateString(void 0,{month:"short",day:"numeric"}):e.toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})},Fs=h.memo(e=>{var O,B,R;const{channel:s,unread:n}=e,{selectedChannel:a,onChannelSelect:r,debug:i,channelPreview:o,renderMessagePreview:c,viewerLanguage:d}=Wr(),{client:u}=_.useChatContext(),f=(a==null?void 0:a.id)===(s==null?void 0:s.id),m=ss(s);if(o){const k=o;return t.jsx(k,{...e,active:f,selectedChannel:a,onChannelSelect:r,viewerLanguage:d})}const x=()=>{s&&r(s)},l=k=>{const A=k.key==="Enter"||k.key===" ",I=k.repeat;!A||I||(k.preventDefault(),x())},b=We((O=s==null?void 0:s.state)==null?void 0:O.members,u==null?void 0:u.userID,s==null?void 0:s.type),j=qe(b==null?void 0:b.user),p=(B=b==null?void 0:b.user)==null?void 0:B.image,v=(()=>{var A;const k=(A=s==null?void 0:s.state)==null?void 0:A.messages;if(k!=null&&k.length){for(let I=k.length-1;I>=0;I--)if(k[I].type!=="system")return k[I]}})(),y=(()=>{var P;const k=Xe({message:v,viewerLanguage:d}),{custom_type:A,attachment_content_type:I}=(v==null?void 0:v.metadata)||{};if(A===K.MESSAGE_CUSTOM_TYPE.TIP)return k||"Sent a tip";if(A===K.MESSAGE_CUSTOM_TYPE.PAID)return k||"Sent a message";if(A===K.MESSAGE_CUSTOM_TYPE.ATTACHMENT){if(I==="text")return"πŸ”’ Sent a locked message";if(I==="media")return"πŸ”’ Sent a locked attachment"}if(k)return k;const E=(P=v==null?void 0:v.attachments)==null?void 0:P[0];return E?E.og_scrape_url?E.og_scrape_url:E.type==="image"?"πŸ“· Sent an image":E.type==="video"?"πŸŽ₯ Sent a video":E.type==="audio"?"🎡 Sent audio":E.type==="file"?"πŸ“Ž Sent a file":"πŸ“Ž Sent an attachment":"No messages yet"})(),w=v!=null&&v.created_at?Ps(new Date(v.created_at)):"",T=v?Me(v):!1,D=c?c(v,y):`${T?"✨ ":""}${y}`,M=n??0;return i&&console.log("πŸ“Ί [ChannelList] πŸ“‹ CHANNEL PREVIEW RENDER",{channelId:s==null?void 0:s.id,isSelected:f,participantName:j,unreadCount:M,hasTimestamp:!!w}),t.jsx("div",{role:"button",tabIndex:0,onClick:x,onKeyDown:l,className:C("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]":f,"hover:bg-black/[0.02]":!f}),"data-dd-privacy":"mask",children:t.jsxs("div",{className:"flex items-start gap-4",children:[t.jsx(ue,{id:((R=b==null?void 0:b.user)==null?void 0:R.id)||s.id||"unknown",name:j,image:p,size:48,starred:m}),t.jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-1",children:[t.jsxs("div",{className:"flex items-center justify-between gap-2",children:[t.jsxs("h3",{className:C("text-sm font-medium truncate text-[#191918]"),children:[m&&t.jsx("span",{className:"sr-only",children:"Starred conversation. "}),j]}),w&&t.jsx("span",{className:"text-xs text-[#717070] flex-shrink-0",children:w})]}),t.jsxs("div",{className:"flex items-center justify-between gap-2 min-w-0",children:[t.jsx("p",{className:"text-sm text-[#717070] flex-1 line-clamp-1",children:D}),M>0&&t.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:M>99?"99+":M})]})]})]})})});Fs.displayName="CustomChannelPreview";const Xr={last_message_at:-1},zs=h.memo(({onChannelSelect:e,selectedChannel:s,filters:n,allowNewMessagesFromUnfilteredChannels:a=!1,channelRenderFilterFn:r,sort:i=Xr,className:o,customEmptyStateIndicator:c,channelListPaginator:d=_.InfiniteScroll,channelPreview:u,renderMessagePreview:f,viewerLanguage:m,lockChannelOrder:x,onMessageNewHandler:l,onMessageNew:b,onChannelVisible:j,onAddedToChannel:p,onChannelUpdated:v})=>{const g=h.useRef(0);g.current++;const{debug:y=!1}=Ye(),w=h.useCallback(D=>{for(const M of D)Gr(M);return r?r(D):D},[r]);y&&console.log("πŸ“Ί [ChannelList] πŸ”„ RENDER START",{renderCount:g.current,selectedChannelId:s==null?void 0:s.id,filters:n});const T=h.useMemo(()=>({selectedChannel:s,onChannelSelect:e,debug:y,channelPreview:u,renderMessagePreview:f,viewerLanguage:m}),[s,e,y,u,f,m]);return t.jsx("div",{className:C("messaging-channel-list h-full flex flex-col min-w-0 overflow-hidden",o),children:t.jsx("div",{className:"flex-1 overflow-hidden min-w-0",children:t.jsx(Yr,{value:T,children:t.jsx(_.ChannelList,{filters:n,sort:i,options:{limit:30},allowNewMessagesFromUnfilteredChannels:a,channelRenderFilterFn:w,lockChannelOrder:x,onMessageNewHandler:l,onMessageNew:b,onChannelVisible:j,onAddedToChannel:p,onChannelUpdated:v,Paginator:d,Preview:Fs,EmptyStateIndicator:c},`${JSON.stringify(n)}:${JSON.stringify(i)}`)})})})});zs.displayName="ChannelList";const Kr="line-clamp-2 text-[14px] font-medium leading-5 tracking-[0.28px] [text-wrap:balance]",Zr="text-[12px] leading-4 tracking-[0.24px] [text-wrap:pretty]",Xt=({surface:e,actions:s,layout:n})=>{if(s==null||s.length===0)return null;const a=n==="stacked";return t.jsx("div",{className:C("flex gap-2",a?"mt-3 flex-col":"min-w-0 max-w-[60%] flex-row flex-wrap justify-end"),children:s.map((r,i)=>t.jsx(gs,{variant:e,cta:r,fullWidth:a,standalone:!0},`${r.label}-${i}`))})},Jr=({ctaSurface:e,chinTextColor:s,title:n,subtitle:a,subtitleLines:r=3,appIcon:i,actions:o})=>{var b;const c=n!=null&&n.trim()!=="",d=a!=null&&a.trim()!=="",u=o!=null&&o.length>0;if(!c&&!d&&!u)return null;const f={color:s},m=r>1?{...f,display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:r,overflow:"hidden"}:f,x=u&&(((b=o==null?void 0:o[0])==null?void 0:b.variant)??"primary")==="secondary",l=t.jsxs("div",{className:"flex min-w-0 flex-1 flex-col gap-[2px]",children:[c&&t.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[i?t.jsx("span",{className:"shrink-0",children:i}):null,t.jsx("p",{className:C("min-w-0",Kr),style:f,children:n})]}),d&&t.jsx("p",{className:C(Zr,r>1&&"whitespace-pre-line",r<=1&&"truncate"),style:m,children:a})]});return t.jsx("div",{className:"shrink-0 px-4 py-3",children:x?t.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l,t.jsx(Xt,{surface:e,actions:o,layout:"row"})]}):t.jsxs(t.Fragment,{children:[l,t.jsx(Xt,{surface:e,actions:o,layout:"stacked"})]})})},Qr={dark:"bg-white/[0.06]",light:"bg-black/[0.04]"},ei={1:[0],2:[-10,10],3:[-13,0,13]},ti={1:[0],2:[-26,26],3:[-40,0,40]},si={1:[0],2:[0,1],3:[1,3,2]},ni={1:[1],2:[1,1],3:[1,1.08,1]},ai=({variant:e,images:s})=>{const[n,a]=h.useState({}),r=s.join(`
2
+ `),[i,o]=h.useState(r);r!==i&&(o(r),a({}));const c=s.slice(0,3).map((l,b)=>({src:l,index:b})).filter(({index:l})=>!n[l]),d=c.length>=3?3:c.length===2?2:1,u=ei[d],f=ti[d],m=si[d],x=ni[d];return t.jsx("div",{className:C("relative flex min-h-0 w-full flex-1 items-center justify-center overflow-hidden",Qr[e]),children:c.map(({src:l,index:b},j)=>t.jsx("img",{src:se(l)??l,alt:"",draggable:!1,loading:"lazy",decoding:"async",onError:()=>a(p=>({...p,[b]:!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(${f[j]}px) rotate(${u[j]}deg) scale(${x[j]})`,zIndex:m[j]}},`${l}-${b}`))})},ri="flex h-[180px] w-full shrink-0 flex-col overflow-hidden",ii=({variant:e,presentation:s,images:n,title:a,heroUrl:r,onHeroError:i})=>t.jsx("div",{className:ri,children:s==="fan"?t.jsx(ai,{variant:e,images:n}):t.jsx(we,{variant:e,thumbnailUrl:r,title:a,mimeType:"image/*",onImageError:i})}),Bs=({variant:e,title:s,subtitle:n,subtitleLines:a,images:r=[],imagePresentation:i,actions:o,appIcon:c,accentColor:d,groupPosition:u="single"})=>{const f=K.resolveRichCardImagePresentation({imagePresentation:i,images:r}),m=r.length>0,x=m&&f==="hero",l=Fe({variant:e,accentColor:d,layout:"featured",thumbnailUrl:x?r[0]:void 0}),b=u==="single"||u==="end";return t.jsx(it,{accentHex:l.accentHex,side:e==="dark"?"sender":"receiver",visible:b,children:t.jsxs(je,{variant:e,accentHex:l.accentHex,"data-testid":"rich-card",children:[m&&t.jsx(ii,{variant:e,presentation:f,images:r,title:s,heroUrl:x?l.thumbnailUrl:void 0,onHeroError:l.onImageError}),t.jsx(Jr,{ctaSurface:l.surface,chinTextColor:l.chinTextColor,title:s,subtitle:n,subtitleLines:a,appIcon:c,actions:o})]})})},oi=e=>t.jsx(Bs,{...e,variant:"dark"}),li=e=>t.jsx(Bs,{...e,variant:"light"}),ci={Sent:oi,Received:li},Kt=`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%`,di={sent:"var(--str-chat__own-message-bubble-background-color, #1e2330)",received:"var(--str-chat__message-bubble-background-color, #f1f0ee)"},ui=({variant:e})=>t.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:di[e],WebkitMask:Kt,mask:Kt}}),mi={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)"}},$s=({variant:e,text:s,tail:n=!0,header:a,className:r})=>t.jsxs("div",{"data-dd-privacy":"mask",className:C("relative px-4 py-3","text-[0.875rem] leading-[1.3125rem] tracking-[0.14px]",r),style:{...mi[e],borderRadius:"var(--str-chat__message-bubble-border-radius, 1.5rem)",isolation:"isolate"},children:[a!=null&&t.jsx("div",{className:"mb-1 font-medium","data-testid":"message-bubble-header",children:a}),t.jsx("p",{className:"m-0 whitespace-pre-wrap break-words hyphens-manual",children:s}),n&&t.jsx(ui,{variant:e})]}),hi=({text:e,tail:s,header:n,className:a})=>t.jsx($s,{variant:"received",text:e,tail:s,header:n,className:a}),fi=({text:e,tail:s,className:n})=>t.jsx($s,{variant:"sent",text:e,tail:s,className:n}),xi={Sent:fi,Received:hi},Us=({question:e,onClick:s,loading:n=!1,className:a})=>t.jsx("button",{type:"button",onClick:s,disabled:n,style:{backgroundColor:"#E6E5E3"},className:C("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}),gi=({faqs:e,onFaqClick:s,loadingFaqId:n,headerText:a,className:r,avatarImage:i,avatarName:o})=>{const c=K.selectEnabledFaqs(e);return c.length===0?null:t.jsx("div",{className:r,children:t.jsxs("div",{className:"flex gap-3 items-end",children:[(i||o)&&t.jsx("div",{className:"flex-none",children:t.jsx(ue,{id:o||"account",name:o||"Account",image:i,size:24,shape:"circle"})}),t.jsxs("div",{className:"flex-1 flex flex-col gap-3 rounded-lg p-4",style:{backgroundColor:"#F1F0EE"},children:[a&&t.jsx("p",{className:"text-md text-charcoal mb-4",children:a}),c.map(d=>t.jsx(Us,{question:d.question,onClick:()=>s(d.id),loading:n===d.id},d.id))]})]})})};exports.ActionButton=fe;exports.AttachmentThumbnail=Ke;exports.Avatar=ue;exports.ChannelEmptyState=Ds;exports.ChannelList=zs;exports.ChannelView=ht;exports.CustomMessageProvider=Tn;exports.FaqList=gi;exports.FaqListItem=Us;exports.LinkAttachment=Ae;exports.LockedAttachment=be;exports.MediaMessage=kn;exports.MessageAttachment=xe;exports.MessageBubble=xi;exports.MessagingLoggerProvider=Qt;exports.MessagingProvider=qs;exports.MessagingShell=Vr;exports.RichCard=ci;exports.TipMessage=xs;exports.bubbleGroupPositionFromStream=pa;exports.buildCompactMetaLabel=js;exports.formatFileSize=bs;exports.formatRelativeTime=Ps;exports.getFileExtensionLabel=vs;exports.getMessageDisplayText=Xe;exports.getSourceType=ae;exports.isLinkAttachment=_e;exports.isTipMessage=et;exports.isUuidLike=ns;exports.normalizeLanguageCode=rs;exports.optimizeMessagingAttachmentUrl=se;exports.renderTypeIcon=de;exports.resolveConversationParticipant=We;exports.resolveLinkAttachment=Oe;exports.resolveMediaFromMessage=Pe;exports.resolveParticipantDisplayName=qe;exports.useComposerLocked=Er;exports.useCustomMessage=ms;exports.useMessaging=ts;exports.useMessagingLogger=Ws;
3
+ //# sourceMappingURL=index-BkqyKPJP.cjs.map