@remit/web-client-dist 0.0.521 → 0.0.522

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/assets/{BriefPane-CRw1C9B5.js → BriefPane-DnTuJaxi.js} +1 -1
  2. package/assets/{CalendarComposePane-DjnpgECc.js → CalendarComposePane-CNJBnGBB.js} +1 -1
  3. package/assets/{CalendarComposeSeed-Dg1p66Fd.js → CalendarComposeSeed-D7dfUK8g.js} +1 -1
  4. package/assets/{CalendarShell-BeAmgoNJ.js → CalendarShell-Ci4c-odJ.js} +1 -1
  5. package/assets/{EmptyState-DEwOy6vH.js → EmptyState-C3_Tj6_z.js} +1 -1
  6. package/assets/{ErrorState-CYdw-mIz.js → ErrorState-DW9hn0tP.js} +1 -1
  7. package/assets/{FlaggedPane-DZWubYUP.js → FlaggedPane-0vgtNSt6.js} +1 -1
  8. package/assets/{FullCompose-B4zxA29_.js → FullCompose-C5TvJ0sm.js} +1 -1
  9. package/assets/{MailListHeader-BBXPP_8i.js → MailListHeader-CqakXKgQ.js} +1 -1
  10. package/assets/{MailNav-kOFTLJNh.js → MailNav-CyHQPdWz.js} +1 -1
  11. package/assets/{MailShell-BLXdPOU0.js → MailShell-CIKDSwWM.js} +1 -1
  12. package/assets/{MailViewChrome-DbJa-Xsl.js → MailViewChrome-DwQQu8KH.js} +1 -1
  13. package/assets/{MailboxPane-BZG47AEE.js → MailboxPane-BjayEYwx.js} +1 -1
  14. package/assets/{NavMenuButton-4CxHRrLT.js → NavMenuButton-BjchpdR5.js} +1 -1
  15. package/assets/{OnboardingWizard-DOnsYkZz.js → OnboardingWizard-Bn3zHI5d.js} +1 -1
  16. package/assets/{OpenCalendarEvent-2EGfgL5s.js → OpenCalendarEvent-BAAe4QSH.js} +1 -1
  17. package/assets/{OutboxPane-DgU67WIZ.js → OutboxPane-8vnQ0mH1.js} +1 -1
  18. package/assets/_calendarObjectId-BAAfghhN.js +1 -0
  19. package/assets/_mailboxId-B0BxP5HR.js +1 -0
  20. package/assets/_messageId-BKkr1iAN.js +1 -0
  21. package/assets/_messageId-DUM7dQGx.js +1 -0
  22. package/assets/_messageId-jDiDSHlZ.js +1 -0
  23. package/assets/_outboxMessageId-RoQwzjWh.js +1 -0
  24. package/assets/_recurrenceId-BZhRYQzP.js +1 -0
  25. package/assets/_threadId-BC8g_CXk.js +1 -0
  26. package/assets/_threadId-CA5hY61z.js +1 -0
  27. package/assets/_threadId-DNAbTUro.js +1 -0
  28. package/assets/{_view._date-CuDrbJjx.js → _view._date-BcN3Zrh4.js} +1 -1
  29. package/assets/{accounts-BYrMlf-V.js → accounts-BHAB2yk4.js} +1 -1
  30. package/assets/{advanced-CSXHr57l.js → advanced-DwRWtCUJ.js} +1 -1
  31. package/assets/{appearance-CAsjdzS_.js → appearance-BBkTkcNX.js} +1 -1
  32. package/assets/{attachment-file-DQIgObpb.js → attachment-file-CHE67h17.js} +1 -1
  33. package/assets/{attendee-row-Cegj9Dge.js → attendee-row-CF94Zgm7.js} +1 -1
  34. package/assets/{avatar-D8paP2w2.js → avatar-Byj273WX.js} +1 -1
  35. package/assets/{bottom-sheet-B_i9APwj.js → bottom-sheet-DoDgnwLt.js} +1 -1
  36. package/assets/{brief-CvkTzJvi.js → brief-2KMLMaok.js} +1 -1
  37. package/assets/brief-DSUqmJxl.js +1 -0
  38. package/assets/{browser-ponyfill-BzOjDNnN.js → browser-ponyfill-CPEPqrdG.js} +1 -1
  39. package/assets/{bug-CGg1PoeZ.js → bug-CxCMTWPo.js} +1 -1
  40. package/assets/{calendar-mGymXvkS.js → calendar-BITFDzqH.js} +1 -1
  41. package/assets/{calendar-color-Cwadf2k3.js → calendar-color-B1y21BSV.js} +1 -1
  42. package/assets/{calendar-event-chip-DNFKxXZq.js → calendar-event-chip-C8Rq1jnl.js} +1 -1
  43. package/assets/{calendars-BbRr-fTT.js → calendars-Bu2QH0Je.js} +1 -1
  44. package/assets/{card-C1y_kjNe.js → card-Qb0JuBjA.js} +1 -1
  45. package/assets/chevron-left-BuRKvZzj.js +1 -0
  46. package/assets/{circle-check-CpQMEllW.js → circle-check-Cofxz4Z8.js} +1 -1
  47. package/assets/{circle-check-big-4h1hG4t6.js → circle-check-big-BEE1r-iG.js} +1 -1
  48. package/assets/{circle-help-EcA3IfXe.js → circle-help-CiqAy6xr.js} +1 -1
  49. package/assets/{clock-BpnKTaTG.js → clock-BIp_lRT7.js} +1 -1
  50. package/assets/compose._-_outboxMessageId_-Bd3JXfwQ.js +1 -0
  51. package/assets/compose._-_outboxMessageId_-CgCpZ1_k.js +1 -0
  52. package/assets/compose._-_outboxMessageId_-OZeMdMx-.js +1 -0
  53. package/assets/compose._-_outboxMessageId_-ywj1OM9M.js +1 -0
  54. package/assets/{config-import-e_I2BzDZ.js → config-import-Bzwkb0t8.js} +1 -1
  55. package/assets/{confirm-dialog-DuVcxiku.js → confirm-dialog-Dqem_dYa.js} +1 -1
  56. package/assets/{copy-DulZ0Qed.js → copy-lcDBDrVg.js} +1 -1
  57. package/assets/{credential-steps-CXT2Qyeb.js → credential-steps-TeG9x_rG.js} +1 -1
  58. package/assets/{download-C0qjkDYj.js → download-C2IRMv25.js} +1 -1
  59. package/assets/{file-json-DoJijJnG.js → file-json-DU5nTxTP.js} +1 -1
  60. package/assets/{filters-CJTzK1CO.js → filters-BiGgpGQr.js} +1 -1
  61. package/assets/{flagged-DhTanjGJ.js → flagged-BkXUseVD.js} +1 -1
  62. package/assets/flagged-p7xi86g6.js +1 -0
  63. package/assets/{folders-ZQErXvM8.js → folders-DI0oSGCV.js} +1 -1
  64. package/assets/{format-BncXl-_C.js → format-BMecNlt-.js} +1 -1
  65. package/assets/{help-copy-DrUrFKQa.js → help-copy-Zqo9E9DL.js} +1 -1
  66. package/assets/{import-BSiBGa0h.js → import-BV1_qTVp.js} +1 -1
  67. package/assets/index-BMoDGBdN.js +1 -0
  68. package/assets/index-Bk57FPbZ.js +1 -0
  69. package/assets/index-BkI08ywk.js +1 -0
  70. package/assets/index-C8EZD0G2.js +1 -0
  71. package/assets/index-D3X9YpmG.js +1 -0
  72. package/assets/{index-4Qa4330_.js → index-DFOeerF8.js} +4 -4
  73. package/assets/index-DUM7dQGx.js +1 -0
  74. package/assets/index-DjSI_TP5.js +1 -0
  75. package/assets/{index-BfeNOIjk.js → index-DxZtMOQf.js} +1 -1
  76. package/assets/{index-DE1TsJN7.js → index-Gkx4jre7.js} +4 -4
  77. package/assets/index-jDiDSHlZ.js +1 -0
  78. package/assets/index-q0cFt_Cw.js +1 -0
  79. package/assets/{kbd-DLH3W4dT.js → kbd-Bnp5umFa.js} +1 -1
  80. package/assets/{labels-BkKLOHiv.js → labels-CocmTbVh.js} +1 -1
  81. package/assets/{mail-DgA4N8vw.js → mail-DsDWCtRo.js} +1 -1
  82. package/assets/{mail-BCjt_SCy.js → mail-yqKLCIo8.js} +1 -1
  83. package/assets/{map-pin-CluZVGCH.js → map-pin-3g2fqkw3.js} +1 -1
  84. package/assets/{menu-DNTK2lSq.js → menu-Bw1ZQNFp.js} +1 -1
  85. package/assets/{new-yf2q7uzo.js → new-DZjHnlH0.js} +1 -1
  86. package/assets/onboarding-aVNO8ho8.js +1 -0
  87. package/assets/{onboarding-completion-BHcMKM1Q.js → onboarding-completion-DgzzVQMS.js} +1 -1
  88. package/assets/outbox-D4xFVek3.js +1 -0
  89. package/assets/{pencil-Bfqdtneb.js → pencil-DFAlp614.js} +1 -1
  90. package/assets/{refresh-cw-bDnuQYhl.js → refresh-cw-DGtjV-Yn.js} +1 -1
  91. package/assets/{rich-text-V7Boqffu.js → rich-text-nj1HJ8n0.js} +1 -1
  92. package/assets/{rich-text-spellcheck-worker-provider-BeP1OljD.js → rich-text-spellcheck-worker-provider-jdQEKFxj.js} +1 -1
  93. package/assets/{rotate-ccw-DJR8wUFs.js → rotate-ccw-Cf-ERrQd.js} +1 -1
  94. package/assets/{row-actions-BNzffRGj.js → row-actions-Dz4qjZPy.js} +1 -1
  95. package/assets/{search-mirror-DIDt96BP.js → search-mirror-C5COgo7J.js} +1 -1
  96. package/assets/{search-token-index-BMwa_Z3e.js → search-token-index-BDWCdrDr.js} +1 -1
  97. package/assets/{sections-C8WG3waC.js → sections-Dp5ObH0B.js} +1 -1
  98. package/assets/{senders-CXMl1Fpg.js → senders-CGi63VSl.js} +1 -1
  99. package/assets/settings-BlkUa0he.js +1 -0
  100. package/assets/{settings-screen-DiFF943S.js → settings-screen-Ci3wkg10.js} +1 -1
  101. package/assets/{shield-check-PzpD6xQR.js → shield-check-6fRO4KAO.js} +1 -1
  102. package/assets/{suggested-vips-BI4_YqMJ.js → suggested-vips-CltoywuA.js} +1 -1
  103. package/assets/{useCalendarData-B0qQiSlB.js → useCalendarData-BWoVfpR0.js} +1 -1
  104. package/assets/{useCalendars-yWQBsqBy.js → useCalendars-Bc1XufFR.js} +1 -1
  105. package/assets/{useDebouncedValue-Coj_yCGS.js → useDebouncedValue-DdkXWYbv.js} +1 -1
  106. package/assets/{useFilters-DETsTYkk.js → useFilters-Ck2Pjjio.js} +1 -1
  107. package/assets/{useLabels-Csu0jRrL.js → useLabels-aSL1iqHo.js} +1 -1
  108. package/assets/{useLayoutTier-C39QtN4M.js → useLayoutTier-B7hLuv2u.js} +1 -1
  109. package/assets/{useMessageBodyContent-zG1JTDGX.js → useMessageBodyContent-DKDt9OB3.js} +1 -1
  110. package/assets/{useQueries-DNrQQ492.js → useQueries-CEYkNMRl.js} +1 -1
  111. package/assets/{useRefreshControl-CvYNOvkv.js → useRefreshControl-BJ7UQujJ.js} +1 -1
  112. package/assets/{useResultFolderIndex-yPITYzfH.js → useResultFolderIndex-DyB8qnuW.js} +1 -1
  113. package/assets/{useSearchTokenContext-BMdEz_tr.js → useSearchTokenContext-Dm2n0VLM.js} +1 -1
  114. package/assets/{useSemanticSearch-DFkEq0vQ.js → useSemanticSearch-CdjzwsfH.js} +1 -1
  115. package/assets/{useSignature-Rd4aiqH6.js → useSignature-XrbdPyt4.js} +1 -1
  116. package/assets/{window-D2_PzNJF.js → window-C7e0XMZy.js} +1 -1
  117. package/index.html +1 -1
  118. package/package.json +1 -1
  119. package/assets/_calendarObjectId-_1ZQBToc.js +0 -1
  120. package/assets/_mailboxId-BCkuOIg_.js +0 -1
  121. package/assets/_messageId-BRT7x-bl.js +0 -1
  122. package/assets/_messageId-CbZUkjB6.js +0 -1
  123. package/assets/_messageId-jeMVjxHB.js +0 -1
  124. package/assets/_outboxMessageId-C8a5cOEp.js +0 -1
  125. package/assets/_recurrenceId-DvowFLmj.js +0 -1
  126. package/assets/_threadId-1iYJiYH-.js +0 -1
  127. package/assets/_threadId-B1L5kGq0.js +0 -1
  128. package/assets/_threadId-sgYIjc9f.js +0 -1
  129. package/assets/brief-DMgsVLCK.js +0 -1
  130. package/assets/chevron-left-C2vrXZD2.js +0 -1
  131. package/assets/compose._-_outboxMessageId_-Bi9wzlLK.js +0 -1
  132. package/assets/compose._-_outboxMessageId_-C3NMJILD.js +0 -1
  133. package/assets/compose._-_outboxMessageId_-DdlFObSK.js +0 -1
  134. package/assets/compose._-_outboxMessageId_-GRFtpxns.js +0 -1
  135. package/assets/flagged-qvYL_5uJ.js +0 -1
  136. package/assets/index-BA92i_bz.js +0 -1
  137. package/assets/index-B_BJ_kn9.js +0 -1
  138. package/assets/index-Bv71e6fQ.js +0 -1
  139. package/assets/index-C719rmAy.js +0 -1
  140. package/assets/index-CbZUkjB6.js +0 -1
  141. package/assets/index-De9gK1T-.js +0 -1
  142. package/assets/index-DeXs3Phj.js +0 -1
  143. package/assets/index-PfkoyDzO.js +0 -1
  144. package/assets/index-jeMVjxHB.js +0 -1
  145. package/assets/onboarding-BIuc_KRD.js +0 -1
  146. package/assets/outbox-D7ORYlU4.js +0 -1
  147. package/assets/settings-DgI5gzpA.js +0 -1
@@ -1 +1 @@
1
- import{j as o,L as Ze,U as Xe,e9 as et,C as Y,bi as tt,cM as st,r as a,c as oe,ea as ne,G as ot,dw as nt,eb as at,dQ as rt,_ as Te,dU as it,aj as ct,cT as lt,cU as dt}from"./index-4Qa4330_.js";import{g as je,e as ut,f as Re,u as mt,p as ft,R as ht}from"./useSearchTokenContext-BMdEz_tr.js";import{ai as be,F as ve,aj as gt,ak as xt,G as pt,al as ye,am as It,an as bt,ao as vt,a7 as yt,ap as St,aq as Ct,ar as Tt,M as jt,as as Rt,ae as wt,at as Mt,e as kt,v as Ft,af as Ot,q as At,S as Nt,J as Bt,O as Se,N as Lt,K as Dt,d as Et,Y as Pt,Z as qt,$ as we,a0 as Me,a1 as zt,a2 as Qt,a3 as _t}from"./MailListHeader-BBXPP_8i.js";import{u as Ht,a as Ut,R as Gt,b as $t,c as Wt}from"./useRefreshControl-CvYNOvkv.js";import{u as Vt}from"./useQueries-DNrQQ492.js";import{a as Yt}from"./useLabels-Csu0jRrL.js";import{u as Jt,b as Kt}from"./useLayoutTier-C39QtN4M.js";import{u as Zt,r as Xt,L as es}from"./useSemanticSearch-DFkEq0vQ.js";import{w as ts}from"./wizard-selection-B1bng5Jq.js";import{u as ke}from"./sections-C8WG3waC.js";import{R as ss}from"./refresh-cw-bDnuQYhl.js";import{a as os}from"./useMessageBodyContent-zG1JTDGX.js";import{g as ns,h as as}from"./search-token-index-BMwa_Z3e.js";function rs({sync:e}){return e?o.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:[o.jsx(Ze,{className:"size-8 animate-spin text-fg-subtle","aria-hidden":"true"}),o.jsx("p",{className:"text-sm font-medium text-fg",children:"Still syncing your mail"}),o.jsx("p",{className:"text-xs text-fg-subtle",children:is(e)})]}):o.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-2 py-12 text-center px-4",children:[o.jsx(Xe,{className:"size-8 text-fg-subtle","aria-hidden":"true"}),o.jsx("p",{className:"text-sm font-medium text-fg",children:"You're caught up"}),o.jsx("p",{className:"text-xs text-fg-subtle",children:"Nothing needs attention."})]})}function is({synced:e,total:t}){return t>0?`${e.toLocaleString()} of ${t.toLocaleString()} messages downloaded. This list fills in as they arrive.`:"Downloading your messages. This list fills in as they arrive."}const Fe=[{id:"unread",name:"is",value:"unread"},{id:"attachment",name:"has",value:"attachment"}],Oe="category",cs={unclassified:"uncategorized"},U=e=>ut(e).map(t=>t.raw),H=e=>e.join(" "),ae=e=>{const t=Re(e);if(t)return Fe.find(n=>n.name===t.name&&n.value===t.value.toLowerCase())?.id},re=e=>{const t=Re(e);if(!t||t.name!==Oe)return;const n=t.value.toLowerCase(),r=cs[n];if(r)return r;if(!(!et(n)||n==="all"))return n},Ae=e=>Fe.find(t=>t.id===e),Ne=e=>Ae(e)!==void 0,ls=e=>{const t=new Set;for(const n of U(e)){const r=ae(n);r&&t.add(r)}return t},ds=e=>{let t="all";for(const n of U(e)){const r=re(n);r&&(t=r)}return t},us=(e,t)=>{const n=Ae(t);if(!n)return;const r=U(e),l=r.filter(d=>ae(d)!==t);return l.length<r.length?H(l):H([...r,je(n.name,n.value)])},ms=(e,t)=>{const n=U(e).filter(r=>!re(r));return H(t==="all"?n:[...n,je(Oe,t)])},fs=e=>H(U(e).filter(t=>!ae(t)&&!re(t))),Be=e=>e.trim().length>0,hs=e=>{if(!Be(e.query))return e.ownFilters;const t=new Set(ls(e.query));for(const n of e.ownFilters)Ne(n)||t.add(n);return t},gs=e=>Be(e.query)?ds(e.query):e.ownCategory,xs=(e,t)=>e.createdAt!==t.createdAt?e.createdAt-t.createdAt:e.accountId.localeCompare(t.accountId),ps=e=>[...e].sort(xs),Is=200,Ce=()=>o.jsx("div",{className:"animate-pulse",children:Array.from({length:3}).map((e,t)=>o.jsxs("div",{className:"flex items-start gap-3 py-2 pl-5 pr-4 border-b border-line",children:[o.jsx("div",{className:"size-7 rounded-full bg-surface-sunken shrink-0 mt-0.5"}),o.jsxs("div",{className:"flex-1 space-y-1.5",children:[o.jsxs("div",{className:"flex justify-between gap-2",children:[o.jsx("div",{className:"h-3.5 bg-surface-sunken rounded w-28"}),o.jsx("div",{className:"h-3 bg-surface-sunken rounded w-12"})]}),o.jsx("div",{className:"h-3.5 bg-surface-sunken rounded w-48"}),o.jsx("div",{className:"h-3 bg-surface-sunken rounded w-full"})]})]},t))}),bs=({accountEmail:e})=>{const t=ke();return o.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:[o.jsx(Te,{className:"size-3.5 shrink-0"}),o.jsxs("span",{className:"flex-1 truncate",children:[e," can't connect"]}),o.jsx("button",{type:"button",onClick:()=>t("accounts"),className:"shrink-0 underline text-danger hover:opacity-80",children:"Reconnect"})]})},vs=(e,t)=>{if(t.size===0)return{};const n=e.filter(d=>t.has(d.id)),r=Xt(n.map(d=>d.accountId));if(r.restriction)return r;const l=new Set;for(const d of n)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 ys({header:e,rows:t,wizard:n,children:r}){const{selectedIds:l,selectedCount:d,exitSelection:u,orderedIds:m,allSelected:b,toggleAllLoaded:f}=Mt(),x=a.useMemo(()=>vs(t,l),[t,l]),{junkMailboxId:L}=kt(x.accountId),{labels:I}=Yt(x.accountId),p=a.useMemo(()=>Array.from(l),[l]),D=a.useMemo(()=>ts(t,l),[t,l]),h=Ft(L,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=C=>o.jsx(Nt,{title:C.title,navSlot:C.navSlot,titleMeta:C.titleMeta,searchSlot:C.searchSlot,searchField:C.searchField,idleSlot:C.makeFilterSlot,count:d,onCancel:u,onDelete:()=>n.start("delete"),onMove:()=>n.start("move"),onOrganize:()=>n.start("organize"),onJunk:h?()=>n.start("junk"):void 0,onMarkRead:()=>n.start("markRead"),overflowSlot:x.accountId&&x.mailboxId&&d>0&&I.length>0?o.jsx(es,{accountId:x.accountId,mailboxId:x.mailboxId,messageIds:p}):void 0,selectAll:v,notice:F});return o.jsx(Ot,{...e,selectionBar:S,paneOverlay:o.jsx(At,{verb:n.verb,accountId:x.accountId,mailboxId:x.mailboxId,selection:D,selectionRestriction:x.restriction,onFinished:u}),children:r})}function Ss({accounts:e,selectedMessageId:t,onOpenThread:n,commandsRef:r,onTriageContextChange:l,onDeleteMessages:d}){const{searchQuery:u,searchInput:m,resultFolderIndex:b,onSearchChange:f}=Y(),x=mt(),L=tt(),I=Jt(),p=st(),D=Kt(),h=a.useMemo(()=>ps(e.filter(s=>!s.muted?.value)),[e]),[v,F]=a.useState("all"),[S,C]=a.useState("all"),[G,E]=a.useState(new Set),[K,T]=a.useState(!1),P=a.useCallback(s=>{E(i=>{const c=new Set(i);return c.has(s)?c.delete(s):c.add(s),c})},[]),$=a.useCallback(()=>E(new Set),[]),R=m.trim().length>0,j=a.useMemo(()=>hs({query:m,ownFilters:G}),[m,G]),w=a.useMemo(()=>gs({query:m,ownCategory:S}),[m,S]),O=a.useCallback(s=>{if(!R||!Ne(s)){P(s);return}const i=us(m,s);i!==void 0&&f(i)},[R,m,f,P]),q=a.useCallback(s=>{if(!R){C(s);return}f(ms(m,s))},[R,m,f]),z=a.useCallback(()=>{C("all"),F("all"),$(),R&&f(fs(m))},[R,m,f,$]),{data:A,isLoading:Q,isError:g,refetch:N}=oe({...ne(),staleTime:6e4}),B=Vt({queries:h.map(s=>({...ot({path:{accountId:s.accountId}}),staleTime:1/0,meta:{softError:!0}}))}),W=a.useMemo(()=>{const s=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);s.set(c,Ye)}return s},[h,B]),Ee=a.useMemo(()=>h.filter((s,i)=>{const c=B[i];return c?.isError?!nt(c.error):!1}),[h,B]),{freeText:M,tokens:Z}=ft(u.trim().toLowerCase(),x),{data:ie,isFetching:Pe}=oe({...ne({query:{query:M,limit:Is}}),enabled:M.length>0,staleTime:3e4}),y=a.useMemo(()=>{const s=be(A?.items??[]).map(ve);return(M?gt(s.filter(c=>xt(c,M)),be(ie?.items??[]).map(ve)):s).filter(c=>(v==="all"||c.accountId===v)&&pt(c,Z))},[A,ie,v,M,Z]),{bodyRows:ce,briefSpamOffer:X}=a.useMemo(()=>{if(!M)return{bodyRows:y,briefSpamOffer:void 0};const s=y.map(k=>ye(k,b)),{spam:i}=It(s);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:bt(s)}},[y,M,b]),le=a.useMemo(()=>vt(ce),[ce]),de=a.useCallback((s,i)=>{const c=y.find(k=>k.id===s)?.threadId;c&&n?.({threadId:c,messageId:s},i)},[y,n]),qe=a.useCallback(s=>{const i=s.threadId??y.find(c=>c.id===s.id)?.threadId;i&&n?.({threadId:i,messageId:s.id})},[y,n]),ee=a.useMemo(()=>h.length<=1?[]:[{id:"all",label:"All",active:v==="all"},...h.map(s=>({id:s.accountId,label:s.email.split("@")[0]??s.email,count:W.get(s.accountId),active:v===s.accountId}))],[h,W,v]),_=a.useMemo(()=>e.filter(s=>s.muted?.value).length,[e]),ze=a.useMemo(()=>Array.from(W.values()).reduce((s,i)=>s+i,0),[W]),te=a.useMemo(()=>h.map(s=>s.accountId),[h]),{hasNewMail:ue}=Ht(),{state:me,errorMessage:fe,refresh:he}=Ut(te,{onSettled:()=>N()}),Qe=a.useMemo(()=>o.jsx(Gt,{state:me,onRefresh:he,label:"Refresh daily brief",errorMessage:fe,hasUpdate:ue(te)}),[me,he,fe,ue,te]),se=a.useMemo(()=>y.filter(s=>(w==="all"||s.category===w)&&at(s,j)).map(s=>ye(s,b)),[y,w,j,b]),{hits:ge,isLoading:_e}=Zt(),He=a.useMemo(()=>{const s=new Map;for(const c of A?.items??[])s.set(c.messageId,c.threadId);const i=se.map(c=>s.get(c.id)).filter(c=>c!=null);return yt(ge,i,b)},[ge,se,A,b]),Ue=a.useMemo(()=>{const s=St(ee.map(i=>({id:i.id,label:i.label,count:i.count,active:i.active})));return{categories:s.categories,filters:s.filters,sources:s.sources,sourcesNote:_>0?`+${_} muted`:void 0,selectedCategory:w,activeFilters:j,expanded:K,onExpandedChange:T,onSelectCategory:i=>q(i),onSelectSource:F,onToggleFilter:i=>O(i),onClear:z}},[ee,_,w,j,K,O,q,z]),xe=le.length===0&&v==="all"&&M.length===0&&Z.length===0,Ge=a.useMemo(()=>h.map(s=>s.accountId),[h]),$e=a.useMemo(()=>h.some(s=>$t(s.syncPhase)),[h]),V=Wt(Ge,xe||$e),pe=o.jsxs("div",{className:"h-full overflow-y-auto",children:[o.jsx(Ce,{}),o.jsx(Ce,{})]}),Ie=!Q&&!g&&!xe,We=Ct({tier:I,hasLiveInput:R,hasCommittedQuery:u.trim().length>0,bodyRendersCommittedResults:!0}),Ve=Ie?o.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[X&&o.jsx(Tt,{count:X.count,onScopeToSpam:()=>D(X.mailboxId,u)}),o.jsx("div",{className:"min-h-0 flex-1",children:o.jsx(rt,{sections:le,briefCategory:w,Row:jt,selectedThreadId:t,onSelectThread:de,onSelectBriefCategory:q,sources:ee,sourcesNote:_>0?`+${_} muted`:void 0,onSelectSource:F,activeFilters:j,onToggleFilter:O,onClearFilters:z})})]}):Q?pe:g?o.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-3 py-12 text-sm text-fg-muted",children:[o.jsx(Te,{className:"size-8 text-danger"}),o.jsx("p",{children:"Couldn't load your messages"}),o.jsxs("button",{type:"button",onClick:()=>N(),className:"flex items-center gap-1 text-accent underline text-xs",children:[o.jsx(ss,{className:"size-3.5"}),"Try again"]})]}):V.resolved?o.jsx(rs,{sync:V.syncing?{synced:V.synced,total:V.total}:void 0}):pe;return o.jsx(it,{hasSheet:Ie&&!We,children:o.jsx(Rt,{selectedMessageId:t,rows:y,onOpen:de,onDeleteMessages:d,onSelectionVerb:p.start,commandsRef:r,onTriageContextChange:l,children:o.jsx(ys,{wizard:p,header:{title:"Daily brief",unreadCount:ze,footer:L?o.jsx(wt,{}):void 0,searchFilter:Ue,searchResults:se,searchLoading:Q||Pe,relatedResults:He,relatedLoading:_e,onSelectSearchResult:qe,searchResultsInBody:!0,refreshControl:Qe},rows:y,children:o.jsxs("div",{className:"flex h-full flex-col",children:[Ee.map(s=>o.jsx(bs,{accountEmail:s.email,accountId:s.accountId},s.accountId)),o.jsx("div",{className:"min-h-0 flex-1",children:Ve})]})})})})}const Le=a.createContext(null);function J(){const e=a.useContext(Le);if(!e)throw new Error("BriefPane.* must be used inside <BriefPane>");return e}function Cs({thread:e,children:t}){const n=ns(),r=as(),l=ke(),{searchInput:d}=Y(),u=e?.threadId,m=e?.messageId,{data:b}=oe({...ne(),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]),L=Bt(u,m),I=x??L,p=m??I?.messageId,D=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)=>{n(g,{replace:N?.replace,query:d})},[n,d]),v=a.useCallback(g=>{p&&g.includes(p)&&r()},[p,r]),F=Se({thread:I,isOpen:!0,onAfterOptimisticRemove:v}),S=Lt(),{deleteMessages:C}=Dt({mailboxId:I?.mailboxId??"",messages:f,onAfterOptimisticRemove:v}),{toggleReadFor:G}=Et({mailboxId:I?.mailboxId??"",messages:f}),E=S.focusedMessageId,T=a.useMemo(()=>f.find(g=>g.messageId===E),[f,E])??I,P=Se({thread:T,isOpen:T?.messageId===p}),$=os(),R=ct(),j=lt(),w=a.useMemo(()=>dt(j,u,p),[j,u,p]),O=a.useMemo(()=>{if(T)return g=>j({threadId:T.threadId,messageId:T.messageId,mode:g})},[j,T]),{nextMessageId:q,previousMessageId:z}=Pt({context:S,orderedIds:S.orderedIds,selectedMessageId:p,enabled:!$&&!R,hasOpenThread:u!==void 0,onClose:r,handlers:{reply:()=>O?.("reply"),replyAll:()=>O?.("reply-all"),forward:()=>O?.("forward"),delete:()=>{S.listCommandsRef.current?.requestVerb("delete")||P.deleteThread()},toggleStar:P.toggleStar,toggleRead:()=>{S.listCommandsRef.current?.requestVerb("markRead")||T&&G([T.messageId],!T.isRead)},goFlagged:()=>l("flagged"),goSettings:()=>l("settings")}}),A=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:D,onOpenThread:h,onCloseThread:r,nextThread:A(q),previousThread:A(z),actions:F,onReply:w,triage:S,onDeleteMessages:C,handleDeselectIfRemoved:v};return o.jsx(Le.Provider,{value:Q,children:t})}function De(){const{selectedMessageId:e,onOpenThread:t,triage:n,onDeleteMessages:r}=J(),{accounts:l}=Y();return o.jsx(Ss,{accounts:l,selectedMessageId:e,onOpenThread:t,commandsRef:n.listCommandsRef,onTriageContextChange:n.onTriageContextChange,onDeleteMessages:r})}function Ts(){const{conversation:e,selectedThread:t,actions:n,onReply:r,handleDeselectIfRemoved:l}=J(),d=!!e,u=Qt(e?.threadId);return o.jsxs(o.Fragment,{children:[o.jsxs("section",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[o.jsx(_t,{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?n.deleteThread:void 0,onToggleStar:d?n.toggleStar:void 0,isStarred:n.isStarred,moveContext:d&&n.accountId&&n.mailboxId?{accountId:n.accountId,currentMailboxId:n.mailboxId,onMove:n.moveThread}:void 0}),o.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:e?o.jsx(we,{threadId:e.threadId,mailboxId:e.mailboxId,subject:e.subject,selectedMessageId:e.messageId,authenticity:e.authenticity,onOpenIntelligence:u.open,listOnScreen:!0}):o.jsx(ht,{})})]}),o.jsx(Me,{isOpen:u.drawerOpen,onClose:u.closeDrawer,thread:t,mailboxId:t?.mailboxId,accountId:t?.accountId,onAfterOptimisticRemove:l})]})}function js(){const{selectedThread:e,handleDeselectIfRemoved:t}=J(),{onToggleIntelligence:n}=Y();return o.jsx(zt,{onClose:n,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:t})}function Rs(){const{selectedThread:e,conversation:t,onOpenThread:n,onCloseThread:r,nextThread:l,previousThread:d,handleDeselectIfRemoved:u}=J(),m=qt(t?.threadId??null);return t?o.jsxs(o.Fragment,{children:[o.jsx(we,{threadId:t.threadId,mailboxId:t.mailboxId,subject:t.subject,selectedMessageId:t.messageId,authenticity:t.authenticity,onBack:r,onOpenIntelligence:m.toggle,onSwipeNext:l?()=>n(l):void 0,onSwipePrevious:d?()=>n(d):void 0,mobileIntelligenceOpen:m.isOpen}),o.jsx(Me,{isOpen:m.isOpen,onClose:m.close,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:u})]}):o.jsx("div",{className:"h-full",children:o.jsx(De,{})})}const zs=Object.assign(Cs,{List:De,Reading:Ts,Intelligence:js,Phone:Rs});export{zs as B};
1
+ import{j as o,L as Ze,U as Xe,e9 as et,C as Y,bi as tt,cM as st,r as a,c as oe,ea as ne,G as ot,dw as nt,eb as at,dQ as rt,_ as Te,dU as it,aj as ct,cT as lt,cU as dt}from"./index-DFOeerF8.js";import{g as je,e as ut,f as Re,u as mt,p as ft,R as ht}from"./useSearchTokenContext-Dm2n0VLM.js";import{ai as be,F as ve,aj as gt,ak as xt,G as pt,al as ye,am as It,an as bt,ao as vt,a7 as yt,ap as St,aq as Ct,ar as Tt,M as jt,as as Rt,ae as wt,at as Mt,e as kt,v as Ft,af as Ot,q as At,S as Nt,J as Bt,O as Se,N as Lt,K as Dt,d as Et,Y as Pt,Z as qt,$ as we,a0 as Me,a1 as zt,a2 as Qt,a3 as _t}from"./MailListHeader-CqakXKgQ.js";import{u as Ht,a as Ut,R as Gt,b as $t,c as Wt}from"./useRefreshControl-BJ7UQujJ.js";import{u as Vt}from"./useQueries-CEYkNMRl.js";import{a as Yt}from"./useLabels-aSL1iqHo.js";import{u as Jt,b as Kt}from"./useLayoutTier-B7hLuv2u.js";import{u as Zt,r as Xt,L as es}from"./useSemanticSearch-CdjzwsfH.js";import{w as ts}from"./wizard-selection-B1bng5Jq.js";import{u as ke}from"./sections-Dp5ObH0B.js";import{R as ss}from"./refresh-cw-DGtjV-Yn.js";import{a as os}from"./useMessageBodyContent-DKDt9OB3.js";import{g as ns,h as as}from"./search-token-index-BDWCdrDr.js";function rs({sync:e}){return e?o.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:[o.jsx(Ze,{className:"size-8 animate-spin text-fg-subtle","aria-hidden":"true"}),o.jsx("p",{className:"text-sm font-medium text-fg",children:"Still syncing your mail"}),o.jsx("p",{className:"text-xs text-fg-subtle",children:is(e)})]}):o.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-2 py-12 text-center px-4",children:[o.jsx(Xe,{className:"size-8 text-fg-subtle","aria-hidden":"true"}),o.jsx("p",{className:"text-sm font-medium text-fg",children:"You're caught up"}),o.jsx("p",{className:"text-xs text-fg-subtle",children:"Nothing needs attention."})]})}function is({synced:e,total:t}){return t>0?`${e.toLocaleString()} of ${t.toLocaleString()} messages downloaded. This list fills in as they arrive.`:"Downloading your messages. This list fills in as they arrive."}const Fe=[{id:"unread",name:"is",value:"unread"},{id:"attachment",name:"has",value:"attachment"}],Oe="category",cs={unclassified:"uncategorized"},U=e=>ut(e).map(t=>t.raw),H=e=>e.join(" "),ae=e=>{const t=Re(e);if(t)return Fe.find(n=>n.name===t.name&&n.value===t.value.toLowerCase())?.id},re=e=>{const t=Re(e);if(!t||t.name!==Oe)return;const n=t.value.toLowerCase(),r=cs[n];if(r)return r;if(!(!et(n)||n==="all"))return n},Ae=e=>Fe.find(t=>t.id===e),Ne=e=>Ae(e)!==void 0,ls=e=>{const t=new Set;for(const n of U(e)){const r=ae(n);r&&t.add(r)}return t},ds=e=>{let t="all";for(const n of U(e)){const r=re(n);r&&(t=r)}return t},us=(e,t)=>{const n=Ae(t);if(!n)return;const r=U(e),l=r.filter(d=>ae(d)!==t);return l.length<r.length?H(l):H([...r,je(n.name,n.value)])},ms=(e,t)=>{const n=U(e).filter(r=>!re(r));return H(t==="all"?n:[...n,je(Oe,t)])},fs=e=>H(U(e).filter(t=>!ae(t)&&!re(t))),Be=e=>e.trim().length>0,hs=e=>{if(!Be(e.query))return e.ownFilters;const t=new Set(ls(e.query));for(const n of e.ownFilters)Ne(n)||t.add(n);return t},gs=e=>Be(e.query)?ds(e.query):e.ownCategory,xs=(e,t)=>e.createdAt!==t.createdAt?e.createdAt-t.createdAt:e.accountId.localeCompare(t.accountId),ps=e=>[...e].sort(xs),Is=200,Ce=()=>o.jsx("div",{className:"animate-pulse",children:Array.from({length:3}).map((e,t)=>o.jsxs("div",{className:"flex items-start gap-3 py-2 pl-5 pr-4 border-b border-line",children:[o.jsx("div",{className:"size-7 rounded-full bg-surface-sunken shrink-0 mt-0.5"}),o.jsxs("div",{className:"flex-1 space-y-1.5",children:[o.jsxs("div",{className:"flex justify-between gap-2",children:[o.jsx("div",{className:"h-3.5 bg-surface-sunken rounded w-28"}),o.jsx("div",{className:"h-3 bg-surface-sunken rounded w-12"})]}),o.jsx("div",{className:"h-3.5 bg-surface-sunken rounded w-48"}),o.jsx("div",{className:"h-3 bg-surface-sunken rounded w-full"})]})]},t))}),bs=({accountEmail:e})=>{const t=ke();return o.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:[o.jsx(Te,{className:"size-3.5 shrink-0"}),o.jsxs("span",{className:"flex-1 truncate",children:[e," can't connect"]}),o.jsx("button",{type:"button",onClick:()=>t("accounts"),className:"shrink-0 underline text-danger hover:opacity-80",children:"Reconnect"})]})},vs=(e,t)=>{if(t.size===0)return{};const n=e.filter(d=>t.has(d.id)),r=Xt(n.map(d=>d.accountId));if(r.restriction)return r;const l=new Set;for(const d of n)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 ys({header:e,rows:t,wizard:n,children:r}){const{selectedIds:l,selectedCount:d,exitSelection:u,orderedIds:m,allSelected:b,toggleAllLoaded:f}=Mt(),x=a.useMemo(()=>vs(t,l),[t,l]),{junkMailboxId:L}=kt(x.accountId),{labels:I}=Yt(x.accountId),p=a.useMemo(()=>Array.from(l),[l]),D=a.useMemo(()=>ts(t,l),[t,l]),h=Ft(L,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=C=>o.jsx(Nt,{title:C.title,navSlot:C.navSlot,titleMeta:C.titleMeta,searchSlot:C.searchSlot,searchField:C.searchField,idleSlot:C.makeFilterSlot,count:d,onCancel:u,onDelete:()=>n.start("delete"),onMove:()=>n.start("move"),onOrganize:()=>n.start("organize"),onJunk:h?()=>n.start("junk"):void 0,onMarkRead:()=>n.start("markRead"),overflowSlot:x.accountId&&x.mailboxId&&d>0&&I.length>0?o.jsx(es,{accountId:x.accountId,mailboxId:x.mailboxId,messageIds:p}):void 0,selectAll:v,notice:F});return o.jsx(Ot,{...e,selectionBar:S,paneOverlay:o.jsx(At,{verb:n.verb,accountId:x.accountId,mailboxId:x.mailboxId,selection:D,selectionRestriction:x.restriction,onFinished:u}),children:r})}function Ss({accounts:e,selectedMessageId:t,onOpenThread:n,commandsRef:r,onTriageContextChange:l,onDeleteMessages:d}){const{searchQuery:u,searchInput:m,resultFolderIndex:b,onSearchChange:f}=Y(),x=mt(),L=tt(),I=Jt(),p=st(),D=Kt(),h=a.useMemo(()=>ps(e.filter(s=>!s.muted?.value)),[e]),[v,F]=a.useState("all"),[S,C]=a.useState("all"),[G,E]=a.useState(new Set),[K,T]=a.useState(!1),P=a.useCallback(s=>{E(i=>{const c=new Set(i);return c.has(s)?c.delete(s):c.add(s),c})},[]),$=a.useCallback(()=>E(new Set),[]),R=m.trim().length>0,j=a.useMemo(()=>hs({query:m,ownFilters:G}),[m,G]),w=a.useMemo(()=>gs({query:m,ownCategory:S}),[m,S]),O=a.useCallback(s=>{if(!R||!Ne(s)){P(s);return}const i=us(m,s);i!==void 0&&f(i)},[R,m,f,P]),q=a.useCallback(s=>{if(!R){C(s);return}f(ms(m,s))},[R,m,f]),z=a.useCallback(()=>{C("all"),F("all"),$(),R&&f(fs(m))},[R,m,f,$]),{data:A,isLoading:Q,isError:g,refetch:N}=oe({...ne(),staleTime:6e4}),B=Vt({queries:h.map(s=>({...ot({path:{accountId:s.accountId}}),staleTime:1/0,meta:{softError:!0}}))}),W=a.useMemo(()=>{const s=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);s.set(c,Ye)}return s},[h,B]),Ee=a.useMemo(()=>h.filter((s,i)=>{const c=B[i];return c?.isError?!nt(c.error):!1}),[h,B]),{freeText:M,tokens:Z}=ft(u.trim().toLowerCase(),x),{data:ie,isFetching:Pe}=oe({...ne({query:{query:M,limit:Is}}),enabled:M.length>0,staleTime:3e4}),y=a.useMemo(()=>{const s=be(A?.items??[]).map(ve);return(M?gt(s.filter(c=>xt(c,M)),be(ie?.items??[]).map(ve)):s).filter(c=>(v==="all"||c.accountId===v)&&pt(c,Z))},[A,ie,v,M,Z]),{bodyRows:ce,briefSpamOffer:X}=a.useMemo(()=>{if(!M)return{bodyRows:y,briefSpamOffer:void 0};const s=y.map(k=>ye(k,b)),{spam:i}=It(s);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:bt(s)}},[y,M,b]),le=a.useMemo(()=>vt(ce),[ce]),de=a.useCallback((s,i)=>{const c=y.find(k=>k.id===s)?.threadId;c&&n?.({threadId:c,messageId:s},i)},[y,n]),qe=a.useCallback(s=>{const i=s.threadId??y.find(c=>c.id===s.id)?.threadId;i&&n?.({threadId:i,messageId:s.id})},[y,n]),ee=a.useMemo(()=>h.length<=1?[]:[{id:"all",label:"All",active:v==="all"},...h.map(s=>({id:s.accountId,label:s.email.split("@")[0]??s.email,count:W.get(s.accountId),active:v===s.accountId}))],[h,W,v]),_=a.useMemo(()=>e.filter(s=>s.muted?.value).length,[e]),ze=a.useMemo(()=>Array.from(W.values()).reduce((s,i)=>s+i,0),[W]),te=a.useMemo(()=>h.map(s=>s.accountId),[h]),{hasNewMail:ue}=Ht(),{state:me,errorMessage:fe,refresh:he}=Ut(te,{onSettled:()=>N()}),Qe=a.useMemo(()=>o.jsx(Gt,{state:me,onRefresh:he,label:"Refresh daily brief",errorMessage:fe,hasUpdate:ue(te)}),[me,he,fe,ue,te]),se=a.useMemo(()=>y.filter(s=>(w==="all"||s.category===w)&&at(s,j)).map(s=>ye(s,b)),[y,w,j,b]),{hits:ge,isLoading:_e}=Zt(),He=a.useMemo(()=>{const s=new Map;for(const c of A?.items??[])s.set(c.messageId,c.threadId);const i=se.map(c=>s.get(c.id)).filter(c=>c!=null);return yt(ge,i,b)},[ge,se,A,b]),Ue=a.useMemo(()=>{const s=St(ee.map(i=>({id:i.id,label:i.label,count:i.count,active:i.active})));return{categories:s.categories,filters:s.filters,sources:s.sources,sourcesNote:_>0?`+${_} muted`:void 0,selectedCategory:w,activeFilters:j,expanded:K,onExpandedChange:T,onSelectCategory:i=>q(i),onSelectSource:F,onToggleFilter:i=>O(i),onClear:z}},[ee,_,w,j,K,O,q,z]),xe=le.length===0&&v==="all"&&M.length===0&&Z.length===0,Ge=a.useMemo(()=>h.map(s=>s.accountId),[h]),$e=a.useMemo(()=>h.some(s=>$t(s.syncPhase)),[h]),V=Wt(Ge,xe||$e),pe=o.jsxs("div",{className:"h-full overflow-y-auto",children:[o.jsx(Ce,{}),o.jsx(Ce,{})]}),Ie=!Q&&!g&&!xe,We=Ct({tier:I,hasLiveInput:R,hasCommittedQuery:u.trim().length>0,bodyRendersCommittedResults:!0}),Ve=Ie?o.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[X&&o.jsx(Tt,{count:X.count,onScopeToSpam:()=>D(X.mailboxId,u)}),o.jsx("div",{className:"min-h-0 flex-1",children:o.jsx(rt,{sections:le,briefCategory:w,Row:jt,selectedThreadId:t,onSelectThread:de,onSelectBriefCategory:q,sources:ee,sourcesNote:_>0?`+${_} muted`:void 0,onSelectSource:F,activeFilters:j,onToggleFilter:O,onClearFilters:z})})]}):Q?pe:g?o.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-3 py-12 text-sm text-fg-muted",children:[o.jsx(Te,{className:"size-8 text-danger"}),o.jsx("p",{children:"Couldn't load your messages"}),o.jsxs("button",{type:"button",onClick:()=>N(),className:"flex items-center gap-1 text-accent underline text-xs",children:[o.jsx(ss,{className:"size-3.5"}),"Try again"]})]}):V.resolved?o.jsx(rs,{sync:V.syncing?{synced:V.synced,total:V.total}:void 0}):pe;return o.jsx(it,{hasSheet:Ie&&!We,children:o.jsx(Rt,{selectedMessageId:t,rows:y,onOpen:de,onDeleteMessages:d,onSelectionVerb:p.start,commandsRef:r,onTriageContextChange:l,children:o.jsx(ys,{wizard:p,header:{title:"Daily brief",unreadCount:ze,footer:L?o.jsx(wt,{}):void 0,searchFilter:Ue,searchResults:se,searchLoading:Q||Pe,relatedResults:He,relatedLoading:_e,onSelectSearchResult:qe,searchResultsInBody:!0,refreshControl:Qe},rows:y,children:o.jsxs("div",{className:"flex h-full flex-col",children:[Ee.map(s=>o.jsx(bs,{accountEmail:s.email,accountId:s.accountId},s.accountId)),o.jsx("div",{className:"min-h-0 flex-1",children:Ve})]})})})})}const Le=a.createContext(null);function J(){const e=a.useContext(Le);if(!e)throw new Error("BriefPane.* must be used inside <BriefPane>");return e}function Cs({thread:e,children:t}){const n=ns(),r=as(),l=ke(),{searchInput:d}=Y(),u=e?.threadId,m=e?.messageId,{data:b}=oe({...ne(),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]),L=Bt(u,m),I=x??L,p=m??I?.messageId,D=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)=>{n(g,{replace:N?.replace,query:d})},[n,d]),v=a.useCallback(g=>{p&&g.includes(p)&&r()},[p,r]),F=Se({thread:I,isOpen:!0,onAfterOptimisticRemove:v}),S=Lt(),{deleteMessages:C}=Dt({mailboxId:I?.mailboxId??"",messages:f,onAfterOptimisticRemove:v}),{toggleReadFor:G}=Et({mailboxId:I?.mailboxId??"",messages:f}),E=S.focusedMessageId,T=a.useMemo(()=>f.find(g=>g.messageId===E),[f,E])??I,P=Se({thread:T,isOpen:T?.messageId===p}),$=os(),R=ct(),j=lt(),w=a.useMemo(()=>dt(j,u,p),[j,u,p]),O=a.useMemo(()=>{if(T)return g=>j({threadId:T.threadId,messageId:T.messageId,mode:g})},[j,T]),{nextMessageId:q,previousMessageId:z}=Pt({context:S,orderedIds:S.orderedIds,selectedMessageId:p,enabled:!$&&!R,hasOpenThread:u!==void 0,onClose:r,handlers:{reply:()=>O?.("reply"),replyAll:()=>O?.("reply-all"),forward:()=>O?.("forward"),delete:()=>{S.listCommandsRef.current?.requestVerb("delete")||P.deleteThread()},toggleStar:P.toggleStar,toggleRead:()=>{S.listCommandsRef.current?.requestVerb("markRead")||T&&G([T.messageId],!T.isRead)},goFlagged:()=>l("flagged"),goSettings:()=>l("settings")}}),A=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:D,onOpenThread:h,onCloseThread:r,nextThread:A(q),previousThread:A(z),actions:F,onReply:w,triage:S,onDeleteMessages:C,handleDeselectIfRemoved:v};return o.jsx(Le.Provider,{value:Q,children:t})}function De(){const{selectedMessageId:e,onOpenThread:t,triage:n,onDeleteMessages:r}=J(),{accounts:l}=Y();return o.jsx(Ss,{accounts:l,selectedMessageId:e,onOpenThread:t,commandsRef:n.listCommandsRef,onTriageContextChange:n.onTriageContextChange,onDeleteMessages:r})}function Ts(){const{conversation:e,selectedThread:t,actions:n,onReply:r,handleDeselectIfRemoved:l}=J(),d=!!e,u=Qt(e?.threadId);return o.jsxs(o.Fragment,{children:[o.jsxs("section",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[o.jsx(_t,{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?n.deleteThread:void 0,onToggleStar:d?n.toggleStar:void 0,isStarred:n.isStarred,moveContext:d&&n.accountId&&n.mailboxId?{accountId:n.accountId,currentMailboxId:n.mailboxId,onMove:n.moveThread}:void 0}),o.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:e?o.jsx(we,{threadId:e.threadId,mailboxId:e.mailboxId,subject:e.subject,selectedMessageId:e.messageId,authenticity:e.authenticity,onOpenIntelligence:u.open,listOnScreen:!0}):o.jsx(ht,{})})]}),o.jsx(Me,{isOpen:u.drawerOpen,onClose:u.closeDrawer,thread:t,mailboxId:t?.mailboxId,accountId:t?.accountId,onAfterOptimisticRemove:l})]})}function js(){const{selectedThread:e,handleDeselectIfRemoved:t}=J(),{onToggleIntelligence:n}=Y();return o.jsx(zt,{onClose:n,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:t})}function Rs(){const{selectedThread:e,conversation:t,onOpenThread:n,onCloseThread:r,nextThread:l,previousThread:d,handleDeselectIfRemoved:u}=J(),m=qt(t?.threadId??null);return t?o.jsxs(o.Fragment,{children:[o.jsx(we,{threadId:t.threadId,mailboxId:t.mailboxId,subject:t.subject,selectedMessageId:t.messageId,authenticity:t.authenticity,onBack:r,onOpenIntelligence:m.toggle,onSwipeNext:l?()=>n(l):void 0,onSwipePrevious:d?()=>n(d):void 0,mobileIntelligenceOpen:m.isOpen}),o.jsx(Me,{isOpen:m.isOpen,onClose:m.close,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:u})]}):o.jsx("div",{className:"h-full",children:o.jsx(De,{})})}const zs=Object.assign(Cs,{List:De,Reading:Ts,Intelligence:js,Phone:Rs});export{zs as B};
@@ -1 +1 @@
1
- import{a as ee,i as _}from"./window-D2_PzNJF.js";import{j as n,f as j,t as d,Y as te,Z as ne,ay as f,r as p,ax as ae,X as se,i as T,ei as re,ej as ie,ek as le,h as oe,s as ce,b1 as de,_ as ue}from"./index-4Qa4330_.js";import{f as me}from"./ErrorState-CYdw-mIz.js";import{R as z,c as he}from"./calendar-color-Cwadf2k3.js";const xe=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],pe=["January","February","March","April","May","June","July","August","September","October","November","December"],fe=["first","second","third","fourth","last"],A="";function ye(e,t){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))return[];const[a,s,i]=e.split("-").map(Number),r=new Date(Date.UTC(a,s-1,i)),l=xe[r.getUTCDay()],o=fe[Math.min(Math.floor((i-1)/7),4)],c=t===""?"":`, ${t}`,y=r.getUTCDay()>=1&&r.getUTCDay()<=5;return[`Every day${c}`,...y?[`Every weekday${c}`]:[],`Every week on ${l}${c}`,`Every month on the ${o} ${l}${c}`,`Every year on ${i} ${pe[s-1]}${c}`]}const ve="w-full rounded-md border border-line bg-surface-sunken px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus-visible:border-line-strong focus-visible:ring-2 focus-visible:ring-ring/30",u=({draft:e,onChange:t},a,s)=>t({...e,[a]:s});function x({label:e,children:t}){return n.jsxs("div",{className:"flex flex-col gap-2",children:[n.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:e}),t]})}function ge({draft:e,onChange:t,layout:a="compact",touch:s}){const i=a==="pane";return n.jsx(f,{value:e.title,placeholder:"Title","aria-label":"Title",onChange:r=>u({draft:e,onChange:t},"title",r.target.value),className:d(i?"text-lg font-medium":"text-md font-medium",i?"h-11":s?"min-h-11":"")})}function H(e){return e.allDay||e.startTime===""||e.endTime===""?!1:e.endTime<e.startTime}function be({draft:e,onChange:t,touch:a}){const s=a?"min-h-11":"",i=H(e),r=p.useId();return n.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[n.jsx(f,{type:"date",value:e.date,"aria-label":"Date",onChange:l=>u({draft:e,onChange:t},"date",l.target.value),className:d("w-40",s)}),e.allDay?n.jsx("span",{className:"text-sm text-fg-muted",children:"All day"}):n.jsxs(n.Fragment,{children:[n.jsx(f,{type:"time",value:e.startTime,"aria-label":"Start time",max:e.endTime===""?void 0:e.endTime,"aria-invalid":i,"aria-describedby":i?r:void 0,onChange:l=>u({draft:e,onChange:t},"startTime",l.target.value),className:d("w-28",s,i&&"border-danger/60")}),n.jsx("span",{className:"text-sm text-fg-subtle",children:"to"}),n.jsx(f,{type:"time",value:e.endTime,"aria-label":"End time",min:e.startTime===""?void 0:e.startTime,"aria-invalid":i,"aria-describedby":i?r:void 0,onChange:l=>u({draft:e,onChange:t},"endTime",l.target.value),className:d("w-28",s,i&&"border-danger/60")})]}),n.jsxs("label",{className:"flex items-center gap-2 text-sm text-fg-muted",children:[n.jsx("input",{type:"checkbox",checked:e.allDay,onChange:l=>u({draft:e,onChange:t},"allDay",l.target.checked),className:"size-4 accent-current"}),"All day"]})]}),i&&n.jsxs("p",{id:r,className:"text-xs text-danger",role:"alert",children:["Ends before it starts. Move the end past ",e.startTime,", or start earlier."]})]})}function Ee({draft:e,onChange:t,calendars:a,touch:s}){return n.jsx(Ae,{calendars:a,value:e.calendarId,onChange:i=>u({draft:e,onChange:t},"calendarId",i),touch:s})}function Ne({draft:e,onChange:t,touch:a,repeatEditable:s=!0,onCustom:i}){return s?n.jsx(ke,{value:e.repeat,date:e.date,startTime:e.startTime,onChange:r=>u({draft:e,onChange:t},"repeat",r),onCustom:i,className:a?"min-h-11":""}):n.jsxs("p",{className:"flex items-center gap-2 text-sm text-fg-muted",children:[n.jsx(z,{className:"size-4 shrink-0 text-fg-subtle","aria-hidden":!0}),e.repeat===A?"Does not repeat":e.repeat]})}function je({draft:e,onChange:t,touch:a}){return n.jsx(f,{value:e.location,placeholder:"Location","aria-label":"Location",onChange:s=>u({draft:e,onChange:t},"location",s.target.value),className:a?"min-h-11":""})}function Te({draft:e,onChange:t,touch:a}){return n.jsx(f,{value:e.guests,placeholder:"Guests, comma separated","aria-label":"Guests",onChange:s=>u({draft:e,onChange:t},"guests",s.target.value),className:a?"min-h-11":""})}function Ce({draft:e,onChange:t,layout:a="compact"}){return n.jsx("textarea",{value:e.notes,placeholder:"Notes","aria-label":"Notes",onChange:s=>u({draft:e,onChange:t},"notes",s.target.value),rows:a==="pane"?6:3,className:ve})}function De({draft:e,onChange:t,calendars:a,layout:s="compact",expanded:i=!1,onToggleExpanded:r,onSave:l,onCancel:o,onDelete:c,saveLabel:y="Add",header:g,repeatEditable:b=!0,guestsEditable:I=!1,calendarEditable:M=!0,onCustomRepeat:X,touch:m,className:w}){const v=s==="pane",h={draft:e,onChange:t,layout:s,touch:m},S=n.jsx(ge,{...h}),$=n.jsx(be,{...h}),R=n.jsx(Ee,{...h,calendars:a}),F=n.jsx(Ne,{...h,repeatEditable:b,onCustom:X}),Y=n.jsx(je,{...h}),L=n.jsx(Te,{...h}),P=n.jsx(Ce,{...h}),W=n.jsxs("div",{className:d("flex items-center gap-2",v?"pt-2":"pt-1"),children:[n.jsx(j,{variant:"primary",size:m||v?"md":"sm",onClick:l,disabled:H(e),className:m?"min-h-11 flex-1":"",children:y}),n.jsx(j,{variant:"ghost",size:m||v?"md":"sm",onClick:o,className:m?"min-h-11":"",children:"Cancel"}),c&&n.jsx(j,{variant:"ghost",size:m||v?"md":"sm",onClick:c,className:d("ml-auto text-danger",m&&"min-h-11"),children:"Delete"})]});if(v)return n.jsxs("div",{className:d("flex flex-col gap-5",w),children:[g,n.jsx(x,{label:"Title",children:S}),n.jsx(x,{label:"When",children:$}),M&&n.jsx(x,{label:"Calendar",children:R}),n.jsx(x,{label:"Repeat",children:F}),n.jsx(x,{label:"Location",children:Y}),I&&n.jsx(x,{label:"Guests",children:L}),n.jsx(x,{label:"Notes",children:P}),W]});const Z=r!==void 0&&!i;return n.jsxs("div",{className:d("flex flex-col gap-3",w),children:[g,S,$,M&&R,r&&n.jsxs("button",{type:"button",onClick:r,"aria-expanded":i,className:d("flex items-center gap-1 self-start rounded-sm text-xs font-medium text-fg-muted outline-none hover:text-fg focus-visible:ring-2 focus-visible:ring-ring",m&&"min-h-11"),children:[i?n.jsx(te,{className:"size-3.5"}):n.jsx(ne,{className:"size-3.5"}),i?"Fewer details":"More details"]}),!Z&&n.jsxs("div",{className:"flex flex-col gap-2 border-t border-line pt-3",children:[Y,I&&L,F,P]}),W]})}const U="__custom__";function ke({value:e,date:t,startTime:a,onChange:s,onCustom:i,className:r}){const l=ye(t,a),o=e===A||l.includes(e)?l:[e,...l];return n.jsxs(ae,{icon:n.jsx(z,{className:"size-4"}),"aria-label":"Repeat",value:e,onChange:c=>{if(c.target.value===U){i?.();return}s(c.target.value)},className:r,children:[n.jsx("option",{value:A,children:"Does not repeat"}),o.map(c=>n.jsx("option",{value:c,children:c},c)),i&&n.jsx("option",{value:U,children:"Custom…"})]})}function Ae({calendars:e,value:t,onChange:a,touch:s}){const i=p.useId();return n.jsxs("fieldset",{className:"flex flex-wrap gap-1.5",children:[n.jsx("legend",{className:"sr-only",children:"Calendar"}),e.map(r=>{const l=he(r.color),o=r.id===t;return n.jsxs("label",{className:d("inline-flex cursor-pointer items-center gap-1.5 rounded-full border px-2.5 text-xs transition-colors","has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-ring",s?"min-h-11":"h-7",o?d(l.soft,l.text,l.border):"border-line text-fg-muted hover:bg-surface-sunken"),children:[n.jsx("input",{type:"radio",name:i,value:r.id,checked:o,onChange:()=>a(r.id),className:"sr-only"}),n.jsx("span",{className:d("size-2 rounded-full",l.solid)}),r.name]},r.id)})]})}function Oe({title:e,subtitle:t,onClose:a,children:s,className:i}){return n.jsxs("section",{className:d("flex h-full w-full flex-col bg-surface",i),children:[n.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-2 border-b border-line px-row-inset",children:[n.jsx("h2",{className:"shrink-0 text-xs font-medium text-fg",children:e}),t!==void 0&&t!==""&&n.jsx("span",{className:"min-w-0 flex-1 truncate text-xs text-fg-muted",children:t}),n.jsx("button",{type:"button","aria-label":"Close editor",onClick:a,className:"ml-auto flex size-7 shrink-0 items-center justify-center rounded-md text-fg-subtle outline-none hover:bg-surface-sunken hover:text-fg focus-visible:ring-2 focus-visible:ring-ring",children:n.jsx(se,{className:"size-4"})})]}),n.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-row-inset py-5",children:n.jsx("div",{className:"mx-auto w-full max-w-2xl",children:s})})]})}const E=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],N=["SU","MO","TU","WE","TH","FR","SA"],Q=["January","February","March","April","May","June","July","August","September","October","November","December"],K=["first","second","third","fourth","last"],G=[1,2,3,4,-1],J="MO,TU,WE,TH,FR",Ie=e=>e.replace(/,\s*\d{2}:\d{2}$/,"").trim();function O(e){const t=Ie(e);if(t==="")return"";if(t==="Every day")return"FREQ=DAILY";if(t==="Every weekday")return`FREQ=WEEKLY;BYDAY=${J}`;const a=t.match(/^Every week on (\w+)$/);if(a){const r=E.indexOf(a[1]);return r===-1?void 0:`FREQ=WEEKLY;BYDAY=${N[r]}`}const s=t.match(/^Every month on the (\w+) (\w+)$/);if(s){const r=K.indexOf(s[1]),l=E.indexOf(s[2]);return r===-1||l===-1?void 0:`FREQ=MONTHLY;BYDAY=${G[r]}${N[l]}`}const i=t.match(/^Every year on (\d{1,2}) (\w+)$/);if(i){const r=Q.indexOf(i[2]);return r===-1?void 0:`FREQ=YEARLY;BYMONTH=${r+1};BYMONTHDAY=${Number(i[1])}`}}const Me=e=>e===""?"":`, ${e}`;function Pe(e,t){const a=new Map(e.split(";").map(l=>l.split("=")).filter(l=>l.length===2).map(([l,o])=>[l.toUpperCase(),o.toUpperCase()])),s=Me(t),i=a.get("FREQ"),r=a.get("BYDAY");if(!(a.has("INTERVAL")&&a.get("INTERVAL")!=="1")&&!(a.has("UNTIL")||a.has("COUNT"))){if(i==="DAILY")return`Every day${s}`;if(i==="WEEKLY"){if(r===void 0)return;if(r===J)return`Every weekday${s}`;const l=N.indexOf(r);return l===-1?void 0:`Every week on ${E[l]}${s}`}if(i==="MONTHLY"){const l=r?.match(/^(-?\d)([A-Z]{2})$/);if(!l)return;const o=G.indexOf(Number(l[1])),c=N.indexOf(l[2]);return o===-1||c===-1?void 0:`Every month on the ${K[o]} ${E[c]}${s}`}if(i==="YEARLY"){const l=Number(a.get("BYMONTH")),o=Number(a.get("BYMONTHDAY"));return!l||!o||l>12?void 0:`Every year on ${o} ${Q[l-1]}${s}`}}}function We(e,t){return{title:"",date:e,startTime:"09:00",endTime:"10:00",allDay:!1,calendarId:t,location:"",guests:"",notes:"",repeat:""}}function _e(e,t){return{title:e.title,date:e.start.slice(0,10),startTime:e.allDay?"":e.start.slice(11,16),endTime:e.allDay?"":e.end.slice(11,16),allDay:e.allDay,calendarId:e.calendarId,location:t.location,guests:"",notes:t.notes,repeat:t.repeat}}function q(e,t){return e.allDay?{start:e.date,end:ee(e.date,1)}:{start:_(e.date,e.startTime,t),end:_(e.date,e.endTime,t)}}function V(e,t){return e.title.trim()===""?"Give the event a title before saving it.":e.date===""?"Pick the day the event is on.":e.calendarId===""?"Pick the calendar to save the event in.":!e.allDay&&(e.startTime===""||e.endTime==="")?"Set a start and an end time, or mark the event all day.":!e.allDay&&e.endTime<=e.startTime?"The end time is not after the start time. Move one of them.":t&&O(e.repeat)===void 0?"This calendar can't store that repeat rule. Pick one of the offered rules, or turn the repeat off.":""}function Ue(e,t){const a=V(e,!0);if(a!=="")return{ok:!1,problem:a};const{start:s,end:i}=q(e,t);return{ok:!0,input:{calendarId:e.calendarId,summary:e.title.trim(),description:e.notes,location:e.location,start:s,end:i,allDay:e.allDay,...t===""?{}:{timeZone:t},recurrenceRule:O(e.repeat)??""}}}function Be(e,t,a){const s=t.repeat!==e.repeat,i=V(t,s);if(i!=="")return{ok:!1,problem:i};const r={};if(t.title.trim()!==e.title.trim()&&(r.summary=t.title.trim()),t.location!==e.location&&(r.location=t.location),t.notes!==e.notes&&(r.description=t.notes),t.date!==e.date||t.startTime!==e.startTime||t.endTime!==e.endTime||t.allDay!==e.allDay){const{start:o,end:c}=q(t,a);r.start=o,r.end=c,r.allDay=t.allDay,a!==""&&(r.timeZone=a)}return s&&(r.recurrenceRule=O(t.repeat)??""),{ok:!0,patch:r}}const C=ce(400,404,412),we=new Set(["calendarEventOperationsListCalendarEvents","calendarEventDetailOperationsGetCalendarEvent","calendarFreeBusyOperationsListCalendarFreeBusy"]),D={kind:"written"},k=e=>de(e)===412?{kind:"conflict"}:{kind:"refused",message:me(e)},Se={this:"This",following:"Following",all:"All"};function $e(){const e=oe();return p.useCallback(()=>{e.invalidateQueries({predicate:t=>{const a=t.queryKey[0];if(typeof a!="object"||a===null)return!1;const s=a._id;return typeof s=="string"&&we.has(s)}})},[e])}const B=({scope:e,recurrenceId:t})=>e===void 0||e==="all"?{}:{scope:Se[e],recurrenceId:t};function ze(){const e=$e(),t=T({...re(),meta:C,onSuccess:e}),a=T({...ie(),meta:C,onSuccess:e}),s=T({...le(),meta:C,onSuccess:e}),i=p.useCallback(o=>t.mutateAsync({body:o}).then(()=>D).catch(k),[t]),r=p.useCallback((o,c)=>a.mutateAsync({path:{calendarObjectId:o.calendarObjectId},query:{calendarId:o.calendarId,...B(o)},headers:{"If-Match":o.etag},body:c}).then(()=>D).catch(k),[a]),l=p.useCallback(o=>s.mutateAsync({path:{calendarObjectId:o.calendarObjectId},query:{calendarId:o.calendarId,...B(o)},headers:{"If-Match":o.etag}}).then(()=>D).catch(k),[s]);return p.useMemo(()=>({createEvent:i,updateEvent:r,deleteEvent:l,isWriting:t.isPending||a.isPending||s.isPending}),[i,r,l,t.isPending,a.isPending,s.isPending])}function He({title:e,subtitle:t,calendars:a,draft:s,onChange:i,problem:r,saveLabel:l,isSaving:o,repeatEditable:c=!0,calendarEditable:y=!0,onSave:g,onCancel:b}){return n.jsx(Oe,{title:e,subtitle:t,onClose:b,children:n.jsx(De,{draft:s,onChange:i,calendars:a,layout:"pane",repeatEditable:c,calendarEditable:y,saveLabel:o?"Saving…":l,onSave:g,onCancel:b,header:r===""?void 0:n.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:[n.jsx(ue,{className:"mt-0.5 size-4 shrink-0 text-danger","aria-hidden":"true"}),n.jsx("p",{className:"min-w-0 flex-1 break-words text-fg",children:r})]})})})}export{He as C,Ue as c,_e as d,We as e,Be as p,Pe as t,ze as u};
1
+ import{a as ee,i as _}from"./window-C7e0XMZy.js";import{j as n,f as j,t as d,Y as te,Z as ne,ay as f,r as p,ax as ae,X as se,i as T,ei as re,ej as ie,ek as le,h as oe,s as ce,b1 as de,_ as ue}from"./index-DFOeerF8.js";import{f as me}from"./ErrorState-DW9hn0tP.js";import{R as z,c as he}from"./calendar-color-B1y21BSV.js";const xe=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],pe=["January","February","March","April","May","June","July","August","September","October","November","December"],fe=["first","second","third","fourth","last"],A="";function ye(e,t){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))return[];const[a,s,i]=e.split("-").map(Number),r=new Date(Date.UTC(a,s-1,i)),l=xe[r.getUTCDay()],o=fe[Math.min(Math.floor((i-1)/7),4)],c=t===""?"":`, ${t}`,y=r.getUTCDay()>=1&&r.getUTCDay()<=5;return[`Every day${c}`,...y?[`Every weekday${c}`]:[],`Every week on ${l}${c}`,`Every month on the ${o} ${l}${c}`,`Every year on ${i} ${pe[s-1]}${c}`]}const ve="w-full rounded-md border border-line bg-surface-sunken px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus-visible:border-line-strong focus-visible:ring-2 focus-visible:ring-ring/30",u=({draft:e,onChange:t},a,s)=>t({...e,[a]:s});function x({label:e,children:t}){return n.jsxs("div",{className:"flex flex-col gap-2",children:[n.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:e}),t]})}function ge({draft:e,onChange:t,layout:a="compact",touch:s}){const i=a==="pane";return n.jsx(f,{value:e.title,placeholder:"Title","aria-label":"Title",onChange:r=>u({draft:e,onChange:t},"title",r.target.value),className:d(i?"text-lg font-medium":"text-md font-medium",i?"h-11":s?"min-h-11":"")})}function H(e){return e.allDay||e.startTime===""||e.endTime===""?!1:e.endTime<e.startTime}function be({draft:e,onChange:t,touch:a}){const s=a?"min-h-11":"",i=H(e),r=p.useId();return n.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[n.jsx(f,{type:"date",value:e.date,"aria-label":"Date",onChange:l=>u({draft:e,onChange:t},"date",l.target.value),className:d("w-40",s)}),e.allDay?n.jsx("span",{className:"text-sm text-fg-muted",children:"All day"}):n.jsxs(n.Fragment,{children:[n.jsx(f,{type:"time",value:e.startTime,"aria-label":"Start time",max:e.endTime===""?void 0:e.endTime,"aria-invalid":i,"aria-describedby":i?r:void 0,onChange:l=>u({draft:e,onChange:t},"startTime",l.target.value),className:d("w-28",s,i&&"border-danger/60")}),n.jsx("span",{className:"text-sm text-fg-subtle",children:"to"}),n.jsx(f,{type:"time",value:e.endTime,"aria-label":"End time",min:e.startTime===""?void 0:e.startTime,"aria-invalid":i,"aria-describedby":i?r:void 0,onChange:l=>u({draft:e,onChange:t},"endTime",l.target.value),className:d("w-28",s,i&&"border-danger/60")})]}),n.jsxs("label",{className:"flex items-center gap-2 text-sm text-fg-muted",children:[n.jsx("input",{type:"checkbox",checked:e.allDay,onChange:l=>u({draft:e,onChange:t},"allDay",l.target.checked),className:"size-4 accent-current"}),"All day"]})]}),i&&n.jsxs("p",{id:r,className:"text-xs text-danger",role:"alert",children:["Ends before it starts. Move the end past ",e.startTime,", or start earlier."]})]})}function Ee({draft:e,onChange:t,calendars:a,touch:s}){return n.jsx(Ae,{calendars:a,value:e.calendarId,onChange:i=>u({draft:e,onChange:t},"calendarId",i),touch:s})}function Ne({draft:e,onChange:t,touch:a,repeatEditable:s=!0,onCustom:i}){return s?n.jsx(ke,{value:e.repeat,date:e.date,startTime:e.startTime,onChange:r=>u({draft:e,onChange:t},"repeat",r),onCustom:i,className:a?"min-h-11":""}):n.jsxs("p",{className:"flex items-center gap-2 text-sm text-fg-muted",children:[n.jsx(z,{className:"size-4 shrink-0 text-fg-subtle","aria-hidden":!0}),e.repeat===A?"Does not repeat":e.repeat]})}function je({draft:e,onChange:t,touch:a}){return n.jsx(f,{value:e.location,placeholder:"Location","aria-label":"Location",onChange:s=>u({draft:e,onChange:t},"location",s.target.value),className:a?"min-h-11":""})}function Te({draft:e,onChange:t,touch:a}){return n.jsx(f,{value:e.guests,placeholder:"Guests, comma separated","aria-label":"Guests",onChange:s=>u({draft:e,onChange:t},"guests",s.target.value),className:a?"min-h-11":""})}function Ce({draft:e,onChange:t,layout:a="compact"}){return n.jsx("textarea",{value:e.notes,placeholder:"Notes","aria-label":"Notes",onChange:s=>u({draft:e,onChange:t},"notes",s.target.value),rows:a==="pane"?6:3,className:ve})}function De({draft:e,onChange:t,calendars:a,layout:s="compact",expanded:i=!1,onToggleExpanded:r,onSave:l,onCancel:o,onDelete:c,saveLabel:y="Add",header:g,repeatEditable:b=!0,guestsEditable:I=!1,calendarEditable:M=!0,onCustomRepeat:X,touch:m,className:w}){const v=s==="pane",h={draft:e,onChange:t,layout:s,touch:m},S=n.jsx(ge,{...h}),$=n.jsx(be,{...h}),R=n.jsx(Ee,{...h,calendars:a}),F=n.jsx(Ne,{...h,repeatEditable:b,onCustom:X}),Y=n.jsx(je,{...h}),L=n.jsx(Te,{...h}),P=n.jsx(Ce,{...h}),W=n.jsxs("div",{className:d("flex items-center gap-2",v?"pt-2":"pt-1"),children:[n.jsx(j,{variant:"primary",size:m||v?"md":"sm",onClick:l,disabled:H(e),className:m?"min-h-11 flex-1":"",children:y}),n.jsx(j,{variant:"ghost",size:m||v?"md":"sm",onClick:o,className:m?"min-h-11":"",children:"Cancel"}),c&&n.jsx(j,{variant:"ghost",size:m||v?"md":"sm",onClick:c,className:d("ml-auto text-danger",m&&"min-h-11"),children:"Delete"})]});if(v)return n.jsxs("div",{className:d("flex flex-col gap-5",w),children:[g,n.jsx(x,{label:"Title",children:S}),n.jsx(x,{label:"When",children:$}),M&&n.jsx(x,{label:"Calendar",children:R}),n.jsx(x,{label:"Repeat",children:F}),n.jsx(x,{label:"Location",children:Y}),I&&n.jsx(x,{label:"Guests",children:L}),n.jsx(x,{label:"Notes",children:P}),W]});const Z=r!==void 0&&!i;return n.jsxs("div",{className:d("flex flex-col gap-3",w),children:[g,S,$,M&&R,r&&n.jsxs("button",{type:"button",onClick:r,"aria-expanded":i,className:d("flex items-center gap-1 self-start rounded-sm text-xs font-medium text-fg-muted outline-none hover:text-fg focus-visible:ring-2 focus-visible:ring-ring",m&&"min-h-11"),children:[i?n.jsx(te,{className:"size-3.5"}):n.jsx(ne,{className:"size-3.5"}),i?"Fewer details":"More details"]}),!Z&&n.jsxs("div",{className:"flex flex-col gap-2 border-t border-line pt-3",children:[Y,I&&L,F,P]}),W]})}const U="__custom__";function ke({value:e,date:t,startTime:a,onChange:s,onCustom:i,className:r}){const l=ye(t,a),o=e===A||l.includes(e)?l:[e,...l];return n.jsxs(ae,{icon:n.jsx(z,{className:"size-4"}),"aria-label":"Repeat",value:e,onChange:c=>{if(c.target.value===U){i?.();return}s(c.target.value)},className:r,children:[n.jsx("option",{value:A,children:"Does not repeat"}),o.map(c=>n.jsx("option",{value:c,children:c},c)),i&&n.jsx("option",{value:U,children:"Custom…"})]})}function Ae({calendars:e,value:t,onChange:a,touch:s}){const i=p.useId();return n.jsxs("fieldset",{className:"flex flex-wrap gap-1.5",children:[n.jsx("legend",{className:"sr-only",children:"Calendar"}),e.map(r=>{const l=he(r.color),o=r.id===t;return n.jsxs("label",{className:d("inline-flex cursor-pointer items-center gap-1.5 rounded-full border px-2.5 text-xs transition-colors","has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-ring",s?"min-h-11":"h-7",o?d(l.soft,l.text,l.border):"border-line text-fg-muted hover:bg-surface-sunken"),children:[n.jsx("input",{type:"radio",name:i,value:r.id,checked:o,onChange:()=>a(r.id),className:"sr-only"}),n.jsx("span",{className:d("size-2 rounded-full",l.solid)}),r.name]},r.id)})]})}function Oe({title:e,subtitle:t,onClose:a,children:s,className:i}){return n.jsxs("section",{className:d("flex h-full w-full flex-col bg-surface",i),children:[n.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-2 border-b border-line px-row-inset",children:[n.jsx("h2",{className:"shrink-0 text-xs font-medium text-fg",children:e}),t!==void 0&&t!==""&&n.jsx("span",{className:"min-w-0 flex-1 truncate text-xs text-fg-muted",children:t}),n.jsx("button",{type:"button","aria-label":"Close editor",onClick:a,className:"ml-auto flex size-7 shrink-0 items-center justify-center rounded-md text-fg-subtle outline-none hover:bg-surface-sunken hover:text-fg focus-visible:ring-2 focus-visible:ring-ring",children:n.jsx(se,{className:"size-4"})})]}),n.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-row-inset py-5",children:n.jsx("div",{className:"mx-auto w-full max-w-2xl",children:s})})]})}const E=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],N=["SU","MO","TU","WE","TH","FR","SA"],Q=["January","February","March","April","May","June","July","August","September","October","November","December"],K=["first","second","third","fourth","last"],G=[1,2,3,4,-1],J="MO,TU,WE,TH,FR",Ie=e=>e.replace(/,\s*\d{2}:\d{2}$/,"").trim();function O(e){const t=Ie(e);if(t==="")return"";if(t==="Every day")return"FREQ=DAILY";if(t==="Every weekday")return`FREQ=WEEKLY;BYDAY=${J}`;const a=t.match(/^Every week on (\w+)$/);if(a){const r=E.indexOf(a[1]);return r===-1?void 0:`FREQ=WEEKLY;BYDAY=${N[r]}`}const s=t.match(/^Every month on the (\w+) (\w+)$/);if(s){const r=K.indexOf(s[1]),l=E.indexOf(s[2]);return r===-1||l===-1?void 0:`FREQ=MONTHLY;BYDAY=${G[r]}${N[l]}`}const i=t.match(/^Every year on (\d{1,2}) (\w+)$/);if(i){const r=Q.indexOf(i[2]);return r===-1?void 0:`FREQ=YEARLY;BYMONTH=${r+1};BYMONTHDAY=${Number(i[1])}`}}const Me=e=>e===""?"":`, ${e}`;function Pe(e,t){const a=new Map(e.split(";").map(l=>l.split("=")).filter(l=>l.length===2).map(([l,o])=>[l.toUpperCase(),o.toUpperCase()])),s=Me(t),i=a.get("FREQ"),r=a.get("BYDAY");if(!(a.has("INTERVAL")&&a.get("INTERVAL")!=="1")&&!(a.has("UNTIL")||a.has("COUNT"))){if(i==="DAILY")return`Every day${s}`;if(i==="WEEKLY"){if(r===void 0)return;if(r===J)return`Every weekday${s}`;const l=N.indexOf(r);return l===-1?void 0:`Every week on ${E[l]}${s}`}if(i==="MONTHLY"){const l=r?.match(/^(-?\d)([A-Z]{2})$/);if(!l)return;const o=G.indexOf(Number(l[1])),c=N.indexOf(l[2]);return o===-1||c===-1?void 0:`Every month on the ${K[o]} ${E[c]}${s}`}if(i==="YEARLY"){const l=Number(a.get("BYMONTH")),o=Number(a.get("BYMONTHDAY"));return!l||!o||l>12?void 0:`Every year on ${o} ${Q[l-1]}${s}`}}}function We(e,t){return{title:"",date:e,startTime:"09:00",endTime:"10:00",allDay:!1,calendarId:t,location:"",guests:"",notes:"",repeat:""}}function _e(e,t){return{title:e.title,date:e.start.slice(0,10),startTime:e.allDay?"":e.start.slice(11,16),endTime:e.allDay?"":e.end.slice(11,16),allDay:e.allDay,calendarId:e.calendarId,location:t.location,guests:"",notes:t.notes,repeat:t.repeat}}function q(e,t){return e.allDay?{start:e.date,end:ee(e.date,1)}:{start:_(e.date,e.startTime,t),end:_(e.date,e.endTime,t)}}function V(e,t){return e.title.trim()===""?"Give the event a title before saving it.":e.date===""?"Pick the day the event is on.":e.calendarId===""?"Pick the calendar to save the event in.":!e.allDay&&(e.startTime===""||e.endTime==="")?"Set a start and an end time, or mark the event all day.":!e.allDay&&e.endTime<=e.startTime?"The end time is not after the start time. Move one of them.":t&&O(e.repeat)===void 0?"This calendar can't store that repeat rule. Pick one of the offered rules, or turn the repeat off.":""}function Ue(e,t){const a=V(e,!0);if(a!=="")return{ok:!1,problem:a};const{start:s,end:i}=q(e,t);return{ok:!0,input:{calendarId:e.calendarId,summary:e.title.trim(),description:e.notes,location:e.location,start:s,end:i,allDay:e.allDay,...t===""?{}:{timeZone:t},recurrenceRule:O(e.repeat)??""}}}function Be(e,t,a){const s=t.repeat!==e.repeat,i=V(t,s);if(i!=="")return{ok:!1,problem:i};const r={};if(t.title.trim()!==e.title.trim()&&(r.summary=t.title.trim()),t.location!==e.location&&(r.location=t.location),t.notes!==e.notes&&(r.description=t.notes),t.date!==e.date||t.startTime!==e.startTime||t.endTime!==e.endTime||t.allDay!==e.allDay){const{start:o,end:c}=q(t,a);r.start=o,r.end=c,r.allDay=t.allDay,a!==""&&(r.timeZone=a)}return s&&(r.recurrenceRule=O(t.repeat)??""),{ok:!0,patch:r}}const C=ce(400,404,412),we=new Set(["calendarEventOperationsListCalendarEvents","calendarEventDetailOperationsGetCalendarEvent","calendarFreeBusyOperationsListCalendarFreeBusy"]),D={kind:"written"},k=e=>de(e)===412?{kind:"conflict"}:{kind:"refused",message:me(e)},Se={this:"This",following:"Following",all:"All"};function $e(){const e=oe();return p.useCallback(()=>{e.invalidateQueries({predicate:t=>{const a=t.queryKey[0];if(typeof a!="object"||a===null)return!1;const s=a._id;return typeof s=="string"&&we.has(s)}})},[e])}const B=({scope:e,recurrenceId:t})=>e===void 0||e==="all"?{}:{scope:Se[e],recurrenceId:t};function ze(){const e=$e(),t=T({...re(),meta:C,onSuccess:e}),a=T({...ie(),meta:C,onSuccess:e}),s=T({...le(),meta:C,onSuccess:e}),i=p.useCallback(o=>t.mutateAsync({body:o}).then(()=>D).catch(k),[t]),r=p.useCallback((o,c)=>a.mutateAsync({path:{calendarObjectId:o.calendarObjectId},query:{calendarId:o.calendarId,...B(o)},headers:{"If-Match":o.etag},body:c}).then(()=>D).catch(k),[a]),l=p.useCallback(o=>s.mutateAsync({path:{calendarObjectId:o.calendarObjectId},query:{calendarId:o.calendarId,...B(o)},headers:{"If-Match":o.etag}}).then(()=>D).catch(k),[s]);return p.useMemo(()=>({createEvent:i,updateEvent:r,deleteEvent:l,isWriting:t.isPending||a.isPending||s.isPending}),[i,r,l,t.isPending,a.isPending,s.isPending])}function He({title:e,subtitle:t,calendars:a,draft:s,onChange:i,problem:r,saveLabel:l,isSaving:o,repeatEditable:c=!0,calendarEditable:y=!0,onSave:g,onCancel:b}){return n.jsx(Oe,{title:e,subtitle:t,onClose:b,children:n.jsx(De,{draft:s,onChange:i,calendars:a,layout:"pane",repeatEditable:c,calendarEditable:y,saveLabel:o?"Saving…":l,onSave:g,onCancel:b,header:r===""?void 0:n.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:[n.jsx(ue,{className:"mt-0.5 size-4 shrink-0 text-danger","aria-hidden":"true"}),n.jsx("p",{className:"min-w-0 flex-1 break-words text-fg",children:r})]})})})}export{He as C,Ue as c,_e as d,We as e,Be as p,Pe as t,ze as u};
@@ -1 +1 @@
1
- import{j as t,r as e}from"./index-4Qa4330_.js";const o=e.createContext(void 0),C=({pick:s,children:r})=>t.jsx(o.Provider,{value:s,children:r}),d=()=>e.useContext(o);export{C,d as u};
1
+ import{j as t,r as e}from"./index-DFOeerF8.js";const o=e.createContext(void 0),C=({pick:s,children:r})=>t.jsx(o.Provider,{value:s,children:r}),d=()=>e.useContext(o);export{C,d as u};
@@ -1 +1 @@
1
- import{r,j as n,ak as l,al as o}from"./index-4Qa4330_.js";const i=r.createContext(null),v=({chrome:s,children:a})=>n.jsx(i.Provider,{value:s,children:a});function C({workspace:s,reading:a,hasOpenEvent:x}){const e=r.useContext(i);if(!e)return n.jsx(l,{});const t={nav:e.nav,skeleton:n.jsx(l,{}),isLoading:e.isLoading,navOpen:e.navOpen,onOpenNav:e.onOpenNav,onCloseNav:e.onCloseNav,listBias:"list"};return e.isSinglePane?n.jsx(o,{...t,list:x?a:s}):n.jsx(o,{...t,list:s,reading:a})}export{v as C,C as a};
1
+ import{r,j as n,ak as l,al as o}from"./index-DFOeerF8.js";const i=r.createContext(null),v=({chrome:s,children:a})=>n.jsx(i.Provider,{value:s,children:a});function C({workspace:s,reading:a,hasOpenEvent:x}){const e=r.useContext(i);if(!e)return n.jsx(l,{});const t={nav:e.nav,skeleton:n.jsx(l,{}),isLoading:e.isLoading,navOpen:e.navOpen,onOpenNav:e.onOpenNav,onCloseNav:e.onCloseNav,listBias:"list"};return e.isSinglePane?n.jsx(o,{...t,list:x?a:s}):n.jsx(o,{...t,list:s,reading:a})}export{v as C,C as a};
@@ -1 +1 @@
1
- import{j as e}from"./index-4Qa4330_.js";const x=({message:s,icon:t})=>e.jsxs("div",{className:"flex flex-col items-center justify-center p-8 text-center",children:[t&&e.jsx("div",{className:"mb-4 text-fg-muted",children:t}),e.jsx("p",{className:"text-fg-muted",children:s})]});export{x as E};
1
+ import{j as e}from"./index-DFOeerF8.js";const x=({message:s,icon:t})=>e.jsxs("div",{className:"flex flex-col items-center justify-center p-8 text-center",children:[t&&e.jsx("div",{className:"mb-4 text-fg-muted",children:t}),e.jsx("p",{className:"text-fg-muted",children:s})]});export{x as E};
@@ -1 +1 @@
1
- import{j as t,_ as r}from"./index-4Qa4330_.js";const d=e=>e instanceof Error?e.message:typeof e=="string"?e:typeof e=="object"&&e!==null&&"message"in e&&typeof e.message=="string"?e.message:"An unexpected error occurred",l=({title:e="Couldn't load content",error:a,onRetry:s,variant:i="block"})=>{const n=d(a);return i==="inline"?t.jsxs("div",{role:"alert",className:"flex items-start gap-2 rounded-md border border-danger/40 bg-danger-soft px-3 py-2 text-sm",children:[t.jsx(r,{className:"size-4 shrink-0 text-danger mt-0.5","aria-hidden":"true"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"font-medium text-danger",children:e}),t.jsx("p",{className:"text-fg-muted mt-0.5 break-words",children:n})]}),s&&t.jsx("button",{type:"button",onClick:s,className:"shrink-0 text-sm font-medium text-accent hover:underline",children:"Retry"})]}):t.jsxs("div",{role:"alert",className:"flex flex-col items-center justify-center gap-3 p-8 text-center",children:[t.jsx(r,{className:"size-8 text-danger","aria-hidden":"true"}),t.jsxs("div",{children:[t.jsx("p",{className:"font-medium text-danger",children:e}),t.jsx("p",{className:"text-sm text-fg-muted mt-1 break-words",children:n})]}),s&&t.jsx("button",{type:"button",onClick:s,className:"inline-flex items-center rounded-md border border-line bg-canvas px-4 py-2 text-sm font-medium hover:bg-surface-raised transition-colors",children:"Retry"})]})};export{l as E,d as f};
1
+ import{j as t,_ as r}from"./index-DFOeerF8.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{ec as J,r as n,ci as X,C as H,bi as Z,cM as $,aX as ee,aY as te,j as a,aj as se,cT as ae,cU as re}from"./index-4Qa4330_.js";import{u as oe,p as ne,R as de}from"./useSearchTokenContext-BMdEz_tr.js";import{F as ie,ak as le,G as ce,au as ue,al as ge,b as he,M as me,as as fe,av as Ie,at as pe,q as xe,J as Te,O as V,N as ye,K as ve,d as be,Y as Re,Z as Ce,$ as K,a0 as G,a1 as Se,a2 as we,a3 as je}from"./MailListHeader-BBXPP_8i.js";import{u as Fe,b as Me,a as Oe}from"./MailViewChrome-DbJa-Xsl.js";import{f as Pe}from"./ErrorState-CYdw-mIz.js";import{w as ke}from"./wizard-selection-B1bng5Jq.js";import{a as Le}from"./useMessageBodyContent-zG1JTDGX.js";import{g as Ae,h as Ne}from"./search-token-index-BMwa_Z3e.js";import{u as De}from"./sections-C8WG3waC.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:v}=await J({query:{starred:!0,order:"desc",continuationToken:T},throwOnError:!0});return v},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 ze({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=Z(),T=$(),[v,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})},[]),C=n.useCallback(()=>{f("all"),F(new Set)},[]),{threads:M,isLoading:y,isError:O,error:E,refetch:P,fetchNextPage:Q,hasNextPage:p,isFetchingNextPage:S}=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=>(v==="all"||u.category===v)&&o.every(x=>x(u))&&(!R||le(u,R))&&ce(u,k))},[M,v,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")},[]),b=he(),z=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:()=>Q(),disabled:S,children:S?"Loading…":"Load more"}):null]})});return a.jsx(Me,{title:"Starred",unreadCount:L,preset:B,selectedCategory:v,activeFilters:g,onSelectCategory:f,onToggleFilter:D,onClearFilters:C,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:b.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:b.searchResults??(A==="ready"?z:void 0)}),a.jsx(ze,{rows:i,verb:T.verb})]})})}const U=n.createContext(null);function N(){const e=n.useContext(U);if(!e)throw new Error("FlaggedPane.* must be used inside <FlaggedPane>");return e}function Qe({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]),v=Te(r,m),f=T??v,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,b)=>{s(l,{replace:b?.replace,query:c})},[s,c]),C=n.useCallback(l=>{g&&l.includes(g)&&d()},[g,d]),M=V({thread:f,isOpen:!0,onAfterOptimisticRemove:C}),y=ye(),{deleteMessages:O}=ve({mailboxId:f?.mailboxId??"",messages:I,onAfterOptimisticRemove:C}),{toggleReadFor:E}=be({mailboxId:f?.mailboxId??"",messages:I}),P=y.focusedMessageId,p=n.useMemo(()=>I.find(l=>l.messageId===P),[I,P])??f,S=V({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")||S.deleteThread()},toggleStar:S.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 b=I.find(z=>z.messageId===l);return b?{threadId:b.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:C};return a.jsx(U.Provider,{value:A,children:t})}function Y(){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 Ve(){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(K,{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(G,{isOpen:r.drawerOpen,onClose:r.closeDrawer,thread:t,mailboxId:t?.mailboxId,accountId:t?.accountId,onAfterOptimisticRemove:h})]})}function Ke(){const{selectedThread:e,handleDeselectIfRemoved:t}=N(),{onToggleIntelligence:s}=H();return a.jsx(Se,{onClose:s,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:t})}function Ge(){const{selectedThread:e,conversation:t,onCloseThread:s,onOpenThread:d,nextThread:h,previousThread:c,handleDeselectIfRemoved:r}=N(),m=Ce(t?.threadId??null);return t?a.jsxs(a.Fragment,{children:[a.jsx(K,{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(G,{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(Y,{})})}const tt=Object.assign(Qe,{List:Y,Reading:Ve,Intelligence:Ke,Phone:Ge});export{tt as F};
1
+ import{ec as J,r as n,ci as X,C as H,bi as Z,cM as $,aX as ee,aY as te,j as a,aj as se,cT as ae,cU as re}from"./index-DFOeerF8.js";import{u as oe,p as ne,R as de}from"./useSearchTokenContext-Dm2n0VLM.js";import{F as ie,ak as le,G as ce,au as ue,al as ge,b as he,M as me,as as fe,av as Ie,at as pe,q as xe,J as Te,O as V,N as ye,K as ve,d as be,Y as Re,Z as Ce,$ as K,a0 as G,a1 as Se,a2 as we,a3 as je}from"./MailListHeader-CqakXKgQ.js";import{u as Fe,b as Me,a as Oe}from"./MailViewChrome-DwQQu8KH.js";import{f as Pe}from"./ErrorState-DW9hn0tP.js";import{w as ke}from"./wizard-selection-B1bng5Jq.js";import{a as Le}from"./useMessageBodyContent-DKDt9OB3.js";import{g as Ae,h as Ne}from"./search-token-index-BDWCdrDr.js";import{u as De}from"./sections-Dp5ObH0B.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:v}=await J({query:{starred:!0,order:"desc",continuationToken:T},throwOnError:!0});return v},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 ze({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=Z(),T=$(),[v,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})},[]),C=n.useCallback(()=>{f("all"),F(new Set)},[]),{threads:M,isLoading:y,isError:O,error:E,refetch:P,fetchNextPage:Q,hasNextPage:p,isFetchingNextPage:S}=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=>(v==="all"||u.category===v)&&o.every(x=>x(u))&&(!R||le(u,R))&&ce(u,k))},[M,v,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")},[]),b=he(),z=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:()=>Q(),disabled:S,children:S?"Loading…":"Load more"}):null]})});return a.jsx(Me,{title:"Starred",unreadCount:L,preset:B,selectedCategory:v,activeFilters:g,onSelectCategory:f,onToggleFilter:D,onClearFilters:C,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:b.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:b.searchResults??(A==="ready"?z:void 0)}),a.jsx(ze,{rows:i,verb:T.verb})]})})}const U=n.createContext(null);function N(){const e=n.useContext(U);if(!e)throw new Error("FlaggedPane.* must be used inside <FlaggedPane>");return e}function Qe({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]),v=Te(r,m),f=T??v,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,b)=>{s(l,{replace:b?.replace,query:c})},[s,c]),C=n.useCallback(l=>{g&&l.includes(g)&&d()},[g,d]),M=V({thread:f,isOpen:!0,onAfterOptimisticRemove:C}),y=ye(),{deleteMessages:O}=ve({mailboxId:f?.mailboxId??"",messages:I,onAfterOptimisticRemove:C}),{toggleReadFor:E}=be({mailboxId:f?.mailboxId??"",messages:I}),P=y.focusedMessageId,p=n.useMemo(()=>I.find(l=>l.messageId===P),[I,P])??f,S=V({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")||S.deleteThread()},toggleStar:S.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 b=I.find(z=>z.messageId===l);return b?{threadId:b.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:C};return a.jsx(U.Provider,{value:A,children:t})}function Y(){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 Ve(){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(K,{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(G,{isOpen:r.drawerOpen,onClose:r.closeDrawer,thread:t,mailboxId:t?.mailboxId,accountId:t?.accountId,onAfterOptimisticRemove:h})]})}function Ke(){const{selectedThread:e,handleDeselectIfRemoved:t}=N(),{onToggleIntelligence:s}=H();return a.jsx(Se,{onClose:s,thread:e,mailboxId:e?.mailboxId,accountId:e?.accountId,onAfterOptimisticRemove:t})}function Ge(){const{selectedThread:e,conversation:t,onCloseThread:s,onOpenThread:d,nextThread:h,previousThread:c,handleDeselectIfRemoved:r}=N(),m=Ce(t?.threadId??null);return t?a.jsxs(a.Fragment,{children:[a.jsx(K,{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(G,{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(Y,{})})}const tt=Object.assign(Qe,{List:Y,Reading:Ve,Intelligence:Ke,Phone:Ge});export{tt as F};
@@ -1 +1 @@
1
- import{r as n,c as f,d as m,E as N,j as e,bi as E,X as w}from"./index-4Qa4330_.js";import{E as u}from"./ErrorState-CYdw-mIz.js";import{D as r,C as x,u as k}from"./index-DE1TsJN7.js";import{c as p,d as h,e as b}from"./useMessageBodyContent-zG1JTDGX.js";import{C as S}from"./confirm-dialog-DuVcxiku.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})]})},q=()=>{const t=p(),i=h(),s=b(),a=E(),{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(w,{className:"size-5"})})]});return l?e.jsxs("div",{className:"h-full flex flex-col bg-canvas",children:[c,e.jsx("div",{className:"flex-1 flex items-center justify-center p-4",children:e.jsx(u,{title:"Couldn't load compose",error:o,onRetry:()=>{d()}})})]}):e.jsxs("div",{className:"flex h-full min-h-0 flex-col bg-canvas",children:[c,e.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:e.jsx(x,{mode:"new",outboxMessageId:t,onDraftCreated:i,onClose:s})})]})};export{q as F};
1
+ import{r as n,c as f,d as m,E as N,j as e,bi as E,X as w}from"./index-DFOeerF8.js";import{E as u}from"./ErrorState-DW9hn0tP.js";import{D as r,C as x,u as k}from"./index-Gkx4jre7.js";import{c as p,d as h,e as b}from"./useMessageBodyContent-DKDt9OB3.js";import{C as S}from"./confirm-dialog-Dqem_dYa.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})]})},q=()=>{const t=p(),i=h(),s=b(),a=E(),{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(w,{className:"size-5"})})]});return l?e.jsxs("div",{className:"h-full flex flex-col bg-canvas",children:[c,e.jsx("div",{className:"flex-1 flex items-center justify-center p-4",children:e.jsx(u,{title:"Couldn't load compose",error:o,onRetry:()=>{d()}})})]}):e.jsxs("div",{className:"flex h-full min-h-0 flex-col bg-canvas",children:[c,e.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:e.jsx(x,{mode:"new",outboxMessageId:t,onDraftCreated:i,onClose:s})})]})};export{q as F};
@@ -1,4 +1,4 @@
1
- import{ar as ys,cW as Tr,r as c,e as se,j as s,Y as ht,Z as Kn,aA as Ze,t as R,aq as qn,a6 as Ir,f as B,X as _e,a2 as yt,U as Ue,cX as Hn,aL as Er,V as Rr,b5 as Mr,g as Ee,cY as Qn,W as et,cZ as Ar,c_ as $r,c$ as Pr,bk as Lr,d0 as Dr,d1 as Fr,d2 as Gn,bB as ks,d3 as Or,d4 as Vn,aH as zr,L as Wn,_ as _r,d5 as Ur,B as Yn,d6 as Br,d7 as Kr,d8 as qr,d9 as Hr,da as Qr,db as Gr,dc as Vr,w as Wr,c as J,d as tt,G as kt,dd as Yr,de as Xr,df as zt,h as le,as as ve,i as me,M as st,cz as Me,dg as _t,b9 as Jr,dh as Ae,di as Zr,dj as Ws,dk as eo,dl as to,dm as so,b2 as no,cj as ao,dn as ro,cO as js,cP as Xn,s as oo,dp as io,bi as ws,ab as lo,bl as Jn,bf as Zn,bm as ea,bn as ta,E as Ns,bo as co,aX as uo,aY as fo,cE as mo,dq as po,aa as sa,cD as ho,dr as go,ds as xo,dt as na,du as bo,cT as vo,bM as Cs,dv as yo,dw as Ys,dx as ko,dy as es,dz as jo,bL as wo,P as No,q as Co,ag as aa,F as So,cV as Xs,bv as To,dA as Io,dB as Eo,au as Js,cR as Ro,dC as Mo,ah as Ao,ch as $o,ci as Po,dD as Lo,C as Ut,dE as Do,dF as Fo,dG as Zs,dH as Oo,dI as zo,dJ as _o,v as ra,dK as Ss,cS as je,dL as Uo,ck as Bo,cf as Ko,dM as qo,dN as en,a1 as Ho,cl as Qo}from"./index-4Qa4330_.js";import{m as Go,S as oa,i as we,t as Ne,r as jt,n as wt,o as Nt,p as Ct,q as Vo,h as Wo,d as Yo,D as Xo,b as Mt,a as Jo,v as Zo,w as ei,x as ut,e as ti,y as si,z as ni,u as ai}from"./search-token-index-BMwa_Z3e.js";import{K as ri}from"./kbd-DLH3W4dT.js";import{P as ia,f as oi,U as ii,a as li,E as ci,s as di}from"./attachment-file-DQIgObpb.js";import{M as la}from"./mail-DgA4N8vw.js";import{A as gt}from"./avatar-D8paP2w2.js";import{M as ui,a as fi,b as ca,c as mi,s as da,d as ua,e as pi,f as hi,S as tn,g as fa,u as ma,p as gi,r as xi}from"./useSearchTokenContext-BMdEz_tr.js";import{C as bi,D as Ye,u as vi}from"./index-DE1TsJN7.js";import{E as pa}from"./EmptyState-DEwOy6vH.js";import{E as ze}from"./ErrorState-CYdw-mIz.js";import{a as ha,c as nt,b as yi,g as ki,e as Be,h as ji,d as wi}from"./format-BncXl-_C.js";import{D as Ni}from"./download-C0qjkDYj.js";import{g as Ci}from"./useMessageBodyContent-zG1JTDGX.js";import{C as Si}from"./calendar-event-chip-DNFKxXZq.js";import{c as Ti}from"./calendar-color-Cwadf2k3.js";import{R as Ii,M as Ei}from"./attendee-row-Cegj9Dge.js";import{C as ga}from"./clock-BpnKTaTG.js";import{M as Ri,G as Mi}from"./map-pin-CluZVGCH.js";import{B as Ai,b as $i,u as Pi,i as Li}from"./useLayoutTier-C39QtN4M.js";import{S as Di}from"./shield-check-PzpD6xQR.js";import{u as xa}from"./useDebouncedValue-Coj_yCGS.js";import{h as sn,u as Fi,a as Oi,i as zi,n as _i,o as Ui,j as Bi,k as Ki,S as qi}from"./useFilters-DETsTYkk.js";import{u as Ts}from"./useQueries-DNrQQ492.js";import{C as At}from"./confirm-dialog-DuVcxiku.js";import{r as Hi,a as Qi}from"./search-scope-B5-OK3Cq.js";import{M as Gi}from"./menu-DNTK2lSq.js";function xt(e){if(Vi())e.focus({preventScroll:!0});else{let t=Wi(e);e.focus(),Yi(t)}}let $t=null;function Vi(){if($t==null){$t=!1;try{document.createElement("div").focus({get preventScroll(){return $t=!0,!0}})}catch{}}return $t}function Wi(e){let t=e.parentNode,n=[],a=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==a;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&n.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return a instanceof HTMLElement&&n.push({element:a,scrollTop:a.scrollTop,scrollLeft:a.scrollLeft}),n}function Yi(e){for(let{element:t,scrollTop:n,scrollLeft:a}of e)t.scrollTop=n,t.scrollLeft=a}const Ie=e=>e?.ownerDocument??document,Re=e=>e&&"window"in e&&e.window===e?e:Ie(e).defaultView||window;function Xi(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function Ji(e){return Xi(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}let Zi=!1;function ba(){return Zi}function xe(e,t){if(!ba())return t&&e?e.contains(t):!1;if(!e||!t)return!1;let n=t;for(;n!==null;){if(n===e)return!0;n.tagName==="SLOT"&&n.assignedSlot?n=n.assignedSlot.parentNode:Ji(n)?n=n.host:n=n.parentNode}return!1}function ee(e){if(ba()&&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 el=typeof Element<"u"&&"checkVisibility"in Element.prototype;function tl(e){const t=Re(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:n,visibility:a}=e.style,r=n!=="none"&&a!=="hidden"&&a!=="collapse";if(r){const{getComputedStyle:o}=Re(e);let{display:i,visibility:l}=o(e);r=i!=="none"&&l!=="hidden"&&l!=="collapse"}return r}function sl(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 va(e,t){return el?e.checkVisibility({visibilityProperty:!0})&&!e.closest("[data-react-aria-prevent-focus]"):e.nodeName!=="#comment"&&tl(e)&&sl(e,t)&&(!e.parentElement||va(e.parentElement,e))}const ya=["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"],nl=ya.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";ya.push('[tabindex]:not([tabindex="-1"]):not([disabled])');function al(e,t){return e.matches(nl)&&!rl(e)&&(t?.skipVisibilityCheck||va(e))}function rl(e){let t=e;for(;t!=null;){if(t instanceof Re(t).HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}const Is=typeof document<"u"?ys.useLayoutEffect:()=>{};function ol(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function il(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function ll(e){for(;e&&!al(e,{skipVisibilityCheck:!0});)e=e.parentElement;let t=Re(e),n=t.document.activeElement;if(!n||n===e)return;let a=!1,r=g=>{(ee(g)===n||a)&&g.stopImmediatePropagation()},o=g=>{(ee(g)===n||a)&&(g.stopImmediatePropagation(),!e&&!a&&(a=!0,xt(n),d()))},i=g=>{(ee(g)===e||a)&&g.stopImmediatePropagation()},l=g=>{(ee(g)===e||a)&&(g.stopImmediatePropagation(),a||(a=!0,xt(n),d()))};t.addEventListener("blur",r,!0),t.addEventListener("focusout",o,!0),t.addEventListener("focusin",l,!0),t.addEventListener("focus",i,!0);let d=()=>{cancelAnimationFrame(x),t.removeEventListener("blur",r,!0),t.removeEventListener("focusout",o,!0),t.removeEventListener("focusin",l,!0),t.removeEventListener("focus",i,!0),a=!1},x=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(n=>e.test(n.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 $e(e){let t=null;return()=>(t==null&&(t=e()),t)}const Dt=$e(function(){return Es(/^Mac/i)}),cl=$e(function(){return Es(/^iPhone/i)}),ka=$e(function(){return Es(/^iPad/i)||Dt()&&navigator.maxTouchPoints>1}),ja=$e(function(){return cl()||ka()}),dl=$e(function(){return Bt(/AppleWebKit/i)&&!ul()}),ul=$e(function(){return Bt(/Chrome/i)}),wa=$e(function(){return Bt(/Android/i)}),fl=$e(function(){return Bt(/Firefox/i)});function ml(e){return e.pointerType===""&&e.isTrusted?!0:wa()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function pl(e){return!wa()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}function bt(e,t,n=!0){let{metaKey:a,ctrlKey:r,altKey:o,shiftKey:i}=t;fl()&&window.event?.type?.startsWith("key")&&e.target==="_blank"&&(Dt()?a=!0:r=!0);let l=dl()&&Dt()&&!ka()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:a,ctrlKey:r,altKey:o,shiftKey:i}):new MouseEvent("click",{metaKey:a,ctrlKey:r,altKey:o,shiftKey:i,detail:1,bubbles:!0,cancelable:!0});bt.isOpening=n,xt(e),e.dispatchEvent(l),bt.isOpening=!1}bt.isOpening=!1;let Te=new Map,ds=new Set;function nn(){if(typeof window>"u")return;function e(a){return"propertyName"in a}let t=a=>{let r=ee(a);if(!e(a)||!r)return;let o=Te.get(r);o||(o=new Set,Te.set(r,o),r.addEventListener("transitioncancel",n,{once:!0})),o.add(a.propertyName)},n=a=>{let r=ee(a);if(!e(a)||!r)return;let o=Te.get(r);if(o&&(o.delete(a.propertyName),o.size===0&&(r.removeEventListener("transitioncancel",n),Te.delete(r)),Te.size===0)){for(let i of ds)i();ds.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",n)}typeof document<"u"&&(document.readyState!=="loading"?nn():document.addEventListener("DOMContentLoaded",nn));function hl(){for(const[e]of Te)"isConnected"in e&&!e.isConnected&&Te.delete(e)}function gl(e){requestAnimationFrame(()=>{hl(),Te.size===0?e():ds.add(e)})}function Na(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}let us=new Map;typeof FinalizationRegistry<"u"&&new FinalizationRegistry(e=>{us.delete(e)});function xl(e,t){if(e===t)return e;let n=us.get(e);if(n)return n.forEach(r=>r.current=t),t;let a=us.get(t);return a?(a.forEach(r=>r.current=e),e):t}function bl(...e){return e.length===1&&e[0]?e[0]:t=>{let n=!1;const a=e.map(r=>{const o=an(r,t);return n||=typeof o=="function",o});if(n)return()=>{a.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 St(...e){let t={...e[0]};for(let n=1;n<e.length;n++){let a=e[n];for(let r in a){let o=t[r],i=a[r];typeof o=="function"&&typeof i=="function"&&r[0]==="o"&&r[1]==="n"&&r.charCodeAt(2)>=65&&r.charCodeAt(2)<=90?t[r]=Na(o,i):(r==="className"||r==="UNSAFE_className")&&typeof o=="string"&&typeof i=="string"?t[r]=Tr(o,i):r==="id"&&o&&i?t.id=xl(o,i):r==="ref"&&o&&i?t.ref=bl(o,i):t[r]=i!==void 0?i:o}}return t}function vl(e,t){Is(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}const yl=ys.useInsertionEffect??Is;function ts(e){const t=c.useRef(null);return yl(()=>{t.current=e},[e]),c.useCallback((...n)=>{const a=t.current;return a?.(...n)},[])}let Xe="default",fs="",Lt=new WeakMap;function kl(e){if(ja()){if(Xe==="default"){const t=Ie(e);fs=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}Xe="disabled"}else if(e instanceof HTMLElement||e instanceof SVGElement){let t="userSelect"in e.style?"userSelect":"webkitUserSelect";Lt.set(e,e.style[t]),e.style[t]="none"}}function rn(e){if(ja()){if(Xe!=="disabled")return;Xe="restoring",setTimeout(()=>{gl(()=>{if(Xe==="restoring"){const t=Ie(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=fs||""),fs="",Xe="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&Lt.has(e)){let t=Lt.get(e),n="userSelect"in e.style?"userSelect":"webkitUserSelect";e.style[n]==="none"&&(e.style[n]=t),e.getAttribute("style")===""&&e.removeAttribute("style"),Lt.delete(e)}}function on(e){return e?.defaultView?.__webpack_nonce__||globalThis.__webpack_nonce__||void 0}let ss=new WeakMap;function jl(e){let t=e??(typeof document<"u"?document:void 0);if(!t)return on(t);if(ss.has(t))return ss.get(t);let n=t.querySelector('meta[property="csp-nonce"]'),a=n&&n instanceof Re(n).HTMLMetaElement&&(n.nonce||n.content)||on(t)||void 0;return a!==void 0&&ss.set(t,a),a}const Ca=ys.createContext({register:()=>{}});Ca.displayName="PressResponderContext";function Sa(){let e=c.useRef(new Map),t=c.useCallback((r,o,i,l)=>{let d=l?.once?(...x)=>{e.current.delete(i),i(...x)}:i;e.current.set(i,{type:o,eventTarget:r,fn:d,options:l}),r.addEventListener(o,d,l)},[]),n=c.useCallback((r,o,i,l)=>{let d=e.current.get(i)?.fn||i;r.removeEventListener(o,d,l),e.current.delete(i)},[]),a=c.useCallback(()=>{e.current.forEach((r,o)=>{n(r.eventTarget,r.type,o,r.options)})},[n]);return c.useEffect(()=>a,[a]),{addGlobalListener:t,removeGlobalListener:n,removeAllGlobalListeners:a}}function wl(e){let t=c.useContext(Ca);if(t){let{register:n,ref:a,...r}=t;e=St(r,e),n()}return vl(t,e.ref),e}class Pt{#e;constructor(t,n,a,r){this.#e=!0;const i=(r?.target??a.currentTarget)?.getBoundingClientRect();let l,d=0,x,g=null;a.clientX!=null&&a.clientY!=null&&(x=a.clientX,g=a.clientY),i&&(x!=null&&g!=null?(l=x-i.left,d=g-i.top):(l=i.width/2,d=i.height/2)),this.type=t,this.pointerType=n,this.target=a.currentTarget,this.shiftKey=a.shiftKey,this.metaKey=a.metaKey,this.ctrlKey=a.ctrlKey,this.altKey=a.altKey,this.x=l,this.y=d,this.key=a.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 Nl(e){let{onPress:t,onPressChange:n,onPressStart:a,onPressEnd:r,onPressUp:o,onClick:i,isDisabled:l,isPressed:d,preventFocusOnPress:x,shouldCancelOnPointerExit:g,allowTextSelectionOnPress:v,ref:m,...b}=wl(e),[f,u]=c.useState(!1),p=c.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null,disposables:[]}),{addGlobalListener:h,removeAllGlobalListeners:w}=Sa(),y=c.useCallback((j,I)=>{let $=p.current;if(l||$.didFirePressStart)return!1;let N=!0;if($.isTriggeringEvent=!0,a){let M=new Pt("pressstart",I,j);a(M),N=M.shouldStopPropagation}return n&&n(!0),$.isTriggeringEvent=!1,$.didFirePressStart=!0,u(!0),N},[l,a,n]),k=c.useCallback((j,I,$=!0)=>{let N=p.current;if(!N.didFirePressStart)return!1;N.didFirePressStart=!1,N.isTriggeringEvent=!0;let M=!0;if(r){let C=new Pt("pressend",I,j);r(C),M=C.shouldStopPropagation}if(n&&n(!1),u(!1),t&&$&&!l){let C=new Pt("press",I,j);t(C),M&&=C.shouldStopPropagation}return N.isTriggeringEvent=!1,M},[l,r,n,t]),S=ts(k),E=c.useCallback((j,I)=>{let $=p.current;if(l)return!1;if(o){$.isTriggeringEvent=!0;let N=new Pt("pressup",I,j);return o(N),$.isTriggeringEvent=!1,N.shouldStopPropagation}return!0},[l,o]),F=ts(E),z=c.useCallback(j=>{let I=p.current;if(I.isPressed&&I.target){I.didFirePressStart&&I.pointerType!=null&&k(Fe(I.target,j),I.pointerType,!1),I.isPressed=!1,I.isOverTarget=!1,I.activePointerId=null,I.pointerType=null,w(),v||rn(I.target);for(let $ of I.disposables)$();I.disposables=[]}},[v,w,k]),L=ts(z);c.useEffect(()=>{l&&p.current.isPressed&&L({currentTarget:p.current.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})},[l]);let A=c.useCallback(j=>{g&&z(j)},[g,z]),O=c.useCallback(j=>{l||i?.(j)},[l,i]),U=c.useCallback((j,I)=>{if(!l&&i){let $=new MouseEvent("click",j);il($,I),i(ol($))}},[l,i]),_=c.useMemo(()=>{let j=p.current,I={onKeyDown(N){if(ns(N.nativeEvent,N.currentTarget)&&xe(N.currentTarget,ee(N))){un(ee(N),N.key)&&N.preventDefault();let M=!0;!j.isPressed&&!N.repeat&&(j.target=N.currentTarget,j.isPressed=!0,j.pointerType="keyboard",M=y(N,"keyboard"));let C=N.currentTarget,q=D=>{ns(D,C)&&!D.repeat&&xe(C,ee(D))&&j.target&&F(Fe(j.target,D),"keyboard")};h(Ie(N.currentTarget),"keyup",Na(q,$),!0),M&&N.stopPropagation(),N.metaKey&&Dt()&&j.metaKeyEvents?.set(N.key,N.nativeEvent)}else N.key==="Meta"&&(j.metaKeyEvents=new Map)},onClick(N){if(!(N&&!xe(N.currentTarget,ee(N)))&&N&&N.button===0&&!j.isTriggeringEvent&&!bt.isOpening){let M=!0;if(l&&N.preventDefault(),!j.ignoreEmulatedMouseEvents&&!j.isPressed&&(j.pointerType==="virtual"||ml(N.nativeEvent))){let C=y(N,"virtual"),q=F(N,"virtual"),D=S(N,"virtual");O(N),M=C&&q&&D}else if(j.isPressed&&j.pointerType!=="keyboard"){let C=j.pointerType||N.nativeEvent.pointerType||"virtual",q=F(Fe(N.currentTarget,N),C),D=S(Fe(N.currentTarget,N),C,!0);M=q&&D,j.isOverTarget=!1,O(N),L(N)}j.ignoreEmulatedMouseEvents=!1,M&&N.stopPropagation()}}},$=N=>{if(j.isPressed&&j.target&&ns(N,j.target)){un(ee(N),N.key)&&N.preventDefault();let M=ee(N),C=xe(j.target,M);S(Fe(j.target,N),"keyboard",C),C&&U(N,j.target),w(),N.key!=="Enter"&&Rs(j.target)&&xe(j.target,M)&&!N[ln]&&(N[ln]=!0,bt(j.target,N,!1)),j.isPressed=!1,j.metaKeyEvents?.delete(N.key)}else if(N.key==="Meta"&&j.metaKeyEvents?.size){let M=j.metaKeyEvents;j.metaKeyEvents=void 0;for(let C of M.values())j.target?.dispatchEvent(new KeyboardEvent("keyup",C))}};if(typeof PointerEvent<"u"){I.onPointerDown=C=>{if(C.button!==0||!xe(C.currentTarget,ee(C)))return;if(pl(C.nativeEvent)){j.pointerType="virtual";return}j.pointerType=C.pointerType;let q=!0;if(!j.isPressed){j.isPressed=!0,j.isOverTarget=!0,j.activePointerId=C.pointerId,j.target=C.currentTarget,v||kl(j.target),q=y(C,j.pointerType);let D=ee(C);"releasePointerCapture"in D&&("hasPointerCapture"in D?D.hasPointerCapture(C.pointerId)&&D.releasePointerCapture(C.pointerId):D.releasePointerCapture(C.pointerId)),h(Ie(C.currentTarget),"pointerup",N,!1),h(Ie(C.currentTarget),"pointercancel",M,!1)}q&&C.stopPropagation()},I.onMouseDown=C=>{if(xe(C.currentTarget,ee(C))&&C.button===0){if(x){let q=ll(C.target);q&&j.disposables.push(q)}C.stopPropagation()}},I.onPointerUp=C=>{!xe(C.currentTarget,ee(C))||j.pointerType==="virtual"||C.button===0&&!j.isPressed&&F(C,j.pointerType||C.pointerType)},I.onPointerEnter=C=>{C.pointerId===j.activePointerId&&j.target&&!j.isOverTarget&&j.pointerType!=null&&(j.isOverTarget=!0,y(Fe(j.target,C),j.pointerType))},I.onPointerLeave=C=>{C.pointerId===j.activePointerId&&j.target&&j.isOverTarget&&j.pointerType!=null&&(j.isOverTarget=!1,S(Fe(j.target,C),j.pointerType,!1),A(C))};let N=C=>{if(C.pointerId===j.activePointerId&&j.isPressed&&C.button===0&&j.target){if(xe(j.target,ee(C))&&j.pointerType!=null){let q=!1,D=setTimeout(()=>{j.isPressed&&j.target instanceof HTMLElement&&(q?L(C):(xt(j.target),j.target.click()))},80);h(C.currentTarget,"click",()=>q=!0,!0),j.disposables.push(()=>clearTimeout(D))}else L(C);j.isOverTarget=!1}},M=C=>{L(C)};I.onDragStart=C=>{xe(C.currentTarget,ee(C))&&L(C)}}return I},[h,l,x,w,v,A,y,O,U]);return c.useEffect(()=>{if(!m)return;const j=Ie(m.current);if(!j||!j.head||j.getElementById(cn))return;const I=j.createElement("style");I.id=cn;let $=jl(j);$&&(I.nonce=$),I.textContent=`
1
+ import{ar as ys,cW as Tr,r as c,e as se,j as s,Y as ht,Z as Kn,aA as Ze,t as R,aq as qn,a6 as Ir,f as B,X as _e,a2 as yt,U as Ue,cX as Hn,aL as Er,V as Rr,b5 as Mr,g as Ee,cY as Qn,W as et,cZ as Ar,c_ as $r,c$ as Pr,bk as Lr,d0 as Dr,d1 as Fr,d2 as Gn,bB as ks,d3 as Or,d4 as Vn,aH as zr,L as Wn,_ as _r,d5 as Ur,B as Yn,d6 as Br,d7 as Kr,d8 as qr,d9 as Hr,da as Qr,db as Gr,dc as Vr,w as Wr,c as J,d as tt,G as kt,dd as Yr,de as Xr,df as zt,h as le,as as ve,i as me,M as st,cz as Me,dg as _t,b9 as Jr,dh as Ae,di as Zr,dj as Ws,dk as eo,dl as to,dm as so,b2 as no,cj as ao,dn as ro,cO as js,cP as Xn,s as oo,dp as io,bi as ws,ab as lo,bl as Jn,bf as Zn,bm as ea,bn as ta,E as Ns,bo as co,aX as uo,aY as fo,cE as mo,dq as po,aa as sa,cD as ho,dr as go,ds as xo,dt as na,du as bo,cT as vo,bM as Cs,dv as yo,dw as Ys,dx as ko,dy as es,dz as jo,bL as wo,P as No,q as Co,ag as aa,F as So,cV as Xs,bv as To,dA as Io,dB as Eo,au as Js,cR as Ro,dC as Mo,ah as Ao,ch as $o,ci as Po,dD as Lo,C as Ut,dE as Do,dF as Fo,dG as Zs,dH as Oo,dI as zo,dJ as _o,v as ra,dK as Ss,cS as je,dL as Uo,ck as Bo,cf as Ko,dM as qo,dN as en,a1 as Ho,cl as Qo}from"./index-DFOeerF8.js";import{m as Go,S as oa,i as we,t as Ne,r as jt,n as wt,o as Nt,p as Ct,q as Vo,h as Wo,d as Yo,D as Xo,b as Mt,a as Jo,v as Zo,w as ei,x as ut,e as ti,y as si,z as ni,u as ai}from"./search-token-index-BDWCdrDr.js";import{K as ri}from"./kbd-Bnp5umFa.js";import{P as ia,f as oi,U as ii,a as li,E as ci,s as di}from"./attachment-file-CHE67h17.js";import{M as la}from"./mail-DsDWCtRo.js";import{A as gt}from"./avatar-Byj273WX.js";import{M as ui,a as fi,b as ca,c as mi,s as da,d as ua,e as pi,f as hi,S as tn,g as fa,u as ma,p as gi,r as xi}from"./useSearchTokenContext-Dm2n0VLM.js";import{C as bi,D as Ye,u as vi}from"./index-Gkx4jre7.js";import{E as pa}from"./EmptyState-C3_Tj6_z.js";import{E as ze}from"./ErrorState-DW9hn0tP.js";import{a as ha,c as nt,b as yi,g as ki,e as Be,h as ji,d as wi}from"./format-BMecNlt-.js";import{D as Ni}from"./download-C2IRMv25.js";import{g as Ci}from"./useMessageBodyContent-DKDt9OB3.js";import{C as Si}from"./calendar-event-chip-C8Rq1jnl.js";import{c as Ti}from"./calendar-color-B1y21BSV.js";import{R as Ii,M as Ei}from"./attendee-row-CF94Zgm7.js";import{C as ga}from"./clock-BIp_lRT7.js";import{M as Ri,G as Mi}from"./map-pin-3g2fqkw3.js";import{B as Ai,b as $i,u as Pi,i as Li}from"./useLayoutTier-B7hLuv2u.js";import{S as Di}from"./shield-check-6fRO4KAO.js";import{u as xa}from"./useDebouncedValue-DdkXWYbv.js";import{h as sn,u as Fi,a as Oi,i as zi,n as _i,o as Ui,j as Bi,k as Ki,S as qi}from"./useFilters-Ck2Pjjio.js";import{u as Ts}from"./useQueries-CEYkNMRl.js";import{C as At}from"./confirm-dialog-Dqem_dYa.js";import{r as Hi,a as Qi}from"./search-scope-B5-OK3Cq.js";import{M as Gi}from"./menu-Bw1ZQNFp.js";function xt(e){if(Vi())e.focus({preventScroll:!0});else{let t=Wi(e);e.focus(),Yi(t)}}let $t=null;function Vi(){if($t==null){$t=!1;try{document.createElement("div").focus({get preventScroll(){return $t=!0,!0}})}catch{}}return $t}function Wi(e){let t=e.parentNode,n=[],a=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==a;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&n.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return a instanceof HTMLElement&&n.push({element:a,scrollTop:a.scrollTop,scrollLeft:a.scrollLeft}),n}function Yi(e){for(let{element:t,scrollTop:n,scrollLeft:a}of e)t.scrollTop=n,t.scrollLeft=a}const Ie=e=>e?.ownerDocument??document,Re=e=>e&&"window"in e&&e.window===e?e:Ie(e).defaultView||window;function Xi(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function Ji(e){return Xi(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}let Zi=!1;function ba(){return Zi}function xe(e,t){if(!ba())return t&&e?e.contains(t):!1;if(!e||!t)return!1;let n=t;for(;n!==null;){if(n===e)return!0;n.tagName==="SLOT"&&n.assignedSlot?n=n.assignedSlot.parentNode:Ji(n)?n=n.host:n=n.parentNode}return!1}function ee(e){if(ba()&&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 el=typeof Element<"u"&&"checkVisibility"in Element.prototype;function tl(e){const t=Re(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:n,visibility:a}=e.style,r=n!=="none"&&a!=="hidden"&&a!=="collapse";if(r){const{getComputedStyle:o}=Re(e);let{display:i,visibility:l}=o(e);r=i!=="none"&&l!=="hidden"&&l!=="collapse"}return r}function sl(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 va(e,t){return el?e.checkVisibility({visibilityProperty:!0})&&!e.closest("[data-react-aria-prevent-focus]"):e.nodeName!=="#comment"&&tl(e)&&sl(e,t)&&(!e.parentElement||va(e.parentElement,e))}const ya=["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"],nl=ya.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";ya.push('[tabindex]:not([tabindex="-1"]):not([disabled])');function al(e,t){return e.matches(nl)&&!rl(e)&&(t?.skipVisibilityCheck||va(e))}function rl(e){let t=e;for(;t!=null;){if(t instanceof Re(t).HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}const Is=typeof document<"u"?ys.useLayoutEffect:()=>{};function ol(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function il(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function ll(e){for(;e&&!al(e,{skipVisibilityCheck:!0});)e=e.parentElement;let t=Re(e),n=t.document.activeElement;if(!n||n===e)return;let a=!1,r=g=>{(ee(g)===n||a)&&g.stopImmediatePropagation()},o=g=>{(ee(g)===n||a)&&(g.stopImmediatePropagation(),!e&&!a&&(a=!0,xt(n),d()))},i=g=>{(ee(g)===e||a)&&g.stopImmediatePropagation()},l=g=>{(ee(g)===e||a)&&(g.stopImmediatePropagation(),a||(a=!0,xt(n),d()))};t.addEventListener("blur",r,!0),t.addEventListener("focusout",o,!0),t.addEventListener("focusin",l,!0),t.addEventListener("focus",i,!0);let d=()=>{cancelAnimationFrame(x),t.removeEventListener("blur",r,!0),t.removeEventListener("focusout",o,!0),t.removeEventListener("focusin",l,!0),t.removeEventListener("focus",i,!0),a=!1},x=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(n=>e.test(n.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 $e(e){let t=null;return()=>(t==null&&(t=e()),t)}const Dt=$e(function(){return Es(/^Mac/i)}),cl=$e(function(){return Es(/^iPhone/i)}),ka=$e(function(){return Es(/^iPad/i)||Dt()&&navigator.maxTouchPoints>1}),ja=$e(function(){return cl()||ka()}),dl=$e(function(){return Bt(/AppleWebKit/i)&&!ul()}),ul=$e(function(){return Bt(/Chrome/i)}),wa=$e(function(){return Bt(/Android/i)}),fl=$e(function(){return Bt(/Firefox/i)});function ml(e){return e.pointerType===""&&e.isTrusted?!0:wa()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function pl(e){return!wa()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}function bt(e,t,n=!0){let{metaKey:a,ctrlKey:r,altKey:o,shiftKey:i}=t;fl()&&window.event?.type?.startsWith("key")&&e.target==="_blank"&&(Dt()?a=!0:r=!0);let l=dl()&&Dt()&&!ka()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:a,ctrlKey:r,altKey:o,shiftKey:i}):new MouseEvent("click",{metaKey:a,ctrlKey:r,altKey:o,shiftKey:i,detail:1,bubbles:!0,cancelable:!0});bt.isOpening=n,xt(e),e.dispatchEvent(l),bt.isOpening=!1}bt.isOpening=!1;let Te=new Map,ds=new Set;function nn(){if(typeof window>"u")return;function e(a){return"propertyName"in a}let t=a=>{let r=ee(a);if(!e(a)||!r)return;let o=Te.get(r);o||(o=new Set,Te.set(r,o),r.addEventListener("transitioncancel",n,{once:!0})),o.add(a.propertyName)},n=a=>{let r=ee(a);if(!e(a)||!r)return;let o=Te.get(r);if(o&&(o.delete(a.propertyName),o.size===0&&(r.removeEventListener("transitioncancel",n),Te.delete(r)),Te.size===0)){for(let i of ds)i();ds.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",n)}typeof document<"u"&&(document.readyState!=="loading"?nn():document.addEventListener("DOMContentLoaded",nn));function hl(){for(const[e]of Te)"isConnected"in e&&!e.isConnected&&Te.delete(e)}function gl(e){requestAnimationFrame(()=>{hl(),Te.size===0?e():ds.add(e)})}function Na(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}let us=new Map;typeof FinalizationRegistry<"u"&&new FinalizationRegistry(e=>{us.delete(e)});function xl(e,t){if(e===t)return e;let n=us.get(e);if(n)return n.forEach(r=>r.current=t),t;let a=us.get(t);return a?(a.forEach(r=>r.current=e),e):t}function bl(...e){return e.length===1&&e[0]?e[0]:t=>{let n=!1;const a=e.map(r=>{const o=an(r,t);return n||=typeof o=="function",o});if(n)return()=>{a.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 St(...e){let t={...e[0]};for(let n=1;n<e.length;n++){let a=e[n];for(let r in a){let o=t[r],i=a[r];typeof o=="function"&&typeof i=="function"&&r[0]==="o"&&r[1]==="n"&&r.charCodeAt(2)>=65&&r.charCodeAt(2)<=90?t[r]=Na(o,i):(r==="className"||r==="UNSAFE_className")&&typeof o=="string"&&typeof i=="string"?t[r]=Tr(o,i):r==="id"&&o&&i?t.id=xl(o,i):r==="ref"&&o&&i?t.ref=bl(o,i):t[r]=i!==void 0?i:o}}return t}function vl(e,t){Is(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}const yl=ys.useInsertionEffect??Is;function ts(e){const t=c.useRef(null);return yl(()=>{t.current=e},[e]),c.useCallback((...n)=>{const a=t.current;return a?.(...n)},[])}let Xe="default",fs="",Lt=new WeakMap;function kl(e){if(ja()){if(Xe==="default"){const t=Ie(e);fs=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}Xe="disabled"}else if(e instanceof HTMLElement||e instanceof SVGElement){let t="userSelect"in e.style?"userSelect":"webkitUserSelect";Lt.set(e,e.style[t]),e.style[t]="none"}}function rn(e){if(ja()){if(Xe!=="disabled")return;Xe="restoring",setTimeout(()=>{gl(()=>{if(Xe==="restoring"){const t=Ie(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=fs||""),fs="",Xe="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&Lt.has(e)){let t=Lt.get(e),n="userSelect"in e.style?"userSelect":"webkitUserSelect";e.style[n]==="none"&&(e.style[n]=t),e.getAttribute("style")===""&&e.removeAttribute("style"),Lt.delete(e)}}function on(e){return e?.defaultView?.__webpack_nonce__||globalThis.__webpack_nonce__||void 0}let ss=new WeakMap;function jl(e){let t=e??(typeof document<"u"?document:void 0);if(!t)return on(t);if(ss.has(t))return ss.get(t);let n=t.querySelector('meta[property="csp-nonce"]'),a=n&&n instanceof Re(n).HTMLMetaElement&&(n.nonce||n.content)||on(t)||void 0;return a!==void 0&&ss.set(t,a),a}const Ca=ys.createContext({register:()=>{}});Ca.displayName="PressResponderContext";function Sa(){let e=c.useRef(new Map),t=c.useCallback((r,o,i,l)=>{let d=l?.once?(...x)=>{e.current.delete(i),i(...x)}:i;e.current.set(i,{type:o,eventTarget:r,fn:d,options:l}),r.addEventListener(o,d,l)},[]),n=c.useCallback((r,o,i,l)=>{let d=e.current.get(i)?.fn||i;r.removeEventListener(o,d,l),e.current.delete(i)},[]),a=c.useCallback(()=>{e.current.forEach((r,o)=>{n(r.eventTarget,r.type,o,r.options)})},[n]);return c.useEffect(()=>a,[a]),{addGlobalListener:t,removeGlobalListener:n,removeAllGlobalListeners:a}}function wl(e){let t=c.useContext(Ca);if(t){let{register:n,ref:a,...r}=t;e=St(r,e),n()}return vl(t,e.ref),e}class Pt{#e;constructor(t,n,a,r){this.#e=!0;const i=(r?.target??a.currentTarget)?.getBoundingClientRect();let l,d=0,x,g=null;a.clientX!=null&&a.clientY!=null&&(x=a.clientX,g=a.clientY),i&&(x!=null&&g!=null?(l=x-i.left,d=g-i.top):(l=i.width/2,d=i.height/2)),this.type=t,this.pointerType=n,this.target=a.currentTarget,this.shiftKey=a.shiftKey,this.metaKey=a.metaKey,this.ctrlKey=a.ctrlKey,this.altKey=a.altKey,this.x=l,this.y=d,this.key=a.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 Nl(e){let{onPress:t,onPressChange:n,onPressStart:a,onPressEnd:r,onPressUp:o,onClick:i,isDisabled:l,isPressed:d,preventFocusOnPress:x,shouldCancelOnPointerExit:g,allowTextSelectionOnPress:v,ref:m,...b}=wl(e),[f,u]=c.useState(!1),p=c.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null,disposables:[]}),{addGlobalListener:h,removeAllGlobalListeners:w}=Sa(),y=c.useCallback((j,I)=>{let $=p.current;if(l||$.didFirePressStart)return!1;let N=!0;if($.isTriggeringEvent=!0,a){let M=new Pt("pressstart",I,j);a(M),N=M.shouldStopPropagation}return n&&n(!0),$.isTriggeringEvent=!1,$.didFirePressStart=!0,u(!0),N},[l,a,n]),k=c.useCallback((j,I,$=!0)=>{let N=p.current;if(!N.didFirePressStart)return!1;N.didFirePressStart=!1,N.isTriggeringEvent=!0;let M=!0;if(r){let C=new Pt("pressend",I,j);r(C),M=C.shouldStopPropagation}if(n&&n(!1),u(!1),t&&$&&!l){let C=new Pt("press",I,j);t(C),M&&=C.shouldStopPropagation}return N.isTriggeringEvent=!1,M},[l,r,n,t]),S=ts(k),E=c.useCallback((j,I)=>{let $=p.current;if(l)return!1;if(o){$.isTriggeringEvent=!0;let N=new Pt("pressup",I,j);return o(N),$.isTriggeringEvent=!1,N.shouldStopPropagation}return!0},[l,o]),F=ts(E),z=c.useCallback(j=>{let I=p.current;if(I.isPressed&&I.target){I.didFirePressStart&&I.pointerType!=null&&k(Fe(I.target,j),I.pointerType,!1),I.isPressed=!1,I.isOverTarget=!1,I.activePointerId=null,I.pointerType=null,w(),v||rn(I.target);for(let $ of I.disposables)$();I.disposables=[]}},[v,w,k]),L=ts(z);c.useEffect(()=>{l&&p.current.isPressed&&L({currentTarget:p.current.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})},[l]);let A=c.useCallback(j=>{g&&z(j)},[g,z]),O=c.useCallback(j=>{l||i?.(j)},[l,i]),U=c.useCallback((j,I)=>{if(!l&&i){let $=new MouseEvent("click",j);il($,I),i(ol($))}},[l,i]),_=c.useMemo(()=>{let j=p.current,I={onKeyDown(N){if(ns(N.nativeEvent,N.currentTarget)&&xe(N.currentTarget,ee(N))){un(ee(N),N.key)&&N.preventDefault();let M=!0;!j.isPressed&&!N.repeat&&(j.target=N.currentTarget,j.isPressed=!0,j.pointerType="keyboard",M=y(N,"keyboard"));let C=N.currentTarget,q=D=>{ns(D,C)&&!D.repeat&&xe(C,ee(D))&&j.target&&F(Fe(j.target,D),"keyboard")};h(Ie(N.currentTarget),"keyup",Na(q,$),!0),M&&N.stopPropagation(),N.metaKey&&Dt()&&j.metaKeyEvents?.set(N.key,N.nativeEvent)}else N.key==="Meta"&&(j.metaKeyEvents=new Map)},onClick(N){if(!(N&&!xe(N.currentTarget,ee(N)))&&N&&N.button===0&&!j.isTriggeringEvent&&!bt.isOpening){let M=!0;if(l&&N.preventDefault(),!j.ignoreEmulatedMouseEvents&&!j.isPressed&&(j.pointerType==="virtual"||ml(N.nativeEvent))){let C=y(N,"virtual"),q=F(N,"virtual"),D=S(N,"virtual");O(N),M=C&&q&&D}else if(j.isPressed&&j.pointerType!=="keyboard"){let C=j.pointerType||N.nativeEvent.pointerType||"virtual",q=F(Fe(N.currentTarget,N),C),D=S(Fe(N.currentTarget,N),C,!0);M=q&&D,j.isOverTarget=!1,O(N),L(N)}j.ignoreEmulatedMouseEvents=!1,M&&N.stopPropagation()}}},$=N=>{if(j.isPressed&&j.target&&ns(N,j.target)){un(ee(N),N.key)&&N.preventDefault();let M=ee(N),C=xe(j.target,M);S(Fe(j.target,N),"keyboard",C),C&&U(N,j.target),w(),N.key!=="Enter"&&Rs(j.target)&&xe(j.target,M)&&!N[ln]&&(N[ln]=!0,bt(j.target,N,!1)),j.isPressed=!1,j.metaKeyEvents?.delete(N.key)}else if(N.key==="Meta"&&j.metaKeyEvents?.size){let M=j.metaKeyEvents;j.metaKeyEvents=void 0;for(let C of M.values())j.target?.dispatchEvent(new KeyboardEvent("keyup",C))}};if(typeof PointerEvent<"u"){I.onPointerDown=C=>{if(C.button!==0||!xe(C.currentTarget,ee(C)))return;if(pl(C.nativeEvent)){j.pointerType="virtual";return}j.pointerType=C.pointerType;let q=!0;if(!j.isPressed){j.isPressed=!0,j.isOverTarget=!0,j.activePointerId=C.pointerId,j.target=C.currentTarget,v||kl(j.target),q=y(C,j.pointerType);let D=ee(C);"releasePointerCapture"in D&&("hasPointerCapture"in D?D.hasPointerCapture(C.pointerId)&&D.releasePointerCapture(C.pointerId):D.releasePointerCapture(C.pointerId)),h(Ie(C.currentTarget),"pointerup",N,!1),h(Ie(C.currentTarget),"pointercancel",M,!1)}q&&C.stopPropagation()},I.onMouseDown=C=>{if(xe(C.currentTarget,ee(C))&&C.button===0){if(x){let q=ll(C.target);q&&j.disposables.push(q)}C.stopPropagation()}},I.onPointerUp=C=>{!xe(C.currentTarget,ee(C))||j.pointerType==="virtual"||C.button===0&&!j.isPressed&&F(C,j.pointerType||C.pointerType)},I.onPointerEnter=C=>{C.pointerId===j.activePointerId&&j.target&&!j.isOverTarget&&j.pointerType!=null&&(j.isOverTarget=!0,y(Fe(j.target,C),j.pointerType))},I.onPointerLeave=C=>{C.pointerId===j.activePointerId&&j.target&&j.isOverTarget&&j.pointerType!=null&&(j.isOverTarget=!1,S(Fe(j.target,C),j.pointerType,!1),A(C))};let N=C=>{if(C.pointerId===j.activePointerId&&j.isPressed&&C.button===0&&j.target){if(xe(j.target,ee(C))&&j.pointerType!=null){let q=!1,D=setTimeout(()=>{j.isPressed&&j.target instanceof HTMLElement&&(q?L(C):(xt(j.target),j.target.click()))},80);h(C.currentTarget,"click",()=>q=!0,!0),j.disposables.push(()=>clearTimeout(D))}else L(C);j.isOverTarget=!1}},M=C=>{L(C)};I.onDragStart=C=>{xe(C.currentTarget,ee(C))&&L(C)}}return I},[h,l,x,w,v,A,y,O,U]);return c.useEffect(()=>{if(!m)return;const j=Ie(m.current);if(!j||!j.head||j.getElementById(cn))return;const I=j.createElement("style");I.id=cn;let $=jl(j);$&&(I.nonce=$),I.textContent=`
2
2
  @layer {
3
3
  [${dn}] {
4
4
  touch-action: pan-x pan-y pinch-zoom;
@@ -1 +1 @@
1
- import{e as D,r as h,T as ae,j as e,U as ne,V as re,W as G,t as N,Y as T,Z as V,_ as ie,$ as J,a0 as le,a1 as oe,X as ce,a2 as ue,a3 as de,a4 as xe,a5 as fe,a6 as me,I as he,a7 as ge,a8 as pe,a9 as I,aa as be,h as ve,C as je,ab as ye,G as Ne,c as Se,ac as ke,ad as Ce,ae as M,af as we,ag as w,ah as Oe,D as ze,v as Re}from"./index-4Qa4330_.js";import{B as Ae,a as Ie}from"./useLayoutTier-C39QtN4M.js";import{u as Ee}from"./useQueries-DNrQQ492.js";import{i as Le}from"./outbox-status-BlKn6P0x.js";import{B as Fe}from"./bug-CGg1PoeZ.js";const Pe=D("BookmarkPlus",[["path",{d:"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z",key:"1fy3hk"}],["line",{x1:"12",x2:"12",y1:"7",y2:"13",key:"1cppfj"}],["line",{x1:"15",x2:"9",y1:"10",y2:"10",key:"1gty7f"}]]);const Me=D("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);const De=D("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),_e="button:not([disabled]), a[href]",O="outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-surface-sunken";function Be({active:s,dimmed:t,indent:a}){return N("flex w-full items-center gap-2 rounded-md px-2 py-1 text-left text-sm transition-colors",O,a&&"pl-7",s?"bg-accent-2-soft font-medium text-accent-2":"text-fg-muted hover:bg-surface hover:text-fg",t&&"opacity-55")}function Te({icon:s,label:t,count:a,active:n}){return e.jsxs(e.Fragment,{children:[s&&e.jsx("span",{className:N("shrink-0",n?"text-accent-2":"text-fg-subtle"),children:s}),e.jsx("span",{className:"flex-1 truncate",children:t}),a!=null&&a>0&&e.jsx("span",{className:N("text-2xs tabular-nums",n?"text-accent-2":"text-fg-subtle"),children:a})]})}function A({icon:s,label:t,count:a,active:n,dimmed:o,indent:l,navId:u,linkComponent:g,ariaLabel:x,title:v,onClick:j}){const p=Be({active:n,dimmed:o,indent:l}),d=e.jsx(Te,{icon:s,label:t,count:a,active:n});return u&&g?g({navId:u,className:p,ariaLabel:x??t,title:v,onClick:j,children:d}):e.jsx("button",{type:"button",onClick:j,className:p,"aria-label":x,title:v,children:d})}const q={inbox:0,flagged:1,drafts:2,sent:3,archive:4,all:5,junk:6,trash:7};function Ve(s){switch(s){case"inbox":return e.jsx(he,{className:"size-4"});case"flagged":return e.jsx(G,{className:"size-4"});case"drafts":return e.jsx(me,{className:"size-4"});case"sent":return e.jsx(J,{className:"size-4"});case"archive":return e.jsx(fe,{className:"size-4"});case"all":return e.jsx(xe,{className:"size-4"});case"junk":return e.jsx(de,{className:"size-4"});case"trash":return e.jsx(ue,{className:"size-4"})}}const K=s=>s.role!=null,P=8,Q="remit.nav.folders.open.",$="remit.nav.account.open.";function H(s,t,a){if(typeof localStorage>"u")return a;const n=localStorage.getItem(s+t);return n===null?a:n!=="0"}function U(s,t,a){typeof localStorage>"u"||localStorage.setItem(s+t,a?"1":"0")}function qe({query:s,onSelect:t,onRemove:a}){return e.jsxs("div",{className:"group flex w-full items-center gap-1 rounded-md pr-1 hover:bg-surface",children:[e.jsxs("button",{type:"button",onClick:t,className:N("flex min-w-0 flex-1 items-center gap-2 px-2 py-1 text-left text-sm text-fg-muted transition-colors hover:text-fg",O),children:[e.jsx(oe,{className:"size-4 shrink-0 text-fg-subtle"}),e.jsx("span",{className:"min-w-0 flex-1 truncate",children:s})]}),a&&e.jsx("button",{type:"button",onClick:a,"aria-label":`Remove saved search: ${s}`,className:N("shrink-0 rounded-full p-1 text-fg-subtle opacity-0 transition-opacity hover:bg-surface-sunken hover:text-fg group-hover:opacity-100 focus-visible:opacity-100",O),children:e.jsx(ce,{className:"size-3.5"})})]})}function Ke({savedSearches:s,saveableQuery:t,onSelectSavedSearch:a,onRemoveSavedSearch:n,onSaveCurrentSearch:o}){return s.length===0&&!t?null:e.jsxs("div",{className:"mt-3",children:[e.jsx("div",{className:"px-2 pb-1 text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:"Saved searches"}),t&&e.jsxs("button",{type:"button",onClick:o,className:N("flex w-full items-center gap-2 rounded-md px-2 py-1 text-left text-sm text-accent transition-colors hover:bg-surface",O),children:[e.jsx(Pe,{className:"size-4 shrink-0"}),e.jsxs("span",{className:"min-w-0 flex-1 truncate",children:["Save “",t,"”"]})]}),s.map(l=>e.jsx(qe,{query:l,onSelect:()=>a?.(l),onRemove:n?()=>n(l):void 0},l))]})}function Qe({account:s,selectedNavId:t,onSelectNav:a,linkComponent:n}){const[o,l]=h.useState(()=>H($,s.id,!0)),[u,g]=h.useState(()=>H(Q,s.id,!0)),[x,v]=h.useState(!1),j=()=>{l(r=>{const f=!r;return U($,s.id,f),f})},p=()=>{g(r=>{const f=!r;return U(Q,s.id,f),f})},d=s.mailboxes.filter(K).sort((r,f)=>q[r.role]-q[f.role]),c=s.mailboxes.filter(r=>!K(r)),S=x||c.length<=P?c:c.slice(0,P),z=c.length-S.length,R=s.status??"ready",F=R==="ready"&&d.length===0&&c.length===0;return e.jsxs("div",{className:"mt-3",children:[e.jsxs("button",{type:"button",onClick:j,"aria-expanded":o,className:N("flex w-full items-center gap-1.5 px-2 pb-1 text-left transition-colors hover:text-fg",O,s.muted&&"opacity-55"),children:[o?e.jsx(T,{className:"size-3 shrink-0 text-fg-subtle"}):e.jsx(V,{className:"size-3 shrink-0 text-fg-subtle"}),e.jsx("span",{className:"truncate text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:s.label}),s.muted&&e.jsxs(e.Fragment,{children:[e.jsx(Ae,{className:"size-3 shrink-0 text-fg-subtle"}),e.jsx("span",{className:"text-2xs text-fg-subtle",children:"muted"})]})]}),o&&e.jsxs(e.Fragment,{children:[R==="loading"&&e.jsx("div",{className:"px-2 py-1 text-sm text-fg-muted",children:"Loading…"}),R==="error"&&e.jsxs("div",{role:"alert",className:"mx-2 my-1 flex items-start gap-2 rounded-md border border-danger/40 bg-danger-soft px-2 py-1.5 text-sm",children:[e.jsx(ie,{className:"mt-0.5 size-4 shrink-0 text-danger","aria-hidden":"true"}),e.jsx("div",{className:"min-w-0 flex-1",children:e.jsx("p",{className:"font-medium text-danger",children:"Couldn't load mailboxes"})}),s.onRetry&&e.jsx("button",{type:"button",onClick:s.onRetry,className:"shrink-0 text-sm font-medium text-accent hover:underline",children:"Retry"})]}),F&&e.jsx("div",{className:"px-2 py-1 text-sm text-fg-muted",children:"No mailboxes"}),R==="ready"&&e.jsxs(e.Fragment,{children:[d.map(r=>e.jsx(A,{navId:r.id,linkComponent:n,icon:Ve(r.role),label:r.name,ariaLabel:r.name,title:r.fullPath??r.name,count:r.unseen,active:t===r.id,dimmed:s.muted,onClick:()=>a?.(r.id)},r.id)),s.outboxPending!==void 0&&e.jsx(A,{navId:"outbox",linkComponent:n,icon:e.jsx(J,{className:"size-4"}),label:"Outbox",ariaLabel:"Outbox",count:s.outboxPending>0?s.outboxPending:void 0,active:t==="outbox",dimmed:s.muted,onClick:()=>a?.("outbox")}),c.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs("button",{type:"button",onClick:p,"aria-expanded":u,className:N("mt-1 flex w-full items-center gap-1 px-2 py-1 text-left text-2xs font-semibold uppercase tracking-wider text-fg-subtle transition-colors hover:text-fg",O),children:[u?e.jsx(T,{className:"size-3 shrink-0"}):e.jsx(V,{className:"size-3 shrink-0"}),e.jsx("span",{className:"flex-1",children:"Folders"}),e.jsx("span",{className:"tabular-nums opacity-70",children:c.length})]}),u&&e.jsxs(e.Fragment,{children:[S.map(r=>e.jsx(A,{navId:r.id,linkComponent:n,icon:e.jsx(le,{className:"size-4"}),label:r.name,ariaLabel:r.name,title:r.fullPath??r.name,count:r.unseen,active:t===r.id,dimmed:s.muted,onClick:()=>a?.(r.id)},r.id)),(z>0||x)&&c.length>P&&e.jsx("button",{type:"button",onClick:()=>v(r=>!r),className:N("ml-7 flex items-center px-2 py-1 text-2xs font-medium text-accent transition-colors hover:underline",O),children:x?"Show less":`Show all (${c.length})`})]})]})]})]})]})}function $e({accounts:s,selectedNavId:t,briefUnseen:a,onSelectNav:n,variant:o="desktop",linkComponent:l,calendarNav:u="hidden",savedSearches:g=[],saveableQuery:x,onSelectSavedSearch:v,onRemoveSavedSearch:j,onSaveCurrentSearch:p}){const d=h.useRef(null);ae({containerRef:d,itemSelector:_e});const c=o==="drawer",S=e.jsxs("nav",{ref:c?d:void 0,className:c?"px-2 py-2":"flex-1 overflow-y-auto px-2 py-2","aria-label":"Mailboxes",children:[e.jsx(A,{navId:"brief",linkComponent:l,icon:e.jsx(ne,{className:"size-4"}),label:"Daily brief",ariaLabel:"Daily brief",count:a,active:t==="brief",onClick:()=>n?.("brief")}),u==="shown"&&e.jsx(A,{navId:"calendar",linkComponent:l,icon:e.jsx(re,{className:"size-4"}),label:"Calendar",ariaLabel:"Calendar",active:t==="calendar",onClick:()=>n?.("calendar")}),e.jsx(A,{navId:"flagged",linkComponent:l,icon:e.jsx(G,{className:"size-4"}),label:"Starred",ariaLabel:"Starred",active:t==="flagged",onClick:()=>n?.("flagged")}),e.jsx(Ke,{savedSearches:g,saveableQuery:x,onSelectSavedSearch:v,onRemoveSavedSearch:j,onSaveCurrentSearch:p}),s.length===0?e.jsx("div",{className:"px-2 py-4 text-center text-sm text-fg-muted",children:"No accounts configured"}):s.map(z=>e.jsx(Qe,{account:z,selectedNavId:t,onSelectNav:n,linkComponent:l},z.id))]});return c?S:e.jsx("aside",{ref:d,className:"flex h-full w-full flex-col bg-surface-sunken",children:S})}function He(){const{pathname:s}=ge(),t=pe({from:"/mail/$mailboxId",shouldThrow:!1});return I(s,"/settings")?"settings":I(s,"/calendar")?"calendar":I(s,"/mail/outbox")?"outbox":I(s,"/mail/flagged")?"flagged":I(s,"/mail/brief")?"brief":t?.mailboxId??""}const Ue=({children:s})=>{const{Account:t}=be();return e.jsx(t,{children:s})},_="remit.savedSearches",We=25;function L(){try{const s=localStorage.getItem(_);if(!s)return[];const t=JSON.parse(s);return Array.isArray(t)?t.filter(a=>typeof a=="string"):[]}catch{return[]}}function Ye(s){const t=s.trim();if(!t)return L();const a=[t,...L().filter(n=>n!==t)].slice(0,We);try{localStorage.setItem(_,JSON.stringify(a))}catch{return a}return a}function Ge(s){const t=L().filter(a=>a!==s);try{localStorage.setItem(_,JSON.stringify(t))}catch{return t}return t}const W=s=>/^\d/.test(s),Je=(s,t)=>{const a=W(s),n=W(t);return a&&!n?-1:!a&&n?1:s.localeCompare(t,void 0,{sensitivity:"base",numeric:!0})};function Xe(s,t,a){const n=[],o=[];for(const l of s)t.has(l.mailboxId)?n.push(l):o.push(l);return o.sort((l,u)=>Je(M(l,void 0,a),M(u,void 0,a))),{system:n,labels:o}}function Ze(s,t,a){const n=we(t)&&s.unseenCount>0;return{id:s.mailboxId,name:M(s,t,a),unseen:n?s.unseenCount:void 0,role:t,fullPath:s.fullPath}}function Y({accounts:s,onMailboxSelect:t,variant:a="desktop"}){const n=ve(),o=Ie(),l=He(),{searchInput:u,onSearchChange:g}=je(),[x,v]=h.useState(L),{t:j}=ye("mail",{useSuspense:!1}),p=h.useCallback((i,b)=>j(i,{defaultValue:b}),[j]),d=Ee({queries:s.map(i=>({...Ne({path:{accountId:i.accountId}}),staleTime:1/0}))}),{data:c}=Se(ke()),S=h.useMemo(()=>(c?.items??[]).filter(i=>Le(i.status)).length,[c?.items]),z=h.useMemo(()=>s.map((i,b)=>{const m=d[b],k=m?.data?.items??[],y=Ce(i.folderAppointments),{system:C,labels:se}=Xe(k,y,p),te=m?.isError?"error":m?.isLoading?"loading":"ready";return{id:i.accountId,label:i.email,email:i.email,muted:!!i.muted,outboxPending:S,status:te,onRetry:()=>m?.refetch(),mailboxes:[...C,...se].map(B=>Ze(B,y.get(B.mailboxId),p))}}),[s,d,S,p]),R=i=>{n.invalidateQueries({queryKey:Oe({path:{mailboxId:i},query:{order:"desc"}})})},F=({navId:i,className:b,ariaLabel:m,title:k,children:y,onClick:C})=>i==="brief"?e.jsx(w,{to:"/mail/brief",search:{q:void 0},activeOptions:{includeSearch:!1},onClick:()=>C?.(),className:b,"aria-label":m,title:k,children:y}):i==="calendar"?e.jsx(w,{to:"/calendar",onClick:()=>C?.(),className:b,"aria-label":m,title:k,children:y}):i==="outbox"?e.jsx(w,{to:"/mail/outbox",search:{q:void 0},onClick:()=>C?.(),className:b,"aria-label":m,title:k,children:y}):i==="flagged"?e.jsx(w,{to:"/mail/flagged",search:{q:void 0},onClick:()=>C?.(),className:b,"aria-label":m,title:k,children:y}):i==="settings"?e.jsx(w,{to:"/settings/accounts",onClick:()=>C?.(),className:b,"aria-label":m,title:k,children:y}):e.jsx(w,{to:"/mail/$mailboxId",params:{mailboxId:i},search:{q:void 0},onClick:()=>{R(i),C?.()},className:b,"aria-label":m,title:k,children:y}),r=()=>{g(""),t?.()},f=u.trim(),E=f.length>0&&!x.includes(f)?f:void 0,X=h.useCallback(()=>{E&&v(Ye(E))},[E]),Z=h.useCallback(i=>{v(Ge(i))},[]),ee=h.useCallback(i=>{g(i),o(i),t?.()},[g,o,t]);return e.jsx($e,{accounts:z,selectedNavId:l,onSelectNav:r,linkComponent:F,calendarNav:"shown",variant:a,savedSearches:x,saveableQuery:E,onSaveCurrentSearch:X,onSelectSavedSearch:ee,onRemoveSavedSearch:Z})}function es(){return e.jsxs("button",{type:"button",onClick:ze,className:"flex w-full items-center gap-2 rounded-md px-2 py-1 text-sm text-fg-muted transition-colors hover:bg-surface hover:text-fg",children:[e.jsx(Fe,{className:"size-4 shrink-0"}),e.jsx("span",{className:"flex-1 truncate text-left",children:"Report a bug"})]})}function is({accounts:s,onMailboxSelect:t}){return Re()?.showNavPane??!0?e.jsx(Y,{accounts:s}):e.jsxs("div",{className:"flex h-full flex-col",children:[e.jsx("div",{className:"flex-1 overflow-y-auto",children:e.jsx(Y,{accounts:s,onMailboxSelect:t,variant:"drawer"})}),e.jsxs("div",{className:"border-t border-line px-2 py-2",children:[e.jsxs(w,{to:"/settings/accounts",onClick:t,children:[e.jsx(De,{className:"size-4 shrink-0"}),e.jsx("span",{className:"flex-1 truncate text-left",children:"Settings"})]}),e.jsx(es,{}),e.jsx(Ue,{children:({signOut:o})=>e.jsxs("button",{type:"button",onClick:()=>{t?.(),o()},className:"flex min-h-11 w-full items-center gap-2 rounded-md px-2 py-1 text-sm text-fg-muted transition-colors hover:bg-surface hover:text-fg","data-testid":"sign-out-button",children:[e.jsx(Me,{className:"size-4 shrink-0"}),e.jsx("span",{className:"flex-1 truncate text-left",children:"Sign out"})]})})]})]})}export{Ue as A,Me as L,is as M,De as S};
1
+ import{e as D,r as h,T as ae,j as e,U as ne,V as re,W as G,t as N,Y as T,Z as V,_ as ie,$ as J,a0 as le,a1 as oe,X as ce,a2 as ue,a3 as de,a4 as xe,a5 as fe,a6 as me,I as he,a7 as ge,a8 as pe,a9 as I,aa as be,h as ve,C as je,ab as ye,G as Ne,c as Se,ac as ke,ad as Ce,ae as M,af as we,ag as w,ah as Oe,D as ze,v as Re}from"./index-DFOeerF8.js";import{B as Ae,a as Ie}from"./useLayoutTier-B7hLuv2u.js";import{u as Ee}from"./useQueries-CEYkNMRl.js";import{i as Le}from"./outbox-status-BlKn6P0x.js";import{B as Fe}from"./bug-CxCMTWPo.js";const Pe=D("BookmarkPlus",[["path",{d:"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z",key:"1fy3hk"}],["line",{x1:"12",x2:"12",y1:"7",y2:"13",key:"1cppfj"}],["line",{x1:"15",x2:"9",y1:"10",y2:"10",key:"1gty7f"}]]);const Me=D("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);const De=D("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),_e="button:not([disabled]), a[href]",O="outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-surface-sunken";function Be({active:s,dimmed:t,indent:a}){return N("flex w-full items-center gap-2 rounded-md px-2 py-1 text-left text-sm transition-colors",O,a&&"pl-7",s?"bg-accent-2-soft font-medium text-accent-2":"text-fg-muted hover:bg-surface hover:text-fg",t&&"opacity-55")}function Te({icon:s,label:t,count:a,active:n}){return e.jsxs(e.Fragment,{children:[s&&e.jsx("span",{className:N("shrink-0",n?"text-accent-2":"text-fg-subtle"),children:s}),e.jsx("span",{className:"flex-1 truncate",children:t}),a!=null&&a>0&&e.jsx("span",{className:N("text-2xs tabular-nums",n?"text-accent-2":"text-fg-subtle"),children:a})]})}function A({icon:s,label:t,count:a,active:n,dimmed:o,indent:l,navId:u,linkComponent:g,ariaLabel:x,title:v,onClick:j}){const p=Be({active:n,dimmed:o,indent:l}),d=e.jsx(Te,{icon:s,label:t,count:a,active:n});return u&&g?g({navId:u,className:p,ariaLabel:x??t,title:v,onClick:j,children:d}):e.jsx("button",{type:"button",onClick:j,className:p,"aria-label":x,title:v,children:d})}const q={inbox:0,flagged:1,drafts:2,sent:3,archive:4,all:5,junk:6,trash:7};function Ve(s){switch(s){case"inbox":return e.jsx(he,{className:"size-4"});case"flagged":return e.jsx(G,{className:"size-4"});case"drafts":return e.jsx(me,{className:"size-4"});case"sent":return e.jsx(J,{className:"size-4"});case"archive":return e.jsx(fe,{className:"size-4"});case"all":return e.jsx(xe,{className:"size-4"});case"junk":return e.jsx(de,{className:"size-4"});case"trash":return e.jsx(ue,{className:"size-4"})}}const K=s=>s.role!=null,P=8,Q="remit.nav.folders.open.",$="remit.nav.account.open.";function H(s,t,a){if(typeof localStorage>"u")return a;const n=localStorage.getItem(s+t);return n===null?a:n!=="0"}function U(s,t,a){typeof localStorage>"u"||localStorage.setItem(s+t,a?"1":"0")}function qe({query:s,onSelect:t,onRemove:a}){return e.jsxs("div",{className:"group flex w-full items-center gap-1 rounded-md pr-1 hover:bg-surface",children:[e.jsxs("button",{type:"button",onClick:t,className:N("flex min-w-0 flex-1 items-center gap-2 px-2 py-1 text-left text-sm text-fg-muted transition-colors hover:text-fg",O),children:[e.jsx(oe,{className:"size-4 shrink-0 text-fg-subtle"}),e.jsx("span",{className:"min-w-0 flex-1 truncate",children:s})]}),a&&e.jsx("button",{type:"button",onClick:a,"aria-label":`Remove saved search: ${s}`,className:N("shrink-0 rounded-full p-1 text-fg-subtle opacity-0 transition-opacity hover:bg-surface-sunken hover:text-fg group-hover:opacity-100 focus-visible:opacity-100",O),children:e.jsx(ce,{className:"size-3.5"})})]})}function Ke({savedSearches:s,saveableQuery:t,onSelectSavedSearch:a,onRemoveSavedSearch:n,onSaveCurrentSearch:o}){return s.length===0&&!t?null:e.jsxs("div",{className:"mt-3",children:[e.jsx("div",{className:"px-2 pb-1 text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:"Saved searches"}),t&&e.jsxs("button",{type:"button",onClick:o,className:N("flex w-full items-center gap-2 rounded-md px-2 py-1 text-left text-sm text-accent transition-colors hover:bg-surface",O),children:[e.jsx(Pe,{className:"size-4 shrink-0"}),e.jsxs("span",{className:"min-w-0 flex-1 truncate",children:["Save “",t,"”"]})]}),s.map(l=>e.jsx(qe,{query:l,onSelect:()=>a?.(l),onRemove:n?()=>n(l):void 0},l))]})}function Qe({account:s,selectedNavId:t,onSelectNav:a,linkComponent:n}){const[o,l]=h.useState(()=>H($,s.id,!0)),[u,g]=h.useState(()=>H(Q,s.id,!0)),[x,v]=h.useState(!1),j=()=>{l(r=>{const f=!r;return U($,s.id,f),f})},p=()=>{g(r=>{const f=!r;return U(Q,s.id,f),f})},d=s.mailboxes.filter(K).sort((r,f)=>q[r.role]-q[f.role]),c=s.mailboxes.filter(r=>!K(r)),S=x||c.length<=P?c:c.slice(0,P),z=c.length-S.length,R=s.status??"ready",F=R==="ready"&&d.length===0&&c.length===0;return e.jsxs("div",{className:"mt-3",children:[e.jsxs("button",{type:"button",onClick:j,"aria-expanded":o,className:N("flex w-full items-center gap-1.5 px-2 pb-1 text-left transition-colors hover:text-fg",O,s.muted&&"opacity-55"),children:[o?e.jsx(T,{className:"size-3 shrink-0 text-fg-subtle"}):e.jsx(V,{className:"size-3 shrink-0 text-fg-subtle"}),e.jsx("span",{className:"truncate text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:s.label}),s.muted&&e.jsxs(e.Fragment,{children:[e.jsx(Ae,{className:"size-3 shrink-0 text-fg-subtle"}),e.jsx("span",{className:"text-2xs text-fg-subtle",children:"muted"})]})]}),o&&e.jsxs(e.Fragment,{children:[R==="loading"&&e.jsx("div",{className:"px-2 py-1 text-sm text-fg-muted",children:"Loading…"}),R==="error"&&e.jsxs("div",{role:"alert",className:"mx-2 my-1 flex items-start gap-2 rounded-md border border-danger/40 bg-danger-soft px-2 py-1.5 text-sm",children:[e.jsx(ie,{className:"mt-0.5 size-4 shrink-0 text-danger","aria-hidden":"true"}),e.jsx("div",{className:"min-w-0 flex-1",children:e.jsx("p",{className:"font-medium text-danger",children:"Couldn't load mailboxes"})}),s.onRetry&&e.jsx("button",{type:"button",onClick:s.onRetry,className:"shrink-0 text-sm font-medium text-accent hover:underline",children:"Retry"})]}),F&&e.jsx("div",{className:"px-2 py-1 text-sm text-fg-muted",children:"No mailboxes"}),R==="ready"&&e.jsxs(e.Fragment,{children:[d.map(r=>e.jsx(A,{navId:r.id,linkComponent:n,icon:Ve(r.role),label:r.name,ariaLabel:r.name,title:r.fullPath??r.name,count:r.unseen,active:t===r.id,dimmed:s.muted,onClick:()=>a?.(r.id)},r.id)),s.outboxPending!==void 0&&e.jsx(A,{navId:"outbox",linkComponent:n,icon:e.jsx(J,{className:"size-4"}),label:"Outbox",ariaLabel:"Outbox",count:s.outboxPending>0?s.outboxPending:void 0,active:t==="outbox",dimmed:s.muted,onClick:()=>a?.("outbox")}),c.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs("button",{type:"button",onClick:p,"aria-expanded":u,className:N("mt-1 flex w-full items-center gap-1 px-2 py-1 text-left text-2xs font-semibold uppercase tracking-wider text-fg-subtle transition-colors hover:text-fg",O),children:[u?e.jsx(T,{className:"size-3 shrink-0"}):e.jsx(V,{className:"size-3 shrink-0"}),e.jsx("span",{className:"flex-1",children:"Folders"}),e.jsx("span",{className:"tabular-nums opacity-70",children:c.length})]}),u&&e.jsxs(e.Fragment,{children:[S.map(r=>e.jsx(A,{navId:r.id,linkComponent:n,icon:e.jsx(le,{className:"size-4"}),label:r.name,ariaLabel:r.name,title:r.fullPath??r.name,count:r.unseen,active:t===r.id,dimmed:s.muted,onClick:()=>a?.(r.id)},r.id)),(z>0||x)&&c.length>P&&e.jsx("button",{type:"button",onClick:()=>v(r=>!r),className:N("ml-7 flex items-center px-2 py-1 text-2xs font-medium text-accent transition-colors hover:underline",O),children:x?"Show less":`Show all (${c.length})`})]})]})]})]})]})}function $e({accounts:s,selectedNavId:t,briefUnseen:a,onSelectNav:n,variant:o="desktop",linkComponent:l,calendarNav:u="hidden",savedSearches:g=[],saveableQuery:x,onSelectSavedSearch:v,onRemoveSavedSearch:j,onSaveCurrentSearch:p}){const d=h.useRef(null);ae({containerRef:d,itemSelector:_e});const c=o==="drawer",S=e.jsxs("nav",{ref:c?d:void 0,className:c?"px-2 py-2":"flex-1 overflow-y-auto px-2 py-2","aria-label":"Mailboxes",children:[e.jsx(A,{navId:"brief",linkComponent:l,icon:e.jsx(ne,{className:"size-4"}),label:"Daily brief",ariaLabel:"Daily brief",count:a,active:t==="brief",onClick:()=>n?.("brief")}),u==="shown"&&e.jsx(A,{navId:"calendar",linkComponent:l,icon:e.jsx(re,{className:"size-4"}),label:"Calendar",ariaLabel:"Calendar",active:t==="calendar",onClick:()=>n?.("calendar")}),e.jsx(A,{navId:"flagged",linkComponent:l,icon:e.jsx(G,{className:"size-4"}),label:"Starred",ariaLabel:"Starred",active:t==="flagged",onClick:()=>n?.("flagged")}),e.jsx(Ke,{savedSearches:g,saveableQuery:x,onSelectSavedSearch:v,onRemoveSavedSearch:j,onSaveCurrentSearch:p}),s.length===0?e.jsx("div",{className:"px-2 py-4 text-center text-sm text-fg-muted",children:"No accounts configured"}):s.map(z=>e.jsx(Qe,{account:z,selectedNavId:t,onSelectNav:n,linkComponent:l},z.id))]});return c?S:e.jsx("aside",{ref:d,className:"flex h-full w-full flex-col bg-surface-sunken",children:S})}function He(){const{pathname:s}=ge(),t=pe({from:"/mail/$mailboxId",shouldThrow:!1});return I(s,"/settings")?"settings":I(s,"/calendar")?"calendar":I(s,"/mail/outbox")?"outbox":I(s,"/mail/flagged")?"flagged":I(s,"/mail/brief")?"brief":t?.mailboxId??""}const Ue=({children:s})=>{const{Account:t}=be();return e.jsx(t,{children:s})},_="remit.savedSearches",We=25;function L(){try{const s=localStorage.getItem(_);if(!s)return[];const t=JSON.parse(s);return Array.isArray(t)?t.filter(a=>typeof a=="string"):[]}catch{return[]}}function Ye(s){const t=s.trim();if(!t)return L();const a=[t,...L().filter(n=>n!==t)].slice(0,We);try{localStorage.setItem(_,JSON.stringify(a))}catch{return a}return a}function Ge(s){const t=L().filter(a=>a!==s);try{localStorage.setItem(_,JSON.stringify(t))}catch{return t}return t}const W=s=>/^\d/.test(s),Je=(s,t)=>{const a=W(s),n=W(t);return a&&!n?-1:!a&&n?1:s.localeCompare(t,void 0,{sensitivity:"base",numeric:!0})};function Xe(s,t,a){const n=[],o=[];for(const l of s)t.has(l.mailboxId)?n.push(l):o.push(l);return o.sort((l,u)=>Je(M(l,void 0,a),M(u,void 0,a))),{system:n,labels:o}}function Ze(s,t,a){const n=we(t)&&s.unseenCount>0;return{id:s.mailboxId,name:M(s,t,a),unseen:n?s.unseenCount:void 0,role:t,fullPath:s.fullPath}}function Y({accounts:s,onMailboxSelect:t,variant:a="desktop"}){const n=ve(),o=Ie(),l=He(),{searchInput:u,onSearchChange:g}=je(),[x,v]=h.useState(L),{t:j}=ye("mail",{useSuspense:!1}),p=h.useCallback((i,b)=>j(i,{defaultValue:b}),[j]),d=Ee({queries:s.map(i=>({...Ne({path:{accountId:i.accountId}}),staleTime:1/0}))}),{data:c}=Se(ke()),S=h.useMemo(()=>(c?.items??[]).filter(i=>Le(i.status)).length,[c?.items]),z=h.useMemo(()=>s.map((i,b)=>{const m=d[b],k=m?.data?.items??[],y=Ce(i.folderAppointments),{system:C,labels:se}=Xe(k,y,p),te=m?.isError?"error":m?.isLoading?"loading":"ready";return{id:i.accountId,label:i.email,email:i.email,muted:!!i.muted,outboxPending:S,status:te,onRetry:()=>m?.refetch(),mailboxes:[...C,...se].map(B=>Ze(B,y.get(B.mailboxId),p))}}),[s,d,S,p]),R=i=>{n.invalidateQueries({queryKey:Oe({path:{mailboxId:i},query:{order:"desc"}})})},F=({navId:i,className:b,ariaLabel:m,title:k,children:y,onClick:C})=>i==="brief"?e.jsx(w,{to:"/mail/brief",search:{q:void 0},activeOptions:{includeSearch:!1},onClick:()=>C?.(),className:b,"aria-label":m,title:k,children:y}):i==="calendar"?e.jsx(w,{to:"/calendar",onClick:()=>C?.(),className:b,"aria-label":m,title:k,children:y}):i==="outbox"?e.jsx(w,{to:"/mail/outbox",search:{q:void 0},onClick:()=>C?.(),className:b,"aria-label":m,title:k,children:y}):i==="flagged"?e.jsx(w,{to:"/mail/flagged",search:{q:void 0},onClick:()=>C?.(),className:b,"aria-label":m,title:k,children:y}):i==="settings"?e.jsx(w,{to:"/settings/accounts",onClick:()=>C?.(),className:b,"aria-label":m,title:k,children:y}):e.jsx(w,{to:"/mail/$mailboxId",params:{mailboxId:i},search:{q:void 0},onClick:()=>{R(i),C?.()},className:b,"aria-label":m,title:k,children:y}),r=()=>{g(""),t?.()},f=u.trim(),E=f.length>0&&!x.includes(f)?f:void 0,X=h.useCallback(()=>{E&&v(Ye(E))},[E]),Z=h.useCallback(i=>{v(Ge(i))},[]),ee=h.useCallback(i=>{g(i),o(i),t?.()},[g,o,t]);return e.jsx($e,{accounts:z,selectedNavId:l,onSelectNav:r,linkComponent:F,calendarNav:"shown",variant:a,savedSearches:x,saveableQuery:E,onSaveCurrentSearch:X,onSelectSavedSearch:ee,onRemoveSavedSearch:Z})}function es(){return e.jsxs("button",{type:"button",onClick:ze,className:"flex w-full items-center gap-2 rounded-md px-2 py-1 text-sm text-fg-muted transition-colors hover:bg-surface hover:text-fg",children:[e.jsx(Fe,{className:"size-4 shrink-0"}),e.jsx("span",{className:"flex-1 truncate text-left",children:"Report a bug"})]})}function is({accounts:s,onMailboxSelect:t}){return Re()?.showNavPane??!0?e.jsx(Y,{accounts:s}):e.jsxs("div",{className:"flex h-full flex-col",children:[e.jsx("div",{className:"flex-1 overflow-y-auto",children:e.jsx(Y,{accounts:s,onMailboxSelect:t,variant:"drawer"})}),e.jsxs("div",{className:"border-t border-line px-2 py-2",children:[e.jsxs(w,{to:"/settings/accounts",onClick:t,children:[e.jsx(De,{className:"size-4 shrink-0"}),e.jsx("span",{className:"flex-1 truncate text-left",children:"Settings"})]}),e.jsx(es,{}),e.jsx(Ue,{children:({signOut:o})=>e.jsxs("button",{type:"button",onClick:()=>{t?.(),o()},className:"flex min-h-11 w-full items-center gap-2 rounded-md px-2 py-1 text-sm text-fg-muted transition-colors hover:bg-surface hover:text-fg","data-testid":"sign-out-button",children:[e.jsx(Me,{className:"size-4 shrink-0"}),e.jsx("span",{className:"flex-1 truncate text-left",children:"Sign out"})]})})]})]})}export{Ue as A,Me as L,is as M,De as S};
@@ -1 +1 @@
1
- import{a9 as v,j as s,r as u,ak as l,al as p}from"./index-4Qa4330_.js";import{F as x}from"./FullCompose-B4zxA29_.js";import{a as m}from"./useMessageBodyContent-zG1JTDGX.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
+ import{a9 as v,j as s,r as u,ak as l,al as p}from"./index-DFOeerF8.js";import{F as x}from"./FullCompose-C5TvJ0sm.js";import{a as m}from"./useMessageBodyContent-DKDt9OB3.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,L as re,f as A,_ as ie,r as x,t as K,aA as oe,a2 as ce,dO as le,T as de,dP as U,dQ as ue,b_ as fe,dR as me,dS as xe,dT as ge,C as he,dU as pe,d9 as be}from"./index-4Qa4330_.js";import{m as ve,A as je}from"./search-token-index-BMwa_Z3e.js";import{a8 as we,a9 as Ne,c as ye,a as G,aa as Pe,s as Ce,ab as Re,ac as ke,ad as Se,ae as Me,af as Ee}from"./MailListHeader-BBXPP_8i.js";import{A as Ie}from"./avatar-D8paP2w2.js";import{M as Oe}from"./mail-DgA4N8vw.js";import{R as ze}from"./refresh-cw-bDnuQYhl.js";import{M as Le}from"./menu-DNTK2lSq.js";function _e(){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(q,{children:[e.jsx("p",{className:"font-medium text-fg",children:$e(s.label,n,f)}),e.jsx("p",{className:"mt-1 text-sm text-fg-muted",children:De[s.reach]}),e.jsx(A,{variant:"secondary",size:"sm",className:"mt-4",onClick:s.onClear,children:"Clear filter"})]}):e.jsx(q,{children:e.jsx("p",{className:"text-fg-muted",children:Ae(f,n)})})}const De={"whole-folder":"Every message in this folder was checked.","loaded-pages":"Only the messages loaded so far were checked."};function Ae(s,n){return s?"No messages match your search":n?`No messages in ${n}`:"No messages in this mailbox"}function $e(s,n,r){return r?`No results for “${r}” in ${s}`:n?`No ${s} mail in ${n}`:`No ${s} mail`}function q({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 es(){return e.jsxs("div",{className:"flex items-center justify-center gap-2 py-4 text-sm text-fg-muted",role:"status","aria-live":"polite",children:[e.jsx(re,{className:"size-4 animate-spin","aria-hidden":"true"}),e.jsx("span",{children:"Loading more…"})]})}function Fe({message:s="Something went wrong loading this mailbox.",onRetry:n,onReport:r}){return e.jsx("div",{className:"flex h-full flex-1 items-center justify-center p-4",children:e.jsxs("div",{role:"alert",className:"flex max-w-sm flex-col items-center justify-center gap-3 text-center",children:[e.jsx(ie,{className:"size-8 text-danger","aria-hidden":"true"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-danger",children:"Couldn't load messages"}),e.jsx("p",{className:"mt-1 break-words text-sm text-fg-muted",children:s})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[n&&e.jsx(A,{variant:"secondary",size:"sm",onClick:n,children:"Retry"}),r&&e.jsx(A,{variant:"ghost",size:"sm",onClick:r,children:"Report a problem"})]})]})})}const O=72,V=10,He=O/2,J="__swipeableRowAxisCancel";function Z(s){return s==="leading"?O:s==="trailing"?-O:0}function Xe(s){return s>=O/2?"leading":s<=-O/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 u=x.useRef(null),[b,v]=x.useState(null),{longPressProps:P}=we({onLongPress:j,isDisabled:n,accessibilityDescription:"Select message"}),k=i=>{const o=new PointerEvent("pointercancel",{bubbles:!0});o[J]=!0,i.currentTarget.dispatchEvent(o)},a=Ne(P,{onPointerDown:i=>{u.current={startX:i.clientX,startY:i.clientY,axis:"none",escaped:!1}},onPointerMove:i=>{if(n)return;const o=u.current;if(!o)return;const d=i.clientX-o.startX,M=i.clientY-o.startY;if(o.axis==="none"&&(Math.abs(M)>V&&Math.abs(M)>Math.abs(d)?o.axis="vertical":Math.abs(d)>V&&Math.abs(d)>Math.abs(M)&&(o.axis="horizontal",i.currentTarget.setPointerCapture(i.pointerId))),o.axis==="none")return;const z=o.axis==="horizontal"?Math.abs(d):Math.abs(M);if(!o.escaped&&z>He&&(o.escaped=!0,k(i)),o.axis!=="horizontal")return;const F=Z(m),H=Math.max(-O,Math.min(O,F+d));v(H)},onPointerUp:i=>{const o=u.current;u.current=null;const d=b;if(v(null),!!o){if(o.axis!=="none"&&!o.escaped&&k(i),o.axis==="horizontal"){d!==null&&g(Xe(d));return}if(o.axis!=="vertical"){if(n){y();return}if(m!=="none"){g("none");return}h()}}},onPointerCancel:i=>{i.nativeEvent[J]||(u.current=null,v(null))}}),l=b??Z(m),N=l>0?"leading":l<0?"trailing":"none",C=K("relative touch-pan-y bg-surface","select-none",ye({active:r||f})),_={transform:l!==0?`translateX(${l}px)`:void 0,transition:b===null?"transform 150ms ease":"none",minHeight:44},$=!s.isRead,I=i=>i.stopPropagation(),T=n?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:K("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:[$&&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(Ie,{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(Pe,{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:_,children:T})]})}function Qe({sections:s,selectedThreadId:n,selectionMode:r,checkedIds:f,initialPeek:m,onToggleCheck:g,onEnterSelection:y,onOpenThread:j,onRefresh:h,refreshing:p,busy:u=!1}){const[b,v]=x.useState(new Set),[P,k]=x.useState(new Map),w=s.flatMap(a=>a.threads).filter(a=>!b.has(a.id)).map(a=>{const l=P.get(a.id);return l===void 0?a:{...a,isRead:l}}),[S,R]=x.useState(m&&m!=="none"&&w[1]?{id:w[1].id,side:m}:null),E=(a,l)=>{if(l==="trailing")v(N=>new Set(N).add(a));else{const N=w.find(C=>C.id===a);k(C=>new Map(C).set(a,!N?.isRead))}R(null)};return e.jsxs("div",{className:"flex-1 overflow-y-auto",children:[p&&e.jsxs("div",{className:"flex items-center justify-center gap-2 border-b border-line py-3 text-fg-muted",children:[e.jsx(ze,{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:u?"pointer-events-none opacity-50":void 0,children:e.jsx(Be,{thread:a,selectionMode:r,checked:f.has(a.id),active:a.id===n,peek:S?.id===a.id?S.side:"none",onPeek:l=>R(l==="none"?null:{id:a.id,side:l}),onToggleCheck:()=>g(a.id),onLongPress:()=>y(a.id),onOpen:()=>j(a.id),onAct:l=>E(a.id,l)})},a.id))}),!r&&!p&&!u&&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 ss({listTitle:s,listMeta:n,sections:r,briefFilters:f,flatList:m,listState:g="ready",searchQuery:y,listFilter:j,listScopeLabel:h,errorMessage:p,onRetry:u,onReportError:b,briefFilter:v,selectedThreadId:P,density:k="comfortable",onSelectThread:w,onOpenNav:S,isDesktop:R,initialTouchState:E,selection:a,keyboard:l,selectionBar:N,paneOverlay:C,listBody:_,hideHeader:$=!1}){const I=k==="compact"?ke:Se,T=x.useRef(null),i=x.useRef(null),o=le(l);de({containerRef:T,itemSelector:U,enabled:!o});const d=o?l.focusedId:void 0,M=o?d??r[0]?.threads[0]?.id:void 0,z=x.useCallback(t=>M===void 0?void 0:t===M?0:-1,[M]);x.useEffect(()=>{if(d===void 0)return;const t=i.current;if(!t)return;const c=t.querySelector(`${U}[data-message-id="${d}"]`);!c||c===t.ownerDocument.activeElement||c.focus({preventScroll:!1})},[d]),x.useEffect(()=>{if(!o)return;const t=i.current;if(!t)return;const c=t.ownerDocument.activeElement;c!==null&&c!==t.ownerDocument.body||t.focus({preventScroll:!0})},[o]);const F=!R&&!f&&g==="ready",[H,W]=x.useState(!1),ee=E==="peek-trailing"?"trailing":E==="peek-leading"?"leading":void 0,se=()=>{W(!0),setTimeout(()=>W(!1),1400)},D=a?.selectedIds??We,L=a?.onToggle,Y=a?.onRowSelect,te=Ce(D.size,R),X=x.useCallback(t=>{if(L)return{checked:D.has(t),onToggle:c=>{c.preventDefault(),c.stopPropagation(),L(t)}}},[D,L]),B=x.useCallback((t,c)=>Y?.(t,Re(c))?(c.preventDefault(),c.shiftKey&&window.getSelection()?.removeAllRanges(),!0):!1,[Y]),ne=x.useCallback(({thread:t,active:c,onClick:Q})=>e.jsx(I,{thread:t,active:c,focused:t.id===d,tabIndex:z(t.id),selection:X(t.id),onClick:ae=>{B(t.id,ae)||Q?.()}}),[I,X,B,d,z]);return e.jsxs("section",{ref:t=>{i.current=t,l?.ref(t)},tabIndex:o?-1:void 0,className:"relative flex h-full w-full flex-col bg-surface outline-none",children:[N??($?null:e.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-2 border-b border-line px-row-inset",children:[S&&e.jsx(A,{variant:"ghost",size:"sm",icon:e.jsx(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(_e,{})}):g==="empty"?e.jsx(Te,{filter:j,scopeLabel:h,searchQuery:y}):g==="error"?e.jsx(Fe,{message:p,onRetry:u,onReport:b}):f?e.jsx(ue,{...v??{},sections:r,selectedThreadId:P,Row:ne,keyboard:l,onSelectThread:w}):_??(F?e.jsx(Qe,{sections:r,selectedThreadId:P,selectionMode:te,checkedIds:D,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===d,tabIndex:z(c.id),selection:X(c.id),onClick:Q=>{B(c.id,Q)||w?.(c.id)}},c.id))})]},t.id))})),R&&e.jsx(Me,{hints:l?je(l.handlers):ve}),C]})}var Ye=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",u=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:u,isFetchPreviousPageError:b,isFetchingPreviousPage:v,isRefetchError:j&&!p&&!b,isRefetching:g&&!u&&!v}}};function ts(s,n){return ge(s,Ye)}function ns({title:s,unreadCount:n,preset:r,selectedCategory:f,activeFilters:m,onSelectCategory:g,onToggleFilter:y,onSelectSource:j,onClearFilters:h,children:p,footer:u,searchResults:b,searchLoading:v,relatedResults:P,relatedLoading:k,onSelectSearchResult:w,searchResultsLabel:S,relatedResultsLabel:R,searchResultsInBody:E,refreshControl:a}){const{searchInput:l}=he(),N=l.trim().length>0,C={categories:r.categories,filters:r.filters,sources:r.sources,selectedCategory:f,activeFilters:m,onSelectCategory:g,onSelectSource:j,onToggleFilter:y,onClear:h};return e.jsx(pe,{hasSheet:!N,children:e.jsx(Ee,{title:s,unreadCount:n,footer:u,searchFilter:C,searchResults:b,searchLoading:v,relatedResults:P,relatedLoading:k,onSelectSearchResult:w,searchResultsLabel:S,relatedResultsLabel:R,searchResultsInBody:E,refreshControl:a,children:e.jsx(be,{...C,hideChrome:N,children:p})})})}export{es as M,Be as S,ss as a,ns as b,ts as u};
1
+ import{j as e,L as re,f as A,_ as ie,r as x,t as K,aA as oe,a2 as ce,dO as le,T as de,dP as U,dQ as ue,b_ as fe,dR as me,dS as xe,dT as ge,C as he,dU as pe,d9 as be}from"./index-DFOeerF8.js";import{m as ve,A as je}from"./search-token-index-BDWCdrDr.js";import{a8 as we,a9 as Ne,c as ye,a as G,aa as Pe,s as Ce,ab as Re,ac as ke,ad as Se,ae as Me,af as Ee}from"./MailListHeader-CqakXKgQ.js";import{A as Ie}from"./avatar-Byj273WX.js";import{M as Oe}from"./mail-DsDWCtRo.js";import{R as ze}from"./refresh-cw-DGtjV-Yn.js";import{M as Le}from"./menu-Bw1ZQNFp.js";function _e(){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(q,{children:[e.jsx("p",{className:"font-medium text-fg",children:$e(s.label,n,f)}),e.jsx("p",{className:"mt-1 text-sm text-fg-muted",children:De[s.reach]}),e.jsx(A,{variant:"secondary",size:"sm",className:"mt-4",onClick:s.onClear,children:"Clear filter"})]}):e.jsx(q,{children:e.jsx("p",{className:"text-fg-muted",children:Ae(f,n)})})}const De={"whole-folder":"Every message in this folder was checked.","loaded-pages":"Only the messages loaded so far were checked."};function Ae(s,n){return s?"No messages match your search":n?`No messages in ${n}`:"No messages in this mailbox"}function $e(s,n,r){return r?`No results for “${r}” in ${s}`:n?`No ${s} mail in ${n}`:`No ${s} mail`}function q({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 es(){return e.jsxs("div",{className:"flex items-center justify-center gap-2 py-4 text-sm text-fg-muted",role:"status","aria-live":"polite",children:[e.jsx(re,{className:"size-4 animate-spin","aria-hidden":"true"}),e.jsx("span",{children:"Loading more…"})]})}function Fe({message:s="Something went wrong loading this mailbox.",onRetry:n,onReport:r}){return e.jsx("div",{className:"flex h-full flex-1 items-center justify-center p-4",children:e.jsxs("div",{role:"alert",className:"flex max-w-sm flex-col items-center justify-center gap-3 text-center",children:[e.jsx(ie,{className:"size-8 text-danger","aria-hidden":"true"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-danger",children:"Couldn't load messages"}),e.jsx("p",{className:"mt-1 break-words text-sm text-fg-muted",children:s})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[n&&e.jsx(A,{variant:"secondary",size:"sm",onClick:n,children:"Retry"}),r&&e.jsx(A,{variant:"ghost",size:"sm",onClick:r,children:"Report a problem"})]})]})})}const O=72,V=10,He=O/2,J="__swipeableRowAxisCancel";function Z(s){return s==="leading"?O:s==="trailing"?-O:0}function Xe(s){return s>=O/2?"leading":s<=-O/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 u=x.useRef(null),[b,v]=x.useState(null),{longPressProps:P}=we({onLongPress:j,isDisabled:n,accessibilityDescription:"Select message"}),k=i=>{const o=new PointerEvent("pointercancel",{bubbles:!0});o[J]=!0,i.currentTarget.dispatchEvent(o)},a=Ne(P,{onPointerDown:i=>{u.current={startX:i.clientX,startY:i.clientY,axis:"none",escaped:!1}},onPointerMove:i=>{if(n)return;const o=u.current;if(!o)return;const d=i.clientX-o.startX,M=i.clientY-o.startY;if(o.axis==="none"&&(Math.abs(M)>V&&Math.abs(M)>Math.abs(d)?o.axis="vertical":Math.abs(d)>V&&Math.abs(d)>Math.abs(M)&&(o.axis="horizontal",i.currentTarget.setPointerCapture(i.pointerId))),o.axis==="none")return;const z=o.axis==="horizontal"?Math.abs(d):Math.abs(M);if(!o.escaped&&z>He&&(o.escaped=!0,k(i)),o.axis!=="horizontal")return;const F=Z(m),H=Math.max(-O,Math.min(O,F+d));v(H)},onPointerUp:i=>{const o=u.current;u.current=null;const d=b;if(v(null),!!o){if(o.axis!=="none"&&!o.escaped&&k(i),o.axis==="horizontal"){d!==null&&g(Xe(d));return}if(o.axis!=="vertical"){if(n){y();return}if(m!=="none"){g("none");return}h()}}},onPointerCancel:i=>{i.nativeEvent[J]||(u.current=null,v(null))}}),l=b??Z(m),N=l>0?"leading":l<0?"trailing":"none",C=K("relative touch-pan-y bg-surface","select-none",ye({active:r||f})),_={transform:l!==0?`translateX(${l}px)`:void 0,transition:b===null?"transform 150ms ease":"none",minHeight:44},$=!s.isRead,I=i=>i.stopPropagation(),T=n?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:K("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:[$&&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(Ie,{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(Pe,{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:_,children:T})]})}function Qe({sections:s,selectedThreadId:n,selectionMode:r,checkedIds:f,initialPeek:m,onToggleCheck:g,onEnterSelection:y,onOpenThread:j,onRefresh:h,refreshing:p,busy:u=!1}){const[b,v]=x.useState(new Set),[P,k]=x.useState(new Map),w=s.flatMap(a=>a.threads).filter(a=>!b.has(a.id)).map(a=>{const l=P.get(a.id);return l===void 0?a:{...a,isRead:l}}),[S,R]=x.useState(m&&m!=="none"&&w[1]?{id:w[1].id,side:m}:null),E=(a,l)=>{if(l==="trailing")v(N=>new Set(N).add(a));else{const N=w.find(C=>C.id===a);k(C=>new Map(C).set(a,!N?.isRead))}R(null)};return e.jsxs("div",{className:"flex-1 overflow-y-auto",children:[p&&e.jsxs("div",{className:"flex items-center justify-center gap-2 border-b border-line py-3 text-fg-muted",children:[e.jsx(ze,{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:u?"pointer-events-none opacity-50":void 0,children:e.jsx(Be,{thread:a,selectionMode:r,checked:f.has(a.id),active:a.id===n,peek:S?.id===a.id?S.side:"none",onPeek:l=>R(l==="none"?null:{id:a.id,side:l}),onToggleCheck:()=>g(a.id),onLongPress:()=>y(a.id),onOpen:()=>j(a.id),onAct:l=>E(a.id,l)})},a.id))}),!r&&!p&&!u&&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 ss({listTitle:s,listMeta:n,sections:r,briefFilters:f,flatList:m,listState:g="ready",searchQuery:y,listFilter:j,listScopeLabel:h,errorMessage:p,onRetry:u,onReportError:b,briefFilter:v,selectedThreadId:P,density:k="comfortable",onSelectThread:w,onOpenNav:S,isDesktop:R,initialTouchState:E,selection:a,keyboard:l,selectionBar:N,paneOverlay:C,listBody:_,hideHeader:$=!1}){const I=k==="compact"?ke:Se,T=x.useRef(null),i=x.useRef(null),o=le(l);de({containerRef:T,itemSelector:U,enabled:!o});const d=o?l.focusedId:void 0,M=o?d??r[0]?.threads[0]?.id:void 0,z=x.useCallback(t=>M===void 0?void 0:t===M?0:-1,[M]);x.useEffect(()=>{if(d===void 0)return;const t=i.current;if(!t)return;const c=t.querySelector(`${U}[data-message-id="${d}"]`);!c||c===t.ownerDocument.activeElement||c.focus({preventScroll:!1})},[d]),x.useEffect(()=>{if(!o)return;const t=i.current;if(!t)return;const c=t.ownerDocument.activeElement;c!==null&&c!==t.ownerDocument.body||t.focus({preventScroll:!0})},[o]);const F=!R&&!f&&g==="ready",[H,W]=x.useState(!1),ee=E==="peek-trailing"?"trailing":E==="peek-leading"?"leading":void 0,se=()=>{W(!0),setTimeout(()=>W(!1),1400)},D=a?.selectedIds??We,L=a?.onToggle,Y=a?.onRowSelect,te=Ce(D.size,R),X=x.useCallback(t=>{if(L)return{checked:D.has(t),onToggle:c=>{c.preventDefault(),c.stopPropagation(),L(t)}}},[D,L]),B=x.useCallback((t,c)=>Y?.(t,Re(c))?(c.preventDefault(),c.shiftKey&&window.getSelection()?.removeAllRanges(),!0):!1,[Y]),ne=x.useCallback(({thread:t,active:c,onClick:Q})=>e.jsx(I,{thread:t,active:c,focused:t.id===d,tabIndex:z(t.id),selection:X(t.id),onClick:ae=>{B(t.id,ae)||Q?.()}}),[I,X,B,d,z]);return e.jsxs("section",{ref:t=>{i.current=t,l?.ref(t)},tabIndex:o?-1:void 0,className:"relative flex h-full w-full flex-col bg-surface outline-none",children:[N??($?null:e.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-2 border-b border-line px-row-inset",children:[S&&e.jsx(A,{variant:"ghost",size:"sm",icon:e.jsx(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(_e,{})}):g==="empty"?e.jsx(Te,{filter:j,scopeLabel:h,searchQuery:y}):g==="error"?e.jsx(Fe,{message:p,onRetry:u,onReport:b}):f?e.jsx(ue,{...v??{},sections:r,selectedThreadId:P,Row:ne,keyboard:l,onSelectThread:w}):_??(F?e.jsx(Qe,{sections:r,selectedThreadId:P,selectionMode:te,checkedIds:D,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===d,tabIndex:z(c.id),selection:X(c.id),onClick:Q=>{B(c.id,Q)||w?.(c.id)}},c.id))})]},t.id))})),R&&e.jsx(Me,{hints:l?je(l.handlers):ve}),C]})}var Ye=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",u=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:u,isFetchPreviousPageError:b,isFetchingPreviousPage:v,isRefetchError:j&&!p&&!b,isRefetching:g&&!u&&!v}}};function ts(s,n){return ge(s,Ye)}function ns({title:s,unreadCount:n,preset:r,selectedCategory:f,activeFilters:m,onSelectCategory:g,onToggleFilter:y,onSelectSource:j,onClearFilters:h,children:p,footer:u,searchResults:b,searchLoading:v,relatedResults:P,relatedLoading:k,onSelectSearchResult:w,searchResultsLabel:S,relatedResultsLabel:R,searchResultsInBody:E,refreshControl:a}){const{searchInput:l}=he(),N=l.trim().length>0,C={categories:r.categories,filters:r.filters,sources:r.sources,selectedCategory:f,activeFilters:m,onSelectCategory:g,onSelectSource:j,onToggleFilter:y,onClear:h};return e.jsx(pe,{hasSheet:!N,children:e.jsx(Ee,{title:s,unreadCount:n,footer:u,searchFilter:C,searchResults:b,searchLoading:v,relatedResults:P,relatedLoading:k,onSelectSearchResult:w,searchResultsLabel:S,relatedResultsLabel:R,searchResultsInBody:E,refreshControl:a,children:e.jsx(be,{...C,hideChrome:N,children:p})})})}export{es as M,Be as S,ss as a,ns as b,ts as u};