@remit/web-client-dist 0.0.380 → 0.0.381
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-CB1flYdF.js → BriefPane-pPxpoBvo.js} +1 -1
- package/assets/{ErrorState-AETJQBbV.js → ErrorState-C1M66eLl.js} +1 -1
- package/assets/{FlaggedPane-aC2veU5l.js → FlaggedPane-CVEL3dSv.js} +1 -1
- package/assets/{FullCompose-CnAQjr9y.js → FullCompose-Dxa6ZR8u.js} +1 -1
- package/assets/{MailListHeader-D1EUaGyI.js → MailListHeader-CqEQzbdu.js} +1 -1
- package/assets/{MailViewChrome-BxUJY5og.js → MailViewChrome-Ctw7cdnR.js} +1 -1
- package/assets/{MailboxPane-NSB_sVaQ.js → MailboxPane-D27Tg1rD.js} +1 -1
- package/assets/{NavMenuButton-XekcQ1GY.js → NavMenuButton-DfW1H6aU.js} +1 -1
- package/assets/{OnboardingWizard-Bz09jReV.js → OnboardingWizard-BHoib2d0.js} +1 -1
- package/assets/{OutboxPane-B3v96_Yp.js → OutboxPane-C1JJZ3O8.js} +1 -1
- package/assets/_mailboxId-DqsMhRRt.js +1 -0
- package/assets/_messageId-BbRCun7m.js +1 -0
- package/assets/_messageId-DPWTeebA.js +1 -0
- package/assets/_messageId-JXdSCEJ7.js +1 -0
- package/assets/_outboxMessageId-BbPyEvLt.js +1 -0
- package/assets/_threadId-BR--aLeK.js +1 -0
- package/assets/_threadId-BgVfkr4j.js +1 -0
- package/assets/_threadId-Cdq13pLV.js +1 -0
- package/assets/{accounts-Byiv2YhU.js → accounts-9DfWemQE.js} +1 -1
- package/assets/{advanced-U9R04Iwk.js → advanced-Da7Haef2.js} +1 -1
- package/assets/{appearance-B0SnJYdK.js → appearance-Cu01X2cP.js} +1 -1
- package/assets/{attachment-file-y4iZ21Zc.js → attachment-file-BsIFxUnS.js} +1 -1
- package/assets/{avatar-Bl5_oOJ-.js → avatar-BosRyUDx.js} +1 -1
- package/assets/{bottom-sheet-BvJxvlFl.js → bottom-sheet-DcSSB9VN.js} +1 -1
- package/assets/{brief-Clh05ql9.js → brief-9ppayR6t.js} +1 -1
- package/assets/brief-CnxjQNC8.js +1 -0
- package/assets/{browser-ponyfill-BSv4PK7A.js → browser-ponyfill-J8RE5Xz2.js} +2 -2
- package/assets/{bug-Ckp9CrSt.js → bug-Dp2Hzou6.js} +1 -1
- package/assets/{circle-check-DG8h0hjz.js → circle-check-PX98a4WV.js} +1 -1
- package/assets/{circle-check-big-CJtA2NwJ.js → circle-check-big-332iqzog.js} +1 -1
- package/assets/{circle-help-DDzu03rw.js → circle-help-CA3mJ370.js} +1 -1
- package/assets/{clock-CxK1EJjs.js → clock-D_rv0tCB.js} +1 -1
- package/assets/compose._-_outboxMessageId_-B32NbToI.js +1 -0
- package/assets/compose._-_outboxMessageId_-BR9g4uXi.js +1 -0
- package/assets/compose._-_outboxMessageId_-CvuyTn91.js +1 -0
- package/assets/compose._-_outboxMessageId_-gBK7x3Ih.js +1 -0
- package/assets/{confirm-dialog-T-zfY3PP.js → confirm-dialog-Cj58-8wR.js} +1 -1
- package/assets/{download-2Z4bQBFk.js → download-DJvO67nu.js} +1 -1
- package/assets/{filters-Ccd735oA.js → filters-DtabYDCh.js} +1 -1
- package/assets/{flagged-NjrPJTLJ.js → flagged-DEaJ9F9E.js} +1 -1
- package/assets/flagged-QyGEaEHA.js +1 -0
- package/assets/{folders-CiwBjVZx.js → folders-Sz7c27v6.js} +1 -1
- package/assets/{index-C9i5OfhV.js → index-BBlkR2lm.js} +4 -4
- package/assets/index-BbRCun7m.js +1 -0
- package/assets/index-CITqA9GW.js +1 -0
- package/assets/index-CioepYEa.js +1 -0
- package/assets/index-DOM5Vq2Y.js +1 -0
- package/assets/index-DPWTeebA.js +1 -0
- package/assets/index-DgY7oj0G.js +1 -0
- package/assets/{index-DEybIGVM.js → index-DpWfLpb7.js} +3 -3
- package/assets/index-DqjfWRpI.js +1 -0
- package/assets/index-DzZ7bpbe.js +1 -0
- package/assets/{kbd-vNhDhAUR.js → kbd-SiNO_Aua.js} +1 -1
- package/assets/{labels-CoVO-OEd.js → labels-Bh5ul3xb.js} +1 -1
- package/assets/{mail-ETFbEgnC.js → mail-BsugoFoQ.js} +1 -1
- package/assets/mail-CDmV61sd.js +1 -0
- package/assets/{menu-Dp0U03sh.js → menu-BtHNv3F8.js} +1 -1
- package/assets/{move-options-CK03coFD.js → move-options-BOLumMSr.js} +1 -1
- package/assets/{onboarding-_OrbEYXg.js → onboarding-D-OrljoR.js} +1 -1
- package/assets/outbox-BPJcsdsu.js +1 -0
- package/assets/{pencil-s3KOcyMR.js → pencil-CjU_Ekj6.js} +1 -1
- package/assets/{rich-text-BZ16lGNa.js → rich-text-DmtTFEdn.js} +1 -1
- package/assets/{rich-text-spellcheck-worker-provider-DAdILB1X.js → rich-text-spellcheck-worker-provider-C2sJO4MH.js} +1 -1
- package/assets/{rotate-ccw-DOrDEh5l.js → rotate-ccw-qUu8sNqY.js} +1 -1
- package/assets/{row-actions-GQaxfowS.js → row-actions-DhmbyA2V.js} +1 -1
- package/assets/{search-scope-CrG0kWXC.js → search-scope-BvS1pMa6.js} +1 -1
- package/assets/{search-token-index-YGgnojDD.js → search-token-index-jGvf0dJ0.js} +1 -1
- package/assets/search-view-H09w67ZC.js +1 -0
- package/assets/{senders-QF6KU3m-.js → senders-Bb-8mua8.js} +1 -1
- package/assets/settings-jx03ah89.js +1 -0
- package/assets/{settings-screen-wU34g1jW.js → settings-screen-DhcpD_Eu.js} +1 -1
- package/assets/{shield-check-CvD77Xt8.js → shield-check-D3e9FJOA.js} +1 -1
- package/assets/{suggested-vips-BF2O4WVh.js → suggested-vips-CGUr8fR1.js} +1 -1
- package/assets/{useDebouncedValue-Jj3bfY1m.js → useDebouncedValue-Bvs_pdKk.js} +1 -1
- package/assets/{useFilters-CsixOh7T.js → useFilters-BDf4e7fG.js} +1 -1
- package/assets/{useLabels-BBnryn5d.js → useLabels-C_Ccg2bp.js} +1 -1
- package/assets/{useMediaQuery-BdhCoYgH.js → useMediaQuery-fCnkE4fe.js} +1 -1
- package/assets/useMessageBodyContent-1l9msTY_.js +1 -0
- package/assets/useRefreshControl-DSz_548v.js +1 -0
- package/assets/useSearchMirror-DnymUkKH.js +1 -0
- package/assets/{useSearchTokenContext-CxGEeT3h.js → useSearchTokenContext-DqJZZd-6.js} +1 -1
- package/assets/{useSemanticSearch-COhwUwna.js → useSemanticSearch-C_xD58fg.js} +1 -1
- package/assets/{useSignature-B2OJqaHW.js → useSignature-T_jnc_Ys.js} +1 -1
- package/index.html +1 -1
- package/package.json +1 -1
- package/assets/_mailboxId-DgQBnX4R.js +0 -1
- package/assets/_messageId-CeIAyCmL.js +0 -1
- package/assets/_messageId-D3EPTVN9.js +0 -1
- package/assets/_messageId-Dgv-3Yex.js +0 -1
- package/assets/_outboxMessageId-CQR96iZO.js +0 -1
- package/assets/_threadId-BCjxNg-r.js +0 -1
- package/assets/_threadId-BMZ6u3ON.js +0 -1
- package/assets/_threadId-CkQ7Zs9B.js +0 -1
- package/assets/brief-MeGogkfw.js +0 -1
- package/assets/compose._-_outboxMessageId_-BLUqz3d2.js +0 -1
- package/assets/compose._-_outboxMessageId_-Bmzbo2Z4.js +0 -1
- package/assets/compose._-_outboxMessageId_-DDrSiWG5.js +0 -1
- package/assets/compose._-_outboxMessageId_-NtjP3saX.js +0 -1
- package/assets/flagged-D6aHMrf_.js +0 -1
- package/assets/index-6NwYBgqs.js +0 -1
- package/assets/index-BzypW31m.js +0 -1
- package/assets/index-CTnw0Tqp.js +0 -1
- package/assets/index-CeIAyCmL.js +0 -1
- package/assets/index-D8O--BwR.js +0 -1
- package/assets/index-DKHbsXZp.js +0 -1
- package/assets/index-Dgv-3Yex.js +0 -1
- package/assets/index-x4LjyFo1.js +0 -1
- package/assets/mail-CaEa9jGP.js +0 -1
- package/assets/outbox-B40R2X1c.js +0 -1
- package/assets/search-view-CdHxlkMC.js +0 -1
- package/assets/settings-DZ-zK0BD.js +0 -1
- package/assets/useMessageBodyContent-CIcMKHzP.js +0 -1
- package/assets/useRefreshControl-BDyZlcz0.js +0 -1
- package/assets/useSearchMirror-BwhEHCpm.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as a,af as Ke,S as Xe,bh as es,l as $,bb as ss,m as oe,r as o,s as ae,bi as ne,q as ts,bj as as,bk as ns,bl as os,e as Re,bm as rs,i as is}from"./index-C9i5OfhV.js";import{s as Te,a as ls,b as we,u as cs,p as ds,R as us}from"./useSearchTokenContext-CxGEeT3h.js";import{a4 as ve,E as ye,a5 as ms,a6 as fs,F as hs,a7 as Se,a8 as gs,a9 as xs,aa as ps,a3 as Is,ab as bs,ac as vs,ad as ys,M as Ss,ae as Cs,af as js,ag as Rs,e as Ts,w as ws,ah as Ms,s as ks,S as Fs,I as Ns,N as Ce,L as As,J as Bs,d as Os,X as Ls,Y as Es,Z as Me,_ as Ds,$ as ke,a0 as Ps}from"./MailListHeader-D1EUaGyI.js";import{u as qs,a as zs,R as Qs,i as Hs,b as _s}from"./useRefreshControl-BDyZlcz0.js";import{e as $s,c as Ws,R as Us}from"./search-token-index-YGgnojDD.js";import{a as Vs}from"./useLabels-BBnryn5d.js";import{u as Ys}from"./useMediaQuery-BdhCoYgH.js";import{u as Gs,L as Js}from"./useSemanticSearch-COhwUwna.js";import{n as Zs,e as Ks,g as Xs,o as et,r as st}from"./useMessageBodyContent-CIcMKHzP.js";function tt({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(Ke,{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:at(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 at({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 Fe=[{id:"unread",name:"is",value:"unread"},{id:"attachment",name:"has",value:"attachment"}],Ne="category",nt={unclassified:"uncategorized"},W=e=>ls(e).map(s=>s.raw),_=e=>e.join(" "),re=e=>{const s=we(e);if(s)return Fe.find(n=>n.name===s.name&&n.value===s.value.toLowerCase())?.id},ie=e=>{const s=we(e);if(!s||s.name!==Ne)return;const n=s.value.toLowerCase(),r=nt[n];if(r)return r;if(!(!es(n)||n==="all"))return n},Ae=e=>Fe.find(s=>s.id===e),Be=e=>Ae(e)!==void 0,ot=e=>{const s=new Set;for(const n of W(e)){const r=re(n);r&&s.add(r)}return s},rt=e=>{let s="all";for(const n of W(e)){const r=ie(n);r&&(s=r)}return s},it=(e,s)=>{const n=Ae(s);if(!n)return;const r=W(e),u=r.filter(l=>re(l)!==s);return u.length<r.length?_(u):_([...r,Te(n.name,n.value)])},lt=(e,s)=>{const n=W(e).filter(r=>!ie(r));return _(s==="all"?n:[...n,Te(Ne,s)])},ct=e=>_(W(e).filter(s=>!re(s)&&!ie(s))),Oe=e=>e.trim().length>0,dt=e=>{if(!Oe(e.query))return e.ownFilters;const s=new Set(ot(e.query));for(const n of e.ownFilters)Be(n)||s.add(n);return s},ut=e=>Oe(e.query)?rt(e.query):e.ownCategory,mt=(e,s)=>e.createdAt!==s.createdAt?e.createdAt-s.createdAt:e.accountId.localeCompare(s.accountId),ft=e=>[...e].sort(mt),ht=200,je=()=>a.jsx("div",{className:"animate-pulse",children:Array.from({length:3}).map((e,s)=>a.jsxs("div",{className:"flex items-start gap-3 py-2 pl-5 pr-4 border-b border-line",children:[a.jsx("div",{className:"size-7 rounded-full bg-surface-sunken shrink-0 mt-0.5"}),a.jsxs("div",{className:"flex-1 space-y-1.5",children:[a.jsxs("div",{className:"flex justify-between gap-2",children:[a.jsx("div",{className:"h-3.5 bg-surface-sunken rounded w-28"}),a.jsx("div",{className:"h-3 bg-surface-sunken rounded w-12"})]}),a.jsx("div",{className:"h-3.5 bg-surface-sunken rounded w-48"}),a.jsx("div",{className:"h-3 bg-surface-sunken rounded w-full"})]})]},s))}),gt=({accountEmail:e})=>{const s=oe();return a.jsxs("div",{className:"flex items-center gap-2 px-row-inset py-2 border-b border-line bg-danger-soft/40 text-xs text-danger",children:[a.jsx(Re,{className:"size-3.5 shrink-0"}),a.jsxs("span",{className:"flex-1 truncate",children:[e," can't connect"]}),a.jsx("button",{type:"button",onClick:()=>s({to:"/settings/accounts"}),className:"shrink-0 underline text-danger hover:opacity-80",children:"Reconnect"})]})},xt=(e,s)=>{if(s.size===0)return{};const n=new Set,r=new Set;for(const l of e)s.has(l.id)&&(l.accountId&&n.add(l.accountId),l.mailboxId&&r.add(l.mailboxId));if(n.size>1)return{restriction:"spansAccounts",moveDisabledHint:"Move only works within one account — clear selection or pick messages from a single account"};const u=n.size===1?[...n][0]:void 0;return r.size>1?{accountId:u,restriction:"spansFolders",moveDisabledHint:`Move only works within one folder — this selection spans ${r.size} folders`}:{accountId:u,mailboxId:r.size===1?[...r][0]:void 0}};function pt({header:e,rows:s,wizard:n,children:r}){const{selectedIds:u,selectedCount:l,exitSelection:g,orderedIds:d,allSelected:f,toggleAllLoaded:S}=Rs(),p=o.useMemo(()=>xt(s,u),[s,u]),{junkMailboxId:I}=Ts(p.accountId),{labels:b}=Vs(p.accountId),N=o.useMemo(()=>Array.from(u),[u]),E=o.useMemo(()=>s.filter(x=>u.has(x.id)).map(x=>({id:x.id,sender:x.fromName,email:x.fromEmail,subject:x.subject,date:x.timeLabel})),[s,u]),m=ws(I,p.mailboxId),v=o.useMemo(()=>d.length>0?{checked:f,indeterminate:l>0&&!f,onChange:S}:void 0,[d.length,f,l,S]),A=p.moveDisabledHint?{tone:"warning",text:p.moveDisabledHint}:void 0,C=x=>a.jsx(Fs,{title:x.title,navSlot:x.navSlot,titleMeta:x.titleMeta,searchSlot:x.searchSlot,searchField:x.searchField,idleSlot:x.makeFilterSlot,count:l,onCancel:g,onDelete:()=>n.start("delete"),onMove:()=>n.start("move"),onOrganize:()=>n.start("organize"),onJunk:m?()=>n.start("junk"):void 0,onMarkRead:()=>n.start("markRead"),overflowSlot:p.accountId&&p.mailboxId&&l>0&&b.length>0?a.jsx(Js,{accountId:p.accountId,mailboxId:p.mailboxId,messageIds:N}):void 0,selectAll:v,notice:A});return a.jsx(Ms,{...e,selectionBar:C,paneOverlay:a.jsx(ks,{verb:n.verb,accountId:p.accountId,mailboxId:p.mailboxId,selection:E,selectionRestriction:p.restriction,onFinished:g}),children:r})}function It({accounts:e,selectedMessageId:s,onOpenThread:n,commandsRef:r,onTriageContextChange:u,onDeleteMessages:l}){const{searchQuery:g,searchInput:d,resultFolderIndex:f,onSearchChange:S}=$(),p=cs(),I=Ys(),b=$s(),N=ss(),E=oe(),m=o.useMemo(()=>ft(e.filter(t=>!t.muted?.value)),[e]),[v,A]=o.useState("all"),[C,x]=o.useState("all"),[U,D]=o.useState(new Set),[Z,j]=o.useState(!1),P=o.useCallback(t=>{D(i=>{const c=new Set(i);return c.has(t)?c.delete(t):c.add(t),c})},[]),V=o.useCallback(()=>D(new Set),[]),T=d.trim().length>0,R=o.useMemo(()=>dt({query:d,ownFilters:U}),[d,U]),w=o.useMemo(()=>ut({query:d,ownCategory:C}),[d,C]),B=o.useCallback(t=>{if(!T||!Be(t)){P(t);return}const i=it(d,t);i!==void 0&&S(i)},[T,d,S,P]),q=o.useCallback(t=>{if(!T){x(t);return}S(lt(d,t))},[T,d,S]),z=o.useCallback(()=>{x("all"),A("all"),V(),T&&S(ct(d))},[T,d,S,V]),{data:O,isLoading:Q,isError:h,refetch:L}=ae({...ne(),staleTime:6e4}),M=Ws({queries:m.map(t=>({...ts({path:{accountId:t.accountId}}),staleTime:1/0,meta:{softError:!0}}))}),Y=o.useMemo(()=>{const t=new Map;for(let i=0;i<m.length;i++){const c=m[i].accountId,Ge=(M[i]?.data?.items??[]).reduce((Je,Ze)=>Je+(Ze.unseenCount??0),0);t.set(c,Ge)}return t},[m,M]),De=o.useMemo(()=>m.filter((t,i)=>{const c=M[i];return c?.isError?!as(c.error):!1}),[m,M]),{freeText:k,tokens:K}=ds(g.trim().toLowerCase(),p),{data:le,isFetching:Pe}=ae({...ne({query:{query:k,limit:ht}}),enabled:k.length>0,staleTime:3e4}),y=o.useMemo(()=>{const t=ve(O?.items??[]).map(ye);return(k?ms(t.filter(c=>fs(c,k)),ve(le?.items??[]).map(ye)):t).filter(c=>(v==="all"||c.accountId===v)&&hs(c,K))},[O,le,v,k,K]),{bodyRows:ce,briefSpamOffer:X}=o.useMemo(()=>{if(!k)return{bodyRows:y,briefSpamOffer:void 0};const t=y.map(F=>Se(F,f)),{spam:i}=gs(t);if(i.length===0)return{bodyRows:y,briefSpamOffer:void 0};const c=new Set(i.map(F=>F.id));return{bodyRows:y.filter(F=>!c.has(F.id)),briefSpamOffer:xs(t)}},[y,k,f]),de=o.useMemo(()=>ps(ce),[ce]),ue=o.useCallback((t,i)=>{const c=y.find(F=>F.id===t)?.threadId;c&&n?.({threadId:c,messageId:t},i)},[y,n]),qe=o.useCallback(t=>{const i=t.threadId??y.find(c=>c.id===t.id)?.threadId;i&&n?.({threadId:i,messageId:t.id})},[y,n]),ee=o.useMemo(()=>m.length<=1?[]:[{id:"all",label:"All",active:v==="all"},...m.map(t=>({id:t.accountId,label:t.email.split("@")[0]??t.email,count:Y.get(t.accountId),active:v===t.accountId}))],[m,Y,v]),H=o.useMemo(()=>e.filter(t=>t.muted?.value).length,[e]),ze=o.useMemo(()=>Array.from(Y.values()).reduce((t,i)=>t+i,0),[Y]),se=o.useMemo(()=>m.map(t=>t.accountId),[m]),{hasNewMail:me}=qs(),{state:fe,errorMessage:he,refresh:ge}=zs(se,{onSettled:()=>L()}),Qe=o.useMemo(()=>a.jsx(Qs,{state:fe,onRefresh:ge,label:"Refresh daily brief",errorMessage:he,hasUpdate:me(se)}),[fe,ge,he,me,se]),te=o.useMemo(()=>y.filter(t=>(w==="all"||t.category===w)&&ns(t,R)).map(t=>Se(t,f)),[y,w,R,f]),{hits:xe,isLoading:He}=Gs(),_e=o.useMemo(()=>{const t=new Map;for(const c of O?.items??[])t.set(c.messageId,c.threadId);const i=te.map(c=>t.get(c.id)).filter(c=>c!=null);return Is(xe,i,f)},[xe,te,O,f]),$e=o.useMemo(()=>{const t=bs(ee.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:H>0?`+${H} muted`:void 0,selectedCategory:w,activeFilters:R,expanded:Z,onExpandedChange:j,onSelectCategory:i=>q(i),onSelectSource:A,onToggleFilter:i=>B(i),onClear:z}},[ee,H,w,R,Z,B,q,z]),pe=de.length===0&&v==="all"&&k.length===0&&K.length===0,We=o.useMemo(()=>m.map(t=>t.accountId),[m]),Ue=o.useMemo(()=>m.some(t=>Hs(t.syncPhase)),[m]),G=_s(We,pe||Ue),Ie=a.jsxs("div",{className:"h-full overflow-y-auto",children:[a.jsx(je,{}),a.jsx(je,{})]}),be=!Q&&!h&&!pe,Ve=vs({tier:b,hasLiveInput:T,hasCommittedQuery:g.trim().length>0,bodyRendersCommittedResults:!0}),Ye=be?a.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[X&&a.jsx(ys,{count:X.count,onScopeToSpam:()=>E({to:"/mail/$mailboxId",params:{mailboxId:X.mailboxId},search:{q:g||void 0}})}),a.jsx("div",{className:"min-h-0 flex-1",children:a.jsx(os,{sections:de,briefCategory:w,Row:Ss,selectedThreadId:s,onSelectThread:ue,onSelectBriefCategory:q,sources:ee,sourcesNote:H>0?`+${H} muted`:void 0,onSelectSource:A,activeFilters:R,onToggleFilter:B,onClearFilters:z})})]}):Q?Ie:h?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:()=>L(),className:"flex items-center gap-1 text-accent underline text-xs",children:[a.jsx(Us,{className:"size-3.5"}),"Try again"]})]}):G.resolved?a.jsx(tt,{sync:G.syncing?{synced:G.synced,total:G.total}:void 0}):Ie;return a.jsx(rs,{hasSheet:be&&!Ve,children:a.jsx(Cs,{selectedMessageId:s,onOpen:ue,onDeleteMessages:l,onSelectionVerb:N.start,wizardOpen:N.isOpen,commandsRef:r,onTriageContextChange:u,children:a.jsx(pt,{wizard:N,header:{title:"Daily brief",unreadCount:ze,footer:I?a.jsx(js,{}):void 0,searchFilter:$e,searchResults:te,searchLoading:Q||Pe,relatedResults:_e,relatedLoading:He,onSelectSearchResult:qe,searchResultsInBody:!0,refreshControl:Qe},rows:y,children:a.jsxs("div",{className:"flex h-full flex-col",children:[De.map(t=>a.jsx(gt,{accountEmail:t.email,accountId:t.accountId},t.accountId)),a.jsx("div",{className:"min-h-0 flex-1",children:Ye})]})})})})}const Le=o.createContext(null);function J(){const e=o.useContext(Le);if(!e)throw new Error("BriefPane.* must be used inside <BriefPane>");return e}function bt({thread:e,children:s}){const n=oe(),r=Zs(),{searchInput:u}=$(),l=e?.threadId,g=e?.messageId,{data:d}=ae({...ne(),staleTime:6e4}),f=o.useMemo(()=>d?.items??[],[d]),S=o.useMemo(()=>{if(l)return f.find(h=>h.messageId===g)??f.find(h=>h.threadId===l)},[f,l,g]),p=Ns(l,g),I=S??p,b=g??I?.messageId,N=o.useMemo(()=>{if(l)return{threadId:l,mailboxId:I?.mailboxId??"",subject:I?.subject,messageId:b,authenticity:I?.authenticity}},[l,I,b]),E=o.useCallback((h,L)=>{n({to:"/mail/brief/$threadId/$messageId",params:h,replace:L?.replace,search:M=>({...M,q:u||void 0}),hash:r})},[n,r,u]),m=o.useCallback(()=>{n({to:"/mail/brief",search:h=>h,hash:r})},[n,r]),v=o.useCallback(h=>{b&&h.includes(b)&&m()},[b,m]),A=Ce({thread:I,onAfterOptimisticRemove:v}),C=As(),{deleteMessages:x}=Bs({mailboxId:I?.mailboxId??"",messages:f,onAfterOptimisticRemove:v}),{toggleReadFor:U}=Os({mailboxId:I?.mailboxId??"",messages:f}),D=C.focusedMessageId,j=o.useMemo(()=>f.find(h=>h.messageId===D),[f,D])??I,P=Ce({thread:j}),V=Ks(),T=Xs(),R=et(),w=o.useMemo(()=>st(R,l,b),[R,l,b]),B=o.useMemo(()=>{if(j)return h=>R({threadId:j.threadId,messageId:j.messageId,mode:h})},[R,j]),{nextMessageId:q,previousMessageId:z}=Ls({context:C,orderedIds:C.orderedIds,selectedMessageId:b,enabled:!V&&!T,onClose:m,handlers:{reply:()=>B?.("reply"),replyAll:()=>B?.("reply-all"),forward:()=>B?.("forward"),delete:()=>{C.listCommandsRef.current?.requestVerb("delete")||P.deleteThread()},toggleStar:P.toggleStar,toggleRead:()=>{C.listCommandsRef.current?.requestVerb("markRead")||j&&U([j.messageId],!j.isRead)},goFlagged:()=>n({to:"/mail/flagged"}),goSettings:()=>n({to:"/settings"})}}),O=o.useCallback(h=>{if(!h)return;const L=f.find(M=>M.messageId===h);return L?{threadId:L.threadId,messageId:h}:void 0},[f]),Q={selectedMessageId:b,selectedThread:I,conversation:N,onOpenThread:E,onCloseThread:m,nextThread:O(q),previousThread:O(z),actions:A,onReply:w,triage:C,onDeleteMessages:x,handleDeselectIfRemoved:v};return a.jsx(Le.Provider,{value:Q,children:s})}function Ee(){const{selectedMessageId:e,onOpenThread:s,triage:n,onDeleteMessages:r}=J(),{accounts:u}=$();return a.jsx(It,{accounts:u,selectedMessageId:e,onOpenThread:s,commandsRef:n.listCommandsRef,onTriageContextChange:n.onTriageContextChange,onDeleteMessages:r})}function vt(){const{conversation:e,actions:s,onReply:n}=J(),{intelligenceOpen:r,onToggleIntelligence:u}=$(),l=is()?.showIntelligencePane??!1,g=!!e,d=l&&g;return a.jsxs("section",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[a.jsx(Ps,{hasThread:g,intelligenceOpen:d&&r,canToggleIntelligence:d,onToggleIntelligence:u,onReply:n?()=>n("reply"):void 0,onReplyAll:n?()=>n("reply-all"):void 0,onForward:n?()=>n("forward"):void 0,onDelete:g?s.deleteThread:void 0,onToggleStar:g?s.toggleStar:void 0,isStarred:s.isStarred,moveContext:g&&s.accountId&&s.mailboxId?{accountId:s.accountId,currentMailboxId:s.mailboxId,onMove:s.moveThread}:void 0}),a.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:e?a.jsx(Me,{threadId:e.threadId,mailboxId:e.mailboxId,subject:e.subject,selectedMessageId:e.messageId,authenticity:e.authenticity}):a.jsx(us,{})})]})}function yt(){const{selectedThread:e,handleDeselectIfRemoved:s}=J(),{onToggleIntelligence:n}=$();return a.jsx(ke,{onClose:n,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:s})}function St(){const{selectedThread:e,conversation:s,onOpenThread:n,onCloseThread:r,nextThread:u,previousThread:l,handleDeselectIfRemoved:g}=J(),d=Es(s?.threadId??null);return s?a.jsxs(a.Fragment,{children:[a.jsx(Me,{threadId:s.threadId,mailboxId:s.mailboxId,subject:s.subject,selectedMessageId:s.messageId,authenticity:s.authenticity,onBack:r,onOpenIntelligence:d.toggle,onSwipeNext:u?()=>n(u):void 0,onSwipePrevious:l?()=>n(l):void 0,mobileIntelligenceOpen:d.isOpen}),a.jsx(Ds,{isOpen:d.isOpen,onClose:d.close,ariaLabel:"Message details",side:"right",children:a.jsx(ke,{onClose:d.close,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,hideCloseButton:!0,onAfterOptimisticRemove:g})})]}):a.jsx("div",{className:"h-full",children:a.jsx(Ee,{})})}const At=Object.assign(bt,{List:Ee,Reading:vt,Intelligence:yt,Phone:St});export{At as B};
|
|
1
|
+
import{j as a,af as Ke,S as Xe,bh as es,l as $,bb as ss,m as oe,r as o,s as ae,bi as ne,q as ts,bj as as,bk as ns,bl as os,e as Re,bm as rs,i as is}from"./index-BBlkR2lm.js";import{s as Te,a as ls,b as we,u as cs,p as ds,R as us}from"./useSearchTokenContext-DqJZZd-6.js";import{a4 as ve,E as ye,a5 as ms,a6 as fs,F as hs,a7 as Se,a8 as gs,a9 as xs,aa as ps,a3 as Is,ab as bs,ac as vs,ad as ys,M as Ss,ae as Cs,af as js,ag as Rs,e as Ts,w as ws,ah as Ms,s as ks,S as Fs,I as Ns,N as Ce,L as As,J as Bs,d as Os,X as Ls,Y as Es,Z as Me,_ as Ds,$ as ke,a0 as Ps}from"./MailListHeader-CqEQzbdu.js";import{u as qs,a as zs,R as Qs,i as Hs,b as _s}from"./useRefreshControl-DSz_548v.js";import{e as $s,c as Ws,R as Us}from"./search-token-index-jGvf0dJ0.js";import{a as Vs}from"./useLabels-C_Ccg2bp.js";import{u as Ys}from"./useMediaQuery-fCnkE4fe.js";import{u as Gs,L as Js}from"./useSemanticSearch-C_xD58fg.js";import{o as Zs,f as Ks,h as Xs,p as et,r as st}from"./useMessageBodyContent-1l9msTY_.js";function tt({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(Ke,{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:at(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 at({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 Fe=[{id:"unread",name:"is",value:"unread"},{id:"attachment",name:"has",value:"attachment"}],Ne="category",nt={unclassified:"uncategorized"},W=e=>ls(e).map(s=>s.raw),_=e=>e.join(" "),re=e=>{const s=we(e);if(s)return Fe.find(n=>n.name===s.name&&n.value===s.value.toLowerCase())?.id},ie=e=>{const s=we(e);if(!s||s.name!==Ne)return;const n=s.value.toLowerCase(),r=nt[n];if(r)return r;if(!(!es(n)||n==="all"))return n},Ae=e=>Fe.find(s=>s.id===e),Be=e=>Ae(e)!==void 0,ot=e=>{const s=new Set;for(const n of W(e)){const r=re(n);r&&s.add(r)}return s},rt=e=>{let s="all";for(const n of W(e)){const r=ie(n);r&&(s=r)}return s},it=(e,s)=>{const n=Ae(s);if(!n)return;const r=W(e),u=r.filter(l=>re(l)!==s);return u.length<r.length?_(u):_([...r,Te(n.name,n.value)])},lt=(e,s)=>{const n=W(e).filter(r=>!ie(r));return _(s==="all"?n:[...n,Te(Ne,s)])},ct=e=>_(W(e).filter(s=>!re(s)&&!ie(s))),Oe=e=>e.trim().length>0,dt=e=>{if(!Oe(e.query))return e.ownFilters;const s=new Set(ot(e.query));for(const n of e.ownFilters)Be(n)||s.add(n);return s},ut=e=>Oe(e.query)?rt(e.query):e.ownCategory,mt=(e,s)=>e.createdAt!==s.createdAt?e.createdAt-s.createdAt:e.accountId.localeCompare(s.accountId),ft=e=>[...e].sort(mt),ht=200,je=()=>a.jsx("div",{className:"animate-pulse",children:Array.from({length:3}).map((e,s)=>a.jsxs("div",{className:"flex items-start gap-3 py-2 pl-5 pr-4 border-b border-line",children:[a.jsx("div",{className:"size-7 rounded-full bg-surface-sunken shrink-0 mt-0.5"}),a.jsxs("div",{className:"flex-1 space-y-1.5",children:[a.jsxs("div",{className:"flex justify-between gap-2",children:[a.jsx("div",{className:"h-3.5 bg-surface-sunken rounded w-28"}),a.jsx("div",{className:"h-3 bg-surface-sunken rounded w-12"})]}),a.jsx("div",{className:"h-3.5 bg-surface-sunken rounded w-48"}),a.jsx("div",{className:"h-3 bg-surface-sunken rounded w-full"})]})]},s))}),gt=({accountEmail:e})=>{const s=oe();return a.jsxs("div",{className:"flex items-center gap-2 px-row-inset py-2 border-b border-line bg-danger-soft/40 text-xs text-danger",children:[a.jsx(Re,{className:"size-3.5 shrink-0"}),a.jsxs("span",{className:"flex-1 truncate",children:[e," can't connect"]}),a.jsx("button",{type:"button",onClick:()=>s({to:"/settings/accounts"}),className:"shrink-0 underline text-danger hover:opacity-80",children:"Reconnect"})]})},xt=(e,s)=>{if(s.size===0)return{};const n=new Set,r=new Set;for(const l of e)s.has(l.id)&&(l.accountId&&n.add(l.accountId),l.mailboxId&&r.add(l.mailboxId));if(n.size>1)return{restriction:"spansAccounts",moveDisabledHint:"Move only works within one account — clear selection or pick messages from a single account"};const u=n.size===1?[...n][0]:void 0;return r.size>1?{accountId:u,restriction:"spansFolders",moveDisabledHint:`Move only works within one folder — this selection spans ${r.size} folders`}:{accountId:u,mailboxId:r.size===1?[...r][0]:void 0}};function pt({header:e,rows:s,wizard:n,children:r}){const{selectedIds:u,selectedCount:l,exitSelection:g,orderedIds:d,allSelected:f,toggleAllLoaded:S}=Rs(),p=o.useMemo(()=>xt(s,u),[s,u]),{junkMailboxId:I}=Ts(p.accountId),{labels:b}=Vs(p.accountId),N=o.useMemo(()=>Array.from(u),[u]),E=o.useMemo(()=>s.filter(x=>u.has(x.id)).map(x=>({id:x.id,sender:x.fromName,email:x.fromEmail,subject:x.subject,date:x.timeLabel})),[s,u]),m=ws(I,p.mailboxId),v=o.useMemo(()=>d.length>0?{checked:f,indeterminate:l>0&&!f,onChange:S}:void 0,[d.length,f,l,S]),A=p.moveDisabledHint?{tone:"warning",text:p.moveDisabledHint}:void 0,C=x=>a.jsx(Fs,{title:x.title,navSlot:x.navSlot,titleMeta:x.titleMeta,searchSlot:x.searchSlot,searchField:x.searchField,idleSlot:x.makeFilterSlot,count:l,onCancel:g,onDelete:()=>n.start("delete"),onMove:()=>n.start("move"),onOrganize:()=>n.start("organize"),onJunk:m?()=>n.start("junk"):void 0,onMarkRead:()=>n.start("markRead"),overflowSlot:p.accountId&&p.mailboxId&&l>0&&b.length>0?a.jsx(Js,{accountId:p.accountId,mailboxId:p.mailboxId,messageIds:N}):void 0,selectAll:v,notice:A});return a.jsx(Ms,{...e,selectionBar:C,paneOverlay:a.jsx(ks,{verb:n.verb,accountId:p.accountId,mailboxId:p.mailboxId,selection:E,selectionRestriction:p.restriction,onFinished:g}),children:r})}function It({accounts:e,selectedMessageId:s,onOpenThread:n,commandsRef:r,onTriageContextChange:u,onDeleteMessages:l}){const{searchQuery:g,searchInput:d,resultFolderIndex:f,onSearchChange:S}=$(),p=cs(),I=Ys(),b=$s(),N=ss(),E=oe(),m=o.useMemo(()=>ft(e.filter(t=>!t.muted?.value)),[e]),[v,A]=o.useState("all"),[C,x]=o.useState("all"),[U,D]=o.useState(new Set),[Z,j]=o.useState(!1),P=o.useCallback(t=>{D(i=>{const c=new Set(i);return c.has(t)?c.delete(t):c.add(t),c})},[]),V=o.useCallback(()=>D(new Set),[]),T=d.trim().length>0,R=o.useMemo(()=>dt({query:d,ownFilters:U}),[d,U]),w=o.useMemo(()=>ut({query:d,ownCategory:C}),[d,C]),B=o.useCallback(t=>{if(!T||!Be(t)){P(t);return}const i=it(d,t);i!==void 0&&S(i)},[T,d,S,P]),q=o.useCallback(t=>{if(!T){x(t);return}S(lt(d,t))},[T,d,S]),z=o.useCallback(()=>{x("all"),A("all"),V(),T&&S(ct(d))},[T,d,S,V]),{data:O,isLoading:Q,isError:h,refetch:L}=ae({...ne(),staleTime:6e4}),M=Ws({queries:m.map(t=>({...ts({path:{accountId:t.accountId}}),staleTime:1/0,meta:{softError:!0}}))}),Y=o.useMemo(()=>{const t=new Map;for(let i=0;i<m.length;i++){const c=m[i].accountId,Ge=(M[i]?.data?.items??[]).reduce((Je,Ze)=>Je+(Ze.unseenCount??0),0);t.set(c,Ge)}return t},[m,M]),De=o.useMemo(()=>m.filter((t,i)=>{const c=M[i];return c?.isError?!as(c.error):!1}),[m,M]),{freeText:k,tokens:K}=ds(g.trim().toLowerCase(),p),{data:le,isFetching:Pe}=ae({...ne({query:{query:k,limit:ht}}),enabled:k.length>0,staleTime:3e4}),y=o.useMemo(()=>{const t=ve(O?.items??[]).map(ye);return(k?ms(t.filter(c=>fs(c,k)),ve(le?.items??[]).map(ye)):t).filter(c=>(v==="all"||c.accountId===v)&&hs(c,K))},[O,le,v,k,K]),{bodyRows:ce,briefSpamOffer:X}=o.useMemo(()=>{if(!k)return{bodyRows:y,briefSpamOffer:void 0};const t=y.map(F=>Se(F,f)),{spam:i}=gs(t);if(i.length===0)return{bodyRows:y,briefSpamOffer:void 0};const c=new Set(i.map(F=>F.id));return{bodyRows:y.filter(F=>!c.has(F.id)),briefSpamOffer:xs(t)}},[y,k,f]),de=o.useMemo(()=>ps(ce),[ce]),ue=o.useCallback((t,i)=>{const c=y.find(F=>F.id===t)?.threadId;c&&n?.({threadId:c,messageId:t},i)},[y,n]),qe=o.useCallback(t=>{const i=t.threadId??y.find(c=>c.id===t.id)?.threadId;i&&n?.({threadId:i,messageId:t.id})},[y,n]),ee=o.useMemo(()=>m.length<=1?[]:[{id:"all",label:"All",active:v==="all"},...m.map(t=>({id:t.accountId,label:t.email.split("@")[0]??t.email,count:Y.get(t.accountId),active:v===t.accountId}))],[m,Y,v]),H=o.useMemo(()=>e.filter(t=>t.muted?.value).length,[e]),ze=o.useMemo(()=>Array.from(Y.values()).reduce((t,i)=>t+i,0),[Y]),se=o.useMemo(()=>m.map(t=>t.accountId),[m]),{hasNewMail:me}=qs(),{state:fe,errorMessage:he,refresh:ge}=zs(se,{onSettled:()=>L()}),Qe=o.useMemo(()=>a.jsx(Qs,{state:fe,onRefresh:ge,label:"Refresh daily brief",errorMessage:he,hasUpdate:me(se)}),[fe,ge,he,me,se]),te=o.useMemo(()=>y.filter(t=>(w==="all"||t.category===w)&&ns(t,R)).map(t=>Se(t,f)),[y,w,R,f]),{hits:xe,isLoading:He}=Gs(),_e=o.useMemo(()=>{const t=new Map;for(const c of O?.items??[])t.set(c.messageId,c.threadId);const i=te.map(c=>t.get(c.id)).filter(c=>c!=null);return Is(xe,i,f)},[xe,te,O,f]),$e=o.useMemo(()=>{const t=bs(ee.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:H>0?`+${H} muted`:void 0,selectedCategory:w,activeFilters:R,expanded:Z,onExpandedChange:j,onSelectCategory:i=>q(i),onSelectSource:A,onToggleFilter:i=>B(i),onClear:z}},[ee,H,w,R,Z,B,q,z]),pe=de.length===0&&v==="all"&&k.length===0&&K.length===0,We=o.useMemo(()=>m.map(t=>t.accountId),[m]),Ue=o.useMemo(()=>m.some(t=>Hs(t.syncPhase)),[m]),G=_s(We,pe||Ue),Ie=a.jsxs("div",{className:"h-full overflow-y-auto",children:[a.jsx(je,{}),a.jsx(je,{})]}),be=!Q&&!h&&!pe,Ve=vs({tier:b,hasLiveInput:T,hasCommittedQuery:g.trim().length>0,bodyRendersCommittedResults:!0}),Ye=be?a.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[X&&a.jsx(ys,{count:X.count,onScopeToSpam:()=>E({to:"/mail/$mailboxId",params:{mailboxId:X.mailboxId},search:{q:g||void 0}})}),a.jsx("div",{className:"min-h-0 flex-1",children:a.jsx(os,{sections:de,briefCategory:w,Row:Ss,selectedThreadId:s,onSelectThread:ue,onSelectBriefCategory:q,sources:ee,sourcesNote:H>0?`+${H} muted`:void 0,onSelectSource:A,activeFilters:R,onToggleFilter:B,onClearFilters:z})})]}):Q?Ie:h?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:()=>L(),className:"flex items-center gap-1 text-accent underline text-xs",children:[a.jsx(Us,{className:"size-3.5"}),"Try again"]})]}):G.resolved?a.jsx(tt,{sync:G.syncing?{synced:G.synced,total:G.total}:void 0}):Ie;return a.jsx(rs,{hasSheet:be&&!Ve,children:a.jsx(Cs,{selectedMessageId:s,onOpen:ue,onDeleteMessages:l,onSelectionVerb:N.start,wizardOpen:N.isOpen,commandsRef:r,onTriageContextChange:u,children:a.jsx(pt,{wizard:N,header:{title:"Daily brief",unreadCount:ze,footer:I?a.jsx(js,{}):void 0,searchFilter:$e,searchResults:te,searchLoading:Q||Pe,relatedResults:_e,relatedLoading:He,onSelectSearchResult:qe,searchResultsInBody:!0,refreshControl:Qe},rows:y,children:a.jsxs("div",{className:"flex h-full flex-col",children:[De.map(t=>a.jsx(gt,{accountEmail:t.email,accountId:t.accountId},t.accountId)),a.jsx("div",{className:"min-h-0 flex-1",children:Ye})]})})})})}const Le=o.createContext(null);function J(){const e=o.useContext(Le);if(!e)throw new Error("BriefPane.* must be used inside <BriefPane>");return e}function bt({thread:e,children:s}){const n=oe(),r=Zs(),{searchInput:u}=$(),l=e?.threadId,g=e?.messageId,{data:d}=ae({...ne(),staleTime:6e4}),f=o.useMemo(()=>d?.items??[],[d]),S=o.useMemo(()=>{if(l)return f.find(h=>h.messageId===g)??f.find(h=>h.threadId===l)},[f,l,g]),p=Ns(l,g),I=S??p,b=g??I?.messageId,N=o.useMemo(()=>{if(l)return{threadId:l,mailboxId:I?.mailboxId??"",subject:I?.subject,messageId:b,authenticity:I?.authenticity}},[l,I,b]),E=o.useCallback((h,L)=>{n({to:"/mail/brief/$threadId/$messageId",params:h,replace:L?.replace,search:M=>({...M,q:u||void 0}),hash:r})},[n,r,u]),m=o.useCallback(()=>{n({to:"/mail/brief",search:h=>h,hash:r})},[n,r]),v=o.useCallback(h=>{b&&h.includes(b)&&m()},[b,m]),A=Ce({thread:I,onAfterOptimisticRemove:v}),C=As(),{deleteMessages:x}=Bs({mailboxId:I?.mailboxId??"",messages:f,onAfterOptimisticRemove:v}),{toggleReadFor:U}=Os({mailboxId:I?.mailboxId??"",messages:f}),D=C.focusedMessageId,j=o.useMemo(()=>f.find(h=>h.messageId===D),[f,D])??I,P=Ce({thread:j}),V=Ks(),T=Xs(),R=et(),w=o.useMemo(()=>st(R,l,b),[R,l,b]),B=o.useMemo(()=>{if(j)return h=>R({threadId:j.threadId,messageId:j.messageId,mode:h})},[R,j]),{nextMessageId:q,previousMessageId:z}=Ls({context:C,orderedIds:C.orderedIds,selectedMessageId:b,enabled:!V&&!T,onClose:m,handlers:{reply:()=>B?.("reply"),replyAll:()=>B?.("reply-all"),forward:()=>B?.("forward"),delete:()=>{C.listCommandsRef.current?.requestVerb("delete")||P.deleteThread()},toggleStar:P.toggleStar,toggleRead:()=>{C.listCommandsRef.current?.requestVerb("markRead")||j&&U([j.messageId],!j.isRead)},goFlagged:()=>n({to:"/mail/flagged"}),goSettings:()=>n({to:"/settings"})}}),O=o.useCallback(h=>{if(!h)return;const L=f.find(M=>M.messageId===h);return L?{threadId:L.threadId,messageId:h}:void 0},[f]),Q={selectedMessageId:b,selectedThread:I,conversation:N,onOpenThread:E,onCloseThread:m,nextThread:O(q),previousThread:O(z),actions:A,onReply:w,triage:C,onDeleteMessages:x,handleDeselectIfRemoved:v};return a.jsx(Le.Provider,{value:Q,children:s})}function Ee(){const{selectedMessageId:e,onOpenThread:s,triage:n,onDeleteMessages:r}=J(),{accounts:u}=$();return a.jsx(It,{accounts:u,selectedMessageId:e,onOpenThread:s,commandsRef:n.listCommandsRef,onTriageContextChange:n.onTriageContextChange,onDeleteMessages:r})}function vt(){const{conversation:e,actions:s,onReply:n}=J(),{intelligenceOpen:r,onToggleIntelligence:u}=$(),l=is()?.showIntelligencePane??!1,g=!!e,d=l&&g;return a.jsxs("section",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[a.jsx(Ps,{hasThread:g,intelligenceOpen:d&&r,canToggleIntelligence:d,onToggleIntelligence:u,onReply:n?()=>n("reply"):void 0,onReplyAll:n?()=>n("reply-all"):void 0,onForward:n?()=>n("forward"):void 0,onDelete:g?s.deleteThread:void 0,onToggleStar:g?s.toggleStar:void 0,isStarred:s.isStarred,moveContext:g&&s.accountId&&s.mailboxId?{accountId:s.accountId,currentMailboxId:s.mailboxId,onMove:s.moveThread}:void 0}),a.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:e?a.jsx(Me,{threadId:e.threadId,mailboxId:e.mailboxId,subject:e.subject,selectedMessageId:e.messageId,authenticity:e.authenticity}):a.jsx(us,{})})]})}function yt(){const{selectedThread:e,handleDeselectIfRemoved:s}=J(),{onToggleIntelligence:n}=$();return a.jsx(ke,{onClose:n,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:s})}function St(){const{selectedThread:e,conversation:s,onOpenThread:n,onCloseThread:r,nextThread:u,previousThread:l,handleDeselectIfRemoved:g}=J(),d=Es(s?.threadId??null);return s?a.jsxs(a.Fragment,{children:[a.jsx(Me,{threadId:s.threadId,mailboxId:s.mailboxId,subject:s.subject,selectedMessageId:s.messageId,authenticity:s.authenticity,onBack:r,onOpenIntelligence:d.toggle,onSwipeNext:u?()=>n(u):void 0,onSwipePrevious:l?()=>n(l):void 0,mobileIntelligenceOpen:d.isOpen}),a.jsx(Ds,{isOpen:d.isOpen,onClose:d.close,ariaLabel:"Message details",side:"right",children:a.jsx(ke,{onClose:d.close,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,hideCloseButton:!0,onAfterOptimisticRemove:g})})]}):a.jsx("div",{className:"h-full",children:a.jsx(Ee,{})})}const At=Object.assign(bt,{List:Ee,Reading:vt,Intelligence:yt,Phone:St});export{At as B};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as t,e as r}from"./index-
|
|
1
|
+
import{j as t,e as r}from"./index-BBlkR2lm.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{
|
|
1
|
+
import{d4 as U,r as n,cq as X,l as D,bb as Y,aF as Z,aG as ee,j as r,m as te,i as se}from"./index-BBlkR2lm.js";import{u as ae,p as re,R as ne}from"./useSearchTokenContext-DqJZZd-6.js";import{E as oe,a6 as de,F as ie,as as le,a7 as ce,b as ue,M as ge,ae as he,at as me,ag as fe,s as Ie,I as pe,N as V,L as xe,J as Te,d as be,X as ye,Y as ve,Z as K,_ as Re,$ as W,a0 as Ce}from"./MailListHeader-CqEQzbdu.js";import{u as Se,b as je,a as we}from"./MailViewChrome-Ctw7cdnR.js";import{f as Fe}from"./ErrorState-C1M66eLl.js";import{u as Me}from"./useMediaQuery-fCnkE4fe.js";import{o as Pe,f as ke,h as Le,p as Oe,r as Ne}from"./useMessageBodyContent-1l9msTY_.js";const Ae=()=>X({query:{starred:!0,order:"desc"}});function _(){const{data:e,isLoading:t,isError:s,error:l,refetch:m,fetchNextPage:a,hasNextPage:c,isFetchingNextPage:d}=Se({queryKey:Ae(),queryFn:async({pageParam:I})=>{const{data:u}=await U({query:{starred:!0,order:"desc",continuationToken:I},throwOnError:!0});return u},initialPageParam:void 0,getNextPageParam:I=>I.continuationToken,staleTime:6e4});return{threads:n.useMemo(()=>(e?.pages??[]).flatMap(I=>I.items??[]),[e]),isLoading:t,isError:s,error:l,refetch:m,fetchNextPage:a,hasNextPage:c,isFetchingNextPage:d}}const Ee=e=>{const t=new Set;return e.filter(s=>t.has(s.threadId)?!1:(t.add(s.threadId),!0))},De={unread:e=>!e.isRead,attachment:e=>e.hasAttachment===!0};function Be({rows:e,verb:t}){const{selectedIds:s,exitSelection:l}=fe(),m=n.useMemo(()=>e.filter(a=>s.has(a.id)).map(a=>({id:a.id,sender:a.fromName,email:a.fromEmail,subject:a.subject,date:a.timeLabel})),[e,s]);return r.jsx(Ie,{verb:t,selection:m,selectionRestriction:"spansAccounts",onFinished:l})}function qe({selectedMessageId:e,onOpenThread:t,commandsRef:s,onTriageContextChange:l,onDeleteMessages:m}){const{searchQuery:a,resultFolderIndex:c}=D(),d=ae(),M=Me(),I=Y(),[u,f]=n.useState("all"),[R,P]=n.useState(new Set),y=n.useCallback(o=>{P(h=>{const p=new Set(h);return p.has(o)?p.delete(o):p.add(o),p})},[]),C=n.useCallback(()=>{f("all"),P(new Set)},[]),{threads:k,isLoading:T,isError:L,error:q,refetch:O,fetchNextPage:Q,hasNextPage:x,isFetchingNextPage:S}=_(),{freeText:v,tokens:N}=re(a.trim().toLowerCase(),d),g=n.useMemo(()=>{const o=Array.from(R).map(h=>De[h]).filter(h=>h!=null);return Ee(k).map(oe).filter(h=>(u==="all"||h.category===u)&&o.every(p=>p(h))&&(!v||de(h,v))&&ie(h,N))},[k,u,R,v,N]),j=n.useCallback((o,h)=>{const p=g.find(J=>J.id===o)?.threadId;p&&t?.({threadId:p,messageId:o},h)},[g,t]),w=n.useCallback(o=>{const h=o.threadId??g.find(p=>p.id===o.id)?.threadId;h&&t?.({threadId:h,messageId:o.id})},[g,t]),z=n.useMemo(()=>le(),[]),H=n.useMemo(()=>g.map(o=>ce(o,c)),[g,c]),A=n.useMemo(()=>g.filter(o=>!o.isRead).length,[g]),E=T?"loading":L?"error":g.length===0?"empty":"ready",i=n.useCallback(()=>{const o=Z(ee());window.open(o,"_blank","noopener,noreferrer")},[]),b=ue(),F=r.jsx("div",{className:"flex h-full min-h-0 flex-col",children:r.jsxs("div",{className:"flex-1 overflow-y-auto",children:[r.jsx("div",{className:"divide-y divide-line",children:g.map(o=>r.jsx(ge,{thread:o,active:o.id===e,onClick:()=>j(o.id)},o.id))}),x?r.jsx("button",{type:"button",className:"w-full py-3 text-sm text-muted hover:text-fg disabled:opacity-50",onClick:()=>Q(),disabled:S,children:S?"Loading…":"Load more"}):null]})});return r.jsx(je,{title:"Starred",unreadCount:A,preset:z,selectedCategory:u,activeFilters:R,onSelectCategory:f,onToggleFilter:y,onClearFilters:C,searchResults:H,searchLoading:T,onSelectSearchResult:w,searchResultsInBody:!0,children:r.jsxs(he,{selectedMessageId:e,onOpen:j,onDeleteMessages:m,onSelectionVerb:I.start,wizardOpen:I.isOpen,commandsRef:s,onTriageContextChange:l,children:[r.jsx(we,{listTitle:"Starred",sections:[{id:"flagged",threads:g}],flatList:!0,hideHeader:!0,listState:b.searchResults?"ready":E,searchQuery:v?a:void 0,errorMessage:L?Fe(q):void 0,onRetry:()=>O(),onReportError:i,selectedThreadId:e,onSelectThread:j,isDesktop:M,selectionBar:r.jsx(me,{title:"Starred"}),listBody:b.searchResults??(E==="ready"?F:void 0)}),r.jsx(Be,{rows:g,verb:I.verb})]})})}const $=n.createContext(null);function B(){const e=n.useContext($);if(!e)throw new Error("FlaggedPane.* must be used inside <FlaggedPane>");return e}function ze({thread:e,children:t}){const s=te(),l=Pe(),{searchInput:m}=D(),a=e?.threadId,c=e?.messageId,{threads:d}=_(),M=n.useMemo(()=>{if(a)return d.find(i=>i.messageId===c)??d.find(i=>i.threadId===a)},[d,a,c]),I=pe(a,c),u=M??I,f=c??u?.messageId,R=n.useMemo(()=>{if(a)return{threadId:a,mailboxId:u?.mailboxId??"",subject:u?.subject,messageId:f,authenticity:u?.authenticity}},[a,u,f]),P=n.useCallback((i,b)=>{s({to:"/mail/flagged/$threadId/$messageId",params:i,replace:b?.replace,search:F=>({...F,q:m||void 0}),hash:l})},[s,l,m]),y=n.useCallback(()=>{s({to:"/mail/flagged",search:i=>i,hash:l})},[s,l]),C=n.useCallback(i=>{f&&i.includes(f)&&y()},[f,y]),k=V({thread:u,onAfterOptimisticRemove:C}),T=xe(),{deleteMessages:L}=Te({mailboxId:u?.mailboxId??"",messages:d,onAfterOptimisticRemove:C}),{toggleReadFor:q}=be({mailboxId:u?.mailboxId??"",messages:d}),O=T.focusedMessageId,x=n.useMemo(()=>d.find(i=>i.messageId===O),[d,O])??u,S=V({thread:x}),v=ke(),N=Le(),g=Oe(),j=n.useMemo(()=>Ne(g,a,f),[g,a,f]),w=n.useMemo(()=>{if(x)return i=>g({threadId:x.threadId,messageId:x.messageId,mode:i})},[g,x]),{nextMessageId:z,previousMessageId:H}=ye({context:T,orderedIds:T.orderedIds,selectedMessageId:f,enabled:!v&&!N,onClose:y,handlers:{reply:()=>w?.("reply"),replyAll:()=>w?.("reply-all"),forward:()=>w?.("forward"),delete:()=>{T.listCommandsRef.current?.requestVerb("delete")||S.deleteThread()},toggleStar:S.toggleStar,toggleRead:()=>{T.listCommandsRef.current?.requestVerb("markRead")||x&&q([x.messageId],!x.isRead)},goBrief:()=>s({to:"/mail/brief"}),goSettings:()=>s({to:"/settings"})}}),A=n.useCallback(i=>{if(!i)return;const b=d.find(F=>F.messageId===i);return b?{threadId:b.threadId,messageId:i}:void 0},[d]),E={selectedMessageId:f,selectedThread:u,conversation:R,onOpenThread:P,onCloseThread:y,nextThread:A(z),previousThread:A(H),actions:k,onReply:j,triage:T,onDeleteMessages:L,handleDeselectIfRemoved:C};return r.jsx($.Provider,{value:E,children:t})}function G(){const{selectedMessageId:e,onOpenThread:t,triage:s,onDeleteMessages:l}=B();return r.jsx(qe,{selectedMessageId:e,onOpenThread:t,commandsRef:s.listCommandsRef,onTriageContextChange:s.onTriageContextChange,onDeleteMessages:l})}function He(){const{conversation:e,actions:t,onReply:s}=B(),{intelligenceOpen:l,onToggleIntelligence:m}=D(),a=se()?.showIntelligencePane??!1,c=!!e,d=a&&c;return r.jsxs("section",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[r.jsx(Ce,{hasThread:c,intelligenceOpen:d&&l,canToggleIntelligence:d,onToggleIntelligence:m,onReply:s?()=>s("reply"):void 0,onReplyAll:s?()=>s("reply-all"):void 0,onForward:s?()=>s("forward"):void 0,onDelete:c?t.deleteThread:void 0,onToggleStar:c?t.toggleStar:void 0,isStarred:t.isStarred,moveContext:c&&t.accountId&&t.mailboxId?{accountId:t.accountId,currentMailboxId:t.mailboxId,onMove:t.moveThread}:void 0}),r.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:e?r.jsx(K,{threadId:e.threadId,mailboxId:e.mailboxId,subject:e.subject,selectedMessageId:e.messageId,authenticity:e.authenticity}):r.jsx(ne,{})})]})}function Qe(){const{selectedThread:e,handleDeselectIfRemoved:t}=B(),{onToggleIntelligence:s}=D();return r.jsx(W,{onClose:s,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:t})}function Ve(){const{selectedThread:e,conversation:t,onCloseThread:s,onOpenThread:l,nextThread:m,previousThread:a,handleDeselectIfRemoved:c}=B(),d=ve(t?.threadId??null);return t?r.jsxs(r.Fragment,{children:[r.jsx(K,{threadId:t.threadId,mailboxId:t.mailboxId,subject:t.subject,selectedMessageId:t.messageId,authenticity:t.authenticity,onBack:s,onOpenIntelligence:d.toggle,onSwipeNext:m?()=>l(m):void 0,onSwipePrevious:a?()=>l(a):void 0,mobileIntelligenceOpen:d.isOpen}),r.jsx(Re,{isOpen:d.isOpen,onClose:d.close,ariaLabel:"Message details",side:"right",children:r.jsx(W,{onClose:d.close,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,hideCloseButton:!0,onAfterOptimisticRemove:c})})]}):r.jsx("div",{className:"h-full",children:r.jsx(G,{})})}const Xe=Object.assign(ze,{List:G,Reading:He,Intelligence:Qe,Phone:Ve});export{Xe as F};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as n,s as f,Q as m,j as e,X as N}from"./index-
|
|
1
|
+
import{r as n,s as f,Q as m,j as e,X as N}from"./index-BBlkR2lm.js";import{E as u}from"./ErrorState-C1M66eLl.js";import{D as r,C as x,u as k}from"./index-DpWfLpb7.js";import{u as w}from"./useMediaQuery-fCnkE4fe.js";import{k as p,s as h,t as C}from"./useMessageBodyContent-1l9msTY_.js";import{C as E}from"./confirm-dialog-Cj58-8wR.js";const b=t=>t?"Draft":"New Message",I=()=>{const t=n.useRef(!1);return n.useCallback(()=>{const s=document.querySelector("[data-subject-field]")?.value??"",o=(document.querySelector('[data-testid="compose-body"]')?.textContent??"").replace(/--\s*/g,"").trim();return t.current=s.trim().length>0||o.length>0,t.current},[])},S=()=>{const t=p(),i=h(),s=C(),a=I(),[l,o]=n.useState(!1),{isError:d,error:c,refetch:g}=f({...m(),staleTime:1/0}),j=n.useCallback(D=>{D||(a()?o(!0):s())},[s,a]),y=n.useCallback(()=>{o(!1),s()},[s]),v=n.useCallback(()=>{o(!1)},[]);return e.jsxs(r.Root,{open:!0,onOpenChange:j,children:[e.jsxs(r.Portal,{children:[e.jsx(r.Overlay,{className:"fixed inset-0 z-40 bg-black/40"}),e.jsxs(r.Content,{className:"fixed inset-x-0 bottom-0 z-50 flex flex-col rounded-t-lg bg-canvas pb-[env(safe-area-inset-bottom,0px)]",style:{height:"95dvh"},children:[e.jsx(r.Handle,{className:"mx-auto mt-2 mb-1 h-1.5 w-12 rounded-full bg-fg-muted/30"}),e.jsx(r.Title,{className:"px-4 py-2 text-base font-semibold border-b border-line",children:b(t)}),d?e.jsx("div",{className:"flex-1 flex items-center justify-center p-4",children:e.jsx(u,{title:"Couldn't load compose",error:c,onRetry:()=>{g()}})}):e.jsx("div",{className:"flex-1 overflow-hidden",children:e.jsx(x,{mode:"new",outboxMessageId:t,onDraftCreated:i,onClose:s})})]})]}),e.jsx(E,{isOpen:l,title:"Discard draft?",description:"Your message has unsaved content. Are you sure you want to discard it?",confirmLabel:"Discard",cancelLabel:"Keep editing",destructive:!0,onConfirm:y,onCancel:v})]})},q=()=>{const t=p(),i=h(),s=C(),a=w(),{isError:l,error:o,refetch:d}=f({...m(),staleTime:1/0});if(k({bindings:[{key:"Escape",handler:s,preventDefault:!0}]}),!a)return e.jsx(S,{});const c=e.jsxs("header",{className:"flex items-center justify-between gap-2 px-4 py-3 border-b border-line shrink-0",children:[e.jsx("div",{className:"flex items-center gap-2 min-w-0",children:e.jsx("h2",{className:"text-lg font-semibold truncate",children:b(t)})}),e.jsx("button",{type:"button",onClick:s,className:"p-2 rounded-md hover:bg-surface-raised transition-colors min-h-11 min-w-11 inline-flex items-center justify-center","aria-label":"Close",children:e.jsx(N,{className:"size-5"})})]});return l?e.jsxs("div",{className:"h-full flex flex-col bg-canvas",children:[c,e.jsx("div",{className:"flex-1 flex items-center justify-center p-4",children:e.jsx(u,{title:"Couldn't load compose",error:o,onRetry:()=>{d()}})})]}):e.jsxs("div",{className:"flex h-full min-h-0 flex-col bg-canvas",children:[c,e.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:e.jsx(x,{mode:"new",outboxMessageId:t,onDraftCreated:i,onClose:s})})]})};export{q as F};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a4 as bs,cb as hr,r as l,c as ie,j as a,C as mt,d as Dn,B as H,X as Ft,at as Te,cc as Fn,b as z,a as Ye,S as We,aT as gr,cd as br,ag as Ot,T as zt,ce as On,a_ as xs,cf as xr,cg as zn,an as vr,af as _n,e as yr,ch as kr,as as Un,ci as jr,cj as wr,ck as Cr,cl as Sr,cm as Nr,cn as Tr,co as Er,cp as Mr,bO as Ir,s as te,cq as _t,Q as xt,q as vt,z as Kn,bf as Bn,cr as Qn,n as ae,a5 as ke,a7 as de,J as Xe,bn as Me,cs as Ut,c2 as Rr,ct as Ie,cu as Ar,cv as $r,cw as Lr,cx as Pr,cy as Dr,bN as Fr,cz as Or,p as zr,aU as _r,m as qn,aF as Ur,aG as Kr,bV as Br,k as Qr,bU as qr,cA as Hr,cB as Gr,cC as Hn,b6 as vs,bs as Vr,bj as Qs,cD as Wr,cE as Yr,b5 as Xr,L as Jr,W as Zr,D as eo,bg as qs,aY as to,cF as so,cG as no,a8 as Hs,be as ao,cH as ro,cI as oo,l as ys,cJ as io,cK as lo,cL as Gs,cM as co,cN as uo,cO as fo,cP as ks,i as mo,cQ as po,bW as ho,cR as go,cS as Vs,g as bo,bX as xo}from"./index-C9i5OfhV.js";import{B as vo,l as yo,m as ko,S as Gn,c as js,f as jo,D as wo,b as It,a as Co,t as ct,g as So,n as No,o as To,e as Eo,u as Mo,i as Io}from"./search-token-index-YGgnojDD.js";import{K as Ro}from"./kbd-vNhDhAUR.js";import{P as Vn,f as Ao,U as $o,E as Lo,s as Po}from"./attachment-file-y4iZ21Zc.js";import{M as Do}from"./mail-ETFbEgnC.js";import{A as pt}from"./avatar-Bl5_oOJ-.js";import{M as Fo,c as Oo,d as Wn,e as zo,f as Yn,g as Xn,a as _o,b as Uo,S as Ws,s as Jn,u as Zn,p as Ko,r as Bo}from"./useSearchTokenContext-CxGEeT3h.js";import{t as Qo,v as qo,n as Ho,w as Go,x as Vo,o as Wo,N as ea,d as Yo}from"./useMessageBodyContent-CIcMKHzP.js";import{C as Xo,D as qe,u as Jo}from"./index-DEybIGVM.js";import{E as _e}from"./ErrorState-AETJQBbV.js";import{u as ws}from"./useMediaQuery-BdhCoYgH.js";import{e as ta,b as Je,a as Zo,c as Ue,g as ei}from"./format-HasNd5qT.js";import{P as Ys,C as ti,D as Xs,M as ye}from"./enums-CCxx0t2v.js";import{D as si}from"./download-2Z4bQBFk.js";import{S as ni}from"./shield-check-CvD77Xt8.js";import{u as sa}from"./useDebouncedValue-Jj3bfY1m.js";import{a as na,u as aa,b as ra,f as oa}from"./move-options-CK03coFD.js";import{h as Js,u as ai,a as ri,i as oi,n as ii,o as li,j as ci,k as ui,S as di}from"./useFilters-CsixOh7T.js";import{C as fi}from"./confirm-dialog-T-zfY3PP.js";import{C as mi}from"./clock-CxK1EJjs.js";import{r as pi,b as hi}from"./search-scope-CrG0kWXC.js";import{M as gi}from"./menu-Dp0U03sh.js";function ht(e){if(bi())e.focus({preventScroll:!0});else{let t=xi(e);e.focus(),vi(t)}}let Rt=null;function bi(){if(Rt==null){Rt=!1;try{document.createElement("div").focus({get preventScroll(){return Rt=!0,!0}})}catch{}}return Rt}function xi(e){let t=e.parentNode,s=[],n=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==n;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&s.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return n instanceof HTMLElement&&s.push({element:n,scrollTop:n.scrollTop,scrollLeft:n.scrollLeft}),s}function vi(e){for(let{element:t,scrollTop:s,scrollLeft:n}of e)t.scrollTop=s,t.scrollLeft=n}const Ne=e=>e?.ownerDocument??document,Ee=e=>e&&"window"in e&&e.window===e?e:Ne(e).defaultView||window;function yi(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function ki(e){return yi(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}let ji=!1;function ia(){return ji}function pe(e,t){if(!ia())return t&&e?e.contains(t):!1;if(!e||!t)return!1;let s=t;for(;s!==null;){if(s===e)return!0;s.tagName==="SLOT"&&s.assignedSlot?s=s.assignedSlot.parentNode:ki(s)?s=s.host:s=s.parentNode}return!1}function ee(e){if(ia()&&e.target instanceof Element&&e.target.shadowRoot){if("composedPath"in e)return e.composedPath()[0]??null;if("composedPath"in e.nativeEvent)return e.nativeEvent.composedPath()[0]??null}return e.target}const wi=typeof Element<"u"&&"checkVisibility"in Element.prototype;function Ci(e){const t=Ee(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:s,visibility:n}=e.style,r=s!=="none"&&n!=="hidden"&&n!=="collapse";if(r){const{getComputedStyle:o}=Ee(e);let{display:i,visibility:c}=o(e);r=i!=="none"&&c!=="hidden"&&c!=="collapse"}return r}function Si(e,t){return!e.hasAttribute("hidden")&&!e.hasAttribute("data-react-aria-prevent-focus")&&(e.nodeName==="DETAILS"&&t&&t.nodeName!=="SUMMARY"?e.hasAttribute("open"):!0)}function la(e,t){return wi?e.checkVisibility({visibilityProperty:!0})&&!e.closest("[data-react-aria-prevent-focus]"):e.nodeName!=="#comment"&&Ci(e)&&Si(e,t)&&(!e.parentElement||la(e.parentElement,e))}const ca=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable^="false"])',"permission"],Ni=ca.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";ca.push('[tabindex]:not([tabindex="-1"]):not([disabled])');function Ti(e,t){return e.matches(Ni)&&!Ei(e)&&(t?.skipVisibilityCheck||la(e))}function Ei(e){let t=e;for(;t!=null;){if(t instanceof Ee(t).HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}const Cs=typeof document<"u"?bs.useLayoutEffect:()=>{};function Mi(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function Ii(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function Ri(e){for(;e&&!Ti(e,{skipVisibilityCheck:!0});)e=e.parentElement;let t=Ee(e),s=t.document.activeElement;if(!s||s===e)return;let n=!1,r=h=>{(ee(h)===s||n)&&h.stopImmediatePropagation()},o=h=>{(ee(h)===s||n)&&(h.stopImmediatePropagation(),!e&&!n&&(n=!0,ht(s),u()))},i=h=>{(ee(h)===e||n)&&h.stopImmediatePropagation()},c=h=>{(ee(h)===e||n)&&(h.stopImmediatePropagation(),n||(n=!0,ht(s),u()))};t.addEventListener("blur",r,!0),t.addEventListener("focusout",o,!0),t.addEventListener("focusin",c,!0),t.addEventListener("focus",i,!0);let u=()=>{cancelAnimationFrame(v),t.removeEventListener("blur",r,!0),t.removeEventListener("focusout",o,!0),t.removeEventListener("focusin",c,!0),t.removeEventListener("focus",i,!0),n=!1},v=requestAnimationFrame(u);return u}function Kt(e){if(typeof window>"u"||window.navigator==null)return!1;let t=window.navigator.userAgentData?.brands;return Array.isArray(t)&&t.some(s=>e.test(s.brand))||e.test(window.navigator.userAgent)}function Ss(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.userAgentData?.platform||window.navigator.platform):!1}function Re(e){let t=null;return()=>(t==null&&(t=e()),t)}const Lt=Re(function(){return Ss(/^Mac/i)}),Ai=Re(function(){return Ss(/^iPhone/i)}),ua=Re(function(){return Ss(/^iPad/i)||Lt()&&navigator.maxTouchPoints>1}),da=Re(function(){return Ai()||ua()}),$i=Re(function(){return Kt(/AppleWebKit/i)&&!Li()}),Li=Re(function(){return Kt(/Chrome/i)}),fa=Re(function(){return Kt(/Android/i)}),Pi=Re(function(){return Kt(/Firefox/i)});function Di(e){return e.pointerType===""&&e.isTrusted?!0:fa()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function Fi(e){return!fa()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}function gt(e,t,s=!0){let{metaKey:n,ctrlKey:r,altKey:o,shiftKey:i}=t;Pi()&&window.event?.type?.startsWith("key")&&e.target==="_blank"&&(Lt()?n=!0:r=!0);let c=$i()&&Lt()&&!ua()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:n,ctrlKey:r,altKey:o,shiftKey:i}):new MouseEvent("click",{metaKey:n,ctrlKey:r,altKey:o,shiftKey:i,detail:1,bubbles:!0,cancelable:!0});gt.isOpening=s,ht(e),e.dispatchEvent(c),gt.isOpening=!1}gt.isOpening=!1;let Se=new Map,is=new Set;function Zs(){if(typeof window>"u")return;function e(n){return"propertyName"in n}let t=n=>{let r=ee(n);if(!e(n)||!r)return;let o=Se.get(r);o||(o=new Set,Se.set(r,o),r.addEventListener("transitioncancel",s,{once:!0})),o.add(n.propertyName)},s=n=>{let r=ee(n);if(!e(n)||!r)return;let o=Se.get(r);if(o&&(o.delete(n.propertyName),o.size===0&&(r.removeEventListener("transitioncancel",s),Se.delete(r)),Se.size===0)){for(let i of is)i();is.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",s)}typeof document<"u"&&(document.readyState!=="loading"?Zs():document.addEventListener("DOMContentLoaded",Zs));function Oi(){for(const[e]of Se)"isConnected"in e&&!e.isConnected&&Se.delete(e)}function zi(e){requestAnimationFrame(()=>{Oi(),Se.size===0?e():is.add(e)})}function ma(...e){return(...t)=>{for(let s of e)typeof s=="function"&&s(...t)}}let ls=new Map;typeof FinalizationRegistry<"u"&&new FinalizationRegistry(e=>{ls.delete(e)});function _i(e,t){if(e===t)return e;let s=ls.get(e);if(s)return s.forEach(r=>r.current=t),t;let n=ls.get(t);return n?(n.forEach(r=>r.current=e),e):t}function Ui(...e){return e.length===1&&e[0]?e[0]:t=>{let s=!1;const n=e.map(r=>{const o=en(r,t);return s||=typeof o=="function",o});if(s)return()=>{n.forEach((r,o)=>{typeof r=="function"?r():en(e[o],null)})}}}function en(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function yt(...e){let t={...e[0]};for(let s=1;s<e.length;s++){let n=e[s];for(let r in n){let o=t[r],i=n[r];typeof o=="function"&&typeof i=="function"&&r[0]==="o"&&r[1]==="n"&&r.charCodeAt(2)>=65&&r.charCodeAt(2)<=90?t[r]=ma(o,i):(r==="className"||r==="UNSAFE_className")&&typeof o=="string"&&typeof i=="string"?t[r]=hr(o,i):r==="id"&&o&&i?t.id=_i(o,i):r==="ref"&&o&&i?t.ref=Ui(o,i):t[r]=i!==void 0?i:o}}return t}function Ki(e,t){Cs(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}const Bi=bs.useInsertionEffect??Cs;function Jt(e){const t=l.useRef(null);return Bi(()=>{t.current=e},[e]),l.useCallback((...s)=>{const n=t.current;return n?.(...s)},[])}let Ge="default",cs="",$t=new WeakMap;function Qi(e){if(da()){if(Ge==="default"){const t=Ne(e);cs=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}Ge="disabled"}else if(e instanceof HTMLElement||e instanceof SVGElement){let t="userSelect"in e.style?"userSelect":"webkitUserSelect";$t.set(e,e.style[t]),e.style[t]="none"}}function tn(e){if(da()){if(Ge!=="disabled")return;Ge="restoring",setTimeout(()=>{zi(()=>{if(Ge==="restoring"){const t=Ne(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=cs||""),cs="",Ge="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&$t.has(e)){let t=$t.get(e),s="userSelect"in e.style?"userSelect":"webkitUserSelect";e.style[s]==="none"&&(e.style[s]=t),e.getAttribute("style")===""&&e.removeAttribute("style"),$t.delete(e)}}function sn(e){return e?.defaultView?.__webpack_nonce__||globalThis.__webpack_nonce__||void 0}let Zt=new WeakMap;function qi(e){let t=e??(typeof document<"u"?document:void 0);if(!t)return sn(t);if(Zt.has(t))return Zt.get(t);let s=t.querySelector('meta[property="csp-nonce"]'),n=s&&s instanceof Ee(s).HTMLMetaElement&&(s.nonce||s.content)||sn(t)||void 0;return n!==void 0&&Zt.set(t,n),n}const pa=bs.createContext({register:()=>{}});pa.displayName="PressResponderContext";function ha(){let e=l.useRef(new Map),t=l.useCallback((r,o,i,c)=>{let u=c?.once?(...v)=>{e.current.delete(i),i(...v)}:i;e.current.set(i,{type:o,eventTarget:r,fn:u,options:c}),r.addEventListener(o,u,c)},[]),s=l.useCallback((r,o,i,c)=>{let u=e.current.get(i)?.fn||i;r.removeEventListener(o,u,c),e.current.delete(i)},[]),n=l.useCallback(()=>{e.current.forEach((r,o)=>{s(r.eventTarget,r.type,o,r.options)})},[s]);return l.useEffect(()=>n,[n]),{addGlobalListener:t,removeGlobalListener:s,removeAllGlobalListeners:n}}function Hi(e){let t=l.useContext(pa);if(t){let{register:s,ref:n,...r}=t;e=yt(r,e),s()}return Ki(t,e.ref),e}class At{#e;constructor(t,s,n,r){this.#e=!0;const i=(r?.target??n.currentTarget)?.getBoundingClientRect();let c,u=0,v,h=null;n.clientX!=null&&n.clientY!=null&&(v=n.clientX,h=n.clientY),i&&(v!=null&&h!=null?(c=v-i.left,u=h-i.top):(c=i.width/2,u=i.height/2)),this.type=t,this.pointerType=s,this.target=n.currentTarget,this.shiftKey=n.shiftKey,this.metaKey=n.metaKey,this.ctrlKey=n.ctrlKey,this.altKey=n.altKey,this.x=c,this.y=u,this.key=n.key}continuePropagation(){this.#e=!1}get shouldStopPropagation(){return this.#e}}const nn=Symbol("linkClicked"),an="react-aria-pressable-style",rn="data-react-aria-pressable";function Gi(e){let{onPress:t,onPressChange:s,onPressStart:n,onPressEnd:r,onPressUp:o,onClick:i,isDisabled:c,isPressed:u,preventFocusOnPress:v,shouldCancelOnPointerExit:h,allowTextSelectionOnPress:p,ref:f,...g}=Hi(e),[b,d]=l.useState(!1),m=l.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null,disposables:[]}),{addGlobalListener:x,removeAllGlobalListeners:C}=ha(),y=l.useCallback((k,I)=>{let A=m.current;if(c||A.didFirePressStart)return!1;let S=!0;if(A.isTriggeringEvent=!0,n){let E=new At("pressstart",I,k);n(E),S=E.shouldStopPropagation}return s&&s(!0),A.isTriggeringEvent=!1,A.didFirePressStart=!0,d(!0),S},[c,n,s]),j=l.useCallback((k,I,A=!0)=>{let S=m.current;if(!S.didFirePressStart)return!1;S.didFirePressStart=!1,S.isTriggeringEvent=!0;let E=!0;if(r){let w=new At("pressend",I,k);r(w),E=w.shouldStopPropagation}if(s&&s(!1),d(!1),t&&A&&!c){let w=new At("press",I,k);t(w),E&&=w.shouldStopPropagation}return S.isTriggeringEvent=!1,E},[c,r,s,t]),T=Jt(j),M=l.useCallback((k,I)=>{let A=m.current;if(c)return!1;if(o){A.isTriggeringEvent=!0;let S=new At("pressup",I,k);return o(S),A.isTriggeringEvent=!1,S.shouldStopPropagation}return!0},[c,o]),P=Jt(M),R=l.useCallback(k=>{let I=m.current;if(I.isPressed&&I.target){I.didFirePressStart&&I.pointerType!=null&&j(Oe(I.target,k),I.pointerType,!1),I.isPressed=!1,I.isOverTarget=!1,I.activePointerId=null,I.pointerType=null,C(),p||tn(I.target);for(let A of I.disposables)A();I.disposables=[]}},[p,C,j]),D=Jt(R);l.useEffect(()=>{c&&m.current.isPressed&&D({currentTarget:m.current.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})},[c]);let F=l.useCallback(k=>{h&&R(k)},[h,R]),_=l.useCallback(k=>{c||i?.(k)},[c,i]),L=l.useCallback((k,I)=>{if(!c&&i){let A=new MouseEvent("click",k);Ii(A,I),i(Mi(A))}},[c,i]),K=l.useMemo(()=>{let k=m.current,I={onKeyDown(S){if(es(S.nativeEvent,S.currentTarget)&&pe(S.currentTarget,ee(S))){on(ee(S),S.key)&&S.preventDefault();let E=!0;!k.isPressed&&!S.repeat&&(k.target=S.currentTarget,k.isPressed=!0,k.pointerType="keyboard",E=y(S,"keyboard"));let w=S.currentTarget,O=U=>{es(U,w)&&!U.repeat&&pe(w,ee(U))&&k.target&&P(Oe(k.target,U),"keyboard")};x(Ne(S.currentTarget),"keyup",ma(O,A),!0),E&&S.stopPropagation(),S.metaKey&&Lt()&&k.metaKeyEvents?.set(S.key,S.nativeEvent)}else S.key==="Meta"&&(k.metaKeyEvents=new Map)},onClick(S){if(!(S&&!pe(S.currentTarget,ee(S)))&&S&&S.button===0&&!k.isTriggeringEvent&&!gt.isOpening){let E=!0;if(c&&S.preventDefault(),!k.ignoreEmulatedMouseEvents&&!k.isPressed&&(k.pointerType==="virtual"||Di(S.nativeEvent))){let w=y(S,"virtual"),O=P(S,"virtual"),U=T(S,"virtual");_(S),E=w&&O&&U}else if(k.isPressed&&k.pointerType!=="keyboard"){let w=k.pointerType||S.nativeEvent.pointerType||"virtual",O=P(Oe(S.currentTarget,S),w),U=T(Oe(S.currentTarget,S),w,!0);E=O&&U,k.isOverTarget=!1,_(S),D(S)}k.ignoreEmulatedMouseEvents=!1,E&&S.stopPropagation()}}},A=S=>{if(k.isPressed&&k.target&&es(S,k.target)){on(ee(S),S.key)&&S.preventDefault();let E=ee(S),w=pe(k.target,E);T(Oe(k.target,S),"keyboard",w),w&&L(S,k.target),C(),S.key!=="Enter"&&Ns(k.target)&&pe(k.target,E)&&!S[nn]&&(S[nn]=!0,gt(k.target,S,!1)),k.isPressed=!1,k.metaKeyEvents?.delete(S.key)}else if(S.key==="Meta"&&k.metaKeyEvents?.size){let E=k.metaKeyEvents;k.metaKeyEvents=void 0;for(let w of E.values())k.target?.dispatchEvent(new KeyboardEvent("keyup",w))}};if(typeof PointerEvent<"u"){I.onPointerDown=w=>{if(w.button!==0||!pe(w.currentTarget,ee(w)))return;if(Fi(w.nativeEvent)){k.pointerType="virtual";return}k.pointerType=w.pointerType;let O=!0;if(!k.isPressed){k.isPressed=!0,k.isOverTarget=!0,k.activePointerId=w.pointerId,k.target=w.currentTarget,p||Qi(k.target),O=y(w,k.pointerType);let U=ee(w);"releasePointerCapture"in U&&("hasPointerCapture"in U?U.hasPointerCapture(w.pointerId)&&U.releasePointerCapture(w.pointerId):U.releasePointerCapture(w.pointerId)),x(Ne(w.currentTarget),"pointerup",S,!1),x(Ne(w.currentTarget),"pointercancel",E,!1)}O&&w.stopPropagation()},I.onMouseDown=w=>{if(pe(w.currentTarget,ee(w))&&w.button===0){if(v){let O=Ri(w.target);O&&k.disposables.push(O)}w.stopPropagation()}},I.onPointerUp=w=>{!pe(w.currentTarget,ee(w))||k.pointerType==="virtual"||w.button===0&&!k.isPressed&&P(w,k.pointerType||w.pointerType)},I.onPointerEnter=w=>{w.pointerId===k.activePointerId&&k.target&&!k.isOverTarget&&k.pointerType!=null&&(k.isOverTarget=!0,y(Oe(k.target,w),k.pointerType))},I.onPointerLeave=w=>{w.pointerId===k.activePointerId&&k.target&&k.isOverTarget&&k.pointerType!=null&&(k.isOverTarget=!1,T(Oe(k.target,w),k.pointerType,!1),F(w))};let S=w=>{if(w.pointerId===k.activePointerId&&k.isPressed&&w.button===0&&k.target){if(pe(k.target,ee(w))&&k.pointerType!=null){let O=!1,U=setTimeout(()=>{k.isPressed&&k.target instanceof HTMLElement&&(O?D(w):(ht(k.target),k.target.click()))},80);x(w.currentTarget,"click",()=>O=!0,!0),k.disposables.push(()=>clearTimeout(U))}else D(w);k.isOverTarget=!1}},E=w=>{D(w)};I.onDragStart=w=>{pe(w.currentTarget,ee(w))&&D(w)}}return I},[x,c,v,C,p,F,y,_,L]);return l.useEffect(()=>{if(!f)return;const k=Ne(f.current);if(!k||!k.head||k.getElementById(an))return;const I=k.createElement("style");I.id=an;let A=qi(k);A&&(I.nonce=A),I.textContent=`
|
|
1
|
+
import{a4 as bs,ca as hr,r as l,c as ie,j as a,C as mt,d as Dn,B as H,X as Ft,at as Te,cb as Fn,b as z,a as Ye,S as We,aT as gr,cc as br,ag as Ot,T as zt,cd as On,a_ as xs,ce as xr,cf as zn,an as vr,af as _n,e as yr,cg as kr,as as Un,ch as jr,ci as wr,cj as Cr,ck as Sr,cl as Nr,cm as Tr,cn as Er,co as Mr,G as Ir,s as te,cp as _t,Q as xt,q as vt,z as Kn,bf as Bn,cq as Qn,n as ae,a5 as ke,a7 as de,K as Xe,bn as Me,cr as Ut,c1 as Rr,cs as Ie,ct as Ar,cu as $r,cv as Lr,cw as Pr,cx as Dr,bN as Fr,cy as Or,p as zr,aU as _r,m as qn,aF as Ur,aG as Kr,bU as Br,k as Qr,bT as qr,cz as Hr,cA as Gr,cB as Hn,b6 as vs,bs as Vr,bj as Qs,cC as Wr,cD as Yr,b5 as Xr,N as Jr,W as Zr,D as eo,bg as qs,aY as to,cE as so,cF as no,a8 as Hs,be as ao,cG as ro,cH as oo,l as ys,cI as io,cJ as lo,cK as Gs,cL as co,cM as uo,cN as fo,cO as ks,i as mo,cP as po,bV as ho,cQ as go,cR as Vs,g as bo,bW as xo}from"./index-BBlkR2lm.js";import{B as vo,l as yo,m as ko,S as Gn,c as js,f as jo,D as wo,b as It,a as Co,t as ct,g as So,n as No,o as To,e as Eo,u as Mo,i as Io}from"./search-token-index-jGvf0dJ0.js";import{K as Ro}from"./kbd-SiNO_Aua.js";import{P as Vn,f as Ao,U as $o,E as Lo,s as Po}from"./attachment-file-BsIFxUnS.js";import{M as Do}from"./mail-BsugoFoQ.js";import{A as pt}from"./avatar-BosRyUDx.js";import{M as Fo,c as Oo,d as Wn,e as zo,f as Yn,g as Xn,a as _o,b as Uo,S as Ws,s as Jn,u as Zn,p as Ko,r as Bo}from"./useSearchTokenContext-DqJZZd-6.js";import{v as Qo,w as qo,o as Ho,x as Go,y as Vo,p as Wo,N as ea,b as Yo}from"./useMessageBodyContent-1l9msTY_.js";import{C as Xo,D as qe,u as Jo}from"./index-DpWfLpb7.js";import{E as _e}from"./ErrorState-C1M66eLl.js";import{u as ws}from"./useMediaQuery-fCnkE4fe.js";import{e as ta,b as Je,a as Zo,c as Ue,g as ei}from"./format-HasNd5qT.js";import{P as Ys,C as ti,D as Xs,M as ye}from"./enums-CCxx0t2v.js";import{D as si}from"./download-DJvO67nu.js";import{S as ni}from"./shield-check-D3e9FJOA.js";import{u as sa}from"./useDebouncedValue-Bvs_pdKk.js";import{a as na,u as aa,b as ra,f as oa}from"./move-options-BOLumMSr.js";import{h as Js,u as ai,a as ri,i as oi,n as ii,o as li,j as ci,k as ui,S as di}from"./useFilters-BDf4e7fG.js";import{C as fi}from"./confirm-dialog-Cj58-8wR.js";import{C as mi}from"./clock-D_rv0tCB.js";import{r as pi,b as hi}from"./search-scope-BvS1pMa6.js";import{M as gi}from"./menu-BtHNv3F8.js";function ht(e){if(bi())e.focus({preventScroll:!0});else{let t=xi(e);e.focus(),vi(t)}}let Rt=null;function bi(){if(Rt==null){Rt=!1;try{document.createElement("div").focus({get preventScroll(){return Rt=!0,!0}})}catch{}}return Rt}function xi(e){let t=e.parentNode,s=[],n=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==n;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&s.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return n instanceof HTMLElement&&s.push({element:n,scrollTop:n.scrollTop,scrollLeft:n.scrollLeft}),s}function vi(e){for(let{element:t,scrollTop:s,scrollLeft:n}of e)t.scrollTop=s,t.scrollLeft=n}const Ne=e=>e?.ownerDocument??document,Ee=e=>e&&"window"in e&&e.window===e?e:Ne(e).defaultView||window;function yi(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function ki(e){return yi(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}let ji=!1;function ia(){return ji}function pe(e,t){if(!ia())return t&&e?e.contains(t):!1;if(!e||!t)return!1;let s=t;for(;s!==null;){if(s===e)return!0;s.tagName==="SLOT"&&s.assignedSlot?s=s.assignedSlot.parentNode:ki(s)?s=s.host:s=s.parentNode}return!1}function ee(e){if(ia()&&e.target instanceof Element&&e.target.shadowRoot){if("composedPath"in e)return e.composedPath()[0]??null;if("composedPath"in e.nativeEvent)return e.nativeEvent.composedPath()[0]??null}return e.target}const wi=typeof Element<"u"&&"checkVisibility"in Element.prototype;function Ci(e){const t=Ee(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:s,visibility:n}=e.style,r=s!=="none"&&n!=="hidden"&&n!=="collapse";if(r){const{getComputedStyle:o}=Ee(e);let{display:i,visibility:c}=o(e);r=i!=="none"&&c!=="hidden"&&c!=="collapse"}return r}function Si(e,t){return!e.hasAttribute("hidden")&&!e.hasAttribute("data-react-aria-prevent-focus")&&(e.nodeName==="DETAILS"&&t&&t.nodeName!=="SUMMARY"?e.hasAttribute("open"):!0)}function la(e,t){return wi?e.checkVisibility({visibilityProperty:!0})&&!e.closest("[data-react-aria-prevent-focus]"):e.nodeName!=="#comment"&&Ci(e)&&Si(e,t)&&(!e.parentElement||la(e.parentElement,e))}const ca=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable^="false"])',"permission"],Ni=ca.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";ca.push('[tabindex]:not([tabindex="-1"]):not([disabled])');function Ti(e,t){return e.matches(Ni)&&!Ei(e)&&(t?.skipVisibilityCheck||la(e))}function Ei(e){let t=e;for(;t!=null;){if(t instanceof Ee(t).HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}const Cs=typeof document<"u"?bs.useLayoutEffect:()=>{};function Mi(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function Ii(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function Ri(e){for(;e&&!Ti(e,{skipVisibilityCheck:!0});)e=e.parentElement;let t=Ee(e),s=t.document.activeElement;if(!s||s===e)return;let n=!1,r=h=>{(ee(h)===s||n)&&h.stopImmediatePropagation()},o=h=>{(ee(h)===s||n)&&(h.stopImmediatePropagation(),!e&&!n&&(n=!0,ht(s),u()))},i=h=>{(ee(h)===e||n)&&h.stopImmediatePropagation()},c=h=>{(ee(h)===e||n)&&(h.stopImmediatePropagation(),n||(n=!0,ht(s),u()))};t.addEventListener("blur",r,!0),t.addEventListener("focusout",o,!0),t.addEventListener("focusin",c,!0),t.addEventListener("focus",i,!0);let u=()=>{cancelAnimationFrame(v),t.removeEventListener("blur",r,!0),t.removeEventListener("focusout",o,!0),t.removeEventListener("focusin",c,!0),t.removeEventListener("focus",i,!0),n=!1},v=requestAnimationFrame(u);return u}function Kt(e){if(typeof window>"u"||window.navigator==null)return!1;let t=window.navigator.userAgentData?.brands;return Array.isArray(t)&&t.some(s=>e.test(s.brand))||e.test(window.navigator.userAgent)}function Ss(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.userAgentData?.platform||window.navigator.platform):!1}function Re(e){let t=null;return()=>(t==null&&(t=e()),t)}const Lt=Re(function(){return Ss(/^Mac/i)}),Ai=Re(function(){return Ss(/^iPhone/i)}),ua=Re(function(){return Ss(/^iPad/i)||Lt()&&navigator.maxTouchPoints>1}),da=Re(function(){return Ai()||ua()}),$i=Re(function(){return Kt(/AppleWebKit/i)&&!Li()}),Li=Re(function(){return Kt(/Chrome/i)}),fa=Re(function(){return Kt(/Android/i)}),Pi=Re(function(){return Kt(/Firefox/i)});function Di(e){return e.pointerType===""&&e.isTrusted?!0:fa()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function Fi(e){return!fa()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}function gt(e,t,s=!0){let{metaKey:n,ctrlKey:r,altKey:o,shiftKey:i}=t;Pi()&&window.event?.type?.startsWith("key")&&e.target==="_blank"&&(Lt()?n=!0:r=!0);let c=$i()&&Lt()&&!ua()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:n,ctrlKey:r,altKey:o,shiftKey:i}):new MouseEvent("click",{metaKey:n,ctrlKey:r,altKey:o,shiftKey:i,detail:1,bubbles:!0,cancelable:!0});gt.isOpening=s,ht(e),e.dispatchEvent(c),gt.isOpening=!1}gt.isOpening=!1;let Se=new Map,is=new Set;function Zs(){if(typeof window>"u")return;function e(n){return"propertyName"in n}let t=n=>{let r=ee(n);if(!e(n)||!r)return;let o=Se.get(r);o||(o=new Set,Se.set(r,o),r.addEventListener("transitioncancel",s,{once:!0})),o.add(n.propertyName)},s=n=>{let r=ee(n);if(!e(n)||!r)return;let o=Se.get(r);if(o&&(o.delete(n.propertyName),o.size===0&&(r.removeEventListener("transitioncancel",s),Se.delete(r)),Se.size===0)){for(let i of is)i();is.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",s)}typeof document<"u"&&(document.readyState!=="loading"?Zs():document.addEventListener("DOMContentLoaded",Zs));function Oi(){for(const[e]of Se)"isConnected"in e&&!e.isConnected&&Se.delete(e)}function zi(e){requestAnimationFrame(()=>{Oi(),Se.size===0?e():is.add(e)})}function ma(...e){return(...t)=>{for(let s of e)typeof s=="function"&&s(...t)}}let ls=new Map;typeof FinalizationRegistry<"u"&&new FinalizationRegistry(e=>{ls.delete(e)});function _i(e,t){if(e===t)return e;let s=ls.get(e);if(s)return s.forEach(r=>r.current=t),t;let n=ls.get(t);return n?(n.forEach(r=>r.current=e),e):t}function Ui(...e){return e.length===1&&e[0]?e[0]:t=>{let s=!1;const n=e.map(r=>{const o=en(r,t);return s||=typeof o=="function",o});if(s)return()=>{n.forEach((r,o)=>{typeof r=="function"?r():en(e[o],null)})}}}function en(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function yt(...e){let t={...e[0]};for(let s=1;s<e.length;s++){let n=e[s];for(let r in n){let o=t[r],i=n[r];typeof o=="function"&&typeof i=="function"&&r[0]==="o"&&r[1]==="n"&&r.charCodeAt(2)>=65&&r.charCodeAt(2)<=90?t[r]=ma(o,i):(r==="className"||r==="UNSAFE_className")&&typeof o=="string"&&typeof i=="string"?t[r]=hr(o,i):r==="id"&&o&&i?t.id=_i(o,i):r==="ref"&&o&&i?t.ref=Ui(o,i):t[r]=i!==void 0?i:o}}return t}function Ki(e,t){Cs(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}const Bi=bs.useInsertionEffect??Cs;function Jt(e){const t=l.useRef(null);return Bi(()=>{t.current=e},[e]),l.useCallback((...s)=>{const n=t.current;return n?.(...s)},[])}let Ge="default",cs="",$t=new WeakMap;function Qi(e){if(da()){if(Ge==="default"){const t=Ne(e);cs=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}Ge="disabled"}else if(e instanceof HTMLElement||e instanceof SVGElement){let t="userSelect"in e.style?"userSelect":"webkitUserSelect";$t.set(e,e.style[t]),e.style[t]="none"}}function tn(e){if(da()){if(Ge!=="disabled")return;Ge="restoring",setTimeout(()=>{zi(()=>{if(Ge==="restoring"){const t=Ne(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=cs||""),cs="",Ge="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&$t.has(e)){let t=$t.get(e),s="userSelect"in e.style?"userSelect":"webkitUserSelect";e.style[s]==="none"&&(e.style[s]=t),e.getAttribute("style")===""&&e.removeAttribute("style"),$t.delete(e)}}function sn(e){return e?.defaultView?.__webpack_nonce__||globalThis.__webpack_nonce__||void 0}let Zt=new WeakMap;function qi(e){let t=e??(typeof document<"u"?document:void 0);if(!t)return sn(t);if(Zt.has(t))return Zt.get(t);let s=t.querySelector('meta[property="csp-nonce"]'),n=s&&s instanceof Ee(s).HTMLMetaElement&&(s.nonce||s.content)||sn(t)||void 0;return n!==void 0&&Zt.set(t,n),n}const pa=bs.createContext({register:()=>{}});pa.displayName="PressResponderContext";function ha(){let e=l.useRef(new Map),t=l.useCallback((r,o,i,c)=>{let u=c?.once?(...v)=>{e.current.delete(i),i(...v)}:i;e.current.set(i,{type:o,eventTarget:r,fn:u,options:c}),r.addEventListener(o,u,c)},[]),s=l.useCallback((r,o,i,c)=>{let u=e.current.get(i)?.fn||i;r.removeEventListener(o,u,c),e.current.delete(i)},[]),n=l.useCallback(()=>{e.current.forEach((r,o)=>{s(r.eventTarget,r.type,o,r.options)})},[s]);return l.useEffect(()=>n,[n]),{addGlobalListener:t,removeGlobalListener:s,removeAllGlobalListeners:n}}function Hi(e){let t=l.useContext(pa);if(t){let{register:s,ref:n,...r}=t;e=yt(r,e),s()}return Ki(t,e.ref),e}class At{#e;constructor(t,s,n,r){this.#e=!0;const i=(r?.target??n.currentTarget)?.getBoundingClientRect();let c,u=0,v,h=null;n.clientX!=null&&n.clientY!=null&&(v=n.clientX,h=n.clientY),i&&(v!=null&&h!=null?(c=v-i.left,u=h-i.top):(c=i.width/2,u=i.height/2)),this.type=t,this.pointerType=s,this.target=n.currentTarget,this.shiftKey=n.shiftKey,this.metaKey=n.metaKey,this.ctrlKey=n.ctrlKey,this.altKey=n.altKey,this.x=c,this.y=u,this.key=n.key}continuePropagation(){this.#e=!1}get shouldStopPropagation(){return this.#e}}const nn=Symbol("linkClicked"),an="react-aria-pressable-style",rn="data-react-aria-pressable";function Gi(e){let{onPress:t,onPressChange:s,onPressStart:n,onPressEnd:r,onPressUp:o,onClick:i,isDisabled:c,isPressed:u,preventFocusOnPress:v,shouldCancelOnPointerExit:h,allowTextSelectionOnPress:p,ref:f,...g}=Hi(e),[b,d]=l.useState(!1),m=l.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null,disposables:[]}),{addGlobalListener:x,removeAllGlobalListeners:C}=ha(),y=l.useCallback((k,I)=>{let A=m.current;if(c||A.didFirePressStart)return!1;let S=!0;if(A.isTriggeringEvent=!0,n){let E=new At("pressstart",I,k);n(E),S=E.shouldStopPropagation}return s&&s(!0),A.isTriggeringEvent=!1,A.didFirePressStart=!0,d(!0),S},[c,n,s]),j=l.useCallback((k,I,A=!0)=>{let S=m.current;if(!S.didFirePressStart)return!1;S.didFirePressStart=!1,S.isTriggeringEvent=!0;let E=!0;if(r){let w=new At("pressend",I,k);r(w),E=w.shouldStopPropagation}if(s&&s(!1),d(!1),t&&A&&!c){let w=new At("press",I,k);t(w),E&&=w.shouldStopPropagation}return S.isTriggeringEvent=!1,E},[c,r,s,t]),T=Jt(j),M=l.useCallback((k,I)=>{let A=m.current;if(c)return!1;if(o){A.isTriggeringEvent=!0;let S=new At("pressup",I,k);return o(S),A.isTriggeringEvent=!1,S.shouldStopPropagation}return!0},[c,o]),P=Jt(M),R=l.useCallback(k=>{let I=m.current;if(I.isPressed&&I.target){I.didFirePressStart&&I.pointerType!=null&&j(Oe(I.target,k),I.pointerType,!1),I.isPressed=!1,I.isOverTarget=!1,I.activePointerId=null,I.pointerType=null,C(),p||tn(I.target);for(let A of I.disposables)A();I.disposables=[]}},[p,C,j]),D=Jt(R);l.useEffect(()=>{c&&m.current.isPressed&&D({currentTarget:m.current.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})},[c]);let F=l.useCallback(k=>{h&&R(k)},[h,R]),_=l.useCallback(k=>{c||i?.(k)},[c,i]),L=l.useCallback((k,I)=>{if(!c&&i){let A=new MouseEvent("click",k);Ii(A,I),i(Mi(A))}},[c,i]),K=l.useMemo(()=>{let k=m.current,I={onKeyDown(S){if(es(S.nativeEvent,S.currentTarget)&&pe(S.currentTarget,ee(S))){on(ee(S),S.key)&&S.preventDefault();let E=!0;!k.isPressed&&!S.repeat&&(k.target=S.currentTarget,k.isPressed=!0,k.pointerType="keyboard",E=y(S,"keyboard"));let w=S.currentTarget,O=U=>{es(U,w)&&!U.repeat&&pe(w,ee(U))&&k.target&&P(Oe(k.target,U),"keyboard")};x(Ne(S.currentTarget),"keyup",ma(O,A),!0),E&&S.stopPropagation(),S.metaKey&&Lt()&&k.metaKeyEvents?.set(S.key,S.nativeEvent)}else S.key==="Meta"&&(k.metaKeyEvents=new Map)},onClick(S){if(!(S&&!pe(S.currentTarget,ee(S)))&&S&&S.button===0&&!k.isTriggeringEvent&&!gt.isOpening){let E=!0;if(c&&S.preventDefault(),!k.ignoreEmulatedMouseEvents&&!k.isPressed&&(k.pointerType==="virtual"||Di(S.nativeEvent))){let w=y(S,"virtual"),O=P(S,"virtual"),U=T(S,"virtual");_(S),E=w&&O&&U}else if(k.isPressed&&k.pointerType!=="keyboard"){let w=k.pointerType||S.nativeEvent.pointerType||"virtual",O=P(Oe(S.currentTarget,S),w),U=T(Oe(S.currentTarget,S),w,!0);E=O&&U,k.isOverTarget=!1,_(S),D(S)}k.ignoreEmulatedMouseEvents=!1,E&&S.stopPropagation()}}},A=S=>{if(k.isPressed&&k.target&&es(S,k.target)){on(ee(S),S.key)&&S.preventDefault();let E=ee(S),w=pe(k.target,E);T(Oe(k.target,S),"keyboard",w),w&&L(S,k.target),C(),S.key!=="Enter"&&Ns(k.target)&&pe(k.target,E)&&!S[nn]&&(S[nn]=!0,gt(k.target,S,!1)),k.isPressed=!1,k.metaKeyEvents?.delete(S.key)}else if(S.key==="Meta"&&k.metaKeyEvents?.size){let E=k.metaKeyEvents;k.metaKeyEvents=void 0;for(let w of E.values())k.target?.dispatchEvent(new KeyboardEvent("keyup",w))}};if(typeof PointerEvent<"u"){I.onPointerDown=w=>{if(w.button!==0||!pe(w.currentTarget,ee(w)))return;if(Fi(w.nativeEvent)){k.pointerType="virtual";return}k.pointerType=w.pointerType;let O=!0;if(!k.isPressed){k.isPressed=!0,k.isOverTarget=!0,k.activePointerId=w.pointerId,k.target=w.currentTarget,p||Qi(k.target),O=y(w,k.pointerType);let U=ee(w);"releasePointerCapture"in U&&("hasPointerCapture"in U?U.hasPointerCapture(w.pointerId)&&U.releasePointerCapture(w.pointerId):U.releasePointerCapture(w.pointerId)),x(Ne(w.currentTarget),"pointerup",S,!1),x(Ne(w.currentTarget),"pointercancel",E,!1)}O&&w.stopPropagation()},I.onMouseDown=w=>{if(pe(w.currentTarget,ee(w))&&w.button===0){if(v){let O=Ri(w.target);O&&k.disposables.push(O)}w.stopPropagation()}},I.onPointerUp=w=>{!pe(w.currentTarget,ee(w))||k.pointerType==="virtual"||w.button===0&&!k.isPressed&&P(w,k.pointerType||w.pointerType)},I.onPointerEnter=w=>{w.pointerId===k.activePointerId&&k.target&&!k.isOverTarget&&k.pointerType!=null&&(k.isOverTarget=!0,y(Oe(k.target,w),k.pointerType))},I.onPointerLeave=w=>{w.pointerId===k.activePointerId&&k.target&&k.isOverTarget&&k.pointerType!=null&&(k.isOverTarget=!1,T(Oe(k.target,w),k.pointerType,!1),F(w))};let S=w=>{if(w.pointerId===k.activePointerId&&k.isPressed&&w.button===0&&k.target){if(pe(k.target,ee(w))&&k.pointerType!=null){let O=!1,U=setTimeout(()=>{k.isPressed&&k.target instanceof HTMLElement&&(O?D(w):(ht(k.target),k.target.click()))},80);x(w.currentTarget,"click",()=>O=!0,!0),k.disposables.push(()=>clearTimeout(U))}else D(w);k.isOverTarget=!1}},E=w=>{D(w)};I.onDragStart=w=>{pe(w.currentTarget,ee(w))&&D(w)}}return I},[x,c,v,C,p,F,y,_,L]);return l.useEffect(()=>{if(!f)return;const k=Ne(f.current);if(!k||!k.head||k.getElementById(an))return;const I=k.createElement("style");I.id=an;let A=qi(k);A&&(I.nonce=A),I.textContent=`
|
|
2
2
|
@layer {
|
|
3
3
|
[${rn}] {
|
|
4
4
|
touch-action: pan-x pan-y pinch-zoom;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e,af as re,B as A,e as ie,r as x,b as Q,ag as oe,T as ce,cT as le,u as ue,cU as U,bl as de,bD as fe,cV as me,cW as xe,cX as ge,l as he,bm as pe,cm as be}from"./index-C9i5OfhV.js";import{R as ve,l as je,p as we}from"./search-token-index-YGgnojDD.js";import{am as Ne,an as ye,c as Pe,a as q,ao as Ce,v as Re,ap as ke,aq as Se,ar as Me,af as Ee,ah as Ie}from"./MailListHeader-D1EUaGyI.js";import{A as ze}from"./avatar-Bl5_oOJ-.js";import{M as Oe}from"./mail-ETFbEgnC.js";import{M as De}from"./menu-Dp0U03sh.js";function Le(){return e.jsx("div",{className:"space-y-0",role:"status","aria-busy":"true","aria-label":"Loading messages",children:Array.from({length:8}).map((s,n)=>e.jsxs("div",{className:"animate-pulse border-b border-line px-3 py-2",children:[e.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[e.jsx("div",{className:"h-4 w-32 rounded bg-surface-sunken"}),e.jsx("div",{className:"h-3 w-16 rounded bg-surface-sunken"})]}),e.jsx("div",{className:"mb-2 h-4 w-48 rounded bg-surface-sunken"}),e.jsx("div",{className:"h-3 w-full rounded bg-surface-sunken"})]},n))})}function Te({filter:s,scopeLabel:n,searchQuery:r}){const f=r?.trim();return s?e.jsxs(G,{children:[e.jsx("p",{className:"font-medium text-fg",children:$e(s.label,n,f)}),e.jsx("p",{className:"mt-1 text-sm text-fg-muted",children:_e[s.reach]}),e.jsx(A,{variant:"secondary",size:"sm",className:"mt-4",onClick:s.onClear,children:"Clear filter"})]}):e.jsx(G,{children:e.jsx("p",{className:"text-fg-muted",children:Ae(f,n)})})}const _e={"whole-folder":"Every message in this folder was checked.","loaded-pages":"Only the messages loaded so far were checked."};function Ae(s,n){return s?"No messages match your search":n?`No messages in ${n}`:"No messages in this mailbox"}function $e(s,n,r){return r?`No results for “${r}” in ${s}`:n?`No ${s} mail in ${n}`:`No ${s} mail`}function G({children:s}){return e.jsx("div",{className:"flex h-full flex-1 items-center justify-center",children:e.jsx("div",{className:"flex max-w-sm flex-col items-center justify-center p-8 text-center",children:s})})}function Ze(){return e.jsxs("div",{className:"flex items-center justify-center gap-2 py-4 text-sm text-fg-muted",role:"status","aria-live":"polite",children:[e.jsx(re,{className:"size-4 animate-spin","aria-hidden":"true"}),e.jsx("span",{children:"Loading more…"})]})}function Fe({message:s="Something went wrong loading this mailbox.",onRetry:n,onReport:r}){return e.jsx("div",{className:"flex h-full flex-1 items-center justify-center p-4",children:e.jsxs("div",{role:"alert",className:"flex max-w-sm flex-col items-center justify-center gap-3 text-center",children:[e.jsx(ie,{className:"size-8 text-danger","aria-hidden":"true"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-danger",children:"Couldn't load messages"}),e.jsx("p",{className:"mt-1 break-words text-sm text-fg-muted",children:s})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[n&&e.jsx(A,{variant:"secondary",size:"sm",onClick:n,children:"Retry"}),r&&e.jsx(A,{variant:"ghost",size:"sm",onClick:r,children:"Report a problem"})]})]})})}const z=72,V=10,Xe=z/2,J="__swipeableRowAxisCancel";function Z(s){return s==="leading"?z:s==="trailing"?-z:0}function He(s){return s>=z/2?"leading":s<=-z/2?"trailing":"none"}function Be({thread:s,selectionMode:n,checked:r,active:f,peek:m,onPeek:g,onToggleCheck:y,onLongPress:j,onOpen:h,onAct:p}){const d=x.useRef(null),[b,v]=x.useState(null),{longPressProps:P}=Ne({onLongPress:j,isDisabled:n,accessibilityDescription:"Select message"}),k=i=>{const o=new PointerEvent("pointercancel",{bubbles:!0});o[J]=!0,i.currentTarget.dispatchEvent(o)},a=ye(P,{onPointerDown:i=>{d.current={startX:i.clientX,startY:i.clientY,axis:"none",escaped:!1}},onPointerMove:i=>{if(n)return;const o=d.current;if(!o)return;const u=i.clientX-o.startX,M=i.clientY-o.startY;if(o.axis==="none"&&(Math.abs(M)>V&&Math.abs(M)>Math.abs(u)?o.axis="vertical":Math.abs(u)>V&&Math.abs(u)>Math.abs(M)&&(o.axis="horizontal",i.currentTarget.setPointerCapture(i.pointerId))),o.axis==="none")return;const O=o.axis==="horizontal"?Math.abs(u):Math.abs(M);if(!o.escaped&&O>Xe&&(o.escaped=!0,k(i)),o.axis!=="horizontal")return;const F=Z(m),X=Math.max(-z,Math.min(z,F+u));v(X)},onPointerUp:i=>{const o=d.current;d.current=null;const u=b;if(v(null),!!o){if(o.axis!=="none"&&!o.escaped&&k(i),o.axis==="horizontal"){u!==null&&g(He(u));return}if(o.axis!=="vertical"){if(n){y();return}if(m!=="none"){g("none");return}h()}}},onPointerCancel:i=>{i.nativeEvent[J]||(d.current=null,v(null))}}),l=b??Z(m),N=l>0?"leading":l<0?"trailing":"none",C=Q("relative touch-pan-y bg-surface","select-none",Pe({active:r||f})),L={transform:l!==0?`translateX(${l}px)`:void 0,transition:b===null?"transform 150ms ease":"none",minHeight:44},$=!s.isRead,I=i=>i.stopPropagation(),T=n?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:Q("inline-flex size-7 shrink-0 items-center justify-center rounded-full border",r?"border-accent bg-accent text-accent-fg":"border-line-strong bg-canvas"),children:r&&e.jsx(oe,{className:"size-3.5"})}),e.jsx(q,{thread:s})]}):e.jsxs(e.Fragment,{children:[$&&e.jsx("span",{className:"absolute left-1.5 top-1/2 size-1.5 -translate-y-1/2 rounded-full bg-accent"}),e.jsx("span",{role:"checkbox",tabIndex:0,"aria-checked":r,"aria-label":`Select message from ${s.fromName}`,onPointerDown:I,onPointerMove:I,onPointerUp:I,onClick:i=>{i.preventDefault(),i.stopPropagation(),j()},onKeyDown:i=>{i.key!=="Enter"&&i.key!==" "||(i.preventDefault(),i.stopPropagation(),j())},className:"-m-2 inline-flex size-11 shrink-0 items-center justify-center rounded-full",children:e.jsx(ze,{name:s.fromName,email:s.fromEmail,size:"sm"})}),e.jsx(q,{thread:s})]});return e.jsxs("div",{className:"relative overflow-hidden",children:[N==="leading"&&e.jsx("button",{type:"button",onClick:()=>p("leading"),"aria-label":s.isRead?"Mark as unread":"Mark as read",className:"absolute inset-y-0 left-0 flex items-center justify-start bg-accent-2 px-6 text-accent-fg",children:s.isRead?e.jsx(Oe,{className:"size-6"}):e.jsx(Ce,{className:"size-6"})}),N==="trailing"&&e.jsx("button",{type:"button",onClick:()=>p("trailing"),"aria-label":"Delete message",className:"absolute inset-y-0 right-0 flex items-center justify-end bg-danger px-6 text-canvas",children:e.jsx(ce,{className:"size-6"})}),e.jsx("button",{type:"button",role:n?"checkbox":void 0,"aria-checked":n?r:void 0,"data-message-row":!0,"data-message-id":s.id,...a,className:C,style:L,children:T})]})}function We({sections:s,selectedThreadId:n,selectionMode:r,checkedIds:f,initialPeek:m,onToggleCheck:g,onEnterSelection:y,onOpenThread:j,onRefresh:h,refreshing:p,busy:d=!1}){const[b,v]=x.useState(new Set),[P,k]=x.useState(new Map),w=s.flatMap(a=>a.threads).filter(a=>!b.has(a.id)).map(a=>{const l=P.get(a.id);return l===void 0?a:{...a,isRead:l}}),[S,R]=x.useState(m&&m!=="none"&&w[1]?{id:w[1].id,side:m}:null),E=(a,l)=>{if(l==="trailing")v(N=>new Set(N).add(a));else{const N=w.find(C=>C.id===a);k(C=>new Map(C).set(a,!N?.isRead))}R(null)};return e.jsxs("div",{className:"flex-1 overflow-y-auto",children:[p&&e.jsxs("div",{className:"flex items-center justify-center gap-2 border-b border-line py-3 text-fg-muted",children:[e.jsx(ve,{className:"size-4 animate-spin"}),e.jsx("span",{className:"text-xs",children:"Checking for new mail…"})]}),e.jsx("div",{className:"divide-y divide-line",children:w.map(a=>e.jsx("div",{className:d?"pointer-events-none opacity-50":void 0,children:e.jsx(Be,{thread:a,selectionMode:r,checked:f.has(a.id),active:a.id===n,peek:S?.id===a.id?S.side:"none",onPeek:l=>R(l==="none"?null:{id:a.id,side:l}),onToggleCheck:()=>g(a.id),onLongPress:()=>y(a.id),onOpen:()=>j(a.id),onAct:l=>E(a.id,l)})},a.id))}),!r&&!p&&!d&&e.jsx("button",{type:"button",onClick:h,className:"w-full border-t border-line py-2 text-center text-2xs text-fg-subtle transition-colors hover:bg-surface-sunken",children:"Pull to refresh"})]})}const Ye=new Set;function es({listTitle:s,listMeta:n,sections:r,briefFilters:f,flatList:m,listState:g="ready",searchQuery:y,listFilter:j,listScopeLabel:h,errorMessage:p,onRetry:d,onReportError:b,briefFilter:v,selectedThreadId:P,density:k="comfortable",onSelectThread:w,onOpenNav:S,isDesktop:R,initialTouchState:E,selection:a,keyboard:l,selectionBar:N,paneOverlay:C,listBody:L,hideHeader:$=!1}){const I=k==="compact"?Se:Me,T=x.useRef(null),i=x.useRef(null),o=le(l);ue({containerRef:T,itemSelector:U,enabled:!o});const u=o?l.focusedId:void 0,M=o?u??r[0]?.threads[0]?.id:void 0,O=x.useCallback(t=>M===void 0?void 0:t===M?0:-1,[M]);x.useEffect(()=>{if(u===void 0)return;const t=i.current;if(!t)return;const c=t.querySelector(`${U}[data-message-id="${u}"]`);!c||c===t.ownerDocument.activeElement||c.focus({preventScroll:!1})},[u]),x.useEffect(()=>{if(!o)return;const t=i.current;if(!t)return;const c=t.ownerDocument.activeElement;c!==null&&c!==t.ownerDocument.body||t.focus({preventScroll:!0})},[o]);const F=!R&&!f&&g==="ready",[X,Y]=x.useState(!1),ee=E==="peek-trailing"?"trailing":E==="peek-leading"?"leading":void 0,se=()=>{Y(!0),setTimeout(()=>Y(!1),1400)},_=a?.selectedIds??Ye,D=a?.onToggle,K=a?.onRowSelect,te=Re(_.size,R),H=x.useCallback(t=>{if(D)return{checked:_.has(t),onToggle:c=>{c.preventDefault(),c.stopPropagation(),D(t)}}},[_,D]),B=x.useCallback((t,c)=>K?.(t,ke(c))?(c.preventDefault(),c.shiftKey&&window.getSelection()?.removeAllRanges(),!0):!1,[K]),ne=x.useCallback(({thread:t,active:c,onClick:W})=>e.jsx(I,{thread:t,active:c,focused:t.id===u,tabIndex:O(t.id),selection:H(t.id),onClick:ae=>{B(t.id,ae)||W?.()}}),[I,H,B,u,O]);return e.jsxs("section",{ref:t=>{i.current=t,l?.ref(t)},tabIndex:o?-1:void 0,className:"relative flex h-full w-full flex-col bg-surface outline-none",children:[N??($?null:e.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-2 border-b border-line px-row-inset",children:[S&&e.jsx(A,{variant:"ghost",size:"sm",icon:e.jsx(De,{className:"size-4"}),onClick:S,"aria-label":"Open folders",className:"-ml-1 shrink-0"}),e.jsx("h1",{className:"min-w-0 flex-1 truncate text-sm font-semibold text-fg",children:s}),n&&e.jsx("span",{className:"shrink-0 text-2xs text-fg-subtle",children:n})]})),g==="loading"?e.jsx("div",{className:"flex-1 overflow-y-auto",children:e.jsx(Le,{})}):g==="empty"?e.jsx(Te,{filter:j,scopeLabel:h,searchQuery:y}):g==="error"?e.jsx(Fe,{message:p,onRetry:d,onReport:b}):f?e.jsx(de,{...v??{},sections:r,selectedThreadId:P,Row:ne,keyboard:l,onSelectThread:w}):L??(F?e.jsx(We,{sections:r,selectedThreadId:P,selectionMode:te,checkedIds:_,initialPeek:ee,onToggleCheck:t=>D?.(t),onEnterSelection:t=>D?.(t),onOpenThread:t=>w?.(t),onRefresh:se,refreshing:X}):e.jsx("div",{ref:T,className:"flex-1 overflow-y-auto",children:r.map(t=>e.jsxs("div",{children:[!m&&t.label&&e.jsxs("div",{className:"sticky top-0 flex h-section-row items-center justify-between border-b border-line bg-surface-sunken px-row-inset",children:[e.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:t.label}),e.jsx("span",{className:"text-2xs text-fg-subtle tabular-nums",children:t.threads.length})]}),e.jsx("div",{className:"divide-y divide-line",children:t.threads.map(c=>e.jsx(I,{thread:c,active:c.id===P,focused:c.id===u,tabIndex:O(c.id),selection:H(c.id),onClick:W=>{B(c.id,W)||w?.(c.id)}},c.id))})]},t.id))})),R&&e.jsx(Ee,{hints:l?we(l.handlers):je}),C]})}var Ke=class extends fe{constructor(s,n){super(s,n)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(s){s._type="infinite",super.setOptions(s)}getOptimisticResult(s){return s._type="infinite",super.getOptimisticResult(s)}fetchNextPage(s){return this.fetch({...s,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(s){return this.fetch({...s,meta:{fetchMore:{direction:"backward"}}})}createResult(s,n){const{state:r}=s,f=super.createResult(s,n),{isFetching:m,isRefetching:g,isError:y,isRefetchError:j}=f,h=r.fetchMeta?.fetchMore?.direction,p=y&&h==="forward",d=m&&h==="forward",b=y&&h==="backward",v=m&&h==="backward";return{...f,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:xe(n,r.data),hasPreviousPage:me(n,r.data),isFetchNextPageError:p,isFetchingNextPage:d,isFetchPreviousPageError:b,isFetchingPreviousPage:v,isRefetchError:j&&!p&&!b,isRefetching:g&&!d&&!v}}};function ss(s,n){return ge(s,Ke)}function ts({title:s,unreadCount:n,preset:r,selectedCategory:f,activeFilters:m,onSelectCategory:g,onToggleFilter:y,onSelectSource:j,onClearFilters:h,children:p,footer:d,searchResults:b,searchLoading:v,relatedResults:P,relatedLoading:k,onSelectSearchResult:w,searchResultsLabel:S,relatedResultsLabel:R,searchResultsInBody:E,refreshControl:a}){const{searchInput:l}=he(),N=l.trim().length>0,C={categories:r.categories,filters:r.filters,sources:r.sources,selectedCategory:f,activeFilters:m,onSelectCategory:g,onSelectSource:j,onToggleFilter:y,onClear:h};return e.jsx(pe,{hasSheet:!N,children:e.jsx(Ie,{title:s,unreadCount:n,footer:d,searchFilter:C,searchResults:b,searchLoading:v,relatedResults:P,relatedLoading:k,onSelectSearchResult:w,searchResultsLabel:S,relatedResultsLabel:R,searchResultsInBody:E,refreshControl:a,children:e.jsx(be,{...C,hideChrome:N,children:p})})})}export{Ze as M,Be as S,es as a,ts as b,ss as u};
|
|
1
|
+
import{j as e,af as re,B as A,e as ie,r as x,b as Q,ag as oe,T as ce,cS as le,u as ue,cT as U,bl as de,bD as fe,cU as me,cV as xe,cW as ge,l as he,bm as pe,cl as be}from"./index-BBlkR2lm.js";import{R as ve,l as je,p as we}from"./search-token-index-jGvf0dJ0.js";import{am as Ne,an as ye,c as Pe,a as q,ao as Ce,v as Re,ap as ke,aq as Se,ar as Me,af as Ee,ah as Ie}from"./MailListHeader-CqEQzbdu.js";import{A as ze}from"./avatar-BosRyUDx.js";import{M as Oe}from"./mail-BsugoFoQ.js";import{M as De}from"./menu-BtHNv3F8.js";function Le(){return e.jsx("div",{className:"space-y-0",role:"status","aria-busy":"true","aria-label":"Loading messages",children:Array.from({length:8}).map((s,n)=>e.jsxs("div",{className:"animate-pulse border-b border-line px-3 py-2",children:[e.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[e.jsx("div",{className:"h-4 w-32 rounded bg-surface-sunken"}),e.jsx("div",{className:"h-3 w-16 rounded bg-surface-sunken"})]}),e.jsx("div",{className:"mb-2 h-4 w-48 rounded bg-surface-sunken"}),e.jsx("div",{className:"h-3 w-full rounded bg-surface-sunken"})]},n))})}function Te({filter:s,scopeLabel:n,searchQuery:r}){const f=r?.trim();return s?e.jsxs(G,{children:[e.jsx("p",{className:"font-medium text-fg",children:$e(s.label,n,f)}),e.jsx("p",{className:"mt-1 text-sm text-fg-muted",children:_e[s.reach]}),e.jsx(A,{variant:"secondary",size:"sm",className:"mt-4",onClick:s.onClear,children:"Clear filter"})]}):e.jsx(G,{children:e.jsx("p",{className:"text-fg-muted",children:Ae(f,n)})})}const _e={"whole-folder":"Every message in this folder was checked.","loaded-pages":"Only the messages loaded so far were checked."};function Ae(s,n){return s?"No messages match your search":n?`No messages in ${n}`:"No messages in this mailbox"}function $e(s,n,r){return r?`No results for “${r}” in ${s}`:n?`No ${s} mail in ${n}`:`No ${s} mail`}function G({children:s}){return e.jsx("div",{className:"flex h-full flex-1 items-center justify-center",children:e.jsx("div",{className:"flex max-w-sm flex-col items-center justify-center p-8 text-center",children:s})})}function Ze(){return e.jsxs("div",{className:"flex items-center justify-center gap-2 py-4 text-sm text-fg-muted",role:"status","aria-live":"polite",children:[e.jsx(re,{className:"size-4 animate-spin","aria-hidden":"true"}),e.jsx("span",{children:"Loading more…"})]})}function Fe({message:s="Something went wrong loading this mailbox.",onRetry:n,onReport:r}){return e.jsx("div",{className:"flex h-full flex-1 items-center justify-center p-4",children:e.jsxs("div",{role:"alert",className:"flex max-w-sm flex-col items-center justify-center gap-3 text-center",children:[e.jsx(ie,{className:"size-8 text-danger","aria-hidden":"true"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-danger",children:"Couldn't load messages"}),e.jsx("p",{className:"mt-1 break-words text-sm text-fg-muted",children:s})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[n&&e.jsx(A,{variant:"secondary",size:"sm",onClick:n,children:"Retry"}),r&&e.jsx(A,{variant:"ghost",size:"sm",onClick:r,children:"Report a problem"})]})]})})}const z=72,V=10,He=z/2,J="__swipeableRowAxisCancel";function Z(s){return s==="leading"?z:s==="trailing"?-z:0}function Xe(s){return s>=z/2?"leading":s<=-z/2?"trailing":"none"}function Be({thread:s,selectionMode:n,checked:r,active:f,peek:m,onPeek:g,onToggleCheck:y,onLongPress:j,onOpen:h,onAct:p}){const d=x.useRef(null),[b,v]=x.useState(null),{longPressProps:P}=Ne({onLongPress:j,isDisabled:n,accessibilityDescription:"Select message"}),k=i=>{const o=new PointerEvent("pointercancel",{bubbles:!0});o[J]=!0,i.currentTarget.dispatchEvent(o)},a=ye(P,{onPointerDown:i=>{d.current={startX:i.clientX,startY:i.clientY,axis:"none",escaped:!1}},onPointerMove:i=>{if(n)return;const o=d.current;if(!o)return;const u=i.clientX-o.startX,M=i.clientY-o.startY;if(o.axis==="none"&&(Math.abs(M)>V&&Math.abs(M)>Math.abs(u)?o.axis="vertical":Math.abs(u)>V&&Math.abs(u)>Math.abs(M)&&(o.axis="horizontal",i.currentTarget.setPointerCapture(i.pointerId))),o.axis==="none")return;const O=o.axis==="horizontal"?Math.abs(u):Math.abs(M);if(!o.escaped&&O>He&&(o.escaped=!0,k(i)),o.axis!=="horizontal")return;const F=Z(m),H=Math.max(-z,Math.min(z,F+u));v(H)},onPointerUp:i=>{const o=d.current;d.current=null;const u=b;if(v(null),!!o){if(o.axis!=="none"&&!o.escaped&&k(i),o.axis==="horizontal"){u!==null&&g(Xe(u));return}if(o.axis!=="vertical"){if(n){y();return}if(m!=="none"){g("none");return}h()}}},onPointerCancel:i=>{i.nativeEvent[J]||(d.current=null,v(null))}}),l=b??Z(m),N=l>0?"leading":l<0?"trailing":"none",C=Q("relative touch-pan-y bg-surface","select-none",Pe({active:r||f})),L={transform:l!==0?`translateX(${l}px)`:void 0,transition:b===null?"transform 150ms ease":"none",minHeight:44},$=!s.isRead,I=i=>i.stopPropagation(),T=n?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:Q("inline-flex size-7 shrink-0 items-center justify-center rounded-full border",r?"border-accent bg-accent text-accent-fg":"border-line-strong bg-canvas"),children:r&&e.jsx(oe,{className:"size-3.5"})}),e.jsx(q,{thread:s})]}):e.jsxs(e.Fragment,{children:[$&&e.jsx("span",{className:"absolute left-1.5 top-1/2 size-1.5 -translate-y-1/2 rounded-full bg-accent"}),e.jsx("span",{role:"checkbox",tabIndex:0,"aria-checked":r,"aria-label":`Select message from ${s.fromName}`,onPointerDown:I,onPointerMove:I,onPointerUp:I,onClick:i=>{i.preventDefault(),i.stopPropagation(),j()},onKeyDown:i=>{i.key!=="Enter"&&i.key!==" "||(i.preventDefault(),i.stopPropagation(),j())},className:"-m-2 inline-flex size-11 shrink-0 items-center justify-center rounded-full",children:e.jsx(ze,{name:s.fromName,email:s.fromEmail,size:"sm"})}),e.jsx(q,{thread:s})]});return e.jsxs("div",{className:"relative overflow-hidden",children:[N==="leading"&&e.jsx("button",{type:"button",onClick:()=>p("leading"),"aria-label":s.isRead?"Mark as unread":"Mark as read",className:"absolute inset-y-0 left-0 flex items-center justify-start bg-accent-2 px-6 text-accent-fg",children:s.isRead?e.jsx(Oe,{className:"size-6"}):e.jsx(Ce,{className:"size-6"})}),N==="trailing"&&e.jsx("button",{type:"button",onClick:()=>p("trailing"),"aria-label":"Delete message",className:"absolute inset-y-0 right-0 flex items-center justify-end bg-danger px-6 text-canvas",children:e.jsx(ce,{className:"size-6"})}),e.jsx("button",{type:"button",role:n?"checkbox":void 0,"aria-checked":n?r:void 0,"data-message-row":!0,"data-message-id":s.id,...a,className:C,style:L,children:T})]})}function We({sections:s,selectedThreadId:n,selectionMode:r,checkedIds:f,initialPeek:m,onToggleCheck:g,onEnterSelection:y,onOpenThread:j,onRefresh:h,refreshing:p,busy:d=!1}){const[b,v]=x.useState(new Set),[P,k]=x.useState(new Map),w=s.flatMap(a=>a.threads).filter(a=>!b.has(a.id)).map(a=>{const l=P.get(a.id);return l===void 0?a:{...a,isRead:l}}),[S,R]=x.useState(m&&m!=="none"&&w[1]?{id:w[1].id,side:m}:null),E=(a,l)=>{if(l==="trailing")v(N=>new Set(N).add(a));else{const N=w.find(C=>C.id===a);k(C=>new Map(C).set(a,!N?.isRead))}R(null)};return e.jsxs("div",{className:"flex-1 overflow-y-auto",children:[p&&e.jsxs("div",{className:"flex items-center justify-center gap-2 border-b border-line py-3 text-fg-muted",children:[e.jsx(ve,{className:"size-4 animate-spin"}),e.jsx("span",{className:"text-xs",children:"Checking for new mail…"})]}),e.jsx("div",{className:"divide-y divide-line",children:w.map(a=>e.jsx("div",{className:d?"pointer-events-none opacity-50":void 0,children:e.jsx(Be,{thread:a,selectionMode:r,checked:f.has(a.id),active:a.id===n,peek:S?.id===a.id?S.side:"none",onPeek:l=>R(l==="none"?null:{id:a.id,side:l}),onToggleCheck:()=>g(a.id),onLongPress:()=>y(a.id),onOpen:()=>j(a.id),onAct:l=>E(a.id,l)})},a.id))}),!r&&!p&&!d&&e.jsx("button",{type:"button",onClick:h,className:"w-full border-t border-line py-2 text-center text-2xs text-fg-subtle transition-colors hover:bg-surface-sunken",children:"Pull to refresh"})]})}const Ye=new Set;function es({listTitle:s,listMeta:n,sections:r,briefFilters:f,flatList:m,listState:g="ready",searchQuery:y,listFilter:j,listScopeLabel:h,errorMessage:p,onRetry:d,onReportError:b,briefFilter:v,selectedThreadId:P,density:k="comfortable",onSelectThread:w,onOpenNav:S,isDesktop:R,initialTouchState:E,selection:a,keyboard:l,selectionBar:N,paneOverlay:C,listBody:L,hideHeader:$=!1}){const I=k==="compact"?Se:Me,T=x.useRef(null),i=x.useRef(null),o=le(l);ue({containerRef:T,itemSelector:U,enabled:!o});const u=o?l.focusedId:void 0,M=o?u??r[0]?.threads[0]?.id:void 0,O=x.useCallback(t=>M===void 0?void 0:t===M?0:-1,[M]);x.useEffect(()=>{if(u===void 0)return;const t=i.current;if(!t)return;const c=t.querySelector(`${U}[data-message-id="${u}"]`);!c||c===t.ownerDocument.activeElement||c.focus({preventScroll:!1})},[u]),x.useEffect(()=>{if(!o)return;const t=i.current;if(!t)return;const c=t.ownerDocument.activeElement;c!==null&&c!==t.ownerDocument.body||t.focus({preventScroll:!0})},[o]);const F=!R&&!f&&g==="ready",[H,Y]=x.useState(!1),ee=E==="peek-trailing"?"trailing":E==="peek-leading"?"leading":void 0,se=()=>{Y(!0),setTimeout(()=>Y(!1),1400)},_=a?.selectedIds??Ye,D=a?.onToggle,K=a?.onRowSelect,te=Re(_.size,R),X=x.useCallback(t=>{if(D)return{checked:_.has(t),onToggle:c=>{c.preventDefault(),c.stopPropagation(),D(t)}}},[_,D]),B=x.useCallback((t,c)=>K?.(t,ke(c))?(c.preventDefault(),c.shiftKey&&window.getSelection()?.removeAllRanges(),!0):!1,[K]),ne=x.useCallback(({thread:t,active:c,onClick:W})=>e.jsx(I,{thread:t,active:c,focused:t.id===u,tabIndex:O(t.id),selection:X(t.id),onClick:ae=>{B(t.id,ae)||W?.()}}),[I,X,B,u,O]);return e.jsxs("section",{ref:t=>{i.current=t,l?.ref(t)},tabIndex:o?-1:void 0,className:"relative flex h-full w-full flex-col bg-surface outline-none",children:[N??($?null:e.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-2 border-b border-line px-row-inset",children:[S&&e.jsx(A,{variant:"ghost",size:"sm",icon:e.jsx(De,{className:"size-4"}),onClick:S,"aria-label":"Open folders",className:"-ml-1 shrink-0"}),e.jsx("h1",{className:"min-w-0 flex-1 truncate text-sm font-semibold text-fg",children:s}),n&&e.jsx("span",{className:"shrink-0 text-2xs text-fg-subtle",children:n})]})),g==="loading"?e.jsx("div",{className:"flex-1 overflow-y-auto",children:e.jsx(Le,{})}):g==="empty"?e.jsx(Te,{filter:j,scopeLabel:h,searchQuery:y}):g==="error"?e.jsx(Fe,{message:p,onRetry:d,onReport:b}):f?e.jsx(de,{...v??{},sections:r,selectedThreadId:P,Row:ne,keyboard:l,onSelectThread:w}):L??(F?e.jsx(We,{sections:r,selectedThreadId:P,selectionMode:te,checkedIds:_,initialPeek:ee,onToggleCheck:t=>D?.(t),onEnterSelection:t=>D?.(t),onOpenThread:t=>w?.(t),onRefresh:se,refreshing:H}):e.jsx("div",{ref:T,className:"flex-1 overflow-y-auto",children:r.map(t=>e.jsxs("div",{children:[!m&&t.label&&e.jsxs("div",{className:"sticky top-0 flex h-section-row items-center justify-between border-b border-line bg-surface-sunken px-row-inset",children:[e.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:t.label}),e.jsx("span",{className:"text-2xs text-fg-subtle tabular-nums",children:t.threads.length})]}),e.jsx("div",{className:"divide-y divide-line",children:t.threads.map(c=>e.jsx(I,{thread:c,active:c.id===P,focused:c.id===u,tabIndex:O(c.id),selection:X(c.id),onClick:W=>{B(c.id,W)||w?.(c.id)}},c.id))})]},t.id))})),R&&e.jsx(Ee,{hints:l?we(l.handlers):je}),C]})}var Ke=class extends fe{constructor(s,n){super(s,n)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(s){s._type="infinite",super.setOptions(s)}getOptimisticResult(s){return s._type="infinite",super.getOptimisticResult(s)}fetchNextPage(s){return this.fetch({...s,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(s){return this.fetch({...s,meta:{fetchMore:{direction:"backward"}}})}createResult(s,n){const{state:r}=s,f=super.createResult(s,n),{isFetching:m,isRefetching:g,isError:y,isRefetchError:j}=f,h=r.fetchMeta?.fetchMore?.direction,p=y&&h==="forward",d=m&&h==="forward",b=y&&h==="backward",v=m&&h==="backward";return{...f,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:xe(n,r.data),hasPreviousPage:me(n,r.data),isFetchNextPageError:p,isFetchingNextPage:d,isFetchPreviousPageError:b,isFetchingPreviousPage:v,isRefetchError:j&&!p&&!b,isRefetching:g&&!d&&!v}}};function ss(s,n){return ge(s,Ke)}function ts({title:s,unreadCount:n,preset:r,selectedCategory:f,activeFilters:m,onSelectCategory:g,onToggleFilter:y,onSelectSource:j,onClearFilters:h,children:p,footer:d,searchResults:b,searchLoading:v,relatedResults:P,relatedLoading:k,onSelectSearchResult:w,searchResultsLabel:S,relatedResultsLabel:R,searchResultsInBody:E,refreshControl:a}){const{searchInput:l}=he(),N=l.trim().length>0,C={categories:r.categories,filters:r.filters,sources:r.sources,selectedCategory:f,activeFilters:m,onSelectCategory:g,onSelectSource:j,onToggleFilter:y,onClear:h};return e.jsx(pe,{hasSheet:!N,children:e.jsx(Ie,{title:s,unreadCount:n,footer:d,searchFilter:C,searchResults:b,searchLoading:v,relatedResults:P,relatedLoading:k,onSelectSearchResult:w,searchResultsLabel:S,relatedResultsLabel:R,searchResultsInBody:E,refreshControl:a,children:e.jsx(be,{...C,hideChrome:N,children:p})})})}export{Ze as M,Be as S,es as a,ts as b,ss as u};
|