@remit/web-client-dist 0.0.357 → 0.0.358

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 (110) hide show
  1. package/assets/{BriefPane-puM8DuEu.js → BriefPane-YxP0nBcU.js} +1 -1
  2. package/assets/{ErrorState-DE7fNU8i.js → ErrorState-BnG-HaD4.js} +1 -1
  3. package/assets/{FlaggedPane-CAEBNxx7.js → FlaggedPane-C9Tl8Sgb.js} +1 -1
  4. package/assets/{FullCompose-CF-9-qhJ.js → FullCompose-CPdM2XxU.js} +1 -1
  5. package/assets/{MailListHeader-CYgtRJbp.js → MailListHeader-Trtc8lfx.js} +1 -1
  6. package/assets/{MailViewChrome-C6eAuQJs.js → MailViewChrome-BJ4q1GXR.js} +1 -1
  7. package/assets/{MailboxPane-DbkiJ-ZU.js → MailboxPane-DUPDvxrK.js} +1 -1
  8. package/assets/{NavMenuButton-DETzPdQ0.js → NavMenuButton-O8AaZTpY.js} +1 -1
  9. package/assets/{OnboardingWizard-DlLLqDnD.js → OnboardingWizard-CEm3zOtV.js} +1 -1
  10. package/assets/{OutboxPane-rhl_tAc1.js → OutboxPane-ZalnkqRY.js} +1 -1
  11. package/assets/_mailboxId-DXY2DcuZ.js +1 -0
  12. package/assets/_messageId-ByR6_bo3.js +1 -0
  13. package/assets/_messageId-DJaF3SkN.js +1 -0
  14. package/assets/_messageId-YRdjdIfb.js +1 -0
  15. package/assets/_outboxMessageId-CkQCgzpt.js +1 -0
  16. package/assets/_threadId-Bd2uE3xH.js +1 -0
  17. package/assets/_threadId-BpRvUgZ7.js +1 -0
  18. package/assets/_threadId-CPMLmOLx.js +1 -0
  19. package/assets/{accounts-DbaCuU1h.js → accounts-Bp1UvtHI.js} +1 -1
  20. package/assets/{advanced-BSm56wvd.js → advanced-JyuqGV4K.js} +1 -1
  21. package/assets/{appearance-B-YQ_D-G.js → appearance-CJPxo4Dl.js} +1 -1
  22. package/assets/{attachment-file-tMJndpDR.js → attachment-file-CMfx3CcW.js} +1 -1
  23. package/assets/{avatar-PxGVQCQm.js → avatar-DqkGERXB.js} +1 -1
  24. package/assets/{bottom-sheet-Ciu6wor9.js → bottom-sheet-CNBsemxY.js} +1 -1
  25. package/assets/{brief-DubGNUqe.js → brief-DMSyXbnZ.js} +1 -1
  26. package/assets/brief-citXjdnu.js +1 -0
  27. package/assets/{browser-ponyfill-C4FMZXOi.js → browser-ponyfill-D4nvYSFj.js} +1 -1
  28. package/assets/{bug-JImhsPJZ.js → bug-BZM7jlIN.js} +1 -1
  29. package/assets/{circle-check-BishEtb4.js → circle-check-BsPPl8Vd.js} +1 -1
  30. package/assets/{circle-check-big-CKyhX0ge.js → circle-check-big-Cn33pldS.js} +1 -1
  31. package/assets/{circle-help-DNSDxunA.js → circle-help-DWpn0l-r.js} +1 -1
  32. package/assets/{clock-C6eJ9JFT.js → clock-60QzMefl.js} +1 -1
  33. package/assets/{compose-AxF0yn31.js → compose-CqHqZWHD.js} +1 -1
  34. package/assets/compose._-_outboxMessageId_-ByFahrZS.js +1 -0
  35. package/assets/compose._-_outboxMessageId_-C2HJn-2W.js +1 -0
  36. package/assets/compose._-_outboxMessageId_-CxA7rvH-.js +1 -0
  37. package/assets/compose._-_outboxMessageId_-oxU0Mfa7.js +1 -0
  38. package/assets/{confirm-dialog-CywFW_iF.js → confirm-dialog-53Vs8qdX.js} +1 -1
  39. package/assets/{download-DmAN5nYp.js → download-D1wer2rZ.js} +1 -1
  40. package/assets/{filters-At6X_4Qa.js → filters-CMw41CNL.js} +1 -1
  41. package/assets/flagged-CY2Fx9HR.js +1 -0
  42. package/assets/{flagged-jp1NtAkh.js → flagged-Cru9TjXl.js} +1 -1
  43. package/assets/{folders-DbfZVDiu.js → folders-YVFNTyHN.js} +1 -1
  44. package/assets/{index-hsglfEcH.js → index-35SwEY68.js} +4 -4
  45. package/assets/index-B-qT49RY.js +1 -0
  46. package/assets/index-B3RVTIK6.js +1 -0
  47. package/assets/{index-Bc4oWEgj.js → index-BdqDBo3X.js} +3 -3
  48. package/assets/index-ByR6_bo3.js +1 -0
  49. package/assets/index-C7e45zc3.js +1 -0
  50. package/assets/index-DIOW99Bl.js +1 -0
  51. package/assets/index-DJaF3SkN.js +1 -0
  52. package/assets/index-Hzw2sya0.js +1 -0
  53. package/assets/index-VU4NiHyS.js +1 -0
  54. package/assets/{kbd-BnNxZdo9.js → kbd-DRG84K0I.js} +1 -1
  55. package/assets/{labels-C9gJSc2V.js → labels-9XIJbNPF.js} +1 -1
  56. package/assets/{mail-yJsrR6p8.js → mail-C6L5FwL2.js} +1 -1
  57. package/assets/{mail-DhWlCt7m.js → mail-Dt38b6by.js} +1 -1
  58. package/assets/{menu-CblIqBpR.js → menu-DhWodGKO.js} +1 -1
  59. package/assets/{move-options-PPPCxetl.js → move-options-DQMo_1sS.js} +1 -1
  60. package/assets/{onboarding-Duh_dZ50.js → onboarding-DELVHzq-.js} +1 -1
  61. package/assets/outbox-DH9yQHIF.js +1 -0
  62. package/assets/{pencil-B86il4i1.js → pencil-D_5c_wk2.js} +1 -1
  63. package/assets/{rich-text-BwRqTdXk.js → rich-text-DP-h8BHT.js} +1 -1
  64. package/assets/{rich-text-spellcheck-worker-provider-Cw73W4ra.js → rich-text-spellcheck-worker-provider-GExspSVN.js} +1 -1
  65. package/assets/{rotate-ccw-BE3AeQO_.js → rotate-ccw-DZMpRbI3.js} +1 -1
  66. package/assets/{row-actions-BIuqQwly.js → row-actions-D0SH67tM.js} +1 -1
  67. package/assets/{search-scope-BJ5VJ_uq.js → search-scope-D8eDCx--.js} +1 -1
  68. package/assets/{search-token-index-DMBdkNPl.js → search-token-index-BUcol5TC.js} +1 -1
  69. package/assets/{search-view-CIqdN9ZA.js → search-view-gS47hGhs.js} +1 -1
  70. package/assets/{senders-D0EUFTR8.js → senders-TcrlfWI1.js} +1 -1
  71. package/assets/settings-Esp4eIvp.js +1 -0
  72. package/assets/{settings-screen-C21f5beW.js → settings-screen-DhSJUsiq.js} +1 -1
  73. package/assets/{shield-check-Df-A4ExU.js → shield-check-CCXTGJKT.js} +1 -1
  74. package/assets/{suggested-vips-Ca0ezOFd.js → suggested-vips-t25EFcuR.js} +1 -1
  75. package/assets/{useDebouncedValue-IVFdfd-Z.js → useDebouncedValue-BWx5HMb8.js} +1 -1
  76. package/assets/{useFilters-BDcT8xyT.js → useFilters-CWfk6Iq3.js} +1 -1
  77. package/assets/{useLabels-DgAdgt4V.js → useLabels-BngSwTS5.js} +1 -1
  78. package/assets/{useMediaQuery-Do73WdTM.js → useMediaQuery-DXxjKaoU.js} +1 -1
  79. package/assets/{useMessageBodyContent-BmfPKs9C.js → useMessageBodyContent-BZp02vgj.js} +1 -1
  80. package/assets/{useRefreshControl-VEa-1NUQ.js → useRefreshControl-Rijlvzuj.js} +1 -1
  81. package/assets/{useSearchMirror-BT4CR3rd.js → useSearchMirror-DcLrKu1Z.js} +1 -1
  82. package/assets/{useSearchTokenContext-BAqGqR_E.js → useSearchTokenContext-Cbnmmy2v.js} +1 -1
  83. package/assets/{useSemanticSearch-Crkt2g7K.js → useSemanticSearch-_Eo5DA7X.js} +1 -1
  84. package/assets/{useSignature-Bs8Za-GC.js → useSignature-Bm--1yAp.js} +1 -1
  85. package/index.html +1 -1
  86. package/package.json +1 -1
  87. package/assets/_mailboxId-BR-LNTQS.js +0 -1
  88. package/assets/_messageId-CxBxkF3k.js +0 -1
  89. package/assets/_messageId-DjOWQUpX.js +0 -1
  90. package/assets/_messageId-qN-nMeXL.js +0 -1
  91. package/assets/_outboxMessageId-BQrj00OE.js +0 -1
  92. package/assets/_threadId-BGf6L5rM.js +0 -1
  93. package/assets/_threadId-BRuwbmj0.js +0 -1
  94. package/assets/_threadId-BlCdqtPP.js +0 -1
  95. package/assets/brief-Dp35AAgB.js +0 -1
  96. package/assets/compose._-_outboxMessageId_-BfYj8gy-.js +0 -1
  97. package/assets/compose._-_outboxMessageId_-Cc3PlpVt.js +0 -1
  98. package/assets/compose._-_outboxMessageId_-DlR5IYTH.js +0 -1
  99. package/assets/compose._-_outboxMessageId_-Dt7szGb0.js +0 -1
  100. package/assets/flagged-LjN4HTxh.js +0 -1
  101. package/assets/index-BXLKZFis.js +0 -1
  102. package/assets/index-CTtiHBdR.js +0 -1
  103. package/assets/index-CxBxkF3k.js +0 -1
  104. package/assets/index-DEiS9BN9.js +0 -1
  105. package/assets/index-DjOWQUpX.js +0 -1
  106. package/assets/index-DurZ9GJj.js +0 -1
  107. package/assets/index-DxnTd-0-.js +0 -1
  108. package/assets/index-wfsMNkWS.js +0 -1
  109. package/assets/outbox-DNUUZW9t.js +0 -1
  110. package/assets/settings-jhnhMsua.js +0 -1
@@ -1 +1 @@
1
- import{j as a,af as Ze,S as Xe,bh as es,l as O,bb as ss,m as ae,r as n,s as se,bi as te,q as ts,bj as as,bk as os,bl as ns,e as Re,bm as rs,i as is}from"./index-hsglfEcH.js";import{s as Te,a as ls,b as we,u as cs,p as ds,R as us}from"./useSearchTokenContext-BAqGqR_E.js";import{a2 as ve,D as ye,a3 as ms,a4 as fs,E as hs,a5 as Se,a6 as gs,a7 as xs,a8 as ps,a1 as Is,a9 as bs,aa as vs,ab as ys,M as Ss,ac as Cs,ad as js,ae as Rs,e as Ts,v as ws,af as Ms,r as ks,S as As,H as Ns,L as Ce,K as Fs,I as Bs,d as Os,W as Ls,X as Me,Y as Es,Z as ke,_ as qs}from"./MailListHeader-CYgtRJbp.js";import{u as Ds,a as Ps,R as zs,i as _s,b as Hs}from"./useRefreshControl-VEa-1NUQ.js";import{e as Qs,c as $s,R as Ws}from"./search-token-index-DMBdkNPl.js";import{a as Us}from"./useLabels-DgAdgt4V.js";import{u as Vs}from"./useMediaQuery-Do73WdTM.js";import{u as Ys,L as Gs}from"./useSemanticSearch-Crkt2g7K.js";import{f as Js}from"./useMessageBodyContent-BmfPKs9C.js";function Ks({sync:e}){return e?a.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-2 py-12 text-center px-4",role:"status","aria-live":"polite",children:[a.jsx(Ze,{className:"size-8 animate-spin text-fg-subtle","aria-hidden":"true"}),a.jsx("p",{className:"text-sm font-medium text-fg",children:"Still syncing your mail"}),a.jsx("p",{className:"text-xs text-fg-subtle",children:Zs(e)})]}):a.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-2 py-12 text-center px-4",children:[a.jsx(Xe,{className:"size-8 text-fg-subtle","aria-hidden":"true"}),a.jsx("p",{className:"text-sm font-medium text-fg",children:"You're caught up"}),a.jsx("p",{className:"text-xs text-fg-subtle",children:"Nothing needs attention."})]})}function Zs({synced:e,total:s}){return s>0?`${e.toLocaleString()} of ${s.toLocaleString()} messages downloaded. This list fills in as they arrive.`:"Downloading your messages. This list fills in as they arrive."}const Ae=[{id:"unread",name:"is",value:"unread"},{id:"attachment",name:"has",value:"attachment"}],Ne="category",Xs={unclassified:"uncategorized"},z=e=>ls(e).map(s=>s.raw),P=e=>e.join(" "),oe=e=>{const s=we(e);if(s)return Ae.find(o=>o.name===s.name&&o.value===s.value.toLowerCase())?.id},ne=e=>{const s=we(e);if(!s||s.name!==Ne)return;const o=s.value.toLowerCase(),r=Xs[o];if(r)return r;if(!(!es(o)||o==="all"))return o},Fe=e=>Ae.find(s=>s.id===e),Be=e=>Fe(e)!==void 0,et=e=>{const s=new Set;for(const o of z(e)){const r=oe(o);r&&s.add(r)}return s},st=e=>{let s="all";for(const o of z(e)){const r=ne(o);r&&(s=r)}return s},tt=(e,s)=>{const o=Fe(s);if(!o)return;const r=z(e),d=r.filter(i=>oe(i)!==s);return d.length<r.length?P(d):P([...r,Te(o.name,o.value)])},at=(e,s)=>{const o=z(e).filter(r=>!ne(r));return P(s==="all"?o:[...o,Te(Ne,s)])},ot=e=>P(z(e).filter(s=>!oe(s)&&!ne(s))),Oe=e=>e.trim().length>0,nt=e=>{if(!Oe(e.query))return e.ownFilters;const s=new Set(et(e.query));for(const o of e.ownFilters)Be(o)||s.add(o);return s},rt=e=>Oe(e.query)?st(e.query):e.ownCategory,it=(e,s)=>e.createdAt!==s.createdAt?e.createdAt-s.createdAt:e.accountId.localeCompare(s.accountId),lt=e=>[...e].sort(it),ct=200,je=()=>a.jsx("div",{className:"animate-pulse",children:Array.from({length:3}).map((e,s)=>a.jsxs("div",{className:"flex items-start gap-3 py-2 pl-5 pr-4 border-b border-line",children:[a.jsx("div",{className:"size-7 rounded-full bg-surface-sunken shrink-0 mt-0.5"}),a.jsxs("div",{className:"flex-1 space-y-1.5",children:[a.jsxs("div",{className:"flex justify-between gap-2",children:[a.jsx("div",{className:"h-3.5 bg-surface-sunken rounded w-28"}),a.jsx("div",{className:"h-3 bg-surface-sunken rounded w-12"})]}),a.jsx("div",{className:"h-3.5 bg-surface-sunken rounded w-48"}),a.jsx("div",{className:"h-3 bg-surface-sunken rounded w-full"})]})]},s))}),dt=({accountEmail:e})=>{const s=ae();return a.jsxs("div",{className:"flex items-center gap-2 px-row-inset py-2 border-b border-line bg-danger-soft/40 text-xs text-danger",children:[a.jsx(Re,{className:"size-3.5 shrink-0"}),a.jsxs("span",{className:"flex-1 truncate",children:[e," can't connect"]}),a.jsx("button",{type:"button",onClick:()=>s({to:"/settings/accounts"}),className:"shrink-0 underline text-danger hover:opacity-80",children:"Reconnect"})]})},ut=(e,s)=>{if(s.size===0)return{};const o=new Set,r=new Set;for(const i of e)s.has(i.id)&&(i.accountId&&o.add(i.accountId),i.mailboxId&&r.add(i.mailboxId));if(o.size>1)return{restriction:"spansAccounts",moveDisabledHint:"Move only works within one account — clear selection or pick messages from a single account"};const d=o.size===1?[...o][0]:void 0;return r.size>1?{accountId:d,restriction:"spansFolders",moveDisabledHint:`Move only works within one folder — this selection spans ${r.size} folders`}:{accountId:d,mailboxId:r.size===1?[...r][0]:void 0}};function mt({header:e,rows:s,wizard:o,children:r}){const{selectedIds:d,selectedCount:i,exitSelection:x,orderedIds:f,allSelected:u,toggleAllLoaded:y}=Rs(),p=n.useMemo(()=>ut(s,d),[s,d]),{junkMailboxId:I}=Ts(p.accountId),{labels:S}=Us(p.accountId),N=n.useMemo(()=>Array.from(d),[d]),L=n.useMemo(()=>s.filter(h=>d.has(h.id)).map(h=>({id:h.id,sender:h.fromName,email:h.fromEmail,subject:h.subject,date:h.timeLabel})),[s,d]),m=ws(I,p.mailboxId),b=n.useMemo(()=>f.length>0?{checked:u,indeterminate:i>0&&!u,onChange:y}:void 0,[f.length,u,i,y]),j=p.moveDisabledHint?{tone:"warning",text:p.moveDisabledHint}:void 0,C=h=>a.jsx(As,{title:h.title,navSlot:h.navSlot,titleMeta:h.titleMeta,searchSlot:h.searchSlot,searchField:h.searchField,idleSlot:h.makeFilterSlot,count:i,onCancel:x,onDelete:()=>o.start("delete"),onMove:()=>o.start("move"),onOrganize:()=>o.start("organize"),onJunk:m?()=>o.start("junk"):void 0,onMarkRead:()=>o.start("markRead"),overflowSlot:p.accountId&&p.mailboxId&&i>0&&S.length>0?a.jsx(Gs,{accountId:p.accountId,mailboxId:p.mailboxId,messageIds:N}):void 0,selectAll:b,notice:j});return a.jsx(Ms,{...e,selectionBar:C,paneOverlay:a.jsx(ks,{verb:o.verb,accountId:p.accountId,mailboxId:p.mailboxId,selection:L,selectionRestriction:p.restriction,onFinished:x}),children:r})}function ft({accounts:e,selectedMessageId:s,onOpenThread:o,commandsRef:r,onTriageContextChange:d,onDeleteMessages:i}){const{searchQuery:x,searchInput:f,resultFolderIndex:u,onSearchChange:y}=O(),p=cs(),I=Vs(),S=Qs(),N=ss(),L=ae(),m=n.useMemo(()=>lt(e.filter(t=>!t.muted?.value)),[e]),[b,j]=n.useState("all"),[C,h]=n.useState("all"),[_,E]=n.useState(new Set),[Y,B]=n.useState(!1),q=n.useCallback(t=>{E(l=>{const c=new Set(l);return c.has(t)?c.delete(t):c.add(t),c})},[]),H=n.useCallback(()=>E(new Set),[]),R=f.trim().length>0,T=n.useMemo(()=>nt({query:f,ownFilters:_}),[f,_]),w=n.useMemo(()=>rt({query:f,ownCategory:C}),[f,C]),g=n.useCallback(t=>{if(!R||!Be(t)){q(t);return}const l=tt(f,t);l!==void 0&&y(l)},[R,f,y,q]),M=n.useCallback(t=>{if(!R){h(t);return}y(at(f,t))},[R,f,y]),F=n.useCallback(()=>{h("all"),j("all"),H(),R&&y(ot(f))},[R,f,y,H]),{data:Q,isLoading:G,isError:re,refetch:ie}=se({...te(),staleTime:6e4}),$=$s({queries:m.map(t=>({...ts({path:{accountId:t.accountId}}),staleTime:1/0,meta:{softError:!0}}))}),W=n.useMemo(()=>{const t=new Map;for(let l=0;l<m.length;l++){const c=m[l].accountId,Ge=($[l]?.data?.items??[]).reduce((Je,Ke)=>Je+(Ke.unseenCount??0),0);t.set(c,Ge)}return t},[m,$]),qe=n.useMemo(()=>m.filter((t,l)=>{const c=$[l];return c?.isError?!as(c.error):!1}),[m,$]),{freeText:k,tokens:J}=ds(x.trim().toLowerCase(),p),{data:le,isFetching:De}=se({...te({query:{query:k,limit:ct}}),enabled:k.length>0,staleTime:3e4}),v=n.useMemo(()=>{const t=ve(Q?.items??[]).map(ye);return(k?ms(t.filter(c=>fs(c,k)),ve(le?.items??[]).map(ye)):t).filter(c=>(b==="all"||c.accountId===b)&&hs(c,J))},[Q,le,b,k,J]),{bodyRows:ce,briefSpamOffer:K}=n.useMemo(()=>{if(!k)return{bodyRows:v,briefSpamOffer:void 0};const t=v.map(A=>Se(A,u)),{spam:l}=gs(t);if(l.length===0)return{bodyRows:v,briefSpamOffer:void 0};const c=new Set(l.map(A=>A.id));return{bodyRows:v.filter(A=>!c.has(A.id)),briefSpamOffer:xs(t)}},[v,k,u]),de=n.useMemo(()=>ps(ce),[ce]),ue=n.useCallback((t,l)=>{const c=v.find(A=>A.id===t)?.threadId;c&&o?.({threadId:c,messageId:t},l)},[v,o]),Pe=n.useCallback(t=>{const l=t.threadId??v.find(c=>c.id===t.id)?.threadId;l&&o?.({threadId:l,messageId:t.id})},[v,o]),Z=n.useMemo(()=>m.length<=1?[]:[{id:"all",label:"All",active:b==="all"},...m.map(t=>({id:t.accountId,label:t.email.split("@")[0]??t.email,count:W.get(t.accountId),active:b===t.accountId}))],[m,W,b]),D=n.useMemo(()=>e.filter(t=>t.muted?.value).length,[e]),ze=n.useMemo(()=>Array.from(W.values()).reduce((t,l)=>t+l,0),[W]),X=n.useMemo(()=>m.map(t=>t.accountId),[m]),{hasNewMail:me}=Ds(),{state:fe,errorMessage:he,refresh:ge}=Ps(X,{onSettled:()=>ie()}),_e=n.useMemo(()=>a.jsx(zs,{state:fe,onRefresh:ge,label:"Refresh daily brief",errorMessage:he,hasUpdate:me(X)}),[fe,ge,he,me,X]),ee=n.useMemo(()=>v.filter(t=>(w==="all"||t.category===w)&&os(t,T)).map(t=>Se(t,u)),[v,w,T,u]),{hits:xe,isLoading:He}=Ys(),Qe=n.useMemo(()=>{const t=new Map;for(const c of Q?.items??[])t.set(c.messageId,c.threadId);const l=ee.map(c=>t.get(c.id)).filter(c=>c!=null);return Is(xe,l,u)},[xe,ee,Q,u]),$e=n.useMemo(()=>{const t=bs(Z.map(l=>({id:l.id,label:l.label,count:l.count,active:l.active})));return{categories:t.categories,filters:t.filters,sources:t.sources,sourcesNote:D>0?`+${D} muted`:void 0,selectedCategory:w,activeFilters:T,expanded:Y,onExpandedChange:B,onSelectCategory:l=>M(l),onSelectSource:j,onToggleFilter:l=>g(l),onClear:F}},[Z,D,w,T,Y,g,M,F]),pe=de.length===0&&b==="all"&&k.length===0&&J.length===0,We=n.useMemo(()=>m.map(t=>t.accountId),[m]),Ue=n.useMemo(()=>m.some(t=>_s(t.syncPhase)),[m]),U=Hs(We,pe||Ue),Ie=a.jsxs("div",{className:"h-full overflow-y-auto",children:[a.jsx(je,{}),a.jsx(je,{})]}),be=!G&&!re&&!pe,Ve=vs({tier:S,hasLiveInput:R,hasCommittedQuery:x.trim().length>0,bodyRendersCommittedResults:!0}),Ye=be?a.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[K&&a.jsx(ys,{count:K.count,onScopeToSpam:()=>L({to:"/mail/$mailboxId",params:{mailboxId:K.mailboxId},search:{q:x||void 0}})}),a.jsx("div",{className:"min-h-0 flex-1",children:a.jsx(ns,{sections:de,briefCategory:w,Row:Ss,selectedThreadId:s,onSelectThread:ue,onSelectBriefCategory:M,sources:Z,sourcesNote:D>0?`+${D} muted`:void 0,onSelectSource:j,activeFilters:T,onToggleFilter:g,onClearFilters:F})})]}):G?Ie:re?a.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-3 py-12 text-sm text-fg-muted",children:[a.jsx(Re,{className:"size-8 text-danger"}),a.jsx("p",{children:"Couldn't load your messages"}),a.jsxs("button",{type:"button",onClick:()=>ie(),className:"flex items-center gap-1 text-accent underline text-xs",children:[a.jsx(Ws,{className:"size-3.5"}),"Try again"]})]}):U.resolved?a.jsx(Ks,{sync:U.syncing?{synced:U.synced,total:U.total}:void 0}):Ie;return a.jsx(rs,{hasSheet:be&&!Ve,children:a.jsx(Cs,{selectedMessageId:s,onOpen:ue,onDeleteMessages:i,onSelectionVerb:N.start,wizardOpen:N.isOpen,commandsRef:r,onTriageContextChange:d,children:a.jsx(mt,{wizard:N,header:{title:"Daily brief",unreadCount:ze,footer:I?a.jsx(js,{}):void 0,searchFilter:$e,searchResults:ee,searchLoading:G||De,relatedResults:Qe,relatedLoading:He,onSelectSearchResult:Pe,searchResultsInBody:!0,refreshControl:_e},rows:v,children:a.jsxs("div",{className:"flex h-full flex-col",children:[qe.map(t=>a.jsx(dt,{accountEmail:t.email,accountId:t.accountId},t.accountId)),a.jsx("div",{className:"min-h-0 flex-1",children:Ye})]})})})})}const Le=n.createContext(null);function V(){const e=n.useContext(Le);if(!e)throw new Error("BriefPane.* must be used inside <BriefPane>");return e}function ht({thread:e,children:s}){const o=ae(),r=Js(),{searchInput:d}=O(),i=e?.threadId,x=e?.messageId,{data:f}=se({...te(),staleTime:6e4}),u=n.useMemo(()=>f?.items??[],[f]),y=n.useMemo(()=>{if(i)return u.find(g=>g.messageId===x)??u.find(g=>g.threadId===i)},[u,i,x]),p=Ns(i,x),I=y??p,S=x??I?.messageId,N=n.useMemo(()=>{if(i)return{threadId:i,mailboxId:I?.mailboxId??"",subject:I?.subject,messageId:S,authenticity:I?.authenticity}},[i,I,S]),L=n.useCallback((g,M)=>{o({to:"/mail/brief/$threadId/$messageId",params:g,replace:M?.replace,search:F=>({...F,q:d||void 0}),hash:r})},[o,r,d]),m=n.useCallback(()=>{o({to:"/mail/brief",search:g=>g,hash:r})},[o,r]),b=n.useCallback(g=>{S&&g.includes(S)&&m()},[S,m]),j=Ce({thread:I,onAfterOptimisticRemove:b}),C=Fs(),{deleteMessages:h}=Bs({mailboxId:I?.mailboxId??"",messages:u,onAfterOptimisticRemove:b}),{toggleReadFor:_}=Os({mailboxId:I?.mailboxId??"",messages:u}),E=C.focusedMessageId,B=n.useMemo(()=>u.find(g=>g.messageId===E),[u,E])??I,q=Ce({thread:B}),{nextMessageId:H,previousMessageId:R}=Ls({context:C,orderedIds:C.orderedIds,selectedMessageId:S,onClose:m,handlers:{reply:()=>j.requestCompose("reply"),replyAll:()=>j.requestCompose("reply_all"),forward:()=>j.requestCompose("forward"),delete:()=>{C.listCommandsRef.current?.requestVerb("delete")||q.deleteThread()},toggleStar:q.toggleStar,toggleRead:()=>{C.listCommandsRef.current?.requestVerb("markRead")||B&&_([B.messageId],!B.isRead)},goFlagged:()=>o({to:"/mail/flagged"}),goSettings:()=>o({to:"/settings"})}}),T=n.useCallback(g=>{if(!g)return;const M=u.find(F=>F.messageId===g);return M?{threadId:M.threadId,messageId:g}:void 0},[u]),w={selectedMessageId:S,selectedThread:I,conversation:N,onOpenThread:L,onCloseThread:m,nextThread:T(H),previousThread:T(R),actions:j,triage:C,onDeleteMessages:h,handleDeselectIfRemoved:b};return a.jsx(Le.Provider,{value:w,children:s})}function Ee(){const{selectedMessageId:e,onOpenThread:s,triage:o,onDeleteMessages:r}=V(),{accounts:d}=O();return a.jsx(ft,{accounts:d,selectedMessageId:e,onOpenThread:s,commandsRef:o.listCommandsRef,onTriageContextChange:o.onTriageContextChange,onDeleteMessages:r})}function gt(){const{conversation:e,actions:s}=V(),{intelligenceOpen:o,onToggleIntelligence:r}=O(),d=is()?.showIntelligencePane??!1,i=!!e,x=d&&i;return a.jsxs("section",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[a.jsx(qs,{hasThread:i,intelligenceOpen:x&&o,canToggleIntelligence:x,onToggleIntelligence:r,onReply:i?()=>s.requestCompose("reply"):void 0,onReplyAll:i?()=>s.requestCompose("reply_all"):void 0,onForward:i?()=>s.requestCompose("forward"):void 0,onDelete:i?s.deleteThread:void 0,onToggleStar:i?s.toggleStar:void 0,isStarred:s.isStarred,moveContext:i&&s.accountId&&s.mailboxId?{accountId:s.accountId,currentMailboxId:s.mailboxId,onMove:s.moveThread}:void 0}),a.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:e?a.jsx(Me,{threadId:e.threadId,mailboxId:e.mailboxId,subject:e.subject,selectedMessageId:e.messageId,authenticity:e.authenticity,composeRequest:s.composeRequest,onComposeClose:s.clearComposeRequest}):a.jsx(us,{})})]})}function xt(){const{selectedThread:e,handleDeselectIfRemoved:s}=V(),{onToggleIntelligence:o}=O();return a.jsx(ke,{onClose:o,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:s})}function pt(){const{selectedThread:e,conversation:s,onOpenThread:o,onCloseThread:r,nextThread:d,previousThread:i,handleDeselectIfRemoved:x}=V(),{intelligenceOpen:f,onToggleIntelligence:u}=O();return s?a.jsxs(a.Fragment,{children:[a.jsx(Me,{threadId:s.threadId,mailboxId:s.mailboxId,subject:s.subject,selectedMessageId:s.messageId,authenticity:s.authenticity,onBack:r,onOpenIntelligence:u,onSwipeNext:d?()=>o(d):void 0,onSwipePrevious:i?()=>o(i):void 0,mobileIntelligenceOpen:f}),a.jsx(Es,{isOpen:f,onClose:u,ariaLabel:"Message details",side:"right",children:a.jsx(ke,{onClose:u,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,hideCloseButton:!0,onAfterOptimisticRemove:x})})]}):a.jsx("div",{className:"h-full",children:a.jsx(Ee,{})})}const wt=Object.assign(ht,{List:Ee,Reading:gt,Intelligence:xt,Phone:pt});export{wt as B};
1
+ import{j as a,af as Ze,S as Xe,bh as es,l as O,bb as ss,m as ae,r as n,s as se,bi as te,q as ts,bj as as,bk as os,bl as ns,e as Re,bm as rs,i as is}from"./index-35SwEY68.js";import{s as Te,a as ls,b as we,u as cs,p as ds,R as us}from"./useSearchTokenContext-Cbnmmy2v.js";import{a2 as ve,D as ye,a3 as ms,a4 as fs,E as hs,a5 as Se,a6 as gs,a7 as xs,a8 as ps,a1 as Is,a9 as bs,aa as vs,ab as ys,M as Ss,ac as Cs,ad as js,ae as Rs,e as Ts,v as ws,af as Ms,r as ks,S as As,H as Ns,L as Ce,K as Fs,I as Bs,d as Os,W as Ls,X as Me,Y as Es,Z as ke,_ as qs}from"./MailListHeader-Trtc8lfx.js";import{u as Ds,a as Ps,R as zs,i as _s,b as Hs}from"./useRefreshControl-Rijlvzuj.js";import{e as Qs,c as $s,R as Ws}from"./search-token-index-BUcol5TC.js";import{a as Us}from"./useLabels-BngSwTS5.js";import{u as Vs}from"./useMediaQuery-DXxjKaoU.js";import{u as Ys,L as Gs}from"./useSemanticSearch-_Eo5DA7X.js";import{f as Js}from"./useMessageBodyContent-BZp02vgj.js";function Ks({sync:e}){return e?a.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-2 py-12 text-center px-4",role:"status","aria-live":"polite",children:[a.jsx(Ze,{className:"size-8 animate-spin text-fg-subtle","aria-hidden":"true"}),a.jsx("p",{className:"text-sm font-medium text-fg",children:"Still syncing your mail"}),a.jsx("p",{className:"text-xs text-fg-subtle",children:Zs(e)})]}):a.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-2 py-12 text-center px-4",children:[a.jsx(Xe,{className:"size-8 text-fg-subtle","aria-hidden":"true"}),a.jsx("p",{className:"text-sm font-medium text-fg",children:"You're caught up"}),a.jsx("p",{className:"text-xs text-fg-subtle",children:"Nothing needs attention."})]})}function Zs({synced:e,total:s}){return s>0?`${e.toLocaleString()} of ${s.toLocaleString()} messages downloaded. This list fills in as they arrive.`:"Downloading your messages. This list fills in as they arrive."}const Ae=[{id:"unread",name:"is",value:"unread"},{id:"attachment",name:"has",value:"attachment"}],Ne="category",Xs={unclassified:"uncategorized"},z=e=>ls(e).map(s=>s.raw),P=e=>e.join(" "),oe=e=>{const s=we(e);if(s)return Ae.find(o=>o.name===s.name&&o.value===s.value.toLowerCase())?.id},ne=e=>{const s=we(e);if(!s||s.name!==Ne)return;const o=s.value.toLowerCase(),r=Xs[o];if(r)return r;if(!(!es(o)||o==="all"))return o},Fe=e=>Ae.find(s=>s.id===e),Be=e=>Fe(e)!==void 0,et=e=>{const s=new Set;for(const o of z(e)){const r=oe(o);r&&s.add(r)}return s},st=e=>{let s="all";for(const o of z(e)){const r=ne(o);r&&(s=r)}return s},tt=(e,s)=>{const o=Fe(s);if(!o)return;const r=z(e),d=r.filter(i=>oe(i)!==s);return d.length<r.length?P(d):P([...r,Te(o.name,o.value)])},at=(e,s)=>{const o=z(e).filter(r=>!ne(r));return P(s==="all"?o:[...o,Te(Ne,s)])},ot=e=>P(z(e).filter(s=>!oe(s)&&!ne(s))),Oe=e=>e.trim().length>0,nt=e=>{if(!Oe(e.query))return e.ownFilters;const s=new Set(et(e.query));for(const o of e.ownFilters)Be(o)||s.add(o);return s},rt=e=>Oe(e.query)?st(e.query):e.ownCategory,it=(e,s)=>e.createdAt!==s.createdAt?e.createdAt-s.createdAt:e.accountId.localeCompare(s.accountId),lt=e=>[...e].sort(it),ct=200,je=()=>a.jsx("div",{className:"animate-pulse",children:Array.from({length:3}).map((e,s)=>a.jsxs("div",{className:"flex items-start gap-3 py-2 pl-5 pr-4 border-b border-line",children:[a.jsx("div",{className:"size-7 rounded-full bg-surface-sunken shrink-0 mt-0.5"}),a.jsxs("div",{className:"flex-1 space-y-1.5",children:[a.jsxs("div",{className:"flex justify-between gap-2",children:[a.jsx("div",{className:"h-3.5 bg-surface-sunken rounded w-28"}),a.jsx("div",{className:"h-3 bg-surface-sunken rounded w-12"})]}),a.jsx("div",{className:"h-3.5 bg-surface-sunken rounded w-48"}),a.jsx("div",{className:"h-3 bg-surface-sunken rounded w-full"})]})]},s))}),dt=({accountEmail:e})=>{const s=ae();return a.jsxs("div",{className:"flex items-center gap-2 px-row-inset py-2 border-b border-line bg-danger-soft/40 text-xs text-danger",children:[a.jsx(Re,{className:"size-3.5 shrink-0"}),a.jsxs("span",{className:"flex-1 truncate",children:[e," can't connect"]}),a.jsx("button",{type:"button",onClick:()=>s({to:"/settings/accounts"}),className:"shrink-0 underline text-danger hover:opacity-80",children:"Reconnect"})]})},ut=(e,s)=>{if(s.size===0)return{};const o=new Set,r=new Set;for(const i of e)s.has(i.id)&&(i.accountId&&o.add(i.accountId),i.mailboxId&&r.add(i.mailboxId));if(o.size>1)return{restriction:"spansAccounts",moveDisabledHint:"Move only works within one account — clear selection or pick messages from a single account"};const d=o.size===1?[...o][0]:void 0;return r.size>1?{accountId:d,restriction:"spansFolders",moveDisabledHint:`Move only works within one folder — this selection spans ${r.size} folders`}:{accountId:d,mailboxId:r.size===1?[...r][0]:void 0}};function mt({header:e,rows:s,wizard:o,children:r}){const{selectedIds:d,selectedCount:i,exitSelection:x,orderedIds:f,allSelected:u,toggleAllLoaded:y}=Rs(),p=n.useMemo(()=>ut(s,d),[s,d]),{junkMailboxId:I}=Ts(p.accountId),{labels:S}=Us(p.accountId),N=n.useMemo(()=>Array.from(d),[d]),L=n.useMemo(()=>s.filter(h=>d.has(h.id)).map(h=>({id:h.id,sender:h.fromName,email:h.fromEmail,subject:h.subject,date:h.timeLabel})),[s,d]),m=ws(I,p.mailboxId),b=n.useMemo(()=>f.length>0?{checked:u,indeterminate:i>0&&!u,onChange:y}:void 0,[f.length,u,i,y]),j=p.moveDisabledHint?{tone:"warning",text:p.moveDisabledHint}:void 0,C=h=>a.jsx(As,{title:h.title,navSlot:h.navSlot,titleMeta:h.titleMeta,searchSlot:h.searchSlot,searchField:h.searchField,idleSlot:h.makeFilterSlot,count:i,onCancel:x,onDelete:()=>o.start("delete"),onMove:()=>o.start("move"),onOrganize:()=>o.start("organize"),onJunk:m?()=>o.start("junk"):void 0,onMarkRead:()=>o.start("markRead"),overflowSlot:p.accountId&&p.mailboxId&&i>0&&S.length>0?a.jsx(Gs,{accountId:p.accountId,mailboxId:p.mailboxId,messageIds:N}):void 0,selectAll:b,notice:j});return a.jsx(Ms,{...e,selectionBar:C,paneOverlay:a.jsx(ks,{verb:o.verb,accountId:p.accountId,mailboxId:p.mailboxId,selection:L,selectionRestriction:p.restriction,onFinished:x}),children:r})}function ft({accounts:e,selectedMessageId:s,onOpenThread:o,commandsRef:r,onTriageContextChange:d,onDeleteMessages:i}){const{searchQuery:x,searchInput:f,resultFolderIndex:u,onSearchChange:y}=O(),p=cs(),I=Vs(),S=Qs(),N=ss(),L=ae(),m=n.useMemo(()=>lt(e.filter(t=>!t.muted?.value)),[e]),[b,j]=n.useState("all"),[C,h]=n.useState("all"),[_,E]=n.useState(new Set),[Y,B]=n.useState(!1),q=n.useCallback(t=>{E(l=>{const c=new Set(l);return c.has(t)?c.delete(t):c.add(t),c})},[]),H=n.useCallback(()=>E(new Set),[]),R=f.trim().length>0,T=n.useMemo(()=>nt({query:f,ownFilters:_}),[f,_]),w=n.useMemo(()=>rt({query:f,ownCategory:C}),[f,C]),g=n.useCallback(t=>{if(!R||!Be(t)){q(t);return}const l=tt(f,t);l!==void 0&&y(l)},[R,f,y,q]),M=n.useCallback(t=>{if(!R){h(t);return}y(at(f,t))},[R,f,y]),F=n.useCallback(()=>{h("all"),j("all"),H(),R&&y(ot(f))},[R,f,y,H]),{data:Q,isLoading:G,isError:re,refetch:ie}=se({...te(),staleTime:6e4}),$=$s({queries:m.map(t=>({...ts({path:{accountId:t.accountId}}),staleTime:1/0,meta:{softError:!0}}))}),W=n.useMemo(()=>{const t=new Map;for(let l=0;l<m.length;l++){const c=m[l].accountId,Ge=($[l]?.data?.items??[]).reduce((Je,Ke)=>Je+(Ke.unseenCount??0),0);t.set(c,Ge)}return t},[m,$]),qe=n.useMemo(()=>m.filter((t,l)=>{const c=$[l];return c?.isError?!as(c.error):!1}),[m,$]),{freeText:k,tokens:J}=ds(x.trim().toLowerCase(),p),{data:le,isFetching:De}=se({...te({query:{query:k,limit:ct}}),enabled:k.length>0,staleTime:3e4}),v=n.useMemo(()=>{const t=ve(Q?.items??[]).map(ye);return(k?ms(t.filter(c=>fs(c,k)),ve(le?.items??[]).map(ye)):t).filter(c=>(b==="all"||c.accountId===b)&&hs(c,J))},[Q,le,b,k,J]),{bodyRows:ce,briefSpamOffer:K}=n.useMemo(()=>{if(!k)return{bodyRows:v,briefSpamOffer:void 0};const t=v.map(A=>Se(A,u)),{spam:l}=gs(t);if(l.length===0)return{bodyRows:v,briefSpamOffer:void 0};const c=new Set(l.map(A=>A.id));return{bodyRows:v.filter(A=>!c.has(A.id)),briefSpamOffer:xs(t)}},[v,k,u]),de=n.useMemo(()=>ps(ce),[ce]),ue=n.useCallback((t,l)=>{const c=v.find(A=>A.id===t)?.threadId;c&&o?.({threadId:c,messageId:t},l)},[v,o]),Pe=n.useCallback(t=>{const l=t.threadId??v.find(c=>c.id===t.id)?.threadId;l&&o?.({threadId:l,messageId:t.id})},[v,o]),Z=n.useMemo(()=>m.length<=1?[]:[{id:"all",label:"All",active:b==="all"},...m.map(t=>({id:t.accountId,label:t.email.split("@")[0]??t.email,count:W.get(t.accountId),active:b===t.accountId}))],[m,W,b]),D=n.useMemo(()=>e.filter(t=>t.muted?.value).length,[e]),ze=n.useMemo(()=>Array.from(W.values()).reduce((t,l)=>t+l,0),[W]),X=n.useMemo(()=>m.map(t=>t.accountId),[m]),{hasNewMail:me}=Ds(),{state:fe,errorMessage:he,refresh:ge}=Ps(X,{onSettled:()=>ie()}),_e=n.useMemo(()=>a.jsx(zs,{state:fe,onRefresh:ge,label:"Refresh daily brief",errorMessage:he,hasUpdate:me(X)}),[fe,ge,he,me,X]),ee=n.useMemo(()=>v.filter(t=>(w==="all"||t.category===w)&&os(t,T)).map(t=>Se(t,u)),[v,w,T,u]),{hits:xe,isLoading:He}=Ys(),Qe=n.useMemo(()=>{const t=new Map;for(const c of Q?.items??[])t.set(c.messageId,c.threadId);const l=ee.map(c=>t.get(c.id)).filter(c=>c!=null);return Is(xe,l,u)},[xe,ee,Q,u]),$e=n.useMemo(()=>{const t=bs(Z.map(l=>({id:l.id,label:l.label,count:l.count,active:l.active})));return{categories:t.categories,filters:t.filters,sources:t.sources,sourcesNote:D>0?`+${D} muted`:void 0,selectedCategory:w,activeFilters:T,expanded:Y,onExpandedChange:B,onSelectCategory:l=>M(l),onSelectSource:j,onToggleFilter:l=>g(l),onClear:F}},[Z,D,w,T,Y,g,M,F]),pe=de.length===0&&b==="all"&&k.length===0&&J.length===0,We=n.useMemo(()=>m.map(t=>t.accountId),[m]),Ue=n.useMemo(()=>m.some(t=>_s(t.syncPhase)),[m]),U=Hs(We,pe||Ue),Ie=a.jsxs("div",{className:"h-full overflow-y-auto",children:[a.jsx(je,{}),a.jsx(je,{})]}),be=!G&&!re&&!pe,Ve=vs({tier:S,hasLiveInput:R,hasCommittedQuery:x.trim().length>0,bodyRendersCommittedResults:!0}),Ye=be?a.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[K&&a.jsx(ys,{count:K.count,onScopeToSpam:()=>L({to:"/mail/$mailboxId",params:{mailboxId:K.mailboxId},search:{q:x||void 0}})}),a.jsx("div",{className:"min-h-0 flex-1",children:a.jsx(ns,{sections:de,briefCategory:w,Row:Ss,selectedThreadId:s,onSelectThread:ue,onSelectBriefCategory:M,sources:Z,sourcesNote:D>0?`+${D} muted`:void 0,onSelectSource:j,activeFilters:T,onToggleFilter:g,onClearFilters:F})})]}):G?Ie:re?a.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-3 py-12 text-sm text-fg-muted",children:[a.jsx(Re,{className:"size-8 text-danger"}),a.jsx("p",{children:"Couldn't load your messages"}),a.jsxs("button",{type:"button",onClick:()=>ie(),className:"flex items-center gap-1 text-accent underline text-xs",children:[a.jsx(Ws,{className:"size-3.5"}),"Try again"]})]}):U.resolved?a.jsx(Ks,{sync:U.syncing?{synced:U.synced,total:U.total}:void 0}):Ie;return a.jsx(rs,{hasSheet:be&&!Ve,children:a.jsx(Cs,{selectedMessageId:s,onOpen:ue,onDeleteMessages:i,onSelectionVerb:N.start,wizardOpen:N.isOpen,commandsRef:r,onTriageContextChange:d,children:a.jsx(mt,{wizard:N,header:{title:"Daily brief",unreadCount:ze,footer:I?a.jsx(js,{}):void 0,searchFilter:$e,searchResults:ee,searchLoading:G||De,relatedResults:Qe,relatedLoading:He,onSelectSearchResult:Pe,searchResultsInBody:!0,refreshControl:_e},rows:v,children:a.jsxs("div",{className:"flex h-full flex-col",children:[qe.map(t=>a.jsx(dt,{accountEmail:t.email,accountId:t.accountId},t.accountId)),a.jsx("div",{className:"min-h-0 flex-1",children:Ye})]})})})})}const Le=n.createContext(null);function V(){const e=n.useContext(Le);if(!e)throw new Error("BriefPane.* must be used inside <BriefPane>");return e}function ht({thread:e,children:s}){const o=ae(),r=Js(),{searchInput:d}=O(),i=e?.threadId,x=e?.messageId,{data:f}=se({...te(),staleTime:6e4}),u=n.useMemo(()=>f?.items??[],[f]),y=n.useMemo(()=>{if(i)return u.find(g=>g.messageId===x)??u.find(g=>g.threadId===i)},[u,i,x]),p=Ns(i,x),I=y??p,S=x??I?.messageId,N=n.useMemo(()=>{if(i)return{threadId:i,mailboxId:I?.mailboxId??"",subject:I?.subject,messageId:S,authenticity:I?.authenticity}},[i,I,S]),L=n.useCallback((g,M)=>{o({to:"/mail/brief/$threadId/$messageId",params:g,replace:M?.replace,search:F=>({...F,q:d||void 0}),hash:r})},[o,r,d]),m=n.useCallback(()=>{o({to:"/mail/brief",search:g=>g,hash:r})},[o,r]),b=n.useCallback(g=>{S&&g.includes(S)&&m()},[S,m]),j=Ce({thread:I,onAfterOptimisticRemove:b}),C=Fs(),{deleteMessages:h}=Bs({mailboxId:I?.mailboxId??"",messages:u,onAfterOptimisticRemove:b}),{toggleReadFor:_}=Os({mailboxId:I?.mailboxId??"",messages:u}),E=C.focusedMessageId,B=n.useMemo(()=>u.find(g=>g.messageId===E),[u,E])??I,q=Ce({thread:B}),{nextMessageId:H,previousMessageId:R}=Ls({context:C,orderedIds:C.orderedIds,selectedMessageId:S,onClose:m,handlers:{reply:()=>j.requestCompose("reply"),replyAll:()=>j.requestCompose("reply_all"),forward:()=>j.requestCompose("forward"),delete:()=>{C.listCommandsRef.current?.requestVerb("delete")||q.deleteThread()},toggleStar:q.toggleStar,toggleRead:()=>{C.listCommandsRef.current?.requestVerb("markRead")||B&&_([B.messageId],!B.isRead)},goFlagged:()=>o({to:"/mail/flagged"}),goSettings:()=>o({to:"/settings"})}}),T=n.useCallback(g=>{if(!g)return;const M=u.find(F=>F.messageId===g);return M?{threadId:M.threadId,messageId:g}:void 0},[u]),w={selectedMessageId:S,selectedThread:I,conversation:N,onOpenThread:L,onCloseThread:m,nextThread:T(H),previousThread:T(R),actions:j,triage:C,onDeleteMessages:h,handleDeselectIfRemoved:b};return a.jsx(Le.Provider,{value:w,children:s})}function Ee(){const{selectedMessageId:e,onOpenThread:s,triage:o,onDeleteMessages:r}=V(),{accounts:d}=O();return a.jsx(ft,{accounts:d,selectedMessageId:e,onOpenThread:s,commandsRef:o.listCommandsRef,onTriageContextChange:o.onTriageContextChange,onDeleteMessages:r})}function gt(){const{conversation:e,actions:s}=V(),{intelligenceOpen:o,onToggleIntelligence:r}=O(),d=is()?.showIntelligencePane??!1,i=!!e,x=d&&i;return a.jsxs("section",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[a.jsx(qs,{hasThread:i,intelligenceOpen:x&&o,canToggleIntelligence:x,onToggleIntelligence:r,onReply:i?()=>s.requestCompose("reply"):void 0,onReplyAll:i?()=>s.requestCompose("reply_all"):void 0,onForward:i?()=>s.requestCompose("forward"):void 0,onDelete:i?s.deleteThread:void 0,onToggleStar:i?s.toggleStar:void 0,isStarred:s.isStarred,moveContext:i&&s.accountId&&s.mailboxId?{accountId:s.accountId,currentMailboxId:s.mailboxId,onMove:s.moveThread}:void 0}),a.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:e?a.jsx(Me,{threadId:e.threadId,mailboxId:e.mailboxId,subject:e.subject,selectedMessageId:e.messageId,authenticity:e.authenticity,composeRequest:s.composeRequest,onComposeClose:s.clearComposeRequest}):a.jsx(us,{})})]})}function xt(){const{selectedThread:e,handleDeselectIfRemoved:s}=V(),{onToggleIntelligence:o}=O();return a.jsx(ke,{onClose:o,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:s})}function pt(){const{selectedThread:e,conversation:s,onOpenThread:o,onCloseThread:r,nextThread:d,previousThread:i,handleDeselectIfRemoved:x}=V(),{intelligenceOpen:f,onToggleIntelligence:u}=O();return s?a.jsxs(a.Fragment,{children:[a.jsx(Me,{threadId:s.threadId,mailboxId:s.mailboxId,subject:s.subject,selectedMessageId:s.messageId,authenticity:s.authenticity,onBack:r,onOpenIntelligence:u,onSwipeNext:d?()=>o(d):void 0,onSwipePrevious:i?()=>o(i):void 0,mobileIntelligenceOpen:f}),a.jsx(Es,{isOpen:f,onClose:u,ariaLabel:"Message details",side:"right",children:a.jsx(ke,{onClose:u,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,hideCloseButton:!0,onAfterOptimisticRemove:x})})]}):a.jsx("div",{className:"h-full",children:a.jsx(Ee,{})})}const wt=Object.assign(ht,{List:Ee,Reading:gt,Intelligence:xt,Phone:pt});export{wt as B};
@@ -1 +1 @@
1
- import{j as t,e as r}from"./index-hsglfEcH.js";const d=e=>e instanceof Error?e.message:typeof e=="string"?e:typeof e=="object"&&e!==null&&"message"in e&&typeof e.message=="string"?e.message:"An unexpected error occurred",l=({title:e="Couldn't load content",error:a,onRetry:s,variant:i="block"})=>{const n=d(a);return i==="inline"?t.jsxs("div",{role:"alert",className:"flex items-start gap-2 rounded-md border border-danger/40 bg-danger-soft px-3 py-2 text-sm",children:[t.jsx(r,{className:"size-4 shrink-0 text-danger mt-0.5","aria-hidden":"true"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"font-medium text-danger",children:e}),t.jsx("p",{className:"text-fg-muted mt-0.5 break-words",children:n})]}),s&&t.jsx("button",{type:"button",onClick:s,className:"shrink-0 text-sm font-medium text-accent hover:underline",children:"Retry"})]}):t.jsxs("div",{role:"alert",className:"flex flex-col items-center justify-center gap-3 p-8 text-center",children:[t.jsx(r,{className:"size-8 text-danger","aria-hidden":"true"}),t.jsxs("div",{children:[t.jsx("p",{className:"font-medium text-danger",children:e}),t.jsx("p",{className:"text-sm text-fg-muted mt-1 break-words",children:n})]}),s&&t.jsx("button",{type:"button",onClick:s,className:"inline-flex items-center rounded-md border border-line bg-canvas px-4 py-2 text-sm font-medium hover:bg-surface-raised transition-colors",children:"Retry"})]})};export{l as E,d as f};
1
+ import{j as t,e as r}from"./index-35SwEY68.js";const d=e=>e instanceof Error?e.message:typeof e=="string"?e:typeof e=="object"&&e!==null&&"message"in e&&typeof e.message=="string"?e.message:"An unexpected error occurred",l=({title:e="Couldn't load content",error:a,onRetry:s,variant:i="block"})=>{const n=d(a);return i==="inline"?t.jsxs("div",{role:"alert",className:"flex items-start gap-2 rounded-md border border-danger/40 bg-danger-soft px-3 py-2 text-sm",children:[t.jsx(r,{className:"size-4 shrink-0 text-danger mt-0.5","aria-hidden":"true"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"font-medium text-danger",children:e}),t.jsx("p",{className:"text-fg-muted mt-0.5 break-words",children:n})]}),s&&t.jsx("button",{type:"button",onClick:s,className:"shrink-0 text-sm font-medium text-accent hover:underline",children:"Retry"})]}):t.jsxs("div",{role:"alert",className:"flex flex-col items-center justify-center gap-3 p-8 text-center",children:[t.jsx(r,{className:"size-8 text-danger","aria-hidden":"true"}),t.jsxs("div",{children:[t.jsx("p",{className:"font-medium text-danger",children:e}),t.jsx("p",{className:"text-sm text-fg-muted mt-1 break-words",children:n})]}),s&&t.jsx("button",{type:"button",onClick:s,className:"inline-flex items-center rounded-md border border-line bg-canvas px-4 py-2 text-sm font-medium hover:bg-surface-raised transition-colors",children:"Retry"})]})};export{l as E,d as f};
@@ -1 +1 @@
1
- import{d4 as X,r as n,cp as Y,l as P,bb as Z,aF as J,aG as ee,j as a,m as te,i as se}from"./index-hsglfEcH.js";import{u as ae,p as oe,R as re}from"./useSearchTokenContext-BAqGqR_E.js";import{D as ne,a4 as ie,E as de,aq as le,a5 as ce,b as ue,M as ge,ac as he,ar as me,ae as fe,r as pe,H as Ie,L as H,K as xe,I as Te,d as be,W as ve,X as z,Y as Ce,Z as Q,_ as ye}from"./MailListHeader-CYgtRJbp.js";import{u as Re,b as Se,a as je}from"./MailViewChrome-C6eAuQJs.js";import{f as we}from"./ErrorState-DE7fNU8i.js";import{u as Fe}from"./useMediaQuery-Do73WdTM.js";import{f as Me}from"./useMessageBodyContent-BmfPKs9C.js";const Pe=()=>Y({query:{starred:!0,order:"desc"}});function V(){const{data:e,isLoading:t,isError:o,error:i,refetch:m,fetchNextPage:s,hasNextPage:h,isFetchingNextPage:c}=Re({queryKey:Pe(),queryFn:async({pageParam:f})=>{const{data:d}=await X({query:{starred:!0,order:"desc",continuationToken:f},throwOnError:!0});return d},initialPageParam:void 0,getNextPageParam:f=>f.continuationToken,staleTime:6e4});return{threads:n.useMemo(()=>(e?.pages??[]).flatMap(f=>f.items??[]),[e]),isLoading:t,isError:o,error:i,refetch:m,fetchNextPage:s,hasNextPage:h,isFetchingNextPage:c}}const ke=e=>{const t=new Set;return e.filter(o=>t.has(o.threadId)?!1:(t.add(o.threadId),!0))},Le={unread:e=>!e.isRead,attachment:e=>e.hasAttachment===!0};function qe({rows:e,verb:t}){const{selectedIds:o,exitSelection:i}=fe(),m=n.useMemo(()=>e.filter(s=>o.has(s.id)).map(s=>({id:s.id,sender:s.fromName,email:s.fromEmail,subject:s.subject,date:s.timeLabel})),[e,o]);return a.jsx(pe,{verb:t,selection:m,selectionRestriction:"spansAccounts",onFinished:i})}function Oe({selectedMessageId:e,onOpenThread:t,commandsRef:o,onTriageContextChange:i,onDeleteMessages:m}){const{searchQuery:s,resultFolderIndex:h}=P(),c=ae(),T=Fe(),f=Z(),[d,I]=n.useState("all"),[S,k]=n.useState(new Set),v=n.useCallback(r=>{k(g=>{const p=new Set(g);return p.has(r)?p.delete(r):p.add(r),p})},[]),j=n.useCallback(()=>{I("all"),k(new Set)},[]),{threads:b,isLoading:x,isError:L,error:N,refetch:q,fetchNextPage:E,hasNextPage:C,isFetchingNextPage:w}=V(),{freeText:y,tokens:O}=oe(s.trim().toLowerCase(),c),u=n.useMemo(()=>{const r=Array.from(S).map(g=>Le[g]).filter(g=>g!=null);return ke(b).map(ne).filter(g=>(d==="all"||g.category===d)&&r.every(p=>p(g))&&(!y||ie(g,y))&&de(g,O))},[b,d,S,y,O]),F=n.useCallback((r,g)=>{const p=u.find(U=>U.id===r)?.threadId;p&&t?.({threadId:p,messageId:r},g)},[u,t]),l=n.useCallback(r=>{const g=r.threadId??u.find(p=>p.id===r.id)?.threadId;g&&t?.({threadId:g,messageId:r.id})},[u,t]),R=n.useMemo(()=>le(),[]),M=n.useMemo(()=>u.map(r=>ce(r,h)),[u,h]),W=n.useMemo(()=>u.filter(r=>!r.isRead).length,[u]),D=x?"loading":L?"error":u.length===0?"empty":"ready",G=n.useCallback(()=>{const r=J(ee());window.open(r,"_blank","noopener,noreferrer")},[]),B=ue(),$=a.jsx("div",{className:"flex h-full min-h-0 flex-col",children:a.jsxs("div",{className:"flex-1 overflow-y-auto",children:[a.jsx("div",{className:"divide-y divide-line",children:u.map(r=>a.jsx(ge,{thread:r,active:r.id===e,onClick:()=>F(r.id)},r.id))}),C?a.jsx("button",{type:"button",className:"w-full py-3 text-sm text-muted hover:text-fg disabled:opacity-50",onClick:()=>E(),disabled:w,children:w?"Loading…":"Load more"}):null]})});return a.jsx(Se,{title:"Starred",unreadCount:W,preset:R,selectedCategory:d,activeFilters:S,onSelectCategory:I,onToggleFilter:v,onClearFilters:j,searchResults:M,searchLoading:x,onSelectSearchResult:l,searchResultsInBody:!0,children:a.jsxs(he,{selectedMessageId:e,onOpen:F,onDeleteMessages:m,onSelectionVerb:f.start,wizardOpen:f.isOpen,commandsRef:o,onTriageContextChange:i,children:[a.jsx(je,{listTitle:"Starred",sections:[{id:"flagged",threads:u}],flatList:!0,hideHeader:!0,listState:B.searchResults?"ready":D,searchQuery:y?s:void 0,errorMessage:L?we(N):void 0,onRetry:()=>q(),onReportError:G,selectedThreadId:e,onSelectThread:F,isDesktop:T,selectionBar:a.jsx(me,{title:"Starred"}),listBody:B.searchResults??(D==="ready"?$:void 0)}),a.jsx(qe,{rows:u,verb:f.verb})]})})}const _=n.createContext(null);function A(){const e=n.useContext(_);if(!e)throw new Error("FlaggedPane.* must be used inside <FlaggedPane>");return e}function Ae({thread:e,children:t}){const o=te(),i=Me(),{searchInput:m}=P(),s=e?.threadId,h=e?.messageId,{threads:c}=V(),T=n.useMemo(()=>{if(s)return c.find(l=>l.messageId===h)??c.find(l=>l.threadId===s)},[c,s,h]),f=Ie(s,h),d=T??f,I=h??d?.messageId,S=n.useMemo(()=>{if(s)return{threadId:s,mailboxId:d?.mailboxId??"",subject:d?.subject,messageId:I,authenticity:d?.authenticity}},[s,d,I]),k=n.useCallback((l,R)=>{o({to:"/mail/flagged/$threadId/$messageId",params:l,replace:R?.replace,search:M=>({...M,q:m||void 0}),hash:i})},[o,i,m]),v=n.useCallback(()=>{o({to:"/mail/flagged",search:l=>l,hash:i})},[o,i]),j=n.useCallback(l=>{I&&l.includes(I)&&v()},[I,v]),b=H({thread:d,onAfterOptimisticRemove:j}),x=xe(),{deleteMessages:L}=Te({mailboxId:d?.mailboxId??"",messages:c,onAfterOptimisticRemove:j}),{toggleReadFor:N}=be({mailboxId:d?.mailboxId??"",messages:c}),q=x.focusedMessageId,C=n.useMemo(()=>c.find(l=>l.messageId===q),[c,q])??d,w=H({thread:C}),{nextMessageId:y,previousMessageId:O}=ve({context:x,orderedIds:x.orderedIds,selectedMessageId:I,onClose:v,handlers:{reply:()=>b.requestCompose("reply"),replyAll:()=>b.requestCompose("reply_all"),forward:()=>b.requestCompose("forward"),delete:()=>{x.listCommandsRef.current?.requestVerb("delete")||w.deleteThread()},toggleStar:w.toggleStar,toggleRead:()=>{x.listCommandsRef.current?.requestVerb("markRead")||C&&N([C.messageId],!C.isRead)},goBrief:()=>o({to:"/mail/brief"}),goSettings:()=>o({to:"/settings"})}}),u=n.useCallback(l=>{if(!l)return;const R=c.find(M=>M.messageId===l);return R?{threadId:R.threadId,messageId:l}:void 0},[c]),F={selectedMessageId:I,selectedThread:d,conversation:S,onOpenThread:k,onCloseThread:v,nextThread:u(y),previousThread:u(O),actions:b,triage:x,onDeleteMessages:L,handleDeselectIfRemoved:j};return a.jsx(_.Provider,{value:F,children:t})}function K(){const{selectedMessageId:e,onOpenThread:t,triage:o,onDeleteMessages:i}=A();return a.jsx(Oe,{selectedMessageId:e,onOpenThread:t,commandsRef:o.listCommandsRef,onTriageContextChange:o.onTriageContextChange,onDeleteMessages:i})}function Ne(){const{conversation:e,actions:t}=A(),{intelligenceOpen:o,onToggleIntelligence:i}=P(),m=se()?.showIntelligencePane??!1,s=!!e,h=m&&s;return a.jsxs("section",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[a.jsx(ye,{hasThread:s,intelligenceOpen:h&&o,canToggleIntelligence:h,onToggleIntelligence:i,onReply:s?()=>t.requestCompose("reply"):void 0,onReplyAll:s?()=>t.requestCompose("reply_all"):void 0,onForward:s?()=>t.requestCompose("forward"):void 0,onDelete:s?t.deleteThread:void 0,onToggleStar:s?t.toggleStar:void 0,isStarred:t.isStarred,moveContext:s&&t.accountId&&t.mailboxId?{accountId:t.accountId,currentMailboxId:t.mailboxId,onMove:t.moveThread}:void 0}),a.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:e?a.jsx(z,{threadId:e.threadId,mailboxId:e.mailboxId,subject:e.subject,selectedMessageId:e.messageId,authenticity:e.authenticity,composeRequest:t.composeRequest,onComposeClose:t.clearComposeRequest}):a.jsx(re,{})})]})}function Ee(){const{selectedThread:e,handleDeselectIfRemoved:t}=A(),{onToggleIntelligence:o}=P();return a.jsx(Q,{onClose:o,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:t})}function De(){const{selectedThread:e,conversation:t,onCloseThread:o,onOpenThread:i,nextThread:m,previousThread:s,handleDeselectIfRemoved:h}=A(),{intelligenceOpen:c,onToggleIntelligence:T}=P();return t?a.jsxs(a.Fragment,{children:[a.jsx(z,{threadId:t.threadId,mailboxId:t.mailboxId,subject:t.subject,selectedMessageId:t.messageId,authenticity:t.authenticity,onBack:o,onOpenIntelligence:T,onSwipeNext:m?()=>i(m):void 0,onSwipePrevious:s?()=>i(s):void 0,mobileIntelligenceOpen:c}),a.jsx(Ce,{isOpen:c,onClose:T,ariaLabel:"Message details",side:"right",children:a.jsx(Q,{onClose:T,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,hideCloseButton:!0,onAfterOptimisticRemove:h})})]}):a.jsx("div",{className:"h-full",children:a.jsx(K,{})})}const We=Object.assign(Ae,{List:K,Reading:Ne,Intelligence:Ee,Phone:De});export{We as F};
1
+ import{d4 as X,r as n,cp as Y,l as P,bb as Z,aF as J,aG as ee,j as a,m as te,i as se}from"./index-35SwEY68.js";import{u as ae,p as oe,R as re}from"./useSearchTokenContext-Cbnmmy2v.js";import{D as ne,a4 as ie,E as de,aq as le,a5 as ce,b as ue,M as ge,ac as he,ar as me,ae as fe,r as pe,H as Ie,L as H,K as xe,I as Te,d as be,W as ve,X as z,Y as Ce,Z as Q,_ as ye}from"./MailListHeader-Trtc8lfx.js";import{u as Re,b as Se,a as je}from"./MailViewChrome-BJ4q1GXR.js";import{f as we}from"./ErrorState-BnG-HaD4.js";import{u as Fe}from"./useMediaQuery-DXxjKaoU.js";import{f as Me}from"./useMessageBodyContent-BZp02vgj.js";const Pe=()=>Y({query:{starred:!0,order:"desc"}});function V(){const{data:e,isLoading:t,isError:o,error:i,refetch:m,fetchNextPage:s,hasNextPage:h,isFetchingNextPage:c}=Re({queryKey:Pe(),queryFn:async({pageParam:f})=>{const{data:d}=await X({query:{starred:!0,order:"desc",continuationToken:f},throwOnError:!0});return d},initialPageParam:void 0,getNextPageParam:f=>f.continuationToken,staleTime:6e4});return{threads:n.useMemo(()=>(e?.pages??[]).flatMap(f=>f.items??[]),[e]),isLoading:t,isError:o,error:i,refetch:m,fetchNextPage:s,hasNextPage:h,isFetchingNextPage:c}}const ke=e=>{const t=new Set;return e.filter(o=>t.has(o.threadId)?!1:(t.add(o.threadId),!0))},Le={unread:e=>!e.isRead,attachment:e=>e.hasAttachment===!0};function qe({rows:e,verb:t}){const{selectedIds:o,exitSelection:i}=fe(),m=n.useMemo(()=>e.filter(s=>o.has(s.id)).map(s=>({id:s.id,sender:s.fromName,email:s.fromEmail,subject:s.subject,date:s.timeLabel})),[e,o]);return a.jsx(pe,{verb:t,selection:m,selectionRestriction:"spansAccounts",onFinished:i})}function Oe({selectedMessageId:e,onOpenThread:t,commandsRef:o,onTriageContextChange:i,onDeleteMessages:m}){const{searchQuery:s,resultFolderIndex:h}=P(),c=ae(),T=Fe(),f=Z(),[d,I]=n.useState("all"),[S,k]=n.useState(new Set),v=n.useCallback(r=>{k(g=>{const p=new Set(g);return p.has(r)?p.delete(r):p.add(r),p})},[]),j=n.useCallback(()=>{I("all"),k(new Set)},[]),{threads:b,isLoading:x,isError:L,error:N,refetch:q,fetchNextPage:E,hasNextPage:C,isFetchingNextPage:w}=V(),{freeText:y,tokens:O}=oe(s.trim().toLowerCase(),c),u=n.useMemo(()=>{const r=Array.from(S).map(g=>Le[g]).filter(g=>g!=null);return ke(b).map(ne).filter(g=>(d==="all"||g.category===d)&&r.every(p=>p(g))&&(!y||ie(g,y))&&de(g,O))},[b,d,S,y,O]),F=n.useCallback((r,g)=>{const p=u.find(U=>U.id===r)?.threadId;p&&t?.({threadId:p,messageId:r},g)},[u,t]),l=n.useCallback(r=>{const g=r.threadId??u.find(p=>p.id===r.id)?.threadId;g&&t?.({threadId:g,messageId:r.id})},[u,t]),R=n.useMemo(()=>le(),[]),M=n.useMemo(()=>u.map(r=>ce(r,h)),[u,h]),W=n.useMemo(()=>u.filter(r=>!r.isRead).length,[u]),D=x?"loading":L?"error":u.length===0?"empty":"ready",G=n.useCallback(()=>{const r=J(ee());window.open(r,"_blank","noopener,noreferrer")},[]),B=ue(),$=a.jsx("div",{className:"flex h-full min-h-0 flex-col",children:a.jsxs("div",{className:"flex-1 overflow-y-auto",children:[a.jsx("div",{className:"divide-y divide-line",children:u.map(r=>a.jsx(ge,{thread:r,active:r.id===e,onClick:()=>F(r.id)},r.id))}),C?a.jsx("button",{type:"button",className:"w-full py-3 text-sm text-muted hover:text-fg disabled:opacity-50",onClick:()=>E(),disabled:w,children:w?"Loading…":"Load more"}):null]})});return a.jsx(Se,{title:"Starred",unreadCount:W,preset:R,selectedCategory:d,activeFilters:S,onSelectCategory:I,onToggleFilter:v,onClearFilters:j,searchResults:M,searchLoading:x,onSelectSearchResult:l,searchResultsInBody:!0,children:a.jsxs(he,{selectedMessageId:e,onOpen:F,onDeleteMessages:m,onSelectionVerb:f.start,wizardOpen:f.isOpen,commandsRef:o,onTriageContextChange:i,children:[a.jsx(je,{listTitle:"Starred",sections:[{id:"flagged",threads:u}],flatList:!0,hideHeader:!0,listState:B.searchResults?"ready":D,searchQuery:y?s:void 0,errorMessage:L?we(N):void 0,onRetry:()=>q(),onReportError:G,selectedThreadId:e,onSelectThread:F,isDesktop:T,selectionBar:a.jsx(me,{title:"Starred"}),listBody:B.searchResults??(D==="ready"?$:void 0)}),a.jsx(qe,{rows:u,verb:f.verb})]})})}const _=n.createContext(null);function A(){const e=n.useContext(_);if(!e)throw new Error("FlaggedPane.* must be used inside <FlaggedPane>");return e}function Ae({thread:e,children:t}){const o=te(),i=Me(),{searchInput:m}=P(),s=e?.threadId,h=e?.messageId,{threads:c}=V(),T=n.useMemo(()=>{if(s)return c.find(l=>l.messageId===h)??c.find(l=>l.threadId===s)},[c,s,h]),f=Ie(s,h),d=T??f,I=h??d?.messageId,S=n.useMemo(()=>{if(s)return{threadId:s,mailboxId:d?.mailboxId??"",subject:d?.subject,messageId:I,authenticity:d?.authenticity}},[s,d,I]),k=n.useCallback((l,R)=>{o({to:"/mail/flagged/$threadId/$messageId",params:l,replace:R?.replace,search:M=>({...M,q:m||void 0}),hash:i})},[o,i,m]),v=n.useCallback(()=>{o({to:"/mail/flagged",search:l=>l,hash:i})},[o,i]),j=n.useCallback(l=>{I&&l.includes(I)&&v()},[I,v]),b=H({thread:d,onAfterOptimisticRemove:j}),x=xe(),{deleteMessages:L}=Te({mailboxId:d?.mailboxId??"",messages:c,onAfterOptimisticRemove:j}),{toggleReadFor:N}=be({mailboxId:d?.mailboxId??"",messages:c}),q=x.focusedMessageId,C=n.useMemo(()=>c.find(l=>l.messageId===q),[c,q])??d,w=H({thread:C}),{nextMessageId:y,previousMessageId:O}=ve({context:x,orderedIds:x.orderedIds,selectedMessageId:I,onClose:v,handlers:{reply:()=>b.requestCompose("reply"),replyAll:()=>b.requestCompose("reply_all"),forward:()=>b.requestCompose("forward"),delete:()=>{x.listCommandsRef.current?.requestVerb("delete")||w.deleteThread()},toggleStar:w.toggleStar,toggleRead:()=>{x.listCommandsRef.current?.requestVerb("markRead")||C&&N([C.messageId],!C.isRead)},goBrief:()=>o({to:"/mail/brief"}),goSettings:()=>o({to:"/settings"})}}),u=n.useCallback(l=>{if(!l)return;const R=c.find(M=>M.messageId===l);return R?{threadId:R.threadId,messageId:l}:void 0},[c]),F={selectedMessageId:I,selectedThread:d,conversation:S,onOpenThread:k,onCloseThread:v,nextThread:u(y),previousThread:u(O),actions:b,triage:x,onDeleteMessages:L,handleDeselectIfRemoved:j};return a.jsx(_.Provider,{value:F,children:t})}function K(){const{selectedMessageId:e,onOpenThread:t,triage:o,onDeleteMessages:i}=A();return a.jsx(Oe,{selectedMessageId:e,onOpenThread:t,commandsRef:o.listCommandsRef,onTriageContextChange:o.onTriageContextChange,onDeleteMessages:i})}function Ne(){const{conversation:e,actions:t}=A(),{intelligenceOpen:o,onToggleIntelligence:i}=P(),m=se()?.showIntelligencePane??!1,s=!!e,h=m&&s;return a.jsxs("section",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[a.jsx(ye,{hasThread:s,intelligenceOpen:h&&o,canToggleIntelligence:h,onToggleIntelligence:i,onReply:s?()=>t.requestCompose("reply"):void 0,onReplyAll:s?()=>t.requestCompose("reply_all"):void 0,onForward:s?()=>t.requestCompose("forward"):void 0,onDelete:s?t.deleteThread:void 0,onToggleStar:s?t.toggleStar:void 0,isStarred:t.isStarred,moveContext:s&&t.accountId&&t.mailboxId?{accountId:t.accountId,currentMailboxId:t.mailboxId,onMove:t.moveThread}:void 0}),a.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:e?a.jsx(z,{threadId:e.threadId,mailboxId:e.mailboxId,subject:e.subject,selectedMessageId:e.messageId,authenticity:e.authenticity,composeRequest:t.composeRequest,onComposeClose:t.clearComposeRequest}):a.jsx(re,{})})]})}function Ee(){const{selectedThread:e,handleDeselectIfRemoved:t}=A(),{onToggleIntelligence:o}=P();return a.jsx(Q,{onClose:o,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:t})}function De(){const{selectedThread:e,conversation:t,onCloseThread:o,onOpenThread:i,nextThread:m,previousThread:s,handleDeselectIfRemoved:h}=A(),{intelligenceOpen:c,onToggleIntelligence:T}=P();return t?a.jsxs(a.Fragment,{children:[a.jsx(z,{threadId:t.threadId,mailboxId:t.mailboxId,subject:t.subject,selectedMessageId:t.messageId,authenticity:t.authenticity,onBack:o,onOpenIntelligence:T,onSwipeNext:m?()=>i(m):void 0,onSwipePrevious:s?()=>i(s):void 0,mobileIntelligenceOpen:c}),a.jsx(Ce,{isOpen:c,onClose:T,ariaLabel:"Message details",side:"right",children:a.jsx(Q,{onClose:T,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,hideCloseButton:!0,onAfterOptimisticRemove:h})})]}):a.jsx("div",{className:"h-full",children:a.jsx(K,{})})}const We=Object.assign(Ae,{List:K,Reading:Ne,Intelligence:Ee,Phone:De});export{We as F};
@@ -1 +1 @@
1
- import{r as n,s as f,Q as m,j as e,X as N}from"./index-hsglfEcH.js";import{E as u}from"./ErrorState-DE7fNU8i.js";import{D as r,C as x,u as w}from"./index-Bc4oWEgj.js";import{u as E}from"./useMediaQuery-Do73WdTM.js";import{b as p,d as h,e as b}from"./compose-AxF0yn31.js";import"./useMessageBodyContent-BmfPKs9C.js";import{C as k}from"./confirm-dialog-CywFW_iF.js";const C=t=>t?"Draft":"New Message",I=()=>{const t=n.useRef(!1);return n.useCallback(()=>{const s=document.querySelector("[data-subject-field]")?.value??"",o=(document.querySelector('[data-testid="compose-body"]')?.textContent??"").replace(/--\s*/g,"").trim();return t.current=s.trim().length>0||o.length>0,t.current},[])},S=()=>{const t=p(),i=h(),s=b(),a=I(),[l,o]=n.useState(!1),{isError:d,error:c,refetch:g}=f({...m(),staleTime:1/0}),j=n.useCallback(D=>{D||(a()?o(!0):s())},[s,a]),y=n.useCallback(()=>{o(!1),s()},[s]),v=n.useCallback(()=>{o(!1)},[]);return e.jsxs(r.Root,{open:!0,onOpenChange:j,children:[e.jsxs(r.Portal,{children:[e.jsx(r.Overlay,{className:"fixed inset-0 z-40 bg-black/40"}),e.jsxs(r.Content,{className:"fixed inset-x-0 bottom-0 z-50 flex flex-col rounded-t-lg bg-canvas pb-[env(safe-area-inset-bottom,0px)]",style:{height:"95dvh"},children:[e.jsx(r.Handle,{className:"mx-auto mt-2 mb-1 h-1.5 w-12 rounded-full bg-fg-muted/30"}),e.jsx(r.Title,{className:"px-4 py-2 text-base font-semibold border-b border-line",children:C(t)}),d?e.jsx("div",{className:"flex-1 flex items-center justify-center p-4",children:e.jsx(u,{title:"Couldn't load compose",error:c,onRetry:()=>{g()}})}):e.jsx("div",{className:"flex-1 overflow-hidden",children:e.jsx(x,{mode:"new",outboxMessageId:t,onDraftCreated:i,onClose:s})})]})]}),e.jsx(k,{isOpen:l,title:"Discard draft?",description:"Your message has unsaved content. Are you sure you want to discard it?",confirmLabel:"Discard",cancelLabel:"Keep editing",destructive:!0,onConfirm:y,onCancel:v})]})},A=()=>{const t=p(),i=h(),s=b(),a=E(),{isError:l,error:o,refetch:d}=f({...m(),staleTime:1/0});if(w({bindings:[{key:"Escape",handler:s,preventDefault:!0}]}),!a)return e.jsx(S,{});const c=e.jsxs("header",{className:"flex items-center justify-between gap-2 px-4 py-3 border-b border-line shrink-0",children:[e.jsx("div",{className:"flex items-center gap-2 min-w-0",children:e.jsx("h2",{className:"text-lg font-semibold truncate",children:C(t)})}),e.jsx("button",{type:"button",onClick:s,className:"p-2 rounded-md hover:bg-surface-raised transition-colors min-h-11 min-w-11 inline-flex items-center justify-center","aria-label":"Close",children:e.jsx(N,{className:"size-5"})})]});return l?e.jsxs("div",{className:"h-full flex flex-col bg-canvas",children:[c,e.jsx("div",{className:"flex-1 flex items-center justify-center p-4",children:e.jsx(u,{title:"Couldn't load compose",error:o,onRetry:()=>{d()}})})]}):e.jsxs("div",{className:"flex h-full min-h-0 flex-col bg-canvas",children:[c,e.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:e.jsx(x,{mode:"new",outboxMessageId:t,onDraftCreated:i,onClose:s})})]})};export{A as F};
1
+ import{r as n,s as f,Q as m,j as e,X as N}from"./index-35SwEY68.js";import{E as u}from"./ErrorState-BnG-HaD4.js";import{D as r,C as x,u as w}from"./index-BdqDBo3X.js";import{u as E}from"./useMediaQuery-DXxjKaoU.js";import{b as p,d as h,e as b}from"./compose-CqHqZWHD.js";import"./useMessageBodyContent-BZp02vgj.js";import{C as k}from"./confirm-dialog-53Vs8qdX.js";const C=t=>t?"Draft":"New Message",I=()=>{const t=n.useRef(!1);return n.useCallback(()=>{const s=document.querySelector("[data-subject-field]")?.value??"",o=(document.querySelector('[data-testid="compose-body"]')?.textContent??"").replace(/--\s*/g,"").trim();return t.current=s.trim().length>0||o.length>0,t.current},[])},S=()=>{const t=p(),i=h(),s=b(),a=I(),[l,o]=n.useState(!1),{isError:d,error:c,refetch:g}=f({...m(),staleTime:1/0}),j=n.useCallback(D=>{D||(a()?o(!0):s())},[s,a]),y=n.useCallback(()=>{o(!1),s()},[s]),v=n.useCallback(()=>{o(!1)},[]);return e.jsxs(r.Root,{open:!0,onOpenChange:j,children:[e.jsxs(r.Portal,{children:[e.jsx(r.Overlay,{className:"fixed inset-0 z-40 bg-black/40"}),e.jsxs(r.Content,{className:"fixed inset-x-0 bottom-0 z-50 flex flex-col rounded-t-lg bg-canvas pb-[env(safe-area-inset-bottom,0px)]",style:{height:"95dvh"},children:[e.jsx(r.Handle,{className:"mx-auto mt-2 mb-1 h-1.5 w-12 rounded-full bg-fg-muted/30"}),e.jsx(r.Title,{className:"px-4 py-2 text-base font-semibold border-b border-line",children:C(t)}),d?e.jsx("div",{className:"flex-1 flex items-center justify-center p-4",children:e.jsx(u,{title:"Couldn't load compose",error:c,onRetry:()=>{g()}})}):e.jsx("div",{className:"flex-1 overflow-hidden",children:e.jsx(x,{mode:"new",outboxMessageId:t,onDraftCreated:i,onClose:s})})]})]}),e.jsx(k,{isOpen:l,title:"Discard draft?",description:"Your message has unsaved content. Are you sure you want to discard it?",confirmLabel:"Discard",cancelLabel:"Keep editing",destructive:!0,onConfirm:y,onCancel:v})]})},A=()=>{const t=p(),i=h(),s=b(),a=E(),{isError:l,error:o,refetch:d}=f({...m(),staleTime:1/0});if(w({bindings:[{key:"Escape",handler:s,preventDefault:!0}]}),!a)return e.jsx(S,{});const c=e.jsxs("header",{className:"flex items-center justify-between gap-2 px-4 py-3 border-b border-line shrink-0",children:[e.jsx("div",{className:"flex items-center gap-2 min-w-0",children:e.jsx("h2",{className:"text-lg font-semibold truncate",children:C(t)})}),e.jsx("button",{type:"button",onClick:s,className:"p-2 rounded-md hover:bg-surface-raised transition-colors min-h-11 min-w-11 inline-flex items-center justify-center","aria-label":"Close",children:e.jsx(N,{className:"size-5"})})]});return l?e.jsxs("div",{className:"h-full flex flex-col bg-canvas",children:[c,e.jsx("div",{className:"flex-1 flex items-center justify-center p-4",children:e.jsx(u,{title:"Couldn't load compose",error:o,onRetry:()=>{d()}})})]}):e.jsxs("div",{className:"flex h-full min-h-0 flex-col bg-canvas",children:[c,e.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:e.jsx(x,{mode:"new",outboxMessageId:t,onDraftCreated:i,onClose:s})})]})};export{A as F};
@@ -1,4 +1,4 @@
1
- import{a4 as xs,ca as gr,r as l,c as le,j as a,C as mt,d as Fn,B as q,X as Pt,at as Me,cb as On,b as D,a as Xe,S as Je,aT as br,cc as xr,ag as Dt,T as Ft,cd as zn,a_ as vs,ce as vr,cf as _n,an as yr,af as Un,e as kr,cg as jr,as as Kn,ch as wr,ci as Cr,cj as Sr,ck as Nr,cl as Tr,cm as Er,cn as Mr,co as Ir,bO as Rr,s as ee,Q as Ot,q as xt,z as Bn,bf as Qn,cp as qn,n as oe,a5 as je,a7 as de,J as Ze,bn as Re,cq as zt,cr as Ae,cs as Ar,ct as $r,cu as Lr,cv as Pr,cw as Dr,bN as Fr,cx as Or,p as zr,aU as _r,m as Hn,aF as Ur,aG as Kr,bV as Br,k as Qr,bU as qr,cy as Hr,cz as _t,cA as Vr,cB as Vn,b6 as ys,bs as Gr,bj as qs,cC as Wr,cD as Yr,b5 as Jr,L as Xr,W as Zr,D as eo,bg as Hs,aY as to,cE as so,cF as no,a8 as Vs,be as ao,cG as ro,cH as oo,l as ks,cI as io,cJ as lo,cK as Gs,cL as co,cM as uo,cN as fo,cO as js,i as mo,cP as po,bW as ho,cQ as go,cR as Ws,g as bo,bX as xo}from"./index-hsglfEcH.js";import{B as vo,l as yo,m as ko,S as Gn,c as ws,f as jo,D as wo,b as Et,a as Co,t as ct,g as So,n as No,o as To,e as Eo,u as Mo,i as Io}from"./search-token-index-DMBdkNPl.js";import{K as Ro}from"./kbd-BnNxZdo9.js";import{P as Wn,f as Ao,U as $o,E as Lo,s as Po}from"./attachment-file-tMJndpDR.js";import{M as Do}from"./mail-DhWlCt7m.js";import{A as pt}from"./avatar-PxGVQCQm.js";import{M as Fo,c as Oo,d as Yn,e as zo,f as Jn,g as Xn,a as _o,b as Uo,S as Ys,s as Zn,u as ea,p as Ko,r as Bo}from"./useSearchTokenContext-BAqGqR_E.js";import{C as Qo,D as Ve,u as qo}from"./index-Bc4oWEgj.js";import{E as vt}from"./ErrorState-DE7fNU8i.js";import{u as Cs}from"./useMediaQuery-Do73WdTM.js";import{e as ta,b as et,a as Ho,c as Ue,d as Vo}from"./format-De9HZKjg.js";import{P as Js,C as Go,D as Xs,M as ke}from"./enums-CCxx0t2v.js";import{f as Wo,h as Yo,N as sa,c as Jo}from"./useMessageBodyContent-BmfPKs9C.js";import{D as Xo}from"./download-DmAN5nYp.js";import{S as Zo}from"./shield-check-Df-A4ExU.js";import{u as na}from"./useDebouncedValue-IVFdfd-Z.js";import{a as aa,u as ra,b as oa,f as ia}from"./move-options-PPPCxetl.js";import{h as Zs,u as ei,a as ti,i as si,n as ni,o as ai,j as ri,k as oi,S as ii}from"./useFilters-BDcT8xyT.js";import{C as li}from"./confirm-dialog-CywFW_iF.js";import{C as ci}from"./clock-C6eJ9JFT.js";import{r as ui,b as di}from"./search-scope-BJ5VJ_uq.js";import{M as fi}from"./menu-CblIqBpR.js";function ht(e){if(mi())e.focus({preventScroll:!0});else{let t=pi(e);e.focus(),hi(t)}}let Mt=null;function mi(){if(Mt==null){Mt=!1;try{document.createElement("div").focus({get preventScroll(){return Mt=!0,!0}})}catch{}}return Mt}function pi(e){let t=e.parentNode,s=[],n=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==n;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&s.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return n instanceof HTMLElement&&s.push({element:n,scrollTop:n.scrollTop,scrollLeft:n.scrollLeft}),s}function hi(e){for(let{element:t,scrollTop:s,scrollLeft:n}of e)t.scrollTop=s,t.scrollLeft=n}const Ee=e=>e?.ownerDocument??document,Ie=e=>e&&"window"in e&&e.window===e?e:Ee(e).defaultView||window;function gi(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function bi(e){return gi(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}let xi=!1;function la(){return xi}function be(e,t){if(!la())return t&&e?e.contains(t):!1;if(!e||!t)return!1;let s=t;for(;s!==null;){if(s===e)return!0;s.tagName==="SLOT"&&s.assignedSlot?s=s.assignedSlot.parentNode:bi(s)?s=s.host:s=s.parentNode}return!1}function Z(e){if(la()&&e.target instanceof Element&&e.target.shadowRoot){if("composedPath"in e)return e.composedPath()[0]??null;if("composedPath"in e.nativeEvent)return e.nativeEvent.composedPath()[0]??null}return e.target}const vi=typeof Element<"u"&&"checkVisibility"in Element.prototype;function yi(e){const t=Ie(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:s,visibility:n}=e.style,r=s!=="none"&&n!=="hidden"&&n!=="collapse";if(r){const{getComputedStyle:o}=Ie(e);let{display:i,visibility:c}=o(e);r=i!=="none"&&c!=="hidden"&&c!=="collapse"}return r}function ki(e,t){return!e.hasAttribute("hidden")&&!e.hasAttribute("data-react-aria-prevent-focus")&&(e.nodeName==="DETAILS"&&t&&t.nodeName!=="SUMMARY"?e.hasAttribute("open"):!0)}function ca(e,t){return vi?e.checkVisibility({visibilityProperty:!0})&&!e.closest("[data-react-aria-prevent-focus]"):e.nodeName!=="#comment"&&yi(e)&&ki(e,t)&&(!e.parentElement||ca(e.parentElement,e))}const ua=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable^="false"])',"permission"],ji=ua.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";ua.push('[tabindex]:not([tabindex="-1"]):not([disabled])');function wi(e,t){return e.matches(ji)&&!Ci(e)&&(t?.skipVisibilityCheck||ca(e))}function Ci(e){let t=e;for(;t!=null;){if(t instanceof Ie(t).HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}const Ss=typeof document<"u"?xs.useLayoutEffect:()=>{};function Si(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function Ni(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function Ti(e){for(;e&&!wi(e,{skipVisibilityCheck:!0});)e=e.parentElement;let t=Ie(e),s=t.document.activeElement;if(!s||s===e)return;let n=!1,r=h=>{(Z(h)===s||n)&&h.stopImmediatePropagation()},o=h=>{(Z(h)===s||n)&&(h.stopImmediatePropagation(),!e&&!n&&(n=!0,ht(s),u()))},i=h=>{(Z(h)===e||n)&&h.stopImmediatePropagation()},c=h=>{(Z(h)===e||n)&&(h.stopImmediatePropagation(),n||(n=!0,ht(s),u()))};t.addEventListener("blur",r,!0),t.addEventListener("focusout",o,!0),t.addEventListener("focusin",c,!0),t.addEventListener("focus",i,!0);let u=()=>{cancelAnimationFrame(v),t.removeEventListener("blur",r,!0),t.removeEventListener("focusout",o,!0),t.removeEventListener("focusin",c,!0),t.removeEventListener("focus",i,!0),n=!1},v=requestAnimationFrame(u);return u}function Ut(e){if(typeof window>"u"||window.navigator==null)return!1;let t=window.navigator.userAgentData?.brands;return Array.isArray(t)&&t.some(s=>e.test(s.brand))||e.test(window.navigator.userAgent)}function Ns(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.userAgentData?.platform||window.navigator.platform):!1}function $e(e){let t=null;return()=>(t==null&&(t=e()),t)}const At=$e(function(){return Ns(/^Mac/i)}),Ei=$e(function(){return Ns(/^iPhone/i)}),da=$e(function(){return Ns(/^iPad/i)||At()&&navigator.maxTouchPoints>1}),fa=$e(function(){return Ei()||da()}),Mi=$e(function(){return Ut(/AppleWebKit/i)&&!Ii()}),Ii=$e(function(){return Ut(/Chrome/i)}),ma=$e(function(){return Ut(/Android/i)}),Ri=$e(function(){return Ut(/Firefox/i)});function Ai(e){return e.pointerType===""&&e.isTrusted?!0:ma()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function $i(e){return!ma()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}function gt(e,t,s=!0){let{metaKey:n,ctrlKey:r,altKey:o,shiftKey:i}=t;Ri()&&window.event?.type?.startsWith("key")&&e.target==="_blank"&&(At()?n=!0:r=!0);let c=Mi()&&At()&&!da()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:n,ctrlKey:r,altKey:o,shiftKey:i}):new MouseEvent("click",{metaKey:n,ctrlKey:r,altKey:o,shiftKey:i,detail:1,bubbles:!0,cancelable:!0});gt.isOpening=s,ht(e),e.dispatchEvent(c),gt.isOpening=!1}gt.isOpening=!1;let Te=new Map,ls=new Set;function en(){if(typeof window>"u")return;function e(n){return"propertyName"in n}let t=n=>{let r=Z(n);if(!e(n)||!r)return;let o=Te.get(r);o||(o=new Set,Te.set(r,o),r.addEventListener("transitioncancel",s,{once:!0})),o.add(n.propertyName)},s=n=>{let r=Z(n);if(!e(n)||!r)return;let o=Te.get(r);if(o&&(o.delete(n.propertyName),o.size===0&&(r.removeEventListener("transitioncancel",s),Te.delete(r)),Te.size===0)){for(let i of ls)i();ls.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",s)}typeof document<"u"&&(document.readyState!=="loading"?en():document.addEventListener("DOMContentLoaded",en));function Li(){for(const[e]of Te)"isConnected"in e&&!e.isConnected&&Te.delete(e)}function Pi(e){requestAnimationFrame(()=>{Li(),Te.size===0?e():ls.add(e)})}function pa(...e){return(...t)=>{for(let s of e)typeof s=="function"&&s(...t)}}let cs=new Map;typeof FinalizationRegistry<"u"&&new FinalizationRegistry(e=>{cs.delete(e)});function Di(e,t){if(e===t)return e;let s=cs.get(e);if(s)return s.forEach(r=>r.current=t),t;let n=cs.get(t);return n?(n.forEach(r=>r.current=e),e):t}function Fi(...e){return e.length===1&&e[0]?e[0]:t=>{let s=!1;const n=e.map(r=>{const o=tn(r,t);return s||=typeof o=="function",o});if(s)return()=>{n.forEach((r,o)=>{typeof r=="function"?r():tn(e[o],null)})}}}function tn(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function yt(...e){let t={...e[0]};for(let s=1;s<e.length;s++){let n=e[s];for(let r in n){let o=t[r],i=n[r];typeof o=="function"&&typeof i=="function"&&r[0]==="o"&&r[1]==="n"&&r.charCodeAt(2)>=65&&r.charCodeAt(2)<=90?t[r]=pa(o,i):(r==="className"||r==="UNSAFE_className")&&typeof o=="string"&&typeof i=="string"?t[r]=gr(o,i):r==="id"&&o&&i?t.id=Di(o,i):r==="ref"&&o&&i?t.ref=Fi(o,i):t[r]=i!==void 0?i:o}}return t}function Oi(e,t){Ss(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}const zi=xs.useInsertionEffect??Ss;function Xt(e){const t=l.useRef(null);return zi(()=>{t.current=e},[e]),l.useCallback((...s)=>{const n=t.current;return n?.(...s)},[])}let We="default",us="",Rt=new WeakMap;function _i(e){if(fa()){if(We==="default"){const t=Ee(e);us=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}We="disabled"}else if(e instanceof HTMLElement||e instanceof SVGElement){let t="userSelect"in e.style?"userSelect":"webkitUserSelect";Rt.set(e,e.style[t]),e.style[t]="none"}}function sn(e){if(fa()){if(We!=="disabled")return;We="restoring",setTimeout(()=>{Pi(()=>{if(We==="restoring"){const t=Ee(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=us||""),us="",We="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&Rt.has(e)){let t=Rt.get(e),s="userSelect"in e.style?"userSelect":"webkitUserSelect";e.style[s]==="none"&&(e.style[s]=t),e.getAttribute("style")===""&&e.removeAttribute("style"),Rt.delete(e)}}function nn(e){return e?.defaultView?.__webpack_nonce__||globalThis.__webpack_nonce__||void 0}let Zt=new WeakMap;function Ui(e){let t=e??(typeof document<"u"?document:void 0);if(!t)return nn(t);if(Zt.has(t))return Zt.get(t);let s=t.querySelector('meta[property="csp-nonce"]'),n=s&&s instanceof Ie(s).HTMLMetaElement&&(s.nonce||s.content)||nn(t)||void 0;return n!==void 0&&Zt.set(t,n),n}const ha=xs.createContext({register:()=>{}});ha.displayName="PressResponderContext";function ga(){let e=l.useRef(new Map),t=l.useCallback((r,o,i,c)=>{let u=c?.once?(...v)=>{e.current.delete(i),i(...v)}:i;e.current.set(i,{type:o,eventTarget:r,fn:u,options:c}),r.addEventListener(o,u,c)},[]),s=l.useCallback((r,o,i,c)=>{let u=e.current.get(i)?.fn||i;r.removeEventListener(o,u,c),e.current.delete(i)},[]),n=l.useCallback(()=>{e.current.forEach((r,o)=>{s(r.eventTarget,r.type,o,r.options)})},[s]);return l.useEffect(()=>n,[n]),{addGlobalListener:t,removeGlobalListener:s,removeAllGlobalListeners:n}}function Ki(e){let t=l.useContext(ha);if(t){let{register:s,ref:n,...r}=t;e=yt(r,e),s()}return Oi(t,e.ref),e}class It{#e;constructor(t,s,n,r){this.#e=!0;const i=(r?.target??n.currentTarget)?.getBoundingClientRect();let c,u=0,v,h=null;n.clientX!=null&&n.clientY!=null&&(v=n.clientX,h=n.clientY),i&&(v!=null&&h!=null?(c=v-i.left,u=h-i.top):(c=i.width/2,u=i.height/2)),this.type=t,this.pointerType=s,this.target=n.currentTarget,this.shiftKey=n.shiftKey,this.metaKey=n.metaKey,this.ctrlKey=n.ctrlKey,this.altKey=n.altKey,this.x=c,this.y=u,this.key=n.key}continuePropagation(){this.#e=!1}get shouldStopPropagation(){return this.#e}}const an=Symbol("linkClicked"),rn="react-aria-pressable-style",on="data-react-aria-pressable";function Bi(e){let{onPress:t,onPressChange:s,onPressStart:n,onPressEnd:r,onPressUp:o,onClick:i,isDisabled:c,isPressed:u,preventFocusOnPress:v,shouldCancelOnPointerExit:h,allowTextSelectionOnPress:p,ref:m,...b}=Ki(e),[g,d]=l.useState(!1),f=l.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null,disposables:[]}),{addGlobalListener:x,removeAllGlobalListeners:S}=ga(),y=l.useCallback((k,I)=>{let R=f.current;if(c||R.didFirePressStart)return!1;let w=!0;if(R.isTriggeringEvent=!0,n){let M=new It("pressstart",I,k);n(M),w=M.shouldStopPropagation}return s&&s(!0),R.isTriggeringEvent=!1,R.didFirePressStart=!0,d(!0),w},[c,n,s]),j=l.useCallback((k,I,R=!0)=>{let w=f.current;if(!w.didFirePressStart)return!1;w.didFirePressStart=!1,w.isTriggeringEvent=!0;let M=!0;if(r){let C=new It("pressend",I,k);r(C),M=C.shouldStopPropagation}if(s&&s(!1),d(!1),t&&R&&!c){let C=new It("press",I,k);t(C),M&&=C.shouldStopPropagation}return w.isTriggeringEvent=!1,M},[c,r,s,t]),E=Xt(j),T=l.useCallback((k,I)=>{let R=f.current;if(c)return!1;if(o){R.isTriggeringEvent=!0;let w=new It("pressup",I,k);return o(w),R.isTriggeringEvent=!1,w.shouldStopPropagation}return!0},[c,o]),O=Xt(T),$=l.useCallback(k=>{let I=f.current;if(I.isPressed&&I.target){I.didFirePressStart&&I.pointerType!=null&&j(ze(I.target,k),I.pointerType,!1),I.isPressed=!1,I.isOverTarget=!1,I.activePointerId=null,I.pointerType=null,S(),p||sn(I.target);for(let R of I.disposables)R();I.disposables=[]}},[p,S,j]),F=Xt($);l.useEffect(()=>{c&&f.current.isPressed&&F({currentTarget:f.current.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})},[c]);let P=l.useCallback(k=>{h&&$(k)},[h,$]),z=l.useCallback(k=>{c||i?.(k)},[c,i]),L=l.useCallback((k,I)=>{if(!c&&i){let R=new MouseEvent("click",k);Ni(R,I),i(Si(R))}},[c,i]),K=l.useMemo(()=>{let k=f.current,I={onKeyDown(w){if(es(w.nativeEvent,w.currentTarget)&&be(w.currentTarget,Z(w))){ln(Z(w),w.key)&&w.preventDefault();let M=!0;!k.isPressed&&!w.repeat&&(k.target=w.currentTarget,k.isPressed=!0,k.pointerType="keyboard",M=y(w,"keyboard"));let C=w.currentTarget,_=U=>{es(U,C)&&!U.repeat&&be(C,Z(U))&&k.target&&O(ze(k.target,U),"keyboard")};x(Ee(w.currentTarget),"keyup",pa(_,R),!0),M&&w.stopPropagation(),w.metaKey&&At()&&k.metaKeyEvents?.set(w.key,w.nativeEvent)}else w.key==="Meta"&&(k.metaKeyEvents=new Map)},onClick(w){if(!(w&&!be(w.currentTarget,Z(w)))&&w&&w.button===0&&!k.isTriggeringEvent&&!gt.isOpening){let M=!0;if(c&&w.preventDefault(),!k.ignoreEmulatedMouseEvents&&!k.isPressed&&(k.pointerType==="virtual"||Ai(w.nativeEvent))){let C=y(w,"virtual"),_=O(w,"virtual"),U=E(w,"virtual");z(w),M=C&&_&&U}else if(k.isPressed&&k.pointerType!=="keyboard"){let C=k.pointerType||w.nativeEvent.pointerType||"virtual",_=O(ze(w.currentTarget,w),C),U=E(ze(w.currentTarget,w),C,!0);M=_&&U,k.isOverTarget=!1,z(w),F(w)}k.ignoreEmulatedMouseEvents=!1,M&&w.stopPropagation()}}},R=w=>{if(k.isPressed&&k.target&&es(w,k.target)){ln(Z(w),w.key)&&w.preventDefault();let M=Z(w),C=be(k.target,M);E(ze(k.target,w),"keyboard",C),C&&L(w,k.target),S(),w.key!=="Enter"&&Ts(k.target)&&be(k.target,M)&&!w[an]&&(w[an]=!0,gt(k.target,w,!1)),k.isPressed=!1,k.metaKeyEvents?.delete(w.key)}else if(w.key==="Meta"&&k.metaKeyEvents?.size){let M=k.metaKeyEvents;k.metaKeyEvents=void 0;for(let C of M.values())k.target?.dispatchEvent(new KeyboardEvent("keyup",C))}};if(typeof PointerEvent<"u"){I.onPointerDown=C=>{if(C.button!==0||!be(C.currentTarget,Z(C)))return;if($i(C.nativeEvent)){k.pointerType="virtual";return}k.pointerType=C.pointerType;let _=!0;if(!k.isPressed){k.isPressed=!0,k.isOverTarget=!0,k.activePointerId=C.pointerId,k.target=C.currentTarget,p||_i(k.target),_=y(C,k.pointerType);let U=Z(C);"releasePointerCapture"in U&&("hasPointerCapture"in U?U.hasPointerCapture(C.pointerId)&&U.releasePointerCapture(C.pointerId):U.releasePointerCapture(C.pointerId)),x(Ee(C.currentTarget),"pointerup",w,!1),x(Ee(C.currentTarget),"pointercancel",M,!1)}_&&C.stopPropagation()},I.onMouseDown=C=>{if(be(C.currentTarget,Z(C))&&C.button===0){if(v){let _=Ti(C.target);_&&k.disposables.push(_)}C.stopPropagation()}},I.onPointerUp=C=>{!be(C.currentTarget,Z(C))||k.pointerType==="virtual"||C.button===0&&!k.isPressed&&O(C,k.pointerType||C.pointerType)},I.onPointerEnter=C=>{C.pointerId===k.activePointerId&&k.target&&!k.isOverTarget&&k.pointerType!=null&&(k.isOverTarget=!0,y(ze(k.target,C),k.pointerType))},I.onPointerLeave=C=>{C.pointerId===k.activePointerId&&k.target&&k.isOverTarget&&k.pointerType!=null&&(k.isOverTarget=!1,E(ze(k.target,C),k.pointerType,!1),P(C))};let w=C=>{if(C.pointerId===k.activePointerId&&k.isPressed&&C.button===0&&k.target){if(be(k.target,Z(C))&&k.pointerType!=null){let _=!1,U=setTimeout(()=>{k.isPressed&&k.target instanceof HTMLElement&&(_?F(C):(ht(k.target),k.target.click()))},80);x(C.currentTarget,"click",()=>_=!0,!0),k.disposables.push(()=>clearTimeout(U))}else F(C);k.isOverTarget=!1}},M=C=>{F(C)};I.onDragStart=C=>{be(C.currentTarget,Z(C))&&F(C)}}return I},[x,c,v,S,p,P,y,z,L]);return l.useEffect(()=>{if(!m)return;const k=Ee(m.current);if(!k||!k.head||k.getElementById(rn))return;const I=k.createElement("style");I.id=rn;let R=Ui(k);R&&(I.nonce=R),I.textContent=`
1
+ import{a4 as xs,ca as gr,r as l,c as le,j as a,C as mt,d as Fn,B as q,X as Pt,at as Me,cb as On,b as D,a as Xe,S as Je,aT as br,cc as xr,ag as Dt,T as Ft,cd as zn,a_ as vs,ce as vr,cf as _n,an as yr,af as Un,e as kr,cg as jr,as as Kn,ch as wr,ci as Cr,cj as Sr,ck as Nr,cl as Tr,cm as Er,cn as Mr,co as Ir,bO as Rr,s as ee,Q as Ot,q as xt,z as Bn,bf as Qn,cp as qn,n as oe,a5 as je,a7 as de,J as Ze,bn as Re,cq as zt,cr as Ae,cs as Ar,ct as $r,cu as Lr,cv as Pr,cw as Dr,bN as Fr,cx as Or,p as zr,aU as _r,m as Hn,aF as Ur,aG as Kr,bV as Br,k as Qr,bU as qr,cy as Hr,cz as _t,cA as Vr,cB as Vn,b6 as ys,bs as Gr,bj as qs,cC as Wr,cD as Yr,b5 as Jr,L as Xr,W as Zr,D as eo,bg as Hs,aY as to,cE as so,cF as no,a8 as Vs,be as ao,cG as ro,cH as oo,l as ks,cI as io,cJ as lo,cK as Gs,cL as co,cM as uo,cN as fo,cO as js,i as mo,cP as po,bW as ho,cQ as go,cR as Ws,g as bo,bX as xo}from"./index-35SwEY68.js";import{B as vo,l as yo,m as ko,S as Gn,c as ws,f as jo,D as wo,b as Et,a as Co,t as ct,g as So,n as No,o as To,e as Eo,u as Mo,i as Io}from"./search-token-index-BUcol5TC.js";import{K as Ro}from"./kbd-DRG84K0I.js";import{P as Wn,f as Ao,U as $o,E as Lo,s as Po}from"./attachment-file-CMfx3CcW.js";import{M as Do}from"./mail-Dt38b6by.js";import{A as pt}from"./avatar-DqkGERXB.js";import{M as Fo,c as Oo,d as Yn,e as zo,f as Jn,g as Xn,a as _o,b as Uo,S as Ys,s as Zn,u as ea,p as Ko,r as Bo}from"./useSearchTokenContext-Cbnmmy2v.js";import{C as Qo,D as Ve,u as qo}from"./index-BdqDBo3X.js";import{E as vt}from"./ErrorState-BnG-HaD4.js";import{u as Cs}from"./useMediaQuery-DXxjKaoU.js";import{e as ta,b as et,a as Ho,c as Ue,d as Vo}from"./format-De9HZKjg.js";import{P as Js,C as Go,D as Xs,M as ke}from"./enums-CCxx0t2v.js";import{f as Wo,h as Yo,N as sa,c as Jo}from"./useMessageBodyContent-BZp02vgj.js";import{D as Xo}from"./download-D1wer2rZ.js";import{S as Zo}from"./shield-check-CCXTGJKT.js";import{u as na}from"./useDebouncedValue-BWx5HMb8.js";import{a as aa,u as ra,b as oa,f as ia}from"./move-options-DQMo_1sS.js";import{h as Zs,u as ei,a as ti,i as si,n as ni,o as ai,j as ri,k as oi,S as ii}from"./useFilters-CWfk6Iq3.js";import{C as li}from"./confirm-dialog-53Vs8qdX.js";import{C as ci}from"./clock-60QzMefl.js";import{r as ui,b as di}from"./search-scope-D8eDCx--.js";import{M as fi}from"./menu-DhWodGKO.js";function ht(e){if(mi())e.focus({preventScroll:!0});else{let t=pi(e);e.focus(),hi(t)}}let Mt=null;function mi(){if(Mt==null){Mt=!1;try{document.createElement("div").focus({get preventScroll(){return Mt=!0,!0}})}catch{}}return Mt}function pi(e){let t=e.parentNode,s=[],n=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==n;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&s.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return n instanceof HTMLElement&&s.push({element:n,scrollTop:n.scrollTop,scrollLeft:n.scrollLeft}),s}function hi(e){for(let{element:t,scrollTop:s,scrollLeft:n}of e)t.scrollTop=s,t.scrollLeft=n}const Ee=e=>e?.ownerDocument??document,Ie=e=>e&&"window"in e&&e.window===e?e:Ee(e).defaultView||window;function gi(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function bi(e){return gi(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}let xi=!1;function la(){return xi}function be(e,t){if(!la())return t&&e?e.contains(t):!1;if(!e||!t)return!1;let s=t;for(;s!==null;){if(s===e)return!0;s.tagName==="SLOT"&&s.assignedSlot?s=s.assignedSlot.parentNode:bi(s)?s=s.host:s=s.parentNode}return!1}function Z(e){if(la()&&e.target instanceof Element&&e.target.shadowRoot){if("composedPath"in e)return e.composedPath()[0]??null;if("composedPath"in e.nativeEvent)return e.nativeEvent.composedPath()[0]??null}return e.target}const vi=typeof Element<"u"&&"checkVisibility"in Element.prototype;function yi(e){const t=Ie(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:s,visibility:n}=e.style,r=s!=="none"&&n!=="hidden"&&n!=="collapse";if(r){const{getComputedStyle:o}=Ie(e);let{display:i,visibility:c}=o(e);r=i!=="none"&&c!=="hidden"&&c!=="collapse"}return r}function ki(e,t){return!e.hasAttribute("hidden")&&!e.hasAttribute("data-react-aria-prevent-focus")&&(e.nodeName==="DETAILS"&&t&&t.nodeName!=="SUMMARY"?e.hasAttribute("open"):!0)}function ca(e,t){return vi?e.checkVisibility({visibilityProperty:!0})&&!e.closest("[data-react-aria-prevent-focus]"):e.nodeName!=="#comment"&&yi(e)&&ki(e,t)&&(!e.parentElement||ca(e.parentElement,e))}const ua=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable^="false"])',"permission"],ji=ua.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";ua.push('[tabindex]:not([tabindex="-1"]):not([disabled])');function wi(e,t){return e.matches(ji)&&!Ci(e)&&(t?.skipVisibilityCheck||ca(e))}function Ci(e){let t=e;for(;t!=null;){if(t instanceof Ie(t).HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}const Ss=typeof document<"u"?xs.useLayoutEffect:()=>{};function Si(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function Ni(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function Ti(e){for(;e&&!wi(e,{skipVisibilityCheck:!0});)e=e.parentElement;let t=Ie(e),s=t.document.activeElement;if(!s||s===e)return;let n=!1,r=h=>{(Z(h)===s||n)&&h.stopImmediatePropagation()},o=h=>{(Z(h)===s||n)&&(h.stopImmediatePropagation(),!e&&!n&&(n=!0,ht(s),u()))},i=h=>{(Z(h)===e||n)&&h.stopImmediatePropagation()},c=h=>{(Z(h)===e||n)&&(h.stopImmediatePropagation(),n||(n=!0,ht(s),u()))};t.addEventListener("blur",r,!0),t.addEventListener("focusout",o,!0),t.addEventListener("focusin",c,!0),t.addEventListener("focus",i,!0);let u=()=>{cancelAnimationFrame(v),t.removeEventListener("blur",r,!0),t.removeEventListener("focusout",o,!0),t.removeEventListener("focusin",c,!0),t.removeEventListener("focus",i,!0),n=!1},v=requestAnimationFrame(u);return u}function Ut(e){if(typeof window>"u"||window.navigator==null)return!1;let t=window.navigator.userAgentData?.brands;return Array.isArray(t)&&t.some(s=>e.test(s.brand))||e.test(window.navigator.userAgent)}function Ns(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.userAgentData?.platform||window.navigator.platform):!1}function $e(e){let t=null;return()=>(t==null&&(t=e()),t)}const At=$e(function(){return Ns(/^Mac/i)}),Ei=$e(function(){return Ns(/^iPhone/i)}),da=$e(function(){return Ns(/^iPad/i)||At()&&navigator.maxTouchPoints>1}),fa=$e(function(){return Ei()||da()}),Mi=$e(function(){return Ut(/AppleWebKit/i)&&!Ii()}),Ii=$e(function(){return Ut(/Chrome/i)}),ma=$e(function(){return Ut(/Android/i)}),Ri=$e(function(){return Ut(/Firefox/i)});function Ai(e){return e.pointerType===""&&e.isTrusted?!0:ma()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function $i(e){return!ma()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}function gt(e,t,s=!0){let{metaKey:n,ctrlKey:r,altKey:o,shiftKey:i}=t;Ri()&&window.event?.type?.startsWith("key")&&e.target==="_blank"&&(At()?n=!0:r=!0);let c=Mi()&&At()&&!da()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:n,ctrlKey:r,altKey:o,shiftKey:i}):new MouseEvent("click",{metaKey:n,ctrlKey:r,altKey:o,shiftKey:i,detail:1,bubbles:!0,cancelable:!0});gt.isOpening=s,ht(e),e.dispatchEvent(c),gt.isOpening=!1}gt.isOpening=!1;let Te=new Map,ls=new Set;function en(){if(typeof window>"u")return;function e(n){return"propertyName"in n}let t=n=>{let r=Z(n);if(!e(n)||!r)return;let o=Te.get(r);o||(o=new Set,Te.set(r,o),r.addEventListener("transitioncancel",s,{once:!0})),o.add(n.propertyName)},s=n=>{let r=Z(n);if(!e(n)||!r)return;let o=Te.get(r);if(o&&(o.delete(n.propertyName),o.size===0&&(r.removeEventListener("transitioncancel",s),Te.delete(r)),Te.size===0)){for(let i of ls)i();ls.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",s)}typeof document<"u"&&(document.readyState!=="loading"?en():document.addEventListener("DOMContentLoaded",en));function Li(){for(const[e]of Te)"isConnected"in e&&!e.isConnected&&Te.delete(e)}function Pi(e){requestAnimationFrame(()=>{Li(),Te.size===0?e():ls.add(e)})}function pa(...e){return(...t)=>{for(let s of e)typeof s=="function"&&s(...t)}}let cs=new Map;typeof FinalizationRegistry<"u"&&new FinalizationRegistry(e=>{cs.delete(e)});function Di(e,t){if(e===t)return e;let s=cs.get(e);if(s)return s.forEach(r=>r.current=t),t;let n=cs.get(t);return n?(n.forEach(r=>r.current=e),e):t}function Fi(...e){return e.length===1&&e[0]?e[0]:t=>{let s=!1;const n=e.map(r=>{const o=tn(r,t);return s||=typeof o=="function",o});if(s)return()=>{n.forEach((r,o)=>{typeof r=="function"?r():tn(e[o],null)})}}}function tn(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function yt(...e){let t={...e[0]};for(let s=1;s<e.length;s++){let n=e[s];for(let r in n){let o=t[r],i=n[r];typeof o=="function"&&typeof i=="function"&&r[0]==="o"&&r[1]==="n"&&r.charCodeAt(2)>=65&&r.charCodeAt(2)<=90?t[r]=pa(o,i):(r==="className"||r==="UNSAFE_className")&&typeof o=="string"&&typeof i=="string"?t[r]=gr(o,i):r==="id"&&o&&i?t.id=Di(o,i):r==="ref"&&o&&i?t.ref=Fi(o,i):t[r]=i!==void 0?i:o}}return t}function Oi(e,t){Ss(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}const zi=xs.useInsertionEffect??Ss;function Xt(e){const t=l.useRef(null);return zi(()=>{t.current=e},[e]),l.useCallback((...s)=>{const n=t.current;return n?.(...s)},[])}let We="default",us="",Rt=new WeakMap;function _i(e){if(fa()){if(We==="default"){const t=Ee(e);us=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}We="disabled"}else if(e instanceof HTMLElement||e instanceof SVGElement){let t="userSelect"in e.style?"userSelect":"webkitUserSelect";Rt.set(e,e.style[t]),e.style[t]="none"}}function sn(e){if(fa()){if(We!=="disabled")return;We="restoring",setTimeout(()=>{Pi(()=>{if(We==="restoring"){const t=Ee(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=us||""),us="",We="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&Rt.has(e)){let t=Rt.get(e),s="userSelect"in e.style?"userSelect":"webkitUserSelect";e.style[s]==="none"&&(e.style[s]=t),e.getAttribute("style")===""&&e.removeAttribute("style"),Rt.delete(e)}}function nn(e){return e?.defaultView?.__webpack_nonce__||globalThis.__webpack_nonce__||void 0}let Zt=new WeakMap;function Ui(e){let t=e??(typeof document<"u"?document:void 0);if(!t)return nn(t);if(Zt.has(t))return Zt.get(t);let s=t.querySelector('meta[property="csp-nonce"]'),n=s&&s instanceof Ie(s).HTMLMetaElement&&(s.nonce||s.content)||nn(t)||void 0;return n!==void 0&&Zt.set(t,n),n}const ha=xs.createContext({register:()=>{}});ha.displayName="PressResponderContext";function ga(){let e=l.useRef(new Map),t=l.useCallback((r,o,i,c)=>{let u=c?.once?(...v)=>{e.current.delete(i),i(...v)}:i;e.current.set(i,{type:o,eventTarget:r,fn:u,options:c}),r.addEventListener(o,u,c)},[]),s=l.useCallback((r,o,i,c)=>{let u=e.current.get(i)?.fn||i;r.removeEventListener(o,u,c),e.current.delete(i)},[]),n=l.useCallback(()=>{e.current.forEach((r,o)=>{s(r.eventTarget,r.type,o,r.options)})},[s]);return l.useEffect(()=>n,[n]),{addGlobalListener:t,removeGlobalListener:s,removeAllGlobalListeners:n}}function Ki(e){let t=l.useContext(ha);if(t){let{register:s,ref:n,...r}=t;e=yt(r,e),s()}return Oi(t,e.ref),e}class It{#e;constructor(t,s,n,r){this.#e=!0;const i=(r?.target??n.currentTarget)?.getBoundingClientRect();let c,u=0,v,h=null;n.clientX!=null&&n.clientY!=null&&(v=n.clientX,h=n.clientY),i&&(v!=null&&h!=null?(c=v-i.left,u=h-i.top):(c=i.width/2,u=i.height/2)),this.type=t,this.pointerType=s,this.target=n.currentTarget,this.shiftKey=n.shiftKey,this.metaKey=n.metaKey,this.ctrlKey=n.ctrlKey,this.altKey=n.altKey,this.x=c,this.y=u,this.key=n.key}continuePropagation(){this.#e=!1}get shouldStopPropagation(){return this.#e}}const an=Symbol("linkClicked"),rn="react-aria-pressable-style",on="data-react-aria-pressable";function Bi(e){let{onPress:t,onPressChange:s,onPressStart:n,onPressEnd:r,onPressUp:o,onClick:i,isDisabled:c,isPressed:u,preventFocusOnPress:v,shouldCancelOnPointerExit:h,allowTextSelectionOnPress:p,ref:m,...b}=Ki(e),[g,d]=l.useState(!1),f=l.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null,disposables:[]}),{addGlobalListener:x,removeAllGlobalListeners:S}=ga(),y=l.useCallback((k,I)=>{let R=f.current;if(c||R.didFirePressStart)return!1;let w=!0;if(R.isTriggeringEvent=!0,n){let M=new It("pressstart",I,k);n(M),w=M.shouldStopPropagation}return s&&s(!0),R.isTriggeringEvent=!1,R.didFirePressStart=!0,d(!0),w},[c,n,s]),j=l.useCallback((k,I,R=!0)=>{let w=f.current;if(!w.didFirePressStart)return!1;w.didFirePressStart=!1,w.isTriggeringEvent=!0;let M=!0;if(r){let C=new It("pressend",I,k);r(C),M=C.shouldStopPropagation}if(s&&s(!1),d(!1),t&&R&&!c){let C=new It("press",I,k);t(C),M&&=C.shouldStopPropagation}return w.isTriggeringEvent=!1,M},[c,r,s,t]),E=Xt(j),T=l.useCallback((k,I)=>{let R=f.current;if(c)return!1;if(o){R.isTriggeringEvent=!0;let w=new It("pressup",I,k);return o(w),R.isTriggeringEvent=!1,w.shouldStopPropagation}return!0},[c,o]),O=Xt(T),$=l.useCallback(k=>{let I=f.current;if(I.isPressed&&I.target){I.didFirePressStart&&I.pointerType!=null&&j(ze(I.target,k),I.pointerType,!1),I.isPressed=!1,I.isOverTarget=!1,I.activePointerId=null,I.pointerType=null,S(),p||sn(I.target);for(let R of I.disposables)R();I.disposables=[]}},[p,S,j]),F=Xt($);l.useEffect(()=>{c&&f.current.isPressed&&F({currentTarget:f.current.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})},[c]);let P=l.useCallback(k=>{h&&$(k)},[h,$]),z=l.useCallback(k=>{c||i?.(k)},[c,i]),L=l.useCallback((k,I)=>{if(!c&&i){let R=new MouseEvent("click",k);Ni(R,I),i(Si(R))}},[c,i]),K=l.useMemo(()=>{let k=f.current,I={onKeyDown(w){if(es(w.nativeEvent,w.currentTarget)&&be(w.currentTarget,Z(w))){ln(Z(w),w.key)&&w.preventDefault();let M=!0;!k.isPressed&&!w.repeat&&(k.target=w.currentTarget,k.isPressed=!0,k.pointerType="keyboard",M=y(w,"keyboard"));let C=w.currentTarget,_=U=>{es(U,C)&&!U.repeat&&be(C,Z(U))&&k.target&&O(ze(k.target,U),"keyboard")};x(Ee(w.currentTarget),"keyup",pa(_,R),!0),M&&w.stopPropagation(),w.metaKey&&At()&&k.metaKeyEvents?.set(w.key,w.nativeEvent)}else w.key==="Meta"&&(k.metaKeyEvents=new Map)},onClick(w){if(!(w&&!be(w.currentTarget,Z(w)))&&w&&w.button===0&&!k.isTriggeringEvent&&!gt.isOpening){let M=!0;if(c&&w.preventDefault(),!k.ignoreEmulatedMouseEvents&&!k.isPressed&&(k.pointerType==="virtual"||Ai(w.nativeEvent))){let C=y(w,"virtual"),_=O(w,"virtual"),U=E(w,"virtual");z(w),M=C&&_&&U}else if(k.isPressed&&k.pointerType!=="keyboard"){let C=k.pointerType||w.nativeEvent.pointerType||"virtual",_=O(ze(w.currentTarget,w),C),U=E(ze(w.currentTarget,w),C,!0);M=_&&U,k.isOverTarget=!1,z(w),F(w)}k.ignoreEmulatedMouseEvents=!1,M&&w.stopPropagation()}}},R=w=>{if(k.isPressed&&k.target&&es(w,k.target)){ln(Z(w),w.key)&&w.preventDefault();let M=Z(w),C=be(k.target,M);E(ze(k.target,w),"keyboard",C),C&&L(w,k.target),S(),w.key!=="Enter"&&Ts(k.target)&&be(k.target,M)&&!w[an]&&(w[an]=!0,gt(k.target,w,!1)),k.isPressed=!1,k.metaKeyEvents?.delete(w.key)}else if(w.key==="Meta"&&k.metaKeyEvents?.size){let M=k.metaKeyEvents;k.metaKeyEvents=void 0;for(let C of M.values())k.target?.dispatchEvent(new KeyboardEvent("keyup",C))}};if(typeof PointerEvent<"u"){I.onPointerDown=C=>{if(C.button!==0||!be(C.currentTarget,Z(C)))return;if($i(C.nativeEvent)){k.pointerType="virtual";return}k.pointerType=C.pointerType;let _=!0;if(!k.isPressed){k.isPressed=!0,k.isOverTarget=!0,k.activePointerId=C.pointerId,k.target=C.currentTarget,p||_i(k.target),_=y(C,k.pointerType);let U=Z(C);"releasePointerCapture"in U&&("hasPointerCapture"in U?U.hasPointerCapture(C.pointerId)&&U.releasePointerCapture(C.pointerId):U.releasePointerCapture(C.pointerId)),x(Ee(C.currentTarget),"pointerup",w,!1),x(Ee(C.currentTarget),"pointercancel",M,!1)}_&&C.stopPropagation()},I.onMouseDown=C=>{if(be(C.currentTarget,Z(C))&&C.button===0){if(v){let _=Ti(C.target);_&&k.disposables.push(_)}C.stopPropagation()}},I.onPointerUp=C=>{!be(C.currentTarget,Z(C))||k.pointerType==="virtual"||C.button===0&&!k.isPressed&&O(C,k.pointerType||C.pointerType)},I.onPointerEnter=C=>{C.pointerId===k.activePointerId&&k.target&&!k.isOverTarget&&k.pointerType!=null&&(k.isOverTarget=!0,y(ze(k.target,C),k.pointerType))},I.onPointerLeave=C=>{C.pointerId===k.activePointerId&&k.target&&k.isOverTarget&&k.pointerType!=null&&(k.isOverTarget=!1,E(ze(k.target,C),k.pointerType,!1),P(C))};let w=C=>{if(C.pointerId===k.activePointerId&&k.isPressed&&C.button===0&&k.target){if(be(k.target,Z(C))&&k.pointerType!=null){let _=!1,U=setTimeout(()=>{k.isPressed&&k.target instanceof HTMLElement&&(_?F(C):(ht(k.target),k.target.click()))},80);x(C.currentTarget,"click",()=>_=!0,!0),k.disposables.push(()=>clearTimeout(U))}else F(C);k.isOverTarget=!1}},M=C=>{F(C)};I.onDragStart=C=>{be(C.currentTarget,Z(C))&&F(C)}}return I},[x,c,v,S,p,P,y,z,L]);return l.useEffect(()=>{if(!m)return;const k=Ee(m.current);if(!k||!k.head||k.getElementById(rn))return;const I=k.createElement("style");I.id=rn;let R=Ui(k);R&&(I.nonce=R),I.textContent=`
2
2
  @layer {
3
3
  [${on}] {
4
4
  touch-action: pan-x pan-y pinch-zoom;
@@ -1 +1 @@
1
- import{j as e,af as re,B as A,e as ie,r as x,b as Q,ag as oe,T as ce,cS as le,u as ue,cT as U,bl as de,bD as fe,cU as me,cV as xe,cW as ge,l as he,bm as pe,cl as be}from"./index-hsglfEcH.js";import{R as ve,l as je,p as we}from"./search-token-index-DMBdkNPl.js";import{ak as Ne,al as ye,c as Pe,a as G,am as Ce,s as Re,an as ke,ao as Se,ap as Me,ad as Ee,af as Ie}from"./MailListHeader-CYgtRJbp.js";import{A as ze}from"./avatar-PxGVQCQm.js";import{M as Oe}from"./mail-DhWlCt7m.js";import{M as De}from"./menu-CblIqBpR.js";function Le(){return e.jsx("div",{className:"space-y-0",role:"status","aria-busy":"true","aria-label":"Loading messages",children:Array.from({length:8}).map((s,n)=>e.jsxs("div",{className:"animate-pulse border-b border-line px-3 py-2",children:[e.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[e.jsx("div",{className:"h-4 w-32 rounded bg-surface-sunken"}),e.jsx("div",{className:"h-3 w-16 rounded bg-surface-sunken"})]}),e.jsx("div",{className:"mb-2 h-4 w-48 rounded bg-surface-sunken"}),e.jsx("div",{className:"h-3 w-full rounded bg-surface-sunken"})]},n))})}function Te({filter:s,scopeLabel:n,searchQuery:r}){const f=r?.trim();return s?e.jsxs(V,{children:[e.jsx("p",{className:"font-medium text-fg",children:$e(s.label,n,f)}),e.jsx("p",{className:"mt-1 text-sm text-fg-muted",children:_e[s.reach]}),e.jsx(A,{variant:"secondary",size:"sm",className:"mt-4",onClick:s.onClear,children:"Clear filter"})]}):e.jsx(V,{children:e.jsx("p",{className:"text-fg-muted",children:Ae(f,n)})})}const _e={"whole-folder":"Every message in this folder was checked.","loaded-pages":"Only the messages loaded so far were checked."};function Ae(s,n){return s?"No messages match your search":n?`No messages in ${n}`:"No messages in this mailbox"}function $e(s,n,r){return r?`No results for “${r}” in ${s}`:n?`No ${s} mail in ${n}`:`No ${s} mail`}function V({children:s}){return e.jsx("div",{className:"flex h-full flex-1 items-center justify-center",children:e.jsx("div",{className:"flex max-w-sm flex-col items-center justify-center p-8 text-center",children:s})})}function Ze(){return e.jsxs("div",{className:"flex items-center justify-center gap-2 py-4 text-sm text-fg-muted",role:"status","aria-live":"polite",children:[e.jsx(re,{className:"size-4 animate-spin","aria-hidden":"true"}),e.jsx("span",{children:"Loading more…"})]})}function Fe({message:s="Something went wrong loading this mailbox.",onRetry:n,onReport:r}){return e.jsx("div",{className:"flex h-full flex-1 items-center justify-center p-4",children:e.jsxs("div",{role:"alert",className:"flex max-w-sm flex-col items-center justify-center gap-3 text-center",children:[e.jsx(ie,{className:"size-8 text-danger","aria-hidden":"true"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-danger",children:"Couldn't load messages"}),e.jsx("p",{className:"mt-1 break-words text-sm text-fg-muted",children:s})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[n&&e.jsx(A,{variant:"secondary",size:"sm",onClick:n,children:"Retry"}),r&&e.jsx(A,{variant:"ghost",size:"sm",onClick:r,children:"Report a problem"})]})]})})}const z=72,q=10,He=z/2,J="__swipeableRowAxisCancel";function Z(s){return s==="leading"?z:s==="trailing"?-z:0}function Xe(s){return s>=z/2?"leading":s<=-z/2?"trailing":"none"}function Be({thread:s,selectionMode:n,checked:r,active:f,peek:m,onPeek:g,onToggleCheck:y,onLongPress:j,onOpen:h,onAct:p}){const d=x.useRef(null),[b,v]=x.useState(null),{longPressProps:P}=Ne({onLongPress:j,isDisabled:n,accessibilityDescription:"Select message"}),k=i=>{const o=new PointerEvent("pointercancel",{bubbles:!0});o[J]=!0,i.currentTarget.dispatchEvent(o)},a=ye(P,{onPointerDown:i=>{d.current={startX:i.clientX,startY:i.clientY,axis:"none",escaped:!1}},onPointerMove:i=>{if(n)return;const o=d.current;if(!o)return;const u=i.clientX-o.startX,M=i.clientY-o.startY;if(o.axis==="none"&&(Math.abs(M)>q&&Math.abs(M)>Math.abs(u)?o.axis="vertical":Math.abs(u)>q&&Math.abs(u)>Math.abs(M)&&(o.axis="horizontal",i.currentTarget.setPointerCapture(i.pointerId))),o.axis==="none")return;const O=o.axis==="horizontal"?Math.abs(u):Math.abs(M);if(!o.escaped&&O>He&&(o.escaped=!0,k(i)),o.axis!=="horizontal")return;const F=Z(m),H=Math.max(-z,Math.min(z,F+u));v(H)},onPointerUp:i=>{const o=d.current;d.current=null;const u=b;if(v(null),!!o){if(o.axis!=="none"&&!o.escaped&&k(i),o.axis==="horizontal"){u!==null&&g(Xe(u));return}if(o.axis!=="vertical"){if(n){y();return}if(m!=="none"){g("none");return}h()}}},onPointerCancel:i=>{i.nativeEvent[J]||(d.current=null,v(null))}}),l=b??Z(m),N=l>0?"leading":l<0?"trailing":"none",C=Q("relative touch-pan-y bg-surface","select-none",Pe({active:r||f})),L={transform:l!==0?`translateX(${l}px)`:void 0,transition:b===null?"transform 150ms ease":"none",minHeight:44},$=!s.isRead,I=i=>i.stopPropagation(),T=n?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:Q("inline-flex size-7 shrink-0 items-center justify-center rounded-full border",r?"border-accent bg-accent text-accent-fg":"border-line-strong bg-canvas"),children:r&&e.jsx(oe,{className:"size-3.5"})}),e.jsx(G,{thread:s})]}):e.jsxs(e.Fragment,{children:[$&&e.jsx("span",{className:"absolute left-1.5 top-1/2 size-1.5 -translate-y-1/2 rounded-full bg-accent"}),e.jsx("span",{role:"checkbox",tabIndex:0,"aria-checked":r,"aria-label":`Select message from ${s.fromName}`,onPointerDown:I,onPointerMove:I,onPointerUp:I,onClick:i=>{i.preventDefault(),i.stopPropagation(),j()},onKeyDown:i=>{i.key!=="Enter"&&i.key!==" "||(i.preventDefault(),i.stopPropagation(),j())},className:"-m-2 inline-flex size-11 shrink-0 items-center justify-center rounded-full",children:e.jsx(ze,{name:s.fromName,email:s.fromEmail,size:"sm"})}),e.jsx(G,{thread:s})]});return e.jsxs("div",{className:"relative overflow-hidden",children:[N==="leading"&&e.jsx("button",{type:"button",onClick:()=>p("leading"),"aria-label":s.isRead?"Mark as unread":"Mark as read",className:"absolute inset-y-0 left-0 flex items-center justify-start bg-accent-2 px-6 text-accent-fg",children:s.isRead?e.jsx(Oe,{className:"size-6"}):e.jsx(Ce,{className:"size-6"})}),N==="trailing"&&e.jsx("button",{type:"button",onClick:()=>p("trailing"),"aria-label":"Delete message",className:"absolute inset-y-0 right-0 flex items-center justify-end bg-danger px-6 text-canvas",children:e.jsx(ce,{className:"size-6"})}),e.jsx("button",{type:"button",role:n?"checkbox":void 0,"aria-checked":n?r:void 0,"data-message-row":!0,"data-message-id":s.id,...a,className:C,style:L,children:T})]})}function We({sections:s,selectedThreadId:n,selectionMode:r,checkedIds:f,initialPeek:m,onToggleCheck:g,onEnterSelection:y,onOpenThread:j,onRefresh:h,refreshing:p,busy:d=!1}){const[b,v]=x.useState(new Set),[P,k]=x.useState(new Map),w=s.flatMap(a=>a.threads).filter(a=>!b.has(a.id)).map(a=>{const l=P.get(a.id);return l===void 0?a:{...a,isRead:l}}),[S,R]=x.useState(m&&m!=="none"&&w[1]?{id:w[1].id,side:m}:null),E=(a,l)=>{if(l==="trailing")v(N=>new Set(N).add(a));else{const N=w.find(C=>C.id===a);k(C=>new Map(C).set(a,!N?.isRead))}R(null)};return e.jsxs("div",{className:"flex-1 overflow-y-auto",children:[p&&e.jsxs("div",{className:"flex items-center justify-center gap-2 border-b border-line py-3 text-fg-muted",children:[e.jsx(ve,{className:"size-4 animate-spin"}),e.jsx("span",{className:"text-xs",children:"Checking for new mail…"})]}),e.jsx("div",{className:"divide-y divide-line",children:w.map(a=>e.jsx("div",{className:d?"pointer-events-none opacity-50":void 0,children:e.jsx(Be,{thread:a,selectionMode:r,checked:f.has(a.id),active:a.id===n,peek:S?.id===a.id?S.side:"none",onPeek:l=>R(l==="none"?null:{id:a.id,side:l}),onToggleCheck:()=>g(a.id),onLongPress:()=>y(a.id),onOpen:()=>j(a.id),onAct:l=>E(a.id,l)})},a.id))}),!r&&!p&&!d&&e.jsx("button",{type:"button",onClick:h,className:"w-full border-t border-line py-2 text-center text-2xs text-fg-subtle transition-colors hover:bg-surface-sunken",children:"Pull to refresh"})]})}const Ye=new Set;function es({listTitle:s,listMeta:n,sections:r,briefFilters:f,flatList:m,listState:g="ready",searchQuery:y,listFilter:j,listScopeLabel:h,errorMessage:p,onRetry:d,onReportError:b,briefFilter:v,selectedThreadId:P,density:k="comfortable",onSelectThread:w,onOpenNav:S,isDesktop:R,initialTouchState:E,selection:a,keyboard:l,selectionBar:N,paneOverlay:C,listBody:L,hideHeader:$=!1}){const I=k==="compact"?Se:Me,T=x.useRef(null),i=x.useRef(null),o=le(l);ue({containerRef:T,itemSelector:U,enabled:!o});const u=o?l.focusedId:void 0,M=o?u??r[0]?.threads[0]?.id:void 0,O=x.useCallback(t=>M===void 0?void 0:t===M?0:-1,[M]);x.useEffect(()=>{if(u===void 0)return;const t=i.current;if(!t)return;const c=t.querySelector(`${U}[data-message-id="${u}"]`);!c||c===t.ownerDocument.activeElement||c.focus({preventScroll:!1})},[u]),x.useEffect(()=>{if(!o)return;const t=i.current;if(!t)return;const c=t.ownerDocument.activeElement;c!==null&&c!==t.ownerDocument.body||t.focus({preventScroll:!0})},[o]);const F=!R&&!f&&g==="ready",[H,Y]=x.useState(!1),ee=E==="peek-trailing"?"trailing":E==="peek-leading"?"leading":void 0,se=()=>{Y(!0),setTimeout(()=>Y(!1),1400)},_=a?.selectedIds??Ye,D=a?.onToggle,K=a?.onRowSelect,te=Re(_.size,R),X=x.useCallback(t=>{if(D)return{checked:_.has(t),onToggle:c=>{c.preventDefault(),c.stopPropagation(),D(t)}}},[_,D]),B=x.useCallback((t,c)=>K?.(t,ke(c))?(c.preventDefault(),c.shiftKey&&window.getSelection()?.removeAllRanges(),!0):!1,[K]),ne=x.useCallback(({thread:t,active:c,onClick:W})=>e.jsx(I,{thread:t,active:c,focused:t.id===u,tabIndex:O(t.id),selection:X(t.id),onClick:ae=>{B(t.id,ae)||W?.()}}),[I,X,B,u,O]);return e.jsxs("section",{ref:t=>{i.current=t,l?.ref(t)},tabIndex:o?-1:void 0,className:"relative flex h-full w-full flex-col bg-surface outline-none",children:[N??($?null:e.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-2 border-b border-line px-row-inset",children:[S&&e.jsx(A,{variant:"ghost",size:"sm",icon:e.jsx(De,{className:"size-4"}),onClick:S,"aria-label":"Open folders",className:"-ml-1 shrink-0"}),e.jsx("h1",{className:"min-w-0 flex-1 truncate text-sm font-semibold text-fg",children:s}),n&&e.jsx("span",{className:"shrink-0 text-2xs text-fg-subtle",children:n})]})),g==="loading"?e.jsx("div",{className:"flex-1 overflow-y-auto",children:e.jsx(Le,{})}):g==="empty"?e.jsx(Te,{filter:j,scopeLabel:h,searchQuery:y}):g==="error"?e.jsx(Fe,{message:p,onRetry:d,onReport:b}):f?e.jsx(de,{...v??{},sections:r,selectedThreadId:P,Row:ne,keyboard:l,onSelectThread:w}):L??(F?e.jsx(We,{sections:r,selectedThreadId:P,selectionMode:te,checkedIds:_,initialPeek:ee,onToggleCheck:t=>D?.(t),onEnterSelection:t=>D?.(t),onOpenThread:t=>w?.(t),onRefresh:se,refreshing:H}):e.jsx("div",{ref:T,className:"flex-1 overflow-y-auto",children:r.map(t=>e.jsxs("div",{children:[!m&&t.label&&e.jsxs("div",{className:"sticky top-0 flex h-section-row items-center justify-between border-b border-line bg-surface-sunken px-row-inset",children:[e.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:t.label}),e.jsx("span",{className:"text-2xs text-fg-subtle tabular-nums",children:t.threads.length})]}),e.jsx("div",{className:"divide-y divide-line",children:t.threads.map(c=>e.jsx(I,{thread:c,active:c.id===P,focused:c.id===u,tabIndex:O(c.id),selection:X(c.id),onClick:W=>{B(c.id,W)||w?.(c.id)}},c.id))})]},t.id))})),R&&e.jsx(Ee,{hints:l?we(l.handlers):je}),C]})}var Ke=class extends fe{constructor(s,n){super(s,n)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(s){s._type="infinite",super.setOptions(s)}getOptimisticResult(s){return s._type="infinite",super.getOptimisticResult(s)}fetchNextPage(s){return this.fetch({...s,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(s){return this.fetch({...s,meta:{fetchMore:{direction:"backward"}}})}createResult(s,n){const{state:r}=s,f=super.createResult(s,n),{isFetching:m,isRefetching:g,isError:y,isRefetchError:j}=f,h=r.fetchMeta?.fetchMore?.direction,p=y&&h==="forward",d=m&&h==="forward",b=y&&h==="backward",v=m&&h==="backward";return{...f,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:xe(n,r.data),hasPreviousPage:me(n,r.data),isFetchNextPageError:p,isFetchingNextPage:d,isFetchPreviousPageError:b,isFetchingPreviousPage:v,isRefetchError:j&&!p&&!b,isRefetching:g&&!d&&!v}}};function ss(s,n){return ge(s,Ke)}function ts({title:s,unreadCount:n,preset:r,selectedCategory:f,activeFilters:m,onSelectCategory:g,onToggleFilter:y,onSelectSource:j,onClearFilters:h,children:p,footer:d,searchResults:b,searchLoading:v,relatedResults:P,relatedLoading:k,onSelectSearchResult:w,searchResultsLabel:S,relatedResultsLabel:R,searchResultsInBody:E,refreshControl:a}){const{searchInput:l}=he(),N=l.trim().length>0,C={categories:r.categories,filters:r.filters,sources:r.sources,selectedCategory:f,activeFilters:m,onSelectCategory:g,onSelectSource:j,onToggleFilter:y,onClear:h};return e.jsx(pe,{hasSheet:!N,children:e.jsx(Ie,{title:s,unreadCount:n,footer:d,searchFilter:C,searchResults:b,searchLoading:v,relatedResults:P,relatedLoading:k,onSelectSearchResult:w,searchResultsLabel:S,relatedResultsLabel:R,searchResultsInBody:E,refreshControl:a,children:e.jsx(be,{...C,hideChrome:N,children:p})})})}export{Ze as M,Be as S,es as a,ts as b,ss as u};
1
+ import{j as e,af as re,B as A,e as ie,r as x,b as Q,ag as oe,T as ce,cS as le,u as ue,cT as U,bl as de,bD as fe,cU as me,cV as xe,cW as ge,l as he,bm as pe,cl as be}from"./index-35SwEY68.js";import{R as ve,l as je,p as we}from"./search-token-index-BUcol5TC.js";import{ak as Ne,al as ye,c as Pe,a as G,am as Ce,s as Re,an as ke,ao as Se,ap as Me,ad as Ee,af as Ie}from"./MailListHeader-Trtc8lfx.js";import{A as ze}from"./avatar-DqkGERXB.js";import{M as Oe}from"./mail-Dt38b6by.js";import{M as De}from"./menu-DhWodGKO.js";function Le(){return e.jsx("div",{className:"space-y-0",role:"status","aria-busy":"true","aria-label":"Loading messages",children:Array.from({length:8}).map((s,n)=>e.jsxs("div",{className:"animate-pulse border-b border-line px-3 py-2",children:[e.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[e.jsx("div",{className:"h-4 w-32 rounded bg-surface-sunken"}),e.jsx("div",{className:"h-3 w-16 rounded bg-surface-sunken"})]}),e.jsx("div",{className:"mb-2 h-4 w-48 rounded bg-surface-sunken"}),e.jsx("div",{className:"h-3 w-full rounded bg-surface-sunken"})]},n))})}function Te({filter:s,scopeLabel:n,searchQuery:r}){const f=r?.trim();return s?e.jsxs(V,{children:[e.jsx("p",{className:"font-medium text-fg",children:$e(s.label,n,f)}),e.jsx("p",{className:"mt-1 text-sm text-fg-muted",children:_e[s.reach]}),e.jsx(A,{variant:"secondary",size:"sm",className:"mt-4",onClick:s.onClear,children:"Clear filter"})]}):e.jsx(V,{children:e.jsx("p",{className:"text-fg-muted",children:Ae(f,n)})})}const _e={"whole-folder":"Every message in this folder was checked.","loaded-pages":"Only the messages loaded so far were checked."};function Ae(s,n){return s?"No messages match your search":n?`No messages in ${n}`:"No messages in this mailbox"}function $e(s,n,r){return r?`No results for “${r}” in ${s}`:n?`No ${s} mail in ${n}`:`No ${s} mail`}function V({children:s}){return e.jsx("div",{className:"flex h-full flex-1 items-center justify-center",children:e.jsx("div",{className:"flex max-w-sm flex-col items-center justify-center p-8 text-center",children:s})})}function Ze(){return e.jsxs("div",{className:"flex items-center justify-center gap-2 py-4 text-sm text-fg-muted",role:"status","aria-live":"polite",children:[e.jsx(re,{className:"size-4 animate-spin","aria-hidden":"true"}),e.jsx("span",{children:"Loading more…"})]})}function Fe({message:s="Something went wrong loading this mailbox.",onRetry:n,onReport:r}){return e.jsx("div",{className:"flex h-full flex-1 items-center justify-center p-4",children:e.jsxs("div",{role:"alert",className:"flex max-w-sm flex-col items-center justify-center gap-3 text-center",children:[e.jsx(ie,{className:"size-8 text-danger","aria-hidden":"true"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-danger",children:"Couldn't load messages"}),e.jsx("p",{className:"mt-1 break-words text-sm text-fg-muted",children:s})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[n&&e.jsx(A,{variant:"secondary",size:"sm",onClick:n,children:"Retry"}),r&&e.jsx(A,{variant:"ghost",size:"sm",onClick:r,children:"Report a problem"})]})]})})}const z=72,q=10,He=z/2,J="__swipeableRowAxisCancel";function Z(s){return s==="leading"?z:s==="trailing"?-z:0}function Xe(s){return s>=z/2?"leading":s<=-z/2?"trailing":"none"}function Be({thread:s,selectionMode:n,checked:r,active:f,peek:m,onPeek:g,onToggleCheck:y,onLongPress:j,onOpen:h,onAct:p}){const d=x.useRef(null),[b,v]=x.useState(null),{longPressProps:P}=Ne({onLongPress:j,isDisabled:n,accessibilityDescription:"Select message"}),k=i=>{const o=new PointerEvent("pointercancel",{bubbles:!0});o[J]=!0,i.currentTarget.dispatchEvent(o)},a=ye(P,{onPointerDown:i=>{d.current={startX:i.clientX,startY:i.clientY,axis:"none",escaped:!1}},onPointerMove:i=>{if(n)return;const o=d.current;if(!o)return;const u=i.clientX-o.startX,M=i.clientY-o.startY;if(o.axis==="none"&&(Math.abs(M)>q&&Math.abs(M)>Math.abs(u)?o.axis="vertical":Math.abs(u)>q&&Math.abs(u)>Math.abs(M)&&(o.axis="horizontal",i.currentTarget.setPointerCapture(i.pointerId))),o.axis==="none")return;const O=o.axis==="horizontal"?Math.abs(u):Math.abs(M);if(!o.escaped&&O>He&&(o.escaped=!0,k(i)),o.axis!=="horizontal")return;const F=Z(m),H=Math.max(-z,Math.min(z,F+u));v(H)},onPointerUp:i=>{const o=d.current;d.current=null;const u=b;if(v(null),!!o){if(o.axis!=="none"&&!o.escaped&&k(i),o.axis==="horizontal"){u!==null&&g(Xe(u));return}if(o.axis!=="vertical"){if(n){y();return}if(m!=="none"){g("none");return}h()}}},onPointerCancel:i=>{i.nativeEvent[J]||(d.current=null,v(null))}}),l=b??Z(m),N=l>0?"leading":l<0?"trailing":"none",C=Q("relative touch-pan-y bg-surface","select-none",Pe({active:r||f})),L={transform:l!==0?`translateX(${l}px)`:void 0,transition:b===null?"transform 150ms ease":"none",minHeight:44},$=!s.isRead,I=i=>i.stopPropagation(),T=n?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:Q("inline-flex size-7 shrink-0 items-center justify-center rounded-full border",r?"border-accent bg-accent text-accent-fg":"border-line-strong bg-canvas"),children:r&&e.jsx(oe,{className:"size-3.5"})}),e.jsx(G,{thread:s})]}):e.jsxs(e.Fragment,{children:[$&&e.jsx("span",{className:"absolute left-1.5 top-1/2 size-1.5 -translate-y-1/2 rounded-full bg-accent"}),e.jsx("span",{role:"checkbox",tabIndex:0,"aria-checked":r,"aria-label":`Select message from ${s.fromName}`,onPointerDown:I,onPointerMove:I,onPointerUp:I,onClick:i=>{i.preventDefault(),i.stopPropagation(),j()},onKeyDown:i=>{i.key!=="Enter"&&i.key!==" "||(i.preventDefault(),i.stopPropagation(),j())},className:"-m-2 inline-flex size-11 shrink-0 items-center justify-center rounded-full",children:e.jsx(ze,{name:s.fromName,email:s.fromEmail,size:"sm"})}),e.jsx(G,{thread:s})]});return e.jsxs("div",{className:"relative overflow-hidden",children:[N==="leading"&&e.jsx("button",{type:"button",onClick:()=>p("leading"),"aria-label":s.isRead?"Mark as unread":"Mark as read",className:"absolute inset-y-0 left-0 flex items-center justify-start bg-accent-2 px-6 text-accent-fg",children:s.isRead?e.jsx(Oe,{className:"size-6"}):e.jsx(Ce,{className:"size-6"})}),N==="trailing"&&e.jsx("button",{type:"button",onClick:()=>p("trailing"),"aria-label":"Delete message",className:"absolute inset-y-0 right-0 flex items-center justify-end bg-danger px-6 text-canvas",children:e.jsx(ce,{className:"size-6"})}),e.jsx("button",{type:"button",role:n?"checkbox":void 0,"aria-checked":n?r:void 0,"data-message-row":!0,"data-message-id":s.id,...a,className:C,style:L,children:T})]})}function We({sections:s,selectedThreadId:n,selectionMode:r,checkedIds:f,initialPeek:m,onToggleCheck:g,onEnterSelection:y,onOpenThread:j,onRefresh:h,refreshing:p,busy:d=!1}){const[b,v]=x.useState(new Set),[P,k]=x.useState(new Map),w=s.flatMap(a=>a.threads).filter(a=>!b.has(a.id)).map(a=>{const l=P.get(a.id);return l===void 0?a:{...a,isRead:l}}),[S,R]=x.useState(m&&m!=="none"&&w[1]?{id:w[1].id,side:m}:null),E=(a,l)=>{if(l==="trailing")v(N=>new Set(N).add(a));else{const N=w.find(C=>C.id===a);k(C=>new Map(C).set(a,!N?.isRead))}R(null)};return e.jsxs("div",{className:"flex-1 overflow-y-auto",children:[p&&e.jsxs("div",{className:"flex items-center justify-center gap-2 border-b border-line py-3 text-fg-muted",children:[e.jsx(ve,{className:"size-4 animate-spin"}),e.jsx("span",{className:"text-xs",children:"Checking for new mail…"})]}),e.jsx("div",{className:"divide-y divide-line",children:w.map(a=>e.jsx("div",{className:d?"pointer-events-none opacity-50":void 0,children:e.jsx(Be,{thread:a,selectionMode:r,checked:f.has(a.id),active:a.id===n,peek:S?.id===a.id?S.side:"none",onPeek:l=>R(l==="none"?null:{id:a.id,side:l}),onToggleCheck:()=>g(a.id),onLongPress:()=>y(a.id),onOpen:()=>j(a.id),onAct:l=>E(a.id,l)})},a.id))}),!r&&!p&&!d&&e.jsx("button",{type:"button",onClick:h,className:"w-full border-t border-line py-2 text-center text-2xs text-fg-subtle transition-colors hover:bg-surface-sunken",children:"Pull to refresh"})]})}const Ye=new Set;function es({listTitle:s,listMeta:n,sections:r,briefFilters:f,flatList:m,listState:g="ready",searchQuery:y,listFilter:j,listScopeLabel:h,errorMessage:p,onRetry:d,onReportError:b,briefFilter:v,selectedThreadId:P,density:k="comfortable",onSelectThread:w,onOpenNav:S,isDesktop:R,initialTouchState:E,selection:a,keyboard:l,selectionBar:N,paneOverlay:C,listBody:L,hideHeader:$=!1}){const I=k==="compact"?Se:Me,T=x.useRef(null),i=x.useRef(null),o=le(l);ue({containerRef:T,itemSelector:U,enabled:!o});const u=o?l.focusedId:void 0,M=o?u??r[0]?.threads[0]?.id:void 0,O=x.useCallback(t=>M===void 0?void 0:t===M?0:-1,[M]);x.useEffect(()=>{if(u===void 0)return;const t=i.current;if(!t)return;const c=t.querySelector(`${U}[data-message-id="${u}"]`);!c||c===t.ownerDocument.activeElement||c.focus({preventScroll:!1})},[u]),x.useEffect(()=>{if(!o)return;const t=i.current;if(!t)return;const c=t.ownerDocument.activeElement;c!==null&&c!==t.ownerDocument.body||t.focus({preventScroll:!0})},[o]);const F=!R&&!f&&g==="ready",[H,Y]=x.useState(!1),ee=E==="peek-trailing"?"trailing":E==="peek-leading"?"leading":void 0,se=()=>{Y(!0),setTimeout(()=>Y(!1),1400)},_=a?.selectedIds??Ye,D=a?.onToggle,K=a?.onRowSelect,te=Re(_.size,R),X=x.useCallback(t=>{if(D)return{checked:_.has(t),onToggle:c=>{c.preventDefault(),c.stopPropagation(),D(t)}}},[_,D]),B=x.useCallback((t,c)=>K?.(t,ke(c))?(c.preventDefault(),c.shiftKey&&window.getSelection()?.removeAllRanges(),!0):!1,[K]),ne=x.useCallback(({thread:t,active:c,onClick:W})=>e.jsx(I,{thread:t,active:c,focused:t.id===u,tabIndex:O(t.id),selection:X(t.id),onClick:ae=>{B(t.id,ae)||W?.()}}),[I,X,B,u,O]);return e.jsxs("section",{ref:t=>{i.current=t,l?.ref(t)},tabIndex:o?-1:void 0,className:"relative flex h-full w-full flex-col bg-surface outline-none",children:[N??($?null:e.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-2 border-b border-line px-row-inset",children:[S&&e.jsx(A,{variant:"ghost",size:"sm",icon:e.jsx(De,{className:"size-4"}),onClick:S,"aria-label":"Open folders",className:"-ml-1 shrink-0"}),e.jsx("h1",{className:"min-w-0 flex-1 truncate text-sm font-semibold text-fg",children:s}),n&&e.jsx("span",{className:"shrink-0 text-2xs text-fg-subtle",children:n})]})),g==="loading"?e.jsx("div",{className:"flex-1 overflow-y-auto",children:e.jsx(Le,{})}):g==="empty"?e.jsx(Te,{filter:j,scopeLabel:h,searchQuery:y}):g==="error"?e.jsx(Fe,{message:p,onRetry:d,onReport:b}):f?e.jsx(de,{...v??{},sections:r,selectedThreadId:P,Row:ne,keyboard:l,onSelectThread:w}):L??(F?e.jsx(We,{sections:r,selectedThreadId:P,selectionMode:te,checkedIds:_,initialPeek:ee,onToggleCheck:t=>D?.(t),onEnterSelection:t=>D?.(t),onOpenThread:t=>w?.(t),onRefresh:se,refreshing:H}):e.jsx("div",{ref:T,className:"flex-1 overflow-y-auto",children:r.map(t=>e.jsxs("div",{children:[!m&&t.label&&e.jsxs("div",{className:"sticky top-0 flex h-section-row items-center justify-between border-b border-line bg-surface-sunken px-row-inset",children:[e.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:t.label}),e.jsx("span",{className:"text-2xs text-fg-subtle tabular-nums",children:t.threads.length})]}),e.jsx("div",{className:"divide-y divide-line",children:t.threads.map(c=>e.jsx(I,{thread:c,active:c.id===P,focused:c.id===u,tabIndex:O(c.id),selection:X(c.id),onClick:W=>{B(c.id,W)||w?.(c.id)}},c.id))})]},t.id))})),R&&e.jsx(Ee,{hints:l?we(l.handlers):je}),C]})}var Ke=class extends fe{constructor(s,n){super(s,n)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(s){s._type="infinite",super.setOptions(s)}getOptimisticResult(s){return s._type="infinite",super.getOptimisticResult(s)}fetchNextPage(s){return this.fetch({...s,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(s){return this.fetch({...s,meta:{fetchMore:{direction:"backward"}}})}createResult(s,n){const{state:r}=s,f=super.createResult(s,n),{isFetching:m,isRefetching:g,isError:y,isRefetchError:j}=f,h=r.fetchMeta?.fetchMore?.direction,p=y&&h==="forward",d=m&&h==="forward",b=y&&h==="backward",v=m&&h==="backward";return{...f,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:xe(n,r.data),hasPreviousPage:me(n,r.data),isFetchNextPageError:p,isFetchingNextPage:d,isFetchPreviousPageError:b,isFetchingPreviousPage:v,isRefetchError:j&&!p&&!b,isRefetching:g&&!d&&!v}}};function ss(s,n){return ge(s,Ke)}function ts({title:s,unreadCount:n,preset:r,selectedCategory:f,activeFilters:m,onSelectCategory:g,onToggleFilter:y,onSelectSource:j,onClearFilters:h,children:p,footer:d,searchResults:b,searchLoading:v,relatedResults:P,relatedLoading:k,onSelectSearchResult:w,searchResultsLabel:S,relatedResultsLabel:R,searchResultsInBody:E,refreshControl:a}){const{searchInput:l}=he(),N=l.trim().length>0,C={categories:r.categories,filters:r.filters,sources:r.sources,selectedCategory:f,activeFilters:m,onSelectCategory:g,onSelectSource:j,onToggleFilter:y,onClear:h};return e.jsx(pe,{hasSheet:!N,children:e.jsx(Ie,{title:s,unreadCount:n,footer:d,searchFilter:C,searchResults:b,searchLoading:v,relatedResults:P,relatedLoading:k,onSelectSearchResult:w,searchResultsLabel:S,relatedResultsLabel:R,searchResultsInBody:E,refreshControl:a,children:e.jsx(be,{...C,hideChrome:N,children:p})})})}export{Ze as M,Be as S,es as a,ts as b,ss as u};