@remit/web-client-dist 0.0.464 → 0.0.465
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-D7FdZ-za.js → BriefPane-BeEwUlaH.js} +1 -1
- package/assets/{ErrorState-Db5X9sQU.js → ErrorState-Ce7oyAiN.js} +1 -1
- package/assets/{FlaggedPane-DfbJkdKO.js → FlaggedPane-CPr_ZSd0.js} +1 -1
- package/assets/{FullCompose-fpQMnnKE.js → FullCompose-BuwshP0T.js} +1 -1
- package/assets/{MailListHeader-r39e0EbG.js → MailListHeader-B3YY_4CF.js} +1 -1
- package/assets/{MailShell-CC_fm4o_.js → MailShell-DYi-KG0m.js} +1 -1
- package/assets/{MailViewChrome-DXqBRd1U.js → MailViewChrome-CkFF30sv.js} +1 -1
- package/assets/{MailboxPane-RpIsG_DW.js → MailboxPane-C4Wy4Sa6.js} +1 -1
- package/assets/{NavMenuButton-Ca1utDUW.js → NavMenuButton-B1rRiegj.js} +1 -1
- package/assets/{OnboardingWizard-CMODZUlv.js → OnboardingWizard-BC4rfrjs.js} +1 -1
- package/assets/{OutboxPane-Dzx6CF_O.js → OutboxPane-CfMFMaAE.js} +1 -1
- package/assets/_mailboxId-CKRyopaF.js +1 -0
- package/assets/_messageId-B8-RYGmN.js +1 -0
- package/assets/_messageId-BRWoeXYD.js +1 -0
- package/assets/_messageId-CsB-o-0_.js +1 -0
- package/assets/_outboxMessageId-DqwYIrX9.js +1 -0
- package/assets/_threadId-B9AqISzs.js +1 -0
- package/assets/_threadId-EhNsS0dh.js +1 -0
- package/assets/_threadId-ZsNuUrUE.js +1 -0
- package/assets/{accounts-CzMV9Ca6.js → accounts-C--bY9ew.js} +1 -1
- package/assets/{advanced-CMvvc_9M.js → advanced-BduCRhPX.js} +1 -1
- package/assets/{appearance-CfwGXfff.js → appearance-DU25RH0G.js} +1 -1
- package/assets/{attachment-file-BOHDSAx4.js → attachment-file-BPEwzAjK.js} +1 -1
- package/assets/{avatar-8cHNN7qH.js → avatar-DCjrK4Cn.js} +1 -1
- package/assets/{bottom-sheet-CA2iUzlx.js → bottom-sheet-C3UYi3wk.js} +1 -1
- package/assets/brief-PWax6XOM.js +1 -0
- package/assets/{brief-cFBHwTVv.js → brief-oObI_hkd.js} +1 -1
- package/assets/{browser-ponyfill-CVJxOo_V.js → browser-ponyfill-DaUFLj4a.js} +1 -1
- package/assets/{bug-DAU5T7q2.js → bug-CFTfkDAL.js} +1 -1
- package/assets/{circle-check-DkgL8zcl.js → circle-check-ByKs0hCG.js} +1 -1
- package/assets/{circle-check-big-DtKacKFa.js → circle-check-big-FGkT8Iyd.js} +1 -1
- package/assets/{circle-help-XX_xuknZ.js → circle-help-npSSps06.js} +1 -1
- package/assets/{clock-Aibc0yY3.js → clock-D9mnvDq4.js} +1 -1
- package/assets/compose._-_outboxMessageId_-BcJ1iwGz.js +1 -0
- package/assets/compose._-_outboxMessageId_-DQ7rGLid.js +1 -0
- package/assets/compose._-_outboxMessageId_-LWYVDgNB.js +1 -0
- package/assets/compose._-_outboxMessageId_-mOZjLkIU.js +1 -0
- package/assets/{confirm-dialog-DASq24zn.js → confirm-dialog-CZU8SrVV.js} +1 -1
- package/assets/{download-Bure-U5E.js → download-DJQwdu2W.js} +1 -1
- package/assets/{filters-1VX8fGlY.js → filters-go-Qu8W-.js} +1 -1
- package/assets/{flagged-40Iof9qW.js → flagged-CHHcRgLF.js} +1 -1
- package/assets/flagged-DJTSbpC6.js +1 -0
- package/assets/{folders-BViLs0wx.js → folders-n3VweNf7.js} +1 -1
- package/assets/{format-CUrh4Dxc.js → format-DbOIpnnO.js} +1 -1
- package/assets/{help-copy-mcIOwFmS.js → help-copy-DaJR-tAW.js} +1 -1
- package/assets/index-B8-RYGmN.js +1 -0
- package/assets/index-BMKuLozC.js +1 -0
- package/assets/{index-6BwK7Mqt.js → index-BT2o-gjq.js} +3 -3
- package/assets/index-BZ59gzMF.js +1 -0
- package/assets/index-CsB-o-0_.js +1 -0
- package/assets/index-Cs_Wtkvx.js +1 -0
- package/assets/index-DGxJ7yHe.js +1 -0
- package/assets/index-DTAC_C65.js +1 -0
- package/assets/index-DZSks6gE.js +1 -0
- package/assets/{index-CXB5ntl2.js → index-j7ecFqw2.js} +4 -4
- package/assets/{kbd-BfuThwxu.js → kbd-X_hVfOo2.js} +1 -1
- package/assets/{labels-C3T28Vxn.js → labels-B1ph-wuT.js} +1 -1
- package/assets/{mail-BTAoAoiq.js → mail-C2ScUPAr.js} +1 -1
- package/assets/{mail-ZMzCjhG1.js → mail-woc-5Bte.js} +1 -1
- package/assets/{menu-zhBtgh7u.js → menu-B8cE9-e-.js} +1 -1
- package/assets/{onboarding-CEwHArun.js → onboarding-B2yGRy7j.js} +1 -1
- package/assets/outbox-Csc_k0cm.js +1 -0
- package/assets/{pencil-Dv6FH_kk.js → pencil-Sv7ue4VO.js} +1 -1
- package/assets/{rich-text-Dab9KUV4.js → rich-text-BG-i-J0S.js} +1 -1
- package/assets/{rich-text-spellcheck-worker-provider-CCI5gsuy.js → rich-text-spellcheck-worker-provider-Dp7MCfTh.js} +1 -1
- package/assets/{rotate-ccw-BEDDa0CK.js → rotate-ccw-COrC2-rK.js} +1 -1
- package/assets/{row-actions-Dq_GKqRx.js → row-actions-GcEtAqi8.js} +1 -1
- package/assets/{search-mirror-CBnY7are.js → search-mirror-DhYw_xcB.js} +1 -1
- package/assets/{search-token-index-BMju4L3v.js → search-token-index-Cu5-Gmia.js} +1 -1
- package/assets/{senders-CZyBzl-N.js → senders-CzhZCJYB.js} +1 -1
- package/assets/settings-DEVrdxgI.js +1 -0
- package/assets/{settings-screen-CSogmSgj.js → settings-screen-DfYGZo8u.js} +1 -1
- package/assets/{shield-check-B-qifIn4.js → shield-check-90F7W1s2.js} +1 -1
- package/assets/{suggested-vips-BCbdovgZ.js → suggested-vips-BjxZLzjv.js} +1 -1
- package/assets/{useDebouncedValue-BROrRfuh.js → useDebouncedValue-Dy-AAstE.js} +1 -1
- package/assets/{useFilters-CfXrvm3o.js → useFilters-CvGtV-Va.js} +1 -1
- package/assets/{useLabels-Ale-h4V_.js → useLabels-Bzhx-vJq.js} +1 -1
- package/assets/{useMessageBodyContent-DM2O0Kjv.js → useMessageBodyContent-BA1AUGF-.js} +1 -1
- package/assets/{useRefreshControl-SHsOR5m7.js → useRefreshControl-6h8tNzXK.js} +1 -1
- package/assets/{useSearchTokenContext-BON06yA6.js → useSearchTokenContext-Da3UBQOl.js} +1 -1
- package/assets/{useSemanticSearch-CupcAwCj.js → useSemanticSearch-BToHBgCX.js} +1 -1
- package/assets/{useSignature-gWkKz0qF.js → useSignature-Dy3tCetd.js} +1 -1
- package/index.html +1 -1
- package/package.json +1 -1
- package/assets/_mailboxId-BzRyngjN.js +0 -1
- package/assets/_messageId-4jntRYSR.js +0 -1
- package/assets/_messageId-BgLo2JqO.js +0 -1
- package/assets/_messageId-DW_1kRIM.js +0 -1
- package/assets/_outboxMessageId-BneH-EXm.js +0 -1
- package/assets/_threadId-BuFodIqt.js +0 -1
- package/assets/_threadId-ByEDLe9a.js +0 -1
- package/assets/_threadId-Dm745Qvi.js +0 -1
- package/assets/brief-CND_BScD.js +0 -1
- package/assets/compose._-_outboxMessageId_-7KZ4NCLv.js +0 -1
- package/assets/compose._-_outboxMessageId_-Cnu9ObGV.js +0 -1
- package/assets/compose._-_outboxMessageId_-D23StZJq.js +0 -1
- package/assets/compose._-_outboxMessageId_-WqAPbYta.js +0 -1
- package/assets/flagged-DHx5Er6m.js +0 -1
- package/assets/index-4jntRYSR.js +0 -1
- package/assets/index-BKfBvGVH.js +0 -1
- package/assets/index-BW7aYdYQ.js +0 -1
- package/assets/index-CN19m26J.js +0 -1
- package/assets/index-CYwT4tHv.js +0 -1
- package/assets/index-DI1kXy-n.js +0 -1
- package/assets/index-DW_1kRIM.js +0 -1
- package/assets/index-_2u3C-S3.js +0 -1
- package/assets/outbox-BmuXxg3H.js +0 -1
- package/assets/settings-vzpsXI9L.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as n,as as Xe,S as Ze,bT as es,v as Y,b4 as ss,bG as ts,r as a,D as ne,bU as oe,z as ns,bV as os,bW as as,bX as rs,e as Ce,bY as is,a9 as cs,bQ as ls,bR as ds}from"./index-CXB5ntl2.js";import{s as je,a as us,b as Re,u as ms,p as fs,R as hs}from"./useSearchTokenContext-BON06yA6.js";import{aa as be,H as ve,ab as gs,ac as xs,I as ps,ad as ye,ae as Is,af as bs,ag as vs,a9 as ys,ah as Ss,ai as Ts,aj as Cs,M as js,ak as Rs,al as ws,am as Ms,e as ks,v as Fs,an as As,q as Os,S as Ns,L as Bs,Q as Se,P as Ds,N as Ls,d as Es,_ as Ps,$ as qs,a1 as we,a2 as Me,a3 as zs,a4 as Qs,a5 as Hs}from"./MailListHeader-r39e0EbG.js";import{u as _s,a as Ws,R as $s,i as Gs,b as Us}from"./useRefreshControl-SHsOR5m7.js";import{f as Vs,p as Ys,d as Js,R as Ks,k as Xs,l as Zs}from"./search-token-index-BMju4L3v.js";import{a as et}from"./useLabels-Ale-h4V_.js";import{u as st,r as tt,L as nt}from"./useSemanticSearch-CupcAwCj.js";import{w as ot}from"./wizard-selection-B1bng5Jq.js";import{u as ke}from"./index-6BwK7Mqt.js";import{a as at}from"./useMessageBodyContent-DM2O0Kjv.js";function rt({sync:e}){return e?n.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:[n.jsx(Xe,{className:"size-8 animate-spin text-fg-subtle","aria-hidden":"true"}),n.jsx("p",{className:"text-sm font-medium text-fg",children:"Still syncing your mail"}),n.jsx("p",{className:"text-xs text-fg-subtle",children:it(e)})]}):n.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-2 py-12 text-center px-4",children:[n.jsx(Ze,{className:"size-8 text-fg-subtle","aria-hidden":"true"}),n.jsx("p",{className:"text-sm font-medium text-fg",children:"You're caught up"}),n.jsx("p",{className:"text-xs text-fg-subtle",children:"Nothing needs attention."})]})}function it({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"}],Ae="category",ct={unclassified:"uncategorized"},W=e=>us(e).map(s=>s.raw),_=e=>e.join(" "),ae=e=>{const s=Re(e);if(s)return Fe.find(o=>o.name===s.name&&o.value===s.value.toLowerCase())?.id},re=e=>{const s=Re(e);if(!s||s.name!==Ae)return;const o=s.value.toLowerCase(),r=ct[o];if(r)return r;if(!(!es(o)||o==="all"))return o},Oe=e=>Fe.find(s=>s.id===e),Ne=e=>Oe(e)!==void 0,lt=e=>{const s=new Set;for(const o of W(e)){const r=ae(o);r&&s.add(r)}return s},dt=e=>{let s="all";for(const o of W(e)){const r=re(o);r&&(s=r)}return s},ut=(e,s)=>{const o=Oe(s);if(!o)return;const r=W(e),l=r.filter(d=>ae(d)!==s);return l.length<r.length?_(l):_([...r,je(o.name,o.value)])},mt=(e,s)=>{const o=W(e).filter(r=>!re(r));return _(s==="all"?o:[...o,je(Ae,s)])},ft=e=>_(W(e).filter(s=>!ae(s)&&!re(s))),Be=e=>e.trim().length>0,ht=e=>{if(!Be(e.query))return e.ownFilters;const s=new Set(lt(e.query));for(const o of e.ownFilters)Ne(o)||s.add(o);return s},gt=e=>Be(e.query)?dt(e.query):e.ownCategory,xt=(e,s)=>e.createdAt!==s.createdAt?e.createdAt-s.createdAt:e.accountId.localeCompare(s.accountId),pt=e=>[...e].sort(xt),It=200,Te=()=>n.jsx("div",{className:"animate-pulse",children:Array.from({length:3}).map((e,s)=>n.jsxs("div",{className:"flex items-start gap-3 py-2 pl-5 pr-4 border-b border-line",children:[n.jsx("div",{className:"size-7 rounded-full bg-surface-sunken shrink-0 mt-0.5"}),n.jsxs("div",{className:"flex-1 space-y-1.5",children:[n.jsxs("div",{className:"flex justify-between gap-2",children:[n.jsx("div",{className:"h-3.5 bg-surface-sunken rounded w-28"}),n.jsx("div",{className:"h-3 bg-surface-sunken rounded w-12"})]}),n.jsx("div",{className:"h-3.5 bg-surface-sunken rounded w-48"}),n.jsx("div",{className:"h-3 bg-surface-sunken rounded w-full"})]})]},s))}),bt=({accountEmail:e})=>{const s=ke();return n.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:[n.jsx(Ce,{className:"size-3.5 shrink-0"}),n.jsxs("span",{className:"flex-1 truncate",children:[e," can't connect"]}),n.jsx("button",{type:"button",onClick:()=>s("accounts"),className:"shrink-0 underline text-danger hover:opacity-80",children:"Reconnect"})]})},vt=(e,s)=>{if(s.size===0)return{};const o=e.filter(d=>s.has(d.id)),r=tt(o.map(d=>d.accountId));if(r.restriction)return r;const l=new Set;for(const d of o)d.mailboxId&&l.add(d.mailboxId);return l.size>1?{accountId:r.accountId,restriction:"spansFolders",moveDisabledHint:`Move only works within one folder — this selection spans ${l.size} folders`}:{accountId:r.accountId,mailboxId:l.size===1?[...l][0]:void 0}};function yt({header:e,rows:s,wizard:o,children:r}){const{selectedIds:l,selectedCount:d,exitSelection:u,orderedIds:m,allSelected:b,toggleAllLoaded:f}=Ms(),x=a.useMemo(()=>vt(s,l),[s,l]),{junkMailboxId:D}=ks(x.accountId),{labels:I}=et(x.accountId),p=a.useMemo(()=>Array.from(l),[l]),L=a.useMemo(()=>ot(s,l),[s,l]),h=Fs(D,x.mailboxId),v=a.useMemo(()=>m.length>0?{checked:b,indeterminate:d>0&&!b,onChange:f}:void 0,[m.length,b,d,f]),F=x.moveDisabledHint?{tone:"warning",text:x.moveDisabledHint}:void 0,S=T=>n.jsx(Ns,{title:T.title,navSlot:T.navSlot,titleMeta:T.titleMeta,searchSlot:T.searchSlot,searchField:T.searchField,idleSlot:T.makeFilterSlot,count:d,onCancel:u,onDelete:()=>o.start("delete"),onMove:()=>o.start("move"),onOrganize:()=>o.start("organize"),onJunk:h?()=>o.start("junk"):void 0,onMarkRead:()=>o.start("markRead"),overflowSlot:x.accountId&&x.mailboxId&&d>0&&I.length>0?n.jsx(nt,{accountId:x.accountId,mailboxId:x.mailboxId,messageIds:p}):void 0,selectAll:v,notice:F});return n.jsx(As,{...e,selectionBar:S,paneOverlay:n.jsx(Os,{verb:o.verb,accountId:x.accountId,mailboxId:x.mailboxId,selection:L,selectionRestriction:x.restriction,onFinished:u}),children:r})}function St({accounts:e,selectedMessageId:s,onOpenThread:o,commandsRef:r,onTriageContextChange:l,onDeleteMessages:d}){const{searchQuery:u,searchInput:m,resultFolderIndex:b,onSearchChange:f}=Y(),x=ms(),D=ss(),I=Vs(),p=ts(),L=Ys(),h=a.useMemo(()=>pt(e.filter(t=>!t.muted?.value)),[e]),[v,F]=a.useState("all"),[S,T]=a.useState("all"),[$,E]=a.useState(new Set),[K,C]=a.useState(!1),P=a.useCallback(t=>{E(i=>{const c=new Set(i);return c.has(t)?c.delete(t):c.add(t),c})},[]),G=a.useCallback(()=>E(new Set),[]),R=m.trim().length>0,j=a.useMemo(()=>ht({query:m,ownFilters:$}),[m,$]),w=a.useMemo(()=>gt({query:m,ownCategory:S}),[m,S]),A=a.useCallback(t=>{if(!R||!Ne(t)){P(t);return}const i=ut(m,t);i!==void 0&&f(i)},[R,m,f,P]),q=a.useCallback(t=>{if(!R){T(t);return}f(mt(m,t))},[R,m,f]),z=a.useCallback(()=>{T("all"),F("all"),G(),R&&f(ft(m))},[R,m,f,G]),{data:O,isLoading:Q,isError:g,refetch:N}=ne({...oe(),staleTime:6e4}),B=Js({queries:h.map(t=>({...ns({path:{accountId:t.accountId}}),staleTime:1/0,meta:{softError:!0}}))}),U=a.useMemo(()=>{const t=new Map;for(let i=0;i<h.length;i++){const c=h[i].accountId,Ye=(B[i]?.data?.items??[]).reduce((Je,Ke)=>Je+(Ke.unseenCount??0),0);t.set(c,Ye)}return t},[h,B]),Ee=a.useMemo(()=>h.filter((t,i)=>{const c=B[i];return c?.isError?!os(c.error):!1}),[h,B]),{freeText:M,tokens:X}=fs(u.trim().toLowerCase(),x),{data:ie,isFetching:Pe}=ne({...oe({query:{query:M,limit:It}}),enabled:M.length>0,staleTime:3e4}),y=a.useMemo(()=>{const t=be(O?.items??[]).map(ve);return(M?gs(t.filter(c=>xs(c,M)),be(ie?.items??[]).map(ve)):t).filter(c=>(v==="all"||c.accountId===v)&&ps(c,X))},[O,ie,v,M,X]),{bodyRows:ce,briefSpamOffer:Z}=a.useMemo(()=>{if(!M)return{bodyRows:y,briefSpamOffer:void 0};const t=y.map(k=>ye(k,b)),{spam:i}=Is(t);if(i.length===0)return{bodyRows:y,briefSpamOffer:void 0};const c=new Set(i.map(k=>k.id));return{bodyRows:y.filter(k=>!c.has(k.id)),briefSpamOffer:bs(t)}},[y,M,b]),le=a.useMemo(()=>vs(ce),[ce]),de=a.useCallback((t,i)=>{const c=y.find(k=>k.id===t)?.threadId;c&&o?.({threadId:c,messageId:t},i)},[y,o]),qe=a.useCallback(t=>{const i=t.threadId??y.find(c=>c.id===t.id)?.threadId;i&&o?.({threadId:i,messageId:t.id})},[y,o]),ee=a.useMemo(()=>h.length<=1?[]:[{id:"all",label:"All",active:v==="all"},...h.map(t=>({id:t.accountId,label:t.email.split("@")[0]??t.email,count:U.get(t.accountId),active:v===t.accountId}))],[h,U,v]),H=a.useMemo(()=>e.filter(t=>t.muted?.value).length,[e]),ze=a.useMemo(()=>Array.from(U.values()).reduce((t,i)=>t+i,0),[U]),se=a.useMemo(()=>h.map(t=>t.accountId),[h]),{hasNewMail:ue}=_s(),{state:me,errorMessage:fe,refresh:he}=Ws(se,{onSettled:()=>N()}),Qe=a.useMemo(()=>n.jsx($s,{state:me,onRefresh:he,label:"Refresh daily brief",errorMessage:fe,hasUpdate:ue(se)}),[me,he,fe,ue,se]),te=a.useMemo(()=>y.filter(t=>(w==="all"||t.category===w)&&as(t,j)).map(t=>ye(t,b)),[y,w,j,b]),{hits:ge,isLoading:He}=st(),_e=a.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 ys(ge,i,b)},[ge,te,O,b]),We=a.useMemo(()=>{const t=Ss(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:j,expanded:K,onExpandedChange:C,onSelectCategory:i=>q(i),onSelectSource:F,onToggleFilter:i=>A(i),onClear:z}},[ee,H,w,j,K,A,q,z]),xe=le.length===0&&v==="all"&&M.length===0&&X.length===0,$e=a.useMemo(()=>h.map(t=>t.accountId),[h]),Ge=a.useMemo(()=>h.some(t=>Gs(t.syncPhase)),[h]),V=Us($e,xe||Ge),pe=n.jsxs("div",{className:"h-full overflow-y-auto",children:[n.jsx(Te,{}),n.jsx(Te,{})]}),Ie=!Q&&!g&&!xe,Ue=Ts({tier:I,hasLiveInput:R,hasCommittedQuery:u.trim().length>0,bodyRendersCommittedResults:!0}),Ve=Ie?n.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[Z&&n.jsx(Cs,{count:Z.count,onScopeToSpam:()=>L(Z.mailboxId,u)}),n.jsx("div",{className:"min-h-0 flex-1",children:n.jsx(rs,{sections:le,briefCategory:w,Row:js,selectedThreadId:s,onSelectThread:de,onSelectBriefCategory:q,sources:ee,sourcesNote:H>0?`+${H} muted`:void 0,onSelectSource:F,activeFilters:j,onToggleFilter:A,onClearFilters:z})})]}):Q?pe:g?n.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-3 py-12 text-sm text-fg-muted",children:[n.jsx(Ce,{className:"size-8 text-danger"}),n.jsx("p",{children:"Couldn't load your messages"}),n.jsxs("button",{type:"button",onClick:()=>N(),className:"flex items-center gap-1 text-accent underline text-xs",children:[n.jsx(Ks,{className:"size-3.5"}),"Try again"]})]}):V.resolved?n.jsx(rt,{sync:V.syncing?{synced:V.synced,total:V.total}:void 0}):pe;return n.jsx(is,{hasSheet:Ie&&!Ue,children:n.jsx(Rs,{selectedMessageId:s,rows:y,onOpen:de,onDeleteMessages:d,onSelectionVerb:p.start,commandsRef:r,onTriageContextChange:l,children:n.jsx(yt,{wizard:p,header:{title:"Daily brief",unreadCount:ze,footer:D?n.jsx(ws,{}):void 0,searchFilter:We,searchResults:te,searchLoading:Q||Pe,relatedResults:_e,relatedLoading:He,onSelectSearchResult:qe,searchResultsInBody:!0,refreshControl:Qe},rows:y,children:n.jsxs("div",{className:"flex h-full flex-col",children:[Ee.map(t=>n.jsx(bt,{accountEmail:t.email,accountId:t.accountId},t.accountId)),n.jsx("div",{className:"min-h-0 flex-1",children:Ve})]})})})})}const De=a.createContext(null);function J(){const e=a.useContext(De);if(!e)throw new Error("BriefPane.* must be used inside <BriefPane>");return e}function Tt({thread:e,children:s}){const o=Xs(),r=Zs(),l=ke(),{searchInput:d}=Y(),u=e?.threadId,m=e?.messageId,{data:b}=ne({...oe(),staleTime:6e4}),f=a.useMemo(()=>b?.items??[],[b]),x=a.useMemo(()=>{if(u)return f.find(g=>g.messageId===m)??f.find(g=>g.threadId===u)},[f,u,m]),D=Bs(u,m),I=x??D,p=m??I?.messageId,L=a.useMemo(()=>{if(u)return{threadId:u,mailboxId:I?.mailboxId??"",subject:I?.subject,messageId:p,authenticity:I?.authenticity}},[u,I,p]),h=a.useCallback((g,N)=>{o(g,{replace:N?.replace,query:d})},[o,d]),v=a.useCallback(g=>{p&&g.includes(p)&&r()},[p,r]),F=Se({thread:I,isOpen:!0,onAfterOptimisticRemove:v}),S=Ds(),{deleteMessages:T}=Ls({mailboxId:I?.mailboxId??"",messages:f,onAfterOptimisticRemove:v}),{toggleReadFor:$}=Es({mailboxId:I?.mailboxId??"",messages:f}),E=S.focusedMessageId,C=a.useMemo(()=>f.find(g=>g.messageId===E),[f,E])??I,P=Se({thread:C,isOpen:C?.messageId===p}),G=at(),R=cs(),j=ls(),w=a.useMemo(()=>ds(j,u,p),[j,u,p]),A=a.useMemo(()=>{if(C)return g=>j({threadId:C.threadId,messageId:C.messageId,mode:g})},[j,C]),{nextMessageId:q,previousMessageId:z}=Ps({context:S,orderedIds:S.orderedIds,selectedMessageId:p,enabled:!G&&!R,hasOpenThread:u!==void 0,onClose:r,handlers:{reply:()=>A?.("reply"),replyAll:()=>A?.("reply-all"),forward:()=>A?.("forward"),delete:()=>{S.listCommandsRef.current?.requestVerb("delete")||P.deleteThread()},toggleStar:P.toggleStar,toggleRead:()=>{S.listCommandsRef.current?.requestVerb("markRead")||C&&$([C.messageId],!C.isRead)},goFlagged:()=>l("flagged"),goSettings:()=>l("settings")}}),O=a.useCallback(g=>{if(!g)return;const N=f.find(B=>B.messageId===g);return N?{threadId:N.threadId,messageId:g}:void 0},[f]),Q={selectedMessageId:p,selectedThread:I,conversation:L,onOpenThread:h,onCloseThread:r,nextThread:O(q),previousThread:O(z),actions:F,onReply:w,triage:S,onDeleteMessages:T,handleDeselectIfRemoved:v};return n.jsx(De.Provider,{value:Q,children:s})}function Le(){const{selectedMessageId:e,onOpenThread:s,triage:o,onDeleteMessages:r}=J(),{accounts:l}=Y();return n.jsx(St,{accounts:l,selectedMessageId:e,onOpenThread:s,commandsRef:o.listCommandsRef,onTriageContextChange:o.onTriageContextChange,onDeleteMessages:r})}function Ct(){const{conversation:e,selectedThread:s,actions:o,onReply:r,handleDeselectIfRemoved:l}=J(),d=!!e,u=Qs(e?.threadId);return n.jsxs(n.Fragment,{children:[n.jsxs("section",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[n.jsx(Hs,{hasThread:d,intelligenceOpen:u.isShowing,canToggleIntelligence:u.canToggle,onToggleIntelligence:u.toggle,onReply:r?()=>r("reply"):void 0,onReplyAll:r?()=>r("reply-all"):void 0,onForward:r?()=>r("forward"):void 0,onDelete:d?o.deleteThread:void 0,onToggleStar:d?o.toggleStar:void 0,isStarred:o.isStarred,moveContext:d&&o.accountId&&o.mailboxId?{accountId:o.accountId,currentMailboxId:o.mailboxId,onMove:o.moveThread}:void 0}),n.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:e?n.jsx(we,{threadId:e.threadId,mailboxId:e.mailboxId,subject:e.subject,selectedMessageId:e.messageId,authenticity:e.authenticity,onOpenIntelligence:u.open,listOnScreen:!0}):n.jsx(hs,{})})]}),n.jsx(Me,{isOpen:u.drawerOpen,onClose:u.closeDrawer,thread:s,mailboxId:s?.mailboxId,accountId:s?.accountId,onAfterOptimisticRemove:l})]})}function jt(){const{selectedThread:e,handleDeselectIfRemoved:s}=J(),{onToggleIntelligence:o}=Y();return n.jsx(zs,{onClose:o,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:s})}function Rt(){const{selectedThread:e,conversation:s,onOpenThread:o,onCloseThread:r,nextThread:l,previousThread:d,handleDeselectIfRemoved:u}=J(),m=qs(s?.threadId??null);return s?n.jsxs(n.Fragment,{children:[n.jsx(we,{threadId:s.threadId,mailboxId:s.mailboxId,subject:s.subject,selectedMessageId:s.messageId,authenticity:s.authenticity,onBack:r,onOpenIntelligence:m.toggle,onSwipeNext:l?()=>o(l):void 0,onSwipePrevious:d?()=>o(d):void 0,mobileIntelligenceOpen:m.isOpen}),n.jsx(Me,{isOpen:m.isOpen,onClose:m.close,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:u})]}):n.jsx("div",{className:"h-full",children:n.jsx(Le,{})})}const Et=Object.assign(Tt,{List:Le,Reading:Ct,Intelligence:jt,Phone:Rt});export{Et as B};
|
|
1
|
+
import{j as n,as as Xe,S as Ze,bT as es,v as Y,b4 as ss,bG as ts,r as a,D as ne,bU as oe,z as ns,bV as os,bW as as,bX as rs,e as Ce,bY as is,a9 as cs,bQ as ls,bR as ds}from"./index-j7ecFqw2.js";import{s as je,a as us,b as Re,u as ms,p as fs,R as hs}from"./useSearchTokenContext-Da3UBQOl.js";import{aa as be,H as ve,ab as gs,ac as xs,I as ps,ad as ye,ae as Is,af as bs,ag as vs,a9 as ys,ah as Ss,ai as Ts,aj as Cs,M as js,ak as Rs,al as ws,am as Ms,e as ks,v as Fs,an as As,q as Os,S as Ns,L as Bs,Q as Se,P as Ds,N as Ls,d as Es,_ as Ps,$ as qs,a1 as we,a2 as Me,a3 as zs,a4 as Qs,a5 as Hs}from"./MailListHeader-B3YY_4CF.js";import{u as _s,a as Ws,R as $s,i as Gs,b as Us}from"./useRefreshControl-6h8tNzXK.js";import{f as Vs,p as Ys,d as Js,R as Ks,k as Xs,l as Zs}from"./search-token-index-Cu5-Gmia.js";import{a as et}from"./useLabels-Bzhx-vJq.js";import{u as st,r as tt,L as nt}from"./useSemanticSearch-BToHBgCX.js";import{w as ot}from"./wizard-selection-B1bng5Jq.js";import{u as ke}from"./index-BT2o-gjq.js";import{a as at}from"./useMessageBodyContent-BA1AUGF-.js";function rt({sync:e}){return e?n.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:[n.jsx(Xe,{className:"size-8 animate-spin text-fg-subtle","aria-hidden":"true"}),n.jsx("p",{className:"text-sm font-medium text-fg",children:"Still syncing your mail"}),n.jsx("p",{className:"text-xs text-fg-subtle",children:it(e)})]}):n.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-2 py-12 text-center px-4",children:[n.jsx(Ze,{className:"size-8 text-fg-subtle","aria-hidden":"true"}),n.jsx("p",{className:"text-sm font-medium text-fg",children:"You're caught up"}),n.jsx("p",{className:"text-xs text-fg-subtle",children:"Nothing needs attention."})]})}function it({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"}],Ae="category",ct={unclassified:"uncategorized"},W=e=>us(e).map(s=>s.raw),_=e=>e.join(" "),ae=e=>{const s=Re(e);if(s)return Fe.find(o=>o.name===s.name&&o.value===s.value.toLowerCase())?.id},re=e=>{const s=Re(e);if(!s||s.name!==Ae)return;const o=s.value.toLowerCase(),r=ct[o];if(r)return r;if(!(!es(o)||o==="all"))return o},Oe=e=>Fe.find(s=>s.id===e),Ne=e=>Oe(e)!==void 0,lt=e=>{const s=new Set;for(const o of W(e)){const r=ae(o);r&&s.add(r)}return s},dt=e=>{let s="all";for(const o of W(e)){const r=re(o);r&&(s=r)}return s},ut=(e,s)=>{const o=Oe(s);if(!o)return;const r=W(e),l=r.filter(d=>ae(d)!==s);return l.length<r.length?_(l):_([...r,je(o.name,o.value)])},mt=(e,s)=>{const o=W(e).filter(r=>!re(r));return _(s==="all"?o:[...o,je(Ae,s)])},ft=e=>_(W(e).filter(s=>!ae(s)&&!re(s))),Be=e=>e.trim().length>0,ht=e=>{if(!Be(e.query))return e.ownFilters;const s=new Set(lt(e.query));for(const o of e.ownFilters)Ne(o)||s.add(o);return s},gt=e=>Be(e.query)?dt(e.query):e.ownCategory,xt=(e,s)=>e.createdAt!==s.createdAt?e.createdAt-s.createdAt:e.accountId.localeCompare(s.accountId),pt=e=>[...e].sort(xt),It=200,Te=()=>n.jsx("div",{className:"animate-pulse",children:Array.from({length:3}).map((e,s)=>n.jsxs("div",{className:"flex items-start gap-3 py-2 pl-5 pr-4 border-b border-line",children:[n.jsx("div",{className:"size-7 rounded-full bg-surface-sunken shrink-0 mt-0.5"}),n.jsxs("div",{className:"flex-1 space-y-1.5",children:[n.jsxs("div",{className:"flex justify-between gap-2",children:[n.jsx("div",{className:"h-3.5 bg-surface-sunken rounded w-28"}),n.jsx("div",{className:"h-3 bg-surface-sunken rounded w-12"})]}),n.jsx("div",{className:"h-3.5 bg-surface-sunken rounded w-48"}),n.jsx("div",{className:"h-3 bg-surface-sunken rounded w-full"})]})]},s))}),bt=({accountEmail:e})=>{const s=ke();return n.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:[n.jsx(Ce,{className:"size-3.5 shrink-0"}),n.jsxs("span",{className:"flex-1 truncate",children:[e," can't connect"]}),n.jsx("button",{type:"button",onClick:()=>s("accounts"),className:"shrink-0 underline text-danger hover:opacity-80",children:"Reconnect"})]})},vt=(e,s)=>{if(s.size===0)return{};const o=e.filter(d=>s.has(d.id)),r=tt(o.map(d=>d.accountId));if(r.restriction)return r;const l=new Set;for(const d of o)d.mailboxId&&l.add(d.mailboxId);return l.size>1?{accountId:r.accountId,restriction:"spansFolders",moveDisabledHint:`Move only works within one folder — this selection spans ${l.size} folders`}:{accountId:r.accountId,mailboxId:l.size===1?[...l][0]:void 0}};function yt({header:e,rows:s,wizard:o,children:r}){const{selectedIds:l,selectedCount:d,exitSelection:u,orderedIds:m,allSelected:b,toggleAllLoaded:f}=Ms(),x=a.useMemo(()=>vt(s,l),[s,l]),{junkMailboxId:D}=ks(x.accountId),{labels:I}=et(x.accountId),p=a.useMemo(()=>Array.from(l),[l]),L=a.useMemo(()=>ot(s,l),[s,l]),h=Fs(D,x.mailboxId),v=a.useMemo(()=>m.length>0?{checked:b,indeterminate:d>0&&!b,onChange:f}:void 0,[m.length,b,d,f]),F=x.moveDisabledHint?{tone:"warning",text:x.moveDisabledHint}:void 0,S=T=>n.jsx(Ns,{title:T.title,navSlot:T.navSlot,titleMeta:T.titleMeta,searchSlot:T.searchSlot,searchField:T.searchField,idleSlot:T.makeFilterSlot,count:d,onCancel:u,onDelete:()=>o.start("delete"),onMove:()=>o.start("move"),onOrganize:()=>o.start("organize"),onJunk:h?()=>o.start("junk"):void 0,onMarkRead:()=>o.start("markRead"),overflowSlot:x.accountId&&x.mailboxId&&d>0&&I.length>0?n.jsx(nt,{accountId:x.accountId,mailboxId:x.mailboxId,messageIds:p}):void 0,selectAll:v,notice:F});return n.jsx(As,{...e,selectionBar:S,paneOverlay:n.jsx(Os,{verb:o.verb,accountId:x.accountId,mailboxId:x.mailboxId,selection:L,selectionRestriction:x.restriction,onFinished:u}),children:r})}function St({accounts:e,selectedMessageId:s,onOpenThread:o,commandsRef:r,onTriageContextChange:l,onDeleteMessages:d}){const{searchQuery:u,searchInput:m,resultFolderIndex:b,onSearchChange:f}=Y(),x=ms(),D=ss(),I=Vs(),p=ts(),L=Ys(),h=a.useMemo(()=>pt(e.filter(t=>!t.muted?.value)),[e]),[v,F]=a.useState("all"),[S,T]=a.useState("all"),[$,E]=a.useState(new Set),[K,C]=a.useState(!1),P=a.useCallback(t=>{E(i=>{const c=new Set(i);return c.has(t)?c.delete(t):c.add(t),c})},[]),G=a.useCallback(()=>E(new Set),[]),R=m.trim().length>0,j=a.useMemo(()=>ht({query:m,ownFilters:$}),[m,$]),w=a.useMemo(()=>gt({query:m,ownCategory:S}),[m,S]),A=a.useCallback(t=>{if(!R||!Ne(t)){P(t);return}const i=ut(m,t);i!==void 0&&f(i)},[R,m,f,P]),q=a.useCallback(t=>{if(!R){T(t);return}f(mt(m,t))},[R,m,f]),z=a.useCallback(()=>{T("all"),F("all"),G(),R&&f(ft(m))},[R,m,f,G]),{data:O,isLoading:Q,isError:g,refetch:N}=ne({...oe(),staleTime:6e4}),B=Js({queries:h.map(t=>({...ns({path:{accountId:t.accountId}}),staleTime:1/0,meta:{softError:!0}}))}),U=a.useMemo(()=>{const t=new Map;for(let i=0;i<h.length;i++){const c=h[i].accountId,Ye=(B[i]?.data?.items??[]).reduce((Je,Ke)=>Je+(Ke.unseenCount??0),0);t.set(c,Ye)}return t},[h,B]),Ee=a.useMemo(()=>h.filter((t,i)=>{const c=B[i];return c?.isError?!os(c.error):!1}),[h,B]),{freeText:M,tokens:X}=fs(u.trim().toLowerCase(),x),{data:ie,isFetching:Pe}=ne({...oe({query:{query:M,limit:It}}),enabled:M.length>0,staleTime:3e4}),y=a.useMemo(()=>{const t=be(O?.items??[]).map(ve);return(M?gs(t.filter(c=>xs(c,M)),be(ie?.items??[]).map(ve)):t).filter(c=>(v==="all"||c.accountId===v)&&ps(c,X))},[O,ie,v,M,X]),{bodyRows:ce,briefSpamOffer:Z}=a.useMemo(()=>{if(!M)return{bodyRows:y,briefSpamOffer:void 0};const t=y.map(k=>ye(k,b)),{spam:i}=Is(t);if(i.length===0)return{bodyRows:y,briefSpamOffer:void 0};const c=new Set(i.map(k=>k.id));return{bodyRows:y.filter(k=>!c.has(k.id)),briefSpamOffer:bs(t)}},[y,M,b]),le=a.useMemo(()=>vs(ce),[ce]),de=a.useCallback((t,i)=>{const c=y.find(k=>k.id===t)?.threadId;c&&o?.({threadId:c,messageId:t},i)},[y,o]),qe=a.useCallback(t=>{const i=t.threadId??y.find(c=>c.id===t.id)?.threadId;i&&o?.({threadId:i,messageId:t.id})},[y,o]),ee=a.useMemo(()=>h.length<=1?[]:[{id:"all",label:"All",active:v==="all"},...h.map(t=>({id:t.accountId,label:t.email.split("@")[0]??t.email,count:U.get(t.accountId),active:v===t.accountId}))],[h,U,v]),H=a.useMemo(()=>e.filter(t=>t.muted?.value).length,[e]),ze=a.useMemo(()=>Array.from(U.values()).reduce((t,i)=>t+i,0),[U]),se=a.useMemo(()=>h.map(t=>t.accountId),[h]),{hasNewMail:ue}=_s(),{state:me,errorMessage:fe,refresh:he}=Ws(se,{onSettled:()=>N()}),Qe=a.useMemo(()=>n.jsx($s,{state:me,onRefresh:he,label:"Refresh daily brief",errorMessage:fe,hasUpdate:ue(se)}),[me,he,fe,ue,se]),te=a.useMemo(()=>y.filter(t=>(w==="all"||t.category===w)&&as(t,j)).map(t=>ye(t,b)),[y,w,j,b]),{hits:ge,isLoading:He}=st(),_e=a.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 ys(ge,i,b)},[ge,te,O,b]),We=a.useMemo(()=>{const t=Ss(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:j,expanded:K,onExpandedChange:C,onSelectCategory:i=>q(i),onSelectSource:F,onToggleFilter:i=>A(i),onClear:z}},[ee,H,w,j,K,A,q,z]),xe=le.length===0&&v==="all"&&M.length===0&&X.length===0,$e=a.useMemo(()=>h.map(t=>t.accountId),[h]),Ge=a.useMemo(()=>h.some(t=>Gs(t.syncPhase)),[h]),V=Us($e,xe||Ge),pe=n.jsxs("div",{className:"h-full overflow-y-auto",children:[n.jsx(Te,{}),n.jsx(Te,{})]}),Ie=!Q&&!g&&!xe,Ue=Ts({tier:I,hasLiveInput:R,hasCommittedQuery:u.trim().length>0,bodyRendersCommittedResults:!0}),Ve=Ie?n.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[Z&&n.jsx(Cs,{count:Z.count,onScopeToSpam:()=>L(Z.mailboxId,u)}),n.jsx("div",{className:"min-h-0 flex-1",children:n.jsx(rs,{sections:le,briefCategory:w,Row:js,selectedThreadId:s,onSelectThread:de,onSelectBriefCategory:q,sources:ee,sourcesNote:H>0?`+${H} muted`:void 0,onSelectSource:F,activeFilters:j,onToggleFilter:A,onClearFilters:z})})]}):Q?pe:g?n.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-3 py-12 text-sm text-fg-muted",children:[n.jsx(Ce,{className:"size-8 text-danger"}),n.jsx("p",{children:"Couldn't load your messages"}),n.jsxs("button",{type:"button",onClick:()=>N(),className:"flex items-center gap-1 text-accent underline text-xs",children:[n.jsx(Ks,{className:"size-3.5"}),"Try again"]})]}):V.resolved?n.jsx(rt,{sync:V.syncing?{synced:V.synced,total:V.total}:void 0}):pe;return n.jsx(is,{hasSheet:Ie&&!Ue,children:n.jsx(Rs,{selectedMessageId:s,rows:y,onOpen:de,onDeleteMessages:d,onSelectionVerb:p.start,commandsRef:r,onTriageContextChange:l,children:n.jsx(yt,{wizard:p,header:{title:"Daily brief",unreadCount:ze,footer:D?n.jsx(ws,{}):void 0,searchFilter:We,searchResults:te,searchLoading:Q||Pe,relatedResults:_e,relatedLoading:He,onSelectSearchResult:qe,searchResultsInBody:!0,refreshControl:Qe},rows:y,children:n.jsxs("div",{className:"flex h-full flex-col",children:[Ee.map(t=>n.jsx(bt,{accountEmail:t.email,accountId:t.accountId},t.accountId)),n.jsx("div",{className:"min-h-0 flex-1",children:Ve})]})})})})}const De=a.createContext(null);function J(){const e=a.useContext(De);if(!e)throw new Error("BriefPane.* must be used inside <BriefPane>");return e}function Tt({thread:e,children:s}){const o=Xs(),r=Zs(),l=ke(),{searchInput:d}=Y(),u=e?.threadId,m=e?.messageId,{data:b}=ne({...oe(),staleTime:6e4}),f=a.useMemo(()=>b?.items??[],[b]),x=a.useMemo(()=>{if(u)return f.find(g=>g.messageId===m)??f.find(g=>g.threadId===u)},[f,u,m]),D=Bs(u,m),I=x??D,p=m??I?.messageId,L=a.useMemo(()=>{if(u)return{threadId:u,mailboxId:I?.mailboxId??"",subject:I?.subject,messageId:p,authenticity:I?.authenticity}},[u,I,p]),h=a.useCallback((g,N)=>{o(g,{replace:N?.replace,query:d})},[o,d]),v=a.useCallback(g=>{p&&g.includes(p)&&r()},[p,r]),F=Se({thread:I,isOpen:!0,onAfterOptimisticRemove:v}),S=Ds(),{deleteMessages:T}=Ls({mailboxId:I?.mailboxId??"",messages:f,onAfterOptimisticRemove:v}),{toggleReadFor:$}=Es({mailboxId:I?.mailboxId??"",messages:f}),E=S.focusedMessageId,C=a.useMemo(()=>f.find(g=>g.messageId===E),[f,E])??I,P=Se({thread:C,isOpen:C?.messageId===p}),G=at(),R=cs(),j=ls(),w=a.useMemo(()=>ds(j,u,p),[j,u,p]),A=a.useMemo(()=>{if(C)return g=>j({threadId:C.threadId,messageId:C.messageId,mode:g})},[j,C]),{nextMessageId:q,previousMessageId:z}=Ps({context:S,orderedIds:S.orderedIds,selectedMessageId:p,enabled:!G&&!R,hasOpenThread:u!==void 0,onClose:r,handlers:{reply:()=>A?.("reply"),replyAll:()=>A?.("reply-all"),forward:()=>A?.("forward"),delete:()=>{S.listCommandsRef.current?.requestVerb("delete")||P.deleteThread()},toggleStar:P.toggleStar,toggleRead:()=>{S.listCommandsRef.current?.requestVerb("markRead")||C&&$([C.messageId],!C.isRead)},goFlagged:()=>l("flagged"),goSettings:()=>l("settings")}}),O=a.useCallback(g=>{if(!g)return;const N=f.find(B=>B.messageId===g);return N?{threadId:N.threadId,messageId:g}:void 0},[f]),Q={selectedMessageId:p,selectedThread:I,conversation:L,onOpenThread:h,onCloseThread:r,nextThread:O(q),previousThread:O(z),actions:F,onReply:w,triage:S,onDeleteMessages:T,handleDeselectIfRemoved:v};return n.jsx(De.Provider,{value:Q,children:s})}function Le(){const{selectedMessageId:e,onOpenThread:s,triage:o,onDeleteMessages:r}=J(),{accounts:l}=Y();return n.jsx(St,{accounts:l,selectedMessageId:e,onOpenThread:s,commandsRef:o.listCommandsRef,onTriageContextChange:o.onTriageContextChange,onDeleteMessages:r})}function Ct(){const{conversation:e,selectedThread:s,actions:o,onReply:r,handleDeselectIfRemoved:l}=J(),d=!!e,u=Qs(e?.threadId);return n.jsxs(n.Fragment,{children:[n.jsxs("section",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[n.jsx(Hs,{hasThread:d,intelligenceOpen:u.isShowing,canToggleIntelligence:u.canToggle,onToggleIntelligence:u.toggle,onReply:r?()=>r("reply"):void 0,onReplyAll:r?()=>r("reply-all"):void 0,onForward:r?()=>r("forward"):void 0,onDelete:d?o.deleteThread:void 0,onToggleStar:d?o.toggleStar:void 0,isStarred:o.isStarred,moveContext:d&&o.accountId&&o.mailboxId?{accountId:o.accountId,currentMailboxId:o.mailboxId,onMove:o.moveThread}:void 0}),n.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:e?n.jsx(we,{threadId:e.threadId,mailboxId:e.mailboxId,subject:e.subject,selectedMessageId:e.messageId,authenticity:e.authenticity,onOpenIntelligence:u.open,listOnScreen:!0}):n.jsx(hs,{})})]}),n.jsx(Me,{isOpen:u.drawerOpen,onClose:u.closeDrawer,thread:s,mailboxId:s?.mailboxId,accountId:s?.accountId,onAfterOptimisticRemove:l})]})}function jt(){const{selectedThread:e,handleDeselectIfRemoved:s}=J(),{onToggleIntelligence:o}=Y();return n.jsx(zs,{onClose:o,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:s})}function Rt(){const{selectedThread:e,conversation:s,onOpenThread:o,onCloseThread:r,nextThread:l,previousThread:d,handleDeselectIfRemoved:u}=J(),m=qs(s?.threadId??null);return s?n.jsxs(n.Fragment,{children:[n.jsx(we,{threadId:s.threadId,mailboxId:s.mailboxId,subject:s.subject,selectedMessageId:s.messageId,authenticity:s.authenticity,onBack:r,onOpenIntelligence:m.toggle,onSwipeNext:l?()=>o(l):void 0,onSwipePrevious:d?()=>o(d):void 0,mobileIntelligenceOpen:m.isOpen}),n.jsx(Me,{isOpen:m.isOpen,onClose:m.close,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:u})]}):n.jsx("div",{className:"h-full",children:n.jsx(Le,{})})}const Et=Object.assign(Tt,{List:Le,Reading:Ct,Intelligence:jt,Phone:Rt});export{Et as B};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as t,e as r}from"./index-
|
|
1
|
+
import{j as t,e as r}from"./index-j7ecFqw2.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{dV as J,r as n,d7 as X,v as H,b4 as Y,bG as Z,aS as ee,aT as te,j as a,a9 as se,bQ as ae,bR as re}from"./index-
|
|
1
|
+
import{dV as J,r as n,d7 as X,v as H,b4 as Y,bG as Z,aS as ee,aT as te,j as a,a9 as se,bQ as ae,bR as re}from"./index-j7ecFqw2.js";import{u as oe,p as ne,R as de}from"./useSearchTokenContext-Da3UBQOl.js";import{H as ie,ac as le,I as ce,aw as ue,ad as ge,b as he,M as me,ak as fe,ax as Ie,am as pe,q as xe,L as Te,Q as z,P as ye,N as be,d as ve,_ as Re,$ as Se,a1 as G,a2 as K,a3 as Ce,a4 as we,a5 as je}from"./MailListHeader-B3YY_4CF.js";import{u as Fe,b as Me,a as Oe}from"./MailViewChrome-CkFF30sv.js";import{f as Pe}from"./ErrorState-Ce7oyAiN.js";import{w as ke}from"./wizard-selection-B1bng5Jq.js";import{a as Le}from"./useMessageBodyContent-BA1AUGF-.js";import{k as Ae,l as Ne}from"./search-token-index-Cu5-Gmia.js";import{u as De}from"./index-BT2o-gjq.js";const Ee=()=>X({query:{starred:!0,order:"desc"}});function W(){const{data:e,isLoading:t,isError:s,error:d,refetch:h,fetchNextPage:c,hasNextPage:r,isFetchingNextPage:m}=Fe({queryKey:Ee(),queryFn:async({pageParam:T})=>{const{data:b}=await J({query:{starred:!0,order:"desc",continuationToken:T},throwOnError:!0});return b},initialPageParam:void 0,getNextPageParam:T=>T.continuationToken,staleTime:6e4});return{threads:n.useMemo(()=>(e?.pages??[]).flatMap(T=>T.items??[]),[e]),isLoading:t,isError:s,error:d,refetch:h,fetchNextPage:c,hasNextPage:r,isFetchingNextPage:m}}const Be=e=>{const t=new Set;return e.filter(s=>t.has(s.threadId)?!1:(t.add(s.threadId),!0))},qe={unread:e=>!e.isRead,attachment:e=>e.hasAttachment===!0};function Qe({rows:e,verb:t}){const{selectedIds:s,exitSelection:d}=pe(),h=n.useMemo(()=>ke(e,s),[e,s]);return a.jsx(xe,{verb:t,selection:h,selectionRestriction:"spansAccounts",onFinished:d})}function He({selectedMessageId:e,onOpenThread:t,commandsRef:s,onTriageContextChange:d,onDeleteMessages:h}){const{searchQuery:c,resultFolderIndex:r}=H(),m=oe(),I=Y(),T=Z(),[b,f]=n.useState("all"),[g,F]=n.useState(new Set),D=n.useCallback(o=>{F(u=>{const x=new Set(u);return x.has(o)?x.delete(o):x.add(o),x})},[]),S=n.useCallback(()=>{f("all"),F(new Set)},[]),{threads:M,isLoading:y,isError:O,error:E,refetch:P,fetchNextPage:V,hasNextPage:p,isFetchingNextPage:C}=W(),{freeText:R,tokens:k}=ne(c.trim().toLowerCase(),m),i=n.useMemo(()=>{const o=Array.from(g).map(u=>qe[u]).filter(u=>u!=null);return Be(M).map(ie).filter(u=>(b==="all"||u.category===b)&&o.every(x=>x(u))&&(!R||le(u,R))&&ce(u,k))},[M,b,g,R,k]),w=n.useCallback((o,u)=>{const x=i.find($=>$.id===o)?.threadId;x&&t?.({threadId:x,messageId:o},u)},[i,t]),j=n.useCallback(o=>{const u=o.threadId??i.find(x=>x.id===o.id)?.threadId;u&&t?.({threadId:u,messageId:o.id})},[i,t]),B=n.useMemo(()=>ue(),[]),q=n.useMemo(()=>i.map(o=>ge(o,r)),[i,r]),L=n.useMemo(()=>i.filter(o=>!o.isRead).length,[i]),A=y?"loading":O?"error":i.length===0?"empty":"ready",l=n.useCallback(()=>{const o=ee(te());window.open(o,"_blank","noopener,noreferrer")},[]),v=he(),Q=a.jsx("div",{className:"flex h-full min-h-0 flex-col",children:a.jsxs("div",{className:"flex-1 overflow-y-auto",children:[a.jsx("div",{className:"divide-y divide-line",children:i.map(o=>a.jsx(me,{thread:o,active:o.id===e,onClick:()=>w(o.id)},o.id))}),p?a.jsx("button",{type:"button",className:"w-full py-3 text-sm text-muted hover:text-fg disabled:opacity-50",onClick:()=>V(),disabled:C,children:C?"Loading…":"Load more"}):null]})});return a.jsx(Me,{title:"Starred",unreadCount:L,preset:B,selectedCategory:b,activeFilters:g,onSelectCategory:f,onToggleFilter:D,onClearFilters:S,searchResults:q,searchLoading:y,onSelectSearchResult:j,searchResultsInBody:!0,children:a.jsxs(fe,{selectedMessageId:e,rows:i,onOpen:w,onDeleteMessages:h,onSelectionVerb:T.start,commandsRef:s,onTriageContextChange:d,children:[a.jsx(Oe,{listTitle:"Starred",sections:[{id:"flagged",threads:i}],flatList:!0,hideHeader:!0,listState:v.searchResults?"ready":A,searchQuery:R?c:void 0,errorMessage:O?Pe(E):void 0,onRetry:()=>P(),onReportError:l,selectedThreadId:e,onSelectThread:w,isDesktop:I,selectionBar:a.jsx(Ie,{title:"Starred"}),listBody:v.searchResults??(A==="ready"?Q:void 0)}),a.jsx(Qe,{rows:i,verb:T.verb})]})})}const _=n.createContext(null);function N(){const e=n.useContext(_);if(!e)throw new Error("FlaggedPane.* must be used inside <FlaggedPane>");return e}function Ve({thread:e,children:t}){const s=Ae(),d=Ne(),h=De(),{searchInput:c}=H(),r=e?.threadId,m=e?.messageId,{threads:I}=W(),T=n.useMemo(()=>{if(r)return I.find(l=>l.messageId===m)??I.find(l=>l.threadId===r)},[I,r,m]),b=Te(r,m),f=T??b,g=m??f?.messageId,F=n.useMemo(()=>{if(r)return{threadId:r,mailboxId:f?.mailboxId??"",subject:f?.subject,messageId:g,authenticity:f?.authenticity}},[r,f,g]),D=n.useCallback((l,v)=>{s(l,{replace:v?.replace,query:c})},[s,c]),S=n.useCallback(l=>{g&&l.includes(g)&&d()},[g,d]),M=z({thread:f,isOpen:!0,onAfterOptimisticRemove:S}),y=ye(),{deleteMessages:O}=be({mailboxId:f?.mailboxId??"",messages:I,onAfterOptimisticRemove:S}),{toggleReadFor:E}=ve({mailboxId:f?.mailboxId??"",messages:I}),P=y.focusedMessageId,p=n.useMemo(()=>I.find(l=>l.messageId===P),[I,P])??f,C=z({thread:p,isOpen:p?.messageId===g}),R=Le(),k=se(),i=ae(),w=n.useMemo(()=>re(i,r,g),[i,r,g]),j=n.useMemo(()=>{if(p)return l=>i({threadId:p.threadId,messageId:p.messageId,mode:l})},[i,p]),{nextMessageId:B,previousMessageId:q}=Re({context:y,orderedIds:y.orderedIds,selectedMessageId:g,enabled:!R&&!k,hasOpenThread:r!==void 0,onClose:d,handlers:{reply:()=>j?.("reply"),replyAll:()=>j?.("reply-all"),forward:()=>j?.("forward"),delete:()=>{y.listCommandsRef.current?.requestVerb("delete")||C.deleteThread()},toggleStar:C.toggleStar,toggleRead:()=>{y.listCommandsRef.current?.requestVerb("markRead")||p&&E([p.messageId],!p.isRead)},goBrief:()=>h("brief"),goSettings:()=>h("settings")}}),L=n.useCallback(l=>{if(!l)return;const v=I.find(Q=>Q.messageId===l);return v?{threadId:v.threadId,messageId:l}:void 0},[I]),A={selectedMessageId:g,selectedThread:f,conversation:F,onOpenThread:D,onCloseThread:d,nextThread:L(B),previousThread:L(q),actions:M,onReply:w,triage:y,onDeleteMessages:O,handleDeselectIfRemoved:S};return a.jsx(_.Provider,{value:A,children:t})}function U(){const{selectedMessageId:e,onOpenThread:t,triage:s,onDeleteMessages:d}=N();return a.jsx(He,{selectedMessageId:e,onOpenThread:t,commandsRef:s.listCommandsRef,onTriageContextChange:s.onTriageContextChange,onDeleteMessages:d})}function ze(){const{conversation:e,selectedThread:t,actions:s,onReply:d,handleDeselectIfRemoved:h}=N(),c=!!e,r=we(e?.threadId);return a.jsxs(a.Fragment,{children:[a.jsxs("section",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[a.jsx(je,{hasThread:c,intelligenceOpen:r.isShowing,canToggleIntelligence:r.canToggle,onToggleIntelligence:r.toggle,onReply:d?()=>d("reply"):void 0,onReplyAll:d?()=>d("reply-all"):void 0,onForward:d?()=>d("forward"):void 0,onDelete:c?s.deleteThread:void 0,onToggleStar:c?s.toggleStar:void 0,isStarred:s.isStarred,moveContext:c&&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(G,{threadId:e.threadId,mailboxId:e.mailboxId,subject:e.subject,selectedMessageId:e.messageId,authenticity:e.authenticity,onOpenIntelligence:r.open,listOnScreen:!0}):a.jsx(de,{})})]}),a.jsx(K,{isOpen:r.drawerOpen,onClose:r.closeDrawer,thread:t,mailboxId:t?.mailboxId,accountId:t?.accountId,onAfterOptimisticRemove:h})]})}function Ge(){const{selectedThread:e,handleDeselectIfRemoved:t}=N(),{onToggleIntelligence:s}=H();return a.jsx(Ce,{onClose:s,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:t})}function Ke(){const{selectedThread:e,conversation:t,onCloseThread:s,onOpenThread:d,nextThread:h,previousThread:c,handleDeselectIfRemoved:r}=N(),m=Se(t?.threadId??null);return t?a.jsxs(a.Fragment,{children:[a.jsx(G,{threadId:t.threadId,mailboxId:t.mailboxId,subject:t.subject,selectedMessageId:t.messageId,authenticity:t.authenticity,onBack:s,onOpenIntelligence:m.toggle,onSwipeNext:h?()=>d(h):void 0,onSwipePrevious:c?()=>d(c):void 0,mobileIntelligenceOpen:m.isOpen}),a.jsx(K,{isOpen:m.isOpen,onClose:m.close,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:r})]}):a.jsx("div",{className:"h-full",children:a.jsx(U,{})})}const tt=Object.assign(Ve,{List:U,Reading:ze,Intelligence:Ge,Phone:Ke});export{tt as F};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as n,D as f,a2 as m,L as N,j as e,b4 as w,X as E}from"./index-
|
|
1
|
+
import{r as n,D as f,a2 as m,L as N,j as e,b4 as w,X as E}from"./index-j7ecFqw2.js";import{E as u}from"./ErrorState-Ce7oyAiN.js";import{D as r,C as x,a as k}from"./index-BT2o-gjq.js";import{b as p,e as h,f as b}from"./useMessageBodyContent-BA1AUGF-.js";import{C as S}from"./confirm-dialog-CZU8SrVV.js";const C=t=>t?"Draft":"New Message",I=()=>{const t=n.useRef(!1);return n.useCallback(()=>{const s=document.querySelector("[data-subject-field]")?.value??"",o=(document.querySelector('[data-testid="compose-body"]')?.textContent??"").replace(/--\s*/g,"").trim();return t.current=s.trim().length>0||o.length>0,t.current},[])},O=()=>{const t=p(),i=h(),s=b(),a=I(),[l,o]=n.useState(!1),{isError:d,error:c,refetch:g}=f({...m(),staleTime:1/0}),j=n.useCallback(D=>{D||(a()?o(!0):s())},[s,a]),y=n.useCallback(()=>{o(!1),s()},[s]),v=n.useCallback(()=>{o(!1)},[]);return N({id:"mobile-compose",open:!0}),e.jsxs(r.Root,{open:!0,onOpenChange:j,children:[e.jsxs(r.Portal,{children:[e.jsx(r.Overlay,{className:"fixed inset-0 z-40 bg-black/40"}),e.jsxs(r.Content,{className:"fixed inset-x-0 bottom-0 z-50 flex flex-col rounded-t-lg bg-canvas pb-[env(safe-area-inset-bottom,0px)]",style:{height:"95dvh"},children:[e.jsx(r.Handle,{className:"mx-auto mt-2 mb-1 h-1.5 w-12 rounded-full bg-fg-muted/30"}),e.jsx(r.Title,{className:"px-4 py-2 text-base font-semibold border-b border-line",children:C(t)}),d?e.jsx("div",{className:"flex-1 flex items-center justify-center p-4",children:e.jsx(u,{title:"Couldn't load compose",error:c,onRetry:()=>{g()}})}):e.jsx("div",{className:"flex-1 overflow-hidden",children:e.jsx(x,{mode:"new",outboxMessageId:t,onDraftCreated:i,onClose:s})})]})]}),e.jsx(S,{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})]})},L=()=>{const t=p(),i=h(),s=b(),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(O,{});const c=e.jsxs("header",{className:"flex items-center justify-between gap-2 px-4 py-3 border-b border-line shrink-0",children:[e.jsx("div",{className:"flex items-center gap-2 min-w-0",children:e.jsx("h2",{className:"text-lg font-semibold truncate",children:C(t)})}),e.jsx("button",{type:"button",onClick:s,className:"p-2 rounded-md hover:bg-surface-raised transition-colors min-h-11 min-w-11 inline-flex items-center justify-center","aria-label":"Close",children:e.jsx(E,{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{L as F};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{ah as ys,cQ as jr,r as l,c as ce,j as a,C as ft,d as Un,B as V,X as Dt,aG as Ie,cR as Bn,b as _,a as Je,S as Ye,b6 as Sr,cS as Cr,cT as Nr,at as Ft,T as Ot,cU as Kn,bo as ks,cV as Tr,cW as qn,aA as Ir,as as Qn,e as Er,cX as Rr,aF as Hn,cY as Mr,cZ as Ar,c_ as $r,c$ as Lr,d0 as Pr,d1 as Dr,d2 as Fr,d3 as Or,n as zr,D as ee,a2 as bt,z as xt,d4 as _r,d5 as Ur,d6 as zt,K as Gn,bP as Vn,d7 as Wn,x as ie,ai as xe,ak as me,Z as Xe,bL as Re,d8 as _t,cD as Br,d9 as Me,da as Kr,db as Ws,dc as qr,dd as Qr,de as Hr,df as Gr,cu as Vr,bJ as ws,bK as Yn,dg as Wr,b4 as js,y as Yr,b7 as Jn,b1 as Xn,b8 as Zn,b9 as ea,L as Ss,ba as Jr,aS as Xr,aT as Zr,cP as eo,dh as to,t as ta,cO as so,di as no,dj as ao,dk as sa,dl as ro,bQ as oo,bz as Cs,c2 as io,bV as Ys,dm as lo,dn as es,dp as co,by as uo,$ as fo,a7 as mo,N as na,P as po,bS as Js,bi as ho,dq as go,dr as bo,al as Xs,bN as xo,ds as vo,dt as yo,v as Ut,du as ko,dv as wo,dw as Zs,dx as jo,dy as So,dz as Co,i as aa,dA as Ns,bO as ke,dB as No,cv as To,c1 as Io,dC as Eo,dD as en,g as Ro,cw as Mo}from"./index-CXB5ntl2.js";import{B as Ao,q as $o,S as ra,d as Ts,l as Lo,g as Po,D as Do,b as It,a as Fo,t as lt,h as Oo,r as zo,v as _o,p as Uo,f as Bo,u as Ko,j as qo}from"./search-token-index-BMju4L3v.js";import{K as Qo}from"./kbd-BfuThwxu.js";import{P as oa,f as Ho,U as Go,a as Vo,E as Wo,s as Yo}from"./attachment-file-BOHDSAx4.js";import{M as Jo}from"./mail-ZMzCjhG1.js";import{A as mt}from"./avatar-8cHNN7qH.js";import{M as Xo,c as Zo,d as ia,e as ei,f as la,g as ca,a as ti,b as si,S as tn,s as da,u as ua,p as ni,r as ai}from"./useSearchTokenContext-BON06yA6.js";import{C as ri,D as He,a as oi}from"./index-6BwK7Mqt.js";import{E as Oe}from"./ErrorState-Db5X9sQU.js";import{e as fa,b as Ze,a as ii,g as li,c as ze,h as ci,d as di}from"./format-CUrh4Dxc.js";import{D as ui}from"./download-Bure-U5E.js";import{g as fi}from"./useMessageBodyContent-DM2O0Kjv.js";import{S as mi}from"./shield-check-B-qifIn4.js";import{u as ma}from"./useDebouncedValue-BROrRfuh.js";import{h as sn,u as pi,a as hi,i as gi,n as bi,o as xi,j as vi,k as yi,S as ki}from"./useFilters-CfXrvm3o.js";import{C as Et}from"./confirm-dialog-DASq24zn.js";import{C as wi}from"./clock-Aibc0yY3.js";import{r as ji,b as Si}from"./search-scope-DTcpOp3S.js";import{M as Ci}from"./menu-zhBtgh7u.js";function pt(e){if(Ni())e.focus({preventScroll:!0});else{let t=Ti(e);e.focus(),Ii(t)}}let Rt=null;function Ni(){if(Rt==null){Rt=!1;try{document.createElement("div").focus({get preventScroll(){return Rt=!0,!0}})}catch{}}return Rt}function Ti(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 Ii(e){for(let{element:t,scrollTop:s,scrollLeft:n}of e)t.scrollTop=s,t.scrollLeft=n}const Te=e=>e?.ownerDocument??document,Ee=e=>e&&"window"in e&&e.window===e?e:Te(e).defaultView||window;function Ei(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function Ri(e){return Ei(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}let Mi=!1;function pa(){return Mi}function be(e,t){if(!pa())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:Ri(s)?s=s.host:s=s.parentNode}return!1}function Z(e){if(pa()&&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 Ai=typeof Element<"u"&&"checkVisibility"in Element.prototype;function $i(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 Li(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 ha(e,t){return Ai?e.checkVisibility({visibilityProperty:!0})&&!e.closest("[data-react-aria-prevent-focus]"):e.nodeName!=="#comment"&&$i(e)&&Li(e,t)&&(!e.parentElement||ha(e.parentElement,e))}const ga=["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"],Pi=ga.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";ga.push('[tabindex]:not([tabindex="-1"]):not([disabled])');function Di(e,t){return e.matches(Pi)&&!Fi(e)&&(t?.skipVisibilityCheck||ha(e))}function Fi(e){let t=e;for(;t!=null;){if(t instanceof Ee(t).HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}const Is=typeof document<"u"?ys.useLayoutEffect:()=>{};function Oi(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function zi(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function _i(e){for(;e&&!Di(e,{skipVisibilityCheck:!0});)e=e.parentElement;let t=Ee(e),s=t.document.activeElement;if(!s||s===e)return;let n=!1,r=g=>{(Z(g)===s||n)&&g.stopImmediatePropagation()},o=g=>{(Z(g)===s||n)&&(g.stopImmediatePropagation(),!e&&!n&&(n=!0,pt(s),d()))},i=g=>{(Z(g)===e||n)&&g.stopImmediatePropagation()},c=g=>{(Z(g)===e||n)&&(g.stopImmediatePropagation(),n||(n=!0,pt(s),d()))};t.addEventListener("blur",r,!0),t.addEventListener("focusout",o,!0),t.addEventListener("focusin",c,!0),t.addEventListener("focus",i,!0);let d=()=>{cancelAnimationFrame(b),t.removeEventListener("blur",r,!0),t.removeEventListener("focusout",o,!0),t.removeEventListener("focusin",c,!0),t.removeEventListener("focus",i,!0),n=!1},b=requestAnimationFrame(d);return d}function Bt(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 Es(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.userAgentData?.platform||window.navigator.platform):!1}function Ae(e){let t=null;return()=>(t==null&&(t=e()),t)}const $t=Ae(function(){return Es(/^Mac/i)}),Ui=Ae(function(){return Es(/^iPhone/i)}),ba=Ae(function(){return Es(/^iPad/i)||$t()&&navigator.maxTouchPoints>1}),xa=Ae(function(){return Ui()||ba()}),Bi=Ae(function(){return Bt(/AppleWebKit/i)&&!Ki()}),Ki=Ae(function(){return Bt(/Chrome/i)}),va=Ae(function(){return Bt(/Android/i)}),qi=Ae(function(){return Bt(/Firefox/i)});function Qi(e){return e.pointerType===""&&e.isTrusted?!0:va()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function Hi(e){return!va()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}function ht(e,t,s=!0){let{metaKey:n,ctrlKey:r,altKey:o,shiftKey:i}=t;qi()&&window.event?.type?.startsWith("key")&&e.target==="_blank"&&($t()?n=!0:r=!0);let c=Bi()&&$t()&&!ba()?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});ht.isOpening=s,pt(e),e.dispatchEvent(c),ht.isOpening=!1}ht.isOpening=!1;let Ne=new Map,ds=new Set;function nn(){if(typeof window>"u")return;function e(n){return"propertyName"in n}let t=n=>{let r=Z(n);if(!e(n)||!r)return;let o=Ne.get(r);o||(o=new Set,Ne.set(r,o),r.addEventListener("transitioncancel",s,{once:!0})),o.add(n.propertyName)},s=n=>{let r=Z(n);if(!e(n)||!r)return;let o=Ne.get(r);if(o&&(o.delete(n.propertyName),o.size===0&&(r.removeEventListener("transitioncancel",s),Ne.delete(r)),Ne.size===0)){for(let i of ds)i();ds.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",s)}typeof document<"u"&&(document.readyState!=="loading"?nn():document.addEventListener("DOMContentLoaded",nn));function Gi(){for(const[e]of Ne)"isConnected"in e&&!e.isConnected&&Ne.delete(e)}function Vi(e){requestAnimationFrame(()=>{Gi(),Ne.size===0?e():ds.add(e)})}function ya(...e){return(...t)=>{for(let s of e)typeof s=="function"&&s(...t)}}let us=new Map;typeof FinalizationRegistry<"u"&&new FinalizationRegistry(e=>{us.delete(e)});function Wi(e,t){if(e===t)return e;let s=us.get(e);if(s)return s.forEach(r=>r.current=t),t;let n=us.get(t);return n?(n.forEach(r=>r.current=e),e):t}function Yi(...e){return e.length===1&&e[0]?e[0]:t=>{let s=!1;const n=e.map(r=>{const o=an(r,t);return s||=typeof o=="function",o});if(s)return()=>{n.forEach((r,o)=>{typeof r=="function"?r():an(e[o],null)})}}}function an(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function vt(...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]=ya(o,i):(r==="className"||r==="UNSAFE_className")&&typeof o=="string"&&typeof i=="string"?t[r]=jr(o,i):r==="id"&&o&&i?t.id=Wi(o,i):r==="ref"&&o&&i?t.ref=Yi(o,i):t[r]=i!==void 0?i:o}}return t}function Ji(e,t){Is(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}const Xi=ys.useInsertionEffect??Is;function ts(e){const t=l.useRef(null);return Xi(()=>{t.current=e},[e]),l.useCallback((...s)=>{const n=t.current;return n?.(...s)},[])}let Ve="default",fs="",At=new WeakMap;function Zi(e){if(xa()){if(Ve==="default"){const t=Te(e);fs=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}Ve="disabled"}else if(e instanceof HTMLElement||e instanceof SVGElement){let t="userSelect"in e.style?"userSelect":"webkitUserSelect";At.set(e,e.style[t]),e.style[t]="none"}}function rn(e){if(xa()){if(Ve!=="disabled")return;Ve="restoring",setTimeout(()=>{Vi(()=>{if(Ve==="restoring"){const t=Te(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=fs||""),fs="",Ve="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&At.has(e)){let t=At.get(e),s="userSelect"in e.style?"userSelect":"webkitUserSelect";e.style[s]==="none"&&(e.style[s]=t),e.getAttribute("style")===""&&e.removeAttribute("style"),At.delete(e)}}function on(e){return e?.defaultView?.__webpack_nonce__||globalThis.__webpack_nonce__||void 0}let ss=new WeakMap;function el(e){let t=e??(typeof document<"u"?document:void 0);if(!t)return on(t);if(ss.has(t))return ss.get(t);let s=t.querySelector('meta[property="csp-nonce"]'),n=s&&s instanceof Ee(s).HTMLMetaElement&&(s.nonce||s.content)||on(t)||void 0;return n!==void 0&&ss.set(t,n),n}const ka=ys.createContext({register:()=>{}});ka.displayName="PressResponderContext";function wa(){let e=l.useRef(new Map),t=l.useCallback((r,o,i,c)=>{let d=c?.once?(...b)=>{e.current.delete(i),i(...b)}:i;e.current.set(i,{type:o,eventTarget:r,fn:d,options:c}),r.addEventListener(o,d,c)},[]),s=l.useCallback((r,o,i,c)=>{let d=e.current.get(i)?.fn||i;r.removeEventListener(o,d,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 tl(e){let t=l.useContext(ka);if(t){let{register:s,ref:n,...r}=t;e=vt(r,e),s()}return Ji(t,e.ref),e}class Mt{#e;constructor(t,s,n,r){this.#e=!0;const i=(r?.target??n.currentTarget)?.getBoundingClientRect();let c,d=0,b,g=null;n.clientX!=null&&n.clientY!=null&&(b=n.clientX,g=n.clientY),i&&(b!=null&&g!=null?(c=b-i.left,d=g-i.top):(c=i.width/2,d=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=d,this.key=n.key}continuePropagation(){this.#e=!1}get shouldStopPropagation(){return this.#e}}const ln=Symbol("linkClicked"),cn="react-aria-pressable-style",dn="data-react-aria-pressable";function sl(e){let{onPress:t,onPressChange:s,onPressStart:n,onPressEnd:r,onPressUp:o,onClick:i,isDisabled:c,isPressed:d,preventFocusOnPress:b,shouldCancelOnPointerExit:g,allowTextSelectionOnPress:v,ref:p,...x}=tl(e),[f,u]=l.useState(!1),m=l.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null,disposables:[]}),{addGlobalListener:h,removeAllGlobalListeners:C}=wa(),y=l.useCallback((k,I)=>{let R=m.current;if(c||R.didFirePressStart)return!1;let j=!0;if(R.isTriggeringEvent=!0,n){let M=new Mt("pressstart",I,k);n(M),j=M.shouldStopPropagation}return s&&s(!0),R.isTriggeringEvent=!1,R.didFirePressStart=!0,u(!0),j},[c,n,s]),w=l.useCallback((k,I,R=!0)=>{let j=m.current;if(!j.didFirePressStart)return!1;j.didFirePressStart=!1,j.isTriggeringEvent=!0;let M=!0;if(r){let S=new Mt("pressend",I,k);r(S),M=S.shouldStopPropagation}if(s&&s(!1),u(!1),t&&R&&!c){let S=new Mt("press",I,k);t(S),M&&=S.shouldStopPropagation}return j.isTriggeringEvent=!1,M},[c,r,s,t]),N=ts(w),E=l.useCallback((k,I)=>{let R=m.current;if(c)return!1;if(o){R.isTriggeringEvent=!0;let j=new Mt("pressup",I,k);return o(j),R.isTriggeringEvent=!1,j.shouldStopPropagation}return!0},[c,o]),P=ts(E),z=l.useCallback(k=>{let I=m.current;if(I.isPressed&&I.target){I.didFirePressStart&&I.pointerType!=null&&w(De(I.target,k),I.pointerType,!1),I.isPressed=!1,I.isOverTarget=!1,I.activePointerId=null,I.pointerType=null,C(),v||rn(I.target);for(let R of I.disposables)R();I.disposables=[]}},[v,C,w]),U=ts(z);l.useEffect(()=>{c&&m.current.isPressed&&U({currentTarget:m.current.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})},[c]);let L=l.useCallback(k=>{g&&z(k)},[g,z]),D=l.useCallback(k=>{c||i?.(k)},[c,i]),F=l.useCallback((k,I)=>{if(!c&&i){let R=new MouseEvent("click",k);zi(R,I),i(Oi(R))}},[c,i]),O=l.useMemo(()=>{let k=m.current,I={onKeyDown(j){if(ns(j.nativeEvent,j.currentTarget)&&be(j.currentTarget,Z(j))){un(Z(j),j.key)&&j.preventDefault();let M=!0;!k.isPressed&&!j.repeat&&(k.target=j.currentTarget,k.isPressed=!0,k.pointerType="keyboard",M=y(j,"keyboard"));let S=j.currentTarget,K=$=>{ns($,S)&&!$.repeat&&be(S,Z($))&&k.target&&P(De(k.target,$),"keyboard")};h(Te(j.currentTarget),"keyup",ya(K,R),!0),M&&j.stopPropagation(),j.metaKey&&$t()&&k.metaKeyEvents?.set(j.key,j.nativeEvent)}else j.key==="Meta"&&(k.metaKeyEvents=new Map)},onClick(j){if(!(j&&!be(j.currentTarget,Z(j)))&&j&&j.button===0&&!k.isTriggeringEvent&&!ht.isOpening){let M=!0;if(c&&j.preventDefault(),!k.ignoreEmulatedMouseEvents&&!k.isPressed&&(k.pointerType==="virtual"||Qi(j.nativeEvent))){let S=y(j,"virtual"),K=P(j,"virtual"),$=N(j,"virtual");D(j),M=S&&K&&$}else if(k.isPressed&&k.pointerType!=="keyboard"){let S=k.pointerType||j.nativeEvent.pointerType||"virtual",K=P(De(j.currentTarget,j),S),$=N(De(j.currentTarget,j),S,!0);M=K&&$,k.isOverTarget=!1,D(j),U(j)}k.ignoreEmulatedMouseEvents=!1,M&&j.stopPropagation()}}},R=j=>{if(k.isPressed&&k.target&&ns(j,k.target)){un(Z(j),j.key)&&j.preventDefault();let M=Z(j),S=be(k.target,M);N(De(k.target,j),"keyboard",S),S&&F(j,k.target),C(),j.key!=="Enter"&&Rs(k.target)&&be(k.target,M)&&!j[ln]&&(j[ln]=!0,ht(k.target,j,!1)),k.isPressed=!1,k.metaKeyEvents?.delete(j.key)}else if(j.key==="Meta"&&k.metaKeyEvents?.size){let M=k.metaKeyEvents;k.metaKeyEvents=void 0;for(let S of M.values())k.target?.dispatchEvent(new KeyboardEvent("keyup",S))}};if(typeof PointerEvent<"u"){I.onPointerDown=S=>{if(S.button!==0||!be(S.currentTarget,Z(S)))return;if(Hi(S.nativeEvent)){k.pointerType="virtual";return}k.pointerType=S.pointerType;let K=!0;if(!k.isPressed){k.isPressed=!0,k.isOverTarget=!0,k.activePointerId=S.pointerId,k.target=S.currentTarget,v||Zi(k.target),K=y(S,k.pointerType);let $=Z(S);"releasePointerCapture"in $&&("hasPointerCapture"in $?$.hasPointerCapture(S.pointerId)&&$.releasePointerCapture(S.pointerId):$.releasePointerCapture(S.pointerId)),h(Te(S.currentTarget),"pointerup",j,!1),h(Te(S.currentTarget),"pointercancel",M,!1)}K&&S.stopPropagation()},I.onMouseDown=S=>{if(be(S.currentTarget,Z(S))&&S.button===0){if(b){let K=_i(S.target);K&&k.disposables.push(K)}S.stopPropagation()}},I.onPointerUp=S=>{!be(S.currentTarget,Z(S))||k.pointerType==="virtual"||S.button===0&&!k.isPressed&&P(S,k.pointerType||S.pointerType)},I.onPointerEnter=S=>{S.pointerId===k.activePointerId&&k.target&&!k.isOverTarget&&k.pointerType!=null&&(k.isOverTarget=!0,y(De(k.target,S),k.pointerType))},I.onPointerLeave=S=>{S.pointerId===k.activePointerId&&k.target&&k.isOverTarget&&k.pointerType!=null&&(k.isOverTarget=!1,N(De(k.target,S),k.pointerType,!1),L(S))};let j=S=>{if(S.pointerId===k.activePointerId&&k.isPressed&&S.button===0&&k.target){if(be(k.target,Z(S))&&k.pointerType!=null){let K=!1,$=setTimeout(()=>{k.isPressed&&k.target instanceof HTMLElement&&(K?U(S):(pt(k.target),k.target.click()))},80);h(S.currentTarget,"click",()=>K=!0,!0),k.disposables.push(()=>clearTimeout($))}else U(S);k.isOverTarget=!1}},M=S=>{U(S)};I.onDragStart=S=>{be(S.currentTarget,Z(S))&&U(S)}}return I},[h,c,b,C,v,L,y,D,F]);return l.useEffect(()=>{if(!p)return;const k=Te(p.current);if(!k||!k.head||k.getElementById(cn))return;const I=k.createElement("style");I.id=cn;let R=el(k);R&&(I.nonce=R),I.textContent=`
|
|
1
|
+
import{ah as ys,cQ as jr,r as l,c as ce,j as a,C as ft,d as Un,B as V,X as Dt,aG as Ie,cR as Bn,b as _,a as Je,S as Ye,b6 as Sr,cS as Cr,cT as Nr,at as Ft,T as Ot,cU as Kn,bo as ks,cV as Tr,cW as qn,aA as Ir,as as Qn,e as Er,cX as Rr,aF as Hn,cY as Mr,cZ as Ar,c_ as $r,c$ as Lr,d0 as Pr,d1 as Dr,d2 as Fr,d3 as Or,n as zr,D as ee,a2 as bt,z as xt,d4 as _r,d5 as Ur,d6 as zt,K as Gn,bP as Vn,d7 as Wn,x as ie,ai as xe,ak as me,Z as Xe,bL as Re,d8 as _t,cD as Br,d9 as Me,da as Kr,db as Ws,dc as qr,dd as Qr,de as Hr,df as Gr,cu as Vr,bJ as ws,bK as Yn,dg as Wr,b4 as js,y as Yr,b7 as Jn,b1 as Xn,b8 as Zn,b9 as ea,L as Ss,ba as Jr,aS as Xr,aT as Zr,cP as eo,dh as to,t as ta,cO as so,di as no,dj as ao,dk as sa,dl as ro,bQ as oo,bz as Cs,c2 as io,bV as Ys,dm as lo,dn as es,dp as co,by as uo,$ as fo,a7 as mo,N as na,P as po,bS as Js,bi as ho,dq as go,dr as bo,al as Xs,bN as xo,ds as vo,dt as yo,v as Ut,du as ko,dv as wo,dw as Zs,dx as jo,dy as So,dz as Co,i as aa,dA as Ns,bO as ke,dB as No,cv as To,c1 as Io,dC as Eo,dD as en,g as Ro,cw as Mo}from"./index-j7ecFqw2.js";import{B as Ao,q as $o,S as ra,d as Ts,l as Lo,g as Po,D as Do,b as It,a as Fo,t as lt,h as Oo,r as zo,v as _o,p as Uo,f as Bo,u as Ko,j as qo}from"./search-token-index-Cu5-Gmia.js";import{K as Qo}from"./kbd-X_hVfOo2.js";import{P as oa,f as Ho,U as Go,a as Vo,E as Wo,s as Yo}from"./attachment-file-BPEwzAjK.js";import{M as Jo}from"./mail-woc-5Bte.js";import{A as mt}from"./avatar-DCjrK4Cn.js";import{M as Xo,c as Zo,d as ia,e as ei,f as la,g as ca,a as ti,b as si,S as tn,s as da,u as ua,p as ni,r as ai}from"./useSearchTokenContext-Da3UBQOl.js";import{C as ri,D as He,a as oi}from"./index-BT2o-gjq.js";import{E as Oe}from"./ErrorState-Ce7oyAiN.js";import{e as fa,b as Ze,a as ii,g as li,c as ze,h as ci,d as di}from"./format-DbOIpnnO.js";import{D as ui}from"./download-DJQwdu2W.js";import{g as fi}from"./useMessageBodyContent-BA1AUGF-.js";import{S as mi}from"./shield-check-90F7W1s2.js";import{u as ma}from"./useDebouncedValue-Dy-AAstE.js";import{h as sn,u as pi,a as hi,i as gi,n as bi,o as xi,j as vi,k as yi,S as ki}from"./useFilters-CvGtV-Va.js";import{C as Et}from"./confirm-dialog-CZU8SrVV.js";import{C as wi}from"./clock-D9mnvDq4.js";import{r as ji,b as Si}from"./search-scope-DTcpOp3S.js";import{M as Ci}from"./menu-B8cE9-e-.js";function pt(e){if(Ni())e.focus({preventScroll:!0});else{let t=Ti(e);e.focus(),Ii(t)}}let Rt=null;function Ni(){if(Rt==null){Rt=!1;try{document.createElement("div").focus({get preventScroll(){return Rt=!0,!0}})}catch{}}return Rt}function Ti(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 Ii(e){for(let{element:t,scrollTop:s,scrollLeft:n}of e)t.scrollTop=s,t.scrollLeft=n}const Te=e=>e?.ownerDocument??document,Ee=e=>e&&"window"in e&&e.window===e?e:Te(e).defaultView||window;function Ei(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function Ri(e){return Ei(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}let Mi=!1;function pa(){return Mi}function be(e,t){if(!pa())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:Ri(s)?s=s.host:s=s.parentNode}return!1}function Z(e){if(pa()&&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 Ai=typeof Element<"u"&&"checkVisibility"in Element.prototype;function $i(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 Li(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 ha(e,t){return Ai?e.checkVisibility({visibilityProperty:!0})&&!e.closest("[data-react-aria-prevent-focus]"):e.nodeName!=="#comment"&&$i(e)&&Li(e,t)&&(!e.parentElement||ha(e.parentElement,e))}const ga=["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"],Pi=ga.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";ga.push('[tabindex]:not([tabindex="-1"]):not([disabled])');function Di(e,t){return e.matches(Pi)&&!Fi(e)&&(t?.skipVisibilityCheck||ha(e))}function Fi(e){let t=e;for(;t!=null;){if(t instanceof Ee(t).HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}const Is=typeof document<"u"?ys.useLayoutEffect:()=>{};function Oi(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function zi(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function _i(e){for(;e&&!Di(e,{skipVisibilityCheck:!0});)e=e.parentElement;let t=Ee(e),s=t.document.activeElement;if(!s||s===e)return;let n=!1,r=g=>{(Z(g)===s||n)&&g.stopImmediatePropagation()},o=g=>{(Z(g)===s||n)&&(g.stopImmediatePropagation(),!e&&!n&&(n=!0,pt(s),d()))},i=g=>{(Z(g)===e||n)&&g.stopImmediatePropagation()},c=g=>{(Z(g)===e||n)&&(g.stopImmediatePropagation(),n||(n=!0,pt(s),d()))};t.addEventListener("blur",r,!0),t.addEventListener("focusout",o,!0),t.addEventListener("focusin",c,!0),t.addEventListener("focus",i,!0);let d=()=>{cancelAnimationFrame(b),t.removeEventListener("blur",r,!0),t.removeEventListener("focusout",o,!0),t.removeEventListener("focusin",c,!0),t.removeEventListener("focus",i,!0),n=!1},b=requestAnimationFrame(d);return d}function Bt(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 Es(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.userAgentData?.platform||window.navigator.platform):!1}function Ae(e){let t=null;return()=>(t==null&&(t=e()),t)}const $t=Ae(function(){return Es(/^Mac/i)}),Ui=Ae(function(){return Es(/^iPhone/i)}),ba=Ae(function(){return Es(/^iPad/i)||$t()&&navigator.maxTouchPoints>1}),xa=Ae(function(){return Ui()||ba()}),Bi=Ae(function(){return Bt(/AppleWebKit/i)&&!Ki()}),Ki=Ae(function(){return Bt(/Chrome/i)}),va=Ae(function(){return Bt(/Android/i)}),qi=Ae(function(){return Bt(/Firefox/i)});function Qi(e){return e.pointerType===""&&e.isTrusted?!0:va()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function Hi(e){return!va()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}function ht(e,t,s=!0){let{metaKey:n,ctrlKey:r,altKey:o,shiftKey:i}=t;qi()&&window.event?.type?.startsWith("key")&&e.target==="_blank"&&($t()?n=!0:r=!0);let c=Bi()&&$t()&&!ba()?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});ht.isOpening=s,pt(e),e.dispatchEvent(c),ht.isOpening=!1}ht.isOpening=!1;let Ne=new Map,ds=new Set;function nn(){if(typeof window>"u")return;function e(n){return"propertyName"in n}let t=n=>{let r=Z(n);if(!e(n)||!r)return;let o=Ne.get(r);o||(o=new Set,Ne.set(r,o),r.addEventListener("transitioncancel",s,{once:!0})),o.add(n.propertyName)},s=n=>{let r=Z(n);if(!e(n)||!r)return;let o=Ne.get(r);if(o&&(o.delete(n.propertyName),o.size===0&&(r.removeEventListener("transitioncancel",s),Ne.delete(r)),Ne.size===0)){for(let i of ds)i();ds.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",s)}typeof document<"u"&&(document.readyState!=="loading"?nn():document.addEventListener("DOMContentLoaded",nn));function Gi(){for(const[e]of Ne)"isConnected"in e&&!e.isConnected&&Ne.delete(e)}function Vi(e){requestAnimationFrame(()=>{Gi(),Ne.size===0?e():ds.add(e)})}function ya(...e){return(...t)=>{for(let s of e)typeof s=="function"&&s(...t)}}let us=new Map;typeof FinalizationRegistry<"u"&&new FinalizationRegistry(e=>{us.delete(e)});function Wi(e,t){if(e===t)return e;let s=us.get(e);if(s)return s.forEach(r=>r.current=t),t;let n=us.get(t);return n?(n.forEach(r=>r.current=e),e):t}function Yi(...e){return e.length===1&&e[0]?e[0]:t=>{let s=!1;const n=e.map(r=>{const o=an(r,t);return s||=typeof o=="function",o});if(s)return()=>{n.forEach((r,o)=>{typeof r=="function"?r():an(e[o],null)})}}}function an(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function vt(...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]=ya(o,i):(r==="className"||r==="UNSAFE_className")&&typeof o=="string"&&typeof i=="string"?t[r]=jr(o,i):r==="id"&&o&&i?t.id=Wi(o,i):r==="ref"&&o&&i?t.ref=Yi(o,i):t[r]=i!==void 0?i:o}}return t}function Ji(e,t){Is(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}const Xi=ys.useInsertionEffect??Is;function ts(e){const t=l.useRef(null);return Xi(()=>{t.current=e},[e]),l.useCallback((...s)=>{const n=t.current;return n?.(...s)},[])}let Ve="default",fs="",At=new WeakMap;function Zi(e){if(xa()){if(Ve==="default"){const t=Te(e);fs=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}Ve="disabled"}else if(e instanceof HTMLElement||e instanceof SVGElement){let t="userSelect"in e.style?"userSelect":"webkitUserSelect";At.set(e,e.style[t]),e.style[t]="none"}}function rn(e){if(xa()){if(Ve!=="disabled")return;Ve="restoring",setTimeout(()=>{Vi(()=>{if(Ve==="restoring"){const t=Te(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=fs||""),fs="",Ve="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&At.has(e)){let t=At.get(e),s="userSelect"in e.style?"userSelect":"webkitUserSelect";e.style[s]==="none"&&(e.style[s]=t),e.getAttribute("style")===""&&e.removeAttribute("style"),At.delete(e)}}function on(e){return e?.defaultView?.__webpack_nonce__||globalThis.__webpack_nonce__||void 0}let ss=new WeakMap;function el(e){let t=e??(typeof document<"u"?document:void 0);if(!t)return on(t);if(ss.has(t))return ss.get(t);let s=t.querySelector('meta[property="csp-nonce"]'),n=s&&s instanceof Ee(s).HTMLMetaElement&&(s.nonce||s.content)||on(t)||void 0;return n!==void 0&&ss.set(t,n),n}const ka=ys.createContext({register:()=>{}});ka.displayName="PressResponderContext";function wa(){let e=l.useRef(new Map),t=l.useCallback((r,o,i,c)=>{let d=c?.once?(...b)=>{e.current.delete(i),i(...b)}:i;e.current.set(i,{type:o,eventTarget:r,fn:d,options:c}),r.addEventListener(o,d,c)},[]),s=l.useCallback((r,o,i,c)=>{let d=e.current.get(i)?.fn||i;r.removeEventListener(o,d,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 tl(e){let t=l.useContext(ka);if(t){let{register:s,ref:n,...r}=t;e=vt(r,e),s()}return Ji(t,e.ref),e}class Mt{#e;constructor(t,s,n,r){this.#e=!0;const i=(r?.target??n.currentTarget)?.getBoundingClientRect();let c,d=0,b,g=null;n.clientX!=null&&n.clientY!=null&&(b=n.clientX,g=n.clientY),i&&(b!=null&&g!=null?(c=b-i.left,d=g-i.top):(c=i.width/2,d=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=d,this.key=n.key}continuePropagation(){this.#e=!1}get shouldStopPropagation(){return this.#e}}const ln=Symbol("linkClicked"),cn="react-aria-pressable-style",dn="data-react-aria-pressable";function sl(e){let{onPress:t,onPressChange:s,onPressStart:n,onPressEnd:r,onPressUp:o,onClick:i,isDisabled:c,isPressed:d,preventFocusOnPress:b,shouldCancelOnPointerExit:g,allowTextSelectionOnPress:v,ref:p,...x}=tl(e),[f,u]=l.useState(!1),m=l.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null,disposables:[]}),{addGlobalListener:h,removeAllGlobalListeners:C}=wa(),y=l.useCallback((k,I)=>{let R=m.current;if(c||R.didFirePressStart)return!1;let j=!0;if(R.isTriggeringEvent=!0,n){let M=new Mt("pressstart",I,k);n(M),j=M.shouldStopPropagation}return s&&s(!0),R.isTriggeringEvent=!1,R.didFirePressStart=!0,u(!0),j},[c,n,s]),w=l.useCallback((k,I,R=!0)=>{let j=m.current;if(!j.didFirePressStart)return!1;j.didFirePressStart=!1,j.isTriggeringEvent=!0;let M=!0;if(r){let S=new Mt("pressend",I,k);r(S),M=S.shouldStopPropagation}if(s&&s(!1),u(!1),t&&R&&!c){let S=new Mt("press",I,k);t(S),M&&=S.shouldStopPropagation}return j.isTriggeringEvent=!1,M},[c,r,s,t]),N=ts(w),E=l.useCallback((k,I)=>{let R=m.current;if(c)return!1;if(o){R.isTriggeringEvent=!0;let j=new Mt("pressup",I,k);return o(j),R.isTriggeringEvent=!1,j.shouldStopPropagation}return!0},[c,o]),P=ts(E),z=l.useCallback(k=>{let I=m.current;if(I.isPressed&&I.target){I.didFirePressStart&&I.pointerType!=null&&w(De(I.target,k),I.pointerType,!1),I.isPressed=!1,I.isOverTarget=!1,I.activePointerId=null,I.pointerType=null,C(),v||rn(I.target);for(let R of I.disposables)R();I.disposables=[]}},[v,C,w]),U=ts(z);l.useEffect(()=>{c&&m.current.isPressed&&U({currentTarget:m.current.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})},[c]);let L=l.useCallback(k=>{g&&z(k)},[g,z]),D=l.useCallback(k=>{c||i?.(k)},[c,i]),F=l.useCallback((k,I)=>{if(!c&&i){let R=new MouseEvent("click",k);zi(R,I),i(Oi(R))}},[c,i]),O=l.useMemo(()=>{let k=m.current,I={onKeyDown(j){if(ns(j.nativeEvent,j.currentTarget)&&be(j.currentTarget,Z(j))){un(Z(j),j.key)&&j.preventDefault();let M=!0;!k.isPressed&&!j.repeat&&(k.target=j.currentTarget,k.isPressed=!0,k.pointerType="keyboard",M=y(j,"keyboard"));let S=j.currentTarget,K=$=>{ns($,S)&&!$.repeat&&be(S,Z($))&&k.target&&P(De(k.target,$),"keyboard")};h(Te(j.currentTarget),"keyup",ya(K,R),!0),M&&j.stopPropagation(),j.metaKey&&$t()&&k.metaKeyEvents?.set(j.key,j.nativeEvent)}else j.key==="Meta"&&(k.metaKeyEvents=new Map)},onClick(j){if(!(j&&!be(j.currentTarget,Z(j)))&&j&&j.button===0&&!k.isTriggeringEvent&&!ht.isOpening){let M=!0;if(c&&j.preventDefault(),!k.ignoreEmulatedMouseEvents&&!k.isPressed&&(k.pointerType==="virtual"||Qi(j.nativeEvent))){let S=y(j,"virtual"),K=P(j,"virtual"),$=N(j,"virtual");D(j),M=S&&K&&$}else if(k.isPressed&&k.pointerType!=="keyboard"){let S=k.pointerType||j.nativeEvent.pointerType||"virtual",K=P(De(j.currentTarget,j),S),$=N(De(j.currentTarget,j),S,!0);M=K&&$,k.isOverTarget=!1,D(j),U(j)}k.ignoreEmulatedMouseEvents=!1,M&&j.stopPropagation()}}},R=j=>{if(k.isPressed&&k.target&&ns(j,k.target)){un(Z(j),j.key)&&j.preventDefault();let M=Z(j),S=be(k.target,M);N(De(k.target,j),"keyboard",S),S&&F(j,k.target),C(),j.key!=="Enter"&&Rs(k.target)&&be(k.target,M)&&!j[ln]&&(j[ln]=!0,ht(k.target,j,!1)),k.isPressed=!1,k.metaKeyEvents?.delete(j.key)}else if(j.key==="Meta"&&k.metaKeyEvents?.size){let M=k.metaKeyEvents;k.metaKeyEvents=void 0;for(let S of M.values())k.target?.dispatchEvent(new KeyboardEvent("keyup",S))}};if(typeof PointerEvent<"u"){I.onPointerDown=S=>{if(S.button!==0||!be(S.currentTarget,Z(S)))return;if(Hi(S.nativeEvent)){k.pointerType="virtual";return}k.pointerType=S.pointerType;let K=!0;if(!k.isPressed){k.isPressed=!0,k.isOverTarget=!0,k.activePointerId=S.pointerId,k.target=S.currentTarget,v||Zi(k.target),K=y(S,k.pointerType);let $=Z(S);"releasePointerCapture"in $&&("hasPointerCapture"in $?$.hasPointerCapture(S.pointerId)&&$.releasePointerCapture(S.pointerId):$.releasePointerCapture(S.pointerId)),h(Te(S.currentTarget),"pointerup",j,!1),h(Te(S.currentTarget),"pointercancel",M,!1)}K&&S.stopPropagation()},I.onMouseDown=S=>{if(be(S.currentTarget,Z(S))&&S.button===0){if(b){let K=_i(S.target);K&&k.disposables.push(K)}S.stopPropagation()}},I.onPointerUp=S=>{!be(S.currentTarget,Z(S))||k.pointerType==="virtual"||S.button===0&&!k.isPressed&&P(S,k.pointerType||S.pointerType)},I.onPointerEnter=S=>{S.pointerId===k.activePointerId&&k.target&&!k.isOverTarget&&k.pointerType!=null&&(k.isOverTarget=!0,y(De(k.target,S),k.pointerType))},I.onPointerLeave=S=>{S.pointerId===k.activePointerId&&k.target&&k.isOverTarget&&k.pointerType!=null&&(k.isOverTarget=!1,N(De(k.target,S),k.pointerType,!1),L(S))};let j=S=>{if(S.pointerId===k.activePointerId&&k.isPressed&&S.button===0&&k.target){if(be(k.target,Z(S))&&k.pointerType!=null){let K=!1,$=setTimeout(()=>{k.isPressed&&k.target instanceof HTMLElement&&(K?U(S):(pt(k.target),k.target.click()))},80);h(S.currentTarget,"click",()=>K=!0,!0),k.disposables.push(()=>clearTimeout($))}else U(S);k.isOverTarget=!1}},M=S=>{U(S)};I.onDragStart=S=>{be(S.currentTarget,Z(S))&&U(S)}}return I},[h,c,b,C,v,L,y,D,F]);return l.useEffect(()=>{if(!p)return;const k=Te(p.current);if(!k||!k.head||k.getElementById(cn))return;const I=k.createElement("style");I.id=cn;let R=el(k);R&&(I.nonce=R),I.textContent=`
|
|
2
2
|
@layer {
|
|
3
3
|
[${dn}] {
|
|
4
4
|
touch-action: pan-x pan-y pinch-zoom;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as v,r as u,j as s,aa as l,ab as p}from"./index-
|
|
1
|
+
import{m as v,r as u,j as s,aa as l,ab as p}from"./index-j7ecFqw2.js";import{F as x}from"./FullCompose-BuwshP0T.js";import{a as m}from"./useMessageBodyContent-BA1AUGF-.js";function S(o,n,r){if(o!==n)return r}function d(o,n){return o===""?"":n}function j({searchInput:o,committedQuery:n,urlQuery:r,pathname:t,listPath:a}){return!v(t,a)||n!==o?!1:n!==r}const c=u.createContext(null),C=({chrome:o,children:n})=>s.jsx(c.Provider,{value:o,children:n});function M({phone:o,list:n,reading:r,intelligence:t,hasThread:a=!1}){const e=u.useContext(c),f=m();if(!e)return s.jsx(l,{});const i={nav:e.nav,overlay:e.overlay,skeleton:s.jsx(l,{}),isLoading:e.isLoading,navOpen:e.navOpen,onOpenNav:e.onOpenNav,onCloseNav:e.onCloseNav};return e.isSinglePane?s.jsx(p,{...i,list:f?s.jsx(x,{}):o,intelligenceOpen:e.intelligenceOpen}):s.jsx(p,{...i,topBar:e.topBar,list:n,reading:r,intelligence:t,intelligenceOpen:e.intelligenceOpen,hasThread:a})}export{C as M,M as a,j as b,d as c,S as s};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e,as as re,B as A,e as ie,r as x,b as Q,at as oe,T as ce,dE as le,u as ue,dF as q,bX as de,ci as fe,dG as me,dH as xe,dI as ge,v as he,bY as pe,d0 as be}from"./index-CXB5ntl2.js";import{R as ve,q as je,w as we}from"./search-token-index-BMju4L3v.js";import{aq as Ne,ar as ye,c as Pe,a as G,as as Ce,s as Re,at as ke,au as Se,av as Ee,al as Me,an as Ie}from"./MailListHeader-r39e0EbG.js";import{A as ze}from"./avatar-8cHNN7qH.js";import{M as Oe}from"./mail-ZMzCjhG1.js";import{M as Le}from"./menu-zhBtgh7u.js";function De(){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(U,{children:[e.jsx("p",{className:"font-medium text-fg",children:Fe(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(U,{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 Fe(s,n,r){return r?`No results for “${r}” in ${s}`:n?`No ${s} mail in ${n}`:`No ${s} mail`}function U({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 $e({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,E=i.clientY-o.startY;if(o.axis==="none"&&(Math.abs(E)>V&&Math.abs(E)>Math.abs(u)?o.axis="vertical":Math.abs(u)>V&&Math.abs(u)>Math.abs(E)&&(o.axis="horizontal",i.currentTarget.setPointerCapture(i.pointerId))),o.axis==="none")return;const O=o.axis==="horizontal"?Math.abs(u):Math.abs(E);if(!o.escaped&&O>He&&(o.escaped=!0,k(i)),o.axis!=="horizontal")return;const $=Z(m),H=Math.max(-z,Math.min(z,$+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})),D={transform:l!==0?`translateX(${l}px)`:void 0,transition:b===null?"transform 150ms ease":"none",minHeight:44},F=!s.isRead,I=i=>i.stopPropagation(),T=n?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:Q("inline-flex size-7 shrink-0 items-center justify-center rounded-full border",r?"border-accent bg-accent text-accent-fg":"border-line-strong bg-canvas"),children:r&&e.jsx(oe,{className:"size-3.5"})}),e.jsx(G,{thread:s})]}):e.jsxs(e.Fragment,{children:[F&&e.jsx("span",{className:"absolute left-1.5 top-1/2 size-1.5 -translate-y-1/2 rounded-full bg-accent"}),e.jsx("span",{role:"checkbox",tabIndex:0,"aria-checked":r,"aria-label":`Select message from ${s.fromName}`,onPointerDown:I,onPointerMove:I,onPointerUp:I,onClick:i=>{i.preventDefault(),i.stopPropagation(),j()},onKeyDown:i=>{i.key!=="Enter"&&i.key!==" "||(i.preventDefault(),i.stopPropagation(),j())},className:"-m-2 inline-flex size-11 shrink-0 items-center justify-center rounded-full",children:e.jsx(ze,{name:s.fromName,email:s.fromEmail,size:"sm"})}),e.jsx(G,{thread:s})]});return e.jsxs("div",{className:"relative overflow-hidden",children:[N==="leading"&&e.jsx("button",{type:"button",onClick:()=>p("leading"),"aria-label":s.isRead?"Mark as unread":"Mark as read",className:"absolute inset-y-0 left-0 flex items-center justify-start bg-accent-2 px-6 text-accent-fg",children:s.isRead?e.jsx(Oe,{className:"size-6"}):e.jsx(Ce,{className:"size-6"})}),N==="trailing"&&e.jsx("button",{type:"button",onClick:()=>p("trailing"),"aria-label":"Delete message",className:"absolute inset-y-0 right-0 flex items-center justify-end bg-danger px-6 text-canvas",children:e.jsx(ce,{className:"size-6"})}),e.jsx("button",{type:"button",role:n?"checkbox":void 0,"aria-checked":n?r:void 0,"data-message-row":!0,"data-message-id":s.id,...a,className:C,style:D,children:T})]})}function Ye({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),M=(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=>M(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 We=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:M,selection:a,keyboard:l,selectionBar:N,paneOverlay:C,listBody:D,hideHeader:F=!1}){const I=k==="compact"?Se:Ee,T=x.useRef(null),i=x.useRef(null),o=le(l);ue({containerRef:T,itemSelector:q,enabled:!o});const u=o?l.focusedId:void 0,E=o?u??r[0]?.threads[0]?.id:void 0,O=x.useCallback(t=>E===void 0?void 0:t===E?0:-1,[E]);x.useEffect(()=>{if(u===void 0)return;const t=i.current;if(!t)return;const c=t.querySelector(`${q}[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 $=!R&&!f&&g==="ready",[H,W]=x.useState(!1),ee=M==="peek-trailing"?"trailing":M==="peek-leading"?"leading":void 0,se=()=>{W(!0),setTimeout(()=>W(!1),1400)},_=a?.selectedIds??We,L=a?.onToggle,K=a?.onRowSelect,te=Re(_.size,R),X=x.useCallback(t=>{if(L)return{checked:_.has(t),onToggle:c=>{c.preventDefault(),c.stopPropagation(),L(t)}}},[_,L]),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:Y})=>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)||Y?.()}}),[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??(F?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(Le,{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(De,{})}):g==="empty"?e.jsx(Te,{filter:j,scopeLabel:h,searchQuery:y}):g==="error"?e.jsx($e,{message:p,onRetry:d,onReport:b}):f?e.jsx(de,{...v??{},sections:r,selectedThreadId:P,Row:ne,keyboard:l,onSelectThread:w}):D??($?e.jsx(Ye,{sections:r,selectedThreadId:P,selectionMode:te,checkedIds:_,initialPeek:ee,onToggleCheck:t=>L?.(t),onEnterSelection:t=>L?.(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:Y=>{B(c.id,Y)||w?.(c.id)}},c.id))})]},t.id))})),R&&e.jsx(Me,{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:M,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:M,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,as as re,B as A,e as ie,r as x,b as Q,at as oe,T as ce,dE as le,u as ue,dF as q,bX as de,ci as fe,dG as me,dH as xe,dI as ge,v as he,bY as pe,d0 as be}from"./index-j7ecFqw2.js";import{R as ve,q as je,w as we}from"./search-token-index-Cu5-Gmia.js";import{aq as Ne,ar as ye,c as Pe,a as G,as as Ce,s as Re,at as ke,au as Se,av as Ee,al as Me,an as Ie}from"./MailListHeader-B3YY_4CF.js";import{A as ze}from"./avatar-DCjrK4Cn.js";import{M as Oe}from"./mail-woc-5Bte.js";import{M as Le}from"./menu-B8cE9-e-.js";function De(){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(U,{children:[e.jsx("p",{className:"font-medium text-fg",children:Fe(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(U,{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 Fe(s,n,r){return r?`No results for “${r}” in ${s}`:n?`No ${s} mail in ${n}`:`No ${s} mail`}function U({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 $e({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,E=i.clientY-o.startY;if(o.axis==="none"&&(Math.abs(E)>V&&Math.abs(E)>Math.abs(u)?o.axis="vertical":Math.abs(u)>V&&Math.abs(u)>Math.abs(E)&&(o.axis="horizontal",i.currentTarget.setPointerCapture(i.pointerId))),o.axis==="none")return;const O=o.axis==="horizontal"?Math.abs(u):Math.abs(E);if(!o.escaped&&O>He&&(o.escaped=!0,k(i)),o.axis!=="horizontal")return;const $=Z(m),H=Math.max(-z,Math.min(z,$+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})),D={transform:l!==0?`translateX(${l}px)`:void 0,transition:b===null?"transform 150ms ease":"none",minHeight:44},F=!s.isRead,I=i=>i.stopPropagation(),T=n?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:Q("inline-flex size-7 shrink-0 items-center justify-center rounded-full border",r?"border-accent bg-accent text-accent-fg":"border-line-strong bg-canvas"),children:r&&e.jsx(oe,{className:"size-3.5"})}),e.jsx(G,{thread:s})]}):e.jsxs(e.Fragment,{children:[F&&e.jsx("span",{className:"absolute left-1.5 top-1/2 size-1.5 -translate-y-1/2 rounded-full bg-accent"}),e.jsx("span",{role:"checkbox",tabIndex:0,"aria-checked":r,"aria-label":`Select message from ${s.fromName}`,onPointerDown:I,onPointerMove:I,onPointerUp:I,onClick:i=>{i.preventDefault(),i.stopPropagation(),j()},onKeyDown:i=>{i.key!=="Enter"&&i.key!==" "||(i.preventDefault(),i.stopPropagation(),j())},className:"-m-2 inline-flex size-11 shrink-0 items-center justify-center rounded-full",children:e.jsx(ze,{name:s.fromName,email:s.fromEmail,size:"sm"})}),e.jsx(G,{thread:s})]});return e.jsxs("div",{className:"relative overflow-hidden",children:[N==="leading"&&e.jsx("button",{type:"button",onClick:()=>p("leading"),"aria-label":s.isRead?"Mark as unread":"Mark as read",className:"absolute inset-y-0 left-0 flex items-center justify-start bg-accent-2 px-6 text-accent-fg",children:s.isRead?e.jsx(Oe,{className:"size-6"}):e.jsx(Ce,{className:"size-6"})}),N==="trailing"&&e.jsx("button",{type:"button",onClick:()=>p("trailing"),"aria-label":"Delete message",className:"absolute inset-y-0 right-0 flex items-center justify-end bg-danger px-6 text-canvas",children:e.jsx(ce,{className:"size-6"})}),e.jsx("button",{type:"button",role:n?"checkbox":void 0,"aria-checked":n?r:void 0,"data-message-row":!0,"data-message-id":s.id,...a,className:C,style:D,children:T})]})}function Ye({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),M=(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=>M(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 We=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:M,selection:a,keyboard:l,selectionBar:N,paneOverlay:C,listBody:D,hideHeader:F=!1}){const I=k==="compact"?Se:Ee,T=x.useRef(null),i=x.useRef(null),o=le(l);ue({containerRef:T,itemSelector:q,enabled:!o});const u=o?l.focusedId:void 0,E=o?u??r[0]?.threads[0]?.id:void 0,O=x.useCallback(t=>E===void 0?void 0:t===E?0:-1,[E]);x.useEffect(()=>{if(u===void 0)return;const t=i.current;if(!t)return;const c=t.querySelector(`${q}[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 $=!R&&!f&&g==="ready",[H,W]=x.useState(!1),ee=M==="peek-trailing"?"trailing":M==="peek-leading"?"leading":void 0,se=()=>{W(!0),setTimeout(()=>W(!1),1400)},_=a?.selectedIds??We,L=a?.onToggle,K=a?.onRowSelect,te=Re(_.size,R),X=x.useCallback(t=>{if(L)return{checked:_.has(t),onToggle:c=>{c.preventDefault(),c.stopPropagation(),L(t)}}},[_,L]),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:Y})=>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)||Y?.()}}),[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??(F?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(Le,{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(De,{})}):g==="empty"?e.jsx(Te,{filter:j,scopeLabel:h,searchQuery:y}):g==="error"?e.jsx($e,{message:p,onRetry:d,onReport:b}):f?e.jsx(de,{...v??{},sections:r,selectedThreadId:P,Row:ne,keyboard:l,onSelectThread:w}):D??($?e.jsx(Ye,{sections:r,selectedThreadId:P,selectionMode:te,checkedIds:_,initialPeek:ee,onToggleCheck:t=>L?.(t),onEnterSelection:t=>L?.(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:Y=>{B(c.id,Y)||w?.(c.id)}},c.id))})]},t.id))})),R&&e.jsx(Me,{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:M,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:M,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};
|