@remit/web-client-dist 0.0.345 → 0.0.346

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 (98) hide show
  1. package/assets/{BriefPane-1mm_PeUT.js → BriefPane-MeJy6Zwp.js} +1 -1
  2. package/assets/{ErrorState-IhTpwfPz.js → ErrorState-DH_p36q7.js} +1 -1
  3. package/assets/{FlaggedPane-RZF7nBEV.js → FlaggedPane-DAWH7jyR.js} +1 -1
  4. package/assets/{MailListHeader-BEau0pBP.js → MailListHeader-CfGZ2a_j.js} +3 -3
  5. package/assets/{MailViewChrome-DDZ9r_j9.js → MailViewChrome-BC4sBDQe.js} +1 -1
  6. package/assets/{MailboxPane-CahwbgAR.js → MailboxPane-Dypv0VNE.js} +1 -1
  7. package/assets/{NavMenuButton-yWGVKHfp.js → NavMenuButton-BBt5cXaH.js} +1 -1
  8. package/assets/{OnboardingWizard-D89jfrHU.js → OnboardingWizard-B7_i4bqQ.js} +1 -1
  9. package/assets/{OutboxPane-K7QhugID.js → OutboxPane-DYfu__9s.js} +1 -1
  10. package/assets/_mailboxId-CPUiJhKQ.js +1 -0
  11. package/assets/_messageId-CJ0WHc7V.js +1 -0
  12. package/assets/_messageId-Cnkc1wMO.js +1 -0
  13. package/assets/_messageId-DKz1WUUv.js +1 -0
  14. package/assets/_outboxMessageId-C7Ux5abw.js +1 -0
  15. package/assets/_threadId-3u_efTw3.js +1 -0
  16. package/assets/_threadId-DaoSduVf.js +1 -0
  17. package/assets/_threadId-DbAb-c6f.js +1 -0
  18. package/assets/{account-form-helpers-BNb3DSVG.js → account-form-helpers-TELLBZNz.js} +1 -1
  19. package/assets/{accounts-DnyJTiJI.js → accounts-e6hRmzzC.js} +1 -1
  20. package/assets/{advanced-yh1pLf-B.js → advanced-54kbkUdM.js} +1 -1
  21. package/assets/{appearance-DcrksIgM.js → appearance-FFXIQLly.js} +1 -1
  22. package/assets/{avatar-C1YERaBW.js → avatar-B5F_rga_.js} +1 -1
  23. package/assets/{bottom-sheet-D3ZLbxjc.js → bottom-sheet-oW0eH2Zy.js} +1 -1
  24. package/assets/{brief-Crh5aORi.js → brief-595xDzzA.js} +1 -1
  25. package/assets/brief-BbyFi6I8.js +1 -0
  26. package/assets/{browser-ponyfill-BoXA5ljp.js → browser-ponyfill-jFT5NuxN.js} +1 -1
  27. package/assets/{bug-BQJiKMvA.js → bug-CODF1l-i.js} +1 -1
  28. package/assets/{circle-check-BzfPpVwA.js → circle-check-YndyKtr4.js} +1 -1
  29. package/assets/{circle-check-big-E096Rpo6.js → circle-check-big-K3iakyF_.js} +1 -1
  30. package/assets/{circle-help-Djyb9g9x.js → circle-help-4plHPqfw.js} +1 -1
  31. package/assets/{clock-BGx-WRwm.js → clock-DfsuMtxB.js} +1 -1
  32. package/assets/{confirm-dialog-BqRkjxqY.js → confirm-dialog-UADneuFw.js} +1 -1
  33. package/assets/{download-D1twBW8-.js → download-Biicok59.js} +1 -1
  34. package/assets/{filters-DIE1BOtT.js → filters-B8KIBaJt.js} +1 -1
  35. package/assets/flagged-BETBvXmG.js +1 -0
  36. package/assets/{flagged-CH2YuUEr.js → flagged-Bv3b1jp7.js} +1 -1
  37. package/assets/{folders-Bb-Thje1.js → folders-7yJavcsY.js} +1 -1
  38. package/assets/index-BTtX9VN6.js +1 -0
  39. package/assets/index-BVX3cLFd.js +1 -0
  40. package/assets/index-CJ0WHc7V.js +1 -0
  41. package/assets/index-Cnkc1wMO.js +1 -0
  42. package/assets/{index-CJIQUM3m.js → index-DEg5iEg8.js} +4 -4
  43. package/assets/index-DfWcvGO-.js +1 -0
  44. package/assets/index-DvlFY9o3.js +1 -0
  45. package/assets/index-O2feOV1N.js +1 -0
  46. package/assets/index-nBb9peDI.js +1 -0
  47. package/assets/{kbd-BE6tTCtF.js → kbd-qEVHeb9_.js} +1 -1
  48. package/assets/{labels-0xRxgkIu.js → labels-BQQvsl-D.js} +1 -1
  49. package/assets/{mail-B9B54KdQ.js → mail-Dq1V1PeL.js} +1 -1
  50. package/assets/{menu-COgUw78E.js → menu-3tmv8rnN.js} +1 -1
  51. package/assets/{move-options-CDIApFih.js → move-options-CFt8tu_e.js} +1 -1
  52. package/assets/{nav-link-CAIuq5J3.js → nav-link-DLagJK45.js} +1 -1
  53. package/assets/{onboarding-BQk2nuRz.js → onboarding-CZwCP-nV.js} +1 -1
  54. package/assets/outbox-prd9xdB-.js +1 -0
  55. package/assets/{pencil-Dg_IctIe.js → pencil-8uBVwe4Q.js} +1 -1
  56. package/assets/{rich-text-D9OHMO12.js → rich-text-LXDUxzYy.js} +1 -1
  57. package/assets/{rich-text-spellcheck-worker-provider-BGQbidNK.js → rich-text-spellcheck-worker-provider-CMlxVud3.js} +1 -1
  58. package/assets/{rotate-ccw-B7F_7KUF.js → rotate-ccw-BHoXW6hX.js} +1 -1
  59. package/assets/{row-actions-DmMWj-q1.js → row-actions-76lcvueG.js} +1 -1
  60. package/assets/{search-scope-C_6gVLxy.js → search-scope-CA_aogbp.js} +1 -1
  61. package/assets/{search-token-index-BL_8U2FY.js → search-token-index-CpRlEuF6.js} +1 -1
  62. package/assets/{search-view-IadPSZuy.js → search-view-C41e5831.js} +1 -1
  63. package/assets/{senders-DB6Z9uah.js → senders-B1lwqMMC.js} +1 -1
  64. package/assets/{settings-screen-DBate9ZD.js → settings-screen-CFTBAmuI.js} +1 -1
  65. package/assets/settings-zSKN6k1H.js +1 -0
  66. package/assets/{shield-check-DfJ2e4bR.js → shield-check-Dotwirm-.js} +1 -1
  67. package/assets/{suggested-vips-YCk6wNsV.js → suggested-vips-CclCHgpv.js} +1 -1
  68. package/assets/{use-match-media-BLEbblZt.js → use-match-media-Zexb3l8o.js} +1 -1
  69. package/assets/{useDebouncedValue-l5Z3i8R5.js → useDebouncedValue-BaEIknbc.js} +1 -1
  70. package/assets/{useFilters-1CkubGql.js → useFilters-D0QjQ-gI.js} +1 -1
  71. package/assets/{useLabels-BEGvT3oT.js → useLabels-Ko8K1hA6.js} +1 -1
  72. package/assets/{useRefreshControl-BgbtWANV.js → useRefreshControl-B7OevCbf.js} +1 -1
  73. package/assets/{useSearchMirror-SkZ0dySG.js → useSearchMirror-CHzlKiiz.js} +1 -1
  74. package/assets/{useSearchTokenContext-cfVjM7Bv.js → useSearchTokenContext-BUweVJYK.js} +1 -1
  75. package/assets/{useSemanticSearch-CH_J9x0n.js → useSemanticSearch-cE8OBKU2.js} +1 -1
  76. package/assets/{useSignature-C7MpJuV_.js → useSignature-nBcCgOlO.js} +1 -1
  77. package/index.html +1 -1
  78. package/package.json +1 -1
  79. package/assets/_mailboxId-CzBGL68S.js +0 -1
  80. package/assets/_messageId-BYI7uzhv.js +0 -1
  81. package/assets/_messageId-PByRoW3Q.js +0 -1
  82. package/assets/_messageId-lO_ztI2O.js +0 -1
  83. package/assets/_outboxMessageId-DLoKe3G5.js +0 -1
  84. package/assets/_threadId-BGZs-1Ch.js +0 -1
  85. package/assets/_threadId-Cq6XKFqS.js +0 -1
  86. package/assets/_threadId-DET6BrAQ.js +0 -1
  87. package/assets/brief-BIkek75W.js +0 -1
  88. package/assets/flagged-mECxAUaT.js +0 -1
  89. package/assets/index-64Fc5YpN.js +0 -1
  90. package/assets/index-6Cv_3Tx9.js +0 -1
  91. package/assets/index-BYI7uzhv.js +0 -1
  92. package/assets/index-Be57iCSf.js +0 -1
  93. package/assets/index-DYD2vIsa.js +0 -1
  94. package/assets/index-DYxqG2tY.js +0 -1
  95. package/assets/index-PByRoW3Q.js +0 -1
  96. package/assets/index-t-E-dbnZ.js +0 -1
  97. package/assets/outbox-BcPTimoR.js +0 -1
  98. package/assets/settings-Dz-3CiIM.js +0 -1
@@ -1 +1 @@
1
- import{j as a,an as Ze,S as Xe,bp as et,o as B,bj as tt,p as ae,r as n,x as te,bq as se,v as st,w as at,br as ot,bs as nt,bt as rt,e as Re,bu as it,i as lt}from"./index-CJIQUM3m.js";import{s as Te,a as ct,b as we,u as dt,p as ut,R as mt}from"./useSearchTokenContext-cfVjM7Bv.js";import{a5 as ve,G as ye,a6 as ft,a7 as ht,H as gt,a8 as Se,a9 as xt,aa as pt,ab as It,a4 as bt,ac as vt,ad as yt,ae as St,M as Ct,af as jt,ag as Rt,ah as Tt,g as wt,x as Mt,ai as kt,v as At,S as Nt,K as Ft,P as Ce,O as Bt,L as Ot,f as Lt,Z as Et,_ as Me,$ as qt,a0 as ke,a1 as Dt}from"./MailListHeader-BEau0pBP.js";import{u as Pt,a as zt,R as Ht,i as _t,b as Qt}from"./useRefreshControl-BgbtWANV.js";import{a as $t}from"./useLabels-BEGvT3oT.js";import{d as Wt,R as Gt}from"./search-token-index-BL_8U2FY.js";import{d as Ut}from"./useFilters-1CkubGql.js";import{u as Vt,L as Yt}from"./useSemanticSearch-CH_J9x0n.js";function Jt({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:Kt(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 Kt({synced:e,total:t}){return t>0?`${e.toLocaleString()} of ${t.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",Zt={unclassified:"uncategorized"},D=e=>ct(e).map(t=>t.raw),q=e=>e.join(" "),oe=e=>{const t=we(e);if(t)return Ae.find(o=>o.name===t.name&&o.value===t.value.toLowerCase())?.id},ne=e=>{const t=we(e);if(!t||t.name!==Ne)return;const o=t.value.toLowerCase(),r=Zt[o];if(r)return r;if(!(!et(o)||o==="all"))return o},Fe=e=>Ae.find(t=>t.id===e),Be=e=>Fe(e)!==void 0,Xt=e=>{const t=new Set;for(const o of D(e)){const r=oe(o);r&&t.add(r)}return t},es=e=>{let t="all";for(const o of D(e)){const r=ne(o);r&&(t=r)}return t},ts=(e,t)=>{const o=Fe(t);if(!o)return;const r=D(e),c=r.filter(l=>oe(l)!==t);return c.length<r.length?q(c):q([...r,Te(o.name,o.value)])},ss=(e,t)=>{const o=D(e).filter(r=>!ne(r));return q(t==="all"?o:[...o,Te(Ne,t)])},as=e=>q(D(e).filter(t=>!oe(t)&&!ne(t))),Oe=e=>e.trim().length>0,os=e=>{if(!Oe(e.query))return e.ownFilters;const t=new Set(Xt(e.query));for(const o of e.ownFilters)Be(o)||t.add(o);return t},ns=e=>Oe(e.query)?es(e.query):e.ownCategory,rs=(e,t)=>e.createdAt!==t.createdAt?e.createdAt-t.createdAt:e.accountId.localeCompare(t.accountId),is=e=>[...e].sort(rs),ls=200,je=()=>a.jsx("div",{className:"animate-pulse",children:Array.from({length:3}).map((e,t)=>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"})]})]},t))}),cs=({accountEmail:e})=>{const t=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:()=>t({to:"/settings/accounts"}),className:"shrink-0 underline text-danger hover:opacity-80",children:"Reconnect"})]})},ds=(e,t)=>{if(t.size===0)return{};const o=new Set,r=new Set;for(const l of e)t.has(l.id)&&(l.accountId&&o.add(l.accountId),l.mailboxId&&r.add(l.mailboxId));if(o.size>1)return{moveDisabledHint:"Move only works within one account — clear selection or pick messages from a single account"};const c=o.size===1?[...o][0]:void 0;return r.size>1?{accountId:c,moveDisabledHint:`Move only works within one folder — this selection spans ${r.size} folders`}:{accountId:c,mailboxId:r.size===1?[...r][0]:void 0}};function us({header:e,rows:t,wizard:o,children:r}){const{selectedIds:c,selectedCount:l,exitSelection:p,orderedIds:u,allSelected:x,toggleAllLoaded:y}=Tt(),m=n.useMemo(()=>ds(t,c),[t,c]),{junkMailboxId:S}=wt(m.accountId),{labels:O}=$t(m.accountId),M=n.useMemo(()=>Array.from(c),[c]),j=n.useMemo(()=>t.filter(g=>c.has(g.id)).map(g=>({id:g.id,sender:g.fromName,email:g.fromEmail,subject:g.subject,date:g.timeLabel})),[t,c]),h=Mt(S,m.mailboxId),I=n.useMemo(()=>u.length>0?{checked:x,indeterminate:l>0&&!x,onChange:y}:void 0,[u.length,x,l,y]),b=m.moveDisabledHint?{tone:"warning",text:m.moveDisabledHint}:void 0,F=g=>a.jsx(Nt,{title:g.title,navSlot:g.navSlot,titleMeta:g.titleMeta,searchSlot:g.searchSlot,searchField:g.searchField,idleSlot:g.makeFilterSlot,count:l,onCancel:p,onDelete:()=>o.start("delete"),onMove:()=>o.start("move"),onOrganize:()=>o.start("organize"),onJunk:h?()=>o.start("junk"):void 0,onMarkRead:()=>o.start("markRead"),overflowSlot:m.accountId&&m.mailboxId&&l>0&&O.length>0?a.jsx(Yt,{accountId:m.accountId,mailboxId:m.mailboxId,messageIds:M}):void 0,selectAll:I,notice:b});return a.jsx(kt,{...e,selectionBar:F,paneOverlay:a.jsx(At,{verb:o.verb,accountId:m.accountId,mailboxId:m.mailboxId,selection:j,crossAccount:m.moveDisabledHint!==void 0,onFinished:p}),children:r})}function ms({accounts:e,selectedMessageId:t,onOpenThread:o,commandsRef:r,onTriageContextChange:c,onDeleteMessages:l}){const{searchQuery:p,searchInput:u,resultFolderIndex:x,onSearchChange:y}=B(),m=dt(),S=Ut(),O=Wt(),M=tt(),j=ae(),h=n.useMemo(()=>is(e.filter(s=>!s.muted?.value)),[e]),[I,b]=n.useState("all"),[F,g]=n.useState("all"),[L,U]=n.useState(new Set),[k,P]=n.useState(!1),z=n.useCallback(s=>{U(i=>{const d=new Set(i);return d.has(s)?d.delete(s):d.add(s),d})},[]),H=n.useCallback(()=>U(new Set),[]),C=u.trim().length>0,A=n.useMemo(()=>os({query:u,ownFilters:L}),[u,L]),f=n.useMemo(()=>ns({query:u,ownCategory:F}),[u,F]),R=n.useCallback(s=>{if(!C||!Be(s)){z(s);return}const i=ts(u,s);i!==void 0&&y(i)},[C,u,y,z]),N=n.useCallback(s=>{if(!C){g(s);return}y(ss(u,s))},[C,u,y]),V=n.useCallback(()=>{g("all"),b("all"),H(),C&&y(as(u))},[C,u,y,H]),{data:_,isLoading:Y,isError:re,refetch:ie}=te({...se(),staleTime:6e4}),Q=st({queries:h.map(s=>({...at({path:{accountId:s.accountId}}),staleTime:1/0,meta:{softError:!0}}))}),$=n.useMemo(()=>{const s=new Map;for(let i=0;i<h.length;i++){const d=h[i].accountId,Ye=(Q[i]?.data?.items??[]).reduce((Je,Ke)=>Je+(Ke.unseenCount??0),0);s.set(d,Ye)}return s},[h,Q]),qe=n.useMemo(()=>h.filter((s,i)=>{const d=Q[i];return d?.isError?!ot(d.error):!1}),[h,Q]),{freeText:T,tokens:J}=ut(p.trim().toLowerCase(),m),{data:le,isFetching:De}=te({...se({query:{query:T,limit:ls}}),enabled:T.length>0,staleTime:3e4}),v=n.useMemo(()=>{const s=ve(_?.items??[]).map(ye);return(T?ft(s.filter(d=>ht(d,T)),ve(le?.items??[]).map(ye)):s).filter(d=>(I==="all"||d.accountId===I)&&gt(d,J))},[_,le,I,T,J]),{bodyRows:ce,briefSpamOffer:K}=n.useMemo(()=>{if(!T)return{bodyRows:v,briefSpamOffer:void 0};const s=v.map(w=>Se(w,x)),{spam:i}=xt(s);if(i.length===0)return{bodyRows:v,briefSpamOffer:void 0};const d=new Set(i.map(w=>w.id));return{bodyRows:v.filter(w=>!d.has(w.id)),briefSpamOffer:pt(s)}},[v,T,x]),de=n.useMemo(()=>It(ce),[ce]),ue=n.useCallback((s,i)=>{const d=v.find(w=>w.id===s)?.threadId;d&&o?.({threadId:d,messageId:s},i)},[v,o]),Pe=n.useCallback(s=>{const i=s.threadId??v.find(d=>d.id===s.id)?.threadId;i&&o?.({threadId:i,messageId:s.id})},[v,o]),Z=n.useMemo(()=>h.length<=1?[]:[{id:"all",label:"All",active:I==="all"},...h.map(s=>({id:s.accountId,label:s.email.split("@")[0]??s.email,count:$.get(s.accountId),active:I===s.accountId}))],[h,$,I]),E=n.useMemo(()=>e.filter(s=>s.muted?.value).length,[e]),ze=n.useMemo(()=>Array.from($.values()).reduce((s,i)=>s+i,0),[$]),X=n.useMemo(()=>h.map(s=>s.accountId),[h]),{hasNewMail:me}=Pt(),{state:fe,errorMessage:he,refresh:ge}=zt(X,{onSettled:()=>ie()}),He=n.useMemo(()=>a.jsx(Ht,{state:fe,onRefresh:ge,label:"Refresh daily brief",errorMessage:he,hasUpdate:me(X)}),[fe,ge,he,me,X]),ee=n.useMemo(()=>v.filter(s=>(f==="all"||s.category===f)&&nt(s,A)).map(s=>Se(s,x)),[v,f,A,x]),{hits:xe,isLoading:_e}=Vt(),Qe=n.useMemo(()=>{const s=new Map;for(const d of _?.items??[])s.set(d.messageId,d.threadId);const i=ee.map(d=>s.get(d.id)).filter(d=>d!=null);return bt(xe,i,x)},[xe,ee,_,x]),$e=n.useMemo(()=>{const s=vt(Z.map(i=>({id:i.id,label:i.label,count:i.count,active:i.active})));return{categories:s.categories,filters:s.filters,sources:s.sources,sourcesNote:E>0?`+${E} muted`:void 0,selectedCategory:f,activeFilters:A,expanded:k,onExpandedChange:P,onSelectCategory:i=>N(i),onSelectSource:b,onToggleFilter:i=>R(i),onClear:V}},[Z,E,f,A,k,R,N,V]),pe=de.length===0&&I==="all"&&T.length===0&&J.length===0,We=n.useMemo(()=>h.map(s=>s.accountId),[h]),Ge=n.useMemo(()=>h.some(s=>_t(s.syncPhase)),[h]),W=Qt(We,pe||Ge),Ie=a.jsxs("div",{className:"h-full overflow-y-auto",children:[a.jsx(je,{}),a.jsx(je,{})]}),be=!Y&&!re&&!pe,Ue=yt({tier:O,hasLiveInput:C,hasCommittedQuery:p.trim().length>0,bodyRendersCommittedResults:!0}),Ve=be?a.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[K&&a.jsx(St,{count:K.count,onScopeToSpam:()=>j({to:"/mail/$mailboxId",params:{mailboxId:K.mailboxId},search:{q:p||void 0}})}),a.jsx("div",{className:"min-h-0 flex-1",children:a.jsx(rt,{sections:de,briefCategory:f,Row:Ct,selectedThreadId:t,onSelectThread:ue,onSelectBriefCategory:N,sources:Z,sourcesNote:E>0?`+${E} muted`:void 0,onSelectSource:b,activeFilters:A,onToggleFilter:R,onClearFilters:V})})]}):Y?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(Gt,{className:"size-3.5"}),"Try again"]})]}):W.resolved?a.jsx(Jt,{sync:W.syncing?{synced:W.synced,total:W.total}:void 0}):Ie;return a.jsx(it,{hasSheet:be&&!Ue,children:a.jsx(jt,{selectedMessageId:t,onOpen:ue,onDeleteMessages:l,onSelectionVerb:M.start,wizardOpen:M.isOpen,commandsRef:r,onTriageContextChange:c,children:a.jsx(us,{wizard:M,header:{title:"Daily brief",unreadCount:ze,footer:S?a.jsx(Rt,{}):void 0,searchFilter:$e,searchResults:ee,searchLoading:Y||De,relatedResults:Qe,relatedLoading:_e,onSelectSearchResult:Pe,searchResultsInBody:!0,refreshControl:He},rows:v,children:a.jsxs("div",{className:"flex h-full flex-col",children:[qe.map(s=>a.jsx(cs,{accountEmail:s.email,accountId:s.accountId},s.accountId)),a.jsx("div",{className:"min-h-0 flex-1",children:Ve})]})})})})}const Le=n.createContext(null);function G(){const e=n.useContext(Le);if(!e)throw new Error("BriefPane.* must be used inside <BriefPane>");return e}function fs({thread:e,children:t}){const o=ae(),{searchInput:r}=B(),c=e?.threadId,l=e?.messageId,{data:p}=te({...se(),staleTime:6e4}),u=n.useMemo(()=>p?.items??[],[p]),x=n.useMemo(()=>{if(c)return u.find(f=>f.messageId===l)??u.find(f=>f.threadId===c)},[u,c,l]),y=Ft(c,l),m=x??y,S=l??m?.messageId,O=n.useMemo(()=>{if(c)return{threadId:c,mailboxId:m?.mailboxId??"",subject:m?.subject,messageId:S,authenticity:m?.authenticity}},[c,m,S]),M=n.useCallback((f,R)=>{o({to:"/mail/brief/$threadId/$messageId",params:f,replace:R?.replace,search:N=>({...N,q:r||void 0})})},[o,r]),j=n.useCallback(()=>{o({to:"/mail/brief",search:f=>f})},[o]),h=n.useCallback(f=>{S&&f.includes(S)&&j()},[S,j]),I=Ce({thread:m,onAfterOptimisticRemove:h}),b=Bt(),{deleteMessages:F}=Ot({mailboxId:m?.mailboxId??"",messages:u,onAfterOptimisticRemove:h}),{toggleReadFor:g}=Lt({mailboxId:m?.mailboxId??"",messages:u}),L=b.focusedMessageId,k=n.useMemo(()=>u.find(f=>f.messageId===L),[u,L])??m,P=Ce({thread:k}),{nextMessageId:z,previousMessageId:H}=Et({context:b,orderedIds:b.orderedIds,selectedMessageId:S,onClose:j,handlers:{reply:()=>I.requestCompose("reply"),replyAll:()=>I.requestCompose("reply_all"),forward:()=>I.requestCompose("forward"),delete:()=>{b.listCommandsRef.current?.requestVerb("delete")||P.deleteThread()},toggleStar:P.toggleStar,toggleRead:()=>{b.listCommandsRef.current?.requestVerb("markRead")||k&&g([k.messageId],!k.isRead)},goFlagged:()=>o({to:"/mail/flagged"}),goSettings:()=>o({to:"/settings"})}}),C=n.useCallback(f=>{if(!f)return;const R=u.find(N=>N.messageId===f);return R?{threadId:R.threadId,messageId:f}:void 0},[u]),A={selectedMessageId:S,selectedThread:m,conversation:O,onOpenThread:M,onCloseThread:j,nextThread:C(z),previousThread:C(H),actions:I,triage:b,onDeleteMessages:F,handleDeselectIfRemoved:h};return a.jsx(Le.Provider,{value:A,children:t})}function Ee(){const{selectedMessageId:e,onOpenThread:t,triage:o,onDeleteMessages:r}=G(),{accounts:c}=B();return a.jsx(ms,{accounts:c,selectedMessageId:e,onOpenThread:t,commandsRef:o.listCommandsRef,onTriageContextChange:o.onTriageContextChange,onDeleteMessages:r})}function hs(){const{conversation:e,actions:t}=G(),{intelligenceOpen:o,onToggleIntelligence:r}=B(),c=lt()?.showIntelligencePane??!1,l=!!e,p=c&&l;return a.jsxs("section",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[a.jsx(Dt,{hasThread:l,intelligenceOpen:p&&o,canToggleIntelligence:p,onToggleIntelligence:r,onReply:l?()=>t.requestCompose("reply"):void 0,onReplyAll:l?()=>t.requestCompose("reply_all"):void 0,onForward:l?()=>t.requestCompose("forward"):void 0,onDelete:l?t.deleteThread:void 0,onToggleStar:l?t.toggleStar:void 0,isStarred:t.isStarred,moveContext:l&&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(Me,{threadId:e.threadId,mailboxId:e.mailboxId,subject:e.subject,selectedMessageId:e.messageId,authenticity:e.authenticity,composeRequest:t.composeRequest,onComposeClose:t.clearComposeRequest}):a.jsx(mt,{})})]})}function gs(){const{selectedThread:e,handleDeselectIfRemoved:t}=G(),{onToggleIntelligence:o}=B();return a.jsx(ke,{onClose:o,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:t})}function xs(){const{selectedThread:e,conversation:t,onOpenThread:o,onCloseThread:r,nextThread:c,previousThread:l,handleDeselectIfRemoved:p}=G(),{intelligenceOpen:u,onToggleIntelligence:x}=B();return t?a.jsxs(a.Fragment,{children:[a.jsx(Me,{threadId:t.threadId,mailboxId:t.mailboxId,subject:t.subject,selectedMessageId:t.messageId,authenticity:t.authenticity,onBack:r,onOpenIntelligence:x,onSwipeNext:c?()=>o(c):void 0,onSwipePrevious:l?()=>o(l):void 0,mobileIntelligenceOpen:u}),a.jsx(qt,{isOpen:u,onClose:x,ariaLabel:"Message details",side:"right",children:a.jsx(ke,{onClose:x,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,hideCloseButton:!0,onAfterOptimisticRemove:p})})]}):a.jsx("div",{className:"h-full",children:a.jsx(Ee,{})})}const Rs=Object.assign(fs,{List:Ee,Reading:hs,Intelligence:gs,Phone:xs});export{Rs as B};
1
+ import{j as a,an as Ze,S as Xe,bp as et,o as B,bj as tt,p as ae,r as n,x as te,bq as se,v as st,w as at,br as ot,bs as nt,bt as rt,e as Re,bu as it,i as lt}from"./index-DEg5iEg8.js";import{s as Te,a as ct,b as we,u as dt,p as ut,R as mt}from"./useSearchTokenContext-BUweVJYK.js";import{a5 as ve,G as ye,a6 as ft,a7 as ht,H as gt,a8 as Se,a9 as xt,aa as pt,ab as It,a4 as bt,ac as vt,ad as yt,ae as St,M as Ct,af as jt,ag as Rt,ah as Tt,g as wt,x as Mt,ai as kt,v as At,S as Nt,K as Ft,P as Ce,O as Bt,L as Ot,f as Lt,Z as Et,_ as Me,$ as qt,a0 as ke,a1 as Dt}from"./MailListHeader-CfGZ2a_j.js";import{u as Pt,a as zt,R as Ht,i as _t,b as Qt}from"./useRefreshControl-B7OevCbf.js";import{a as $t}from"./useLabels-Ko8K1hA6.js";import{d as Wt,R as Gt}from"./search-token-index-CpRlEuF6.js";import{d as Ut}from"./useFilters-D0QjQ-gI.js";import{u as Vt,L as Yt}from"./useSemanticSearch-cE8OBKU2.js";function Jt({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:Kt(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 Kt({synced:e,total:t}){return t>0?`${e.toLocaleString()} of ${t.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",Zt={unclassified:"uncategorized"},D=e=>ct(e).map(t=>t.raw),q=e=>e.join(" "),oe=e=>{const t=we(e);if(t)return Ae.find(o=>o.name===t.name&&o.value===t.value.toLowerCase())?.id},ne=e=>{const t=we(e);if(!t||t.name!==Ne)return;const o=t.value.toLowerCase(),r=Zt[o];if(r)return r;if(!(!et(o)||o==="all"))return o},Fe=e=>Ae.find(t=>t.id===e),Be=e=>Fe(e)!==void 0,Xt=e=>{const t=new Set;for(const o of D(e)){const r=oe(o);r&&t.add(r)}return t},es=e=>{let t="all";for(const o of D(e)){const r=ne(o);r&&(t=r)}return t},ts=(e,t)=>{const o=Fe(t);if(!o)return;const r=D(e),c=r.filter(l=>oe(l)!==t);return c.length<r.length?q(c):q([...r,Te(o.name,o.value)])},ss=(e,t)=>{const o=D(e).filter(r=>!ne(r));return q(t==="all"?o:[...o,Te(Ne,t)])},as=e=>q(D(e).filter(t=>!oe(t)&&!ne(t))),Oe=e=>e.trim().length>0,os=e=>{if(!Oe(e.query))return e.ownFilters;const t=new Set(Xt(e.query));for(const o of e.ownFilters)Be(o)||t.add(o);return t},ns=e=>Oe(e.query)?es(e.query):e.ownCategory,rs=(e,t)=>e.createdAt!==t.createdAt?e.createdAt-t.createdAt:e.accountId.localeCompare(t.accountId),is=e=>[...e].sort(rs),ls=200,je=()=>a.jsx("div",{className:"animate-pulse",children:Array.from({length:3}).map((e,t)=>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"})]})]},t))}),cs=({accountEmail:e})=>{const t=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:()=>t({to:"/settings/accounts"}),className:"shrink-0 underline text-danger hover:opacity-80",children:"Reconnect"})]})},ds=(e,t)=>{if(t.size===0)return{};const o=new Set,r=new Set;for(const l of e)t.has(l.id)&&(l.accountId&&o.add(l.accountId),l.mailboxId&&r.add(l.mailboxId));if(o.size>1)return{moveDisabledHint:"Move only works within one account — clear selection or pick messages from a single account"};const c=o.size===1?[...o][0]:void 0;return r.size>1?{accountId:c,moveDisabledHint:`Move only works within one folder — this selection spans ${r.size} folders`}:{accountId:c,mailboxId:r.size===1?[...r][0]:void 0}};function us({header:e,rows:t,wizard:o,children:r}){const{selectedIds:c,selectedCount:l,exitSelection:p,orderedIds:u,allSelected:x,toggleAllLoaded:y}=Tt(),m=n.useMemo(()=>ds(t,c),[t,c]),{junkMailboxId:S}=wt(m.accountId),{labels:O}=$t(m.accountId),M=n.useMemo(()=>Array.from(c),[c]),j=n.useMemo(()=>t.filter(g=>c.has(g.id)).map(g=>({id:g.id,sender:g.fromName,email:g.fromEmail,subject:g.subject,date:g.timeLabel})),[t,c]),h=Mt(S,m.mailboxId),I=n.useMemo(()=>u.length>0?{checked:x,indeterminate:l>0&&!x,onChange:y}:void 0,[u.length,x,l,y]),b=m.moveDisabledHint?{tone:"warning",text:m.moveDisabledHint}:void 0,F=g=>a.jsx(Nt,{title:g.title,navSlot:g.navSlot,titleMeta:g.titleMeta,searchSlot:g.searchSlot,searchField:g.searchField,idleSlot:g.makeFilterSlot,count:l,onCancel:p,onDelete:()=>o.start("delete"),onMove:()=>o.start("move"),onOrganize:()=>o.start("organize"),onJunk:h?()=>o.start("junk"):void 0,onMarkRead:()=>o.start("markRead"),overflowSlot:m.accountId&&m.mailboxId&&l>0&&O.length>0?a.jsx(Yt,{accountId:m.accountId,mailboxId:m.mailboxId,messageIds:M}):void 0,selectAll:I,notice:b});return a.jsx(kt,{...e,selectionBar:F,paneOverlay:a.jsx(At,{verb:o.verb,accountId:m.accountId,mailboxId:m.mailboxId,selection:j,crossAccount:m.moveDisabledHint!==void 0,onFinished:p}),children:r})}function ms({accounts:e,selectedMessageId:t,onOpenThread:o,commandsRef:r,onTriageContextChange:c,onDeleteMessages:l}){const{searchQuery:p,searchInput:u,resultFolderIndex:x,onSearchChange:y}=B(),m=dt(),S=Ut(),O=Wt(),M=tt(),j=ae(),h=n.useMemo(()=>is(e.filter(s=>!s.muted?.value)),[e]),[I,b]=n.useState("all"),[F,g]=n.useState("all"),[L,U]=n.useState(new Set),[k,P]=n.useState(!1),z=n.useCallback(s=>{U(i=>{const d=new Set(i);return d.has(s)?d.delete(s):d.add(s),d})},[]),H=n.useCallback(()=>U(new Set),[]),C=u.trim().length>0,A=n.useMemo(()=>os({query:u,ownFilters:L}),[u,L]),f=n.useMemo(()=>ns({query:u,ownCategory:F}),[u,F]),R=n.useCallback(s=>{if(!C||!Be(s)){z(s);return}const i=ts(u,s);i!==void 0&&y(i)},[C,u,y,z]),N=n.useCallback(s=>{if(!C){g(s);return}y(ss(u,s))},[C,u,y]),V=n.useCallback(()=>{g("all"),b("all"),H(),C&&y(as(u))},[C,u,y,H]),{data:_,isLoading:Y,isError:re,refetch:ie}=te({...se(),staleTime:6e4}),Q=st({queries:h.map(s=>({...at({path:{accountId:s.accountId}}),staleTime:1/0,meta:{softError:!0}}))}),$=n.useMemo(()=>{const s=new Map;for(let i=0;i<h.length;i++){const d=h[i].accountId,Ye=(Q[i]?.data?.items??[]).reduce((Je,Ke)=>Je+(Ke.unseenCount??0),0);s.set(d,Ye)}return s},[h,Q]),qe=n.useMemo(()=>h.filter((s,i)=>{const d=Q[i];return d?.isError?!ot(d.error):!1}),[h,Q]),{freeText:T,tokens:J}=ut(p.trim().toLowerCase(),m),{data:le,isFetching:De}=te({...se({query:{query:T,limit:ls}}),enabled:T.length>0,staleTime:3e4}),v=n.useMemo(()=>{const s=ve(_?.items??[]).map(ye);return(T?ft(s.filter(d=>ht(d,T)),ve(le?.items??[]).map(ye)):s).filter(d=>(I==="all"||d.accountId===I)&&gt(d,J))},[_,le,I,T,J]),{bodyRows:ce,briefSpamOffer:K}=n.useMemo(()=>{if(!T)return{bodyRows:v,briefSpamOffer:void 0};const s=v.map(w=>Se(w,x)),{spam:i}=xt(s);if(i.length===0)return{bodyRows:v,briefSpamOffer:void 0};const d=new Set(i.map(w=>w.id));return{bodyRows:v.filter(w=>!d.has(w.id)),briefSpamOffer:pt(s)}},[v,T,x]),de=n.useMemo(()=>It(ce),[ce]),ue=n.useCallback((s,i)=>{const d=v.find(w=>w.id===s)?.threadId;d&&o?.({threadId:d,messageId:s},i)},[v,o]),Pe=n.useCallback(s=>{const i=s.threadId??v.find(d=>d.id===s.id)?.threadId;i&&o?.({threadId:i,messageId:s.id})},[v,o]),Z=n.useMemo(()=>h.length<=1?[]:[{id:"all",label:"All",active:I==="all"},...h.map(s=>({id:s.accountId,label:s.email.split("@")[0]??s.email,count:$.get(s.accountId),active:I===s.accountId}))],[h,$,I]),E=n.useMemo(()=>e.filter(s=>s.muted?.value).length,[e]),ze=n.useMemo(()=>Array.from($.values()).reduce((s,i)=>s+i,0),[$]),X=n.useMemo(()=>h.map(s=>s.accountId),[h]),{hasNewMail:me}=Pt(),{state:fe,errorMessage:he,refresh:ge}=zt(X,{onSettled:()=>ie()}),He=n.useMemo(()=>a.jsx(Ht,{state:fe,onRefresh:ge,label:"Refresh daily brief",errorMessage:he,hasUpdate:me(X)}),[fe,ge,he,me,X]),ee=n.useMemo(()=>v.filter(s=>(f==="all"||s.category===f)&&nt(s,A)).map(s=>Se(s,x)),[v,f,A,x]),{hits:xe,isLoading:_e}=Vt(),Qe=n.useMemo(()=>{const s=new Map;for(const d of _?.items??[])s.set(d.messageId,d.threadId);const i=ee.map(d=>s.get(d.id)).filter(d=>d!=null);return bt(xe,i,x)},[xe,ee,_,x]),$e=n.useMemo(()=>{const s=vt(Z.map(i=>({id:i.id,label:i.label,count:i.count,active:i.active})));return{categories:s.categories,filters:s.filters,sources:s.sources,sourcesNote:E>0?`+${E} muted`:void 0,selectedCategory:f,activeFilters:A,expanded:k,onExpandedChange:P,onSelectCategory:i=>N(i),onSelectSource:b,onToggleFilter:i=>R(i),onClear:V}},[Z,E,f,A,k,R,N,V]),pe=de.length===0&&I==="all"&&T.length===0&&J.length===0,We=n.useMemo(()=>h.map(s=>s.accountId),[h]),Ge=n.useMemo(()=>h.some(s=>_t(s.syncPhase)),[h]),W=Qt(We,pe||Ge),Ie=a.jsxs("div",{className:"h-full overflow-y-auto",children:[a.jsx(je,{}),a.jsx(je,{})]}),be=!Y&&!re&&!pe,Ue=yt({tier:O,hasLiveInput:C,hasCommittedQuery:p.trim().length>0,bodyRendersCommittedResults:!0}),Ve=be?a.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[K&&a.jsx(St,{count:K.count,onScopeToSpam:()=>j({to:"/mail/$mailboxId",params:{mailboxId:K.mailboxId},search:{q:p||void 0}})}),a.jsx("div",{className:"min-h-0 flex-1",children:a.jsx(rt,{sections:de,briefCategory:f,Row:Ct,selectedThreadId:t,onSelectThread:ue,onSelectBriefCategory:N,sources:Z,sourcesNote:E>0?`+${E} muted`:void 0,onSelectSource:b,activeFilters:A,onToggleFilter:R,onClearFilters:V})})]}):Y?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(Gt,{className:"size-3.5"}),"Try again"]})]}):W.resolved?a.jsx(Jt,{sync:W.syncing?{synced:W.synced,total:W.total}:void 0}):Ie;return a.jsx(it,{hasSheet:be&&!Ue,children:a.jsx(jt,{selectedMessageId:t,onOpen:ue,onDeleteMessages:l,onSelectionVerb:M.start,wizardOpen:M.isOpen,commandsRef:r,onTriageContextChange:c,children:a.jsx(us,{wizard:M,header:{title:"Daily brief",unreadCount:ze,footer:S?a.jsx(Rt,{}):void 0,searchFilter:$e,searchResults:ee,searchLoading:Y||De,relatedResults:Qe,relatedLoading:_e,onSelectSearchResult:Pe,searchResultsInBody:!0,refreshControl:He},rows:v,children:a.jsxs("div",{className:"flex h-full flex-col",children:[qe.map(s=>a.jsx(cs,{accountEmail:s.email,accountId:s.accountId},s.accountId)),a.jsx("div",{className:"min-h-0 flex-1",children:Ve})]})})})})}const Le=n.createContext(null);function G(){const e=n.useContext(Le);if(!e)throw new Error("BriefPane.* must be used inside <BriefPane>");return e}function fs({thread:e,children:t}){const o=ae(),{searchInput:r}=B(),c=e?.threadId,l=e?.messageId,{data:p}=te({...se(),staleTime:6e4}),u=n.useMemo(()=>p?.items??[],[p]),x=n.useMemo(()=>{if(c)return u.find(f=>f.messageId===l)??u.find(f=>f.threadId===c)},[u,c,l]),y=Ft(c,l),m=x??y,S=l??m?.messageId,O=n.useMemo(()=>{if(c)return{threadId:c,mailboxId:m?.mailboxId??"",subject:m?.subject,messageId:S,authenticity:m?.authenticity}},[c,m,S]),M=n.useCallback((f,R)=>{o({to:"/mail/brief/$threadId/$messageId",params:f,replace:R?.replace,search:N=>({...N,q:r||void 0})})},[o,r]),j=n.useCallback(()=>{o({to:"/mail/brief",search:f=>f})},[o]),h=n.useCallback(f=>{S&&f.includes(S)&&j()},[S,j]),I=Ce({thread:m,onAfterOptimisticRemove:h}),b=Bt(),{deleteMessages:F}=Ot({mailboxId:m?.mailboxId??"",messages:u,onAfterOptimisticRemove:h}),{toggleReadFor:g}=Lt({mailboxId:m?.mailboxId??"",messages:u}),L=b.focusedMessageId,k=n.useMemo(()=>u.find(f=>f.messageId===L),[u,L])??m,P=Ce({thread:k}),{nextMessageId:z,previousMessageId:H}=Et({context:b,orderedIds:b.orderedIds,selectedMessageId:S,onClose:j,handlers:{reply:()=>I.requestCompose("reply"),replyAll:()=>I.requestCompose("reply_all"),forward:()=>I.requestCompose("forward"),delete:()=>{b.listCommandsRef.current?.requestVerb("delete")||P.deleteThread()},toggleStar:P.toggleStar,toggleRead:()=>{b.listCommandsRef.current?.requestVerb("markRead")||k&&g([k.messageId],!k.isRead)},goFlagged:()=>o({to:"/mail/flagged"}),goSettings:()=>o({to:"/settings"})}}),C=n.useCallback(f=>{if(!f)return;const R=u.find(N=>N.messageId===f);return R?{threadId:R.threadId,messageId:f}:void 0},[u]),A={selectedMessageId:S,selectedThread:m,conversation:O,onOpenThread:M,onCloseThread:j,nextThread:C(z),previousThread:C(H),actions:I,triage:b,onDeleteMessages:F,handleDeselectIfRemoved:h};return a.jsx(Le.Provider,{value:A,children:t})}function Ee(){const{selectedMessageId:e,onOpenThread:t,triage:o,onDeleteMessages:r}=G(),{accounts:c}=B();return a.jsx(ms,{accounts:c,selectedMessageId:e,onOpenThread:t,commandsRef:o.listCommandsRef,onTriageContextChange:o.onTriageContextChange,onDeleteMessages:r})}function hs(){const{conversation:e,actions:t}=G(),{intelligenceOpen:o,onToggleIntelligence:r}=B(),c=lt()?.showIntelligencePane??!1,l=!!e,p=c&&l;return a.jsxs("section",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[a.jsx(Dt,{hasThread:l,intelligenceOpen:p&&o,canToggleIntelligence:p,onToggleIntelligence:r,onReply:l?()=>t.requestCompose("reply"):void 0,onReplyAll:l?()=>t.requestCompose("reply_all"):void 0,onForward:l?()=>t.requestCompose("forward"):void 0,onDelete:l?t.deleteThread:void 0,onToggleStar:l?t.toggleStar:void 0,isStarred:t.isStarred,moveContext:l&&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(Me,{threadId:e.threadId,mailboxId:e.mailboxId,subject:e.subject,selectedMessageId:e.messageId,authenticity:e.authenticity,composeRequest:t.composeRequest,onComposeClose:t.clearComposeRequest}):a.jsx(mt,{})})]})}function gs(){const{selectedThread:e,handleDeselectIfRemoved:t}=G(),{onToggleIntelligence:o}=B();return a.jsx(ke,{onClose:o,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:t})}function xs(){const{selectedThread:e,conversation:t,onOpenThread:o,onCloseThread:r,nextThread:c,previousThread:l,handleDeselectIfRemoved:p}=G(),{intelligenceOpen:u,onToggleIntelligence:x}=B();return t?a.jsxs(a.Fragment,{children:[a.jsx(Me,{threadId:t.threadId,mailboxId:t.mailboxId,subject:t.subject,selectedMessageId:t.messageId,authenticity:t.authenticity,onBack:r,onOpenIntelligence:x,onSwipeNext:c?()=>o(c):void 0,onSwipePrevious:l?()=>o(l):void 0,mobileIntelligenceOpen:u}),a.jsx(qt,{isOpen:u,onClose:x,ariaLabel:"Message details",side:"right",children:a.jsx(ke,{onClose:x,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,hideCloseButton:!0,onAfterOptimisticRemove:p})})]}):a.jsx("div",{className:"h-full",children:a.jsx(Ee,{})})}const Rs=Object.assign(fs,{List:Ee,Reading:hs,Intelligence:gs,Phone:xs});export{Rs as B};
@@ -1 +1 @@
1
- import{j as t,e as r}from"./index-CJIQUM3m.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-DEg5iEg8.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{bG as Z,r as n,bH as J,o as M,bj as X,aN as Y,aO as ee,j as a,p as te,i as se}from"./index-CJIQUM3m.js";import{u as ae,p as oe,R as re}from"./useSearchTokenContext-cfVjM7Bv.js";import{G as ne,a7 as de,H as ie,ao as le,a8 as ce,e as ue,M as ge,af as he,ap as me,ah as fe,v as pe,K as xe,P as D,O as Ie,L as Te,f as be,Z as ve,_ as H,$ as Ce,a0 as z,a1 as ye}from"./MailListHeader-BEau0pBP.js";import{u as Re,b as Se,a as je}from"./MailViewChrome-DDZ9r_j9.js";import{f as we}from"./ErrorState-IhTpwfPz.js";import{d as Me}from"./useFilters-1CkubGql.js";const Fe=()=>J({query:{starred:!0,order:"desc"}});function Q(){const{data:e,isLoading:t,isError:o,error:u,refetch:c,fetchNextPage:s,hasNextPage:i,isFetchingNextPage:x}=Re({queryKey:Fe(),queryFn:async({pageParam:d})=>{const{data:h}=await Z({query:{starred:!0,order:"desc",continuationToken:d},throwOnError:!0});return h},initialPageParam:void 0,getNextPageParam:d=>d.continuationToken,staleTime:6e4});return{threads:n.useMemo(()=>(e?.pages??[]).flatMap(d=>d.items??[]),[e]),isLoading:t,isError:o,error:u,refetch:c,fetchNextPage:s,hasNextPage:i,isFetchingNextPage:x}}const Pe=e=>{const t=new Set;return e.filter(o=>t.has(o.threadId)?!1:(t.add(o.threadId),!0))},ke={unread:e=>!e.isRead,attachment:e=>e.hasAttachment===!0};function Le({rows:e,verb:t}){const{selectedIds:o,exitSelection:u}=fe(),c=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:c,crossAccount:!0,onFinished:u})}function Oe({selectedMessageId:e,onOpenThread:t,commandsRef:o,onTriageContextChange:u,onDeleteMessages:c}){const{searchQuery:s,resultFolderIndex:i}=M(),x=ae(),I=Me(),d=X(),[h,F]=n.useState("all"),[R,T]=n.useState(new Set),S=n.useCallback(r=>{T(g=>{const f=new Set(g);return f.has(r)?f.delete(r):f.add(r),f})},[]),b=n.useCallback(()=>{F("all"),T(new Set)},[]),{threads:p,isLoading:P,isError:k,error:L,refetch:A,fetchNextPage:v,hasNextPage:O,isFetchingNextPage:q}=Q(),{freeText:C,tokens:j}=oe(s.trim().toLowerCase(),x),m=n.useMemo(()=>{const r=Array.from(R).map(g=>ke[g]).filter(g=>g!=null);return Pe(p).map(ne).filter(g=>(h==="all"||g.category===h)&&r.every(f=>f(g))&&(!C||de(g,C))&&ie(g,j))},[p,h,R,C,j]),l=n.useCallback((r,g)=>{const f=m.find(U=>U.id===r)?.threadId;f&&t?.({threadId:f,messageId:r},g)},[m,t]),y=n.useCallback(r=>{const g=r.threadId??m.find(f=>f.id===r.id)?.threadId;g&&t?.({threadId:g,messageId:r.id})},[m,t]),w=n.useMemo(()=>le(),[]),K=n.useMemo(()=>m.map(r=>ce(r,i)),[m,i]),G=n.useMemo(()=>m.filter(r=>!r.isRead).length,[m]),E=P?"loading":k?"error":m.length===0?"empty":"ready",W=n.useCallback(()=>{const r=Y(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:m.map(r=>a.jsx(ge,{thread:r,active:r.id===e,onClick:()=>l(r.id)},r.id))}),O?a.jsx("button",{type:"button",className:"w-full py-3 text-sm text-muted hover:text-fg disabled:opacity-50",onClick:()=>v(),disabled:q,children:q?"Loading…":"Load more"}):null]})});return a.jsx(Se,{title:"Starred",unreadCount:G,preset:w,selectedCategory:h,activeFilters:R,onSelectCategory:F,onToggleFilter:S,onClearFilters:b,searchResults:K,searchLoading:P,onSelectSearchResult:y,searchResultsInBody:!0,children:a.jsxs(he,{selectedMessageId:e,onOpen:l,onDeleteMessages:c,onSelectionVerb:d.start,wizardOpen:d.isOpen,commandsRef:o,onTriageContextChange:u,children:[a.jsx(je,{listTitle:"Starred",sections:[{id:"flagged",threads:m}],flatList:!0,hideHeader:!0,listState:B.searchResults?"ready":E,searchQuery:C?s:void 0,errorMessage:k?we(L):void 0,onRetry:()=>A(),onReportError:W,selectedThreadId:e,onSelectThread:l,isDesktop:I,selectionBar:a.jsx(me,{title:"Starred"}),listBody:B.searchResults??(E==="ready"?$:void 0)}),a.jsx(Le,{rows:m,verb:d.verb})]})})}const V=n.createContext(null);function N(){const e=n.useContext(V);if(!e)throw new Error("FlaggedPane.* must be used inside <FlaggedPane>");return e}function qe({thread:e,children:t}){const o=te(),{searchInput:u}=M(),c=e?.threadId,s=e?.messageId,{threads:i}=Q(),x=n.useMemo(()=>{if(c)return i.find(l=>l.messageId===s)??i.find(l=>l.threadId===c)},[i,c,s]),I=xe(c,s),d=x??I,h=s??d?.messageId,F=n.useMemo(()=>{if(c)return{threadId:c,mailboxId:d?.mailboxId??"",subject:d?.subject,messageId:h,authenticity:d?.authenticity}},[c,d,h]),R=n.useCallback((l,y)=>{o({to:"/mail/flagged/$threadId/$messageId",params:l,replace:y?.replace,search:w=>({...w,q:u||void 0})})},[o,u]),T=n.useCallback(()=>{o({to:"/mail/flagged",search:l=>l})},[o]),S=n.useCallback(l=>{h&&l.includes(h)&&T()},[h,T]),b=D({thread:d,onAfterOptimisticRemove:S}),p=Ie(),{deleteMessages:P}=Te({mailboxId:d?.mailboxId??"",messages:i,onAfterOptimisticRemove:S}),{toggleReadFor:k}=be({mailboxId:d?.mailboxId??"",messages:i}),L=p.focusedMessageId,v=n.useMemo(()=>i.find(l=>l.messageId===L),[i,L])??d,O=D({thread:v}),{nextMessageId:q,previousMessageId:C}=ve({context:p,orderedIds:p.orderedIds,selectedMessageId:h,onClose:T,handlers:{reply:()=>b.requestCompose("reply"),replyAll:()=>b.requestCompose("reply_all"),forward:()=>b.requestCompose("forward"),delete:()=>{p.listCommandsRef.current?.requestVerb("delete")||O.deleteThread()},toggleStar:O.toggleStar,toggleRead:()=>{p.listCommandsRef.current?.requestVerb("markRead")||v&&k([v.messageId],!v.isRead)},goBrief:()=>o({to:"/mail/brief"}),goSettings:()=>o({to:"/settings"})}}),j=n.useCallback(l=>{if(!l)return;const y=i.find(w=>w.messageId===l);return y?{threadId:y.threadId,messageId:l}:void 0},[i]),m={selectedMessageId:h,selectedThread:d,conversation:F,onOpenThread:R,onCloseThread:T,nextThread:j(q),previousThread:j(C),actions:b,triage:p,onDeleteMessages:P,handleDeselectIfRemoved:S};return a.jsx(V.Provider,{value:m,children:t})}function _(){const{selectedMessageId:e,onOpenThread:t,triage:o,onDeleteMessages:u}=N();return a.jsx(Oe,{selectedMessageId:e,onOpenThread:t,commandsRef:o.listCommandsRef,onTriageContextChange:o.onTriageContextChange,onDeleteMessages:u})}function Ne(){const{conversation:e,actions:t}=N(),{intelligenceOpen:o,onToggleIntelligence:u}=M(),c=se()?.showIntelligencePane??!1,s=!!e,i=c&&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:i&&o,canToggleIntelligence:i,onToggleIntelligence:u,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(H,{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 Ae(){const{selectedThread:e,handleDeselectIfRemoved:t}=N(),{onToggleIntelligence:o}=M();return a.jsx(z,{onClose:o,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:t})}function Ee(){const{selectedThread:e,conversation:t,onCloseThread:o,onOpenThread:u,nextThread:c,previousThread:s,handleDeselectIfRemoved:i}=N(),{intelligenceOpen:x,onToggleIntelligence:I}=M();return t?a.jsxs(a.Fragment,{children:[a.jsx(H,{threadId:t.threadId,mailboxId:t.mailboxId,subject:t.subject,selectedMessageId:t.messageId,authenticity:t.authenticity,onBack:o,onOpenIntelligence:I,onSwipeNext:c?()=>u(c):void 0,onSwipePrevious:s?()=>u(s):void 0,mobileIntelligenceOpen:x}),a.jsx(Ce,{isOpen:x,onClose:I,ariaLabel:"Message details",side:"right",children:a.jsx(z,{onClose:I,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,hideCloseButton:!0,onAfterOptimisticRemove:i})})]}):a.jsx("div",{className:"h-full",children:a.jsx(_,{})})}const _e=Object.assign(qe,{List:_,Reading:Ne,Intelligence:Ae,Phone:Ee});export{_e as F};
1
+ import{bG as Z,r as n,bH as J,o as M,bj as X,aN as Y,aO as ee,j as a,p as te,i as se}from"./index-DEg5iEg8.js";import{u as ae,p as oe,R as re}from"./useSearchTokenContext-BUweVJYK.js";import{G as ne,a7 as de,H as ie,ao as le,a8 as ce,e as ue,M as ge,af as he,ap as me,ah as fe,v as pe,K as xe,P as D,O as Ie,L as Te,f as be,Z as ve,_ as H,$ as Ce,a0 as z,a1 as ye}from"./MailListHeader-CfGZ2a_j.js";import{u as Re,b as Se,a as je}from"./MailViewChrome-BC4sBDQe.js";import{f as we}from"./ErrorState-DH_p36q7.js";import{d as Me}from"./useFilters-D0QjQ-gI.js";const Fe=()=>J({query:{starred:!0,order:"desc"}});function Q(){const{data:e,isLoading:t,isError:o,error:u,refetch:c,fetchNextPage:s,hasNextPage:i,isFetchingNextPage:x}=Re({queryKey:Fe(),queryFn:async({pageParam:d})=>{const{data:h}=await Z({query:{starred:!0,order:"desc",continuationToken:d},throwOnError:!0});return h},initialPageParam:void 0,getNextPageParam:d=>d.continuationToken,staleTime:6e4});return{threads:n.useMemo(()=>(e?.pages??[]).flatMap(d=>d.items??[]),[e]),isLoading:t,isError:o,error:u,refetch:c,fetchNextPage:s,hasNextPage:i,isFetchingNextPage:x}}const Pe=e=>{const t=new Set;return e.filter(o=>t.has(o.threadId)?!1:(t.add(o.threadId),!0))},ke={unread:e=>!e.isRead,attachment:e=>e.hasAttachment===!0};function Le({rows:e,verb:t}){const{selectedIds:o,exitSelection:u}=fe(),c=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:c,crossAccount:!0,onFinished:u})}function Oe({selectedMessageId:e,onOpenThread:t,commandsRef:o,onTriageContextChange:u,onDeleteMessages:c}){const{searchQuery:s,resultFolderIndex:i}=M(),x=ae(),I=Me(),d=X(),[h,F]=n.useState("all"),[R,T]=n.useState(new Set),S=n.useCallback(r=>{T(g=>{const f=new Set(g);return f.has(r)?f.delete(r):f.add(r),f})},[]),b=n.useCallback(()=>{F("all"),T(new Set)},[]),{threads:p,isLoading:P,isError:k,error:L,refetch:A,fetchNextPage:v,hasNextPage:O,isFetchingNextPage:q}=Q(),{freeText:C,tokens:j}=oe(s.trim().toLowerCase(),x),m=n.useMemo(()=>{const r=Array.from(R).map(g=>ke[g]).filter(g=>g!=null);return Pe(p).map(ne).filter(g=>(h==="all"||g.category===h)&&r.every(f=>f(g))&&(!C||de(g,C))&&ie(g,j))},[p,h,R,C,j]),l=n.useCallback((r,g)=>{const f=m.find(U=>U.id===r)?.threadId;f&&t?.({threadId:f,messageId:r},g)},[m,t]),y=n.useCallback(r=>{const g=r.threadId??m.find(f=>f.id===r.id)?.threadId;g&&t?.({threadId:g,messageId:r.id})},[m,t]),w=n.useMemo(()=>le(),[]),K=n.useMemo(()=>m.map(r=>ce(r,i)),[m,i]),G=n.useMemo(()=>m.filter(r=>!r.isRead).length,[m]),E=P?"loading":k?"error":m.length===0?"empty":"ready",W=n.useCallback(()=>{const r=Y(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:m.map(r=>a.jsx(ge,{thread:r,active:r.id===e,onClick:()=>l(r.id)},r.id))}),O?a.jsx("button",{type:"button",className:"w-full py-3 text-sm text-muted hover:text-fg disabled:opacity-50",onClick:()=>v(),disabled:q,children:q?"Loading…":"Load more"}):null]})});return a.jsx(Se,{title:"Starred",unreadCount:G,preset:w,selectedCategory:h,activeFilters:R,onSelectCategory:F,onToggleFilter:S,onClearFilters:b,searchResults:K,searchLoading:P,onSelectSearchResult:y,searchResultsInBody:!0,children:a.jsxs(he,{selectedMessageId:e,onOpen:l,onDeleteMessages:c,onSelectionVerb:d.start,wizardOpen:d.isOpen,commandsRef:o,onTriageContextChange:u,children:[a.jsx(je,{listTitle:"Starred",sections:[{id:"flagged",threads:m}],flatList:!0,hideHeader:!0,listState:B.searchResults?"ready":E,searchQuery:C?s:void 0,errorMessage:k?we(L):void 0,onRetry:()=>A(),onReportError:W,selectedThreadId:e,onSelectThread:l,isDesktop:I,selectionBar:a.jsx(me,{title:"Starred"}),listBody:B.searchResults??(E==="ready"?$:void 0)}),a.jsx(Le,{rows:m,verb:d.verb})]})})}const V=n.createContext(null);function N(){const e=n.useContext(V);if(!e)throw new Error("FlaggedPane.* must be used inside <FlaggedPane>");return e}function qe({thread:e,children:t}){const o=te(),{searchInput:u}=M(),c=e?.threadId,s=e?.messageId,{threads:i}=Q(),x=n.useMemo(()=>{if(c)return i.find(l=>l.messageId===s)??i.find(l=>l.threadId===c)},[i,c,s]),I=xe(c,s),d=x??I,h=s??d?.messageId,F=n.useMemo(()=>{if(c)return{threadId:c,mailboxId:d?.mailboxId??"",subject:d?.subject,messageId:h,authenticity:d?.authenticity}},[c,d,h]),R=n.useCallback((l,y)=>{o({to:"/mail/flagged/$threadId/$messageId",params:l,replace:y?.replace,search:w=>({...w,q:u||void 0})})},[o,u]),T=n.useCallback(()=>{o({to:"/mail/flagged",search:l=>l})},[o]),S=n.useCallback(l=>{h&&l.includes(h)&&T()},[h,T]),b=D({thread:d,onAfterOptimisticRemove:S}),p=Ie(),{deleteMessages:P}=Te({mailboxId:d?.mailboxId??"",messages:i,onAfterOptimisticRemove:S}),{toggleReadFor:k}=be({mailboxId:d?.mailboxId??"",messages:i}),L=p.focusedMessageId,v=n.useMemo(()=>i.find(l=>l.messageId===L),[i,L])??d,O=D({thread:v}),{nextMessageId:q,previousMessageId:C}=ve({context:p,orderedIds:p.orderedIds,selectedMessageId:h,onClose:T,handlers:{reply:()=>b.requestCompose("reply"),replyAll:()=>b.requestCompose("reply_all"),forward:()=>b.requestCompose("forward"),delete:()=>{p.listCommandsRef.current?.requestVerb("delete")||O.deleteThread()},toggleStar:O.toggleStar,toggleRead:()=>{p.listCommandsRef.current?.requestVerb("markRead")||v&&k([v.messageId],!v.isRead)},goBrief:()=>o({to:"/mail/brief"}),goSettings:()=>o({to:"/settings"})}}),j=n.useCallback(l=>{if(!l)return;const y=i.find(w=>w.messageId===l);return y?{threadId:y.threadId,messageId:l}:void 0},[i]),m={selectedMessageId:h,selectedThread:d,conversation:F,onOpenThread:R,onCloseThread:T,nextThread:j(q),previousThread:j(C),actions:b,triage:p,onDeleteMessages:P,handleDeselectIfRemoved:S};return a.jsx(V.Provider,{value:m,children:t})}function _(){const{selectedMessageId:e,onOpenThread:t,triage:o,onDeleteMessages:u}=N();return a.jsx(Oe,{selectedMessageId:e,onOpenThread:t,commandsRef:o.listCommandsRef,onTriageContextChange:o.onTriageContextChange,onDeleteMessages:u})}function Ne(){const{conversation:e,actions:t}=N(),{intelligenceOpen:o,onToggleIntelligence:u}=M(),c=se()?.showIntelligencePane??!1,s=!!e,i=c&&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:i&&o,canToggleIntelligence:i,onToggleIntelligence:u,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(H,{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 Ae(){const{selectedThread:e,handleDeselectIfRemoved:t}=N(),{onToggleIntelligence:o}=M();return a.jsx(z,{onClose:o,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:t})}function Ee(){const{selectedThread:e,conversation:t,onCloseThread:o,onOpenThread:u,nextThread:c,previousThread:s,handleDeselectIfRemoved:i}=N(),{intelligenceOpen:x,onToggleIntelligence:I}=M();return t?a.jsxs(a.Fragment,{children:[a.jsx(H,{threadId:t.threadId,mailboxId:t.mailboxId,subject:t.subject,selectedMessageId:t.messageId,authenticity:t.authenticity,onBack:o,onOpenIntelligence:I,onSwipeNext:c?()=>u(c):void 0,onSwipePrevious:s?()=>u(s):void 0,mobileIntelligenceOpen:x}),a.jsx(Ce,{isOpen:x,onClose:I,ariaLabel:"Message details",side:"right",children:a.jsx(z,{onClose:I,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,hideCloseButton:!0,onAfterOptimisticRemove:i})})]}):a.jsx("div",{className:"h-full",children:a.jsx(_,{})})}const _e=Object.assign(qe,{List:_,Reading:Ne,Intelligence:Ae,Phone:Ee});export{_e as F};