@remit/web-client-dist 0.0.350 → 0.0.351

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 (99) hide show
  1. package/assets/BriefPane-D5U_FMo6.js +1 -0
  2. package/assets/{ErrorState-DoRAGdox.js → ErrorState-DrA1RdFM.js} +1 -1
  3. package/assets/FlaggedPane-CD0MhkHu.js +1 -0
  4. package/assets/{MailListHeader-rmY0HqPF.js → MailListHeader-BJ9doZxm.js} +11 -11
  5. package/assets/{MailViewChrome-BfjRaJ19.js → MailViewChrome-wpRug1Q0.js} +1 -1
  6. package/assets/{MailboxPane-Dl2l5qWx.js → MailboxPane-CUVIV3ip.js} +1 -1
  7. package/assets/{NavMenuButton-BS79vTSG.js → NavMenuButton-Dy0q8FiJ.js} +1 -1
  8. package/assets/{OnboardingWizard-F-TaNHAB.js → OnboardingWizard-DxBnC5ZI.js} +1 -1
  9. package/assets/{OutboxPane-7aoZUfA7.js → OutboxPane-DD3Oj-FL.js} +1 -1
  10. package/assets/_mailboxId-BTlxhtzs.js +1 -0
  11. package/assets/_messageId-CUwYB2GP.js +1 -0
  12. package/assets/_messageId-DFuKJd0-.js +1 -0
  13. package/assets/_messageId-DOJy3_kq.js +1 -0
  14. package/assets/_outboxMessageId-DkVUQAXG.js +1 -0
  15. package/assets/_threadId-D6AYslSV.js +1 -0
  16. package/assets/_threadId-JDDKxHld.js +1 -0
  17. package/assets/_threadId-oY_n41uG.js +1 -0
  18. package/assets/{account-form-helpers-B8wNcuKv.js → account-form-helpers-D1exxHT6.js} +1 -1
  19. package/assets/{accounts-6M3nWAiW.js → accounts-CZkcoZsJ.js} +1 -1
  20. package/assets/{advanced-BlT3tDbs.js → advanced-BY_XBoCx.js} +1 -1
  21. package/assets/{appearance-CP2rAXSb.js → appearance-BszRkKRP.js} +1 -1
  22. package/assets/{avatar-PdnvM963.js → avatar-lbydjrIt.js} +1 -1
  23. package/assets/{bottom-sheet-Bk_TVO-_.js → bottom-sheet-BZM-qnW9.js} +1 -1
  24. package/assets/brief-BAvH751q.js +1 -0
  25. package/assets/{brief-D84se38N.js → brief-DAZY-yDt.js} +1 -1
  26. package/assets/{browser-ponyfill-DZShSotr.js → browser-ponyfill-1mYU3VEo.js} +1 -1
  27. package/assets/{bug-wt8JvdWM.js → bug-LK0uYJOc.js} +1 -1
  28. package/assets/{circle-check-HhU-1j11.js → circle-check-BO9xAEiG.js} +1 -1
  29. package/assets/{circle-check-big-DILQ0UlV.js → circle-check-big-xK5jTBa2.js} +1 -1
  30. package/assets/{circle-help-B1FPU1VH.js → circle-help-D-5uStGy.js} +1 -1
  31. package/assets/{clock-VpKLm0s2.js → clock-CdRZkrpV.js} +1 -1
  32. package/assets/{confirm-dialog-Dt7c_-Hc.js → confirm-dialog-DZ3dfzvC.js} +1 -1
  33. package/assets/{download-7bj5MyVu.js → download-BRZRRebx.js} +1 -1
  34. package/assets/{filters-BmMNr1sB.js → filters-CJtRXFIT.js} +1 -1
  35. package/assets/{flagged-B3gSwDyx.js → flagged-B4b0rbUr.js} +1 -1
  36. package/assets/flagged-Cj1lkP-D.js +1 -0
  37. package/assets/{folders-BkaGLo6W.js → folders-CMjuCzAd.js} +1 -1
  38. package/assets/index-72yU2-kn.js +1 -0
  39. package/assets/index-BfJZRVVj.js +1 -0
  40. package/assets/{index-BRCDRo29.js → index-Bo-p3LpF.js} +50 -50
  41. package/assets/index-BxygYghU.js +1 -0
  42. package/assets/index-CUwYB2GP.js +1 -0
  43. package/assets/index-DFS5aq3D.js +1 -0
  44. package/assets/index-DKsFKmu0.js +1 -0
  45. package/assets/index-DOJy3_kq.js +1 -0
  46. package/assets/index-nszVYODK.js +1 -0
  47. package/assets/{kbd-CsPdP9wb.js → kbd-0M4qAi49.js} +1 -1
  48. package/assets/{labels-Bc46ITVM.js → labels-CuC6gcyn.js} +1 -1
  49. package/assets/{mail-CrY_2MXy.js → mail-DEw6NSuJ.js} +1 -1
  50. package/assets/{menu-DfVnoVYt.js → menu-vnrvhz9W.js} +1 -1
  51. package/assets/{move-options-CGXIzBuT.js → move-options-_eZlt0v0.js} +1 -1
  52. package/assets/{nav-link-CWDzdgm8.js → nav-link-BC-lpJt4.js} +1 -1
  53. package/assets/{onboarding-DG15x7nQ.js → onboarding-B1ncdxiJ.js} +1 -1
  54. package/assets/outbox-C-BbuTN9.js +1 -0
  55. package/assets/{pencil-B1hrkgzK.js → pencil-7SyIHZVc.js} +1 -1
  56. package/assets/{rich-text-BRnrEpbz.js → rich-text-DbpnpZXL.js} +1 -1
  57. package/assets/{rich-text-spellcheck-worker-provider-CHfEkKbD.js → rich-text-spellcheck-worker-provider-LftNISS3.js} +1 -1
  58. package/assets/{rotate-ccw-C_tFdrda.js → rotate-ccw-CKKgjGEq.js} +1 -1
  59. package/assets/{row-actions-Cb-L2i4O.js → row-actions-7xv7AJ82.js} +1 -1
  60. package/assets/{search-token-index-B-Ijdoxu.js → search-token-index-sLIcvT6p.js} +1 -1
  61. package/assets/{search-view-Dq4wh09L.js → search-view-CB5G4Kva.js} +1 -1
  62. package/assets/{senders-DdLa7kvs.js → senders-O9M02K_2.js} +1 -1
  63. package/assets/settings-CI2VbWFc.js +1 -0
  64. package/assets/{settings-screen-CIG8V8_w.js → settings-screen-CjdCNCJ8.js} +1 -1
  65. package/assets/{shield-check-D0e9fF2a.js → shield-check-C48_fmzW.js} +1 -1
  66. package/assets/{suggested-vips-CG-DYao7.js → suggested-vips-BXGwlIUy.js} +1 -1
  67. package/assets/{use-match-media-BPAxbeec.js → use-match-media-jqJ95ElE.js} +1 -1
  68. package/assets/{useDebouncedValue-DEKIbYmm.js → useDebouncedValue-bAON8Yph.js} +1 -1
  69. package/assets/{useFilters-DU9a5EsI.js → useFilters-D_O09QB6.js} +1 -1
  70. package/assets/{useLabels-Bx0M2eO2.js → useLabels-wgL9c4lv.js} +1 -1
  71. package/assets/{useRefreshControl-DXnlAPXi.js → useRefreshControl-hxsw2pLp.js} +1 -1
  72. package/assets/{useSearchMirror-CbAX1Wtu.js → useSearchMirror-DylRqxaA.js} +1 -1
  73. package/assets/{useSearchTokenContext-De3uvO-G.js → useSearchTokenContext-Bb3YnI52.js} +1 -1
  74. package/assets/{useSemanticSearch-CngSoHz3.js → useSemanticSearch-BXCI_0Rt.js} +1 -1
  75. package/assets/{useSignature-ClDKKTqd.js → useSignature-sSo464BG.js} +1 -1
  76. package/index.html +1 -1
  77. package/package.json +1 -1
  78. package/assets/BriefPane-CIBzBLar.js +0 -1
  79. package/assets/FlaggedPane-DdICDYH6.js +0 -1
  80. package/assets/_mailboxId-ChxGJRMN.js +0 -1
  81. package/assets/_messageId-BUTz--x0.js +0 -1
  82. package/assets/_messageId-Dnc4nHKm.js +0 -1
  83. package/assets/_messageId-Y7ZXfbvW.js +0 -1
  84. package/assets/_outboxMessageId-3rQNAYUA.js +0 -1
  85. package/assets/_threadId-BHskCRJT.js +0 -1
  86. package/assets/_threadId-BUA2GOyT.js +0 -1
  87. package/assets/_threadId-CNSh0ofh.js +0 -1
  88. package/assets/brief-aG6uovSM.js +0 -1
  89. package/assets/flagged-CQ2S8QX8.js +0 -1
  90. package/assets/index-1r0qJlWv.js +0 -1
  91. package/assets/index-3zilF24c.js +0 -1
  92. package/assets/index-82OludOM.js +0 -1
  93. package/assets/index-B43zVi5V.js +0 -1
  94. package/assets/index-CXTHqtUw.js +0 -1
  95. package/assets/index-DHq96ldB.js +0 -1
  96. package/assets/index-Dnc4nHKm.js +0 -1
  97. package/assets/index-Y7ZXfbvW.js +0 -1
  98. package/assets/outbox-CxhsVpX5.js +0 -1
  99. package/assets/settings-7p-dBvcw.js +0 -1
@@ -0,0 +1 @@
1
+ import{j as a,an as Xe,S as es,bp as ss,o as B,bj as ts,p as ae,r as n,x as se,bq as te,v as as,w as os,br as ns,bs as rs,bt as is,e as Te,bu as ls,i as cs}from"./index-Bo-p3LpF.js";import{s as we,a as ds,b as Me,u as us,p as ms,R as fs}from"./useSearchTokenContext-Bb3YnI52.js";import{a4 as ve,F as ye,a5 as hs,a6 as gs,G as xs,a7 as Se,a8 as ps,a9 as Is,aa as bs,a3 as vs,ab as ys,ac as Ss,ad as Cs,M as js,ae as Rs,af as Ts,ag as ws,f as Ms,w as ks,ah as Ns,s as As,S as Fs,J as Bs,O as Ce,N as Os,K as Ls,e as Es,Y as qs,Z as ke,_ as Ds,$ as Ne,a0 as Ps}from"./MailListHeader-BJ9doZxm.js";import{u as zs,a as _s,R as Qs,i as Hs,b as $s}from"./useRefreshControl-hxsw2pLp.js";import{a as Ws}from"./useLabels-wgL9c4lv.js";import{d as Gs,R as Us}from"./search-token-index-sLIcvT6p.js";import{d as Vs}from"./useFilters-D_O09QB6.js";import{u as Ys,L as Js}from"./useSemanticSearch-BXCI_0Rt.js";import{r as je}from"./nav-link-BC-lpJt4.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(Xe,{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(es,{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"}],Fe="category",Xs={unclassified:"uncategorized"},D=e=>ds(e).map(s=>s.raw),q=e=>e.join(" "),oe=e=>{const s=Me(e);if(s)return Ae.find(o=>o.name===s.name&&o.value===s.value.toLowerCase())?.id},ne=e=>{const s=Me(e);if(!s||s.name!==Fe)return;const o=s.value.toLowerCase(),r=Xs[o];if(r)return r;if(!(!ss(o)||o==="all"))return o},Be=e=>Ae.find(s=>s.id===e),Oe=e=>Be(e)!==void 0,et=e=>{const s=new Set;for(const o of D(e)){const r=oe(o);r&&s.add(r)}return s},st=e=>{let s="all";for(const o of D(e)){const r=ne(o);r&&(s=r)}return s},tt=(e,s)=>{const o=Be(s);if(!o)return;const r=D(e),c=r.filter(l=>oe(l)!==s);return c.length<r.length?q(c):q([...r,we(o.name,o.value)])},at=(e,s)=>{const o=D(e).filter(r=>!ne(r));return q(s==="all"?o:[...o,we(Fe,s)])},ot=e=>q(D(e).filter(s=>!oe(s)&&!ne(s))),Le=e=>e.trim().length>0,nt=e=>{if(!Le(e.query))return e.ownFilters;const s=new Set(et(e.query));for(const o of e.ownFilters)Oe(o)||s.add(o);return s},rt=e=>Le(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,Re=()=>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(Te,{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 l of e)s.has(l.id)&&(l.accountId&&o.add(l.accountId),l.mailboxId&&r.add(l.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 c=o.size===1?[...o][0]:void 0;return r.size>1?{accountId:c,restriction:"spansFolders",moveDisabledHint:`Move only works within one folder — this selection spans ${r.size} folders`}:{accountId:c,mailboxId:r.size===1?[...r][0]:void 0}};function mt({header:e,rows:s,wizard:o,children:r}){const{selectedIds:c,selectedCount:l,exitSelection:p,orderedIds:u,allSelected:x,toggleAllLoaded:y}=ws(),m=n.useMemo(()=>ut(s,c),[s,c]),{junkMailboxId:S}=Ms(m.accountId),{labels:O}=Ws(m.accountId),M=n.useMemo(()=>Array.from(c),[c]),j=n.useMemo(()=>s.filter(g=>c.has(g.id)).map(g=>({id:g.id,sender:g.fromName,email:g.fromEmail,subject:g.subject,date:g.timeLabel})),[s,c]),h=ks(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(Fs,{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(Js,{accountId:m.accountId,mailboxId:m.mailboxId,messageIds:M}):void 0,selectAll:I,notice:b});return a.jsx(Ns,{...e,selectionBar:F,paneOverlay:a.jsx(As,{verb:o.verb,accountId:m.accountId,mailboxId:m.mailboxId,selection:j,selectionRestriction:m.restriction,onFinished:p}),children:r})}function ft({accounts:e,selectedMessageId:s,onOpenThread:o,commandsRef:r,onTriageContextChange:c,onDeleteMessages:l}){const{searchQuery:p,searchInput:u,resultFolderIndex:x,onSearchChange:y}=B(),m=us(),S=Vs(),O=Gs(),M=ts(),j=ae(),h=n.useMemo(()=>lt(e.filter(t=>!t.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(t=>{U(i=>{const d=new Set(i);return d.has(t)?d.delete(t):d.add(t),d})},[]),_=n.useCallback(()=>U(new Set),[]),C=u.trim().length>0,N=n.useMemo(()=>nt({query:u,ownFilters:L}),[u,L]),f=n.useMemo(()=>rt({query:u,ownCategory:F}),[u,F]),R=n.useCallback(t=>{if(!C||!Oe(t)){z(t);return}const i=tt(u,t);i!==void 0&&y(i)},[C,u,y,z]),A=n.useCallback(t=>{if(!C){g(t);return}y(at(u,t))},[C,u,y]),V=n.useCallback(()=>{g("all"),b("all"),_(),C&&y(ot(u))},[C,u,y,_]),{data:Q,isLoading:Y,isError:re,refetch:ie}=se({...te(),staleTime:6e4}),H=as({queries:h.map(t=>({...os({path:{accountId:t.accountId}}),staleTime:1/0,meta:{softError:!0}}))}),$=n.useMemo(()=>{const t=new Map;for(let i=0;i<h.length;i++){const d=h[i].accountId,Je=(H[i]?.data?.items??[]).reduce((Ke,Ze)=>Ke+(Ze.unseenCount??0),0);t.set(d,Je)}return t},[h,H]),De=n.useMemo(()=>h.filter((t,i)=>{const d=H[i];return d?.isError?!ns(d.error):!1}),[h,H]),{freeText:T,tokens:J}=ms(p.trim().toLowerCase(),m),{data:le,isFetching:Pe}=se({...te({query:{query:T,limit:ct}}),enabled:T.length>0,staleTime:3e4}),v=n.useMemo(()=>{const t=ve(Q?.items??[]).map(ye);return(T?hs(t.filter(d=>gs(d,T)),ve(le?.items??[]).map(ye)):t).filter(d=>(I==="all"||d.accountId===I)&&xs(d,J))},[Q,le,I,T,J]),{bodyRows:ce,briefSpamOffer:K}=n.useMemo(()=>{if(!T)return{bodyRows:v,briefSpamOffer:void 0};const t=v.map(w=>Se(w,x)),{spam:i}=ps(t);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:Is(t)}},[v,T,x]),de=n.useMemo(()=>bs(ce),[ce]),ue=n.useCallback((t,i)=>{const d=v.find(w=>w.id===t)?.threadId;d&&o?.({threadId:d,messageId:t},i)},[v,o]),ze=n.useCallback(t=>{const i=t.threadId??v.find(d=>d.id===t.id)?.threadId;i&&o?.({threadId:i,messageId:t.id})},[v,o]),Z=n.useMemo(()=>h.length<=1?[]:[{id:"all",label:"All",active:I==="all"},...h.map(t=>({id:t.accountId,label:t.email.split("@")[0]??t.email,count:$.get(t.accountId),active:I===t.accountId}))],[h,$,I]),E=n.useMemo(()=>e.filter(t=>t.muted?.value).length,[e]),_e=n.useMemo(()=>Array.from($.values()).reduce((t,i)=>t+i,0),[$]),X=n.useMemo(()=>h.map(t=>t.accountId),[h]),{hasNewMail:me}=zs(),{state:fe,errorMessage:he,refresh:ge}=_s(X,{onSettled:()=>ie()}),Qe=n.useMemo(()=>a.jsx(Qs,{state:fe,onRefresh:ge,label:"Refresh daily brief",errorMessage:he,hasUpdate:me(X)}),[fe,ge,he,me,X]),ee=n.useMemo(()=>v.filter(t=>(f==="all"||t.category===f)&&rs(t,N)).map(t=>Se(t,x)),[v,f,N,x]),{hits:xe,isLoading:He}=Ys(),$e=n.useMemo(()=>{const t=new Map;for(const d of Q?.items??[])t.set(d.messageId,d.threadId);const i=ee.map(d=>t.get(d.id)).filter(d=>d!=null);return vs(xe,i,x)},[xe,ee,Q,x]),We=n.useMemo(()=>{const t=ys(Z.map(i=>({id:i.id,label:i.label,count:i.count,active:i.active})));return{categories:t.categories,filters:t.filters,sources:t.sources,sourcesNote:E>0?`+${E} muted`:void 0,selectedCategory:f,activeFilters:N,expanded:k,onExpandedChange:P,onSelectCategory:i=>A(i),onSelectSource:b,onToggleFilter:i=>R(i),onClear:V}},[Z,E,f,N,k,R,A,V]),pe=de.length===0&&I==="all"&&T.length===0&&J.length===0,Ge=n.useMemo(()=>h.map(t=>t.accountId),[h]),Ue=n.useMemo(()=>h.some(t=>Hs(t.syncPhase)),[h]),W=$s(Ge,pe||Ue),Ie=a.jsxs("div",{className:"h-full overflow-y-auto",children:[a.jsx(Re,{}),a.jsx(Re,{})]}),be=!Y&&!re&&!pe,Ve=Ss({tier:O,hasLiveInput:C,hasCommittedQuery:p.trim().length>0,bodyRendersCommittedResults:!0}),Ye=be?a.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[K&&a.jsx(Cs,{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(is,{sections:de,briefCategory:f,Row:js,selectedThreadId:s,onSelectThread:ue,onSelectBriefCategory:A,sources:Z,sourcesNote:E>0?`+${E} muted`:void 0,onSelectSource:b,activeFilters:N,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(Te,{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(Us,{className:"size-3.5"}),"Try again"]})]}):W.resolved?a.jsx(Ks,{sync:W.syncing?{synced:W.synced,total:W.total}:void 0}):Ie;return a.jsx(ls,{hasSheet:be&&!Ve,children:a.jsx(Rs,{selectedMessageId:s,onOpen:ue,onDeleteMessages:l,onSelectionVerb:M.start,wizardOpen:M.isOpen,commandsRef:r,onTriageContextChange:c,children:a.jsx(mt,{wizard:M,header:{title:"Daily brief",unreadCount:_e,footer:S?a.jsx(Ts,{}):void 0,searchFilter:We,searchResults:ee,searchLoading:Y||Pe,relatedResults:$e,relatedLoading:He,onSelectSearchResult:ze,searchResultsInBody:!0,refreshControl:Qe},rows:v,children:a.jsxs("div",{className:"flex h-full flex-col",children:[De.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 Ee=n.createContext(null);function G(){const e=n.useContext(Ee);if(!e)throw new Error("BriefPane.* must be used inside <BriefPane>");return e}function ht({thread:e,children:s}){const o=ae(),{searchInput:r}=B(),c=e?.threadId,l=e?.messageId,{data:p}=se({...te(),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=Bs(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:A=>({...A,q:r||void 0}),hash:je})},[o,r]),j=n.useCallback(()=>{o({to:"/mail/brief",search:f=>f,hash:je})},[o]),h=n.useCallback(f=>{S&&f.includes(S)&&j()},[S,j]),I=Ce({thread:m,onAfterOptimisticRemove:h}),b=Os(),{deleteMessages:F}=Ls({mailboxId:m?.mailboxId??"",messages:u,onAfterOptimisticRemove:h}),{toggleReadFor:g}=Es({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:_}=qs({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(A=>A.messageId===f);return R?{threadId:R.threadId,messageId:f}:void 0},[u]),N={selectedMessageId:S,selectedThread:m,conversation:O,onOpenThread:M,onCloseThread:j,nextThread:C(z),previousThread:C(_),actions:I,triage:b,onDeleteMessages:F,handleDeselectIfRemoved:h};return a.jsx(Ee.Provider,{value:N,children:s})}function qe(){const{selectedMessageId:e,onOpenThread:s,triage:o,onDeleteMessages:r}=G(),{accounts:c}=B();return a.jsx(ft,{accounts:c,selectedMessageId:e,onOpenThread:s,commandsRef:o.listCommandsRef,onTriageContextChange:o.onTriageContextChange,onDeleteMessages:r})}function gt(){const{conversation:e,actions:s}=G(),{intelligenceOpen:o,onToggleIntelligence:r}=B(),c=cs()?.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(Ps,{hasThread:l,intelligenceOpen:p&&o,canToggleIntelligence:p,onToggleIntelligence:r,onReply:l?()=>s.requestCompose("reply"):void 0,onReplyAll:l?()=>s.requestCompose("reply_all"):void 0,onForward:l?()=>s.requestCompose("forward"):void 0,onDelete:l?s.deleteThread:void 0,onToggleStar:l?s.toggleStar:void 0,isStarred:s.isStarred,moveContext:l&&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(ke,{threadId:e.threadId,mailboxId:e.mailboxId,subject:e.subject,selectedMessageId:e.messageId,authenticity:e.authenticity,composeRequest:s.composeRequest,onComposeClose:s.clearComposeRequest}):a.jsx(fs,{})})]})}function xt(){const{selectedThread:e,handleDeselectIfRemoved:s}=G(),{onToggleIntelligence:o}=B();return a.jsx(Ne,{onClose:o,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:s})}function pt(){const{selectedThread:e,conversation:s,onOpenThread:o,onCloseThread:r,nextThread:c,previousThread:l,handleDeselectIfRemoved:p}=G(),{intelligenceOpen:u,onToggleIntelligence:x}=B();return s?a.jsxs(a.Fragment,{children:[a.jsx(ke,{threadId:s.threadId,mailboxId:s.mailboxId,subject:s.subject,selectedMessageId:s.messageId,authenticity:s.authenticity,onBack:r,onOpenIntelligence:x,onSwipeNext:c?()=>o(c):void 0,onSwipePrevious:l?()=>o(l):void 0,mobileIntelligenceOpen:u}),a.jsx(Ds,{isOpen:u,onClose:x,ariaLabel:"Message details",side:"right",children:a.jsx(Ne,{onClose:x,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,hideCloseButton:!0,onAfterOptimisticRemove:p})})]}):a.jsx("div",{className:"h-full",children:a.jsx(qe,{})})}const wt=Object.assign(ht,{List:qe,Reading:gt,Intelligence:xt,Phone:pt});export{wt as B};
@@ -1 +1 @@
1
- import{j as t,e as r}from"./index-BRCDRo29.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-Bo-p3LpF.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};
@@ -0,0 +1 @@
1
+ import{bG as Y,r as n,bH as Z,o as F,bj as X,aN as ee,aO as te,j as a,p as se,i as ae}from"./index-Bo-p3LpF.js";import{u as oe,p as re,R as ne}from"./useSearchTokenContext-Bb3YnI52.js";import{F as ie,a6 as de,G as le,an as ce,a7 as ue,d as ge,M as he,ae as me,ao as fe,ag as pe,s as xe,J as Ie,O as D,N as Te,K as be,e as ve,Y as Ce,Z as z,_ as ye,$ as Q,a0 as Re}from"./MailListHeader-BJ9doZxm.js";import{u as Se,b as je,a as we}from"./MailViewChrome-wpRug1Q0.js";import{f as Fe}from"./ErrorState-DrA1RdFM.js";import{d as Me}from"./useFilters-D_O09QB6.js";import{r as H}from"./nav-link-BC-lpJt4.js";const Pe=()=>Z({query:{starred:!0,order:"desc"}});function V(){const{data:e,isLoading:t,isError:o,error:u,refetch:c,fetchNextPage:s,hasNextPage:d,isFetchingNextPage:x}=Se({queryKey:Pe(),queryFn:async({pageParam:i})=>{const{data:h}=await Y({query:{starred:!0,order:"desc",continuationToken:i},throwOnError:!0});return h},initialPageParam:void 0,getNextPageParam:i=>i.continuationToken,staleTime:6e4});return{threads:n.useMemo(()=>(e?.pages??[]).flatMap(i=>i.items??[]),[e]),isLoading:t,isError:o,error:u,refetch:c,fetchNextPage:s,hasNextPage:d,isFetchingNextPage:x}}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 Oe({rows:e,verb:t}){const{selectedIds:o,exitSelection:u}=pe(),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(xe,{verb:t,selection:c,selectionRestriction:"spansAccounts",onFinished:u})}function Ne({selectedMessageId:e,onOpenThread:t,commandsRef:o,onTriageContextChange:u,onDeleteMessages:c}){const{searchQuery:s,resultFolderIndex:d}=F(),x=oe(),I=Me(),i=X(),[h,M]=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(()=>{M("all"),T(new Set)},[]),{threads:p,isLoading:P,isError:k,error:L,refetch:A,fetchNextPage:v,hasNextPage:O,isFetchingNextPage:N}=V(),{freeText:C,tokens:j}=re(s.trim().toLowerCase(),x),m=n.useMemo(()=>{const r=Array.from(R).map(g=>Le[g]).filter(g=>g!=null);return ke(p).map(ie).filter(g=>(h==="all"||g.category===h)&&r.every(f=>f(g))&&(!C||de(g,C))&&le(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(()=>ce(),[]),G=n.useMemo(()=>m.map(r=>ue(r,d)),[m,d]),W=n.useMemo(()=>m.filter(r=>!r.isRead).length,[m]),E=P?"loading":k?"error":m.length===0?"empty":"ready",$=n.useCallback(()=>{const r=ee(te());window.open(r,"_blank","noopener,noreferrer")},[]),B=ge(),J=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(he,{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:N,children:N?"Loading…":"Load more"}):null]})});return a.jsx(je,{title:"Starred",unreadCount:W,preset:w,selectedCategory:h,activeFilters:R,onSelectCategory:M,onToggleFilter:S,onClearFilters:b,searchResults:G,searchLoading:P,onSelectSearchResult:y,searchResultsInBody:!0,children:a.jsxs(me,{selectedMessageId:e,onOpen:l,onDeleteMessages:c,onSelectionVerb:i.start,wizardOpen:i.isOpen,commandsRef:o,onTriageContextChange:u,children:[a.jsx(we,{listTitle:"Starred",sections:[{id:"flagged",threads:m}],flatList:!0,hideHeader:!0,listState:B.searchResults?"ready":E,searchQuery:C?s:void 0,errorMessage:k?Fe(L):void 0,onRetry:()=>A(),onReportError:$,selectedThreadId:e,onSelectThread:l,isDesktop:I,selectionBar:a.jsx(fe,{title:"Starred"}),listBody:B.searchResults??(E==="ready"?J:void 0)}),a.jsx(Oe,{rows:m,verb:i.verb})]})})}const _=n.createContext(null);function q(){const e=n.useContext(_);if(!e)throw new Error("FlaggedPane.* must be used inside <FlaggedPane>");return e}function qe({thread:e,children:t}){const o=se(),{searchInput:u}=F(),c=e?.threadId,s=e?.messageId,{threads:d}=V(),x=n.useMemo(()=>{if(c)return d.find(l=>l.messageId===s)??d.find(l=>l.threadId===c)},[d,c,s]),I=Ie(c,s),i=x??I,h=s??i?.messageId,M=n.useMemo(()=>{if(c)return{threadId:c,mailboxId:i?.mailboxId??"",subject:i?.subject,messageId:h,authenticity:i?.authenticity}},[c,i,h]),R=n.useCallback((l,y)=>{o({to:"/mail/flagged/$threadId/$messageId",params:l,replace:y?.replace,search:w=>({...w,q:u||void 0}),hash:H})},[o,u]),T=n.useCallback(()=>{o({to:"/mail/flagged",search:l=>l,hash:H})},[o]),S=n.useCallback(l=>{h&&l.includes(h)&&T()},[h,T]),b=D({thread:i,onAfterOptimisticRemove:S}),p=Te(),{deleteMessages:P}=be({mailboxId:i?.mailboxId??"",messages:d,onAfterOptimisticRemove:S}),{toggleReadFor:k}=ve({mailboxId:i?.mailboxId??"",messages:d}),L=p.focusedMessageId,v=n.useMemo(()=>d.find(l=>l.messageId===L),[d,L])??i,O=D({thread:v}),{nextMessageId:N,previousMessageId:C}=Ce({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=d.find(w=>w.messageId===l);return y?{threadId:y.threadId,messageId:l}:void 0},[d]),m={selectedMessageId:h,selectedThread:i,conversation:M,onOpenThread:R,onCloseThread:T,nextThread:j(N),previousThread:j(C),actions:b,triage:p,onDeleteMessages:P,handleDeselectIfRemoved:S};return a.jsx(_.Provider,{value:m,children:t})}function K(){const{selectedMessageId:e,onOpenThread:t,triage:o,onDeleteMessages:u}=q();return a.jsx(Ne,{selectedMessageId:e,onOpenThread:t,commandsRef:o.listCommandsRef,onTriageContextChange:o.onTriageContextChange,onDeleteMessages:u})}function Ae(){const{conversation:e,actions:t}=q(),{intelligenceOpen:o,onToggleIntelligence:u}=F(),c=ae()?.showIntelligencePane??!1,s=!!e,d=c&&s;return a.jsxs("section",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[a.jsx(Re,{hasThread:s,intelligenceOpen:d&&o,canToggleIntelligence:d,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(z,{threadId:e.threadId,mailboxId:e.mailboxId,subject:e.subject,selectedMessageId:e.messageId,authenticity:e.authenticity,composeRequest:t.composeRequest,onComposeClose:t.clearComposeRequest}):a.jsx(ne,{})})]})}function Ee(){const{selectedThread:e,handleDeselectIfRemoved:t}=q(),{onToggleIntelligence:o}=F();return a.jsx(Q,{onClose:o,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:t})}function Be(){const{selectedThread:e,conversation:t,onCloseThread:o,onOpenThread:u,nextThread:c,previousThread:s,handleDeselectIfRemoved:d}=q(),{intelligenceOpen:x,onToggleIntelligence:I}=F();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:I,onSwipeNext:c?()=>u(c):void 0,onSwipePrevious:s?()=>u(s):void 0,mobileIntelligenceOpen:x}),a.jsx(ye,{isOpen:x,onClose:I,ariaLabel:"Message details",side:"right",children:a.jsx(Q,{onClose:I,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,hideCloseButton:!0,onAfterOptimisticRemove:d})})]}):a.jsx("div",{className:"h-full",children:a.jsx(K,{})})}const Ge=Object.assign(qe,{List:K,Reading:Ae,Intelligence:Ee,Phone:Be});export{Ge as F};