@remit/web-client-dist 0.0.323 → 0.0.325
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.
- package/assets/BriefPane-BX0Ts8eK.js +1 -0
- package/assets/{ErrorState-DZM_kyxb.js → ErrorState-BczXHsEF.js} +1 -1
- package/assets/FlaggedPane-Dt_iIYmt.js +1 -0
- package/assets/MailListHeader-BdAHPksi.js +52 -0
- package/assets/{MailViewChrome-ClVgpPFO.js → MailViewChrome-fy62FAjL.js} +1 -1
- package/assets/MailboxPane-U7vV6ftH.js +1 -0
- package/assets/{NavMenuButton-D-esVAha.js → NavMenuButton-BPba0-Bs.js} +1 -1
- package/assets/OnboardingWizard-B8Q-LYx6.js +1 -0
- package/assets/{OutboxPane-HUY9JhOn.js → OutboxPane-7b3N6IIo.js} +1 -1
- package/assets/_mailboxId-Be32_Fkl.js +1 -0
- package/assets/_messageId-CMKPHNSP.js +1 -0
- package/assets/_messageId-Co6i3yAO.js +1 -0
- package/assets/_outboxMessageId-DJdiizxk.js +1 -0
- package/assets/_threadId-DDJseBJS.js +1 -0
- package/assets/_threadId-qAapyx6s.js +1 -0
- package/assets/{account-form-helpers-Bsx48lx1.js → account-form-helpers-Dy_qYZBf.js} +1 -1
- package/assets/accounts-CHlRsNpU.js +1 -0
- package/assets/{advanced-BuaLHou0.js → advanced-BAXLq_6J.js} +1 -1
- package/assets/{appearance-BQ0Dg1ei.js → appearance-BVBH78Qj.js} +1 -1
- package/assets/{avatar-DdSaEl5o.js → avatar-Cmct93tu.js} +1 -1
- package/assets/{bottom-sheet-DmAG_FCk.js → bottom-sheet-Div7q8za.js} +1 -1
- package/assets/brief-NFFuYb2Y.js +1 -0
- package/assets/{brief-D_aKiQy5.js → brief-ztU-V5Jr.js} +1 -1
- package/assets/{browser-ponyfill-DZK7BleO.js → browser-ponyfill-CltT4veR.js} +2 -2
- package/assets/{circle-check-DZneB6gk.js → circle-check-CqOKm1jQ.js} +1 -1
- package/assets/{circle-check-big-DT6yugdt.js → circle-check-big-C1QO6sWU.js} +1 -1
- package/assets/{circle-help-BJ-e95sd.js → circle-help-DtLG-dD-.js} +1 -1
- package/assets/{clock-CQOmlok1.js → clock-C_nmZOAr.js} +1 -1
- package/assets/{confirm-dialog-DKl9zp18.js → confirm-dialog-D_L2OQTt.js} +1 -1
- package/assets/{download-LYnnm2y0.js → download-CUYIOGeY.js} +1 -1
- package/assets/{filters-Df3eZiR5.js → filters-CihDvHy0.js} +1 -1
- package/assets/flagged-D2-nECko.js +1 -0
- package/assets/{flagged-Czys2fpG.js → flagged-DJtQwJRJ.js} +1 -1
- package/assets/folders-CuQtFJNd.js +1 -0
- package/assets/index-BZNymLz7.js +1 -0
- package/assets/index-CB14yMy_.js +1 -0
- package/assets/index-Co6i3yAO.js +1 -0
- package/assets/{index-CNoNYU4b.js → index-ComwGxPk.js} +65 -65
- package/assets/index-DHWRCxPH.js +1 -0
- package/assets/index-Dd9u_oFv.js +1 -0
- package/assets/index-EJnMy0RH.js +1 -0
- package/assets/index-UDuEAHny.js +1 -0
- package/assets/{index-B9v7X7iy.css → index-rGtSoq8U.css} +1 -1
- package/assets/{kbd-BrhLdlau.js → kbd-BRJLjcIX.js} +1 -1
- package/assets/{labels-CaG9l1EM.js → labels-D8TMS0RV.js} +1 -1
- package/assets/mail-1ta1TRDs.js +1 -0
- package/assets/{menu-Bo_ZQ3dZ.js → menu-C8-I96Zt.js} +1 -1
- package/assets/move-options-WgyTD7l9.js +1 -0
- package/assets/{nav-link-BCGmsThK.js → nav-link-DRXYLG2N.js} +1 -1
- package/assets/onboarding-mDqYUvKo.js +1 -0
- package/assets/outbox-BkghU3zE.js +1 -0
- package/assets/{pencil-CPDJ8KvT.js → pencil-Dbryb2G4.js} +1 -1
- package/assets/{rich-text-DMA7APe6.js → rich-text-BtOJxUml.js} +1 -1
- package/assets/{rotate-ccw-Dc0Ronfg.js → rotate-ccw-CqFFuTll.js} +1 -1
- package/assets/{row-actions-ExiBwpBF.js → row-actions-BMjwPo6d.js} +1 -1
- package/assets/search-scope-CtUcfBl6.js +1 -0
- package/assets/{search-token-index-BTQUgi2G.js → search-token-index-D0pBouL9.js} +1 -1
- package/assets/search-view-BjfUA02J.js +1 -0
- package/assets/{senders-MC2FrOMF.js → senders-CSIdLfBV.js} +1 -1
- package/assets/settings-B885opIA.js +1 -0
- package/assets/{settings-screen-x0E-yYQb.js → settings-screen-CKYaXpTP.js} +1 -1
- package/assets/{shield-check-CA34sFyn.js → shield-check-zfqCjw0j.js} +1 -1
- package/assets/{suggested-vips-DWT9IWLZ.js → suggested-vips-B0qK0um_.js} +1 -1
- package/assets/{useDebouncedValue-CQf4QpzS.js → useDebouncedValue-DtSfQRAl.js} +1 -1
- package/assets/{useFilters-CaSSUNWE.js → useFilters-CgqWzSsw.js} +1 -1
- package/assets/useLabels-w33B4HcN.js +1 -0
- package/assets/{useMediaQuery-CAv9qAps.js → useMediaQuery-DB_QCXpp.js} +1 -1
- package/assets/{useRefreshControl-B41i_Tqe.js → useRefreshControl-DQcQYMVi.js} +1 -1
- package/assets/{useSearchMirror--YnVEyRo.js → useSearchMirror-DcdqXC7B.js} +1 -1
- package/assets/{useSearchTokenContext-DIryp5er.js → useSearchTokenContext-DxeXQ6z3.js} +1 -1
- package/assets/useSignature-iMCmNOo-.js +1 -0
- package/assets/useThreadRow-DvG5ipyv.js +1 -0
- package/index.html +2 -2
- package/package.json +1 -1
- package/assets/BriefPane-BJxOwp8m.js +0 -1
- package/assets/FlaggedPane-CT_N453X.js +0 -1
- package/assets/MailListHeader-CaZUuANM.js +0 -52
- package/assets/MailboxPane-Cpo0ICDX.js +0 -1
- package/assets/OnboardingWizard-Dv0CNLJu.js +0 -1
- package/assets/_mailboxId-BHSTiA2e.js +0 -1
- package/assets/_messageId-BNu6TlV_.js +0 -1
- package/assets/_outboxMessageId-D2tWCsPG.js +0 -1
- package/assets/_threadId-JHkXbYFV.js +0 -1
- package/assets/accounts-CBdVBnhy.js +0 -1
- package/assets/brief-IOLPzmXc.js +0 -1
- package/assets/flagged-Nt9qilw4.js +0 -1
- package/assets/folders-CPk7FXDY.js +0 -1
- package/assets/index-BNu6TlV_.js +0 -1
- package/assets/index-BXK1iByh.js +0 -1
- package/assets/index-Bd4SvJ27.js +0 -1
- package/assets/index-ByG6CDPW.js +0 -1
- package/assets/index-D4cNcmeL.js +0 -1
- package/assets/index-DtQuG32K.js +0 -1
- package/assets/mail-CUfL3Goi.js +0 -1
- package/assets/move-options-Cg4YrriV.js +0 -1
- package/assets/onboarding-BPGOK63U.js +0 -1
- package/assets/outbox-pF0wQVQO.js +0 -1
- package/assets/search-scope-Ds_ghZOi.js +0 -1
- package/assets/search-view-CXPbecDB.js +0 -1
- package/assets/settings-B8a8GsFB.js +0 -1
- package/assets/useLabels-DKpzozgD.js +0 -1
- package/assets/useSemanticSearch-DDwHlaH_.js +0 -1
- package/assets/useSignature-C0EjJ_Wk.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as a,ao as Ze,S as Xe,bA as et,o as F,bf as tt,p as ae,r as n,x as te,bB as se,v as st,w as at,bC as ot,bD as nt,bt as rt,e as Te,by as it,i as lt}from"./index-ComwGxPk.js";import{s as Re,a as ct,b as we,u as dt,p as ut,R as mt}from"./useSearchTokenContext-DxeXQ6z3.js";import{ai as ve,t as ye,aj as ft,m as ht,a as gt,r as Ce,ak as xt,al as pt,am as It,a9 as bt,an as vt,ao as yt,ap as Ct,M as St,T as jt,ag as Tt,d as Rt,x as wt,P as Mt,ah as kt,S as At,L as Nt,e as Se,g as Bt,h as Ft,i as Ot,j as Lt,C as Me,D as Dt,I as ke,k as Et}from"./MailListHeader-BdAHPksi.js";import{u as qt,a as Pt,R as zt,i as Ht,b as Qt}from"./useRefreshControl-DQcQYMVi.js";import{a as _t}from"./useLabels-w33B4HcN.js";import{d as $t,R as Wt}from"./search-token-index-D0pBouL9.js";import{u as Ut}from"./useMediaQuery-DB_QCXpp.js";import{a as Vt,L as Gt,u as Yt}from"./useThreadRow-DvG5ipyv.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"},q=e=>ct(e).map(t=>t.raw),E=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},Be=e=>Ae.find(t=>t.id===e),Fe=e=>Be(e)!==void 0,Xt=e=>{const t=new Set;for(const o of q(e)){const r=oe(o);r&&t.add(r)}return t},es=e=>{let t="all";for(const o of q(e)){const r=ne(o);r&&(t=r)}return t},ts=(e,t)=>{const o=Be(t);if(!o)return;const r=q(e),c=r.filter(l=>oe(l)!==t);return c.length<r.length?E(c):E([...r,Re(o.name,o.value)])},ss=(e,t)=>{const o=q(e).filter(r=>!ne(r));return E(t==="all"?o:[...o,Re(Ne,t)])},as=e=>E(q(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)Fe(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(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:()=>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}=Rt(),m=n.useMemo(()=>ds(t,c),[t,c]),{junkMailboxId:C}=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(C,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,B=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(Gt,{accountId:m.accountId,mailboxId:m.mailboxId,messageIds:M}):void 0,selectAll:I,notice:b});return a.jsx(kt,{...e,selectionBar:B,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}=F(),m=dt(),C=Ut(),O=$t(),M=tt(),j=ae(),h=n.useMemo(()=>is(e.filter(s=>!s.muted?.value)),[e]),[I,b]=n.useState("all"),[B,g]=n.useState("all"),[L,V]=n.useState(new Set),[k,P]=n.useState(!1),z=n.useCallback(s=>{V(i=>{const d=new Set(i);return d.has(s)?d.delete(s):d.add(s),d})},[]),H=n.useCallback(()=>V(new Set),[]),S=u.trim().length>0,A=n.useMemo(()=>os({query:u,ownFilters:L}),[u,L]),f=n.useMemo(()=>ns({query:u,ownCategory:B}),[u,B]),T=n.useCallback(s=>{if(!S||!Fe(s)){z(s);return}const i=ts(u,s);i!==void 0&&y(i)},[S,u,y,z]),N=n.useCallback(s=>{if(!S){g(s);return}y(ss(u,s))},[S,u,y]),G=n.useCallback(()=>{g("all"),b("all"),H(),S&&y(as(u))},[S,u,y,H]),{data:Q,isLoading:Y,isError:re,refetch:ie}=te({...se(),staleTime:6e4}),_=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=(_[i]?.data?.items??[]).reduce((Je,Ke)=>Je+(Ke.unseenCount??0),0);s.set(d,Ye)}return s},[h,_]),Ee=n.useMemo(()=>h.filter((s,i)=>{const d=_[i];return d?.isError?!ot(d.error):!1}),[h,_]),{freeText:R,tokens:J}=ut(p.trim().toLowerCase(),m),{data:le,isFetching:qe}=te({...se({query:{query:R,limit:ls}}),enabled:R.length>0,staleTime:3e4}),v=n.useMemo(()=>{const s=ve(Q?.items??[]).map(ye);return(R?ft(s.filter(d=>ht(d,R)),ve(le?.items??[]).map(ye)):s).filter(d=>(I==="all"||d.accountId===I)&>(d,J))},[Q,le,I,R,J]),{bodyRows:ce,briefSpamOffer:K}=n.useMemo(()=>{if(!R)return{bodyRows:v,briefSpamOffer:void 0};const s=v.map(w=>Ce(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,R,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]),D=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}=qt(),{state:fe,errorMessage:he,refresh:ge}=Pt(X,{onSettled:()=>ie()}),He=n.useMemo(()=>a.jsx(zt,{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=>Ce(s,x)),[v,f,A,x]),{hits:xe,isLoading:Qe}=Vt(),_e=n.useMemo(()=>{const s=new Map;for(const d of Q?.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,Q,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:D>0?`+${D} muted`:void 0,selectedCategory:f,activeFilters:A,expanded:k,onExpandedChange:P,onSelectCategory:i=>N(i),onSelectSource:b,onToggleFilter:i=>T(i),onClear:G}},[Z,D,f,A,k,T,N,G]),pe=de.length===0&&I==="all"&&R.length===0&&J.length===0,We=n.useMemo(()=>h.map(s=>s.accountId),[h]),Ue=n.useMemo(()=>h.some(s=>Ht(s.syncPhase)),[h]),W=Qt(We,pe||Ue),Ie=a.jsxs("div",{className:"h-full overflow-y-auto",children:[a.jsx(je,{}),a.jsx(je,{})]}),be=!Y&&!re&&!pe,Ve=yt({tier:O,hasLiveInput:S,hasCommittedQuery:p.trim().length>0,bodyRendersCommittedResults:!0}),Ge=be?a.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[K&&a.jsx(Ct,{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:St,selectedThreadId:t,onSelectThread:ue,onSelectBriefCategory:N,sources:Z,sourcesNote:D>0?`+${D} muted`:void 0,onSelectSource:b,activeFilters:A,onToggleFilter:T,onClearFilters:G})})]}):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(Wt,{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&&!Ve,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:C?a.jsx(Tt,{}):void 0,searchFilter:$e,searchResults:ee,searchLoading:Y||qe,relatedResults:_e,relatedLoading:Qe,onSelectSearchResult:Pe,searchResultsInBody:!0,refreshControl:He},rows:v,children:a.jsxs("div",{className:"flex h-full flex-col",children:[Ee.map(s=>a.jsx(cs,{accountEmail:s.email,accountId:s.accountId},s.accountId)),a.jsx("div",{className:"min-h-0 flex-1",children:Ge})]})})})})}const Le=n.createContext(null);function U(){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}=F(),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=Yt(c,l),m=x??y,C=l??m?.messageId,O=n.useMemo(()=>{if(c)return{threadId:c,mailboxId:m?.mailboxId??"",subject:m?.subject,messageId:C,authenticity:m?.authenticity}},[c,m,C]),M=n.useCallback((f,T)=>{o({to:"/mail/brief/$threadId/$messageId",params:f,replace:T?.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=>{C&&f.includes(C)&&j()},[C,j]),I=Se({thread:m,onAfterOptimisticRemove:h}),b=Bt(),{deleteMessages:B}=Ft({mailboxId:m?.mailboxId??"",messages:u,onAfterOptimisticRemove:h}),{toggleReadFor:g}=Ot({mailboxId:m?.mailboxId??"",messages:u}),L=b.focusedMessageId,k=n.useMemo(()=>u.find(f=>f.messageId===L),[u,L])??m,P=Se({thread:k}),{nextMessageId:z,previousMessageId:H}=Lt({context:b,orderedIds:b.orderedIds,selectedMessageId:C,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"})}}),S=n.useCallback(f=>{if(!f)return;const T=u.find(N=>N.messageId===f);return T?{threadId:T.threadId,messageId:f}:void 0},[u]),A={selectedMessageId:C,selectedThread:m,conversation:O,onOpenThread:M,onCloseThread:j,nextThread:S(z),previousThread:S(H),actions:I,triage:b,onDeleteMessages:B,handleDeselectIfRemoved:h};return a.jsx(Le.Provider,{value:A,children:t})}function De(){const{selectedMessageId:e,onOpenThread:t,triage:o,onDeleteMessages:r}=U(),{accounts:c}=F();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}=U(),{intelligenceOpen:o,onToggleIntelligence:r}=F(),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(Et,{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}=U(),{onToggleIntelligence:o}=F();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}=U(),{intelligenceOpen:u,onToggleIntelligence:x}=F();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(Dt,{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(De,{})})}const Ts=Object.assign(fs,{List:De,Reading:hs,Intelligence:gs,Phone:xs});export{Ts as B};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as t,e as r}from"./index-
|
|
1
|
+
import{j as t,e as r}from"./index-ComwGxPk.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{bd as G,r as i,be as U,o as j,bf as J,bg as X,bh as Y,j as a,p as Z,i as $}from"./index-ComwGxPk.js";import{u as ee,p as te,R as se}from"./useSearchTokenContext-DxeXQ6z3.js";import{t as ae,m as oe,a as re,f as ne,r as ie,b as le,M as de,T as ce,c as ue,d as ge,S as he,e as O,g as me,h as fe,i as xe,j as pe,C as A,D as Ie,I as E,k as be}from"./MailListHeader-BdAHPksi.js";import{u as Te,M as Ce,a as ve}from"./MailViewChrome-fy62FAjL.js";import{f as ye}from"./ErrorState-BczXHsEF.js";import{u as Se}from"./useMediaQuery-DB_QCXpp.js";const Re=()=>U({query:{starred:!0,order:"desc"}});function D(){const{data:e,isLoading:t,isError:s,error:n,refetch:l,fetchNextPage:o,hasNextPage:c,isFetchingNextPage:g}=Te({queryKey:Re(),queryFn:async({pageParam:d})=>{const{data:m}=await G({query:{starred:!0,order:"desc",continuationToken:d},throwOnError:!0});return m},initialPageParam:void 0,getNextPageParam:d=>d.continuationToken,staleTime:6e4});return{threads:i.useMemo(()=>(e?.pages??[]).flatMap(d=>d.items??[]),[e]),isLoading:t,isError:s,error:n,refetch:l,fetchNextPage:o,hasNextPage:c,isFetchingNextPage:g}}const je=e=>{const t=new Set;return e.filter(s=>t.has(s.threadId)?!1:(t.add(s.threadId),!0))},Fe={unread:e=>!e.isRead,attachment:e=>e.hasAttachment===!0};function we({rows:e,verb:t}){const{selectedIds:s,exitSelection:n}=ge(),l=i.useMemo(()=>e.filter(o=>s.has(o.id)).map(o=>({id:o.id,sender:o.fromName,email:o.fromEmail,subject:o.subject,date:o.timeLabel})),[e,s]);return a.jsx(he,{verb:t,selection:l,crossAccount:!0,onFinished:n})}function Pe({selectedMessageId:e,onSelectMessage:t,commandsRef:s,onTriageContextChange:n,onDeleteMessages:l}){const{searchQuery:o,resultFolderIndex:c}=j(),g=ee(),x=Se(),d=J(),[m,T]=i.useState("all"),[p,w]=i.useState(new Set),I=i.useCallback(r=>{w(u=>{const b=new Set(u);return b.has(r)?b.delete(r):b.add(r),b})},[]),C=i.useCallback(()=>{T("all"),w(new Set)},[]),{threads:v,isLoading:y,isError:S,error:h,refetch:P,fetchNextPage:M,hasNextPage:H,isFetchingNextPage:k}=D(),{freeText:R,tokens:L}=te(o.trim().toLowerCase(),g),f=i.useMemo(()=>{const r=Array.from(p).map(u=>Fe[u]).filter(u=>u!=null);return je(v).map(ae).filter(u=>(m==="all"||u.category===m)&&r.every(b=>b(u))&&(!R||oe(u,R))&&re(u,L))},[v,m,p,R,L]),Q=i.useMemo(()=>ne(),[]),V=i.useMemo(()=>f.map(r=>ie(r,c)),[f,c]),_=i.useMemo(()=>f.filter(r=>!r.isRead).length,[f]),q=y?"loading":S?"error":f.length===0?"empty":"ready",K=i.useCallback(()=>{const r=X(Y());window.open(r,"_blank","noopener,noreferrer")},[]),N=le(),W=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:f.map(r=>a.jsx(de,{thread:r,active:r.id===e,onClick:()=>t?.(r.id)},r.id))}),H?a.jsx("button",{type:"button",className:"w-full py-3 text-sm text-muted hover:text-fg disabled:opacity-50",onClick:()=>M(),disabled:k,children:k?"Loading…":"Load more"}):null]})});return a.jsx(Ce,{title:"Starred",unreadCount:_,preset:Q,selectedCategory:m,activeFilters:p,onSelectCategory:T,onToggleFilter:I,onClearFilters:C,searchResults:V,searchLoading:y,onSelectSearchResult:r=>t?.(r.id),searchResultsInBody:!0,children:a.jsxs(ce,{selectedMessageId:e,onOpen:(r,u)=>t?.(r,u),onDeleteMessages:l,onSelectionVerb:d.start,wizardOpen:d.isOpen,commandsRef:s,onTriageContextChange:n,children:[a.jsx(ve,{listTitle:"Starred",sections:[{id:"flagged",threads:f}],flatList:!0,hideHeader:!0,listState:N.searchResults?"ready":q,searchQuery:R?o:void 0,errorMessage:S?ye(h):void 0,onRetry:()=>P(),onReportError:K,selectedThreadId:e,onSelectThread:t,isDesktop:x,selectionBar:a.jsx(ue,{title:"Starred"}),listBody:N.searchResults??(q==="ready"?W:void 0)}),a.jsx(we,{rows:f,verb:d.verb})]})})}const B=i.createContext(null);function F(){const e=i.useContext(B);if(!e)throw new Error("FlaggedPane.* must be used inside <FlaggedPane>");return e}function Me({selectedMessageId:e,children:t}){const s=Z(),{threads:n}=D(),l=i.useMemo(()=>{if(e)return n.find(h=>h.messageId===e)},[n,e]),o=i.useCallback((h,P)=>{s({to:"/mail/flagged",search:M=>({...M,selectedMessageId:h}),replace:P?.replace})},[s]),c=i.useCallback(()=>{s({to:"/mail/flagged",search:h=>({...h,selectedMessageId:void 0})})},[s]),g=i.useCallback(h=>{e&&h.includes(e)&&c()},[e,c]),x=O({thread:l,onAfterOptimisticRemove:g}),d=me(),{deleteMessages:m}=fe({mailboxId:l?.mailboxId??"",messages:n,onAfterOptimisticRemove:g}),{toggleReadFor:T}=xe({mailboxId:l?.mailboxId??"",messages:n}),p=d.focusedMessageId,I=i.useMemo(()=>n.find(h=>h.messageId===p),[n,p])??l,C=O({thread:I}),{nextMessageId:v,previousMessageId:y}=pe({context:d,orderedIds:d.orderedIds,selectedMessageId:e,onClose:c,handlers:{reply:()=>x.requestCompose("reply"),replyAll:()=>x.requestCompose("reply_all"),forward:()=>x.requestCompose("forward"),delete:()=>{d.listCommandsRef.current?.requestVerb("delete")||C.deleteThread()},toggleStar:C.toggleStar,toggleRead:()=>{d.listCommandsRef.current?.requestVerb("markRead")||I&&T([I.messageId],!I.isRead)},goBrief:()=>s({to:"/mail/brief"}),goSettings:()=>s({to:"/settings"})}}),S={selectedMessageId:e,selectedThread:l,onSelectMessage:o,onCloseThread:c,actions:x,triage:d,onDeleteMessages:m,nextMessageId:v,previousMessageId:y,handleDeselectIfRemoved:g};return a.jsx(B.Provider,{value:S,children:t})}function z(){const{selectedMessageId:e,onSelectMessage:t,triage:s,onDeleteMessages:n}=F();return a.jsx(Pe,{selectedMessageId:e,onSelectMessage:t,commandsRef:s.listCommandsRef,onTriageContextChange:s.onTriageContextChange,onDeleteMessages:n})}function ke(){const{selectedThread:e,actions:t}=F(),{intelligenceOpen:s,onToggleIntelligence:n}=j(),l=$()?.showIntelligencePane??!1,o=!!e,c=l&&o;return a.jsxs("section",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[a.jsx(be,{hasThread:o,intelligenceOpen:c&&s,canToggleIntelligence:c,onToggleIntelligence:n,onReply:o?()=>t.requestCompose("reply"):void 0,onReplyAll:o?()=>t.requestCompose("reply_all"):void 0,onForward:o?()=>t.requestCompose("forward"):void 0,onDelete:o?t.deleteThread:void 0,onToggleStar:o?t.toggleStar:void 0,isStarred:t.isStarred,moveContext:o&&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(A,{threadId:e.threadId,mailboxId:e.mailboxId,subject:e.subject,authenticity:e.authenticity,composeRequest:t.composeRequest,onComposeClose:t.clearComposeRequest}):a.jsx(se,{})})]})}function Le(){const{selectedThread:e,handleDeselectIfRemoved:t}=F(),{onToggleIntelligence:s}=j();return a.jsx(E,{onClose:s,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:t})}function qe(){const{selectedThread:e,onCloseThread:t,onSelectMessage:s,nextMessageId:n,previousMessageId:l,handleDeselectIfRemoved:o}=F(),{intelligenceOpen:c,onToggleIntelligence:g}=j();return e?a.jsxs(a.Fragment,{children:[a.jsx(A,{threadId:e.threadId,mailboxId:e.mailboxId,subject:e.subject,authenticity:e.authenticity,onBack:t,onOpenIntelligence:g,onSwipeNext:n?()=>s(n):void 0,onSwipePrevious:l?()=>s(l):void 0,mobileIntelligenceOpen:c}),a.jsx(Ie,{isOpen:c,onClose:g,ariaLabel:"Message details",side:"right",children:a.jsx(E,{onClose:g,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,hideCloseButton:!0,onAfterOptimisticRemove:o})})]}):a.jsx("div",{className:"h-full",children:a.jsx(z,{})})}const ze=Object.assign(Me,{List:z,Reading:ke,Intelligence:Le,Phone:qe});export{ze as F};
|