@remit/web-client-dist 0.0.642 → 0.0.644
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/BriefPane-CWpjvftR.js +1 -0
- package/assets/{CalendarComposePane-CaFfehJ3.js → CalendarComposePane-DJNhu2LK.js} +1 -1
- package/assets/{CalendarComposeSeed-Qwwu-xz8.js → CalendarComposeSeed-SL4UWmtL.js} +1 -1
- package/assets/{CalendarShell-DdBSP0nU.js → CalendarShell-DAe5WXuU.js} +1 -1
- package/assets/{EmptyState-DffMrivH.js → EmptyState-5AzHvbUg.js} +1 -1
- package/assets/{ErrorState-zb46wwqB.js → ErrorState-C9wNWNx-.js} +1 -1
- package/assets/FlaggedPane-CzACUDwI.js +1 -0
- package/assets/{FullCompose-CtKaGlct.js → FullCompose-EZk91vKc.js} +1 -1
- package/assets/MailListHeader-KM5hxzzQ.js +7 -0
- package/assets/{MailNav-CDMm535x.js → MailNav-BvsTwsus.js} +1 -1
- package/assets/{MailShell-C6XAYw9R.js → MailShell-CO4UHszY.js} +1 -1
- package/assets/{MailViewChrome-BcPAwjzq.js → MailViewChrome-D0DIIe1s.js} +1 -1
- package/assets/{MailboxPane-Bo_304LU.js → MailboxPane-CSXmclwC.js} +1 -1
- package/assets/{NavMenuButton-C7p7FLnh.js → NavMenuButton-DipQuqqU.js} +1 -1
- package/assets/{OnboardingWizard-D15SDpIN.js → OnboardingWizard-DLthp-gp.js} +1 -1
- package/assets/{OpenCalendarEvent-CVHpXp5y.js → OpenCalendarEvent-DdZ8T5JX.js} +2 -2
- package/assets/{OutboxPane-k7EI73dP.js → OutboxPane-BQ2C8Exq.js} +1 -1
- package/assets/_calendarObjectId-Bmm-aQm4.js +1 -0
- package/assets/_mailboxId-BSG_TwdK.js +1 -0
- package/assets/_messageId-BdBHeA_W.js +1 -0
- package/assets/_messageId-DPyP0hLB.js +1 -0
- package/assets/_messageId-zXtGiOsw.js +1 -0
- package/assets/_outboxMessageId-DI-yjQl-.js +1 -0
- package/assets/_recurrenceId-xeHK4wQN.js +1 -0
- package/assets/_threadId-BWNiD5_L.js +1 -0
- package/assets/_threadId-BYme1h9o.js +1 -0
- package/assets/_threadId-BkVElb5l.js +1 -0
- package/assets/{_view._date-BjTcS5dY.js → _view._date-DhatDbEl.js} +1 -1
- package/assets/{accounts-BKh6zOiZ.js → accounts-DD5lbrRg.js} +1 -1
- package/assets/{advanced-AosgdV6N.js → advanced-Di1sbe8-.js} +1 -1
- package/assets/{appearance-lDYvlXFT.js → appearance-CuPQNqbK.js} +1 -1
- package/assets/{attendee-row-CNSd4msf.js → attendee-row-COD-JhkD.js} +1 -1
- package/assets/{avatar-BU2Acypp.js → avatar-BG16DP0I.js} +1 -1
- package/assets/{bell-off-BDdZq1id.js → bell-off-BJ8oYylk.js} +1 -1
- package/assets/{bottom-sheet-OT_uLnD0.js → bottom-sheet-CXKnmLHB.js} +1 -1
- package/assets/brief-DBfWEKXi.js +1 -0
- package/assets/{brief-B3LHy3XK.js → brief-QIMUKa1x.js} +1 -1
- package/assets/{browser-ponyfill-BoSoM_yw.js → browser-ponyfill-yqX8DQOe.js} +2 -2
- package/assets/{bug-Byoam9SI.js → bug-my1LBhjO.js} +1 -1
- package/assets/{calendar-BNN6Blwg.js → calendar-BKm9jIHX.js} +1 -1
- package/assets/{calendar-clash-strip-CuPoAcuA.js → calendar-clash-strip-BFeaJEFd.js} +1 -1
- package/assets/{calendar-format-t5pknBPH.js → calendar-format-Df04vYeX.js} +1 -1
- package/assets/{calendar-report-De_YSbMS.js → calendar-report-cFSv6gSl.js} +1 -1
- package/assets/calendar-suggestion-BOcnceiU.js +1 -0
- package/assets/{calendars-EiEYrDmO.js → calendars-C2NvDUee.js} +1 -1
- package/assets/{card-BU0ZWUHk.js → card-Cvm6QXrr.js} +1 -1
- package/assets/{checkbox-nuTXvB_z.js → checkbox-CnlRLXiS.js} +1 -1
- package/assets/chevron-left-B_-IAj1P.js +1 -0
- package/assets/{circle-check-BzcaYx-L.js → circle-check-CmDRPJ4x.js} +1 -1
- package/assets/{circle-check-big-CdWGb9Cq.js → circle-check-big-ZWmAdG5O.js} +1 -1
- package/assets/{circle-help-CVsjKp3b.js → circle-help-xoO8qyO7.js} +1 -1
- package/assets/{clock-qn7JbMhU.js → clock-Bkjyx82e.js} +1 -1
- package/assets/compose._-_outboxMessageId_-BRWb_gzB.js +1 -0
- package/assets/compose._-_outboxMessageId_-D-8v_F-x.js +1 -0
- package/assets/compose._-_outboxMessageId_-D54zCsk7.js +1 -0
- package/assets/compose._-_outboxMessageId_-DlyKxAyJ.js +1 -0
- package/assets/{config-import-DhjQZV7D.js → config-import-D_1i4Wai.js} +1 -1
- package/assets/{confirm-dialog-C4B2Czhl.js → confirm-dialog-D8E0auet.js} +1 -1
- package/assets/{copy-CJCBL3_e.js → copy-Cz51csqc.js} +1 -1
- package/assets/{credential-steps-BMJ8NHk-.js → credential-steps-Cm_vhM0c.js} +1 -1
- package/assets/{download-DG45yTbq.js → download-2vcTam8D.js} +1 -1
- package/assets/{file-json-Dgau07u1.js → file-json-Wb3Oc2-o.js} +1 -1
- package/assets/{filters-BAGXXGHm.js → filters-C2qWze-2.js} +1 -1
- package/assets/flagged-BIby7mOe.js +1 -0
- package/assets/{flagged-H7_oalgM.js → flagged-DSaiUTNf.js} +1 -1
- package/assets/{folders-BpqgnDKx.js → folders-B-31lHew.js} +1 -1
- package/assets/{help-copy-Cv-E-JTH.js → help-copy-yEiBqFt2.js} +1 -1
- package/assets/{import-Br9u2yf5.js → import-I5hFVfa3.js} +1 -1
- package/assets/index--G6_bbnZ.js +1 -0
- package/assets/{index-DQOjICLF.js → index-BZT8HZ--.js} +1 -1
- package/assets/index-BdBHeA_W.js +1 -0
- package/assets/index-BswNQxjJ.js +1 -0
- package/assets/{index-DDaQbjmr.js → index-CVyiXes6.js} +11 -11
- package/assets/index-CeBLFOSc.js +1 -0
- package/assets/index-ChJF8JuK.js +1 -0
- package/assets/index-Ct3c_-_h.js +1 -0
- package/assets/index-Cu0O7J1a.js +1 -0
- package/assets/index-DVEw13Tk.js +1 -0
- package/assets/{index-TtetXNmc.js → index-DYY0nrsl.js} +4 -4
- package/assets/index-zXtGiOsw.js +1 -0
- package/assets/{kbd-nBPX_mdB.js → kbd-BAzd-ZzK.js} +1 -1
- package/assets/{labels-DZRbAx-h.js → labels-D5anCXRT.js} +1 -1
- package/assets/{mail-xh-X6l34.js → mail-3L2_JePI.js} +1 -1
- package/assets/{mail-CWorRVye.js → mail-7SgAUbqy.js} +1 -1
- package/assets/{map-pin-DXPKFmKy.js → map-pin-C_G0KnPH.js} +1 -1
- package/assets/{menu-DziguOgy.js → menu-Diz2jlXK.js} +1 -1
- package/assets/minus-D5h1w2Lk.js +1 -0
- package/assets/{new-BErOQscw.js → new-CcPLKlc0.js} +1 -1
- package/assets/{onboarding-completion-Bvjs_wV7.js → onboarding-completion-BgX6tyKE.js} +1 -1
- package/assets/onboarding-kI2wRexG.js +1 -0
- package/assets/outbox-C60Ip38a.js +1 -0
- package/assets/{pane-header-BKR2Qgp4.js → pane-header-CaA1aTlU.js} +1 -1
- package/assets/{pencil-C_GgIxQ0.js → pencil-TKs_c6Iw.js} +1 -1
- package/assets/{popover-menu-eOwDgIAD.js → popover-menu-Bmzk7h6e.js} +1 -1
- package/assets/{refresh-cw-mlDi8LTp.js → refresh-cw-og-Ybvo3.js} +1 -1
- package/assets/{rich-text-BwY3htQf.js → rich-text-CHZBDrnR.js} +1 -1
- package/assets/{rich-text-spellcheck-worker-provider-CxrExxo5.js → rich-text-spellcheck-worker-provider-BllEMU79.js} +1 -1
- package/assets/{rotate-ccw-B_znez6Z.js → rotate-ccw-FAgCjZMZ.js} +1 -1
- package/assets/{roving-focus-D45YIEXp.js → roving-focus-DYnDzdRR.js} +1 -1
- package/assets/{row-actions-Bz2BO_Of.js → row-actions-DFIk5ZFA.js} +1 -1
- package/assets/{search-mirror-IklPpsgd.js → search-mirror-By7sgEWK.js} +1 -1
- package/assets/{search-token-index-DfEguIzE.js → search-token-index-CDtHdqiP.js} +1 -1
- package/assets/{sections-BE-YkTuC.js → sections-D-n9QfX4.js} +1 -1
- package/assets/{senders-Byg0IyG1.js → senders-D4sO52ZM.js} +1 -1
- package/assets/settings-BGp6tn2L.js +1 -0
- package/assets/{settings-screen-Qy0Wa0pr.js → settings-screen-DvNcGJK6.js} +1 -1
- package/assets/{shield-check-CCP0KBaU.js → shield-check-8L17Kh_I.js} +1 -1
- package/assets/{suggested-vips-Cy_wCFhG.js → suggested-vips-Q_s_mJiL.js} +1 -1
- package/assets/{suggestion._suggestionId-BaL7q4AC.js → suggestion._suggestionId-BAj90-2v.js} +1 -1
- package/assets/{undo-2-DBjV60-m.js → undo-2-BSHTchh1.js} +1 -1
- package/assets/{useCalendarData-TdBIWROH.js → useCalendarData-emMg6If8.js} +1 -1
- package/assets/{useCalendarFreeBusy-BCLJxOfD.js → useCalendarFreeBusy-oamX9h5O.js} +1 -1
- package/assets/{useCalendarWrites-CcZJoofA.js → useCalendarWrites-B6o3xQNN.js} +1 -1
- package/assets/{useCalendars-NXobBPn1.js → useCalendars-CzwJUnpW.js} +1 -1
- package/assets/{useDebouncedValue-Dy_g2v71.js → useDebouncedValue-3uXEWBzO.js} +1 -1
- package/assets/{useFilters-Dsrj-I6z.js → useFilters-D5DypOXB.js} +1 -1
- package/assets/{useLabels--WOniDuk.js → useLabels-CEOAQRXe.js} +1 -1
- package/assets/{useLayoutTier-BnLysTvl.js → useLayoutTier-BLBwlToe.js} +1 -1
- package/assets/{useMessageBodyContent-Azq1Bngf.js → useMessageBodyContent-Bq-24837.js} +1 -1
- package/assets/{useQueries-D1STUKB_.js → useQueries-CqQkOWRS.js} +1 -1
- package/assets/{useRefreshControl-CQDCO_Sz.js → useRefreshControl-URETybK8.js} +1 -1
- package/assets/{useResultFolderIndex-TIwJLY0y.js → useResultFolderIndex-DgIMhZlz.js} +1 -1
- package/assets/{useSearchTokenContext-DjY64Paa.js → useSearchTokenContext-V_0MB9r5.js} +1 -1
- package/assets/{useSemanticSearch-NH8DKMle.js → useSemanticSearch-CzayQYky.js} +1 -1
- package/assets/{useSignature-DbI73u9N.js → useSignature-BraM8Nn7.js} +1 -1
- package/index.html +1 -1
- package/package.json +1 -1
- package/assets/BriefPane-DTu07n2X.js +0 -1
- package/assets/FlaggedPane-StYE07Pk.js +0 -1
- package/assets/MailListHeader-DMMl8ZLg.js +0 -7
- package/assets/_calendarObjectId-BmWKOwZU.js +0 -1
- package/assets/_mailboxId-C5oOoR9Y.js +0 -1
- package/assets/_messageId-BQu6o3gE.js +0 -1
- package/assets/_messageId-CUK6OwnE.js +0 -1
- package/assets/_messageId-DiKCBlFd.js +0 -1
- package/assets/_outboxMessageId-BLqK1FUW.js +0 -1
- package/assets/_recurrenceId-CTMy5M6x.js +0 -1
- package/assets/_threadId-BQ2ENDxN.js +0 -1
- package/assets/_threadId-B_-kfUCd.js +0 -1
- package/assets/_threadId-CRbs6xQJ.js +0 -1
- package/assets/brief-DfHqHUx0.js +0 -1
- package/assets/calendar-suggestion-BrsagLDp.js +0 -1
- package/assets/chevron-left-BmceVyuQ.js +0 -1
- package/assets/compose._-_outboxMessageId_-CTOa6VlX.js +0 -1
- package/assets/compose._-_outboxMessageId_-DX18bVb7.js +0 -1
- package/assets/compose._-_outboxMessageId_-Drm1AU0Y.js +0 -1
- package/assets/compose._-_outboxMessageId_-SBimViM1.js +0 -1
- package/assets/flagged-BG7vNsSo.js +0 -1
- package/assets/index-BAIv4ARz.js +0 -1
- package/assets/index-BD8lc3NR.js +0 -1
- package/assets/index-BQu6o3gE.js +0 -1
- package/assets/index-BsPhXbkV.js +0 -1
- package/assets/index-COeV6qmo.js +0 -1
- package/assets/index-CXwf_sz5.js +0 -1
- package/assets/index-D-2HKiNE.js +0 -1
- package/assets/index-DiKCBlFd.js +0 -1
- package/assets/index-DwXDHT3g.js +0 -1
- package/assets/minus-RD6yC1uS.js +0 -1
- package/assets/onboarding-DJEkQ9iZ.js +0 -1
- package/assets/outbox-CobBj7od.js +0 -1
- package/assets/settings-EmCICmfl.js +0 -1
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{as as $s,d8 as _r,r as c,e as de,j as s,_ as Ke,$ as Ps,L as na,t as D,a0 as Ur,g as Ce,d9 as Br,da as aa,db as ra,dc as Wt,a7 as Kr,f as q,X as Xe,a3 as vt,aB as Gt,Y as Hr,b9 as qr,d7 as Vt,dd as oa,Z as et,de as Qr,df as Wr,dg as Gr,W as Ze,dh as ia,bJ as Ds,di as Vr,bs as Yr,dj as Jr,dk as Xr,dl as la,aM as Zr,dm as eo,B as ca,dn as to,dp as so,dq as no,dr as ao,ds as ro,dt as oo,w as io,cH as da,d4 as ua,c as se,d as tt,K as yt,du as lo,dv as co,dw as Yt,h as pe,at as ve,i as ge,E as Re,F as Ee,Q as kt,cy as Me,dx as Jt,dy as pt,aJ as uo,dz as jt,dA as Ae,dB as Ct,dC as wt,dD as Nt,dE as fo,dF as mo,dG as rn,cF as po,s as fa,dH as ho,dI as go,dJ as xo,b6 as bo,cp as vo,G as Xt,c_ as ma,c$ as yo,dK as ko,bq as Fs,bt as pa,bn as ha,bu as ga,bv as xa,bw as jo,dL as Co,ab as ba,cO as wo,dM as ht,dN as No,aH as So,aI as Io,dO as To,bf as va,dP as Ro,dQ as ya,dR as Eo,H as ka,bR as Os,dS as Mo,cQ as st,dT as on,dU as ja,bT as Ao,dV as ms,dW as Lo,bS as $o,S as Po,q as Do,ah as Ca,J as Fo,dX as Oo,dY as zo,dZ as _o,d3 as ln,bD as Uo,d_ as Bo,d$ as Ko,av as Ho,cS as qo,d1 as Qo,e0 as Wo,ai as Go,d2 as Vo,e1 as Yo,e2 as Jo,e3 as Xo,e4 as Zo,C as St,e5 as ei,e6 as ti,e7 as cn,e8 as si,e9 as ni,ea as ai,eb as ri,v as wa,d6 as oi,ec as zs,ed as ii,ee as li,cq as ci,cn as di,ef as ui,bU as fi,eg as Na,cr as mi}from"./index-DDaQbjmr.js";import{u as pi,L as hi,a as gi}from"./roving-focus-D45YIEXp.js";import{j as xi,S as Sa,f as bi,a as vi,t as dt,c as yi,k as ki,l as ji,m as Ci,u as wi}from"./search-token-index-DfEguIzE.js";import{K as Ni}from"./kbd-nBPX_mdB.js";import{c as Ia,P as Si,E as Ii}from"./popover-menu-eOwDgIAD.js";import{M as Ti}from"./mail-xh-X6l34.js";import{A as gt}from"./avatar-BU2Acypp.js";import{M as Ri,a as Ei,b as Ta,c as Mi,s as Ra,d as Ea,e as Ai,f as Li,S as dn,g as Ma,u as Aa,p as $i,r as Pi}from"./useSearchTokenContext-DjY64Paa.js";import{P as Zt,f as Di,C as Fi,D as Ve,s as Oi,a as zi,e as un,b as _i,c as Ui,d as Bi,g as fn,i as Ki,u as Hi}from"./index-TtetXNmc.js";import{E as La}from"./EmptyState-DffMrivH.js";import{E as Be}from"./ErrorState-zb46wwqB.js";import{U as qi}from"./undo-2-DBjV60-m.js";import{D as Qi}from"./download-DG45yTbq.js";import{s as Wi,b as Gi,Z as Vi,E as Yi,C as Ji,e as Xi,u as Zi,d as el}from"./useCalendarFreeBusy-BCLJxOfD.js";import{C as Cs,m as tl,j as sl,n as nl,o as mn,k as pn,p as al,s as hn,q as rl,v as ol,t as il,x as ll}from"./calendar-suggestion-BrsagLDp.js";import{c as cl,t as dl,v as ul,x as fl,y as ml,z as gn}from"./calendar-format-t5pknBPH.js";import{R as pl}from"./attendee-row-CNSd4msf.js";import{C as hl}from"./calendar-clash-strip-CuPoAcuA.js";import{C as $a}from"./clock-qn7JbMhU.js";import{M as gl}from"./map-pin-DXPKFmKy.js";import{B as Pa}from"./bell-off-BDdZq1id.js";import{S as xl,C as Da}from"./shield-check-CCP0KBaU.js";import{u as bl,a as vl,i as yl,t as kl,d as jl,r as Cl}from"./useCalendars-NXobBPn1.js";import{c as wl}from"./calendar-report-De_YSbMS.js";import{u as Fa}from"./useDebouncedValue-Dy_g2v71.js";import{j as xn,u as Nl,a as Sl,k as Il,n as Tl,o as Rl,l as El,m as Ml,S as Al}from"./useFilters-Dsrj-I6z.js";import{u as _s}from"./useQueries-D1STUKB_.js";import{C as Ll}from"./checkbox-nuTXvB_z.js";import{C as Pt}from"./confirm-dialog-C4B2Czhl.js";import{u as $l,i as Pl}from"./useLayoutTier-BnLysTvl.js";import{r as Dl,a as Fl}from"./search-scope-B5-OK3Cq.js";import{M as Ol}from"./menu-DziguOgy.js";function xt(e){if(zl())e.focus({preventScroll:!0});else{let t=_l(e);e.focus(),Ul(t)}}let Dt=null;function zl(){if(Dt==null){Dt=!1;try{document.createElement("div").focus({get preventScroll(){return Dt=!0,!0}})}catch{}}return Dt}function _l(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 Ul(e){for(let{element:t,scrollTop:n,scrollLeft:a}of e)t.scrollTop=n,t.scrollLeft=a}const Ie=e=>e?.ownerDocument??document,Te=e=>e&&"window"in e&&e.window===e?e:Ie(e).defaultView||window;function Bl(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function Kl(e){return Bl(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}let Hl=!1;function Oa(){return Hl}function xe(e,t){if(!Oa())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:Kl(n)?n=n.host:n=n.parentNode}return!1}function ae(e){if(Oa()&&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 ql=typeof Element<"u"&&"checkVisibility"in Element.prototype;function Ql(e){const t=Te(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}=Te(e);let{display:i,visibility:l}=o(e);r=i!=="none"&&l!=="hidden"&&l!=="collapse"}return r}function Wl(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 za(e,t){return ql?e.checkVisibility({visibilityProperty:!0})&&!e.closest("[data-react-aria-prevent-focus]"):e.nodeName!=="#comment"&&Ql(e)&&Wl(e,t)&&(!e.parentElement||za(e.parentElement,e))}const _a=["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"],Gl=_a.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";_a.push('[tabindex]:not([tabindex="-1"]):not([disabled])');function Vl(e,t){return e.matches(Gl)&&!Yl(e)&&(t?.skipVisibilityCheck||za(e))}function Yl(e){let t=e;for(;t!=null;){if(t instanceof Te(t).HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}const Us=typeof document<"u"?$s.useLayoutEffect:()=>{};function Jl(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function Xl(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function Zl(e){for(;e&&!Vl(e,{skipVisibilityCheck:!0});)e=e.parentElement;let t=Te(e),n=t.document.activeElement;if(!n||n===e)return;let a=!1,r=h=>{(ae(h)===n||a)&&h.stopImmediatePropagation()},o=h=>{(ae(h)===n||a)&&(h.stopImmediatePropagation(),!e&&!a&&(a=!0,xt(n),d()))},i=h=>{(ae(h)===e||a)&&h.stopImmediatePropagation()},l=h=>{(ae(h)===e||a)&&(h.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(b),t.removeEventListener("blur",r,!0),t.removeEventListener("focusout",o,!0),t.removeEventListener("focusin",l,!0),t.removeEventListener("focus",i,!0),a=!1},b=requestAnimationFrame(d);return d}function es(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 Bs(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.userAgentData?.platform||window.navigator.platform):!1}function Le(e){let t=null;return()=>(t==null&&(t=e()),t)}const Kt=Le(function(){return Bs(/^Mac/i)}),ec=Le(function(){return Bs(/^iPhone/i)}),Ua=Le(function(){return Bs(/^iPad/i)||Kt()&&navigator.maxTouchPoints>1}),Ba=Le(function(){return ec()||Ua()}),tc=Le(function(){return es(/AppleWebKit/i)&&!sc()}),sc=Le(function(){return es(/Chrome/i)}),Ka=Le(function(){return es(/Android/i)}),nc=Le(function(){return es(/Firefox/i)});function ac(e){return e.pointerType===""&&e.isTrusted?!0:Ka()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function rc(e){return!Ka()&&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;nc()&&window.event?.type?.startsWith("key")&&e.target==="_blank"&&(Kt()?a=!0:r=!0);let l=tc()&&Kt()&&!Ua()?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 Se=new Map,ws=new Set;function bn(){if(typeof window>"u")return;function e(a){return"propertyName"in a}let t=a=>{let r=ae(a);if(!e(a)||!r)return;let o=Se.get(r);o||(o=new Set,Se.set(r,o),r.addEventListener("transitioncancel",n,{once:!0})),o.add(a.propertyName)},n=a=>{let r=ae(a);if(!e(a)||!r)return;let o=Se.get(r);if(o&&(o.delete(a.propertyName),o.size===0&&(r.removeEventListener("transitioncancel",n),Se.delete(r)),Se.size===0)){for(let i of ws)i();ws.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",n)}typeof document<"u"&&(document.readyState!=="loading"?bn():document.addEventListener("DOMContentLoaded",bn));function oc(){for(const[e]of Se)"isConnected"in e&&!e.isConnected&&Se.delete(e)}function ic(e){requestAnimationFrame(()=>{oc(),Se.size===0?e():ws.add(e)})}function Ha(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}let Ns=new Map;typeof FinalizationRegistry<"u"&&new FinalizationRegistry(e=>{Ns.delete(e)});function lc(e,t){if(e===t)return e;let n=Ns.get(e);if(n)return n.forEach(r=>r.current=t),t;let a=Ns.get(t);return a?(a.forEach(r=>r.current=e),e):t}function cc(...e){return e.length===1&&e[0]?e[0]:t=>{let n=!1;const a=e.map(r=>{const o=vn(r,t);return n||=typeof o=="function",o});if(n)return()=>{a.forEach((r,o)=>{typeof r=="function"?r():vn(e[o],null)})}}}function vn(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function It(...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]=Ha(o,i):(r==="className"||r==="UNSAFE_className")&&typeof o=="string"&&typeof i=="string"?t[r]=_r(o,i):r==="id"&&o&&i?t.id=lc(o,i):r==="ref"&&o&&i?t.ref=cc(o,i):t[r]=i!==void 0?i:o}}return t}function dc(e,t){Us(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}const uc=$s.useInsertionEffect??Us;function ps(e){const t=c.useRef(null);return uc(()=>{t.current=e},[e]),c.useCallback((...n)=>{const a=t.current;return a?.(...n)},[])}let Ye="default",Ss="",Bt=new WeakMap;function fc(e){if(Ba()){if(Ye==="default"){const t=Ie(e);Ss=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}Ye="disabled"}else if(e instanceof HTMLElement||e instanceof SVGElement){let t="userSelect"in e.style?"userSelect":"webkitUserSelect";Bt.set(e,e.style[t]),e.style[t]="none"}}function yn(e){if(Ba()){if(Ye!=="disabled")return;Ye="restoring",setTimeout(()=>{ic(()=>{if(Ye==="restoring"){const t=Ie(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=Ss||""),Ss="",Ye="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&Bt.has(e)){let t=Bt.get(e),n="userSelect"in e.style?"userSelect":"webkitUserSelect";e.style[n]==="none"&&(e.style[n]=t),e.getAttribute("style")===""&&e.removeAttribute("style"),Bt.delete(e)}}function kn(e){return e?.defaultView?.__webpack_nonce__||globalThis.__webpack_nonce__||void 0}let hs=new WeakMap;function mc(e){let t=e??(typeof document<"u"?document:void 0);if(!t)return kn(t);if(hs.has(t))return hs.get(t);let n=t.querySelector('meta[property="csp-nonce"]'),a=n&&n instanceof Te(n).HTMLMetaElement&&(n.nonce||n.content)||kn(t)||void 0;return a!==void 0&&hs.set(t,a),a}const qa=$s.createContext({register:()=>{}});qa.displayName="PressResponderContext";function Qa(){let e=c.useRef(new Map),t=c.useCallback((r,o,i,l)=>{let d=l?.once?(...b)=>{e.current.delete(i),i(...b)}: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 pc(e){let t=c.useContext(qa);if(t){let{register:n,ref:a,...r}=t;e=It(r,e),n()}return dc(t,e.ref),e}class Ft{#e;constructor(t,n,a,r){this.#e=!0;const i=(r?.target??a.currentTarget)?.getBoundingClientRect();let l,d=0,b,h=null;a.clientX!=null&&a.clientY!=null&&(b=a.clientX,h=a.clientY),i&&(b!=null&&h!=null?(l=b-i.left,d=h-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 jn=Symbol("linkClicked"),Cn="react-aria-pressable-style",wn="data-react-aria-pressable";function hc(e){let{onPress:t,onPressChange:n,onPressStart:a,onPressEnd:r,onPressUp:o,onClick:i,isDisabled:l,isPressed:d,preventFocusOnPress:b,shouldCancelOnPointerExit:h,allowTextSelectionOnPress:y,ref:f,...v}=pc(e),[p,m]=c.useState(!1),u=c.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null,disposables:[]}),{addGlobalListener:g,removeAllGlobalListeners:j}=Qa(),x=c.useCallback((C,A)=>{let $=u.current;if(l||$.didFirePressStart)return!1;let w=!0;if($.isTriggeringEvent=!0,a){let P=new Ft("pressstart",A,C);a(P),w=P.shouldStopPropagation}return n&&n(!0),$.isTriggeringEvent=!1,$.didFirePressStart=!0,m(!0),w},[l,a,n]),k=c.useCallback((C,A,$=!0)=>{let w=u.current;if(!w.didFirePressStart)return!1;w.didFirePressStart=!1,w.isTriggeringEvent=!0;let P=!0;if(r){let N=new Ft("pressend",A,C);r(N),P=N.shouldStopPropagation}if(n&&n(!1),m(!1),t&&$&&!l){let N=new Ft("press",A,C);t(N),P&&=N.shouldStopPropagation}return w.isTriggeringEvent=!1,P},[l,r,n,t]),S=ps(k),R=c.useCallback((C,A)=>{let $=u.current;if(l)return!1;if(o){$.isTriggeringEvent=!0;let w=new Ft("pressup",A,C);return o(w),$.isTriggeringEvent=!1,w.shouldStopPropagation}return!0},[l,o]),T=ps(R),M=c.useCallback(C=>{let A=u.current;if(A.isPressed&&A.target){A.didFirePressStart&&A.pointerType!=null&&k(Ue(A.target,C),A.pointerType,!1),A.isPressed=!1,A.isOverTarget=!1,A.activePointerId=null,A.pointerType=null,j(),y||yn(A.target);for(let $ of A.disposables)$();A.disposables=[]}},[y,j,k]),I=ps(M);c.useEffect(()=>{l&&u.current.isPressed&&I({currentTarget:u.current.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})},[l]);let F=c.useCallback(C=>{h&&M(C)},[h,M]),L=c.useCallback(C=>{l||i?.(C)},[l,i]),H=c.useCallback((C,A)=>{if(!l&&i){let $=new MouseEvent("click",C);Xl($,A),i(Jl($))}},[l,i]),U=c.useMemo(()=>{let C=u.current,A={onKeyDown(w){if(gs(w.nativeEvent,w.currentTarget)&&xe(w.currentTarget,ae(w))){Nn(ae(w),w.key)&&w.preventDefault();let P=!0;!C.isPressed&&!w.repeat&&(C.target=w.currentTarget,C.isPressed=!0,C.pointerType="keyboard",P=x(w,"keyboard"));let N=w.currentTarget,K=_=>{gs(_,N)&&!_.repeat&&xe(N,ae(_))&&C.target&&T(Ue(C.target,_),"keyboard")};g(Ie(w.currentTarget),"keyup",Ha(K,$),!0),P&&w.stopPropagation(),w.metaKey&&Kt()&&C.metaKeyEvents?.set(w.key,w.nativeEvent)}else w.key==="Meta"&&(C.metaKeyEvents=new Map)},onClick(w){if(!(w&&!xe(w.currentTarget,ae(w)))&&w&&w.button===0&&!C.isTriggeringEvent&&!bt.isOpening){let P=!0;if(l&&w.preventDefault(),!C.ignoreEmulatedMouseEvents&&!C.isPressed&&(C.pointerType==="virtual"||ac(w.nativeEvent))){let N=x(w,"virtual"),K=T(w,"virtual"),_=S(w,"virtual");L(w),P=N&&K&&_}else if(C.isPressed&&C.pointerType!=="keyboard"){let N=C.pointerType||w.nativeEvent.pointerType||"virtual",K=T(Ue(w.currentTarget,w),N),_=S(Ue(w.currentTarget,w),N,!0);P=K&&_,C.isOverTarget=!1,L(w),I(w)}C.ignoreEmulatedMouseEvents=!1,P&&w.stopPropagation()}}},$=w=>{if(C.isPressed&&C.target&&gs(w,C.target)){Nn(ae(w),w.key)&&w.preventDefault();let P=ae(w),N=xe(C.target,P);S(Ue(C.target,w),"keyboard",N),N&&H(w,C.target),j(),w.key!=="Enter"&&Ks(C.target)&&xe(C.target,P)&&!w[jn]&&(w[jn]=!0,bt(C.target,w,!1)),C.isPressed=!1,C.metaKeyEvents?.delete(w.key)}else if(w.key==="Meta"&&C.metaKeyEvents?.size){let P=C.metaKeyEvents;C.metaKeyEvents=void 0;for(let N of P.values())C.target?.dispatchEvent(new KeyboardEvent("keyup",N))}};if(typeof PointerEvent<"u"){A.onPointerDown=N=>{if(N.button!==0||!xe(N.currentTarget,ae(N)))return;if(rc(N.nativeEvent)){C.pointerType="virtual";return}C.pointerType=N.pointerType;let K=!0;if(!C.isPressed){C.isPressed=!0,C.isOverTarget=!0,C.activePointerId=N.pointerId,C.target=N.currentTarget,y||fc(C.target),K=x(N,C.pointerType);let _=ae(N);"releasePointerCapture"in _&&("hasPointerCapture"in _?_.hasPointerCapture(N.pointerId)&&_.releasePointerCapture(N.pointerId):_.releasePointerCapture(N.pointerId)),g(Ie(N.currentTarget),"pointerup",w,!1),g(Ie(N.currentTarget),"pointercancel",P,!1)}K&&N.stopPropagation()},A.onMouseDown=N=>{if(xe(N.currentTarget,ae(N))&&N.button===0){if(b){let K=Zl(N.target);K&&C.disposables.push(K)}N.stopPropagation()}},A.onPointerUp=N=>{!xe(N.currentTarget,ae(N))||C.pointerType==="virtual"||N.button===0&&!C.isPressed&&T(N,C.pointerType||N.pointerType)},A.onPointerEnter=N=>{N.pointerId===C.activePointerId&&C.target&&!C.isOverTarget&&C.pointerType!=null&&(C.isOverTarget=!0,x(Ue(C.target,N),C.pointerType))},A.onPointerLeave=N=>{N.pointerId===C.activePointerId&&C.target&&C.isOverTarget&&C.pointerType!=null&&(C.isOverTarget=!1,S(Ue(C.target,N),C.pointerType,!1),F(N))};let w=N=>{if(N.pointerId===C.activePointerId&&C.isPressed&&N.button===0&&C.target){if(xe(C.target,ae(N))&&C.pointerType!=null){let K=!1,_=setTimeout(()=>{C.isPressed&&C.target instanceof HTMLElement&&(K?I(N):(xt(C.target),C.target.click()))},80);g(N.currentTarget,"click",()=>K=!0,!0),C.disposables.push(()=>clearTimeout(_))}else I(N);C.isOverTarget=!1}},P=N=>{I(N)};A.onDragStart=N=>{xe(N.currentTarget,ae(N))&&I(N)}}return A},[g,l,b,j,y,F,x,L,H]);return c.useEffect(()=>{if(!f)return;const C=Ie(f.current);if(!C||!C.head||C.getElementById(Cn))return;const A=C.createElement("style");A.id=Cn;let $=mc(C);$&&(A.nonce=$),A.textContent=`
|
|
2
|
-
@layer {
|
|
3
|
-
[${wn}] {
|
|
4
|
-
touch-action: pan-x pan-y pinch-zoom;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
`.trim(),C.head.prepend(A)},[f]),c.useEffect(()=>{let C=u.current;return()=>{y||yn(C.target??void 0);for(let A of C.disposables)A();C.disposables=[]}},[y]),{isPressed:d||p,pressProps:It(v,U,{[wn]:!0})}}function Ks(e){return e.tagName==="A"&&e.hasAttribute("href")}function gs(e,t){const{key:n,code:a}=e,r=t,o=r.getAttribute("role");return(n==="Enter"||n===" "||n==="Spacebar"||a==="Space")&&!(r instanceof Te(r).HTMLInputElement&&!Wa(r,n)||r instanceof Te(r).HTMLTextAreaElement||r.isContentEditable)&&!((o==="link"||!o&&Ks(r))&&n!=="Enter")}function Ue(e,t){let n=t.clientX,a=t.clientY;return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey,clientX:n,clientY:a,key:t.key}}function gc(e){return e instanceof HTMLInputElement?!1:e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!Ks(e)}function Nn(e,t){return e instanceof HTMLInputElement?!Wa(e,t):gc(e)}const xc=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function Wa(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":xc.has(e.type)}let bc=0;const xs=new Map;function vc(e){let[t,n]=c.useState();return Us(()=>{if(!e)return;let a=xs.get(e);if(a)n(a.element.id);else{let r=`react-aria-description-${bc++}`;n(r);let o=document.createElement("div");o.id=r,o.style.display="none",o.textContent=e,document.body.appendChild(o),a={refCount:0,element:o},xs.set(e,a)}return a.refCount++,()=>{a&&--a.refCount===0&&(a.element.remove(),xs.delete(e))}},[e]),{"aria-describedby":e?t:void 0}}const yc=500;function kc(e){let{isDisabled:t,onLongPressStart:n,onLongPressEnd:a,onLongPress:r,threshold:o=yc,accessibilityDescription:i}=e;const l=c.useRef(void 0);let{addGlobalListener:d,removeGlobalListener:b}=Qa(),{pressProps:h}=hc({isDisabled:t,onPressStart(f){if(f.continuePropagation(),(f.pointerType==="mouse"||f.pointerType==="touch")&&(n&&n({...f,type:"longpressstart"}),l.current=setTimeout(()=>{f.target.dispatchEvent(new PointerEvent("pointercancel",{bubbles:!0})),Ie(f.target).activeElement!==f.target&&xt(f.target),r&&r({...f,type:"longpress"}),l.current=void 0},o),f.pointerType==="touch")){let v=m=>{m.preventDefault()},p=Te(f.target);d(f.target,"contextmenu",v,{once:!0}),d(p,"pointerup",()=>{setTimeout(()=>{b(f.target,"contextmenu",v)},30)},{once:!0})}},onPressEnd(f){l.current&&clearTimeout(l.current),a&&(f.pointerType==="mouse"||f.pointerType==="touch")&&a({...f,type:"longpressend"})}}),y=vc(r&&!t?i:void 0);return{longPressProps:It(h,y)}}const ts=de("BadgeCheck",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);const jc=de("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);const Cc=de("CodeXml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);const Ga=de("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]);const Va=de("Forward",[["polyline",{points:"15 17 20 12 15 7",key:"1w3sku"}],["path",{d:"M4 18v-2a4 4 0 0 1 4-4h12",key:"jmiej9"}]]);const wc=de("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);const Nc=de("MailCheck",[["path",{d:"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8",key:"12jkf8"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"m16 19 2 2 4-4",key:"1b14m6"}]]);const Hs=de("MailOpen",[["path",{d:"M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z",key:"1jhwl8"}],["path",{d:"m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10",key:"1qfld7"}]]);const Ya=de("ReplyAll",[["polyline",{points:"7 17 2 12 7 7",key:"t83bqg"}],["polyline",{points:"12 17 7 12 12 7",key:"1g4ajm"}],["path",{d:"M22 18v-2a4 4 0 0 0-4-4H7",key:"1fcyog"}]]);const qs=de("Reply",[["polyline",{points:"9 17 4 12 9 7",key:"hvgpf2"}],["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}]]);const nt=de("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);const Sc=de("ShieldQuestion",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);const Ic=de("ShieldX",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m14.5 9.5-5 5",key:"17q4r4"}],["path",{d:"m9.5 9.5 5 5",key:"18nt4w"}]]);const Tc=de("TextSearch",[["path",{d:"M21 6H3",key:"1jwq7v"}],["path",{d:"M10 12H3",key:"1ulcyk"}],["path",{d:"M10 18H3",key:"13769t"}],["circle",{cx:"17",cy:"15",r:"3",key:"1upz2a"}],["path",{d:"m21 19-1.9-1.9",key:"dwi7p8"}]]),Rc=({address:e,showTrustedBadge:t=!1})=>{const n=t?s.jsx(ts,{className:"inline-block size-4 ml-1 -mt-0.5 text-positive","aria-label":"Trusted sender","data-testid":"trusted-sender-badge"}):null;return e.displayName?s.jsxs("span",{children:[s.jsx("span",{className:"text-fg",children:e.displayName}),s.jsxs("span",{className:"text-fg-muted",children:[" ","<",e.normalizedEmail,">"]}),n]}):s.jsxs("span",{className:"text-fg",children:[e.normalizedEmail,n]})},Ec=({label:e,addresses:t,showTrustedBadge:n=!1})=>{const[a,r]=c.useState(!1);if(t.length===0)return null;const o=t.length>3,i=l=>{const d=n&&l.flags?.trusted?.value===!0;return s.jsx(Rc,{address:l,showTrustedBadge:d})};return s.jsxs("div",{className:"flex gap-2 text-sm",children:[s.jsxs("span",{className:"text-fg-muted shrink-0 w-12",children:[e,":"]}),s.jsx("div",{className:"flex-1 min-w-0",children:a?s.jsx("div",{className:"flex flex-wrap gap-1",children:t.map((l,d)=>s.jsxs("span",{children:[i(l),d<t.length-1&&", "]},d))}):s.jsx("div",{className:"truncate",children:t.map((l,d)=>s.jsxs("span",{children:[i(l),d<t.length-1&&", "]},d))})}),o&&s.jsx("button",{type:"button",onClick:l=>{l.stopPropagation(),r(!a)},className:"shrink-0 text-fg-muted hover:text-fg transition-colors","aria-label":a?"Collapse":"Expand",children:a?s.jsx(Ke,{className:"h-4 w-4"}):s.jsx(Ps,{className:"h-4 w-4"})})]})};function Mc({state:e,onRetry:t}){return s.jsxs("div",{role:"alert","data-testid":"attachment-error",className:"flex items-start gap-2 border-t border-danger/30 bg-danger-soft px-2 py-2 text-xs",children:[s.jsx(Ur,{className:"mt-0.5 size-3.5 shrink-0 text-danger","aria-hidden":!0}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsx("p",{className:"font-medium text-danger",children:e.title}),s.jsx("p",{className:"mt-0.5 text-fg-muted",children:e.detail})]}),s.jsxs("div",{className:"flex shrink-0 items-center gap-3",children:[s.jsx("button",{type:"button",onClick:t,className:"font-medium text-accent hover:underline",children:"Try again"}),e.reportUrl&&s.jsx("a",{href:e.reportUrl,target:"_blank",rel:"noreferrer",className:"font-medium text-accent hover:underline",children:"Report this"})]})]})}function Ac({attachments:e,onDownload:t,hasUnlistedAttachment:n=!1,className:a}){return e.length===0&&!n?null:s.jsxs("section",{"aria-label":"Attachments","data-testid":"attachment-list",className:D("space-y-1.5",a),children:[s.jsxs("h3",{className:"flex items-center gap-1.5 text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:[s.jsx(Zt,{className:"size-3","aria-hidden":!0}),e.length===0?"Attachment":e.length===1?"1 attachment":`${e.length} attachments`]}),e.length>0&&s.jsx("ul",{className:"overflow-hidden rounded-sm border border-line bg-surface",children:e.map(r=>{const o=r.download.status==="downloading";return s.jsxs("li",{className:"border-t border-line first:border-t-0",children:[s.jsxs("button",{type:"button",onClick:()=>t(r.attachmentId),disabled:o,"data-testid":"attachment-download","aria-label":`Download ${r.filename}`,className:"flex w-full items-center gap-2 px-2 py-2 text-left transition-colors hover:bg-surface-sunken disabled:cursor-progress disabled:opacity-60",children:[s.jsxs("span",{className:"min-w-0 flex-1",children:[s.jsx("bdi",{className:"block truncate text-sm text-fg",title:r.filename,children:r.filename}),s.jsxs("span",{className:"block truncate text-2xs text-fg-subtle",children:[r.typeLabel," ·"," ",Di(r.sizeOctets)]})]}),o?s.jsx(na,{className:"size-4 shrink-0 animate-spin text-fg-subtle","aria-hidden":!0}):s.jsx(Qi,{className:"size-4 shrink-0 text-fg-subtle","aria-hidden":!0})]}),r.download.status==="failed"&&s.jsx(Mc,{state:r.download,onRetry:()=>t(r.attachmentId)})]},r.attachmentId)})}),n&&s.jsx("p",{role:"alert","data-testid":"attachment-unlisted",className:"rounded-sm border border-line bg-surface px-2 py-2 text-xs text-fg-muted",children:"The mail server says this message carries an attachment, but none of its parts describe one. Re-sync the account from Settings; if the attachment still does not appear, the message is worth reporting."})]})}function Lc({label:e,onUndo:t,undoLabel:n="Undo",filtersHref:a,className:r}){return s.jsxs(Ce,{tone:"accent",className:D("py-1 text-xs",r),children:[s.jsx(qi,{className:"size-3.5 shrink-0","aria-hidden":!0}),s.jsx("span",{children:e}),t&&s.jsx("button",{type:"button",onClick:o=>{o.stopPropagation(),t()},className:"font-semibold underline decoration-dotted underline-offset-2 hover:decoration-solid",children:n}),a&&s.jsx("a",{href:a,onClick:o=>{o.stopPropagation()},className:"font-semibold underline decoration-dotted underline-offset-2 hover:decoration-solid",children:"Manage filter"})]})}const Sn=10,$c={kind:"unknown"},bs=e=>e.toLocaleString();function Pc({section:e,Row:t,selectedThreadId:n,initialExpanded:a=!1,initialCollapsed:r=!1,onShowAll:o,onRetry:i,onSelectThread:l}){const[d,b]=c.useState(a),[h,y]=c.useState(r),f=e.threads,v=e.loading===!0,p=e.error===!0,m=f.length>Sn,g=!d&&m?f.slice(0,Sn):f,j=e.total??$c,x=j.kind==="exact"&&(f.length>0||v)&&!p?bs(j.value):void 0,k=j.kind==="exact"?j.value>g.length:e.atCap===!0,S=o!==void 0&&g.length>0&&k?j.kind==="exact"?`Show all ${bs(j.value)}`:"Show all":void 0,R=f.length-g.length;return s.jsxs("div",{children:[e.label&&s.jsxs("button",{type:"button","data-section-header":"","aria-expanded":!h,onClick:()=>y(T=>!T),className:"sticky top-0 z-10 flex h-section-row w-full items-center gap-1.5 border-b border-line bg-surface-sunken px-row-inset text-left outline-none transition-colors hover:bg-surface focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset",children:[s.jsx("span",{className:"flex-1 text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:e.label}),x!==void 0&&s.jsx("span",{className:"text-2xs text-fg-subtle tabular-nums",children:x}),s.jsx(Ke,{className:D("size-3 shrink-0 text-fg-subtle transition-transform duration-200",h?"rotate-0":"rotate-180")})]}),!h&&s.jsxs(s.Fragment,{children:[f.length===0?p?s.jsxs("div",{className:"flex flex-col items-center gap-1 border-b border-line px-row-inset py-4 text-center text-2xs text-danger",children:[s.jsx("span",{children:`Couldn't load ${e.label??"these messages"}`}),i&&s.jsx("button",{type:"button",onClick:i,className:"font-medium text-accent underline outline-none focus-visible:ring-2 focus-visible:ring-ring",children:"Try again"})]}):v?s.jsx("div",{className:"animate-pulse divide-y divide-line",children:[0,1,2].map(T=>s.jsx("div",{className:"px-row-inset py-3",children:s.jsx("div",{className:"h-3 w-2/3 rounded bg-surface-sunken"})},T))}):s.jsx("p",{className:"border-b border-line px-row-inset py-4 text-center text-2xs text-fg-subtle",children:e.label?`No ${e.label} mail in this brief.`:"No mail in this brief."}):s.jsx("div",{className:"divide-y divide-line",children:g.map(T=>s.jsx(t,{thread:T,active:T.id===n,onClick:()=>l?.(T.id)},T.id))}),S!==void 0?s.jsxs("button",{type:"button",onClick:o,className:"flex w-full items-center justify-center border-b border-line px-row-inset py-1.5 text-2xs font-medium text-accent outline-none transition-colors hover:bg-surface focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset",children:[S,s.jsx(Ps,{className:"ml-1 size-3"})]}):m&&s.jsxs("button",{type:"button",onClick:()=>b(T=>!T),className:"flex w-full items-center justify-center border-b border-line px-row-inset py-1.5 text-2xs font-medium text-accent outline-none transition-colors hover:bg-surface focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset",children:[d?"Show less":`Show ${bs(R)} more`,!d&&s.jsx(Ke,{className:"ml-1 size-3"})]})]})]})}function $p({sections:e,briefCategory:t="all",selectedThreadId:n,Row:a,keyboard:r,onSelectThread:o,onShowAllSection:i,onRetrySection:l,flat:d=!1,onSelectBriefCategory:b,sources:h,sourcesNote:y,onSelectSource:f,activeFilters:v,onToggleFilter:p,onClearFilters:m,hideChrome:u,defaultExpanded:g=!1}){const[j,x]=c.useState(g),k=c.useRef(null);pi({containerRef:k,itemSelector:hi,enabled:!Br(r)});const S=!d&&(t==="all"||e.some(L=>L.total!==void 0)),R=e.filter(L=>L.threads.length>0||L.total!==void 0||L.loading===!0||L.error===!0),T=e.flatMap(L=>L.threads),M=ra,I=S?R.length===0:T.length===0,F=s.jsxs("div",{ref:k,children:[S?R.map(L=>s.jsx(Pc,{section:L,Row:a,selectedThreadId:n,onSelectThread:o,onShowAll:i?()=>i(L.id):void 0,onRetry:l?()=>l(L.id):void 0},L.id)):s.jsx("div",{className:"divide-y divide-line",children:T.map(L=>s.jsx(a,{thread:L,active:L.id===n,onClick:()=>o?.(L.id)},L.id))}),I&&s.jsx("div",{className:"px-row-inset py-6 text-center text-2xs text-fg-subtle",children:"No threads match these filters."})]});return s.jsx(aa,{categories:[...Wt],filters:M,sources:h,sourcesNote:y,selectedCategory:t,activeFilters:v,expanded:j,onExpandedChange:x,onSelectCategory:L=>b?.(L),onSelectSource:f,onToggleFilter:L=>p(L),onClear:m,hideChrome:u,children:F})}const Dc={ics:"Attached invitation",markup:"Structured markup",pattern:"Read from the words"},Fc={ics:Kr,markup:Cc,pattern:Tc},Oc={ics:"border-positive/50 text-positive",markup:"border-accent-2/50 text-accent-2",pattern:"border-warning/50 text-warning"};function zc({method:e,className:t}){const n=Fc[e];return s.jsxs("span",{className:D("inline-flex items-center gap-1 rounded-sm border px-1.5 py-0.5 text-2xs font-medium",Oc[e],t),children:[s.jsx(n,{className:"size-3","aria-hidden":!0}),Dc[e]]})}const _c=["accepted","tentative","declined","noReply"],Uc={accepted:"coming",tentative:"maybe",declined:"not coming",noReply:"no reply"};function Bc({invite:e,whenText:t,calendarName:n,color:a,clashes:r,rsvp:o,onAdd:i,onTentative:l,onDecline:d,onReopen:b,onOfferOtherTimes:h,mute:y,onRemove:f,onOpenNewer:v,guests:p,busy:m=!1,failure:u="",reportHref:g,addBlocked:j,touch:x,className:k}){const S=cl(a),R=e.state==="superseded"||e.state==="cancelled",T=e.proposed.attendees,M=_c.map(I=>({state:I,count:T.filter(F=>F.rsvp===I).length})).filter(I=>I.count>0).map(I=>`${I.count} ${Uc[I.state]}`).join(" · ");return s.jsxs("section",{className:D("flex flex-col gap-3 rounded-lg border border-line bg-surface-raised p-3",k),children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("span",{className:D("size-2.5 shrink-0 rounded-full",S.solid)}),s.jsxs("span",{className:"min-w-0 flex-1 truncate text-2xs uppercase tracking-wider text-fg-subtle",children:["Invitation from ",e.organizerName," · ",n]}),s.jsx(zc,{method:e.method})]}),s.jsxs("div",{className:D(R&&"opacity-60"),children:[s.jsx("h3",{className:"text-md font-semibold text-fg",children:e.proposed.title}),s.jsxs("p",{className:"mt-1 flex items-center gap-2 text-sm text-fg",children:[s.jsx($a,{className:"size-4 shrink-0 text-fg-subtle","aria-hidden":!0}),t]}),e.proposed.location!==""&&s.jsxs("p",{className:"mt-1 flex items-center gap-2 text-sm text-fg-muted",children:[s.jsx(gl,{className:"size-4 shrink-0 text-fg-subtle","aria-hidden":!0}),e.proposed.location]})]}),e.state==="superseded"&&s.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-warning/40 bg-warning-soft p-2",children:[s.jsx(wc,{className:"mt-0.5 size-4 shrink-0 text-warning","aria-hidden":!0}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsxs("p",{className:"text-xs font-semibold text-warning",children:[e.organizerName," has sent a newer version of this."]}),s.jsxs("p",{className:"mt-1 text-xs text-fg",children:["This one is revision ",e.sequence," and is out of date. The newer message carries the one to answer."]}),v&&s.jsx(q,{variant:"secondary",size:x?"md":"sm",onClick:v,className:D("mt-2",x&&"min-h-11"),children:"Open the newer invitation"})]})]}),e.state==="cancelled"&&s.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-danger/40 bg-danger-soft p-2",children:[s.jsx(Xe,{className:"mt-0.5 size-4 shrink-0 text-danger","aria-hidden":!0}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsxs("p",{className:"text-xs font-semibold text-danger",children:[e.organizerName," cancelled this."]}),s.jsx("p",{className:"mt-1 text-xs text-fg",children:"It is still on your calendar. Nothing comes off it until you say so."}),f&&s.jsxs("div",{className:D("mt-2 flex gap-2",x&&"flex-wrap"),children:[s.jsx(q,{variant:"primary",size:x?"md":"sm",icon:s.jsx(vt,{className:"size-3.5"}),onClick:f,disabled:m||j!==void 0,className:D(x&&"min-h-11 flex-1"),children:"Remove from calendar"}),b&&s.jsx(q,{variant:"secondary",size:x?"md":"sm",onClick:b,disabled:m,className:D(x&&"min-h-11 flex-1"),children:"Keep it"})]})]})]}),!R&&s.jsx(hl,{clashes:r}),p??(T.length>0&&s.jsxs("p",{className:"text-2xs uppercase tracking-wider text-fg-subtle",children:[T.length," guests",M===""?"":` · ${M}`]})),u!==""&&s.jsx(Cs,{text:u,reportHref:g}),j!==void 0&&s.jsx("div",{className:"rounded-md border border-warning/40 bg-warning-soft p-2 text-xs text-fg",children:j}),!R&&(o==="noReply"?s.jsxs("div",{className:"flex flex-col gap-2 border-t border-line pt-3",children:[s.jsxs("div",{className:D("flex gap-2",x&&"flex-wrap"),children:[s.jsx(q,{variant:"primary",size:x?"md":"sm",icon:s.jsx(jc,{className:"size-3.5"}),onClick:i,disabled:m||j!==void 0,className:D(x&&"min-h-11 flex-1"),children:"Add to calendar"}),l&&s.jsx(q,{variant:"secondary",size:x?"md":"sm",onClick:l,disabled:m||j!==void 0,className:D(x&&"min-h-11 flex-1"),children:"Maybe"}),s.jsx(q,{variant:"secondary",size:x?"md":"sm",icon:s.jsx(Xe,{className:"size-3.5"}),onClick:d,disabled:m,className:D(x&&"min-h-11 flex-1"),children:"Decline"})]}),s.jsx(q,{variant:"ghost",size:x?"md":"sm",onClick:h,className:D("self-start",x&&"min-h-11 w-full"),children:"Offer other times"}),y&&s.jsx(q,{variant:"ghost",size:x?"md":"sm",icon:s.jsx(Pa,{className:"size-3.5"}),onClick:y.onMute,disabled:m,className:D("self-start",x&&"min-h-11 w-full"),children:`Stop offering invitations from ${y.sender}`}),s.jsxs("p",{className:"text-2xs text-fg-subtle",children:[e.organizerName," is not notified. Reader writes this to your calendar and sends no reply — tell them in the thread."]})]}):s.jsxs("div",{className:"flex flex-col gap-2 border-t border-line pt-3",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[s.jsxs("span",{className:"flex items-center gap-1.5 text-sm text-fg",children:[o==="declined"?"You declined":"On your calendar",s.jsx(pl,{rsvp:o})]}),b&&s.jsx(q,{variant:"ghost",size:x?"md":"sm",onClick:b,disabled:m,className:x?"min-h-11":"",children:"Change"}),o==="declined"&&s.jsx(q,{variant:"secondary",size:x?"md":"sm",onClick:h,className:x?"min-h-11":"",children:"Offer other times"})]}),s.jsxs("p",{className:"flex items-start gap-1.5 text-2xs text-fg-subtle",children:[s.jsx(Gt,{className:"mt-0.5 size-3 shrink-0","aria-hidden":!0}),e.organizerName," was not notified."]})]}))]})}function Kc({slots:e,picked:t,onToggle:n,emptyText:a="Nothing free that day at this length.",touch:r,scroll:o,className:i}){return e.length===0?s.jsx("p",{className:D("text-xs text-fg-muted",i),children:a}):s.jsx("div",{className:D("flex gap-2",o?"overflow-x-auto pb-1":"flex-wrap",i),children:e.map(l=>{const d=t.has(l.startTime);return s.jsxs("button",{type:"button","aria-pressed":d,onClick:()=>n(l),className:D("shrink-0 rounded-md border px-2 text-xs tabular-nums outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring",r?"min-h-11 px-3":"h-7",d?"border-accent bg-accent-soft font-semibold text-accent":"border-line bg-surface text-fg-muted hover:border-line-strong hover:text-fg"),children:[l.startTime," – ",l.endTime]},l.startTime)})})}function be({label:e,children:t,className:n}){return s.jsxs("section",{className:D("border-b border-line px-row-inset py-3",n),children:[s.jsx("h3",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:e}),s.jsx("div",{className:"mt-2",children:t})]})}function Hc({data:e,actions:t,selectedEventId:n="",touch:a,className:r}){const{invite:o,prose:i,suggestions:l,day:d,dayLabel:b,suggestionsBusy:h=!1,failure:y="",suggestionsFailure:f="",reportHref:v,addBlocked:p}=e,{onReviewSuggestion:m,onOpenThread:u}=t,[g,j]=c.useState({}),x=l[0],k=x===void 0?"":g[x.suggestion.id]??"",S=x===void 0?void 0:Wi(x.suggestion,k),R=new Set(i?.picked??[]);return y===""&&o===void 0&&i===void 0&&l.length===0&&d.length===0?s.jsxs("div",{className:D("flex flex-1 flex-col items-center justify-center gap-2 px-row-inset py-10 text-center",r),children:[s.jsx(Hr,{className:"size-6 text-fg-subtle","aria-hidden":!0}),s.jsx("p",{className:"text-sm text-fg-muted",children:"Nothing in this message is about a time."}),s.jsx("p",{className:"text-2xs text-fg-subtle",children:"An invitation, a booking or a thread proposing hours would show up here, with the day it lands on."})]}):s.jsxs("div",{className:D("flex flex-col",r),children:[y!==""&&s.jsx(Cs,{text:y,reportHref:v,className:"mx-row-inset mt-3"}),o&&s.jsx(be,{label:"Invitation",children:s.jsx(Bc,{invite:o.invite,whenText:o.whenText,calendarName:o.calendarName,color:o.color,clashes:o.clashes,rsvp:o.rsvp,busy:o.busy,failure:o.failure,reportHref:o.reportHref,addBlocked:o.addBlocked,mute:t.onMuteInvite&&o.sender?{sender:o.sender,onMute:t.onMuteInvite}:void 0,onAdd:t.onAddInvite,onTentative:t.onTentativeInvite,onDecline:t.onDeclineInvite,onReopen:t.onReopenInvite,onOfferOtherTimes:t.onOfferOtherTimes,onRemove:t.onRemoveInvite,onOpenNewer:t.onOpenNewerInvite,touch:a})}),i&&s.jsxs(be,{label:i.proposals.length>0?`Times named · ${i.dayLabel}`:`Other times · ${i.dayLabel}`,children:[s.jsx("ul",{className:D("flex flex-col gap-1",i.proposals.length===0&&"hidden"),children:i.proposals.map(M=>s.jsxs("li",{className:"flex items-baseline gap-2 text-xs",children:[s.jsx("span",{className:"w-24 shrink-0 truncate tabular-nums text-fg",children:M.phrase}),M.clashTitle===""?s.jsx("span",{className:"min-w-0 flex-1 truncate text-positive",children:"Nothing booked"}):s.jsxs("span",{className:"min-w-0 flex-1 truncate text-danger",children:[M.clashTitle," is already there"]})]},M.id))}),s.jsx("p",{className:"mt-3 pb-1.5 text-2xs uppercase tracking-wider text-fg-subtle",children:"Free, half an hour each"}),s.jsx(Kc,{slots:i.slots,picked:R,onToggle:t.onToggleSlot,touch:a,scroll:!0}),t.onReplyWithSlots?s.jsxs("div",{className:"mt-2 flex flex-col gap-1.5",children:[s.jsx(q,{variant:"secondary",size:a?"md":"sm",icon:s.jsx(qs,{className:"size-3.5"}),onClick:t.onReplyWithSlots,disabled:R.size===0,className:D("self-start",a&&"min-h-11"),children:"Reply with these times"}),s.jsx("p",{className:"text-2xs text-fg-subtle",children:"Picked slots go into the reply as plain text. Nothing is booked."})]}):s.jsx("p",{className:"mt-1.5 text-2xs text-fg-subtle",children:"Picked slots go into the reply as plain text. Nothing is booked."})]}),l.length>0&&s.jsxs(be,{label:"Read out of this thread",children:[s.jsx(Gi,{hasCard:x!==void 0,remaining:l.length,blocked:S!==void 0&&!S.settled,blockedReason:Vi,onConfirm:()=>{x&&S?.settled&&p===void 0&&t.onAddSuggestion(x.suggestion.id,S.timeZone)},onReject:()=>{x&&t.onDismissSuggestion(x.suggestion.id)},children:x&&s.jsx(Yi,{suggestion:x.suggestion,whenText:x.whenText,addLabel:"Add to calendar",zoneChoice:k,onZoneChoice:M=>j(I=>({...I,[x.suggestion.id]:M})),onAdd:M=>t.onAddSuggestion(x.suggestion.id,M),onReview:m&&(M=>m(x.suggestion.id,M)),onDismiss:()=>t.onDismissSuggestion(x.suggestion.id),onOpenThread:u&&(()=>u(x.suggestion.threadId)),busy:h,addBlocked:p!==void 0,touch:a})}),p!==void 0&&s.jsx("div",{className:"mt-2 rounded-md border border-warning/40 bg-warning-soft p-2 text-xs text-fg",children:p}),f!==""&&s.jsx(Cs,{text:f,reportHref:v,className:"mt-2"}),s.jsx("p",{className:"mt-2 text-2xs text-fg-subtle",children:"None of this is on your calendar, and none of it will be until you say so."})]}),d.length>0&&s.jsx(be,{label:b,className:"border-b-0",children:s.jsx("ul",{className:"flex flex-col gap-1",children:d.map(M=>s.jsx("li",{children:s.jsx(Ji,{title:M.event.title,timeText:M.timeText,color:M.color,layout:"row",density:"compact",rsvp:M.event.myRsvp,status:M.event.status,hasThread:M.event.threadId!=="",isRecurring:M.event.recurrenceRule!=="",zoneCertainty:M.event.zoneCertainty,selected:M.event.id===n,onClick:()=>t.onSelectEvent(M.event.id)})},M.event.id))})})]})}const qc=[{value:"sender",label:"Sender"},{value:"calendar",label:"Calendar"}],Qc={unknown:{label:"Unknown sender",tone:"neutral"},wellknown:{label:"Known sender",tone:"positive"},vip:{label:"VIP",tone:"accent"}};function Wc({sender:e}){const t=Qc[e.trust],n=e.inboundCount==null?null:(e.replyCount??0)>0?`${e.inboundCount} received · you replied ${e.replyCount}×`:`${e.inboundCount} received · you've never replied`;return s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx(gt,{name:e.name,email:e.email,size:"md"}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"truncate text-sm font-semibold text-fg",children:e.name}),s.jsx("div",{className:"truncate text-2xs text-fg-subtle",children:e.email})]})]}),s.jsx("div",{className:"mt-2 flex items-center gap-2",children:e.addressUnverified?s.jsx(Ce,{tone:"danger",dot:!0,children:"Address couldn't be verified"}):s.jsx(Ce,{tone:t.tone,dot:!0,children:t.label})}),s.jsxs("p",{className:"mt-2 text-xs text-fg-muted",children:["First seen ",e.firstSeenLabel,n?` · ${n}`:""]})]})}function Gc({auth:e,onShowSimilar:t}){if(e.verdict==="aligned")return s.jsxs("div",{className:"flex items-start gap-2 text-xs text-fg-muted",children:[s.jsx(xl,{className:"mt-0.5 size-3.5 shrink-0 text-positive"}),s.jsx("span",{children:e.summary})]});if(e.verdict==="caution")return s.jsxs("div",{className:"flex items-start gap-2 rounded-md bg-warning/10 p-3 text-warning",children:[s.jsx(Sc,{className:"mt-0.5 size-4 shrink-0"}),s.jsx("p",{className:"text-xs leading-relaxed",children:e.summary})]});const n=e.addressUnreadable?"This sender can't be verified":"This message may be impersonating someone";return s.jsxs("div",{className:"rounded-md bg-danger-soft p-3",children:[s.jsxs("div",{className:"flex items-start gap-2",children:[s.jsx(nt,{className:"mt-0.5 size-4 shrink-0 text-danger"}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("p",{className:"text-sm font-semibold text-danger",children:n}),s.jsx("p",{className:"mt-1 text-xs leading-relaxed text-fg",children:e.summary}),!e.addressUnreadable&&e.dkimDomain&&s.jsxs("p",{className:"mt-1 text-2xs text-fg-muted",children:["Sent from"," ",s.jsx("code",{className:"rounded bg-surface px-1 py-0.5",children:e.dkimDomain}),", claims to be"," ",s.jsx("code",{className:"rounded bg-surface px-1 py-0.5",children:e.fromDomain})]})]})]}),e.similarCount!=null&&e.similarCount>0&&s.jsxs(q,{variant:"secondary",size:"sm",className:"mt-2 w-full border-danger/30 text-danger hover:bg-danger-soft",onClick:t,children:[e.similarCount," similar messages"]})]})}function Ot({icon:e,label:t,active:n,danger:a,onClick:r,pending:o}){const i=r===void 0||o===!0;return s.jsxs("button",{type:"button",onClick:r,disabled:i,className:D("flex items-center gap-2 rounded-md border px-2 py-1 text-xs transition-colors",n?"border-accent-2 bg-accent-2-soft text-accent-2":"border-line text-fg-muted hover:border-line-strong hover:text-fg",a&&!n&&"text-danger hover:bg-danger-soft",i&&"cursor-not-allowed opacity-50 hover:border-line"),children:[e,t]})}const Vc={sender:"matched: sender",recipient:"matched: recipient",subject:"matched: subject",attachment:"matched: attachment",body:"matched: body",entities:"matched: entities"};function Ja({data:e,onClose:t,onShowSimilar:n,actions:a,similarState:r="ready",similarLinkComponent:o,className:i,hideCloseButton:l=!1,reportSpamPending:d=!1,notSpamPending:b=!1,calendar:h,tab:y,onTabChange:f,defaultTab:v="sender",touch:p}){const{sender:m,authenticity:u,category:g,flags:j={},similar:x}=e,[k,S]=c.useState(v),R=c.useId(),T=y??k,M=h!==void 0&&T==="calendar"?h:void 0;return s.jsxs("aside",{className:D("flex w-76 shrink-0 flex-col overflow-y-auto border-l border-line bg-surface",i),children:[s.jsxs("header",{className:"flex h-pane-header shrink-0 items-center justify-between border-b border-line px-row-inset",children:[s.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:"Intelligence"}),!l&&s.jsx(q,{variant:"ghost",size:"sm",icon:s.jsx(Xe,{className:"size-3.5"}),onClick:t,"aria-label":"Collapse intelligence sidebar"})]}),h&&s.jsx("div",{className:"flex shrink-0 justify-center border-b border-line px-row-inset py-2",children:s.jsx(qr,{name:R,"aria-label":"What this panel is showing",size:"sm",options:qc,value:T,onChange:I=>{y===void 0&&S(I),f?.(I)}})}),M&&s.jsx(Hc,{data:M.data,actions:M.actions,selectedEventId:M.selectedEventId,touch:p}),M===void 0&&s.jsxs(s.Fragment,{children:[s.jsx(be,{label:"Sender",children:s.jsx(Wc,{sender:m})}),s.jsx(be,{label:"Authenticity",children:s.jsx(Gc,{auth:u,onShowSimilar:n})}),s.jsx(be,{label:"Category",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(Ce,{tone:oa[g.value],children:Vt[g.value]}),g.overridden&&s.jsx("span",{className:"text-2xs text-fg-subtle",children:"your override"}),s.jsx("button",{type:"button",className:D("ml-auto text-2xs text-accent hover:underline",!a?.onReclassify&&"cursor-not-allowed opacity-50 hover:no-underline"),disabled:!a?.onReclassify,onClick:a?.onReclassify,children:"reclassify"})]})}),s.jsxs(be,{label:"Quick actions",children:[s.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[s.jsx(Ot,{icon:s.jsx(et,{className:"size-3.5"}),label:"VIP",active:j.vip,onClick:a?.onToggleVip}),s.jsx(Ot,{icon:s.jsx(Pa,{className:"size-3.5"}),label:"Mute",active:j.muted,onClick:a?.onToggleMute}),a?.onNotSpam&&s.jsx(Ot,{icon:s.jsx(Nc,{className:"size-3.5"}),label:b?"Undoing…":"Not spam",active:!0,onClick:a.onNotSpam,pending:b}),a?.onReportSpam&&s.jsx(Ot,{icon:s.jsx(Ic,{className:"size-3.5"}),label:d?"Reporting…":"Report spam",danger:!0,onClick:a.onReportSpam,pending:d})]}),a?.onNotSpam&&s.jsx("p",{className:"mt-1.5 text-2xs text-fg-subtle",children:"You reported this message as spam"})]}),(r!=="ready"||x.length>0)&&s.jsx(be,{label:"Similar messages",children:r==="loading"?s.jsx("div",{className:"animate-pulse space-y-2",children:Array.from({length:3}).map((I,F)=>s.jsxs("div",{className:"space-y-1",children:[s.jsx("div",{className:"h-3 w-3/4 rounded bg-surface-sunken"}),s.jsx("div",{className:"h-2.5 w-1/2 rounded bg-surface-sunken"})]},F))}):r==="error"?s.jsx("p",{className:"text-xs text-fg-subtle",children:"Similarity search unavailable"}):r==="off"?s.jsxs("div",{className:"space-y-1.5 text-xs text-fg-subtle",children:[s.jsx("p",{className:"text-fg-muted",children:Qr}),s.jsx("p",{children:Wr}),s.jsxs("p",{children:["Run"," ",s.jsx("code",{className:"rounded bg-surface-sunken px-1 py-px text-2xs text-fg-muted",children:Gr})," ","on the server."]})]}):s.jsx("ul",{className:"-mx-1 space-y-1",children:x.map(I=>{const F="block w-full rounded-md px-1 py-1 text-left hover:bg-surface-sunken",L=`Open message from ${I.fromName||"unknown sender"}: ${I.subject}`,H=s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[s.jsx("span",{className:"truncate text-xs font-medium text-fg",children:I.fromName}),s.jsx("span",{className:"shrink-0 text-2xs text-fg-subtle tabular-nums",children:I.timeLabel})]}),s.jsx("div",{className:"truncate text-xs text-fg-muted",children:I.subject}),s.jsx("span",{className:"mt-1 inline-block rounded-full bg-surface-sunken px-1.5 py-px text-2xs text-fg-subtle",children:Vc[I.matched]})]});return s.jsx("li",{children:o?o({mailboxId:I.mailboxId,threadId:I.threadId,messageId:I.id,className:F,ariaLabel:L,children:H}):s.jsx("div",{className:F,children:H})},I.id)})})}),s.jsx(be,{label:"Coming soon",className:"border-b-0 opacity-70",children:s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-dashed border-line p-2",children:[s.jsx(Ze,{className:"mt-0.5 size-3.5 shrink-0 text-fg-subtle"}),s.jsxs("div",{children:[s.jsx("div",{className:"text-xs font-medium text-fg-muted",children:"Suggested actions"}),s.jsx("div",{className:"text-2xs text-fg-subtle",children:'"Create a filter for messages like this" — on-device model'})]})]}),s.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-dashed border-line p-2",children:[s.jsx(Ze,{className:"mt-0.5 size-3.5 shrink-0 text-fg-subtle"}),s.jsxs("div",{children:[s.jsx("div",{className:"text-xs font-medium text-fg-muted",children:"Thread summary"}),s.jsx("div",{className:"text-2xs text-fg-subtle",children:"One-paragraph digest — Bedrock"})]})]})]})})]})]})}function Yc({open:e=!1,enabled:t=!0,onToggle:n,className:a}){return s.jsx(q,{variant:"ghost",size:"sm",icon:s.jsx(ia,{className:"size-4"}),title:"Intelligence","aria-label":e?"Hide intelligence sidebar":"Show intelligence sidebar","aria-pressed":e,disabled:!t,onClick:n,className:D(e&&"bg-accent-2-soft text-accent-2",a)})}function Pp({hints:e=xi,className:t}){return e.length===0?null:s.jsx("footer",{className:D("flex items-center gap-2 border-t border-line px-row-inset py-1 text-2xs text-fg-subtle",t),children:e.map(n=>s.jsx(Jc,{hint:n},n.label))})}function Jc({hint:e}){return s.jsxs("span",{className:"flex items-center gap-1",children:[e.keys.map(t=>s.jsx(Ni,{children:t},t)),s.jsx("span",{children:e.label})]})}function Xc({hasThread:e,onUnavailable:t,unavailableHint:n,isStarred:a,showTriage:r=!0,onReply:o,onReplyAll:i,onForward:l,onDelete:d,onToggleStar:b,moveSlot:h,onMove:y,replyTitle:f="Reply (r)",replyAllTitle:v="Reply all (a)",forwardTitle:p="Forward (f)",deleteTitle:m="Move to Trash (#)",flagTitle:u="Star (s)",children:g,className:j}){const x=(k,S)=>()=>{if(!e||!S){t?.(k);return}S()};return s.jsxs("div",{className:"relative",children:[s.jsxs("header",{className:D("flex h-pane-header shrink-0 items-center gap-1 border-b border-line bg-surface px-3",j),children:[s.jsx(q,{variant:"ghost",size:"sm",icon:s.jsx(qs,{className:"size-4"}),title:f,"aria-label":"Reply",onClick:x("reply",o)}),s.jsx(q,{variant:"ghost",size:"sm",icon:s.jsx(Ya,{className:"size-4"}),title:v,"aria-label":"Reply all",onClick:x("replyAll",i)}),s.jsx(q,{variant:"ghost",size:"sm",icon:s.jsx(Va,{className:"size-4"}),title:p,"aria-label":"Forward",onClick:x("forward",l)}),r&&s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"mx-1 h-4 w-px bg-line","aria-hidden":!0}),s.jsx(q,{variant:"ghost",size:"sm",icon:s.jsx(vt,{className:"size-4"}),title:m,"aria-label":"Move to Trash",onClick:x("delete",d)}),h??s.jsx(q,{variant:"ghost",size:"sm",icon:s.jsx(Ds,{className:"size-4"}),title:"Move to mailbox","aria-label":"Move to mailbox",onClick:x("move",y)}),s.jsx(q,{variant:"ghost",size:"sm",icon:s.jsx(et,{className:D("size-4",a&&"fill-warning text-warning")}),title:u,"aria-label":"Star","aria-pressed":a,onClick:x("flag",b)})]}),s.jsx("div",{className:"flex-1"}),g]}),n&&s.jsx("p",{role:"status",className:"border-b border-line bg-surface-sunken px-3 py-1 text-2xs text-fg-subtle",children:n})]})}const Is=e=>({shiftKey:e.shiftKey,metaKey:e.metaKey,ctrlKey:e.ctrlKey}),In=e=>e.shiftKey||e.metaKey||e.ctrlKey,Zc=e=>e.shiftKey?"range":e.metaKey||e.ctrlKey?"toggle":"open",ed=(e,t)=>!t&&e>0,td=(e,t,n)=>{const a=e.indexOf(n);if(a===-1)return[];const r=t===void 0?-1:e.indexOf(t);if(r===-1)return[n];const o=Math.min(r,a),i=Math.max(r,a);return e.slice(o,i+1)},sd=(e,t,n,a)=>t!==void 0&&e.includes(t)?t:n!==void 0&&e.includes(n)?n:a,nd=(e,t)=>{const n=new Set(t),a=new Set;for(const r of e)n.has(r)&&a.add(r);return a},ad=(e,t,n)=>{if(e.length===0)return;const a=t===void 0?-1:e.indexOf(t);if(a===-1)return n>0?e[0]:e[e.length-1];const r=Math.min(Math.max(a+n,0),e.length-1);return e[r]},rd=e=>{const[t,n]=c.useState(()=>new Set(e?.initialSelectedIds)),[a,r]=c.useState(void 0),o=c.useCallback(m=>t.has(m),[t]),i=c.useCallback(m=>{r(m),n(u=>{const g=new Set(u);return g.has(m)?g.delete(m):g.add(m),g})},[]),l=c.useCallback(m=>{r(m),n(u=>{if(u.has(m))return u;const g=new Set(u);return g.add(m),g})},[]),d=c.useCallback(m=>{n(u=>{if(!u.has(m))return u;const g=new Set(u);return g.delete(m),g})},[]),b=c.useCallback(m=>{n(new Set(m))},[]),h=c.useCallback(()=>{r(void 0),n(new Set)},[]),y=c.useCallback(m=>{n(u=>m.every(j=>u.has(j))?new Set:new Set(m))},[]),f=c.useCallback(m=>{r(m)},[]),v=c.useCallback(m=>{n(u=>{if(u.size===0)return u;const g=nd(u,m);return g.size===u.size?u:g})},[]),p=c.useCallback((m,u,g)=>{const j=sd(m,a,g,u);n(x=>{const k=td(m,j,u);if(k.length===0)return x;const S=new Set(x);for(const R of k)S.add(R);return S}),r(j)},[a]);return{selectedIds:t,selectedCount:t.size,hasSelection:t.size>0,isSelected:o,toggle:i,select:l,deselect:d,selectAll:b,clearSelection:h,toggleAll:y,selectRange:p,setAnchor:f,anchorId:a,intersectWith:v}},Ht={delete_failed:{label:"Not deleted",title:"This message was not deleted",detail:"Remit removed it here first, then refused to finish the delete on the mail server — most often because the Trash folder it was headed for is not there any more. The message is back in this folder because that is where the server still has it.",retryLabel:"Delete again",retryPendingLabel:"Deleting…"},move_failed:{label:"Not moved",title:"This message was not moved",detail:"Remit filed it here first, then could not finish the move on the mail server and stopped trying. The message is back in this folder because that is where the server still has it. The folder you picked is not recorded, so moving it again means choosing one.",retryLabel:"Move again",retryPendingLabel:"Moving…"}};function Xa({settlement:e,className:t}){const n=Ht[e];return s.jsxs(Ce,{tone:"danger",className:D("shrink-0",t),title:n.title,"data-settlement":e,children:[s.jsx(Da,{className:"size-3 shrink-0","aria-hidden":!0}),s.jsx("span",{children:n.label})]})}function od({settlement:e,onRetry:t,action:n,retryPending:a,reportHref:r,className:o}){const i=Ht[e];return s.jsxs("div",{role:"alert","data-testid":"message-settlement-notice","data-settlement":e,className:D("flex items-start gap-2 rounded-md border border-danger/40 bg-danger-soft px-3 py-2 text-sm",o),children:[s.jsx(Da,{className:"mt-0.5 size-4 shrink-0 text-danger","aria-hidden":!0}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsx("p",{className:"font-medium text-danger",children:i.title}),s.jsx("p",{className:"mt-1 break-words text-fg-muted",children:i.detail}),s.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-3",children:[n,t&&s.jsx("button",{type:"button",onClick:t,disabled:a,className:"font-medium text-accent hover:underline disabled:opacity-50",children:a?i.retryPendingLabel:i.retryLabel}),r&&s.jsx("a",{href:r,target:"_blank",rel:"noreferrer",className:"font-medium text-accent hover:underline",children:"Report an issue"})]})]})]})}const Za="outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset",er=({active:e,focused:t})=>D("relative flex h-8 w-full items-center gap-2 px-row-inset text-left",Za,e?"bg-accent-2-soft":t?"bg-surface-sunken":"hover:bg-surface-sunken",t&&!e&&"before:absolute before:inset-y-0 before:left-0 before:w-0.5 before:bg-accent-2"),Qs=({active:e,focused:t})=>D("relative flex w-full items-start gap-3 py-2 pl-5 pr-row-inset text-left transition-colors",Za,e?"bg-accent-2-soft":t?"bg-surface-sunken":"hover:bg-surface-sunken",t&&!e&&"before:absolute before:inset-y-0 before:left-0 before:w-0.5 before:bg-accent-2");function tr({thread:e}){const t=!e.isRead;return s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"flex w-4 shrink-0 items-center justify-center",children:e.suspicious?s.jsx(nt,{className:"size-3.5 text-danger"}):e.starred?s.jsx(et,{className:"size-3 fill-warning text-warning"}):t?s.jsx("span",{className:"size-1.5 rounded-full bg-accent"}):null}),s.jsx("span",{className:D("w-36 shrink-0 truncate text-xs",t?"font-semibold text-fg":"text-fg-muted"),children:e.fromName}),s.jsxs("span",{className:"min-w-0 flex-1 truncate text-xs",children:[s.jsx("span",{className:D(t?"font-medium text-fg":"text-fg-muted"),children:e.subject}),s.jsxs("span",{className:"text-fg-subtle",children:[" — ",e.snippet]})]}),e.hasAttachment&&s.jsx(Zt,{className:"size-3 shrink-0 text-fg-subtle",role:"img","aria-label":"Has an attachment"}),e.settlement&&s.jsx(Xa,{settlement:e.settlement}),s.jsx("span",{className:"w-11 shrink-0 text-right text-2xs text-fg-subtle tabular-nums",children:e.timeLabel})]})}function Tn(e,t){const n=t?.trim();if(!n)return e;const a=e.toLowerCase(),r=n.toLowerCase(),o=[];let i=0,l=a.indexOf(r,i),d=0;for(;l!==-1;)l>i&&o.push(e.slice(i,l)),o.push(s.jsx("mark",{className:"bg-transparent font-semibold text-fg",children:e.slice(l,l+r.length)},d++)),i=l+r.length,l=a.indexOf(r,i);return i<e.length&&o.push(e.slice(i)),o}function id({thread:e,badge:t,highlightQuery:n}){const a=!e.isRead;return s.jsxs("span",{className:"min-w-0 flex-1",children:[s.jsxs("span",{className:"flex items-baseline justify-between gap-2",children:[s.jsxs("span",{className:D("flex min-w-0 items-center gap-1.5 truncate text-sm",a?"font-semibold text-fg":"font-medium text-fg-muted"),children:[e.trust==="vip"&&s.jsx("span",{className:"size-1.5 shrink-0 rounded-full bg-accent-2"}),s.jsx("span",{className:"truncate",children:e.fromName}),e.messageCount!=null&&e.messageCount>1&&s.jsx("span",{className:"shrink-0 text-2xs font-normal text-fg-subtle",children:e.messageCount})]}),s.jsx("span",{className:"shrink-0 text-2xs text-fg-subtle tabular-nums",children:e.timeLabel})]}),s.jsxs("span",{className:"flex items-center gap-1.5",children:[s.jsx("span",{className:D("truncate text-sm",a?"text-fg":"text-fg-muted"),children:Tn(e.subject,n)}),e.suspicious&&s.jsx(nt,{className:"size-3.5 shrink-0 text-danger"}),e.starred&&s.jsx(et,{className:"size-3 shrink-0 fill-warning text-warning"}),e.hasAttachment&&s.jsx(Zt,{className:"size-3 shrink-0 text-fg-subtle",role:"img","aria-label":"Has an attachment"})]}),s.jsxs("span",{className:"flex items-center gap-1.5",children:[s.jsx("span",{className:"line-clamp-1 min-w-0 flex-1 text-xs text-fg-subtle",children:Tn(e.snippet,n)}),e.category&&e.category!=="personal"&&s.jsx(Ce,{tone:oa[e.category],className:"shrink-0",children:Vr(e.category)}),e.labels?.map(r=>s.jsx(Yr,{label:r,className:"max-w-20"},r.labelId)),e.settlement&&s.jsx(Xa,{settlement:e.settlement}),t]})]})}function ld({thread:e,selection:t}){if(!t)return s.jsx(gt,{name:e.fromName,email:e.fromEmail,size:"sm"});const{checked:n,alwaysVisible:a}=t;return s.jsxs("span",{className:"relative size-7 shrink-0",children:[s.jsx(gt,{name:e.fromName,email:e.fromEmail,size:"sm",className:D("absolute inset-0 transition-opacity sm:group-hover:opacity-0",(n||a)&&"opacity-0")}),s.jsx("span",{role:"button",tabIndex:-1,onClick:t.onToggle,onKeyDown:r=>{r.key!=="Enter"&&r.key!==" "||(r.preventDefault(),r.stopPropagation(),t.onToggle(r))},className:D("absolute inset-0 size-7 items-center justify-center rounded-full border transition-opacity",a?"flex":"hidden sm:flex",n?"bg-accent border-accent text-accent-fg opacity-100":a?"border-fg-subtle/40 bg-canvas opacity-100":"border-fg-subtle/40 bg-canvas opacity-0 group-hover:opacity-100"),"aria-label":n?"Deselect message":"Select message",children:n&&s.jsx(Gt,{className:"size-3"})})]})}function Ws({thread:e,selection:t,badge:n,highlightQuery:a}){const r=!e.isRead;return s.jsxs(s.Fragment,{children:[r&&s.jsx("span",{className:"absolute left-1.5 top-1/2 size-1.5 -translate-y-1/2 rounded-full bg-accent"}),s.jsx(ld,{thread:e,selection:t}),s.jsx(id,{thread:e,badge:n,highlightQuery:a})]})}const sr=e=>({...gi,[Jr]:"","data-message-id":e.id});function Dp({thread:e,active:t,focused:n,tabIndex:a,onClick:r}){return s.jsx("button",{type:"button",...sr(e),tabIndex:a,onClick:r,className:er({active:t,focused:n}),children:s.jsx(tr,{thread:e})})}function Fp({thread:e,active:t,focused:n,tabIndex:a,selection:r,onClick:o}){return s.jsx("button",{type:"button",...sr(e),tabIndex:a,onClick:o,className:D("group",Qs({active:t,focused:n})),children:s.jsx(Ws,{thread:e,selection:r})})}let Je;const cd=5e3;function nr(e){e.preventDefault(),qt()}function qt(){Je!==void 0&&(clearTimeout(Je),Je=void 0,document.removeEventListener("contextmenu",nr,!0),document.removeEventListener("pointerup",qt,!0))}function dd(){Je===void 0?(document.addEventListener("contextmenu",nr,!0),document.addEventListener("pointerup",qt,!0)):clearTimeout(Je),Je=setTimeout(qt,cd)}function ud({onLongPress:e,isDisabled:t,delayMs:n=500,accessibilityDescription:a}){const{longPressProps:r}=kc({isDisabled:t,threshold:n,accessibilityDescription:a,onLongPress:e}),o=c.useCallback(i=>{i.pointerType!=="touch"&&i.pointerType!=="pen"||dd()},[]);return{longPressProps:It(r,{onPointerDown:o})}}const ut="min-h-11 min-w-11 px-0";function ar({hasThread:e,onReply:t,onReplyAll:n,onForward:a,isStarred:r,onToggleStar:o,onDelete:i,isRead:l,onToggleRead:d,moveSlot:b,overflowItems:h=[],onUnavailable:y,unavailableHint:f,className:v}){const p=(u,g)=>()=>{if(!e){y?.(u);return}g?.()},m=d?[{key:"toggle-read",label:l?"Mark as unread":"Mark as read",icon:l?s.jsx(Ti,{className:"size-4"}):s.jsx(Hs,{className:"size-4"}),onSelect:p("toggleRead",d)}]:[];return s.jsxs("div",{className:D("relative",v),children:[s.jsxs("div",{className:"flex h-12 shrink-0 items-center gap-0.5 bg-canvas px-1",children:[t&&s.jsx(q,{variant:"ghost",size:"sm",icon:s.jsx(qs,{className:"size-5"}),onClick:p("reply",t),"aria-label":"Reply",title:"Reply",className:ut}),n&&s.jsx(q,{variant:"ghost",size:"sm",icon:s.jsx(Ya,{className:"size-5"}),onClick:p("replyAll",n),"aria-label":"Reply all",title:"Reply all",className:ut}),a&&s.jsx(q,{variant:"ghost",size:"sm",icon:s.jsx(Va,{className:"size-5"}),onClick:p("forward",a),"aria-label":"Forward",title:"Forward",className:ut}),s.jsx("div",{className:"flex-1"}),o&&s.jsx(q,{variant:"ghost",size:"sm",icon:s.jsx(et,{className:D("size-5",r&&"fill-warning text-warning")}),onClick:p("star",o),"aria-label":r?"Unstar":"Star","aria-pressed":r,title:r?"Unstar":"Star",className:ut}),b,i&&s.jsx(q,{variant:"ghost",size:"sm",icon:s.jsx(vt,{className:"size-5"}),onClick:p("delete",i),"aria-label":"Move to Trash",title:"Move to Trash",className:ut}),s.jsx(Ia,{triggerLabel:"More actions",items:[...m,...h]})]}),!e&&f&&s.jsx("p",{role:"status",className:"bg-surface-sunken px-3 py-1 text-2xs text-fg-subtle",children:f})]})}function rr({message:e,onClick:t,isFocused:n,isUnread:a,trailing:r}){const o=s.jsxs(s.Fragment,{children:[s.jsx(Ps,{className:"size-3.5 shrink-0 text-fg-subtle"}),s.jsxs("div",{className:"relative shrink-0",children:[s.jsx(gt,{name:e.fromName,email:e.fromEmail,size:"md"}),a&&s.jsx("span",{className:"absolute -top-0.5 -right-0.5 size-2 rounded-full border border-canvas bg-accent"})]}),s.jsx("span",{className:D("w-36 shrink-0 truncate text-sm",a?"font-semibold text-fg":"font-medium text-fg-muted"),children:e.fromName}),s.jsx("span",{className:"min-w-0 flex-1 truncate text-xs text-fg-subtle",children:e.snippet}),r??s.jsx("span",{className:"shrink-0 text-2xs text-fg-subtle tabular-nums",children:e.dateLabel})]}),i=D("group flex h-section-row w-full items-center gap-3 border-b border-line px-2 text-left transition-colors hover:bg-surface-sunken lg:px-4",n&&"bg-surface-sunken ring-1 ring-inset ring-accent/30");return t?s.jsx("div",{role:"button",tabIndex:0,"aria-expanded":!1,onClick:t,onKeyDown:l=>{Xr(l)&&(l.preventDefault(),t())},className:D(i,"cursor-pointer"),children:o}):s.jsx("div",{className:i,children:o})}function or({message:e,warning:t,onHeaderClick:n,isFocused:a,senderBadge:r,trailing:o,to:i,indicators:l,actionMenu:d,actionBar:b,body:h}){const y=s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[s.jsxs("span",{className:"text-sm font-semibold text-fg",children:[e.fromName,r]}),o??s.jsx("span",{className:"text-2xs text-fg-subtle",children:e.dateLabel})]}),s.jsx("div",{className:"text-xs text-fg-subtle",children:e.fromEmail}),i!==null&&s.jsx("div",{className:"text-xs text-fg-subtle",children:i??s.jsxs(s.Fragment,{children:["to ",e.toLabel]})})]});return s.jsxs("div",{className:"px-2 py-3 lg:px-4",children:[s.jsxs("div",{className:D("-mx-2 -my-1 flex items-start gap-3 rounded-sm px-2 py-1",a&&"ring-1 ring-inset ring-accent/30"),children:[n?s.jsx("button",{type:"button",onClick:n,"aria-expanded":!0,"aria-label":"Collapse message",className:"mt-1 shrink-0 text-fg-subtle transition-colors hover:text-fg",children:s.jsx(Ke,{className:"size-3.5"})}):s.jsx(Ke,{className:"mt-1 size-3.5 shrink-0 text-fg-subtle"}),s.jsx(gt,{name:e.fromName,email:e.fromEmail,size:"md"}),s.jsxs("div",{className:"min-w-0 flex-1",children:[n?s.jsx("button",{type:"button",onClick:n,className:"w-full text-left",children:y}):y,l]}),d&&s.jsx("div",{className:"shrink-0",children:d})]}),t&&s.jsxs("div",{className:"mt-3 flex items-start gap-3 rounded-md bg-danger-soft p-3",children:[s.jsx(nt,{className:"mt-0.5 size-4 shrink-0 text-danger"}),s.jsxs("div",{className:"text-sm text-fg",children:[s.jsx("span",{className:"font-semibold text-danger",children:"Caution: "}),t," ",s.jsx("button",{type:"button",className:"text-accent underline",children:"Why?"})]})]}),b&&s.jsx("div",{className:"mt-3 -mx-2 lg:-mx-4",children:b}),s.jsx(Ri,{children:h??s.jsx(Ei,{className:"mt-3",html:e.bodyHtml,category:e.framed?"newsletter":"personal",allowImages:!0})})]})}function fd({thread:e,onBack:t,intelligence:n,intelligenceOpen:a,onToggleIntelligence:r,actions:o,children:i,touchHandlers:l}){const[d,b]=c.useState(!1),h=r!==void 0,y=h?a??!1:d,f=!!n||h,v=()=>{if(h){r?.();return}b(m=>!m)},p=()=>{if(h){y&&r?.();return}b(!1)};return s.jsxs("article",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[s.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-2 border-b border-line bg-surface px-row-inset",children:[s.jsx(q,{variant:"ghost",size:"sm",icon:s.jsx(la,{className:"size-4"}),onClick:t,"aria-label":"Back to messages",className:"-ml-1 shrink-0"}),s.jsx("h2",{className:"min-w-0 flex-1 truncate text-sm font-semibold text-fg",children:e.subject}),f&&s.jsx(q,{variant:"ghost",size:"sm",icon:s.jsx(ia,{className:"size-4"}),onClick:v,"aria-label":y?"Hide intelligence panel":"Show intelligence panel","aria-pressed":y,title:"Intelligence",className:D("shrink-0",y&&"bg-accent-2-soft text-accent-2")})]}),s.jsx("div",{className:"flex-1 overflow-y-auto",style:l?{touchAction:"pan-y"}:void 0,...l,children:i??[...e.messages].reverse().map(m=>{const u=g=>g?()=>g(m.id):void 0;return m.expanded?s.jsx(or,{message:m,warning:e.warning,onHeaderClick:u(o?.onToggleExpand),actionBar:s.jsx(ar,{hasThread:!0,onReply:u(o?.onReply),onReplyAll:u(o?.onReplyAll),onForward:u(o?.onForward),onToggleStar:u(o?.onToggleStar),onDelete:u(o?.onDelete),onToggleRead:u(o?.onToggleRead),moveSlot:o?.moveSlot?.(m.id)})},m.id):s.jsx(rr,{message:m,onClick:u(o?.onToggleExpand)},m.id)})}),n&&!h&&s.jsx(Zr,{open:y,onClose:p,title:"Intelligence",anchor:"right",className:"p-0",children:s.jsx(Ja,{data:n,onClose:p,className:"h-full w-full border-l-0"})})]})}function md(e){return{id:e.id,fromName:e.sender,fromEmail:e.senderEmail??e.sender,subject:e.subject,snippet:e.snippet,timeLabel:e.date,isRead:!e.unread,starred:e.flagged,...e.mailboxId?{mailboxId:e.mailboxId}:{}}}function pd({result:e,onClick:t,query:n,showFolder:a=!0}){const r=a&&e.folder?eo(e.folder):void 0;return s.jsx("button",{type:"button",onClick:t,className:D("group",Qs({}),"border-b border-line"),children:s.jsx(Ws,{thread:md(e),highlightQuery:n,badge:s.jsxs(s.Fragment,{children:[r&&s.jsx(Ce,{tone:"neutral",className:"shrink-0",children:r}),e.category&&s.jsx(Ce,{tone:e.category.tone??"neutral",className:"shrink-0",children:e.category.label}),e.matchedChunkLabel&&s.jsx(Ce,{tone:"neutral",className:"shrink-0",children:`matched: ${e.matchedChunkLabel}`}),e.score!=null&&s.jsx("span",{className:"shrink-0 text-2xs text-fg-subtle tabular-nums",children:e.score.toFixed(2)})]})})})}const hd=e=>e===1?"result":"results";function gd({count:e,onScopeToSpam:t}){return s.jsx(ca,{tone:"info",variant:"soft",className:"items-center justify-between gap-3 rounded-none border-b border-line",children:s.jsxs("div",{className:"flex items-center justify-between gap-3",children:[s.jsx("p",{className:"min-w-0 text-xs text-fg-muted",children:e.kind==="exact"?s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"font-semibold text-fg tabular-nums",children:e.value.toLocaleString()})," ",`${hd(e.value)} from Spam`]}):"Results from Spam"}),s.jsx(q,{variant:"ghost",size:"sm",onClick:t,className:"shrink-0 text-accent",children:"Go to Spam"})]})})}const Rn=6,xd={kind:"global"},En={kind:"unknown"},bd=e=>e.kind==="folder"&&e.role==="junk",vd=e=>e.folder?.role==="junk";function yd(e){const t=[],n=[];for(const a of e)vd(a)?n.push(a):t.push(a);return{kept:t,spam:n}}function ir({onClick:e,blockedReason:t}){const n=c.useId(),[a,r]=c.useState(!1);return s.jsxs("div",{className:"border-b border-line px-row-inset py-1.5",children:[s.jsxs("button",{type:"button",onClick:()=>{if(t){r(!0);return}e()},"aria-describedby":t?n:void 0,className:D("flex w-full items-center gap-1.5 rounded-md px-2 py-1.5 text-left text-xs font-medium transition-colors",t?"text-fg-subtle opacity-55":"text-accent hover:bg-surface-sunken"),children:[s.jsx(to,{className:"size-3.5 shrink-0","aria-hidden":"true"}),s.jsx("span",{children:"Make this a filter"})]}),t&&s.jsx(so,{id:n,reason:t,nudged:a,className:"px-2 pt-1 text-2xs text-warning"})]})}function kd({section:e,query:t,onSelectResult:n,showFolder:a}){const[r,o]=c.useState(e.initialCollapsed??!1),[i,l]=c.useState(!1),d=e.results.length>Rn,h=!i&&d?e.results.slice(0,Rn):e.results,y=e.results.length-h.length;return s.jsxs("div",{children:[s.jsxs("button",{type:"button","aria-expanded":!r,onClick:()=>o(f=>!f),className:"sticky top-0 z-10 flex h-section-row w-full items-center gap-1.5 border-b border-line bg-surface-sunken px-row-inset text-left transition-colors hover:bg-surface",children:[s.jsx("span",{className:"flex-1 text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:e.label}),s.jsx("span",{className:"text-2xs text-fg-subtle tabular-nums",children:e.results.length}),s.jsx(Ke,{className:D("size-3 shrink-0 text-fg-subtle transition-transform duration-200",r?"rotate-0":"rotate-180")})]}),!r&&s.jsxs(s.Fragment,{children:[h.map(f=>s.jsx(pd,{result:f,query:t,showFolder:a,onClick:n?()=>n(f):void 0},f.id)),d&&s.jsxs("button",{type:"button",onClick:()=>l(f=>!f),className:"flex w-full items-center justify-center border-b border-line px-row-inset py-1.5 text-2xs font-medium text-accent transition-colors hover:bg-surface",children:[i?"Show less":`Show ${y} more`,!i&&s.jsx(Ke,{className:"ml-1 size-3"})]})]})]})}function lr({value:e,recentSearches:t,onPickRecent:n,sections:a,loading:r,onSelectResult:o,tokens:i,scope:l=xd,makeFilter:d}){if(!(e.trim().length>0))return t&&t.length>0?s.jsxs("div",{className:"flex flex-col",children:[s.jsx("h3",{className:"px-row-inset pb-1 pt-3 text-2xs font-semibold uppercase tracking-wide text-fg-subtle",children:"Recent searches"}),t.map(I=>s.jsxs("button",{type:"button",onClick:()=>n?.(I),className:"flex w-full items-center gap-2.5 border-b border-line px-row-inset py-2.5 text-left transition-colors hover:bg-surface-sunken",children:[s.jsx($a,{className:"size-4 shrink-0 text-fg-subtle"}),s.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-fg-muted",children:I})]},I))]}):s.jsx("p",{className:"px-row-inset py-6 text-center text-sm text-fg-subtle",children:"Search across your mail by sender, subject or words in the message."});const h=i&&i.length>0&&s.jsx(no,{tokens:i}),y=d&&s.jsx(ir,{...d});if(r)return s.jsxs("div",{className:"flex flex-col",children:[y,h,s.jsx("div",{className:"flex flex-col gap-3 px-row-inset py-4",children:[0,1,2,3].map(I=>s.jsxs("div",{className:"flex flex-col gap-1.5",children:[s.jsx("div",{className:"h-3 w-1/3 animate-pulse rounded bg-surface-sunken"}),s.jsx("div",{className:"h-3 w-2/3 animate-pulse rounded bg-surface-sunken"}),s.jsx("div",{className:"h-2.5 w-1/2 animate-pulse rounded bg-surface-sunken"})]},I))})]});const f=l.kind==="global",v=bd(l)||l.kind==="collection",p=f||l.kind==="collection",m=(a??[]).map(I=>{if(v)return{section:I,spam:[]};const{kept:F,spam:L}=yd(I.results);return{section:{...I,results:F},spam:L}}),u=m.map(I=>I.section),g=m.reduce((I,F)=>I+F.spam.length,0),x=(l.kind==="global"?l.spamCount:void 0)??En,k=g>0||x.kind==="exact"&&x.value>0,R=x.kind==="exact"&&x.value===0&&g>0?En:x,T=l.kind==="global"&&k&&l.onScopeToSpam!==void 0?s.jsx(gd,{count:R,onScopeToSpam:l.onScopeToSpam}):void 0;return u.some(I=>I.results.length>0)?s.jsxs("div",{className:"flex flex-col",children:[y,h,T,u.filter(I=>I.results.length>0).map(I=>s.jsx(kd,{section:I,query:e,showFolder:p,onSelectResult:o},I.id))]}):s.jsxs("div",{className:"flex flex-col",children:[y,h,T,s.jsxs("div",{className:"px-row-inset py-10 text-center",children:[s.jsxs("p",{className:"text-sm font-medium text-fg",children:["No matches for “",e,"”"]}),s.jsx("p",{className:"mt-1 text-xs text-fg-subtle",children:"Try a different word, or adjust the filters above."})]})]})}function jd({value:e,onChange:t,onClear:n,onCancel:a,filter:r,recentSearches:o,onPickRecent:i,sections:l,loading:d,onSelectResult:b,tokens:h,chips:y,onRemoveChip:f,scope:v,makeFilter:p,suggest:m,suggestList:u}){const g=s.jsx(lr,{value:e,recentSearches:o,onPickRecent:i,sections:l,loading:d,onSelectResult:b,tokens:h,scope:v,makeFilter:p});return s.jsxs("article",{className:"flex h-full w-full min-w-0 flex-col bg-canvas",children:[s.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-2 border-b border-line bg-surface px-row-inset",children:[s.jsx("div",{className:"min-w-0 flex-1",children:s.jsx(Sa,{value:e,onChange:t,onClear:n,chips:y,onRemoveChip:f,globalFocusKey:!1,showClearButton:!1,suggest:m})}),s.jsx(q,{variant:"ghost",size:"sm",icon:s.jsx(Xe,{className:"size-4"}),onClick:a,"aria-label":"Clear and close search",className:"-mr-1 shrink-0"})]}),u,r&&e.trim().length===0?s.jsx(ao,{children:s.jsx(aa,{...r,children:g})}):s.jsx("div",{className:"flex-1 overflow-y-auto",children:g})]})}const Mn=e=>e.toLocaleString();function An({selectAll:e,selecting:t,className:n}){return s.jsx(Ll,{className:n,checked:e.checked,indeterminate:e.indeterminate,onChange:e.onChange,label:s.jsx("span",{className:"font-medium text-accent",children:e.checked&&t?"Deselect all":"Select all"})})}function Cd({title:e,count:t,onCancel:n,onDelete:a,onMove:r,onOrganize:o,onJunk:i,onMarkRead:l,navSlot:d,titleMeta:b,searchSlot:h,searchField:y,idleSlot:f,overflowSlot:v,isBusy:p=!1,isCounting:m=!1,selectAll:u,statusLabel:g,progress:j,notice:x}){const k=t>0||m,S=u?.checked?`All ${Mn(t)} loaded selected`:`${Mn(t)} ${t===1?"message":"messages"} selected`,R=[];return i&&!p&&!m&&R.push({key:"junk",label:"Junk",icon:s.jsx(nt,{className:"size-4"}),onSelect:i}),l&&!p&&!m&&R.push({key:"mark-read",label:"Mark read",icon:s.jsx(Hs,{className:"size-4"}),onSelect:l}),s.jsxs("header",{"data-selection-bar":"",className:"flex shrink-0 flex-col border-b border-line bg-surface-sunken",children:[s.jsxs("div",{"data-selection-bar-row":"actions",className:"flex h-pane-header items-center gap-1 px-row-inset",children:[k?s.jsx(q,{variant:"ghost",size:"touch",icon:s.jsx(la,{className:"size-5"}),onClick:n,"aria-label":"Cancel selection",className:"-ml-2 shrink-0"}):d,u&&s.jsx(An,{selectAll:u,selecting:k,className:"hidden shrink-0 pr-2 md:flex"}),k?s.jsx("span",{"data-selection-count":"",className:"min-w-0 flex-1 truncate px-1 text-sm font-medium text-fg",role:"status","aria-live":"polite",children:g??S}):y?s.jsx("div",{className:"flex min-w-0 flex-1 items-center gap-1",children:y}):s.jsxs(s.Fragment,{children:[s.jsx("h1",{className:"min-w-0 flex-1 truncate px-1 text-sm font-semibold text-fg",children:e}),b,h]}),k&&!m&&s.jsxs(s.Fragment,{children:[s.jsx(q,{variant:"ghost",size:"touch",icon:p?s.jsx(na,{className:"size-5 animate-spin"}):s.jsx(vt,{className:"size-5 text-danger"}),onClick:p?void 0:a,"aria-label":"Move selected messages to Trash","aria-busy":p||void 0,className:"shrink-0"}),!p&&r&&s.jsx(q,{variant:"ghost",size:"touch",icon:s.jsx(Ds,{className:"size-5"}),onClick:r,"aria-label":"Move selected messages",className:"shrink-0"}),!p&&o&&s.jsx(q,{variant:"ghost",size:"touch",icon:s.jsx(Ze,{className:"size-5"}),onClick:o,"aria-label":"Organize selected messages",className:"shrink-0"})]}),k&&s.jsx(Ia,{triggerLabel:"More actions",items:R,className:"shrink-0",children:!p&&!m&&v})]}),!k&&f,k&&u&&s.jsx("div",{"data-selection-bar-row":"select-all",className:"px-row-inset pb-2 md:hidden",children:s.jsx(An,{selectAll:u,selecting:k,className:"w-full"})}),j&&s.jsx("div",{className:"px-row-inset pb-2",children:s.jsx(ro,{value:j.value,max:j.max,tone:j.tone})}),x&&s.jsx(ca,{"data-selection-notice":"",tone:x.tone,variant:"soft",role:"status","aria-live":"polite",className:"mx-row-inset mb-2",children:s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[x.text&&s.jsx("span",{children:x.text}),x.action&&s.jsx(q,{variant:"ghost",size:"md",onClick:x.action.onClick,className:"-my-1 min-h-11 shrink-0",children:x.action.label})]})})]})}const cr={id:"unread",label:"Unread"},wd={id:"flagged",label:"Starred"},dr={id:"attachment",label:"Has attachment"};function Nd(e){if(!(e.length<=1))return e.map(t=>({id:t.id,label:t.label,count:t.count,active:t.active}))}function Op(e=[]){return{categories:[...Wt],filters:ra,sources:Nd(e)}}function zp(){return{categories:[...Wt],filters:[cr,wd,dr]}}function _p(){return{categories:[...Wt],filters:[cr,dr]}}function Sd(e,t){return e.endsWith(t)?e.length===t.length||e[e.length-t.length-1]===".":!1}function Id(e,t){const n=e.length-t.length-2,a=e.lastIndexOf(".",n);return a===-1?e:e.slice(a+1)}function Td(e,t,n){if(n.validHosts!==null){const r=n.validHosts;for(const o of r)if(Sd(t,o))return o}let a=0;if(t.startsWith("."))for(;a<t.length&&t[a]===".";)a+=1;return e.length===t.length-a?null:Id(t,e)}const vs=/[\t\n\r]/g;let Ts=!1;function Ln(e){return e>=97&&e<=122||e>=48&&e<=57||e>127||e>=65&&e<=90||e===45||e===95}function $n(e,t,n){const a=n-t,r=e.charCodeAt(t)|32;if(a===2)return r===119&&(e.charCodeAt(t+1)|32)===115?1:0;if(a===3){const o=e.charCodeAt(t+1)|32,i=e.charCodeAt(t+2)|32;return r===119&&o===115&&i===115||r===102&&o===116&&i===112?1:0}else if(a===4){const o=e.charCodeAt(t+1)|32,i=e.charCodeAt(t+2)|32,l=e.charCodeAt(t+3)|32;return r===104&&o===116&&i===116&&l===112?1:r===102&&o===105&&i===108&&l===101?2:0}else if(a===5)return r===104&&(e.charCodeAt(t+1)|32)===116&&(e.charCodeAt(t+2)|32)===116&&(e.charCodeAt(t+3)|32)===112&&(e.charCodeAt(t+4)|32)===115?1:0;return 0}function mt(e,t,n=!1){let a=0,r=e.length,o=!1,i=!1;if(Ts=!1,!t){if(e.startsWith("data:"))return null;for(;a<e.length&&e.charCodeAt(a)<=32;)a+=1;for(;r>a+1&&e.charCodeAt(r-1)<=32;)r-=1;if(e.charCodeAt(a)===47&&e.charCodeAt(a+1)===47)a+=2;else{const u=e.indexOf(":/",a);if(u!==-1){const g=$n(e,a,u);if(g===1)for(i=!0,a=u+2;e.charCodeAt(a)===47||e.charCodeAt(a)===92;)a+=1;else if(g===2){i=!0,a=u+1;let j=0;for(;(e.charCodeAt(a)===47||e.charCodeAt(a)===92)&&j<2;)a+=1,j+=1;if(j<2)return null}else{for(let j=a;j<u;j+=1){const x=e.charCodeAt(j)|32;if(!(x>=97&&x<=122||x>=48&&x<=57||x===46||x===45||x===43)){const k=e.charCodeAt(j);return k===9||k===10||k===13?mt(e.replace(vs,""),t,n):null}}if(e.charCodeAt(u+2)===47)a=u+3;else return null}}else if(e.charCodeAt(a)!==91){let g=-1;for(let j=a;j<r;j+=1){const x=e.charCodeAt(j);if(x===9||x===10||x===13)return mt(e.replace(vs,""),t,n);if(x===58){g=j;break}if(x===47||x===92||x===63||x===35)break}if(g!==-1){let j=!1;for(let x=g+1;x<r;x+=1){const k=e.charCodeAt(x);if(k===47||k===92||k===63||k===35)break;if(k===64){j=!0;break}}if(!j){let x=!0,k=g+1;for(;k<r;k+=1){const S=e.charCodeAt(k);if(S===47||S===92||S===63||S===35)break;if(S<48||S>57){x=!1;break}}if(k===g+1&&(x=!1),!x){const S=$n(e,a,g);if(S===0){let R=!1;for(let T=g+1;T<r;T+=1){const M=e.charCodeAt(T);if(M===47||M===92||M===63||M===35)break;if(M===58){R=!0;break}}if(!R)return null}else if(i=!0,a=g+1,S===2){let R=0;for(;(e.charCodeAt(a)===47||e.charCodeAt(a)===92)&&R<2;)a+=1,R+=1;if(R<2)return null}else for(;e.charCodeAt(a)===47||e.charCodeAt(a)===92;)a+=1}}}}}let d=-1,b=-1,h=-1,y=-1,f=!1,v=n,p=a-1,m=-1;if(n&&a<r){const u=e.charCodeAt(a);(!(Ln(u)||u===46||u===95)||u===45)&&(v=!1)}for(let u=a;u<r;u+=1){const g=e.charCodeAt(u);if(g<64)if(g===47||g===35||g===63){r=u;break}else g===58?(y===-1&&(y=u),h=u):g===9||g===10||g===13?f=!0:n&&(g===46?((u-p>64||m===46||m===45)&&(v=!1),p=u):(g<48||g>57)&&(g!==45||m===46)&&(v=!1));else if(i&&g===92){r=u;break}else g===64?(d=u,y=-1):g===93?b=u:g>=65&&g<=90?o=!0:n&&!Ln(g)&&(v=!1);n&&(m=g)}if(f)return mt(e.replace(vs,""),t,n);if(d!==-1&&d>=a&&d<r&&(a=d+1),e.charCodeAt(a)===91)return b!==-1?e.slice(a+1,b).toLowerCase():null;if(h!==-1&&h>a&&h<r&&y===h&&(r=h),a>=r)return null;n&&v&&d===-1&&h===-1&&b===-1&&e.charCodeAt(r-1)!==46&&r-a<=255&&r-p-1<=63&&m!==45&&(Ts=!0)}for(;r>a+1&&e.charCodeAt(r-1)===46;)r-=1;const l=a!==0||r!==e.length?e.slice(a,r):e;return o?l.toLowerCase():l}function Rd(e){if(e.length<7||e.length>15)return!1;let t=0;for(let n=0;n<e.length;n+=1){const a=e.charCodeAt(n);if(a===46)t+=1;else if(a<48||a>57)return!1}return t===3&&e.charCodeAt(0)!==46&&e.charCodeAt(e.length-1)!==46}function Ed(e){if(e.length<3)return!1;let t=e.startsWith("[")?1:0,n=e.length;if(e[n-1]==="]"&&(n-=1),n-t>39)return!1;let a=!1;for(;t<n;t+=1){const r=e.charCodeAt(t);if(r===58)a=!0;else if(!(r>=48&&r<=57||r>=97&&r<=102||r>=65&&r<=70))return!1}return a}function Md(e){return Ed(e)||Rd(e)}function Pn(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function Dn(e){if(e.length>255||e.length===0||!Pn(e.charCodeAt(0))&&e.charCodeAt(0)!==46&&e.charCodeAt(0)!==95)return!1;let t=-1,n=-1;const a=e.length;for(let r=0;r<a;r+=1){const o=e.charCodeAt(r);if(o===46){if(r-t>64||n===46||n===45)return!1;t=r}else if(!(Pn(o)||o===45||o===95)||o===45&&n===46)return!1;n=o}return a-t-1<=63&&n!==45}function Ad({allowIcannDomains:e=!0,allowPrivateDomains:t=!1,detectIp:n=!0,detectSpecialUse:a=!1,extractHostname:r=!0,mixedInputs:o=!0,validHosts:i=null,validateHostname:l=!0}){return{allowIcannDomains:e,allowPrivateDomains:t,detectIp:n,detectSpecialUse:a,extractHostname:r,mixedInputs:o,validHosts:i,validateHostname:l}}const Ld=Ad({});function $d(e){return Ld}function Pd(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,isSpecialUse:null,publicSuffix:null,subdomain:null}}function Dd(e){e.domain=null,e.domainWithoutSuffix=null,e.hostname=null,e.isIcann=null,e.isIp=null,e.isPrivate=null,e.isSpecialUse=null,e.publicSuffix=null,e.subdomain=null}function Fd(e,t,n,a,r){const o=$d();if(typeof e!="string")return r;let i=!1;return o.extractHostname?o.mixedInputs?(i=Dn(e),r.hostname=mt(e,i,o.validateHostname)):r.hostname=mt(e,!1,o.validateHostname):r.hostname=e,o.detectIp&&r.hostname!==null&&(r.isIp=Md(r.hostname),r.isIp)?r:o.validateHostname&&o.extractHostname&&r.hostname!==null&&!(i&&r.hostname===e)&&!Ts&&!Dn(r.hostname)?(r.hostname=null,r):(r.hostname===null||(n(r.hostname,o,r),r.publicSuffix===null)||(r.domain=Td(r.publicSuffix,r.hostname,o)),r)}const Fn=Pd();function Od(e,t){return Dd(Fn),Fd(e,3,oo,t,Fn).domain}const ss=e=>{const t=new Set,n=[];for(const a of e){const r=a.trim();if(r==="")continue;const o=r.toLowerCase();t.has(o)||(t.add(o),n.push(r))}return n},zd=e=>{const t=e.lastIndexOf("@");return t>=0?e.slice(t+1):e},ur=e=>Od(zd(e.trim())),_d=e=>{const t=ss(e);if(t.length<2)return null;let n=null;for(const a of t){const r=ur(a);if(r===null)return null;if(n===null)n=r;else if(n!==r)return null}return n},Ud=e=>{const t=_d(e);return t!==null?[{field:"FromDomain",value:t}]:ss(e).map(n=>({field:"From",value:n}))},Bd=e=>{const t=new Map;for(const r of e){const o=r.normalizedEmail.trim().toLowerCase();if(o==="")continue;const i=t.get(o);i?i.count+=1:t.set(o,{sender:r,count:1})}let n,a=0;for(const{sender:r,count:o}of t.values())o<=a||(n=r,a=o);return n},fr=e=>e.displayName?.trim()||e.normalizedEmail,Kd=/^\s*(?:(?:re|aw|fwd?|vs|sv|antw|res|enc|tr)\s*(?:\[\d+\])?\s*:|\[[^\]]{1,32}\])\s*/i,Hd=e=>{let t=e.replace(/\s+/g," ").trim();for(;;){const n=t.replace(Kd,"");if(n===t)return t.trim();t=n}},qd=new Set(["a","an","and","are","as","at","be","by","for","from","has","have","in","is","it","me","my","new","of","on","or","our","the","this","to","was","we","with","you","your"]),Qd=3,ys=e=>e.split(" ").filter(t=>t!==""),On=e=>e.length===0||e.join(" ").length<Qd?!1:e.some(t=>!qd.has(t.toLowerCase())),Wd=(e,t)=>e.findIndex((n,a)=>t.every((r,o)=>e[a+o]?.toLowerCase()===r.toLowerCase())),Gd=e=>{const t=e.map(Hd).filter(o=>o!=="");if(t.length===0)return;const[n,...a]=t;if(a.length===0)return On(ys(n))?n:void 0;const r=ys(n);for(let o=r.length;o>0;o-=1)for(let i=0;i+o<=r.length;i+=1){const l=r.slice(i,i+o);if(On(l)&&a.every(d=>Wd(ys(d),l)>=0))return l.join(" ")}},Gs=(e,t)=>{const n=Ud(e);if(ss(e).length===1||n.length===1&&n[0].field==="FromDomain")return n;const a=Gd(t);return a!==void 0?[{field:"Subject",value:a}]:n},Vd=({match:e,sender:t,folder:n})=>{const a=e??t;return a?n?`${a} → ${n}`:e?`Mail matching ${e}`:`Mail from ${a}`:n?`Mail to ${n}`:""},Yd=e=>e.clauses.length>0,Jd=e=>({scopedOutFolder:e.scopedOut?.label,droppedFacets:e.droppedFacets.map(t=>t.label),droppedSemantic:e.droppedSemantic}),Xd=({orderedIds:e,isDesktop:t,initialFocusedId:n,initialSelectedIds:a,onExitSelection:r})=>{const[o,i]=c.useState(n),[l,d]=c.useState(),b=c.useCallback(w=>{d(P=>P===w?P:void 0),i(w)},[]),h=rd({initialSelectedIds:a}),{selectedCount:y,toggle:f,clearSelection:v,selectRange:p,setAnchor:m,selectAll:u}=h,g=ed(y,t),j=c.useRef(null),x=c.useRef(!1),k=c.useCallback(()=>{r?.(),v()},[v,r]),S=c.useMemo(()=>o?e.indexOf(o):-1,[e,o]),R=c.useCallback(w=>{if(w<0||w>=e.length)return;const P=e[w];if(g){f(P);return}j.current=P,x.current=!1,d(P),i(P)},[e,g,f]),T=c.useCallback(()=>{e.length!==0&&R(S<0?0:Math.min(S+1,e.length-1))},[e.length,S,R]),M=c.useCallback(()=>{e.length!==0&&R(S<=0?0:S-1)},[e.length,S,R]),I=c.useCallback(()=>R(0),[R]),F=c.useCallback(()=>R(e.length-1),[R,e.length]),L=c.useCallback(()=>{o&&f(o)},[o,f]),H=c.useCallback((w,P)=>{const N=Zc(P);return N==="range"?(p(e,w,o),!0):N==="toggle"?(f(w),!0):(k(),m(w),!1)},[e,o,p,f,k,m]),U=c.useCallback(w=>{const P=ad(e,o,w);P!==void 0&&(p(e,P),j.current=P,x.current=!1,d(void 0),i(P))},[e,o,p]),C=c.useCallback(()=>U(-1),[U]),A=c.useCallback(()=>U(1),[U]),$=c.useCallback(()=>{e.length>0&&u(e)},[e,u]);return{focusedMessageId:o,setFocusedMessageId:b,keyboardFocusedMessageId:l,focusIndex:S,pendingDomFocusRef:j,cursorMovedByPointerRef:x,selection:h,isMultiSelectMode:g,exitSelection:k,moveFocusToIndex:R,focusNext:T,focusPrevious:M,focusFirst:I,focusLast:F,toggleFocusedSelection:L,extendRangeUp:C,extendRangeDown:A,selectAllLoaded:$,handleRowSelect:H}};function Zd(e,t){if(e===void 0)return{shouldBlockFn:()=>!0,withResolver:!1};if("shouldBlockFn"in e)return e;if(typeof e=="function")return{shouldBlockFn:async()=>await e(),enableBeforeUnload:!0,withResolver:!1};const n=!!(e.condition??!0),a=e.blockerFn;return{shouldBlockFn:async()=>n&&a!==void 0?await a():n,enableBeforeUnload:n,withResolver:a===void 0}}function eu(e,t){const{shouldBlockFn:n,enableBeforeUnload:a=!0,disabled:r=!1,withResolver:o=!1}=Zd(e),i=io(),{history:l}=i,[d,b]=c.useState({status:"idle",current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0});return c.useEffect(()=>{const h=async y=>{function f(g){const j=i.parseLocation(g),x=i.getMatchedRoutes(j.pathname);return x.foundRoute===void 0?{routeId:"__notFound__",fullPath:j.pathname,pathname:j.pathname,params:x.routeParams,search:i.options.parseSearch(g.search)}:{routeId:x.foundRoute.id,fullPath:x.foundRoute.fullPath,pathname:j.pathname,params:x.routeParams,search:i.options.parseSearch(g.search)}}const v=f(y.currentLocation),p=f(y.nextLocation);if(v.routeId==="__notFound__"&&p.routeId!=="__notFound__")return!1;const m=await n({action:y.action,current:v,next:p});if(!o)return m;if(!m)return!1;const u=await new Promise(g=>{b({status:"blocked",current:v,next:p,action:y.action,proceed:()=>g(!1),reset:()=>g(!0)})});return b({status:"idle",current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0}),u};return r?void 0:l.block({blockerFn:h,enableBeforeUnload:a})},[n,a,r,o,l,i]),d}function Up(){const{insertIntoOpenReply:e}=da(),t=ua();return c.useCallback((n,a)=>{e(n.messageId,a)||t({...n,mode:"reply"},{body:a})},[e,t])}const ns=e=>{const{data:t,isLoading:n}=se({...tt(),staleTime:1/0,enabled:!!e}),a=c.useMemo(()=>(t?.accounts??[]).map(l=>l.accountId),[t?.accounts]),r=_s({queries:a.map(l=>({...yt({path:{accountId:l}}),staleTime:1/0,enabled:!!e}))}),o=n||r.some(l=>l.isLoading);return{accountId:c.useMemo(()=>{if(e){for(let l=0;l<a.length;l++)if((r[l].data?.items??[]).some(h=>h.mailboxId===e))return a[l]}},[e,a,r]),isLoading:o}},tu=({surface:e})=>{const t=lo(),n=co(),{registerOpenReply:a}=da(),[r,o]=c.useState(),i=c.useCallback(f=>o(v=>({version:(v?.version??0)+1,text:f})),[]),l=e.sourceMessageId;c.useEffect(()=>a(l,i),[l,i,a]);const{data:d}=se({...Yt({path:{messageId:e.sourceMessageId}})}),{data:b}=se({...tt(),staleTime:1/0}),{accountId:h}=ns(d?.message.mailboxId),y=b?.accounts?.find(f=>f.accountId===h);return s.jsx("div",{className:"border-b border-line bg-canvas",children:s.jsx(Fi,{layout:"flow",mode:e.mode,account:y,sourceMessage:d,outboxMessageId:e.outboxMessageId,seed:e.seed,insertion:r,onDraftCreated:t,onClose:n},e.sourceMessageId)})},su=3e3,nu=(e,t,n)=>{if(e.length===0)return()=>{};const a=setTimeout(()=>n(e),t);return()=>clearTimeout(a)},Vs=(e,t,n)=>{const a=new Map(t.map(o=>[o.messageId,o.mailboxId])),r=new Set;for(const o of e)r.add(a.get(o)??n);return[...r]},Qt=(e,t,n)=>e.map(a=>t.has(a.messageId)?{...a,isRead:n}:a),au=(e,t,n,a)=>e.filter(r=>!r.isRead&&t.has(r.threadMessageId)&&!n.has(r.messageId)&&!a.has(r.messageId)).map(r=>r.messageId),ru=({messages:e,expandedIds:t,threadId:n,mailboxId:a,accountId:r})=>{const o=pe(),{pushError:i}=ve(),l=c.useRef(new Set),d=c.useRef(new Set),{mutate:b}=ge({...Jt(),meta:uo,onMutate:async f=>{const v=new Set(f.body.messageIds??[]),p=f.body.isRead??!0,m=Ae({path:{threadId:n}}),u=Ee(Vs(v,e,a));await Promise.all([o.cancelQueries({queryKey:m}),Ct(o,u)]);const g=o.getQueriesData({queryKey:m}).filter(x=>x[1]!==void 0).map(([x,k])=>({queryKey:x,data:k})),j=wt(o,u);return o.setQueriesData({queryKey:m},x=>x&&{...x,items:Qt(x.items,v,p)}),Nt(o,u,x=>Qt(x,v,p)),{threadMessagesPrefix:m,listPrefixes:u,previousThreadMessages:g,previousThreadsList:j}},onSuccess:(f,v)=>{const p=v.body.messageIds??[];for(const m of p)l.current.add(m),d.current.delete(m)},onError:(f,v,p)=>{const m=v.body.messageIds??[];for(const g of m)d.current.delete(g);if(p){for(const g of p.previousThreadMessages)o.setQueryData(g.queryKey,g.data);jt(o,p.previousThreadsList)}const u=v.body.isRead??!0;i({title:u?"Couldn't mark as read":"Couldn't mark as unread",detail:Me(f),error:f})},onSettled:(f,v,p,m)=>{m&&(o.invalidateQueries({queryKey:m.threadMessagesPrefix}),Re(o,m.listPrefixes),r&&o.invalidateQueries({queryKey:kt({path:{accountId:r}})}))}}),h=c.useCallback(f=>{const v=f.filter(p=>!l.current.has(p)&&!d.current.has(p));if(v.length!==0){for(const p of v)d.current.add(p);b({body:{messageIds:v,isRead:!0}})}},[b]),y=c.useMemo(()=>au(e,t,l.current,d.current),[e,t]);c.useEffect(()=>nu(y,su,h),[y,h]),c.useEffect(()=>{l.current.clear(),d.current.clear()},[n])},Bp=e=>{const{mailboxId:t,accountId:n,messages:a}=e,r=pe(),{pushError:o}=ve(),{mutateAsync:i,isPending:l}=ge({...Jt(),onError:(b,h)=>{const y=h.body.isRead??!0;o({title:y?"Couldn't mark as read":"Couldn't mark as unread",detail:Me(b),error:b})},onSettled:(b,h,y)=>{Re(r,Ee(Vs(y.body.messageIds??[],a??[],t))),n&&r.invalidateQueries({queryKey:kt({path:{accountId:n}})})}});return{toggleReadFor:c.useCallback((b,h)=>{b.length!==0&&pt(b,y=>i({body:{messageIds:y,isRead:h}}))},[i]),isPending:l}},ou=60,iu=1.5,lu=(e,t,n)=>{const a=Math.abs(e),r=Math.abs(t);return a<n?{direction:null}:a<r*iu?{direction:null}:{direction:e<0?"left":"right"}},cu=({onSwipeLeft:e,onSwipeRight:t,thresholdPx:n=ou})=>{const a=c.useRef(null),r=c.useCallback(d=>{if(d.pointerType==="mouse"){a.current=null;return}a.current={x:d.clientX,y:d.clientY}},[]),o=c.useCallback(()=>{},[]),i=c.useCallback(d=>{const b=a.current;if(a.current=null,!b)return;const{direction:h}=lu(d.clientX-b.x,d.clientY-b.y,n);h==="left"&&e?.(),h==="right"&&t?.()},[e,t,n]),l=c.useCallback(()=>{a.current=null},[]);return{handlers:{onPointerDown:r,onPointerMove:o,onPointerUp:i,onPointerCancel:l}}},du=(e,t,n)=>t?.find(a=>a.messageId===e)?.mailboxId??n,zn=(e,t,n)=>e.map(a=>a.messageId===t?{...a,hasStars:n}:a),mr=({threadId:e,mailboxId:t,messages:n})=>{const a=pe(),{pushError:r}=ve(),{mutate:o,isPending:i,variables:l}=ge({...mo(),onMutate:async b=>{const h=b.path.messageId,y=b.body.isStarred??!1,f=Ae({path:{threadId:e}}),v=Ee([du(h,n,t)]);await Promise.all([a.cancelQueries({queryKey:f}),Ct(a,v)]);const p=a.getQueriesData({queryKey:f}).filter(u=>u[1]!==void 0).map(([u,g])=>({queryKey:u,data:g})),m=wt(a,v);return a.setQueriesData({queryKey:f},u=>fo(u,g=>zn(g,h,y))),Nt(a,v,u=>zn(u,h,y)),{threadMessagesPrefix:f,listPrefixes:v,previousThreadMessages:p,previousThreadsList:m}},onError:(b,h,y)=>{if(y){for(const v of y.previousThreadMessages)a.setQueryData(v.queryKey,v.data);jt(a,y.previousThreadsList)}const f=h.body.isStarred??!1;r({title:f?"Couldn't star message":"Couldn't unstar message",detail:Me(b),error:b})},onSettled:(b,h,y,f)=>{f&&(a.invalidateQueries({queryKey:f.threadMessagesPrefix}),Re(a,f.listPrefixes))}});return{toggleStar:(b,h)=>{o({path:{messageId:b},body:{isStarred:!h}})},isPending:i,pendingMessageId:i?l?.path.messageId:void 0}};function _n({authenticity:e,onOpenIntelligence:t}){return e.dkimMismatch?s.jsxs("div",{className:"flex items-start gap-2 rounded-none border-b border-danger/20 bg-danger-soft px-5 py-2.5 text-sm",children:[s.jsx(nt,{className:"mt-0.5 size-4 shrink-0 text-danger"}),s.jsxs("p",{className:"flex-1 leading-snug text-fg",children:["This message claims to be from"," ",s.jsx("span",{className:"font-semibold",children:e.fromDomain})," but was sent",e.dkimDomain?` via ${e.dkimDomain}`:" from a different domain","."," ",t&&s.jsx("button",{type:"button",onClick:t,className:"font-medium text-danger hover:underline",children:"Why?"})]})]}):null}function pr(e){return e===void 0?"uncategorized":e}const uu={inbox:"Inbox",junk:"Junk"},Ys=e=>e.destinationMailboxId!==void 0,fu=(e,t)=>{if(Ys(e))return`Moved from ${t??"another folder"} by Remit`;const n=e.fromPlacement??"";return`Moved from ${uu[n]??"another folder"} by Remit`},mu=(e,t)=>{if(e===rn.MoveToInbox)return t.inboxMailboxId;if(e===rn.MoveToJunk)return t.junkMailboxId},pu=(e,t,n)=>{if(!e||!t)return!1;const a=Ys(e)?e.destinationMailboxId:mu(e.action,n);return a!==void 0&&a===t},hu="Reported as spam",gu=(e,t)=>{if(e){if(Ys(e))return e.fromMailboxId;if(e.fromPlacement==="inbox")return t.inboxMailboxId;if(e.fromPlacement==="junk")return t.junkMailboxId}},Tt=(e,t)=>{const{data:n,isLoading:a}=se({...tt(),staleTime:1/0,enabled:!!e});return{mailboxId:c.useMemo(()=>e?n?.accounts.find(i=>i.accountId===e)?.folderAppointments.find(i=>i.role===t)?.mailboxId:void 0,[n,e,t]),isLoading:a}},Kp=e=>{const{mailboxId:t,isLoading:n}=Tt(e,"Archive");return{archiveMailboxId:t,isLoading:n}},Hp=e=>{const{mailboxId:t,isLoading:n}=Tt(e,"Drafts");return{draftsMailboxId:t,isLoading:n}},xu=e=>{const{mailboxId:t,isLoading:n}=Tt(e,"Inbox");return{inboxMailboxId:t,isLoading:n}},hr=e=>{const{mailboxId:t,isLoading:n}=Tt(e,"Junk");return{junkMailboxId:t,isLoading:n}},qp=e=>{const{mailboxId:t,isLoading:n}=Tt(e,"Trash");return{trashMailboxId:t,isLoading:n}},bu=()=>{const{data:e,isError:t}=se({...tt(),staleTime:1/0});return{trashByAccount:c.useMemo(()=>{const a=new Map;for(const r of e?.accounts??[]){const o=r.folderAppointments.find(i=>i.role==="Trash");a.set(r.accountId,{mailboxId:o?.mailboxId,source:o?.source??"None",staleFolderPath:o?.staleAppointmentPath})}return a},[e]),hasAppointments:e!==void 0,isError:t}},gr=e=>{const{data:t}=se({...tt(),staleTime:1/0,enabled:!!e});return c.useMemo(()=>t?.accounts.find(n=>n.accountId===e)?.folderAppointments??[],[t,e])},vu=new Set(["in_flight"]),Un=(e,t)=>{const n=e?.[t];return typeof n=="string"?n:void 0},xr=e=>{const t=po(e);if(t?.code!=="message_placement_unsettled")return;const{details:n}=t;if(!n)return;const a=Un(n,"reason"),r=Un(n,"messageId");if(!(!a||!vu.has(a)||!r))return{reason:a,messageId:r}},br=(e,t,n)=>({severity:"warning",title:t>1?`Couldn't ${n} ${t} messages yet`:`Couldn't ${n} this message yet`,detail:"It is still being moved on the mail server. Try again in a moment."}),Bn=(e,t)=>e.filter(n=>!t.has(n.messageId)),Rt=({mailboxId:e,threadId:t,accountId:n,onAfterOptimisticRemove:a})=>{const r=pe(),{pushError:o}=ve(),{mutateAsync:i,isPending:l,isError:d}=ge({...ho(),meta:fa(409),onMutate:async h=>{const y=new Set(h.body.messageIds??[]),f=t?Ae({path:{threadId:t}}):[],v=Ee([e,h.body.destinationMailboxId]);await Promise.all([...t?[r.cancelQueries({queryKey:f})]:[],Ct(r,v)]);const p=t?r.getQueriesData({queryKey:f}).filter(u=>u[1]!==void 0).map(([u,g])=>({queryKey:u,data:g})):[],m=wt(r,v);return t&&r.setQueriesData({queryKey:f},u=>u&&{...u,items:Bn(u.items,y)}),Nt(r,v,u=>Bn(u,y)),a?.(Array.from(y)),{threadMessagesPrefix:f,listPrefixes:v,previousThreadMessages:p,previousThreadsList:m}},onError:(h,y,f)=>{if(f){for(const m of f.previousThreadMessages)r.setQueryData(m.queryKey,m.data);jt(r,f.previousThreadsList)}const v=y.body.messageIds?.length??0,p=xr(h);if(p){o(br(p,v,"move"));return}o({title:v>1?`Couldn't move ${v} messages`:"Couldn't move this message",detail:Me(h),error:h})},onSettled:(h,y,f,v)=>{v&&(t&&r.invalidateQueries({queryKey:v.threadMessagesPrefix}),Re(r,v.listPrefixes),n&&r.invalidateQueries({queryKey:kt({path:{accountId:n}})}))}});return{moveMessages:c.useCallback((h,y)=>{h.length!==0&&pt(h,f=>i({body:{messageIds:f,destinationMailboxId:y}}))},[i]),isPending:l,isError:d}},yu="This message could not be processed. Please try again. If it keeps failing, report it.",ku=(e,t)=>e.replace(`Message ${t}'s`,"This message's"),Kn=e=>{if(e.failureCount===0)return;const t=e.failures?.[0],n=t?.reason??yu,a=t?ku(n,t.messageId):n;throw new bo(a,422)};function vr({mailboxId:e,threadId:t,accountId:n,onAfterOptimisticRemove:a}){const r=pe(),{pushError:o}=ve(),i=Ee([e]),l=t?Ae({path:{threadId:t}}):[],d=()=>{t&&r.invalidateQueries({queryKey:l}),Re(r,i),n&&r.invalidateQueries({queryKey:kt({path:{accountId:n}})})},b=()=>(m,u)=>{d(),a?.(u.body.messageIds)},h=m=>(u,g)=>{o({title:m(g.body.messageIds.length),detail:Me(u),error:u})},y=ge({mutationFn:async m=>{const{data:u}=await go({...m,throwOnError:!0});return Kn(u),u},meta:{softError:!0},onSuccess:b(),onError:h(m=>m>1?`Couldn't report ${m} messages as spam`:"Couldn't report this message as spam")}),f=ge({mutationFn:async m=>{const{data:u}=await xo({...m,throwOnError:!0});return Kn(u),u},meta:{softError:!0},onSuccess:b(),onError:h(m=>m>1?`Couldn't undo the spam report for ${m} messages`:"Couldn't undo the spam report")}),v=c.useCallback(m=>{m.length!==0&&pt(m,u=>y.mutateAsync({body:{messageIds:u}}))},[y.mutateAsync]),p=c.useCallback(m=>{m.length!==0&&pt(m,u=>f.mutateAsync({body:{messageIds:u}}))},[f.mutateAsync]);return{reportSpam:v,notSpam:p,isReporting:y.isPending,isRestoring:f.isPending}}const ju=({accountId:e,messageId:t,threadId:n,mailboxId:a,autoMoved:r,spamReport:o})=>{const{inboxMailboxId:i}=xu(e),{junkMailboxId:l}=hr(e),{moveMessages:d,isPending:b}=Rt({mailboxId:a,threadId:n,accountId:e}),{notSpam:h,isRestoring:y}=vr({mailboxId:a,threadId:n,accountId:e}),{data:f}=se({...yt({path:{accountId:e??""}}),staleTime:1/0,enabled:!!e&&r?.fromMailboxId!==void 0}),v={inboxMailboxId:i,junkMailboxId:l},p=gu(r,v),m=c.useCallback(()=>{p&&d([t],p)},[d,t,p]),u=c.useCallback(()=>{h([t])},[h,t]);if(o)return{show:!0,label:hu,onUndo:u,isUndoing:y};if(!pu(r,a,v)||!r)return{show:!1,label:"",isUndoing:!1};const j=r.fromMailboxId?f?.items.filter(x=>x.mailboxId===r.fromMailboxId).map(x=>vo(x))[0]:void 0;return{show:!0,label:fu(r,j),onUndo:p?m:void 0,isUndoing:b,...r.filterId?{filtersHref:"/settings/filters"}:{}}};function Cu({accountId:e,messageId:t,threadId:n,mailboxId:a,autoMoved:r,spamReport:o}){const i=ju({accountId:e,messageId:t,threadId:n,mailboxId:a,autoMoved:r,spamReport:o});return i.show?s.jsx(Lc,{label:i.label,onUndo:i.onUndo,undoLabel:i.isUndoing?"Undoing…":"Undo",filtersHref:i.filtersHref}):null}const wu=({trigger:e,children:t,align:n="right"})=>{const[a,r]=c.useState(!1),o=c.useRef(null),i=c.useCallback(l=>{o.current&&!o.current.contains(l.target)&&r(!1)},[]);return Xt({id:"dropdown-menu",open:a,answers:{back:()=>r(!1)}}),c.useEffect(()=>(a&&document.addEventListener("mousedown",i),()=>document.removeEventListener("mousedown",i)),[a,i]),s.jsxs("div",{ref:o,className:"relative",children:[s.jsx("button",{type:"button",onClick:l=>{l.stopPropagation(),r(!a)},className:D("p-1.5 min-h-11 min-w-11 inline-flex items-center justify-center rounded-md transition-colors","hover:bg-surface-raised text-fg-muted hover:text-fg"),children:e}),a&&s.jsx("div",{className:D("absolute z-50 mt-1 min-w-[180px] py-1","bg-surface border border-line rounded-md shadow-lg",n==="right"?"right-0":"left-0"),children:t})]})},zt=({onClick:e,disabled:t,destructive:n,children:a})=>s.jsx("button",{type:"button",onClick:r=>{r.stopPropagation(),t||e()},disabled:t,className:D("w-full px-3 py-2 text-left text-sm transition-colors","flex items-center gap-2",t&&"opacity-50 cursor-not-allowed",!t&&"hover:bg-surface-raised",n&&"text-danger hover:text-danger"),children:a}),Nu=()=>s.jsx("div",{className:"my-1 h-px bg-line"}),Hn=(e,t)=>e.filter(n=>!t.has(n.messageId)),Qp=e=>e.filter(t=>t.isDeleted!==!0),as=({mailboxId:e,threadId:t,accountId:n,messages:a,onAfterOptimisticRemove:r})=>{const o=pe(),{pushError:i}=ve(),{requestAppointment:l}=ma(),d=c.useRef([]),b=c.useRef(async()=>{}),{mutateAsync:h,isPending:y}=ge({...ko(),meta:fa(409),onMutate:async p=>{const m=new Set(p.body.messageIds??[]),u=t?Ae({path:{threadId:t}}):[],g=Ee(Vs(m,a??[],e));await Promise.all([o.cancelQueries({queryKey:u}),Ct(o,g)]);const j=t?o.getQueriesData({queryKey:u}).filter(k=>k[1]!==void 0).map(([k,S])=>({queryKey:k,data:S})):[],x=wt(o,g);return t&&o.setQueriesData({queryKey:u},k=>k&&{...k,items:Hn(k.items,m)}),Nt(o,g,k=>Hn(k,m)),r?.(Array.from(m)),{threadMessagesPrefix:u,listPrefixes:g,previousThreadMessages:j,previousThreadsList:x}},onSuccess:(p,m)=>{const u=p?.failureCount??0;if(u===0)return;const g=m.body.messageIds?.length??0;i({severity:"warning",title:u>1?`Couldn't delete ${u} of ${g} messages yet`:"Couldn't delete this message yet",detail:"Something else moved it while the delete was being prepared. It is back where it now sits — try again."})},onError:(p,m,u)=>{if(u){for(const k of u.previousThreadMessages)o.setQueryData(k.queryKey,k.data);jt(o,u.previousThreadsList)}const g=yo(p);if(g){const k=d.current;l({accountId:g.accountId,role:g.role,reason:g.reason,action:{kind:"delete",count:k.length},onAppointed:()=>b.current(k)});return}const j=m.body.messageIds?.length??0,x=xr(p);if(x){i(br(x,j,"delete"));return}i({title:j>1?`Couldn't delete ${j} messages`:"Couldn't delete this message",detail:Me(p),error:p})},onSettled:(p,m,u,g)=>{g&&(t&&o.invalidateQueries({queryKey:g.threadMessagesPrefix}),Re(o,g.listPrefixes),n&&o.invalidateQueries({queryKey:kt({path:{accountId:n}})}))}}),f=c.useCallback(p=>pt(p,m=>h({body:{messageIds:m}})),[h]);return c.useEffect(()=>{b.current=f},[f]),{deleteMessages:c.useCallback(p=>{p.length!==0&&(d.current=p,f(p))},[f]),isPending:y}},yr="inline-flex items-center justify-center transition-colors",Su=D(yr,"min-h-11 min-w-11 rounded hover:bg-surface-raised"),Iu=D(yr,"min-h-11 gap-1.5 px-3 rounded text-sm font-medium hover:bg-surface-raised"),rs=({accountId:e,currentMailboxId:t,onMove:n,disabled:a=!1,disabledHint:r,variant:o="icon-only",label:i,defaultOpen:l=!1})=>{const[d,b]=c.useState(l),[h,y]=c.useState(),f=Fs(),v=c.useRef(null),p=c.useRef(null),m=c.useRef(null),u=i??"Move to folder",g=c.useId(),j=pa(),{data:x,isLoading:k,isError:S,error:R,refetch:T}=se({...yt({path:{accountId:e}}),staleTime:1/0,enabled:d}),M=gr(e),{createFolderIn:I}=ha(e),F=c.useMemo(()=>ga({mailboxes:x?.items??[],folderAppointments:M,currentMailboxId:t,translator:j}),[x?.items,M,t,j]),L=xa(x?.items??[]),H=F.find(K=>K.id===h),U=c.useCallback(()=>{b(!1),y(void 0);const K=document.activeElement;K&&p.current?.contains(K)&&m.current?.focus()},[]),C=c.useCallback(()=>{H&&(U(),n(H.id))},[H,U,n]);Xt({id:"move-to",open:d,answers:{back:U}}),c.useEffect(()=>{if(!d||!f)return;const K=_=>{const W=_.target;v.current?.contains(W)||p.current?.contains(W)||U()};return document.addEventListener("mousedown",K),()=>document.removeEventListener("mousedown",K)},[d,f,U]);const A=()=>v.current?.getBoundingClientRect()??null,$=a||!!r,w=s.jsxs("button",{type:"button",ref:m,onClick:K=>{K.stopPropagation(),!$&&b(_=>!_)},"aria-label":u,"aria-haspopup":f?"tree":"dialog","aria-expanded":d,"aria-controls":d?g:void 0,title:r,className:o==="icon-only"?Su:Iu,children:[s.jsx(Ds,{className:o==="icon-only"?"size-5":"size-4"}),o==="compact"&&s.jsx("span",{className:"hidden sm:inline",children:"Move"})]}),P=k?s.jsx("div",{className:"px-3 py-5 text-sm text-fg-muted",children:"Loading folders…"}):S?s.jsx("div",{className:"p-3",children:s.jsx(Be,{variant:"inline",title:"Couldn't load folders",error:R,onRetry:()=>T()})}):s.jsx(jo,{folders:F,selectedId:h,delimiter:L,onSelect:y,onCreateFolder:I,onCancel:U,autoFocusFilter:f,labels:{filterPlaceholder:"Filter folders…",filterAriaLabel:"Filter folders"}}),N=H&&s.jsx("div",{className:"shrink-0 border-t border-line p-2",children:s.jsx(q,{variant:"primary",onClick:C,className:"h-11 w-full font-semibold",children:`Move to ${H.label}`})});return f?s.jsxs("div",{ref:v,className:"relative inline-block",children:[w,s.jsx(Si,{open:d,align:"end",panelRef:p,getAnchor:A,children:s.jsxs("div",{id:g,ref:p,className:D("w-72 max-h-96 flex flex-col","bg-surface border border-line rounded-md shadow-lg"),children:[P,N]})})]}):s.jsxs(s.Fragment,{children:[w,s.jsx(Ve.Root,{open:d,onOpenChange:K=>K?b(!0):U(),children:s.jsxs(Ve.Portal,{children:[s.jsx(Ve.Overlay,{className:"fixed inset-0 z-40 bg-black/40"}),s.jsxs(Ve.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:{maxHeight:"85dvh"},id:g,children:[s.jsx(Ve.Handle,{className:"mx-auto mt-2 mb-1 h-1.5 w-12 rounded-full bg-fg-subtle/30"}),s.jsx(Ve.Title,{className:"px-4 py-2 text-base font-semibold border-b border-line",children:"Move to folder"}),s.jsx("div",{className:"flex min-h-0 flex-1 overflow-hidden",children:P}),N]})]})})]})},Tu=({messageId:e,threadId:t,mailboxId:n,isRead:a,accountId:r,fromAddressId:o,isTrusted:i=!1,showRaw:l=!1,onToggleRaw:d})=>{const b=pe(),h=bi(),{pushError:y}=ve(),f=vi()?.messageId,{mutate:v,isPending:p}=ge({...Jt(),onMutate:async A=>{const $=A.body.isRead??!0,w=new Set(A.body.messageIds??[]),P=Ae({path:{threadId:t}}),N=Ee([n]);await Promise.all([b.cancelQueries({queryKey:P}),Ct(b,N)]);const K=b.getQueriesData({queryKey:P}).filter(W=>W[1]!==void 0).map(([W,X])=>({queryKey:W,data:X})),_=wt(b,N);return b.setQueriesData({queryKey:P},W=>W&&{...W,items:Qt(W.items,w,$)}),Nt(b,N,W=>Qt(W,w,$)),{threadMessagesPrefix:P,listPrefixes:N,previousThreadMessages:K,previousThreadsList:_}},onError:(A,$,w)=>{if(w){for(const N of w.previousThreadMessages)b.setQueryData(N.queryKey,N.data);jt(b,w.previousThreadsList)}const P=$.body.isRead??!0;y({title:P?"Couldn't mark as read":"Couldn't mark as unread",detail:Me(A),error:A})},onSettled:(A,$,w,P)=>{P&&(b.invalidateQueries({queryKey:P.threadMessagesPrefix}),Re(b,P.listPrefixes))}}),m=c.useCallback(A=>{f&&A.includes(f)&&h()},[f,h]),{deleteMessages:u,isPending:g}=as({mailboxId:n,threadId:t,onAfterOptimisticRemove:m}),{moveMessages:j,isPending:x}=Rt({mailboxId:n,threadId:t,accountId:r,onAfterOptimisticRemove:m}),{toggleTrusted:k,isPending:S,error:R,reset:T}=Ta({messageId:e}),M=()=>{v({body:{messageIds:[e],isRead:!1}})},I=()=>{u([e])},F=()=>{o&&k(o,i)},L=p||g||x||S,H=L||!o,U=c.useCallback(A=>{j([e],A)},[j,e]),C=o?void 0:"Sender has no parseable address";return s.jsxs("div",{className:"flex flex-col items-end gap-1",children:[s.jsxs("div",{className:"flex items-center gap-1",children:[r&&s.jsx(rs,{accountId:r,currentMailboxId:n,onMove:U,disabled:L,label:"Move this message"}),s.jsxs(wu,{trigger:s.jsx(Ii,{className:"size-4"}),children:[s.jsxs(zt,{onClick:F,disabled:H,children:[i?s.jsx(ts,{className:"size-4 text-positive"}):s.jsx(Gt,{className:"size-4 opacity-0"}),s.jsx("span",{title:C,children:"Trusted sender"})]}),a&&s.jsxs(zt,{onClick:M,disabled:L,children:[s.jsx(Hs,{className:"size-4"}),"Mark as unread"]}),d&&s.jsxs(zt,{onClick:d,children:[s.jsx(Ga,{className:"size-4"}),l?"Show formatted":"Show raw email"]}),s.jsx(Nu,{}),s.jsxs(zt,{onClick:I,disabled:L,destructive:!0,children:[s.jsx(vt,{className:"size-4"}),"Delete"]})]})]}),R&&s.jsx("div",{className:"w-64",children:s.jsx(Be,{variant:"inline",title:"Couldn't update trust",error:R,onRetry:()=>{T(),F()}})})]})},Ru=e=>{const t=e.toUpperCase();return t==="OCTET-STREAM"?"FILE":t},Eu=e=>{const t=e.toLowerCase().replace(/[^a-z0-9]/g,"");return t.length>0?`attachment.${t}`:"attachment"},qn=e=>e.filter(t=>!t.isMultipart&&t.disposition===Co.Attachment&&t.contentUrl.length>0).map(t=>({bodyPartId:t.bodyPartId,filename:Oi(t.dispositionFilename??"",Eu(t.mediaSubtype)),typeLabel:Ru(t.mediaSubtype),sizeOctets:t.sizeOctets,contentUrl:t.contentUrl})),Qn={status:"idle"},Mu=({messageId:e,bodyParts:t,hasAttachment:n=!1,className:a})=>{const{getToken:r}=ba(),o=pe(),[i,l]=c.useState({}),d=c.useMemo(()=>qn(t??[]),[t]),b=wo({path:{messageId:e}}),h=p=>fn(p.contentUrl,r).catch(m=>{if(!Ki(un(m)))throw m;return o.refetchQueries({queryKey:b}).then(()=>{const u=o.getQueryData(b),g=u?qn(u.bodyParts).find(j=>j.bodyPartId===p.bodyPartId):void 0;return fn(g?.contentUrl??p.contentUrl,r)})}),y=(p,m)=>l(u=>({...u,[p]:m})),f=p=>{const m=d.find(u=>u.bodyPartId===p);if(!m)throw new Error(`No attachment part ${p} on message ${e}`);y(p,{status:"downloading"}),h(m).then(u=>{zi(u,m.filename),y(p,Qn)}).catch(u=>{const g=un(u),j=_i(u),{title:x,detail:k}=Ui(g,m.filename,j);y(p,{status:"failed",title:x,detail:k,reportUrl:Bi(g,m.filename,j)})})},v=n&&t!==void 0&&d.length===0;return s.jsx(Ac,{className:a,attachments:d.map(p=>({attachmentId:p.bodyPartId,filename:p.filename,typeLabel:p.typeLabel,sizeOctets:p.sizeOctets,download:i[p.bodyPartId]??Qn})),onDownload:f,hasUnlistedAttachment:v})},kr=e=>e.syncStatus===No.abandoned?e.abandonedMutation:ht.none;function Au({threadMessage:e,accountId:t,className:n}){const a=kr(e),r=a===ht.delete?"delete_failed":a===ht.move?"move_failed":void 0,{accountId:o}=ns(r==="move_failed"&&!t?e.mailboxId:void 0),i=t??o,{deleteMessages:l,isPending:d}=as({mailboxId:e.mailboxId,threadId:e.threadId,accountId:i,messages:[e]}),{moveMessages:b,isPending:h}=Rt({mailboxId:e.mailboxId,threadId:e.threadId,accountId:i}),y=c.useCallback(()=>{l([e.messageId])},[l,e.messageId]),f=c.useCallback(p=>{b([e.messageId],p)},[b,e.messageId]),v=c.useMemo(()=>r?So(Io({title:Ht[r].title,errorMessage:`Message ${e.messageId}: status=${e.status} syncStatus=${e.syncStatus} abandonedMutation=${e.abandonedMutation}`})):void 0,[r,e.messageId,e.status,e.syncStatus,e.abandonedMutation]);return r?s.jsx(od,{settlement:r,onRetry:r==="delete_failed"?y:void 0,action:r==="move_failed"&&i?s.jsx(rs,{accountId:i,currentMailboxId:e.mailboxId,onMove:f,disabled:h,variant:"compact",label:Ht.move_failed.retryLabel}):void 0,retryPending:r==="delete_failed"?d:h,reportHref:v,className:n}):null}const Lu=({messageId:e,threadId:t,mailboxId:n,accountId:a,isRead:r,isStarred:o,onToggleStar:i,fromAddressId:l,isTrusted:d,showRaw:b,onToggleRaw:h,onReply:y,onReplyAll:f,onForward:v})=>{const p=pe(),{deleteMessages:m}=as({mailboxId:n,threadId:t}),{moveMessages:u}=Rt({mailboxId:n,threadId:t,accountId:a}),{toggleTrusted:g}=Ta({messageId:e}),{mutate:j}=ge({...Jt(),onSettled:()=>{p.invalidateQueries({queryKey:Ae({path:{threadId:t}})}),Re(p,Ee([n]))}}),x=c.useCallback(T=>{u([e],T)},[u,e]),k=c.useCallback(()=>{m([e])},[m,e]),S=c.useCallback(()=>{j({body:{messageIds:[e],isRead:!r}})},[j,e,r]),R=[];return l&&R.push({key:"trusted",label:d?"Trusted sender":"Mark sender trusted",icon:d?s.jsx(ts,{className:"size-4 text-positive"}):s.jsx(Gt,{className:"size-4"}),onSelect:()=>g(l,d)}),h&&R.push({key:"raw",label:b?"Show formatted":"Show raw email",icon:s.jsx(Ga,{className:"size-4"}),onSelect:h}),s.jsx(ar,{hasThread:!0,onReply:y,onReplyAll:f,onForward:v,isStarred:o,onToggleStar:i,onDelete:k,isRead:r,onToggleRead:S,overflowItems:R,moveSlot:a?s.jsx(rs,{accountId:a,currentMailboxId:n,onMove:x,label:"Move this message"}):void 0})},$u=()=>s.jsxs("div",{className:"animate-pulse space-y-2",role:"status","aria-label":"Loading raw email",children:[s.jsx("div",{className:"h-4 bg-surface-sunken rounded w-full"}),s.jsx("div",{className:"h-4 bg-surface-sunken rounded w-11/12"}),s.jsx("div",{className:"h-4 bg-surface-sunken rounded w-5/6"}),s.jsx("div",{className:"h-4 bg-surface-sunken rounded w-3/4"})]}),Pu=({messageId:e,enabled:t=!0})=>{const{data:n,isLoading:a,isError:r,error:o,refetch:i}=se({...To({path:{messageId:e}}),enabled:t});if(a)return s.jsx("div",{className:"message-body",children:s.jsx($u,{})});if(r)return s.jsx("div",{className:"message-body",children:s.jsx(Be,{variant:"inline",title:"Couldn't load the raw email",error:o,onRetry:()=>i()})});const l=n?.raw??"";return l===""?s.jsx("div",{className:"message-body",children:s.jsx("p",{className:"text-fg-muted text-sm italic",children:"No raw source available for this message."})}):s.jsx("div",{className:"message-body",children:s.jsx("pre",{className:"email-text whitespace-pre-wrap break-words text-sm leading-relaxed bg-surface-sunken rounded-md p-3 max-h-[32rem] overflow-auto",children:l})})},Du=()=>s.jsx(ts,{className:"inline-block size-4 ml-1 -mt-0.5 text-positive align-middle","aria-label":"Trusted sender","data-testid":"trusted-sender-badge"}),jr=(e,t)=>({id:e.messageId,fromName:e.fromName??e.fromEmail??"?",fromEmail:e.fromEmail??"",toLabel:"",dateLabel:t,snippet:e.snippet||"",bodyHtml:""}),Cr=({isStarred:e,onToggleStar:t,isStarPending:n,hoverReveal:a})=>s.jsx("button",{type:"button",onClick:r=>{r.stopPropagation(),t()},disabled:n,"aria-label":e?"Remove star":"Add star",className:D("shrink-0 p-0.5 rounded transition-colors",e?"text-warning":D("text-fg-subtle hover:text-warning",a&&"opacity-0 group-hover:opacity-100 focus:opacity-100"),n&&"opacity-50"),children:s.jsx(et,{className:D("size-3.5",e&&"fill-current")})}),Fu=({threadMessage:e,isFocused:t,onToggle:n,onToggleStar:a,isStarPending:r})=>{const o=va(e.sentDate,"datetime"),i=jr(e,o);return s.jsx(rr,{message:i,onClick:n,isFocused:t,isUnread:!e.isRead,trailing:s.jsxs(s.Fragment,{children:[e.hasAttachment&&s.jsx(Zt,{className:"size-3 shrink-0 text-fg-subtle",role:"img","aria-label":"Has an attachment"}),s.jsx(Cr,{isStarred:e.hasStars,onToggleStar:a,isStarPending:r,hoverReveal:!0}),s.jsx("span",{"data-testid":"message-date",className:"shrink-0 text-2xs text-fg-subtle tabular-nums",children:o})]})})},Ou=({threadMessage:e,messageData:t,isLoading:n,isError:a,error:r,onRetry:o,isFocused:i,onToggle:l,onToggleStar:d,isStarPending:b,accountId:h,showRaw:y,onToggleRaw:f,mobile:v,onReply:p,onReplyAll:m,onForward:u})=>{const g=va(e.sentDate,"long"),j=!e.isRead,x=t?.envelope.from[0]?.flags?.trusted?.value===!0,k=t?.envelope.from[0]?.flags?.blocked?.value===!0,S=t?.envelope.from[0]?.addressId,R=jr(e,g),T=e.autoMoved||e.spamReport?s.jsx(Cu,{accountId:h,messageId:e.messageId,threadId:e.threadId,mailboxId:e.mailboxId,autoMoved:e.autoMoved,spamReport:e.spamReport}):null;return s.jsx(or,{message:R,isFocused:v?!1:i,onHeaderClick:l,senderBadge:x&&!k?s.jsx(Du,{}):void 0,trailing:s.jsx("span",{"data-testid":"message-date",className:"text-2xs text-fg-subtle",children:g}),to:t?s.jsx(Ec,{label:"To",addresses:t.envelope.to}):null,indicators:T||!v?s.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 mt-0.5",children:[T,!v&&s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"flex items-center justify-end gap-1",children:s.jsx(Cr,{isStarred:e.hasStars,onToggleStar:d,isStarPending:b})}),j&&s.jsx("span",{className:"size-1.5 rounded-full bg-accent","aria-label":"Unread"})]})]}):void 0,actionMenu:v?void 0:s.jsx(Tu,{messageId:e.messageId,threadId:e.threadId,mailboxId:e.mailboxId,isRead:e.isRead,accountId:h,fromAddressId:S,isTrusted:x,showRaw:y,onToggleRaw:f}),actionBar:v?s.jsx(Lu,{messageId:e.messageId,threadId:e.threadId,mailboxId:e.mailboxId,accountId:h,isRead:e.isRead,isStarred:e.hasStars,onToggleStar:d,fromAddressId:S,isTrusted:x,showRaw:y,onToggleRaw:f,onReply:p,onReplyAll:m,onForward:u}):void 0,body:s.jsxs(s.Fragment,{children:[s.jsx(Au,{threadMessage:e,accountId:h,className:"mt-3"}),n?s.jsxs("div",{className:"mt-3 animate-pulse space-y-2",children:[s.jsx("div",{className:"h-4 bg-surface-sunken rounded w-full"}),s.jsx("div",{className:"h-4 bg-surface-sunken rounded w-3/4"}),s.jsx("div",{className:"h-4 bg-surface-sunken rounded w-1/2"})]}):a&&Ro(r)?s.jsx("div",{className:"mt-3",children:s.jsx(La,{message:"This message has been deleted"})}):a?s.jsx("div",{className:"mt-3",children:s.jsx(Be,{variant:"inline",title:"Couldn't load this message",error:r,onRetry:o})}):y?s.jsx("div",{className:"mt-3",children:s.jsx(Pu,{messageId:e.messageId})}):s.jsxs("div",{className:"mt-3",children:[s.jsx(Mi,{bodyParts:t?.bodyParts,messageId:e.messageId,fromAddressId:t?.envelope.from[0]?.addressId,isTrusted:x,isBlocked:k,category:pr(e.category)}),s.jsx(Mu,{messageId:e.messageId,bodyParts:t?.bodyParts,hasAttachment:e.hasAttachment,className:"mt-4"})]})]})})},zu=({threadMessage:e,isExpanded:t,isFocused:n,onToggle:a,onToggleStar:r,isStarPending:o,accountId:i,mobile:l,onReply:d,onReplyAll:b,onForward:h})=>{const[y,f]=c.useState(!1),{data:v,isLoading:p,isError:m,error:u,refetch:g}=se({...Yt({path:{messageId:e.messageId}}),enabled:t,meta:{softError:!0}});return t?s.jsx(Ou,{threadMessage:e,messageData:v,isLoading:p,isError:m,error:u,onRetry:()=>g(),isFocused:n,onToggle:a,onToggleStar:r,isStarPending:o,accountId:i,showRaw:y,onToggleRaw:()=>f(j=>!j),mobile:l,onReply:d,onReplyAll:b,onForward:h}):s.jsx(Fu,{threadMessage:e,isFocused:n,onToggle:a,onToggleStar:r,isStarPending:o})},_u=()=>s.jsxs("div",{className:"animate-pulse p-4",children:[s.jsx("div",{className:"h-6 bg-surface-sunken rounded w-3/4 mb-5"}),s.jsx("div",{className:"space-y-4",children:Array.from({length:2}).map((e,t)=>s.jsxs("div",{className:"flex gap-3 py-3",children:[s.jsx("div",{className:"size-10 bg-surface-sunken rounded-full shrink-0"}),s.jsxs("div",{className:"flex-1",children:[s.jsx("div",{className:"h-4 bg-surface-sunken rounded w-32 mb-2"}),s.jsx("div",{className:"h-3 bg-surface-sunken rounded w-48"})]})]},t))})]}),Wp=({threadId:e,mailboxId:t,subject:n,selectedMessageId:a,authenticity:r,onOpenIntelligence:o,onBack:i,onSwipeNext:l,onSwipePrevious:d,mobileIntelligenceOpen:b,listOnScreen:h=!1})=>{const y=Fs(),{handlers:f}=cu({onSwipeLeft:l,onSwipeRight:d}),{accountId:v}=ns(t),{data:p,isLoading:m,isError:u,error:g,refetch:j}=se({...ya({path:{threadId:e}})}),x=c.useMemo(()=>p?.items??[],[p?.items]),k=x[x.length-1],S=c.useMemo(()=>[...x].reverse(),[x]),R=c.useRef(new Map),[T,M]=c.useState(new Set),[I,F]=c.useState(null),[L,H]=c.useState(0);c.useEffect(()=>{if(x.length>0&&e!==I){F(e);const Q=new Set([x[x.length-1].threadMessageId]);if(a){const G=x.find(oe=>oe.messageId===a);G&&Q.add(G.threadMessageId)}M(Q),H(0)}},[e,x,I,a]);const U=c.useCallback(Q=>{M(G=>{const oe=new Set(G);return oe.has(Q)?oe.delete(Q):oe.add(Q),oe})},[]),C=c.useCallback(Q=>{const G=S[Q];if(!G)return;R.current.get(G.threadMessageId)?.scrollIntoView({behavior:"smooth",block:"nearest"})},[S]),A=c.useCallback(()=>{if(S.length===0)return;const Q=Math.min(L+1,S.length-1);H(Q),C(Q)},[S.length,L,C]),$=c.useCallback(()=>{if(S.length===0)return;const Q=Math.max(L-1,0);H(Q),C(Q)},[S.length,L,C]),w=c.useCallback(()=>{const Q=S[L];Q&&U(Q.threadMessageId)},[S,L,U]);ru({messages:x,expandedIds:T,threadId:e,mailboxId:t,accountId:v});const{toggleStar:P,isPending:N,pendingMessageId:K}=mr({threadId:e,mailboxId:t,messages:x}),_=Eo(),W=ua(),X=a??k?.messageId,J=c.useCallback((Q,G)=>{G&&W({threadId:e,messageId:G,mode:Q})},[W,e]),re=c.useCallback(()=>J("reply",X),[J,X]),Z=c.useCallback(()=>J("reply-all",X),[J,X]),ie=c.useCallback(()=>J("forward",X),[J,X]),ne=c.useRef(null),ue=_?.kind==="reply"?`${_.mode}:${_.sourceMessageId}`:void 0;if(c.useEffect(()=>{ue&&ne.current?.scrollIntoView({behavior:"smooth",block:"start"})},[ue]),Hi({enabled:!m&&x.length>0&&_===void 0,bindings:[...h?[]:[{key:"j",action:"focusNext",handler:A,preventDefault:!0},{key:"ArrowDown",action:"focusNext",handler:A,preventDefault:!0},{key:"k",action:"focusPrevious",handler:$,preventDefault:!0},{key:"ArrowUp",action:"focusPrevious",handler:$,preventDefault:!0},{key:"Enter",action:"openFocused",handler:w,preventDefault:!0},{key:"o",action:"openFocused",handler:w,preventDefault:!0}],{key:"r",action:"reply",handler:re,preventDefault:!0},{key:"R",action:"replyAll",handler:Z,noModifiers:!1,preventDefault:!0},{key:"f",action:"forward",handler:ie,preventDefault:!0}]}),m)return s.jsx(_u,{});if(u)return s.jsx("div",{className:"flex h-full items-center justify-center",children:s.jsx(Be,{title:_?"Couldn't load this conversation, so there is nothing to answer":"Couldn't load this conversation",error:g,onRetry:()=>j()})});if(x.length===0)return s.jsx("div",{className:"flex h-full items-center justify-center p-4",children:_?s.jsx(Be,{variant:"inline",title:"There is nothing here to answer",error:"This conversation has no messages left. Another mail client may have moved or deleted them."}):s.jsx(La,{message:"No messages in this thread"})});const he=n||x[0]?.subject||"(No subject)",fe=x.length,O=Q=>s.jsx("div",{"data-testid":"conversation-messages",children:S.map((G,oe)=>s.jsx("div",{ref:ye=>{ye&&R.current.set(G.threadMessageId,ye)},children:s.jsx(zu,{threadMessage:G,isExpanded:T.has(G.threadMessageId),isFocused:oe===L,onToggle:()=>U(G.threadMessageId),onToggleStar:()=>P(G.messageId,G.hasStars),isStarPending:N&&K===G.messageId,accountId:v,mobile:Q,onReply:Q?()=>J("reply",G.messageId):void 0,onReplyAll:Q?()=>J("reply-all",G.messageId):void 0,onForward:Q?()=>J("forward",G.messageId):void 0})},G.threadMessageId))}),z=_&&s.jsx("div",{ref:ne,children:_.kind==="reply"?s.jsx(tu,{surface:_}):s.jsx("div",{className:"border-b border-line bg-canvas p-4",children:s.jsx(Be,{variant:"inline",title:"That is not a way to answer a message",error:`"${_.segment}" is not reply, reply-all or forward.`})})}),ee=s.jsxs("header",{className:"border-b border-line px-5 pt-5 pb-3",children:[s.jsx("h1",{className:"max-w-2xl text-lg font-semibold leading-snug text-fg",children:he}),s.jsxs("p",{className:"mt-1 text-2xs text-fg-subtle",children:[fe," ",fe===1?"message":"messages"]})]});return y?s.jsxs("article",{className:"h-full flex flex-col",children:[ee,r?.dkimMismatch&&s.jsx(_n,{authenticity:r,onOpenIntelligence:o}),s.jsxs("div",{className:"min-h-0 flex-1 overflow-auto",children:[z,O(!1)]})]}):s.jsxs(fd,{thread:{subject:he,messages:[]},onBack:i??(()=>{}),intelligenceOpen:b,onToggleIntelligence:o,touchHandlers:f,children:[r?.dkimMismatch&&s.jsx(_n,{authenticity:r,onOpenIntelligence:o}),z,O(!0)]})},Uu=e=>{switch(kr(e)){case ht.delete:return{settlement:"delete_failed"};case ht.move:return{settlement:"move_failed"};default:return{}}},Bu=({isOpen:e,onClose:t,children:n,ariaLabel:a="Navigation",side:r="left",widthClassName:o="w-[80vw] max-w-[320px]",answers:i})=>{const l=c.useRef(null);if(Xt({id:"drawer",open:e,answers:{back:t,...i}}),ka(l,e),c.useEffect(()=>{if(!e)return;const b=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=b}},[e]),!e)return null;const d=r==="left"?"left-0 border-r animate-in slide-in-from-left duration-150":"right-0 border-l animate-in slide-in-from-right duration-150";return s.jsxs("div",{className:"fixed inset-0 z-50",role:"dialog","aria-modal":"true","aria-label":a,children:[s.jsx("button",{type:"button","aria-label":"Close menu",onClick:t,className:"absolute inset-0 bg-black/40 animate-in fade-in duration-150 cursor-default"}),s.jsxs("div",{ref:l,tabIndex:-1,className:D("safe-area-frame absolute top-0 bottom-0 bg-canvas border-line shadow-xl flex flex-col",o,d),children:[s.jsx("div",{className:"flex items-center justify-end h-12 px-2 border-b border-line shrink-0",children:s.jsx("button",{type:"button",onClick:t,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 menu",children:s.jsx(Xe,{className:"size-5"})})}),s.jsx("div",{className:"flex-1 overflow-y-auto",children:n})]})]})},_t=e=>({messageId:e,tab:void 0,offering:!1,picked:[],answering:"",failure:{suggestionId:"",text:""}}),Ku=(e,t)=>{const n=+(t.state==="Pending")-+(e.state==="Pending");return n!==0?n:t.sequence-e.sequence},Hu=(e,t)=>t.kind==="refused"?`Couldn't ${e}: ${t.message} Try again, or answer from your calendar app.`:"";function qu(e,t){const n=e.messageId,{suggestions:a,isLoading:r,error:o}=tl(n),i=bl(),{calendars:l,defaultCalendarId:d,colorByCalendarId:b,timeZoneByCalendarId:h}=i,y=Xi(i),f=sl(),v=dl(),p=ul(),[m,u]=c.useState(()=>_t(n)),g=m.messageId===n?m:_t(n),j=c.useRef(n);j.current=n;const x=O=>{j.current===n&&u(z=>({...z.messageId===n?z:_t(n),...O}))},k=c.useMemo(()=>a.filter(nl).filter(O=>mn(O)!==void 0).sort(Ku)[0],[a]),S=a.filter(O=>O!==k&&O.state==="Pending"),R=k??S[0],T=R?pn(R):"",M=vl(T===""?"1970-01-01":T,1),I=fl({...M,calendarIds:[],enabled:T!==""}),F=Zi(T===""?[]:[M]),L={threadId:e.threadId,threadSubject:e.subject??"",calendarId:d},H=e.fromName??e.fromEmail??"",U=wl(g.failure.text||"the invitations in a message could not be read"),C=el(y,U),A=(O,z,ee)=>{x({answering:O,failure:{suggestionId:O,text:""}}),ee().then(Q=>x({answering:"",failure:{suggestionId:O,text:Hu(z,Q)}}))},$=k?.suggestionId??"",w=g.failure.suggestionId===$?g.failure.text:"",P=g.failure.suggestionId===$?"":g.failure.text,N=k?mn(k):void 0,K=k&&N?{invite:rl(k,N.state,{...L,senderName:H}),whenText:hn(k),calendarName:l.find(O=>O.id===d)?.name??"Calendar",color:b[d]??"cal-1",clashes:N.state==="pending"?al({start:k.dtStart,end:k.dtEnd},F.spans):[],rsvp:N.rsvp,busy:g.answering===k.suggestionId,failure:w,reportHref:U,addBlocked:C,sender:H}:void 0,_=T===""?[]:ol(T,F.spans),W=I.instances.filter(yl).filter(O=>!O.allDay).sort((O,z)=>O.start.localeCompare(z.start)).map(O=>({event:kl(O,h[O.calendarId]??"",jl()),timeText:ml(O.start),color:b[O.calendarId]??"cal-1"})),X=S.map(O=>({suggestion:il(O,{...L,sender:H}),whenText:hn(O)})),J=o===null?"":"Couldn't read the invitations in this message. Reopen it to try again.",re=k?.method==="Cancel",Z=O=>{const z=a.find(ee=>ee.suggestionId===O);z&&p(pn(z),O)},ie=O=>{const z=a.find(ee=>ee.suggestionId===O);return z?.zoneCertainty==="Ambiguous"&&z.method!=="Cancel"},ne=T===""?"":ll(T,_,g.picked),ue={onAddInvite:()=>{if(ie($)){Z($);return}A($,"add this to your calendar",()=>f.accept($,d))},onTentativeInvite:re?void 0:()=>A($,"add this as a maybe",()=>f.tentative($,d)),onDeclineInvite:()=>A($,"decline this",()=>f.decline($)),onMuteInvite:()=>A($,"stop these invitations",()=>f.dismiss($,!0)),onRemoveInvite:re?()=>A($,"take this off your calendar",()=>f.accept($,d)):void 0,onReopenInvite:re?()=>A($,"keep this on your calendar",()=>f.dismiss($,!1)):void 0,onOfferOtherTimes:()=>x({offering:!0}),onToggleSlot:O=>x({picked:g.picked.includes(O.startTime)?g.picked.filter(z=>z!==O.startTime):[...g.picked,O.startTime]}),onReplyWithSlots:t?()=>t({threadId:e.threadId,messageId:n},ne):void 0,onAddSuggestion:O=>{if(ie(O)){Z(O);return}A(O,"add this to your calendar",()=>f.accept(O,d))},onReviewSuggestion:S[0]?.method==="Cancel"?void 0:Z,onDismissSuggestion:O=>A(O,"dismiss this",()=>f.dismiss(O,!1)),onSelectEvent:O=>{const{calendarObjectId:z,recurrenceId:ee}=Cl(O);v(T,z,ee)}},he=K!==void 0||X.length>0||o!==null,fe=g.tab!==void 0;return c.useEffect(()=>{r||fe||u(O=>O.messageId===n&&O.tab!==void 0?O:{...O.messageId===n?O:_t(n),tab:he?"calendar":"sender"})},[r,fe,he,n]),{surface:{data:{invite:K,prose:g.offering&&T!==""?{dayLabel:gn(T),proposals:[],slots:_,picked:g.picked}:void 0,suggestions:X,day:W,dayLabel:T===""?"":gn(T),suggestionsBusy:g.answering!==""&&!K?.busy,failure:J,suggestionsFailure:P,reportHref:U,addBlocked:C},actions:ue},tab:g.tab??"sender",onTabChange:O=>x({tab:O})}}const wr=()=>{const{data:e}=se({...tt(),staleTime:1/0});return e?.semanticSearchEnabled},Qu=10,Nr=e=>({q:e?.toLowerCase()??"",limit:Qu}),Wu=(e,t)=>{if(!t)return;const n=t.toLowerCase();return e?.find(a=>a.normalizedEmail===n)};function Gu(e){const t=new Date(e),n=new Date;return t.toDateString()===n.toDateString()?"today":Ao(t,{month:"short",year:"numeric"})}function Sr(e){if(!e)return!0;const[,t]=e.split("@");return t?!t.includes("."):!0}const Vu="We can't verify the sender of this email, which could mean it's from an insecure source.",Yu="We couldn't read this sender's address, so we can't confirm who really sent this message.";function Ju(e,t){const n=e.category??"personal";return{value:ja(n)?n:"uncategorized",overridden:t?.flags?.category?.value!=null&&t.flags.category.value!==e.category}}function Xu(e,t){return{name:e.fromName??e.fromEmail??"Unknown",email:e.fromEmail??"",trust:e.senderTrust,firstSeenLabel:t?Gu(t.createdAt):"unknown",inboundCount:t?.inboundCount,replyCount:t?.replyCount,addressUnverified:Sr(e.fromEmail)}}function Zu(e){return e?.flags?{vip:e.flags.vip?.value===!0,muted:e.flags.muted?.value===!0,blocked:e.flags.blocked?.value===!0}:{}}function Wn(e){if(e.fromName&&e.fromName!==e.fromEmail)return e.fromName}function ef(e){return e.length===1?e[0]:`${e.slice(0,-1).join(", ")} and ${e[e.length-1]}`}function tf(e,t){const n=[],a=e.displayNameCorrespondence;t&&(a===ms.Unrelated?n.push(`The name it shows, "${t}", has nothing to do with ${e.fromDomain}.`):a===ms.Lookalike?n.push(`The name it shows, "${t}", only looks like ${e.fromDomain}.`):a===ms.ForeignAddress&&n.push(`The name it shows, "${t}", is an address ${e.fromDomain} cannot send from.`));const r=sf(e.offDomainLinkDomains);return r.length>0&&n.push(`Its links go to ${ef(r.slice(0,3))}.`),n}function sf(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}function nf(e,t){const n=t>0?t:void 0;if(Sr(e.fromEmail))return{verdict:"mismatch",fromDomain:"",addressUnreadable:!0,summary:Yu,similarCount:n};const a=e.authenticity;if(!a)return{verdict:"caution",fromDomain:e.fromEmail?.split("@")[1]??"",summary:Vu};if(!a.dkimMismatch){const b=Wn(e),h=tf(a,b);return h.length>0?{verdict:"caution",fromDomain:a.fromDomain,dkimDomain:a.dkimDomain,claimedBrand:b,summary:h.join(" ")}:{verdict:"aligned",fromDomain:a.fromDomain,dkimDomain:a.dkimDomain,summary:a.dkimDomain?`This message was signed by ${a.dkimDomain}.`:"Nothing looks unusual about this sender."}}const r=a.fromDomain,o=a.dkimDomain,i=Wn(e),l=o?`it was actually sent from ${o}`:"its signature failed to verify",d=i?`The display name claims "${i}", but ${l}${o?` — not ${r}`:""}. Real senders use their own address.`:`This message claims to be from ${r}, but ${l}.`;return{verdict:"mismatch",fromDomain:r,dkimDomain:o,claimedBrand:i,summary:d,similarCount:n}}function af(e,t){const n=e?.fromEmail??null,a=e?.subject??"",{data:r,error:o}=se({...Os({query:Nr(n??void 0)}),enabled:!!n,staleTime:3e4}),i=Wu(r?.items,n??void 0),l=wr(),d=[a,n].filter(Boolean).join(" "),{data:b,isLoading:h,error:y}=se({...Mo({query:{query:d,limit:5}}),enabled:!!(e&&d.length>3)&&l===!0,staleTime:6e4,retry:1});return{data:c.useMemo(()=>{if(!e)return null;const v=(b?.items??[]).filter(j=>j.messageId!==e.messageId).map(j=>({id:j.messageId,threadId:j.threadId,mailboxId:t!=null&&j.mailboxIds.includes(t)?t:j.mailboxIds[0]??"",fromName:j.fromName??"",subject:j.subject??"(No subject)",timeLabel:j.sentDate!=null?st(j.sentDate*1e3):"",matched:j.matchedChunkType})),p=Xu(e,i),m=nf(e,v.length),u=Ju(e,i),g=Zu(i);return{sender:p,authenticity:m,category:u,flags:g,similar:v}},[e,i,b,t]),isSimilarLoading:h,similarError:y,similarErrorIsFatal:on(y),semanticEnabled:l,addressErrorIsFatal:on(o),addressId:i?.addressId,address:i}}function rf(e,t,n=[]){const a={...e??{}};for(const[r,o]of Object.entries(t))o==null?delete a[r]:a[r]={...o,setAt:o.setAt??Date.now()};for(const r of n)delete a[r];return a}function of({addressId:e,senderEmail:t}){const n=pe(),{pushError:a}=ve(),r=Lo({query:Nr(t)}),{mutate:o,isPending:i}=ge({...$o(),onMutate:async h=>{const y=h.body.flags??{},f=h.body.clearFlags??[];await n.cancelQueries({queryKey:r});const v=n.getQueryData(r);return n.setQueryData(r,p=>p&&{...p,items:p.items.map(m=>m.addressId===h.path.addressId?{...m,flags:rf(m.flags,y,f)}:m)}),{previous:v}},onError:(h,y,f)=>{f?.previous!==void 0&&n.setQueryData(r,f.previous),a({title:"Couldn't update sender preference",detail:Me(h),error:h})},onSettled:()=>{n.invalidateQueries({queryKey:r})}}),l=c.useCallback(h=>{if(!e){Po(new Error(`Quick action fired but the sender's address record did not resolve (sender: ${t??"unknown"}). This should never happen — the address row exists.`));return}o({path:{addressId:e},body:h})},[e,o,t]),d=c.useCallback(h=>l({flags:h}),[l]),b=c.useCallback(h=>l({clearFlags:h}),[l]);return{updateFlags:d,clearFlags:b,isPending:i}}const Gp=e=>e==="vip"?"A sender you know":e==="wellknown"?"You've emailed them before":"Passed authentication",lf=e=>e.senderTrust!=="vip"&&e.senderTrust!=="wellknown"?!1:e.authenticity?.dkimMismatch!==!0;function Vp(e,t){e.recordEvent("rescue.candidates_surfaced",{count:String(t)})}function Yp(e,t){e.recordEvent("rescue.flow_opened",{count:String(t)})}function Jp(e,t){e.recordEvent("rescue.committed",{selected:String(t.selected),total:String(t.total),destination:t.toInbox?"inbox":"other"})}function cf(e,t){e.recordEvent("rescue.sent_to_junk",{count:String(t.count),senderTrust:t.senderTrust,wasRescuable:String(t.wasRescuable)})}const df=e=>e!=="uncategorized",uf=Oo.map(e=>e.category).filter(df),ff=e=>e.spamReport?"notSpam":"reportSpam",mf=e=>{const{similarError:t,similarErrorIsFatal:n,isSimilarLoading:a,semanticEnabled:r}=e;return r===!1?"off":t&&!n?"error":a?"loading":"ready"};function pf(){return s.jsxs("aside",{className:"flex h-full w-full flex-col bg-surface-sunken",children:[s.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-1.5 border-b border-line px-row-inset",children:[s.jsx(Ze,{className:"size-3.5 text-fg-subtle"}),s.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:"Intelligence"})]}),s.jsxs("div",{className:"flex-1 animate-pulse space-y-4 p-4",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsx("div",{className:"h-2.5 rounded bg-surface w-1/4"}),s.jsxs("div",{className:"flex gap-3",children:[s.jsx("div",{className:"size-10 rounded-full bg-surface shrink-0"}),s.jsxs("div",{className:"flex-1 space-y-1.5",children:[s.jsx("div",{className:"h-3 rounded bg-surface w-3/4"}),s.jsx("div",{className:"h-2.5 rounded bg-surface w-1/2"})]})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsx("div",{className:"h-2.5 rounded bg-surface w-1/4"}),s.jsx("div",{className:"h-8 rounded bg-surface"})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsx("div",{className:"h-2.5 rounded bg-surface w-1/4"}),s.jsx("div",{className:"flex gap-1.5 flex-wrap",children:Array.from({length:5}).map((e,t)=>s.jsx("div",{className:"h-6 w-16 rounded bg-surface"},t))})]})]})]})}function hf({isOpen:e,current:t,hasOverride:n,onSelect:a,onClear:r,onCancel:o}){const i=c.useRef(null);return ka(i,e),e?s.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[s.jsx(Fo,{label:"Dismiss reclassify sender",onDismiss:o,className:"backdrop-blur-sm"}),s.jsxs("div",{ref:i,role:"dialog","aria-modal":"true","aria-label":"Reclassify sender",tabIndex:-1,className:"relative z-10 w-full max-w-sm rounded-sm border border-line bg-surface p-6 shadow-lg",children:[s.jsx("h2",{className:"text-lg font-semibold",children:"Reclassify this sender"}),s.jsx("p",{className:"mt-2 text-sm text-fg-muted",children:"Set a category override for future messages from this sender."}),s.jsxs("div",{className:"mt-4 flex flex-col gap-1",children:[uf.map(l=>s.jsxs("button",{type:"button",onClick:()=>a(l),className:`flex min-h-11 items-center justify-between rounded px-3 text-left text-sm transition-colors hover:bg-surface-raised ${l===t?"font-semibold text-accent":"text-fg"}`,children:[Vt[l],l===t&&s.jsx("span",{className:"text-2xs text-fg-subtle",children:"current"})]},l)),n&&s.jsx("button",{type:"button",onClick:r,className:"mt-1 flex min-h-11 items-center rounded border-t border-line px-3 text-left text-sm text-fg transition-colors hover:bg-surface-raised",children:"Remove override — classify automatically again"})]}),s.jsx("div",{className:"mt-6 flex justify-end",children:s.jsx("button",{type:"button",onClick:o,className:"inline-flex min-h-11 items-center justify-center rounded border border-line px-4 text-sm font-medium transition-colors hover:bg-surface-raised",children:"Cancel"})})]})]}):null}function gf({thread:e,onClose:t,mailboxId:n,accountId:a,hideCloseButton:r,onAfterOptimisticRemove:o,onReplyWithText:i}){const{data:l,address:d,addressId:b,isSimilarLoading:h,similarError:y,similarErrorIsFatal:f,semanticEnabled:v}=af(e,n),p=qu(e,i),[m,u]=c.useState(!1),g=e.fromEmail??void 0,{updateFlags:j,clearFlags:x}=of({addressId:b,senderEmail:g}),{reportSpam:k,notSpam:S,isReporting:R,isRestoring:T}=vr({mailboxId:e.mailboxId,threadId:e.threadId,accountId:a,onAfterOptimisticRemove:o}),M=Do(),I=ff(e),F=c.useCallback(()=>{S([e.messageId])},[S,e.messageId]),L=c.useCallback(()=>{cf(M,{count:1,senderTrust:e.senderTrust,wasRescuable:lf(e)}),k([e.messageId])},[k,e,M]),H=c.useCallback(()=>{},[]),U=c.useCallback(()=>{const _=l?.flags?.vip!==!0;j({vip:{value:_}})},[l?.flags?.vip,j]),C=c.useCallback(()=>{const _=l?.flags?.muted!==!0;j({muted:{value:_}})},[l?.flags?.muted,j]),A=c.useCallback(_=>{u(!1),j({category:{value:_}})},[j]),$=c.useCallback(()=>{u(!1),x(["category"])},[x]),w=b!==void 0,P={onToggleVip:w?U:void 0,onToggleMute:w?C:void 0,onReclassify:w?()=>u(!0):void 0,onNotSpam:I==="notSpam"?F:void 0,onReportSpam:I==="reportSpam"?L:void 0},N=({mailboxId:_,threadId:W,messageId:X,className:J,ariaLabel:re,children:Z})=>s.jsx(Ca,{to:"/mail/$mailboxId/$threadId/$messageId",params:{mailboxId:_,threadId:W,messageId:X},search:ie=>ie,variant:"row",className:J,"aria-label":re,children:Z});if(!l)return s.jsx(pf,{});const K=mf({similarError:y,similarErrorIsFatal:f,isSimilarLoading:h,semanticEnabled:v});return s.jsxs(s.Fragment,{children:[s.jsx(Ja,{data:l,calendar:p.surface,tab:p.tab,onTabChange:p.onTabChange,onClose:t,hideCloseButton:r,onShowSimilar:H,actions:P,similarState:K,similarLinkComponent:N,reportSpamPending:R,notSpamPending:T,className:"border-l-0 h-full w-full"}),s.jsx(hf,{isOpen:m,current:l.category.value,hasOverride:d?.flags?.category?.value!=null,onSelect:A,onClear:$,onCancel:()=>u(!1)})]})}const xf=({onClose:e,thread:t,mailboxId:n,accountId:a,hideCloseButton:r,onAfterOptimisticRemove:o,onReplyWithText:i})=>t?s.jsx(gf,{thread:t,onClose:e,mailboxId:n,accountId:a,hideCloseButton:r,onAfterOptimisticRemove:o,onReplyWithText:i}):s.jsxs("aside",{className:"flex h-full w-full flex-col bg-surface-sunken",children:[s.jsxs("header",{className:"flex h-pane-header shrink-0 items-center gap-1.5 border-b border-line px-row-inset",children:[s.jsx(Ze,{className:"size-3.5 text-fg-subtle"}),s.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wider text-fg-subtle",children:"Intelligence"})]}),s.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center px-row-inset text-center",children:[s.jsx(Ze,{className:"size-8 text-fg-subtle"}),s.jsx("p",{className:"mt-3 text-sm text-fg-muted",children:"Intelligence"}),s.jsx("p",{className:"mt-1 text-2xs text-fg-subtle",children:"Sender trust, authenticity and similar messages will appear here."})]})]});function Xp({isOpen:e,onClose:t,thread:n,mailboxId:a,accountId:r,onAfterOptimisticRemove:o,onReplyWithText:i}){return s.jsx(Bu,{isOpen:e,onClose:t,ariaLabel:"Message details",side:"right",answers:{toggleIntelligence:t},children:s.jsx(xf,{onClose:t,thread:n,mailboxId:a,accountId:r,hideCloseButton:!0,onAfterOptimisticRemove:o,onReplyWithText:i})})}const bf=e=>{const{trashByAccount:t,hasAppointments:n,isError:a}=bu();return c.useMemo(()=>{const r=zo({targets:e,trashByAccount:t,hasAppointments:n,isError:a}),o=i=>i.accountId?t.get(i.accountId):void 0;return{outcome:r,staleFolderLabel:e.map(o).find(i=>i?.source==="Stale")?.staleFolderPath,guessedMailboxId:r==="unconfirmed"?e.find(i=>o(i)?.mailboxId===i.mailboxId)?.mailboxId:void 0}},[e,t,n,a])},vf=100,yf=({mailboxId:e,mailboxLabel:t,accountId:n,enabled:a,predicateKey:r,searchQuery:o,reportEnding:i})=>{const[l,d]=c.useState({kind:"idle"}),b=c.useRef(void 0),{run:h,start:y,stop:f}=_o(),{pushError:v}=ve(),p=h?.mailboxId===e?h:void 0,m=p!==void 0,u=c.useRef(!1);u.current=m,c.useEffect(()=>{b.current?.abort(),d({kind:"idle"})},[a,r]);const g=c.useRef(o);g.current=o;const j=c.useCallback(I=>async(F,L)=>{const{data:H}=await ln({path:{mailboxId:e},query:{...I,continuationToken:F,limit:vf},signal:L,throwOnError:!0});return{ids:(H.items??[]).map(U=>U.messageId),continuationToken:H.continuationToken}},[e]),x=c.useCallback(async I=>{const{data:F}=await ln({path:{mailboxId:e},query:{...g.current,count:!0,results:!1},signal:I,throwOnError:!0});if(F.count===void 0)throw new Error("the search returned no count for the selection");return F.count},[e]),k=c.useCallback(I=>async(F,L)=>{if(I.kind==="move"){const{data:U}=await Uo({body:{messageIds:F,destinationMailboxId:I.destinationMailboxId},signal:L,throwOnError:!0});return U}if(I.kind==="markRead"){const{data:U}=await Bo({body:{messageIds:F,isRead:!0},signal:L,throwOnError:!0});return U}const{data:H}=await Ko({body:{messageIds:F},signal:L,throwOnError:!0});return H},[]),S=c.useCallback(()=>{const I=new AbortController;b.current=I,d({kind:"counting"}),x(I.signal).then(F=>{if(I.signal.aborted){d({kind:"idle"});return}d({kind:"escalated",total:F})},F=>{if(I.signal.aborted){d({kind:"idle"});return}v(Ho("Couldn't count matching messages","The count didn't finish.",F)),d({kind:"idle"})})},[x,v]),R=c.useCallback(()=>{b.current?.abort(),u.current&&f(e)},[f,e]),T=c.useCallback(()=>{u.current||(b.current?.abort(),d({kind:"idle"}))},[]),M=c.useCallback(async(I,F,L)=>{const H=F?.length??(l.kind==="escalated"?l.total:0),U=F!==void 0?{kind:"targets",targets:F}:{kind:"predicate",fetchPage:j(g.current)},C=await y({action:I,mailboxId:e,mailboxLabel:t,accountId:n,matched:H,source:U,applyBatch:k(I),reportEnding:i,claimEnding:L});return C.kind==="ran"&&d({kind:"idle"}),C},[k,j,l,e,t,n,i,y]);return{phase:l,escalate:S,stop:R,clear:T,isRunning:m,runningAction:p?.action,progress:p?.progress,runAction:M}},kf=120,jf=({keyboardFocusedMessageId:e,openMessageId:t,enabled:n,open:a,delayMs:r=kf})=>{const o=c.useRef(a);o.current=a;const i=c.useRef(void 0);c.useEffect(()=>{const l=e;if(!n){i.current=l;return}if(l===void 0||l===t)return;if(l===i.current){i.current=void 0;return}const d=setTimeout(()=>o.current(l),r);return()=>clearTimeout(d)},[n,e,t,r])},Ir="This account has no Junk folder appointed, so there is nowhere to file these. Appoint one under Settings › Folder roles.",Cf="These are already in Junk, so there is nowhere to file them.",wf=(e,t)=>e!==void 0&&e!==t?e:void 0,Zp=(e,t)=>{if(wf(e,t)===void 0)return e===void 0?Ir:Cf};function Nf(e,t){if(e.length!==0)return t!==void 0&&e.includes(t)?t:e[0]}const Sf={title:"",navSlot:null,titleMeta:null,searchSlot:null,searchField:null,searchResults:null,makeFilterSlot:null},Rs=c.createContext(Sf),If=()=>c.useContext(Rs),Tf=({isOpen:e,messageIds:t,outcome:n,accountId:a,trashFolderLabel:r,staleFolderLabel:o,guessedMailboxId:i,isDeleting:l=!1,onConfirm:d,onCancel:b})=>{const{Account:h}=ba(),{requestAppointment:y}=ma(),f=t.length,v=()=>d([...t]),p=qo(f,n,{trashFolderLabel:r,staleFolderLabel:o});if(n==="noTrash"||n==="staleTrash"||n==="unconfirmed"){const m=n==="noTrash"?"none":n==="staleTrash"?"stale":"unconfirmed";return s.jsx(Pt,{isOpen:e,...p,onConfirm:()=>{if(!a)return v();const u=[...t];b(),y({accountId:a,role:"Trash",reason:m,action:{kind:"delete",count:f},staleFolderLabel:o,trashFolderLabel:r,guessedMailboxId:i,onAppointed:async()=>d(u)})},onCancel:b})}return n==="unavailable"?s.jsx(h,{fallback:s.jsx(Pt,{isOpen:e,...p,confirmLabel:"Reload reader",onConfirm:()=>window.location.reload(),onCancel:b}),children:({signOut:m})=>s.jsx(Pt,{isOpen:e,...p,onConfirm:()=>m(),onCancel:b})}):s.jsx(Pt,{isOpen:e,...p,destructive:!0,isBusy:l||n==="unknown",onConfirm:v,onCancel:b})},Tr=8,Rr=e=>e==="From"||e==="FromDomain",Rf=e=>({value:e.email,label:e.displayName??e.email,...e.displayName?{hint:e.email}:{},...e.fromSelection?{source:"selected"}:{}}),Ef=e=>{const t=ur(e.email);if(t!==null)return{value:t,...e.fromSelection?{source:"selected"}:{}}},Mf=(e,t)=>e.value.toLowerCase().includes(t)||(e.label??"").toLowerCase().includes(t),Af=(e,t,n)=>{if(!Rr(e))return[];const a=t.trim().toLowerCase(),r=new Set,o=[];for(const i of n){if(i.email.trim()==="")continue;const l=e==="From"?Rf(i):Ef(i);if(!l)continue;const d=l.value.toLowerCase();if(!(d===""||r.has(d))&&(r.add(d),d!==a&&!(a!==""&&!Mf(l,a))&&(o.push(l),o.length===Tr)))break}return o},Lf=250,$f=2,Pf=(e,t,n)=>{const a=t.trim(),r=Fa(a,Lf),o=e!==void 0&&Rr(e),{data:i}=se({...Os({query:{q:r,limit:Tr}}),enabled:o&&r.length>=$f});if(!o||e===void 0)return[];const l=[...n.map(d=>({email:d,fromSelection:!0})),...(i?.items??[]).map(d=>({email:d.normalizedEmail,...d.displayName?{displayName:d.displayName}:{}}))];return Af(e,a,l)},Er=12,Df=e=>{const{envelope:t}=e,n=t.from[0];return{id:t.messageId,sender:n?fr({normalizedEmail:n.normalizedEmail,displayName:n.displayName}):"Unknown",subject:t.subject??"(No subject)",date:st(t.date)}},Ff=(e,t)=>{const n=e!==void 0&&t!==void 0,{data:a,isLoading:r}=se({...Qo({path:{mailboxId:e??""},query:{...t,limit:Er}}),enabled:n,staleTime:3e4});return{messages:(a?.items??[]).map(Of),isPending:n&&r}},Of=e=>({id:e.messageId,sender:e.fromName||e.fromEmail||"Unknown",subject:e.subject??"(No subject)",date:st(e.sentDate)}),zf=e=>_s({queries:e.slice(0,Er).map(t=>({...Yt({path:{messageId:t}}),staleTime:Number.POSITIVE_INFINITY})),combine:t=>({messages:t.map(n=>n.data).filter(n=>n!==void 0).map(Df),isPending:t.some(n=>n.isPending)})}),_f=(e,t)=>({matchOperator:"Or",literalClauses:Gs(e,t)}),Uf=(e,t,n,a)=>{const r=ge(Wo()),{mutate:o,reset:i}=r,[l,d]=c.useState(!1),b=c.useMemo(()=>ss(n),[n]),h=c.useMemo(()=>Gs(b,a),[b,a]),y=c.useCallback(()=>{!e||!t||(d(!1),o({path:{accountId:e},body:xn({anchorMessageId:t,matchOperator:"And",literalClauses:[]})}))},[e,t,o]),f=c.useCallback(()=>{d(!1),i()},[i]),v=r.data,p=v?.semanticUnavailable===!0&&!l&&h.length>0;c.useEffect(()=>{!p||!e||(d(!0),o({path:{accountId:e},body:xn(_f(b,a))}))},[p,e,b,a,o]);const m=l||(v?.semanticUnavailable??!1),u=r.isPending||p,g=l?{matchOperator:"Or",literalClauses:h}:{...t?{anchorMessageId:t}:{},matchOperator:"And",literalClauses:[]};return{preview:y,reset:f,matchedCount:u?void 0:v?.matchedCount,messageIds:u?void 0:v?.messageIds,semanticUnavailable:m,senderFallback:l,senders:b,matchPredicate:g,isPending:u,isError:r.isError,error:r.error}},Bf=()=>[Go({path:{mailboxId:""}}),Vo({path:{mailboxId:""}}),Yo()].map(e=>[{_id:e[0]._id}]),Kf=e=>Jo(e)?e.pages:Xo(e)?[e]:[],Hf=e=>typeof e=="object"&&e!==null&&typeof e.messageId=="string",qf=(e,t)=>{const n=new Set(t),a=new Map;for(const r of e)for(const o of Kf(r))for(const i of o.items){if(!Hf(i)||!n.has(i.messageId))continue;const l=i.subject?.trim();l&&a.set(i.messageId,l)}return t.map(r=>a.get(r)).filter(r=>r!==void 0)},Qf=e=>{const t=pe(),n=e.join("\0");return c.useMemo(()=>{const a=Bf().flatMap(r=>t.getQueriesData({queryKey:r}).map(([,o])=>o));return qf(a,e)},[t,n])},Wf=new Set(["hasAttachment","isUnread","isRead","isStarred","category","before","after"]),Gf=e=>Wf.has(e),Vf=(e,{searchHadSemanticReach:t})=>{const n=[],a=[];let r,o;for(const d of e.tokens){if(d.type==="from"){n.push({field:"From",value:d.value});continue}if(d.type==="subject"){n.push({field:"Subject",value:d.value});continue}if(d.type==="in"){r={mailboxId:d.mailboxId,label:d.value};continue}if(d.type==="account"){o=d.accountId;continue}Gf(d.type)&&a.push({type:d.type,label:Ra(d)})}const i=e.freeText.trim(),l=i.length>0;return l&&n.push({field:"HasWords",value:i}),{clauses:n,matchOperator:"all",scopedOut:r,droppedFacets:a,targetAccountId:o,keptTerms:l,droppedSemantic:l&&t}},Yf=(e,t,n)=>e.targetAccountId??t??n[0]?.accountId,Es=c.createContext(void 0),Jf=()=>c.useContext(Es),Gn={matched:0,applied:0,failed:0,failedIds:[]},Xf=({matched:e,outcome:t,failureReason:n,progressDone:a})=>{if(n!==void 0)return{...Gn,state:"commitFailed",failureReason:n};if(!t)return{state:"backApplyRunning",matched:Math.max(e,a),applied:a,failed:0,failedIds:[]};if(!t.cancelled&&t.error===void 0)return{state:"backApplyComplete",matched:Math.max(e,t.done),applied:t.done,failed:0,failedIds:[]};if(!t.cancelled&&t.done===0)return{...Gn,state:"commitFailed"};const r=t.failedIds.length>0?t.failedIds.length:Math.max(e-t.done,1);return{state:"runStopped",matched:Math.max(e,t.done),applied:t.done,failed:r,failedIds:t.failedIds}},Zf=({failure:e,isStarting:t,isRunning:n,isDone:a,failedCount:r,ruleSaved:o})=>e?.kind==="restartFailed"?"backApplyRestartFailed":e?.kind==="startFailed"?o?"backApplyStartFailed":"commitFailed":a?r>0?"backApplyFailed":"backApplyComplete":e?.kind==="statusUnreadable"?"statusUnknown":t||n?"backApplyRunning":"saving",em=e=>{if(e.runState==="statusUnknown")return{kind:"refreshStatus"};if(e.isEscalated)return{kind:"rerunEscalated"};if(e.committedScope==="standing"||e.committedScope==="temporary")return e.createFilterFailed?{kind:"resetAndResend"}:e.backApplyPending?{kind:"startBackApply"}:{kind:"waitOnJob"};if(e.committedScope==="all-like-these"&&e.widenRunsAsJob)return{kind:"resend"};const t=new Set(e.failedIds);return{kind:"rerunBulk",targets:t.size>0?e.sent.filter(n=>t.has(n.id)):e.sent}},tm=e=>e!==void 0&&e.outcome===void 0&&e.failureReason===void 0,sm=(e,t)=>{if(e){e.stop();return}t()},nm=(e,t)=>e==="run"?t.dismiss:t.cancel,am={clauses:[],matchOperator:"any"},rm={clauses:[],matchOperator:"all",droppedFacets:[],keptTerms:!1,droppedSemantic:!1},om=[],im=(e,t,n)=>({verb:"organize",accountId:Yf(e,t.accountId,n),selection:om,selectionRestriction:void 0,escalated:void 0,searchConversion:e}),ft={state:"saving",matched:0,applied:0,failed:0,failures:[]},Vn=(e,t)=>e.map((n,a)=>({...n,id:`${t}-${a}`})),Yn=(e,t,n)=>{if(e==="delete")return{kind:"delete"};if(e==="markRead")return{kind:"markRead"};const a=e==="junk"?n:t;return a?{kind:"move",destinationMailboxId:a}:void 0},ks=e=>e==="move"||e==="junk"||e==="organize",Jn=e=>e==="junk"?Ir:"No destination was chosen, so there is nowhere to file these. Go back and pick a folder.";function lm({verb:e,accountId:t,mailboxId:n,mailboxLabel:a,selection:r,selectionRestriction:o,escalated:i,escalatedProgress:l,searchConversion:d,onFinished:b,onRunEnded:h,step:y,goToStep:f,goBack:v,closeWizard:p}){const[m]=c.useState(()=>d),[u]=c.useState(()=>i),g=m!==void 0,[j,x]=c.useState(g?"properties":"selected"),k=u?"escalated":j,[S,R]=c.useState(()=>m?{clauses:Vn(m.clauses,"search"),matchOperator:m.matchOperator}:am),[T,M]=c.useState(void 0),[I,F]=c.useState(void 0),[L,H]=c.useState(!1),[U,C]=c.useState(void 0),[A,$]=c.useState(void 0),[w,P]=c.useState(),N=c.useRef(!1),K=c.useMemo(()=>r.map(E=>E.id),[r]),_=c.useMemo(()=>r.map(E=>({id:E.id,accountId:E.accountId})),[r]),W=c.useMemo(()=>r.map(E=>E.email).filter(Boolean),[r]),X=K[0],J=Qf(K),{junkMailboxId:re}=hr(t),Z=Uf(u?void 0:t,X,W,J),{preview:ie}=Z;c.useEffect(()=>{ie()},[ie]);const ne=k==="similar"||k==="properties",ue=c.useMemo(()=>({matchOperator:S.matchOperator==="all"?"And":"Or",literalClauses:S.clauses.map(E=>({field:E.field,value:E.value}))}),[S.clauses,S.matchOperator]),he=k==="similar"?Z.matchPredicate:ue,{count:fe,matchedIds:O}=Nl(ne?t:void 0,he),z=zf(ne?O:[]),ee=Ff(u?n:void 0,u?.searchQuery),Q=u?{status:"ready",count:u.total}:ne?fe:{status:"ready",count:r.length},{data:G}=se({...yt({path:{accountId:t??""}}),enabled:!!t,staleTime:Number.POSITIVE_INFINITY}),oe=gr(t),ye=pa(),$e=c.useMemo(()=>ga({mailboxes:G?.items??[],folderAppointments:oe,currentMailboxId:n,translator:ye}),[G?.items,oe,n,ye]),{createFolderIn:at}=ha(t),os=$e.find(E=>E.id===S.moveMailboxId)?.label,He=Bd(r.map(E=>({normalizedEmail:E.email,displayName:E.sender}))),rt=Vd({match:k==="properties"&&S.clauses[0]?.value.trim()||void 0,sender:He?fr(He):void 0,folder:os}),V=c.useMemo(()=>({...S,name:S.name??rt}),[S,rt]),Et=Pf(T?.draft.field,T?.draft.value??"",W),Pe=c.useRef(void 0),we=c.useCallback(E=>{Pe.current?.(),Pe.current=E},[]);c.useEffect(()=>()=>{Pe.current?.(),Pe.current=void 0},[]);const me=Sl(t),ke=Il(t),qe=yf({mailboxId:n??"",mailboxLabel:a,accountId:t,enabled:!1,predicateKey:"selection-wizard",searchQuery:{},reportEnding:h}),{runAction:Qe}=qe,le=ti({verb:e,mode:k,scope:S.scope,fromSearch:g}),te=le[cn(le,y)],De=si(t,o),Fe=ni(k,De),Ne=(E=>{if(E==="folder")return De.destination;if(E==="rule")return V.scope==="standing"||V.scope==="until"?Fe:void 0})(te)??ai(te,V,Q),Oe=c.useCallback(()=>Vn(Gs(W,J),"seed"),[W,J]),Mt=c.useCallback(E=>{x(E),R(B=>({...B,widen:E==="similar"&&X?{anchorCount:Math.max(r.length,1)}:void 0,...E==="properties"&&B.clauses.length===0?{clauses:Oe()}:{}}))},[X,r.length,Oe]),We=c.useCallback(()=>{H(!0),x("properties"),R(E=>({...E,widen:void 0,clauses:Oe(),matchOperator:"any"})),f("properties")},[Oe,f]),ze=wr()===!1,Ge=ze||Z.semanticUnavailable||Z.isError;c.useEffect(()=>{te==="match"&&(k!=="similar"||!Ge||L||We())},[te,k,Ge,L,We]);const At=c.useCallback(()=>{M({mode:"add",draft:{field:"From",value:""}})},[]),ot=c.useCallback(E=>{const B=S.clauses.find(Y=>Y.id===E);B&&M({mode:"edit",clauseId:E,draft:{field:B.field,value:B.value}})},[S.clauses]),it=c.useCallback(E=>{R(B=>({...B,clauses:B.clauses.filter(Y=>Y.id!==E)}))},[]),lt=c.useCallback(E=>{M(B=>B&&{...B,draft:E})},[]),ce=c.useCallback(()=>{M(E=>{if(!E)return;const B=Tl(E.draft.field,E.draft.value),Y={...E.draft,value:B};R(ct=>({...ct,clauses:E.clauseId?ct.clauses.map(fs=>fs.id===E.clauseId?{...fs,...Y}:fs):[...ct.clauses,{id:crypto.randomUUID(),...Y}]}))})},[]),je=c.useCallback(()=>{if(Ne){F(te);return}F(void 0);const E=le[cn(le,te)+1];E&&f(E)},[Ne,te,le,f]),ls=c.useCallback(async E=>{const B=Yn(e,V.moveMailboxId,re);if(!B){$({matched:E.length,sent:E,failureReason:Jn(e)});return}$({matched:E.length,sent:E});const Y=await Qe(B,E,we);$({matched:E.length,sent:E,outcome:Y.kind==="ran"?Y.outcome:void 0,failureReason:Y.kind==="refused"?Y.reason:void 0})},[e,V.moveMailboxId,re,Qe,we]),cs=c.useCallback(async()=>{if(!u)return;const E=Yn(e,V.moveMailboxId,re);if(!E){$({matched:u.total,sent:[],failureReason:Jn(e)});return}$({matched:u.total,sent:[]});const B=await u.run(E,we);$({matched:u.total,sent:[],outcome:B.kind==="ran"?B.outcome:void 0,failureReason:B.kind==="refused"?B.reason:void 0})},[u,e,V.moveMailboxId,re,we]),{start:Lt}=me,{createFilterAsync:Zs}=ke,$t=c.useCallback(()=>{if(u){cs();return}const E=Rl({mode:j,ruleScope:V.scope}),B=El({mode:j,ruleScope:V.scope,anchorMessageId:X,clauses:V.clauses,matchOperator:V.matchOperator,moveMailboxId:V.moveMailboxId,until:V.until});if(C(E),E==="standing"||E==="temporary"){const Y=Ml(B)?B:void 0;P(Y),Zs(B,E,(V.name??"").trim()).then(ct=>{ct&&Y&&Lt(Y)});return}if(E==="all-like-these"&&ks(e)){Lt(B);return}ls(E==="just-these"?_:O.map(Y=>({id:Y,accountId:t})))},[u,cs,j,V,X,e,t,_,O,Zs,Lt,ls]),Dr=c.useCallback(()=>{if(Ne){F(te);return}N.current||(N.current=!0,f("run"),$t())},[Ne,te,f,$t]),en=c.useCallback(E=>{const B=me.progress,Y=Zf({failure:me.failure,isStarting:me.isStarting,isRunning:me.isRunning,isDone:me.isDone,failedCount:B.failedCount,ruleSaved:E});return Y==="saving"||Y==="commitFailed"||Y==="backApplyStartFailed"?{...ft,state:Y}:{state:Y,matched:B.matchedCount,applied:B.appliedCount,failed:Y==="backApplyFailed"||Y==="backApplyRestartFailed"?B.failedCount:0,failures:[]}},[me]),tn=c.useMemo(()=>{const E=new Map;for(const B of[...r,...z.messages,...ee.messages])E.set(B.id,B);return E},[r,z.messages,ee.messages]),sn=u?l:qe.progress,nn=c.useCallback(()=>{if(!A)return ft;const E=Xf({matched:A.matched,outcome:A.outcome,failureReason:A.failureReason,progressDone:sn?.done??0});return{state:E.state,matched:E.matched,applied:E.applied,failed:E.failed,failures:E.failedIds.map(B=>tn.get(B)).filter(B=>B!==void 0),failureReason:E.failureReason}},[A,sn,tn]),_e=u?nn():U==="standing"||U==="temporary"?ke.isError?{...ft,state:"commitFailed"}:ke.isSuccess?w?en(!0):{...ft,state:"filterSaved"}:ft:U==="all-like-these"&&ks(e)?en(!1):nn(),Fr=()=>{const E=em({runState:_e.state,isEscalated:u!==void 0,committedScope:U,createFilterFailed:ke.isError,backApplyPending:w!==void 0,widenRunsAsJob:ks(e),failedIds:A?.outcome?.failedIds??[],sent:A?.sent??_});switch(E.kind){case"refreshStatus":me.refreshStatus();return;case"rerunEscalated":cs();return;case"resetAndResend":ke.reset(),$t();return;case"resend":$t();return;case"startBackApply":w&&Lt(w);return;case"waitOnJob":return;case"rerunBulk":ls(E.targets);return}},Or=c.useCallback(()=>{p(le,te)},[p,le,te]),ds=c.useCallback(()=>{p(le,te),b()},[p,le,te,b]),{stop:an}=qe,zr=c.useCallback(()=>{sm(u,an)},[u,an]);eu({shouldBlockFn:({action:E})=>E!=="BACK"?!1:(ds(),!0),enableBeforeUnload:!1,disabled:te!=="run"});const us={messages:u?ee.messages:ne?z.messages:r,count:Q,label:k==="selected"?"Your selection":"A sample of what matches",emptyReason:k==="similar"&&Ge?"notIndexed":"noMatch",loading:u?ee.isPending:ne&&(Q.status==="loading"||z.isPending)};return s.jsx(ri,{verb:e,steps:le,step:te,blockedReason:Ne,nudged:I===te,onBack:v,onExit:nm(te,{dismiss:ds,cancel:Or}),onContinue:je,onCommit:Dr,match:{selectedCount:r.length,mode:k,accountId:De.accountId,onModeChange:Mt,semanticUnavailable:Ge,semanticOff:ze,semanticErrorDetail:Z.error instanceof Error?Z.error.message:void 0,semanticFallbackTaken:L,onSemanticFallback:We,escalatedScope:u?.scope,sample:us},properties:{clauses:V.clauses,matchOperator:V.matchOperator,onMatchOperatorChange:E=>R(B=>({...B,matchOperator:E})),clauseEdit:T,onStartAddClause:At,onStartEditClause:ot,onRemoveClause:it,onChangeDraft:lt,onSubmitClause:ce,onCancelClause:()=>M(void 0),clauseFields:Al,clauseSuggestions:Et,conversionNotice:m?Jd(m):void 0,semanticFallbackTaken:L,sample:{...us,label:"What this matches"}},folder:{folders:$e,mailboxId:V.moveMailboxId,delimiter:xa(G?.items??[]),onSelect:E=>R(B=>({...B,moveMailboxId:E})),onCreateFolder:t?at:void 0,restriction:De.destination},rule:{draft:V,onScopeChange:E=>R(B=>({...B,scope:E})),onUntilChange:E=>R(B=>({...B,until:E})),restriction:Fe},name:{name:V.name??"",onNameChange:E=>R(B=>({...B,name:E})),nudged:I===te},review:{verb:e,mode:k,selectedCount:r.length,clauses:V.clauses,matchOperator:V.matchOperator,folder:os,scope:V.scope,until:V.until,ruleName:le.includes("name")?V.name:void 0,escalatedScope:u?.scope,sample:us},run:{state:_e.state,verb:e,scope:V.scope,matched:_e.matched,applied:_e.applied,failedCount:_e.failed,failures:_e.failures,failureReason:_e.failureReason,onRetry:Fr,onDismiss:ds,onCancelRun:tm(A)?zr:void 0}})}function eh(e){const t=Zo()==="search",n=Jf(),{accounts:a}=St(),{step:r,goToStep:o,goBack:i,closeWizard:l}=ei(t?"properties":"match");if(Xt({id:"selection-wizard",open:r!==void 0}),!r)return null;const d=t?n??rm:void 0;return s.jsx(lm,{...e,...d?im(d,e,a):{},step:r,goToStep:o,goBack:i,closeWizard:l})}const cm=[],Js=c.createContext(null),dm=e=>{const t=c.useContext(Js);return t?t.rowInteraction(e):null},um=()=>{const e=c.useContext(Js);if(!e)throw new Error("useThreadListSelection must be used inside <ThreadListInteraction>");return e},fm="[data-message-id]",mm=e=>Array.from(e.querySelectorAll(fm)).map(t=>t.dataset.messageId).filter(t=>t!==void 0),pm=(e,t)=>e.length===t.length&&e.every((n,a)=>n===t[a]),hm=e=>{const[t,n]=c.useState([]);return c.useEffect(()=>{const a=e.current;if(!a)return;const r=()=>{const i=mm(a);n(l=>pm(l,i)?l:i)};r();const o=new MutationObserver(r);return o.observe(a,{childList:!0,subtree:!0}),()=>o.disconnect()},[e]),t};function th({selectedMessageId:e,rows:t,onOpen:n,onDeleteMessages:a,onSelectionVerb:r,isDeleting:o=!1,commandsRef:i,onTriageContextChange:l,children:d}){const b=Fs(),{pushError:h}=ve(),y=c.useRef(null),f=hm(y),v=Xd({orderedIds:f,isDesktop:b,initialFocusedId:e}),{focusedMessageId:p,setFocusedMessageId:m,pendingDomFocusRef:u,cursorMovedByPointerRef:g,selection:j,isMultiSelectMode:x,exitSelection:k,handleRowSelect:S}=v,{selectedIds:R,selectedCount:T,isSelected:M,toggle:I,select:F,toggleAll:L}=j,H=f.length>0&&f.every(z=>R.has(z)),U=c.useCallback(()=>{f.length>0&&L(f)},[f,L]),{intersectWith:C}=j;c.useEffect(()=>{C(f)},[C,f]),c.useEffect(()=>{const z=u.current;z!==null&&(u.current=null,y.current?.querySelector(`[data-message-id="${z}"]`)?.focus())});const A=c.useCallback(z=>{g.current=!0,m(z)},[g,m]),$=c.useCallback(z=>{b||F(z)},[b,F]),w=c.useCallback(()=>{p&&n(p)},[p,n]),P=c.useCallback(z=>n(z,{replace:!0}),[n]);jf({keyboardFocusedMessageId:v.keyboardFocusedMessageId,openMessageId:e,enabled:b&&T===0,open:P});const[N,K]=c.useState(null),{outcome:_,staleFolderLabel:W,guessedMailboxId:X}=bf(N?.targets??cm),J=c.useCallback(z=>{if(N!==null)return!0;if(T>0)return r(z),!0;if(z!=="delete"||!p)return!1;const ee=t.find(Q=>Q.id===p);return!ee?.mailboxId||!ee.accountId?(h({title:"Couldn't delete this message",detail:"This list has lost track of which account and folder it is in, so reader can't tell whether deleting it would move it to Trash or erase it. Nothing was deleted.",action:{label:"Reload the list",href:window.location.href}}),!0):(K({ids:[p],targets:[{accountId:ee.accountId,mailboxId:ee.mailboxId}]}),!0)},[N,T,r,p,t,h]),re=c.useCallback(z=>{z.length!==0&&(a(z),K(null),k())},[a,k]),Z=c.useCallback(()=>K(null),[]),ie=c.useCallback(()=>T===0?!1:(k(),!0),[T,k]),ne=f.length>0;c.useEffect(()=>{if(i){if(!ne){i.current=null;return}return i.current={focusNext:v.focusNext,focusPrevious:v.focusPrevious,focusFirst:v.focusFirst,focusLast:v.focusLast,openFocused:w,toggleSelect:v.toggleFocusedSelection,extendSelectDown:v.extendRangeDown,extendSelectUp:v.extendRangeUp,selectAll:v.selectAllLoaded,clearSelection:ie,requestVerb:J,toggleDensity:()=>{}},()=>{i.current=null}}},[i,ne,v.focusNext,v.focusPrevious,v.focusFirst,v.focusLast,v.toggleFocusedSelection,v.extendRangeDown,v.extendRangeUp,v.selectAllLoaded,w,ie,J]);const ue=c.useMemo(()=>Array.from(R),[R]),he=N!==null;c.useEffect(()=>{l?.({focusedMessageId:p,selectedIds:ue,orderedIds:f,hasList:ne})},[l,p,ue,f,ne]);const fe=Nf(f,p),O=c.useMemo(()=>({selectedIds:R,selectedCount:T,exitSelection:k,startSelectionVerb:r,orderedIds:f,allSelected:H,toggleAllLoaded:U,rowInteraction:z=>({focused:z===p,isTabStop:z===fe,isDesktop:b,onFocusRow:A,selection:{isChecked:M(z),onToggleCheck:I,onRowSelect:S,isMultiSelectMode:x,onLongPress:$}})}),[R,T,k,r,f,H,U,p,fe,b,A,M,I,S,x,$]);return s.jsxs(Js.Provider,{value:O,children:[s.jsx("div",{ref:y,className:"contents",children:d}),s.jsx(Tf,{isOpen:he,messageIds:N?.ids??[],outcome:_,accountId:N?.targets[0]?.accountId,staleFolderLabel:W,guessedMailboxId:X,isDeleting:o,onConfirm:re,onCancel:Z})]})}function sh({title:e,isDeleting:t}){const n=If(),{selectedCount:a,exitSelection:r,startSelectionVerb:o,orderedIds:i,allSelected:l,toggleAllLoaded:d}=um();return s.jsx(Cd,{title:n.title||e,navSlot:n.navSlot,titleMeta:n.titleMeta,searchSlot:n.searchSlot,searchField:n.searchField,idleSlot:n.makeFilterSlot,count:a,onCancel:r,onDelete:()=>o("delete"),onMarkRead:()=>o("markRead"),isBusy:t,selectAll:i.length>0?{checked:l,indeterminate:a>0&&!l,onChange:d}:void 0})}const js=e=>{e.preventDefault(),e.stopPropagation()},gm=(e,t)=>{const n=c.useRef(!1),a=c.useCallback(i=>{if(n.current=!1,i.button!==0)return;const l=Is(i);In(l)&&t?.(e,l)&&(js(i),n.current=!0,i.currentTarget.focus(),l.shiftKey&&window.getSelection()?.removeAllRanges())},[t,e]),r=c.useCallback(i=>{!i.ctrlKey||!t||i.preventDefault()},[t]),o=c.useCallback(i=>{if(n.current)return n.current=!1,js(i),!0;const l=Is(i);return!In(l)||!t?.(e,l)?!1:(js(i),l.shiftKey&&window.getSelection()?.removeAllRanges(),!0)},[t,e]);return{onMouseDown:a,onContextMenu:r,claimClick:o}},xm=({thread:e,active:t=!1,focused:n,isTabStop:a,density:r="comfortable",isDesktop:o,badge:i,selection:l,inListbox:d=!1,link:b,onClick:h,onFocusRow:y})=>{const f=pe(),v=e.id,p=dm(v),m=n??p?.focused??!1,u=a??p?.isTabStop??!1,g=l??p?.selection,j=y??p?.onFocusRow,x=o??p?.isDesktop??!0,k=g?.isChecked??!1,S=g?.isMultiSelectMode??!1,R=g?.onToggleCheck,T=g?.onRowSelect,M=g?.onLongPress,I=c.useCallback(N=>{N.preventDefault(),N.stopPropagation(),R?.(v)},[R,v]),F=gm(v,T),L=c.useCallback(N=>{if(!F.claimClick(N)){if(!x){if(S){N.preventDefault(),N.stopPropagation(),R?.(v);return}h?.();return}T?.(v,Is(N)),h?.()}},[F,x,S,R,T,h,v]),H=c.useCallback(()=>{M?.(v)},[M,v]),{longPressProps:U}=ud({onLongPress:H,accessibilityDescription:k?"Deselect message":"Select message"}),C=c.useCallback(()=>{f.prefetchQuery(Yt({path:{messageId:v}}))},[f,v]),A=c.useCallback(()=>{C(),j?.(v)},[C,j,v]),$=It({"data-list-row":"","data-message-row":!0,"data-message-id":v,...d?{role:"option","aria-selected":k}:{},tabIndex:u?0:-1,onClick:L,onMouseDown:F.onMouseDown,onContextMenu:F.onContextMenu,onMouseEnter:C,onFocus:A},x||!g?{}:U),w=D(r==="compact"?er({active:t,focused:m}):D("group",Qs({active:t,focused:m})),"outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-inset",k&&"bg-accent-soft",!x&&"min-h-11 select-none [-webkit-touch-callout:none]"),P=r==="compact"?s.jsx(tr,{thread:e}):s.jsx(Ws,{thread:e,badge:i,selection:g?{checked:k,alwaysVisible:S,onToggle:I}:void 0});return b===void 0?s.jsx("button",{type:"button",...$,className:w,children:P}):s.jsx(Ca,{to:"/mail/$mailboxId/$threadId/$messageId",params:{...b,messageId:v},search:N=>N,variant:"row",...$,className:w,children:P})},nh=c.memo(xm),bm="Open a message first",vm="This conversation hasn't loaded yet",ym="The mailbox list hasn't loaded yet",km="Couldn't find this mailbox's account — reload to try again",jm={reply:"Reply",replyAll:"Reply all",forward:"Forward",delete:"Move to Trash",move:"Move to mailbox",flag:"Star"},ah=({hasThread:e,messageId:t,intelligenceOpen:n,canToggleIntelligence:a,onToggleIntelligence:r,onReply:o,onReplyAll:i,onForward:l,onDelete:d,onToggleStar:b,isStarred:h,moveContext:y,moveContextLoading:f})=>{const[v,p]=c.useState(null),m=t??null,u=M=>e?M==="move"?y?null:f?ym:km:{reply:o,replyAll:i,forward:l,delete:d,flag:b}[M]?null:vm:bm,g=v&&v.messageId===m?v:null,j=g?u(g.action):null,x=g?.action==="move"&&g.overThread&&!!y,k=j??(g&&!x?`${jm[g.action]} is ready — press it again`:null),S=M=>p({action:M,messageId:m,overThread:e}),R=M=>()=>S(M),T=(M,I)=>I?()=>{p(null),I()}:R(M);return s.jsx(Xc,{hasThread:e,isStarred:h,onUnavailable:S,unavailableHint:k,replyTitle:`Reply ${dt("reply")}`,replyAllTitle:`Reply all ${dt("replyAll")}`,forwardTitle:`Forward ${dt("forward")}`,deleteTitle:`Move to Trash ${dt("delete")}`,flagTitle:`Star ${dt("toggleStar")}`,onReply:T("reply",o),onReplyAll:T("replyAll",i),onForward:T("forward",l),onDelete:T("delete",d),onToggleStar:T("flag",b),onMove:R("move"),moveSlot:y?s.jsx(rs,{accountId:y.accountId,currentMailboxId:y.currentMailboxId,onMove:y.onMove,label:"Move to mailbox",defaultOpen:x}):void 0,children:s.jsx(Yc,{open:n,enabled:a,onToggle:r})})};function Cm(e){const[t,n]=c.useState(null);t!==null&&t!==e&&n(null);const a=e!==null&&t===e,r=c.useCallback(()=>n(null),[]),o=c.useCallback(()=>n(e),[e]),i=c.useCallback(()=>n(a?null:e),[a,e]);return{isOpen:a,open:o,close:r,toggle:i}}const rh=e=>{const{intelligenceOpen:t,onToggleIntelligence:n,onRaiseIntelligence:a}=St(),r=wa()?.showIntelligencePane??!1,o=e??null,i=Cm(o),l=!r&&i.isOpen,{open:d,toggle:b}=i,h=c.useCallback(()=>{if(r){n();return}b()},[r,n,b]),y=c.useCallback(()=>{!r||t||a()},[r,t,a]),f=c.useCallback(()=>{if(!r){d();return}y()},[r,d,y]);return{canToggle:o!==null,isShowing:o!==null&&(r?t:l),toggle:h,open:f,drawerOpen:l,closeDrawer:i.close,railFits:r,openRail:y}},oh=(e,{toggle:t,open:n})=>{c.useEffect(()=>(e.current={toggle:t,open:n},()=>{e.current=null}),[e,t,n])},wm=()=>{const e=pe();return c.useCallback(t=>{const n=Ae({path:{threadId:t.threadId}}),r=e.getQueriesData({queryKey:n}).flatMap(([,o])=>o?.items.map(i=>i.messageId)??[]);return r.length>0?r:[t.messageId]},[e])},Nm=[],Mr=e=>{const{data:t}=se({...ya({path:{threadId:e??""}}),enabled:!!e});return t?.items??Nm},ih=(e,t)=>{const n=Mr(e),a=t?n.find(o=>o.messageId===t):void 0,r=n.length>0?n[n.length-1]:void 0;return a??r},lh=({thread:e,isOpen:t=!1,mailboxId:n,accountId:a,onAfterOptimisticRemove:r})=>{const o=n??e?.mailboxId,i=a??e?.accountId,{accountId:l}=ns(i?void 0:o),d=i??l,b=wm(),{deleteMessages:h}=as({mailboxId:o??"",threadId:e?.threadId,accountId:d,onAfterOptimisticRemove:r}),{moveMessages:y}=Rt({mailboxId:o??"",threadId:e?.threadId,accountId:d,onAfterOptimisticRemove:r}),f=Mr(t?e?.threadId:void 0),p=f.find(x=>x.messageId===e?.messageId)?.hasStars??e?.hasStars,{toggleStar:m}=mr({threadId:e?.threadId??"",mailboxId:o??"",messages:f}),u=c.useCallback(()=>{e&&h(b(e))},[e,b,h]),g=c.useCallback(x=>{e&&y(b(e),x)},[e,b,y]),j=c.useCallback(()=>{e&&m(e.messageId,p??!1)},[e,p,m]);return{mailboxId:o,accountId:d,isStarred:p,deleteThread:u,moveThread:g,toggleStar:j}},Xn=(e,t,n)=>{if(!t)return null;const a=e.indexOf(t);if(a===-1)return null;const r=n==="next"?a+1:a-1;return r<0||r>=e.length?null:e[r]},ch=()=>{const[e,t]=c.useState(void 0),[n,a]=c.useState([]),[r,o]=c.useState([]),i=c.useRef(null),[l,d]=c.useState(!1),b=c.useCallback(h=>{t(h.focusedMessageId),a(h.selectedIds),h.orderedIds&&o(h.orderedIds),d(h.hasList)},[]);return{listCommandsRef:i,onTriageContextChange:b,focusedMessageId:e,selectedIds:n,orderedIds:r,hasList:l}},dh=({context:e,orderedIds:t,selectedMessageId:n,enabled:a=!0,onClose:r,handlers:o,hasOpenThread:i=!1})=>{const{listCommandsRef:l,hasList:d}=e,b=c.useCallback(()=>{l.current?.clearSelection()||n&&r()},[l,n,r]),{reply:h,replyAll:y,forward:f,...v}=o;return yi({enabled:a,handlers:{...d?{focusNext:()=>l.current?.focusNext(),focusPrevious:()=>l.current?.focusPrevious(),focusFirst:()=>l.current?.focusFirst(),focusLast:()=>l.current?.focusLast(),openFocused:()=>l.current?.openFocused(),toggleSelect:()=>l.current?.toggleSelect(),extendSelectDown:()=>l.current?.extendSelectDown(),extendSelectUp:()=>l.current?.extendSelectUp(),selectAll:()=>l.current?.selectAll(),toggleDensity:()=>l.current?.toggleDensity()}:{},back:b,...v,...i?{}:{reply:h,replyAll:y,forward:f}}}),{goBack:b,nextMessageId:Xn(t,n,"next")??void 0,previousMessageId:Xn(t,n,"previous")??void 0}},Sm={unread:"unread",flagged:"starred",attachment:"attachments"},Im=new Set(Object.values(oi)),Ar=e=>Im.has(e),uh=e=>Ar(e.category)||e.attributes.size>0,fh=e=>{const t={};Ar(e.category)&&(t.category=[e.category]);for(const n of e.attributes){const a=Sm[n];a&&(t[a]=!0)}return t},mh=e=>(e.senderTrust?.length??0)>0||e.dkimMismatch!==void 0?"loaded-pages":"whole-folder",Tm=["category","unread","starred","attachments","accountId","muted"],Zn=e=>JSON.stringify(Tm.map(t=>e?.[t]??null)),Rm=e=>{if(!Array.isArray(e))return;const[t]=e;if(typeof t!="object"||t===null)return;const n=t.query;if(!(typeof n!="object"||n===null))return n},ph=(e,t)=>{const n=Rm(e);return n?Zn(n)===Zn(t):!1},hh=e=>ja(e)?Vt[e]:void 0,Em={sender:"sender",recipient:"recipient",subject:"subject",attachment:"attachment",body:"body",entities:"entities"};function Mm(e){return Em[e]??e}function gh(e,t){const{folder:n}=zs(t,[e.mailboxId]);return{id:e.messageId,sender:e.fromName??e.fromEmail??"Unknown",...e.fromEmail?{senderEmail:e.fromEmail}:{},subject:e.subject??"(No subject)",snippet:e.snippet??"",date:st(e.sentDate),unread:!e.isRead,flagged:e.hasStars===!0,threadId:e.threadId,mailboxId:e.mailboxId,...n?{folder:n}:{}}}function xh(e,t){const{folder:n}=zs(t,e.mailboxId?[e.mailboxId]:[]);return{id:e.id,sender:e.fromName,...e.fromEmail?{senderEmail:e.fromEmail}:{},subject:e.subject,snippet:e.snippet,date:e.timeLabel,unread:!e.isRead,flagged:e.starred===!0,...e.threadId?{threadId:e.threadId}:{},...e.mailboxId?{mailboxId:e.mailboxId}:{},...n?{folder:n}:{}}}function Am(e,t){const{mailboxId:n,folder:a}=zs(t,e.mailboxIds);return{id:e.messageId,sender:e.fromName??"Unknown",subject:e.subject??"(No subject)",snippet:"",date:e.sentDate!=null?st(e.sentDate*1e3):"",threadId:e.threadId,matchedChunkLabel:Mm(e.matchedChunkType),score:e.score,...n?{mailboxId:n}:{},...a?{folder:a}:{}}}function bh(e,t,n){const a=new Set(t),r=[];for(const o of[...e].sort((i,l)=>l.score-i.score))a.has(o.threadId)||(a.add(o.threadId),r.push(Am(o,n)));return r}function Lm(e){const t=e.authenticity?.dkimMismatch===!0;return{id:e.messageId,accountId:e.accountId,mailboxId:e.mailboxId,threadId:e.threadId,fromName:e.fromName??e.fromEmail??"Unknown",fromEmail:e.fromEmail??"",subject:e.subject??"(No subject)",snippet:e.snippet??"",timeLabel:st(e.sentDate),sentDate:e.sentDate,isRead:e.isRead,hasAttachment:e.hasAttachment,starred:e.hasStars===!0,trust:e.senderTrust,category:pr(e.category),suspicious:t,...Uu(e)}}const $m=ii;function vh(e){const t=new Map(e.map(a=>[a.category,a])),n=[];for(const a of $m){const r=t.get(a);!r||!(r.loading||r.failed||r.rows.length>0||r.total.kind==="exact"&&r.total.value>0)||n.push({id:a,label:Vt[a],threads:r.rows,total:r.total,atCap:r.atCap,loading:r.loading,error:r.failed})}return n}function Pm(e,t){return t.every(n=>{switch(n.type){case"from":{const a=n.value.toLowerCase();return e.fromEmail.toLowerCase().includes(a)||e.fromName.toLowerCase().includes(a)}case"subject":return e.subject.toLowerCase().includes(n.value.toLowerCase());case"category":return(e.category??"uncategorized")===n.category;case"hasAttachment":return e.hasAttachment===!0;case"isUnread":return!e.isRead;case"isRead":return e.isRead===!0;case"isStarred":return e.starred===!0;case"after":return e.sentDate!=null&&e.sentDate>=n.epochSeconds*1e3;case"before":return e.sentDate!=null&&e.sentDate<n.epochSeconds*1e3;case"in":return e.mailboxId===n.mailboxId;case"account":return e.accountId===n.accountId;default:return!1}})}const Dm=["from","subject","category","unread","starred","attachments"],Ut=e=>e[0],Fm=e=>{const t=Ut(e.filter(l=>l.type==="from").map(l=>l.value)),n=Ut(e.filter(l=>l.type==="subject").map(l=>l.value)),a=Ut(e.filter(l=>l.type==="category").map(l=>l.category)),r=Ut(e.filter(l=>l.type==="isUnread"||l.type==="isRead").map(l=>l.type==="isUnread")),o=e.some(l=>l.type==="isStarred")?!0:void 0,i=e.some(l=>l.type==="hasAttachment")?!0:void 0;return{...t!==void 0?{from:t}:{},...n!==void 0?{subject:n}:{},...a!==void 0?{category:[a]}:{},...r!==void 0?{unread:r}:{},...o!==void 0?{starred:o}:{},...i!==void 0?{attachments:i}:{}}},Om=(e,t)=>{switch(t.type){case"from":return e.from?.toLowerCase()===t.value.toLowerCase();case"subject":return e.subject?.toLowerCase()===t.value.toLowerCase();case"category":return e.category?.length===1&&e.category[0]===t.category;case"isUnread":return e.unread===!0;case"isRead":return e.unread===!1;case"isStarred":return e.starred===!0;case"hasAttachment":return e.attachments===!0;case"before":case"after":case"in":case"account":return!1}},ea=(e,t)=>Object.fromEntries(Object.entries(e).filter(([n])=>t.includes(n)));function yh(e,t={},n=Dm){const a=ea(Fm(e),n),r={...a,...ea(t,n)};return{params:a,residual:e.filter(o=>!Om(r,o))}}function kh(e,t,n){if(t.length===0)return e;const a=[...t];return e.filter(r=>{const o=Lm(r);return Pm({...o,accountId:o.accountId??n},a)})}const Lr=8;function Xs(e,t){const n=Math.max(0,Math.min(t,e.length)),a=Ai(e).find(o=>n>=o.start&&n<=o.end);if(!a)return{start:n,end:n,raw:""};const r=Li(a.raw);return r?{start:a.start,end:a.end,raw:a.raw,name:r.name,value:r.value}:{start:a.start,end:a.end,raw:a.raw}}function zm(e,t){const n=Xs(e,t);if(n.name===void 0)return{kind:"token",query:n.raw};const a=Ea(n.name);if(a)return{kind:"value",token:a.name,source:a.values,query:n.value??""}}const _m={mailbox:"mailboxes",account:"accounts",contact:"contacts"},Um=(e,t)=>{if(e.values==="fixed")return e.options??[];const n=_m[e.values];return n?t[n]??[]:[]},Bm=(e,t)=>{if(t==="")return 1;const n=e.toLowerCase();return n.startsWith(t)?0:n.includes(t)?1:-1},Ms=(e,...t)=>{let n=-1;for(const a of t){if(a===void 0)continue;const r=Bm(a,e);r<0||(n<0||r<n)&&(n=r)}return n},$r=e=>{const t=new Set;return e.filter(n=>n.rank>=0).sort((n,a)=>n.rank-a.rank).filter(n=>{const a=n.suggestion.value.toLowerCase();return t.has(a)?!1:(t.add(a),!0)}).slice(0,Lr).map(n=>n.suggestion)},ta=e=>({value:`${e.name}:`,label:`${e.name}:`,hint:e.label});function Km(e){const t=e.trim().toLowerCase();if(t==="")return dn.map(ta);const n=[];for(const a of dn)if(n.push({rank:Ms(t,`${a.name}:`,a.label),suggestion:ta(a)}),a.values==="fixed")for(const r of a.options??[]){const o=Ma(a.name,r.value);n.push({rank:Ms(t,o,r.label),suggestion:{value:o,label:r.label??o,hint:o}})}return $r(n)}function Hm(e,t,n){const a=t.trim().toLowerCase(),r=Um(e,n).map(o=>({rank:Ms(a,o.value,o.label),suggestion:{value:Ma(e.name,o.value),label:o.label??o.value,...o.hint?{hint:o.hint}:{}}}));return $r(r)}function qm(e,t,n={}){const a=Xs(e,t);if(a.name===void 0)return Km(a.raw);const r=Ea(a.name);return r?Hm(r,a.value??"",n):[]}function Qm(e,t,n){const a=Xs(e,t),r=!n.value.endsWith(":"),o=/\s/.test(e.slice(a.end,a.end+1)),i=r&&!o?`${n.value} `:n.value;return{query:e.slice(0,a.start)+i+e.slice(a.end),cursor:a.start+i.length+(r&&o?1:0)}}const Wm=e=>({value:e.normalizedEmail,...e.displayName?{label:e.displayName,hint:e.normalizedEmail}:{}}),Gm=250,Vm=2;function Ym({query:e,cursor:t,enabled:n}){const{accounts:a}=St(),{mailboxesByName:r}=Aa(),o=r!==void 0,i=n?zm(e,t):void 0,l=i?.source==="contact"?i.query.trim():"",d=Fa(l,Gm),{data:b}=se({...Os({query:{q:d,limit:Lr}}),enabled:d.length>=Vm}),h=_s({queries:a.map(p=>({...yt({path:{accountId:p.accountId}}),staleTime:1/0}))}),y=c.useMemo(()=>o?ki(h.map(p=>p.data?.items??[]),a):[],[o,h,a]),f=c.useMemo(()=>ji(a),[a]),v=c.useMemo(()=>(b?.items??[]).map(Wm),[b]);return c.useMemo(()=>{if(!n)return[];const p=qm(e,t,{mailboxes:y,accounts:f,contacts:v});return o?p:p.filter(m=>m.value!=="in:")},[n,e,t,y,f,v,o])}const Pr="remit.recentSearches",Jm=5;function As(){try{const e=localStorage.getItem(Pr);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(n=>typeof n=="string"):[]}catch{return[]}}function sa(e){const t=e.trim();if(!t)return As();const n=[t,...As().filter(a=>a!==t)].slice(0,Jm);try{localStorage.setItem(Pr,JSON.stringify(n))}catch{return n}return n}const Xm=e=>e.tier!=="phone"&&e.hasLiveInput&&!(e.bodyRendersCommittedResults&&e.hasCommittedQuery),Ls=c.createContext(null);function Zm(){const e=c.useContext(Ls),{searchInput:t,onSearchChange:n,onSearchClear:a}=St();if(!e)throw new Error("ListHeaderSearchField rendered outside MailListHeader's HeaderSearchContext provider");return s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"min-w-0 flex-1",children:s.jsx(Sa,{value:t,onChange:n,onClear:a,globalFocusKey:!1,showClearButton:!1,suggest:e.suggest})}),s.jsx(q,{variant:"ghost",size:"touch",icon:s.jsx(Xe,{className:"size-5"}),onClick:e.onClose,"aria-label":"Close search",className:"shrink-0"}),s.jsx(Na,{})]})}function jh({title:e,unreadCount:t,children:n,selectionBar:a,paneOverlay:r,footer:o,searchFilter:i,searchResults:l,searchLoading:d,relatedResults:b,relatedLoading:h,onSelectSearchResult:y,searchResultsLabel:f="Top matches",relatedResultsLabel:v="Related",searchResultsInBody:p=!1,spamOffer:m,refreshControl:u}){const{accounts:g,resultFolderIndex:j,searchQuery:x,searchInput:k,onSearchChange:S,onSearchClear:R,searchViewKey:T}=St(),M=Aa(),I=Ci(),F=wa(),L=$l(),[H,U]=c.useState(!1),[C,A]=c.useState(As),$=li(),w=c.useRef(T);c.useEffect(()=>{w.current!==T&&(w.current=T,U(!1))},[T]);const[P,N]=c.useState(0),[K,_]=c.useState(!1),[W,X]=c.useState(void 0),J=Ym({query:k,cursor:P,enabled:K&&k.trim().length>0}),re=c.useCallback(ce=>{const je=Qm(k,P,ce);S(je.query),X({cursor:je.cursor})},[k,P,S]),Z=ci({count:J.length,onAccept:ce=>{const je=J[ce];je&&re(je)}}),{comboboxProps:ie,handleKeyDown:ne}=Z,ue=c.useMemo(()=>({comboboxProps:ie,onKeyDown:ne,onCaretChange:N,onFocusChange:_,...W?{caret:W}:{}}),[ie,ne,W]),he=c.useCallback(()=>{R(),U(!1)},[R]),fe=c.useMemo(()=>({suggest:ue,onClose:he}),[ue,he]),O=Z.open?s.jsx(mi,{id:Z.listId,suggestions:J,activeIndex:Z.activeIndex,optionId:Z.optionId,onPick:re,onHighlight:Z.setActiveIndex,label:"Search suggestions",className:"mx-row-inset mt-1 shrink-0"}):null,z=k.trim().length>0,{mailboxesByName:ee,accountsByName:Q}=M,G=c.useMemo(()=>$i(k,{mailboxesByName:ee,accountsByName:Q}),[k,ee,Q]),oe=c.useMemo(()=>G.tokens.map(ce=>({label:Ra(ce),onRemove:()=>S(Pi(k,ce))})),[G,k,S]),ye=c.useMemo(()=>l??[],[l]),$e=c.useMemo(()=>b??[],[b]),at=c.useMemo(()=>z?[{id:"top",label:f,results:ye},{id:"related",label:v,results:$e}]:[],[z,f,v,ye,$e]),He=!(ye.length+$e.length>0)&&(d===!0||h===!0),{scope:rt}=wi(g),V=di(),Et=Dl(V),Pe=Et?j.get(Et)?.role:void 0,we=c.useMemo(()=>Fl(V,rt,Pe),[V,rt,Pe]),me=we.kind==="global"?m:void 0,ke=c.useMemo(()=>me?{kind:"global",spamCount:me.count,onScopeToSpam:()=>I(me.mailboxId,x)}:we,[me,we,I,x]),qe=$e.length>0,Qe=c.useMemo(()=>Vf(G,{searchHadSemanticReach:qe}),[G,qe]),le=z?Qe:void 0,te=c.useCallback(()=>{U(!1),$("properties","search")},[$]),De=Yd(Qe)?void 0:ui(Qe.droppedFacets.map(ce=>ce.label)),Fe=c.useMemo(()=>z?{onClick:te,blockedReason:De}:void 0,[z,De,te]),is=c.useMemo(()=>Fe?s.jsx(ir,{...Fe}):null,[Fe]),Ne=Xm({tier:L,hasLiveInput:z,hasCommittedQuery:x.trim().length>0,bodyRendersCommittedResults:p}),Oe=c.useCallback(ce=>{A(sa(k)),y?.(ce)},[k,y]),Mt=c.useMemo(()=>s.jsx(lr,{value:k,sections:at,loading:He,onSelectResult:Oe,tokens:oe,scope:ke}),[k,at,He,Oe,oe,ke]),We=a===void 0,ze=c.useMemo(()=>Ne?s.jsx("div",{className:"h-full overflow-y-auto",children:Mt}):null,[Ne,Mt]),Ge=ze&&!We?ze:n,At=ze&&We?ze:null,ot=Pl(L),it=ot&&(H||z),lt=c.useMemo(()=>({title:e,searchResults:At,makeFilterSlot:is,navSlot:F&&!F.showNavPane&&s.jsx(q,{variant:"ghost",size:"touch",icon:s.jsx(Ol,{className:"size-5"}),onClick:()=>F.openNav(),"aria-label":"Menu",className:"-ml-2 shrink-0"}),titleMeta:s.jsxs(s.Fragment,{children:[t===null?null:s.jsxs("span",{className:"shrink-0 text-2xs text-fg-subtle",children:[t.toLocaleString()," unread"]}),s.jsx(Na,{}),u]}),searchSlot:ot&&!it&&s.jsx(q,{variant:"ghost",size:"touch",icon:s.jsx(fi,{className:"size-5"}),onClick:()=>U(!0),"aria-label":"Search",className:"shrink-0"}),searchField:it&&s.jsx(Zm,{})}),[e,t,F,ot,it,At,is,u]);if(L==="phone"&&H){const ce=je=>{A(sa(k)),U(!1),y?.(je)};return s.jsx(Ls.Provider,{value:fe,children:s.jsx(Es.Provider,{value:le,children:s.jsxs(Rs.Provider,{value:lt,children:[s.jsx(jd,{value:k,onChange:S,onClear:R,onCancel:()=>{U(!1),R()},filter:i,recentSearches:C,onPickRecent:S,makeFilter:Fe,sections:at,loading:He,onSelectResult:ce,tokens:oe,scope:ke,suggest:ue,suggestList:O}),r]})})})}return s.jsx(Ls.Provider,{value:fe,children:s.jsx(Es.Provider,{value:le,children:s.jsx(Rs.Provider,{value:lt,children:s.jsxs("section",{className:"relative flex h-full w-full flex-col bg-surface",children:[a?.(lt),O,s.jsx("div",{className:"min-h-0 flex-1",children:Ge}),o,r]})})})})}export{Wp as $,uh as A,yh as B,id as C,Tf as D,ns as E,kh as F,Qp as G,mh as H,ih as I,as as J,Rt as K,ch as L,nh as M,lh as N,Hp as O,Kp as P,wm as Q,mr as R,Cd as S,af as T,of as U,cf as V,lf as W,dh as X,Up as Y,Cm as Z,oh as _,If as a,Xp as a0,xf as a1,rh as a2,ah as a3,zp as a4,qp as a5,gh as a6,bh as a7,ph as a8,ud as a9,It as aa,Hs as ab,Is as ac,Dp as ad,Fp as ae,$p as af,Pp as ag,hh as ah,jh as ai,Vs as aj,$m as ak,Lm as al,Pm as am,xh as an,yd as ao,vh as ap,Op as aq,Xm as ar,gd as as,th as at,Sn as au,um as av,_p as aw,sh as ax,Bp as b,Qs as c,hr as d,bf as e,rd as f,yf as g,jf as h,eu as i,Zp as j,Nf as k,eh as l,ed as m,ad as n,wf as o,xu as p,gr as q,Uu as r,Vp as s,pr as t,gm as u,Yp as v,Jp as w,bu as x,Gp as y,fh as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{O as o}from"./index-DDaQbjmr.js";const n=o;export{n as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{aj as m,j as o,O as p}from"./index-DDaQbjmr.js";import{a}from"./MailShell-C6XAYw9R.js";import{M as r}from"./MailboxPane-Bo_304LU.js";import{a as e}from"./search-token-index-DfEguIzE.js";import{u as s}from"./search-mirror-IklPpsgd.js";import"./FullCompose-CtKaGlct.js";import"./ErrorState-zb46wwqB.js";import"./index-TtetXNmc.js";import"./useMessageBodyContent-Azq1Bngf.js";import"./useSignature-DbI73u9N.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-Dy_g2v71.js";import"./sections-BE-YkTuC.js";import"./confirm-dialog-C4B2Czhl.js";import"./useSearchTokenContext-DjY64Paa.js";import"./kbd-nBPX_mdB.js";import"./search-scope-B5-OK3Cq.js";import"./useRefreshControl-CQDCO_Sz.js";import"./circle-check-big-CdWGb9Cq.js";import"./refresh-cw-mlDi8LTp.js";import"./useQueries-D1STUKB_.js";import"./MailListHeader-DMMl8ZLg.js";import"./roving-focus-D45YIEXp.js";import"./popover-menu-eOwDgIAD.js";import"./mail-xh-X6l34.js";import"./avatar-BU2Acypp.js";import"./EmptyState-DffMrivH.js";import"./undo-2-DBjV60-m.js";import"./download-DG45yTbq.js";import"./useCalendarFreeBusy-BCLJxOfD.js";import"./calendar-format-t5pknBPH.js";import"./useCalendars-NXobBPn1.js";import"./map-pin-DXPKFmKy.js";import"./calendar-suggestion-BrsagLDp.js";import"./attendee-row-CNSd4msf.js";import"./minus-RD6yC1uS.js";import"./clock-qn7JbMhU.js";import"./calendar-clash-strip-CuPoAcuA.js";import"./bell-off-BDdZq1id.js";import"./shield-check-CCP0KBaU.js";import"./calendar-report-De_YSbMS.js";import"./useFilters-Dsrj-I6z.js";import"./checkbox-nuTXvB_z.js";import"./useLayoutTier-BnLysTvl.js";import"./menu-DziguOgy.js";import"./MailViewChrome-BcPAwjzq.js";import"./pane-header-BKR2Qgp4.js";import"./NavMenuButton-C7p7FLnh.js";import"./useLabels--WOniDuk.js";import"./useSemanticSearch-NH8DKMle.js";import"./search-query-Cr_ZXBCp.js";import"./bottom-sheet-OT_uLnD0.js";import"./circle-help-CVsjKp3b.js";import"./circle-check-BzcaYx-L.js";function no(){const{mailboxId:t}=m.useParams(),i=e();return s({to:"/mail/$mailboxId",params:{mailboxId:t}}),o.jsx(r,{mailboxId:t,thread:i,children:o.jsx(a,{phone:o.jsx(r.Phone,{}),list:o.jsx(r.List,{}),reading:o.jsx(p,{}),intelligence:o.jsx(r.Intelligence,{}),hasThread:!!i})})}export{no as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as r}from"./index-DDaQbjmr.js";import{B as o}from"./BriefPane-DTu07n2X.js";import"./useSearchTokenContext-DjY64Paa.js";import"./kbd-nBPX_mdB.js";import"./useMessageBodyContent-Azq1Bngf.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-DMMl8ZLg.js";import"./roving-focus-D45YIEXp.js";import"./search-token-index-DfEguIzE.js";import"./useQueries-D1STUKB_.js";import"./popover-menu-eOwDgIAD.js";import"./mail-xh-X6l34.js";import"./avatar-BU2Acypp.js";import"./index-TtetXNmc.js";import"./useSignature-DbI73u9N.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-Dy_g2v71.js";import"./sections-BE-YkTuC.js";import"./EmptyState-DffMrivH.js";import"./ErrorState-zb46wwqB.js";import"./undo-2-DBjV60-m.js";import"./download-DG45yTbq.js";import"./useCalendarFreeBusy-BCLJxOfD.js";import"./calendar-format-t5pknBPH.js";import"./useCalendars-NXobBPn1.js";import"./map-pin-DXPKFmKy.js";import"./calendar-suggestion-BrsagLDp.js";import"./attendee-row-CNSd4msf.js";import"./minus-RD6yC1uS.js";import"./clock-qn7JbMhU.js";import"./calendar-clash-strip-CuPoAcuA.js";import"./bell-off-BDdZq1id.js";import"./shield-check-CCP0KBaU.js";import"./calendar-report-De_YSbMS.js";import"./useFilters-Dsrj-I6z.js";import"./checkbox-nuTXvB_z.js";import"./confirm-dialog-C4B2Czhl.js";import"./useLayoutTier-BnLysTvl.js";import"./menu-DziguOgy.js";import"./useRefreshControl-CQDCO_Sz.js";import"./circle-check-big-CdWGb9Cq.js";import"./refresh-cw-mlDi8LTp.js";import"./useSemanticSearch-NH8DKMle.js";import"./useLabels--WOniDuk.js";import"./search-query-Cr_ZXBCp.js";import"./wizard-selection-DxUM65kM.js";function W(){return r.jsx(o.Reading,{})}export{W as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as o}from"./index-DDaQbjmr.js";import{F as r}from"./FlaggedPane-StYE07Pk.js";import"./useSearchTokenContext-DjY64Paa.js";import"./kbd-nBPX_mdB.js";import"./useMessageBodyContent-Azq1Bngf.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-DMMl8ZLg.js";import"./roving-focus-D45YIEXp.js";import"./search-token-index-DfEguIzE.js";import"./useQueries-D1STUKB_.js";import"./popover-menu-eOwDgIAD.js";import"./mail-xh-X6l34.js";import"./avatar-BU2Acypp.js";import"./index-TtetXNmc.js";import"./useSignature-DbI73u9N.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-Dy_g2v71.js";import"./sections-BE-YkTuC.js";import"./EmptyState-DffMrivH.js";import"./ErrorState-zb46wwqB.js";import"./undo-2-DBjV60-m.js";import"./download-DG45yTbq.js";import"./useCalendarFreeBusy-BCLJxOfD.js";import"./calendar-format-t5pknBPH.js";import"./useCalendars-NXobBPn1.js";import"./map-pin-DXPKFmKy.js";import"./calendar-suggestion-BrsagLDp.js";import"./attendee-row-CNSd4msf.js";import"./minus-RD6yC1uS.js";import"./clock-qn7JbMhU.js";import"./calendar-clash-strip-CuPoAcuA.js";import"./bell-off-BDdZq1id.js";import"./shield-check-CCP0KBaU.js";import"./calendar-report-De_YSbMS.js";import"./useFilters-Dsrj-I6z.js";import"./checkbox-nuTXvB_z.js";import"./confirm-dialog-C4B2Czhl.js";import"./useLayoutTier-BnLysTvl.js";import"./menu-DziguOgy.js";import"./MailViewChrome-BcPAwjzq.js";import"./refresh-cw-mlDi8LTp.js";import"./wizard-selection-DxUM65kM.js";function S(){return o.jsx(r.Reading,{})}export{S as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as o}from"./index-DDaQbjmr.js";import{M as r}from"./MailboxPane-Bo_304LU.js";import"./useSearchTokenContext-DjY64Paa.js";import"./kbd-nBPX_mdB.js";import"./useMessageBodyContent-Azq1Bngf.js";import"./search-scope-B5-OK3Cq.js";import"./useRefreshControl-CQDCO_Sz.js";import"./circle-check-big-CdWGb9Cq.js";import"./refresh-cw-mlDi8LTp.js";import"./useQueries-D1STUKB_.js";import"./MailListHeader-DMMl8ZLg.js";import"./roving-focus-D45YIEXp.js";import"./search-token-index-DfEguIzE.js";import"./popover-menu-eOwDgIAD.js";import"./mail-xh-X6l34.js";import"./avatar-BU2Acypp.js";import"./index-TtetXNmc.js";import"./useSignature-DbI73u9N.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-Dy_g2v71.js";import"./sections-BE-YkTuC.js";import"./EmptyState-DffMrivH.js";import"./ErrorState-zb46wwqB.js";import"./undo-2-DBjV60-m.js";import"./download-DG45yTbq.js";import"./useCalendarFreeBusy-BCLJxOfD.js";import"./calendar-format-t5pknBPH.js";import"./useCalendars-NXobBPn1.js";import"./map-pin-DXPKFmKy.js";import"./calendar-suggestion-BrsagLDp.js";import"./attendee-row-CNSd4msf.js";import"./minus-RD6yC1uS.js";import"./clock-qn7JbMhU.js";import"./calendar-clash-strip-CuPoAcuA.js";import"./bell-off-BDdZq1id.js";import"./shield-check-CCP0KBaU.js";import"./calendar-report-De_YSbMS.js";import"./useFilters-Dsrj-I6z.js";import"./checkbox-nuTXvB_z.js";import"./confirm-dialog-C4B2Czhl.js";import"./useLayoutTier-BnLysTvl.js";import"./menu-DziguOgy.js";import"./MailViewChrome-BcPAwjzq.js";import"./pane-header-BKR2Qgp4.js";import"./NavMenuButton-C7p7FLnh.js";import"./useLabels--WOniDuk.js";import"./useSemanticSearch-NH8DKMle.js";import"./search-query-Cr_ZXBCp.js";import"./bottom-sheet-OT_uLnD0.js";import"./circle-help-CVsjKp3b.js";import"./circle-check-BzcaYx-L.js";function $(){return o.jsx(r.Reading,{})}export{$ as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as o}from"./index-DDaQbjmr.js";import{O as t}from"./OutboxPane-k7EI73dP.js";import"./roving-focus-D45YIEXp.js";import"./useSearchTokenContext-DjY64Paa.js";import"./kbd-nBPX_mdB.js";import"./useMessageBodyContent-Azq1Bngf.js";import"./search-scope-B5-OK3Cq.js";import"./circle-check-big-CdWGb9Cq.js";import"./clock-qn7JbMhU.js";import"./row-actions-Bz2BO_Of.js";import"./rotate-ccw-B_znez6Z.js";import"./pane-header-BKR2Qgp4.js";import"./NavMenuButton-C7p7FLnh.js";import"./menu-DziguOgy.js";import"./outbox-status-BlKn6P0x.js";import"./search-query-Cr_ZXBCp.js";function R(){return o.jsx(t.Reading,{})}export{R as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{eY as o,j as m}from"./index-DDaQbjmr.js";import{O as p}from"./OpenCalendarEvent-CVHpXp5y.js";import"./CalendarComposePane-CaFfehJ3.js";import"./calendar-format-t5pknBPH.js";import"./useQueries-D1STUKB_.js";import"./useCalendars-NXobBPn1.js";import"./calendar-clash-strip-CuPoAcuA.js";import"./attendee-row-CNSd4msf.js";import"./avatar-BU2Acypp.js";import"./minus-RD6yC1uS.js";import"./clock-qn7JbMhU.js";import"./map-pin-DXPKFmKy.js";import"./mail-xh-X6l34.js";import"./pencil-C_GgIxQ0.js";import"./useCalendarWrites-CcZJoofA.js";import"./ErrorState-zb46wwqB.js";import"./useCalendarData-TdBIWROH.js";import"./calendar-report-De_YSbMS.js";import"./calendar-subscription-B-aAc2Gy.js";function P(){const{calendarObjectId:r,recurrenceId:t}=o.useParams();return m.jsx(p,{calendarObjectId:r,recurrenceId:t})}export{P as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{O as o}from"./index-DDaQbjmr.js";const n=o;export{n as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{O as o}from"./index-DDaQbjmr.js";const n=o;export{n as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{O as o}from"./index-DDaQbjmr.js";const n=o;export{n as component};
|
package/assets/brief-DfHqHUx0.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as r,O as i}from"./index-DDaQbjmr.js";import{a as m}from"./MailShell-C6XAYw9R.js";import{B as o}from"./BriefPane-DTu07n2X.js";import{a as p}from"./search-token-index-DfEguIzE.js";import{u as e}from"./search-mirror-IklPpsgd.js";import"./FullCompose-CtKaGlct.js";import"./ErrorState-zb46wwqB.js";import"./index-TtetXNmc.js";import"./useMessageBodyContent-Azq1Bngf.js";import"./useSignature-DbI73u9N.js";import"./account-form-helpers-DhckT_PN.js";import"./useDebouncedValue-Dy_g2v71.js";import"./sections-BE-YkTuC.js";import"./confirm-dialog-C4B2Czhl.js";import"./useSearchTokenContext-DjY64Paa.js";import"./kbd-nBPX_mdB.js";import"./search-scope-B5-OK3Cq.js";import"./MailListHeader-DMMl8ZLg.js";import"./roving-focus-D45YIEXp.js";import"./popover-menu-eOwDgIAD.js";import"./mail-xh-X6l34.js";import"./avatar-BU2Acypp.js";import"./EmptyState-DffMrivH.js";import"./undo-2-DBjV60-m.js";import"./download-DG45yTbq.js";import"./useCalendarFreeBusy-BCLJxOfD.js";import"./calendar-format-t5pknBPH.js";import"./useQueries-D1STUKB_.js";import"./useCalendars-NXobBPn1.js";import"./map-pin-DXPKFmKy.js";import"./calendar-suggestion-BrsagLDp.js";import"./attendee-row-CNSd4msf.js";import"./minus-RD6yC1uS.js";import"./clock-qn7JbMhU.js";import"./calendar-clash-strip-CuPoAcuA.js";import"./bell-off-BDdZq1id.js";import"./shield-check-CCP0KBaU.js";import"./calendar-report-De_YSbMS.js";import"./useFilters-Dsrj-I6z.js";import"./checkbox-nuTXvB_z.js";import"./useLayoutTier-BnLysTvl.js";import"./menu-DziguOgy.js";import"./useRefreshControl-CQDCO_Sz.js";import"./circle-check-big-CdWGb9Cq.js";import"./refresh-cw-mlDi8LTp.js";import"./useSemanticSearch-NH8DKMle.js";import"./useLabels--WOniDuk.js";import"./search-query-Cr_ZXBCp.js";import"./wizard-selection-DxUM65kM.js";function tr(){const t=p();return e({to:"/mail/brief"}),r.jsx(o,{thread:t,children:r.jsx(m,{phone:r.jsx(o.Phone,{}),list:r.jsx(o.List,{}),reading:r.jsx(i,{}),intelligence:r.jsx(o.Intelligence,{}),hasThread:!!t})})}export{tr as component};
|